Embedded Template Library 1.0
|
A templated multimap implementation that uses a fixed size buffer. More...
#include <multimap.h>
Public Member Functions | |
multimap () | |
Default constructor. | |
multimap (const multimap &other) | |
Copy constructor. | |
template<typename TIterator > | |
multimap (TIterator first, TIterator last) | |
~multimap () | |
Destructor. | |
multimap & | operator= (const multimap &rhs) |
Assignment operator. | |
![]() | |
iterator | begin () |
Gets the beginning of the multimap. | |
const_iterator | begin () const |
Gets the beginning of the multimap. | |
iterator | end () |
Gets the end of the multimap. | |
const_iterator | end () const |
Gets the end of the multimap. | |
const_iterator | cbegin () const |
Gets the beginning of the multimap. | |
const_iterator | cend () const |
Gets the end of the multimap. | |
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. | |
template<typename TIterator > | |
void | assign (TIterator first, TIterator last) |
void | clear () |
Clears the multimap. | |
size_type | count (const_key_reference key) const |
ETL_OR_STD::pair< iterator, iterator > | equal_range (const_key_reference key) |
ETL_OR_STD::pair< const_iterator, const_iterator > | equal_range (const_key_reference 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 (const_key_reference key) |
iterator | erase (const_iterator first, const_iterator last) |
Erases a range of elements. | |
iterator | find (const_key_reference key) |
const_iterator | find (const_key_reference key) const |
iterator | insert (const_reference value) |
iterator | insert (const_iterator, const_reference value) |
template<class TIterator > | |
void | insert (TIterator first, TIterator last) |
iterator | lower_bound (const_key_reference key) |
const_iterator | lower_bound (const_key_reference key) const |
iterator | upper_bound (const_key_reference key) |
const_iterator | upper_bound (const_key_reference key) const |
imultimap & | operator= (const imultimap &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 (const TKey &key) const |
Check if the map contains the key. | |
![]() | |
size_type | size () const |
Gets the size of the map. | |
size_type | max_size () const |
Gets the maximum possible size of the map. | |
bool | empty () const |
Checks to see if the map is empty. | |
bool | full () const |
Checks to see if the map is full. | |
size_type | capacity () const |
size_t | available () const |
Static Public Attributes | |
static ETL_CONSTANT size_t | MAX_SIZE = MAX_SIZE_ |
Additional Inherited Members | |
![]() | |
typedef ETL_OR_STD::pair< const TKey, TMapped > | value_type |
typedef const TKey | key_type |
typedef TMapped | mapped_type |
typedef TKeyCompare | key_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 const key_type & | const_key_reference |
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 map. | |
![]() | |
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, const_key_reference key) const |
bool | node_comp (const_key_reference key, const Data_Node &node) const |
imultimap (etl::ipool &node_pool, size_t max_size_) | |
Constructor. | |
void | initialise () |
Initialise the multimap. | |
~imultimap () | |
Destructor. | |
![]() | |
multimap_base (size_type max_size_) | |
The constructor that is called from derived classes. | |
~multimap_base () | |
The constructor that is called from derived classes. | |
void | balance_node (Node *&critical_node) |
Balance the critical node at the position provided as needed. | |
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. | |
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. | |
Node * | find_limit_node (Node *position, const int8_t dir) const |
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. | |
![]() | |
size_type | current_size |
The number of the used nodes. | |
const size_type | CAPACITY |
The maximum size of the map. | |
Node * | root_node |
The node that acts as the multimap root. | |
ETL_DECLARE_DEBUG_COUNT | |
A templated multimap implementation that uses a fixed size buffer.
|
inline |
Constructor, from an iterator range.
TIterator | The iterator type. |
first | The iterator to the first element. |
last | The iterator to the last element + 1. |