Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::unordered_map< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual > Class Template Reference

A templated unordered_map implementation that uses a fixed size buffer. More...

#include <unordered_map.h>

Public Member Functions

 unordered_map (const THash &hash=THash(), const TKeyEqual &equal=TKeyEqual())
 Default constructor.
 unordered_map (const unordered_map &other)
 Copy constructor.
template<typename TIterator>
 unordered_map (TIterator first_, TIterator last_, const THash &hash=THash(), const TKeyEqual &equal=TKeyEqual())
 ~unordered_map ()
 Destructor.
unordered_mapoperator= (const unordered_map &rhs)
 Assignment operator.
Public Member Functions inherited from etl::iunordered_map< TKey, T, THash, TKeyEqual >
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
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 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_map.
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, iteratorequal_range (const_key_reference key)
ETL_OR_STD::pair< const_iterator, const_iteratorequal_range (const_key_reference key) const
size_type size () const
 Gets the size of the unordered_map.
size_type max_size () const
 Gets the maximum possible size of the unordered_map.
size_type capacity () const
 Gets the maximum possible size of the unordered_map.
bool empty () const
 Checks to see if the unordered_map is empty.
bool full () const
 Checks to see if the unordered_map is full.
size_t available () const
float load_factor () const
hasher hash_function () const
key_equal key_eq () const
iunordered_mapoperator= (const iunordered_map &rhs)
 Assignment operator.
bool contains (const_key_reference key) const
 Check if the unordered_map contains the key.

Static Public Attributes

static ETL_CONSTANT size_t MAX_SIZE = MAX_SIZE_
static ETL_CONSTANT size_t MAX_BUCKETS = MAX_BUCKETS_

Additional Inherited Members

Public Types inherited from etl::iunordered_map< TKey, T, THash, TKeyEqual >
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
 Defines the parameter types.
typedef mapped_type & mapped_reference
typedef const mapped_type & const_mapped_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
Protected Types inherited from etl::iunordered_map< TKey, T, THash, TKeyEqual >
typedef etl::intrusive_forward_list< node_t, link_t > bucket_t
typedef etl::ipool pool_t
Protected Member Functions inherited from etl::iunordered_map< TKey, T, THash, TKeyEqual >
 iunordered_map (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_map.
 ~iunordered_map ()
 Destructor.

Detailed Description

template<typename TKey, typename TValue, const size_t MAX_SIZE_, const size_t MAX_BUCKETS_ = MAX_SIZE_, typename THash = etl::hash<TKey>, typename TKeyEqual = etl::equal_to<TKey>>
class etl::unordered_map< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual >

A templated unordered_map implementation that uses a fixed size buffer.

Constructor & Destructor Documentation

◆ unordered_map()

template<typename TKey, typename TValue, const size_t MAX_SIZE_, const size_t MAX_BUCKETS_ = MAX_SIZE_, typename THash = etl::hash<TKey>, typename TKeyEqual = etl::equal_to<TKey>>
template<typename TIterator>
etl::unordered_map< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual >::unordered_map ( TIterator first_,
TIterator last_,
const THash & hash = THash(),
const TKeyEqual & equal = TKeyEqual() )
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: