Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::multimap< TKey, TValue, MAX_SIZE_, TCompare > Class Template Reference

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.
 
multimapoperator= (const multimap &rhs)
 Assignment operator.
 
- Public Member Functions inherited from etl::imultimap< TKey, TMapped, TKeyCompare >
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, iteratorequal_range (const_key_reference key)
 
ETL_OR_STD::pair< const_iterator, const_iteratorequal_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
 
imultimapoperator= (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.
 
- Public Member Functions inherited from etl::multimap_base
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

- Public Types inherited from etl::imultimap< TKey, TMapped, TKeyCompare >
typedef ETL_OR_STD::pair< const TKey, TMappedvalue_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_typeconst_key_reference
 
typedef etl::iterator_traits< iterator >::difference_type difference_type
 
typedef ETL_OR_STD::reverse_iterator< iteratorreverse_iterator
 
typedef ETL_OR_STD::reverse_iterator< const_iteratorconst_reverse_iterator
 
- Public Types inherited from etl::multimap_base
typedef size_t size_type
 The type used for determining the size of map.
 
- Protected Types inherited from etl::multimap_base
enum  { kLeft , kRight , kNeither }
 
- Protected Member Functions inherited from etl::imultimap< TKey, TMapped, TKeyCompare >
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.
 
- Protected Member Functions inherited from etl::multimap_base
 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.
 
Nodefind_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.
 
- Protected Attributes inherited from etl::multimap_base
size_type current_size
 The number of the used nodes.
 
const size_type CAPACITY
 The maximum size of the map.
 
Noderoot_node
 The node that acts as the multimap root.
 
 ETL_DECLARE_DEBUG_COUNT
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ multimap()

template<typename TKey , typename TValue , const size_t MAX_SIZE_, typename TCompare = etl::less<TKey>>
template<typename TIterator >
etl::multimap< TKey, TValue, MAX_SIZE_, TCompare >::multimap ( TIterator  first,
TIterator  last 
)
inline

Constructor, from an iterator range.

Template Parameters
TIteratorThe iterator type.
Parameters
firstThe iterator to the first element.
lastThe iterator to the last element + 1.

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