Loading...
Searching...
No Matches
flat_map

## 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)

## Detailed Description

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 Documentation

## etl::iflat_map

class etl::iflat_map

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>
class etl::iflat_map< TKey, TMapped, TKeyCompare >

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 const key_type & | const_key_reference
typedef mapped_type & | mapped_reference
typedef const mapped_type & | const_mapped_reference
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_reference | operator[] (const_key_reference key)
mapped_reference | at (const_key_reference key)
const_mapped_reference | at (const_key_reference key) const
template<typename TIterator>
void | assign (TIterator first, TIterator last)
ETL_OR_STD::pair< iterator, bool > | insert (const_reference value)
iterator | insert (const_iterator, 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_reference key, const T1 &value1)
| Emplaces a value to the map.
template<typename T1, typename T2>
ETL_OR_STD::pair< iterator, bool > | emplace (const_key_reference 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_reference 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_reference key, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
| Emplaces a value to the map.
template<typename T1>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1)
| Inserts an element into the flat_map if the key does not exist.
template<typename T1, typename T2>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1, const T2 &value2)
| Inserts an element into the flat_map if the key does not exist.
template<typename T1, typename T2, typename T3>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1, const T2 &value2, const T3 &value3)
| Inserts an element into the flat_map if the key does not exist.
template<typename T1, typename T2, typename T3, typename T4>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
| Inserts an element into the flat_map if the key does not exist.
size_t | erase (const_key_reference key)
iterator | erase (iterator i_element)
iterator | erase (const_iterator i_element)
| \ param i_element Iterator to the element.
iterator | erase (const_iterator first, const_iterator last)
void | clear ()
| Clears the flat_map.
iterator | find (const_key_reference key)
const_iterator | find (const_key_reference key) const
size_t | count (const_key_reference key) const
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
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
bool | contains (const_key_reference key) const
| Check if the map contains the key.
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 Member Functions

| iflat_map (lookup_t &lookup_, storage_t &storage_)
| Constructor.
| ~iflat_map ()
| Destructor.

#### Member Function Documentation

## assign()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>
template<typename TIterator>

void etl::iflat_map< TKey, TMapped, TKeyCompare >::assign | ( | TIterator | first,
|  | TIterator | last )

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.

Parameters

  first | The iterator to the first element.
  last | The iterator to the last element + 1.

## at() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

mapped_reference etl::iflat_map< TKey, TMapped, TKeyCompare >::at | ( | const_key_reference | key | ) |

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.

Parameters

  i | The index.

Returns
  A reference to the value at index 'key'

## at() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_mapped_reference etl::iflat_map< TKey, TMapped, TKeyCompare >::at | ( | const_key_reference | key | ) | const

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.

Parameters

  i | The index.

Returns
  A const reference to the value at index 'key'

## available()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

size_t etl::iflat_map< TKey, TMapped, TKeyCompare >::available | ( |  | ) | const

inline

Returns the remaining capacity.

Returns
  The remaining capacity.

## begin() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::begin | ( |  | ) |

inline

Returns an iterator to the beginning of the flat_map.

Returns
  An iterator to the beginning of the flat_map.

## begin() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::begin | ( |  | ) | const

inline

Returns a const_iterator to the beginning of the flat_map.

Returns
  A const iterator to the beginning of the flat_map.

## capacity()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

size_type etl::iflat_map< TKey, TMapped, TKeyCompare >::capacity | ( |  | ) | const

inline

Returns the capacity of the flat_map.

Returns
  The capacity of the flat_map.

## cbegin()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::cbegin | ( |  | ) | const

inline

Returns a const_iterator to the beginning of the flat_map.

Returns
  A const iterator to the beginning of the flat_map.

## cend()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::cend | ( |  | ) | const

inline

Returns a const_iterator to the end of the flat_map.

Returns
  A const iterator to the end of the flat_map.

## count()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

size_t etl::iflat_map< TKey, TMapped, TKeyCompare >::count | ( | const_key_reference | key | ) | const

inline

Counts an element.

Parameters

  key | The key to search for.

Returns
  1 if the key exists, otherwise 0.

## crbegin()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_reverse_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::crbegin | ( |  | ) | const

inline

Returns a const reverse iterator to the reverse beginning of the flat_map.

Returns
  Const reverse iterator to the reverse beginning of the flat_map.

## crend()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_reverse_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::crend | ( |  | ) | const

inline

Returns a const reverse iterator to the end + 1 of the flat_map.

Returns
  Const reverse iterator to the end + 1 of the flat_map.

## empty()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

bool etl::iflat_map< TKey, TMapped, TKeyCompare >::empty | ( |  | ) | const

inline

Checks the 'empty' state of the flat_map.

Returns
  true if empty.

## end() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::end | ( |  | ) |

inline

Returns an iterator to the end of the flat_map.

Returns
  An iterator to the end of the flat_map.

## end() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::end | ( |  | ) | const

inline

Returns a const_iterator to the end of the flat_map.

Returns
  A const iterator to the end of the flat_map.

## equal_range() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

ETL_OR_STD::pair< iterator, iterator > etl::iflat_map< TKey, TMapped, TKeyCompare >::equal_range | ( | const_key_reference | key | ) |

inline

Finds the range of equal elements of a key

Parameters

  key | The key to search for.

Returns
  An iterator pair.

## equal_range() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

ETL_OR_STD::pair< const_iterator, const_iterator > etl::iflat_map< TKey, TMapped, TKeyCompare >::equal_range | ( | const_key_reference | key | ) | const

inline

Finds the range of equal elements of a key

Parameters

  key | The key to search for.

Returns
  An iterator pair.

## erase() [1/4]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::erase | ( | const_iterator | first,
|  | const_iterator | last )

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.

Parameters

  first | Iterator to the first element.
  last | Iterator to the last element.

## erase() [2/4]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::erase | ( | const_iterator | i_element | ) |

inline

\ param i_element Iterator to the element.

Erases an element.

## erase() [3/4]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

size_t etl::iflat_map< TKey, TMapped, TKeyCompare >::erase | ( | const_key_reference | key | ) |

inline

Erases an element.

Parameters

  key | The key to erase.

Returns
  The number of elements erased. 0 or 1.

## erase() [4/4]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::erase | ( | iterator | i_element | ) |

inline

Erases an element.

Parameters

  i_element | Iterator to the element.

## find() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::find | ( | const_key_reference | key | ) |

inline

Finds an element.

Parameters

  key | The key to search for.

Returns
  An iterator pointing to the element or end() if not found.

## find() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::find | ( | const_key_reference | key | ) | const

inline

Finds an element.

Parameters

  key | The key to search for.

Returns
  An iterator pointing to the element or end() if not found.

## full()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

bool etl::iflat_map< TKey, TMapped, TKeyCompare >::full | ( |  | ) | const

inline

Checks the 'full' state of the flat_map.

Returns
  true if full.

## insert() [1/3]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::insert | ( | const_iterator | ,
|  | const_reference | value )

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.

Parameters

  position | The position to insert at.
  value | The value to insert.

## insert() [2/3]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

ETL_OR_STD::pair< iterator, bool > etl::iflat_map< TKey, TMapped, TKeyCompare >::insert | ( | const_reference | value | ) |

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.

Parameters

  value | The value to insert.

## insert() [3/3]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>
template<class TIterator>

void etl::iflat_map< TKey, TMapped, TKeyCompare >::insert | ( | TIterator | first,
|  | TIterator | last )

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.

Parameters

  position | The position to insert at.
  first | The first element to add.
  last | The last + 1 element to add.

## lower_bound() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::lower_bound | ( | const_key_reference | key | ) |

inline

Finds the lower bound of a key

Parameters

  key | The key to search for.

Returns
  An iterator.

## lower_bound() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::lower_bound | ( | const_key_reference | key | ) | const

inline

Finds the lower bound of a key

Parameters

  key | The key to search for.

Returns
  An iterator.

## max_size()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

size_type etl::iflat_map< TKey, TMapped, TKeyCompare >::max_size | ( |  | ) | const

inline

Returns the maximum possible size of the flat_map.

Returns
  The maximum size of the flat_map.

## operator[]()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

mapped_reference etl::iflat_map< TKey, TMapped, TKeyCompare >::operator[] | ( | const_key_reference | key | ) |

inline

Returns a reference to the value at index 'key'

Parameters

  i | The index.

Returns
  A reference to the value at index 'key'

## rbegin() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

reverse_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::rbegin | ( |  | ) |

inline

Returns an reverse iterator to the reverse beginning of the flat_map.

Returns
  Iterator to the reverse beginning of the flat_map.

## rbegin() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_reverse_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::rbegin | ( |  | ) | const

inline

Returns a const reverse iterator to the reverse beginning of the flat_map.

Returns
  Const iterator to the reverse beginning of the flat_map.

## rend() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

reverse_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::rend | ( |  | ) |

inline

Returns a reverse iterator to the end + 1 of the flat_map.

Returns
  Reverse iterator to the end + 1 of the flat_map.

## rend() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_reverse_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::rend | ( |  | ) | const

inline

Returns a const reverse iterator to the end + 1 of the flat_map.

Returns
  Const reverse iterator to the end + 1 of the flat_map.

## size()

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

size_type etl::iflat_map< TKey, TMapped, TKeyCompare >::size | ( |  | ) | const

inline

Gets the current size of the flat_map.

Returns
  The current size of the flat_map.

## upper_bound() [1/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::upper_bound | ( | const_key_reference | key | ) |

inline

Finds the upper bound of a key

Parameters

  key | The key to search for.

Returns
  An iterator.

## upper_bound() [2/2]

template<typename TKey, typename TMapped, typename TKeyCompare = etl::less<TKey>>

const_iterator etl::iflat_map< TKey, TMapped, TKeyCompare >::upper_bound | ( | const_key_reference | key | ) | const

inline

Finds the upper bound of a key

Parameters

  key | The key to search for.

Returns
  An iterator.

## etl::flat_map

class etl::flat_map

template<typename TKey, typename TValue, const size_t MAX_SIZE_, typename TCompare = etl::less<TKey>>
class etl::flat_map< TKey, TValue, MAX_SIZE_, TCompare >

A flat_map implementation that uses a fixed size buffer.

Template Parameters

  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.
Public Member Functions inherited from etl::iflat_map< TKey, TMapped, TKeyCompare >
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_reference | operator[] (const_key_reference key)
mapped_reference | at (const_key_reference key)
const_mapped_reference | at (const_key_reference key) const
template<typename TIterator>
void | assign (TIterator first, TIterator last)
ETL_OR_STD::pair< iterator, bool > | insert (const_reference value)
iterator | insert (const_iterator, 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_reference key, const T1 &value1)
| Emplaces a value to the map.
template<typename T1, typename T2>
ETL_OR_STD::pair< iterator, bool > | emplace (const_key_reference 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_reference 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_reference key, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
| Emplaces a value to the map.
template<typename T1>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1)
| Inserts an element into the flat_map if the key does not exist.
template<typename T1, typename T2>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1, const T2 &value2)
| Inserts an element into the flat_map if the key does not exist.
template<typename T1, typename T2, typename T3>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1, const T2 &value2, const T3 &value3)
| Inserts an element into the flat_map if the key does not exist.
template<typename T1, typename T2, typename T3, typename T4>
ETL_OR_STD::pair< iterator, bool > | try_emplace (const_key_reference key, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
| Inserts an element into the flat_map if the key does not exist.
size_t | erase (const_key_reference key)
iterator | erase (iterator i_element)
iterator | erase (const_iterator i_element)
| \ param i_element Iterator to the element.
iterator | erase (const_iterator first, const_iterator last)
void | clear ()
| Clears the flat_map.
iterator | find (const_key_reference key)
const_iterator | find (const_key_reference key) const
size_t | count (const_key_reference key) const
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
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
bool | contains (const_key_reference key) const
| Check if the map contains the key.
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 ETL_CONSTANT size_t | MAX_SIZE = MAX_SIZE_

## Additional Inherited Members

Public Types inherited from etl::iflat_map< TKey, TMapped, TKeyCompare >
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 const key_type & | const_key_reference
typedef mapped_type & | mapped_reference
typedef const mapped_type & | const_mapped_reference
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
Protected Member Functions inherited from etl::iflat_map< TKey, TMapped, TKeyCompare >
| iflat_map (lookup_t &lookup_, storage_t &storage_)
| Constructor.
| ~iflat_map ()
| Destructor.

#### Constructor & Destructor Documentation

## flat_map()

template<typename TKey, typename TValue, const size_t MAX_SIZE_, typename TCompare = etl::less<TKey>>
template<typename TIterator>

etl::flat_map< TKey, TValue, MAX_SIZE_, TCompare >::flat_map | ( | TIterator | first,
|  | TIterator | last )

inline

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.

## Function Documentation

## operator!=()

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 )

Not equal operator.

Parameters

  lhs | Reference to the first flat_map.
  rhs | Reference to the second flat_map.

Returns
  true if the arrays are not equal, otherwise false

## operator==()

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 )

Equal operator.

Parameters

  lhs | Reference to the first flat_map.
  rhs | Reference to the second flat_map.

Returns
  true if the arrays are equal, otherwise false