|
| multiset () |
| Default constructor.
|
|
| multiset (const multiset &other) |
| Copy constructor.
|
|
template<typename TIterator > |
| multiset (TIterator first, TIterator last) |
|
| ~multiset () |
| Destructor.
|
|
multiset & | operator= (const multiset &rhs) |
| Assignment operator.
|
|
iterator | begin () |
| Gets the beginning of the multiset.
|
|
const_iterator | begin () const |
| Gets the beginning of the multiset.
|
|
iterator | end () |
| Gets the end of the multiset.
|
|
const_iterator | end () const |
| Gets the end of the multiset.
|
|
const_iterator | cbegin () const |
| Gets the beginning of the multiset.
|
|
const_iterator | cend () const |
| Gets the end of the multiset.
|
|
reverse_iterator | rbegin () |
| Gets the reverse beginning of the list.
|
|
const_reverse_iterator | rbegin () const |
| Gets the reverse beginning of the list.
|
|
reverse_iterator | rend () |
| Gets the reverse end of the list.
|
|
const_reverse_iterator | rend () const |
| Gets the reverse end of the list.
|
|
const_reverse_iterator | crbegin () const |
| Gets the reverse beginning of the list.
|
|
const_reverse_iterator | crend () const |
| Gets the reverse end of the list.
|
|
void | assign (TIterator first, TIterator last) |
|
void | clear () |
| Clears the multiset.
|
|
size_type | count (key_parameter_t key) const |
|
ETL_OR_STD::pair< iterator, iterator > | equal_range (key_parameter_t key) |
|
ETL_OR_STD::pair< const_iterator, const_iterator > | equal_range (key_parameter_t key) const |
|
iterator | erase (iterator position) |
| Erases the value at the specified position.
|
|
iterator | erase (const_iterator position) |
| Erases the value at the specified position.
|
|
size_type | erase (key_parameter_t key_value) |
|
iterator | erase (const_iterator first, const_iterator last) |
| Erases a range of elements.
|
|
iterator | find (key_parameter_t key_value) |
|
const_iterator | find (key_parameter_t key_value) const |
|
iterator | insert (const_reference value) |
|
iterator | insert (const_iterator, const_reference value) |
|
void | insert (TIterator first, TIterator last) |
|
iterator | lower_bound (key_parameter_t key) |
|
const_iterator | lower_bound (key_parameter_t key) const |
|
iterator | upper_bound (key_parameter_t key) |
|
const_iterator | upper_bound (key_parameter_t key) const |
|
imultiset & | operator= (const imultiset &rhs) |
| Assignment operator.
|
|
key_compare | key_comp () const |
| How to compare two key elements.
|
|
value_compare | value_comp () const |
| How to compare two value elements.
|
|
bool | contains (key_parameter_t key) const |
| Check if the set contains the key.
|
|
size_type | size () const |
| Gets the size of the set.
|
|
size_type | max_size () const |
| Gets the maximum possible size of the set.
|
|
bool | empty () const |
| Checks to see if the set is empty.
|
|
bool | full () const |
| Checks to see if the set is full.
|
|
size_type | capacity () const |
|
size_t | available () const |
|
|
typedef TKey | key_type |
|
typedef TKey | value_type |
|
typedef ETL_OR_STD::less< TKey > | key_compare |
|
typedef ETL_OR_STD::less< TKey > | value_compare |
|
typedef value_type & | reference |
|
typedef const value_type & | const_reference |
|
typedef value_type * | pointer |
|
typedef const value_type * | const_pointer |
|
typedef size_t | size_type |
|
typedef etl::iterator_traits< iterator >::difference_type | difference_type |
|
typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
|
typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
|
typedef size_t | size_type |
| The type used for determining the size of set.
|
|
typedef const TKey & | key_parameter_t |
| Defines the key value parameter type.
|
|
enum | { kLeft
, kRight
, kNeither
} |
|
bool | node_comp (const Data_Node &node1, const Data_Node &node2) const |
| How to compare node elements.
|
|
bool | node_comp (const Data_Node &node, key_parameter_t key) const |
|
bool | node_comp (key_parameter_t key, const Data_Node &node) const |
|
| imultiset (etl::ipool &node_pool, size_t max_size_) |
| Constructor.
|
|
void | initialise () |
| Initialise the multiset.
|
|
| ~imultiset () |
| Destructor.
|
|
| multiset_base (size_type max_size_) |
| The constructor that is called from derived classes.
|
|
| ~multiset_base () |
| Destructor.
|
|
void | attach_node (Node *parent, Node *&position, Node &node) |
| Attach the provided node to the position provided.
|
|
void | detach_node (Node *&position, Node *&replacement) |
| Detach the node at the position provided.
|
|
void | balance_node (Node *&critical_node) |
| Balance the critical node at the position provided as needed.
|
|
Node * | find_limit_node (Node *position, const int8_t dir) const |
|
void | next_node (Node *&position) const |
| Find the next node in sequence from the node provided.
|
|
void | next_node (const Node *&position) const |
| Find the next node in sequence from the node provided.
|
|
void | prev_node (Node *&position) const |
| Find the previous node in sequence from the node provided.
|
|
void | prev_node (const Node *&position) const |
| Find the previous node in sequence from the node provided.
|
|
void | rotate_2node (Node *&position, uint_least8_t dir) |
| Rotate two nodes at the position provided the to balance the tree.
|
|
void | rotate_3node (Node *&position, uint_least8_t dir, uint_least8_t third) |
| Rotate three nodes at the position provided the to balance the tree.
|
|
size_type | current_size |
| The number of the used nodes.
|
|
const size_type | CAPACITY |
| The maximum size of the set.
|
|
Node * | root_node |
| The node that acts as the multiset root.
|
|
template<typename TKey, const size_t MAX_SIZE_, typename TCompare = ETL_OR_STD::less<TKey>>
class etl::multiset< TKey, MAX_SIZE_, TCompare >
A templated multiset implementation that uses a fixed size buffer.