![]() |
Embedded Template Library
1.0
|
Classes | |
class | etl::iflat_map< TKey, TMapped, TKeyCompare > |
class | etl::flat_map< TKey, TValue, MAX_SIZE_, TCompare > |
Functions | |
template<typename TKey , typename TMapped , typename TKeyCompare > | |
bool | etl::operator== (const etl::iflat_map< TKey, TMapped, TKeyCompare > &lhs, const etl::iflat_map< TKey, TMapped, TKeyCompare > &rhs) |
template<typename TKey , typename TMapped , typename TKeyCompare > | |
bool | etl::operator!= (const etl::iflat_map< TKey, TMapped, TKeyCompare > &lhs, const etl::iflat_map< TKey, TMapped, TKeyCompare > &rhs) |
A flat_map based on a sorted vector with the capacity defined at compile time. This container is best used for tables that are occasionally updated and spend most of their time being searched. Has insertion of O(N) and find of O(logN). Duplicate entries are not allowed.
class etl::iflat_map |
The base class for specifically sized flat_maps. Can be used as a reference type for all flat_maps containing a specific type.
Public Types | |
typedef ETL_OR_STD::pair< const TKey, TMapped > | value_type |
typedef 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 refmap_t::iterator | iterator |
typedef refmap_t::const_iterator | const_iterator |
typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
typedef etl::iterator_traits< iterator >::difference_type | difference_type |
Public Member Functions | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | crend () const |
mapped_type & | operator[] (key_parameter_t key) |
mapped_type & | at (key_parameter_t key) |
const mapped_type & | at (key_parameter_t key) const |
template<typename TIterator > | |
void | assign (TIterator first, TIterator last) |
ETL_OR_STD::pair< iterator, bool > | insert (const_reference value) |
iterator | insert (iterator position, const_reference value) |
template<class TIterator > | |
void | insert (TIterator first, TIterator last) |
ETL_OR_STD::pair< iterator, bool > | emplace (const value_type &value) |
Emplaces a value to the map. | |
template<typename T1 > | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1) |
Emplaces a value to the map. | |
template<typename T1 , typename T2 > | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1, const T2 &value2) |
Emplaces a value to the map. | |
template<typename T1 , typename T2 , typename T3 > | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1, const T2 &value2, const T3 &value3) |
Emplaces a value to the map. | |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
Emplaces a value to the map. | |
size_t | erase (key_parameter_t key) |
void | erase (iterator i_element) |
void | erase (iterator first, iterator last) |
void | clear () |
Clears the flat_map. | |
iterator | find (key_parameter_t key) |
const_iterator | find (key_parameter_t key) const |
size_t | count (key_parameter_t key) const |
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 |
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 |
iflat_map & | operator= (const iflat_map &rhs) |
Assignment operator. | |
size_type | size () const |
bool | empty () const |
bool | full () const |
size_type | capacity () const |
size_type | max_size () const |
size_t | available () const |
Protected Types | |
typedef const key_type & | key_parameter_t |
Protected Member Functions | |
iflat_map (lookup_t &lookup_, storage_t &storage_) | |
Constructor. | |
~iflat_map () | |
Internal debugging. More... | |
|
inlineprotected |
Internal debugging.
Destructor.
|
inline |
Assigns values to the flat_map. If ETL_THROW_EXCEPTIONS & ETL_DEBUG are defined, emits flat_map_full if the flat_map does not have enough free space. If ETL_THROW_EXCEPTIONS & ETL_DEBUG are defined, emits flat_map_iterator if the iterators are reversed.
first | The iterator to the first element. |
last | The iterator to the last element + 1. |
|
inline |
Returns a reference to the value at index 'key' If asserts or exceptions are enabled, emits an etl::flat_map_out_of_bounds if the key is not in the range.
i | The index. |
|
inline |
Returns a const reference to the value at index 'key' If asserts or exceptions are enabled, emits an etl::flat_map_out_of_bounds if the key is not in the range.
i | The index. |
|
inline |
Returns the remaining capacity.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Counts an element.
key | The key to search for. |
|
inline |
|
inline |
|
inline |
Checks the 'empty' state of the flat_map.
|
inline |
|
inline |
|
inline |
Finds the range of equal elements of a key
key | The key to search for. |
|
inline |
Finds the range of equal elements of a key
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 by last.
first | Iterator to the first element. |
last | Iterator to the last element. |
|
inline |
Erases an element.
i_element | 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 |
Checks the 'full' state of the flat_map.
|
inline |
Inserts a value to the flat_map. If asserts or exceptions are enabled, emits flat_map_full if the flat_map is already full.
value | The value to insert. |
|
inline |
Inserts a value to the flat_map. If asserts or exceptions are enabled, emits flat_map_full if the flat_map is already full.
position | The position to insert at. |
value | The value to insert. |
|
inline |
Inserts a range of values to the flat_map. If asserts or exceptions are enabled, emits flat_map_full if the flat_map 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 |
Finds the lower bound of a key
key | The key to search for. |
|
inline |
Finds the lower bound of a key
key | The key to search for. |
|
inline |
|
inline |
Returns a reference to the value at index 'key'
i | The index. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Finds the upper bound of a key
key | The key to search for. |
|
inline |
Finds the upper bound of a key
key | The key to search for. |
class etl::flat_map |
A flat_map implementation that uses a fixed size buffer.
TKey | The key type. |
TValue | The value type. |
TCompare | The type to compare keys. Default = etl::less<TKey> |
MAX_SIZE_ | The maximum number of elements that can be stored. |
Public Member Functions | |
flat_map () | |
Constructor. | |
flat_map (const flat_map &other) | |
Copy constructor. | |
template<typename TIterator > | |
flat_map (TIterator first, TIterator last) | |
~flat_map () | |
Destructor. | |
flat_map & | operator= (const flat_map &rhs) |
Assignment operator. | |
![]() | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | crend () const |
mapped_type & | operator[] (key_parameter_t key) |
mapped_type & | at (key_parameter_t key) |
const mapped_type & | at (key_parameter_t key) const |
void | assign (TIterator first, TIterator last) |
ETL_OR_STD::pair< iterator, bool > | insert (const_reference value) |
iterator | insert (iterator position, const_reference value) |
void | insert (TIterator first, TIterator last) |
ETL_OR_STD::pair< iterator, bool > | emplace (const value_type &value) |
Emplaces a value to the map. | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1) |
Emplaces a value to the map. | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1, const T2 &value2) |
Emplaces a value to the map. | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1, const T2 &value2, const T3 &value3) |
Emplaces a value to the map. | |
ETL_OR_STD::pair< iterator, bool > | emplace (const key_type &key, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
Emplaces a value to the map. | |
size_t | erase (key_parameter_t key) |
void | erase (iterator i_element) |
void | erase (iterator first, iterator last) |
void | clear () |
Clears the flat_map. | |
iterator | find (key_parameter_t key) |
const_iterator | find (key_parameter_t key) const |
size_t | count (key_parameter_t key) const |
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 |
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 |
iflat_map & | operator= (const iflat_map &rhs) |
Assignment operator. | |
size_type | size () const |
bool | empty () const |
bool | full () const |
size_type | capacity () const |
size_type | max_size () const |
size_t | available () const |
Static Public Attributes | |
static const size_t | MAX_SIZE = MAX_SIZE_ |
Additional Inherited Members | |
![]() | |
typedef ETL_OR_STD::pair< const TKey, TValue > | value_type |
typedef 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 refmap_t::iterator | iterator |
typedef refmap_t::const_iterator | const_iterator |
typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
typedef etl::iterator_traits< iterator >::difference_type | difference_type |
![]() | |
typedef const key_type & | key_parameter_t |
![]() | |
iflat_map (lookup_t &lookup_, storage_t &storage_) | |
Constructor. | |
~iflat_map () | |
Internal debugging. More... | |
|
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. |
bool etl::operator!= | ( | const etl::iflat_map< TKey, TMapped, TKeyCompare > & | lhs, |
const etl::iflat_map< TKey, TMapped, TKeyCompare > & | rhs | ||
) |
bool etl::operator== | ( | const etl::iflat_map< TKey, TMapped, TKeyCompare > & | lhs, |
const etl::iflat_map< TKey, TMapped, TKeyCompare > & | rhs | ||
) |