Embedded Template Library 1.0
|
Functions | |
template<typename TKey , typename TMapped , typename TKeyCompare > | |
bool | etl::operator== (const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &rhs) |
template<typename TKey , typename TMapped , typename TKeyCompare > | |
bool | etl::operator!= (const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &lhs, const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > &rhs) |
A unordered_multimap with the capacity defined at compile time.
class etl::unordered_multimap_exception |
Exception for the unordered_multimap.
Public Member Functions | |
unordered_multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::unordered_multimap_full |
Full exception for the unordered_multimap.
Public Member Functions | |
unordered_multimap_full (string_type file_name_, numeric_type line_number_) | |
![]() | |
unordered_multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::unordered_multimap_out_of_range |
Out of range exception for the unordered_multimap.
Public Member Functions | |
unordered_multimap_out_of_range (string_type file_name_, numeric_type line_number_) | |
![]() | |
unordered_multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::unordered_multimap_iterator |
Iterator exception for the unordered_multimap.
Public Member Functions | |
unordered_multimap_iterator (string_type file_name_, numeric_type line_number_) | |
![]() | |
unordered_multimap_exception (string_type reason_, string_type file_name_, numeric_type line_number_) | |
![]() | |
ETL_CONSTEXPR | exception (string_type reason_, string_type, numeric_type line_) |
Constructor. | |
ETL_CONSTEXPR string_type | what () const |
ETL_CONSTEXPR string_type | file_name () const |
ETL_CONSTEXPR numeric_type | line_number () const |
Additional Inherited Members | |
![]() | |
typedef const char * | string_type |
typedef int | numeric_type |
class etl::iunordered_multimap |
The base class for specifically sized unordered_multimap. Can be used as a reference type for all unordered_multimap containing a specific type.
Public Types | |
typedef ETL_OR_STD::pair< const TKey, T > | value_type |
typedef TKey | key_type |
typedef T | mapped_type |
typedef THash | hasher |
typedef TKeyEqual | key_equal |
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::forward_link< 0 > | link_t |
typedef bucket_t::iterator | local_iterator |
typedef bucket_t::const_iterator | const_local_iterator |
typedef etl::iterator_traits< iterator >::difference_type | difference_type |
Public Member Functions | |
iterator | begin () |
const_iterator | begin () const |
const_iterator | cbegin () const |
local_iterator | begin (size_t i) |
const_local_iterator | begin (size_t i) const |
const_local_iterator | cbegin (size_t i) const |
iterator | end () |
const_iterator | end () const |
const_iterator | cend () const |
local_iterator | end (size_t i) |
const_local_iterator | end (size_t i) const |
const_local_iterator | cend (size_t i) const |
size_type | get_bucket_index (const_key_reference key) const |
size_type | bucket_size (const_key_reference key) const |
size_type | max_bucket_count () const |
size_type | bucket_count () const |
template<typename TIterator > | |
void | assign (TIterator first_, TIterator last_) |
iterator | insert (const_reference key_value_pair) |
iterator | insert (const_iterator, const_reference key_value_pair) |
template<class TIterator > | |
void | insert (TIterator first_, TIterator last_) |
size_t | erase (const_key_reference key) |
iterator | erase (const_iterator ielement) |
iterator | erase (const_iterator first_, const_iterator last_) |
void | clear () |
Clears the unordered_multimap. | |
size_t | count (const_key_reference key) const |
iterator | find (const_key_reference key) |
const_iterator | find (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 |
size_type | size () const |
Gets the size of the unordered_multimap. | |
size_type | max_size () const |
Gets the maximum possible size of the unordered_multimap. | |
size_type | capacity () const |
Gets the maximum possible size of the unordered_multimap. | |
bool | empty () const |
Checks to see if the unordered_multimap is empty. | |
bool | full () const |
Checks to see if the unordered_multimap is full. | |
size_t | available () const |
float | load_factor () const |
hasher | hash_function () const |
key_equal | key_eq () const |
iunordered_multimap & | operator= (const iunordered_multimap &rhs) |
Assignment operator. | |
Protected Types | |
typedef etl::intrusive_forward_list< node_t, link_t > | bucket_t |
typedef etl::ipool | pool_t |
Protected Member Functions | |
iunordered_multimap (pool_t &node_pool_, bucket_t *pbuckets_, size_t number_of_buckets_, hasher key_hash_function_, key_equal key_equal_function_) | |
Constructor. | |
void | initialise () |
Initialise the unordered_multimap. | |
~iunordered_multimap () | |
For library debugging purposes only. More... | |
Friends | |
bool | operator== (const node_t &lhs, const node_t &rhs) |
bool | operator!= (const node_t &lhs, const node_t &rhs) |
|
inlineprotected |
For library debugging purposes only.
Destructor.
|
inline |
Assigns values to the unordered_multimap. If asserts or exceptions are enabled, emits unordered_multimap_full if the unordered_multimap does not have enough free space. If asserts or exceptions are enabled, emits unordered_multimap_iterator if the iterators are reversed.
first | The iterator to the first element. |
last | The iterator to the last element + 1. |
|
inline |
Returns the remaining capacity.
|
inline |
Returns an iterator to the beginning of the unordered_multimap.
|
inline |
Returns a const_iterator to the beginning of the unordered_multimap.
|
inline |
Returns an iterator to the beginning of the unordered_multimap bucket.
|
inline |
Returns a const_iterator to the beginning of the unordered_multimap bucket.
|
inline |
Returns the number of the buckets the container holds.
|
inline |
Returns the size of the bucket key.
|
inline |
Returns a const_iterator to the beginning of the unordered_multimap.
|
inline |
Returns a const_iterator to the beginning of the unordered_multimap bucket.
|
inline |
Returns a const_iterator to the end of the unordered_multimap.
|
inline |
Returns a const_iterator to the end of the unordered_multimap bucket.
|
inline |
Counts an element.
key | The key to search for. |
|
inline |
Returns an iterator to the end of the unordered_multimap.
|
inline |
Returns a const_iterator to the end of the unordered_multimap.
|
inline |
Returns an iterator to the end of the unordered_multimap bucket.
|
inline |
Returns a const_iterator to the end of the unordered_multimap bucket.
|
inline |
Returns a range containing all elements with key key in the container. The range is defined by two iterators, the first pointing to the first element of the wanted range and the second pointing past the last element of the range.
key | The key to search for. |
|
inline |
Returns a range containing all elements with key key in the container. The range is defined by two iterators, the first pointing to the first element of the wanted range and the second pointing past the last element of the range.
key | The key to search for. |
|
inline |
Erases a range of elements. The range includes all the elements between first and last, including the element pointed by first, but not the one pointed to by last.
first | Iterator to the first element. |
last | Iterator to the last element. |
|
inline |
Erases an element.
ielement | Iterator to the element. |
|
inline |
Erases an element.
key | The key to erase. |
|
inline |
Finds an element.
key | The key to search for. |
|
inline |
Finds an element.
key | The key to search for. |
|
inline |
Returns the bucket index for the key.
|
inline |
Returns the function that hashes the keys.
|
inline |
Inserts a value to the unordered_multimap. If asserts or exceptions are enabled, emits unordered_multimap_full if the unordered_multimap is already full.
position | The position to insert at. |
value | The value to insert. |
|
inline |
Inserts a value to the unordered_multimap. If asserts or exceptions are enabled, emits unordered_multimap_full if the unordered_multimap is already full.
value | The value to insert. |
|
inline |
Inserts a range of values to the unordered_multimap. If asserts or exceptions are enabled, emits unordered_multimap_full if the unordered_multimap does not have enough free space.
position | The position to insert at. |
first | The first element to add. |
last | The last + 1 element to add. |
|
inline |
Returns the function that compares the keys.
|
inline |
Returns the load factor = size / bucket_count.
|
inline |
Returns the maximum number of the buckets the container can hold.
bool etl::operator!= | ( | const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > & | lhs, |
const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > & | rhs | ||
) |
Not equal operator.
lhs | Reference to the first unordered_multimap. |
rhs | Reference to the second unordered_multimap. |
bool etl::operator== | ( | const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > & | lhs, |
const etl::iunordered_multimap< TKey, TMapped, TKeyCompare > & | rhs | ||
) |
Equal operator.
lhs | Reference to the first unordered_multimap. |
rhs | Reference to the second unordered_multimap. |