FastLED 3.9.15
Loading...
Searching...
No Matches
fl::MultiSetTree< Key, Compare, Allocator > Class Template Reference

Detailed Description

template<typename Key, typename Compare = less<Key>, typename Allocator = allocator<Key>>
class fl::MultiSetTree< Key, Compare, Allocator >

Definition at line 20 of file multi_set.h.

#include <multi_set.h>

+ Inheritance diagram for fl::MultiSetTree< Key, Compare, Allocator >:
+ Collaboration diagram for fl::MultiSetTree< Key, Compare, Allocator >:

Classes

class  ConstIteratorWrapper
 
class  ConstReverseIteratorWrapper
 
struct  KeyCompareWithId
 
struct  ValueWithId
 

Public Types

using allocator_type = Allocator
 
using const_iterator = ConstIteratorWrapper
 
using const_pointer = const value_type*
 
using const_reference = const value_type&
 
using const_reverse_iterator = ConstReverseIteratorWrapper
 
using difference_type = ptrdiff_t
 
using iterator = ConstIteratorWrapper
 
using key_compare = Compare
 
using key_type = Key
 
using pointer = const value_type*
 
using reference = const value_type&
 
using reverse_iterator = ConstReverseIteratorWrapper
 
using size_type = fl::size
 
using value_compare = Compare
 
using value_type = Key
 

Public Member Functions

 MultiSetTree (const Compare &comp=Compare(), const Allocator &alloc=Allocator())
 
 MultiSetTree (const MultiSetTree &other) FL_NOEXCEPT=default
 
 MultiSetTree (fl::initializer_list< value_type > init, const Compare &comp=Compare(), const Allocator &alloc=Allocator())
 
 MultiSetTree (MultiSetTree &&other) FL_NOEXCEPT=default
 
 ~MultiSetTree () FL_NOEXCEPT=default
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
void clear ()
 
bool contains (const Key &key) const
 
fl::size count (const Key &key) const
 
template<typename... Args>
iterator emplace (Args &&... args)
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
fl::pair< iterator, iteratorequal_range (const Key &key)
 
fl::pair< const_iterator, const_iteratorequal_range (const Key &key) const
 
fl::size erase (const Key &key)
 
iterator erase (const_iterator first, const_iterator last)
 
iterator erase (const_iterator pos)
 
iterator find (const Key &key)
 
const_iterator find (const Key &key) const
 
allocator_type get_allocator () const
 
iterator insert (const value_type &value)
 
void insert (fl::initializer_list< value_type > ilist)
 
template<typename InputIt>
void insert (InputIt first, InputIt last)
 
iterator insert (value_type &&value)
 
key_compare key_comp () const
 
iterator lower_bound (const Key &key)
 
const_iterator lower_bound (const Key &key) const
 
fl::size max_size () const
 
bool operator!= (const MultiSetTree &other) const
 
bool operator< (const MultiSetTree &other) const
 
bool operator<= (const MultiSetTree &other) const
 
MultiSetTreeoperator= (const MultiSetTree &other) FL_NOEXCEPT=default
 
MultiSetTreeoperator= (MultiSetTree &&other) FL_NOEXCEPT=default
 
bool operator== (const MultiSetTree &other) const
 
bool operator> (const MultiSetTree &other) const
 
bool operator>= (const MultiSetTree &other) const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
fl::size size () const
 
void swap (MultiSetTree &other)
 
iterator upper_bound (const Key &key)
 
const_iterator upper_bound (const Key &key) const
 
value_compare value_comp () const
 

Private Types

using TreeType = RedBlackTree<ValueWithId, KeyCompareWithId, Allocator>
 

Private Attributes

fl::size mNextId = 0
 
TreeType mTree
 

The documentation for this class was generated from the following file: