|
typedef ETL_OR_STD::pair< const TKey, TValue > | value_type |
|
typedef const TKey | key_type |
|
typedef TValue | mapped_type |
|
typedef etl::less< TKey > | 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 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.
|
|
typedef etl::parameter_type< TKey >::type | 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 |
|
| 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.
|
|
template<typename TKey, typename TValue, const size_t MAX_SIZE_, typename TCompare = etl::less<TKey>>
class etl::multimap< TKey, TValue, MAX_SIZE_, TCompare >
A templated multimap implementation that uses a fixed size buffer.
template<typename TKey , typename TValue , const size_t MAX_SIZE_, typename TCompare = etl::less<TKey>>
template<typename TIterator >
Constructor, from an iterator range.
- Template Parameters
-
TIterator | The iterator type. |
- Parameters
-
first | The iterator to the first element. |
last | The iterator to the last element + 1. |