Stefan Scholz / ETL
Embed: (wiki syntax)

« Back to documentation index

unordered_multimap< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual > Class Template Reference

unordered_multimap< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual > Class Template Reference

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

#include <unordered_multimap.h>

Inherits iunordered_multimap< TKey, TValue, THash, TKeyEqual >.

Public Member Functions

 unordered_multimap ()
 Default constructor.
 unordered_multimap (const unordered_multimap &other)
 Copy constructor.
template<typename TIterator >
 unordered_multimap (TIterator first_, TIterator last_)
 Constructor, from an iterator range.
 ~unordered_multimap ()
 Destructor.
unordered_multimapoperator= (const unordered_multimap &rhs)
 Assignment operator.
iterator begin ()
 Returns an iterator to the beginning of the unordered_multimap.
const_iterator begin () const
 Returns a const_iterator to the beginning of the unordered_multimap.
local_iterator begin (size_t i)
 Returns an iterator to the beginning of the unordered_multimap bucket.
local_const_iterator begin (size_t i) const
 Returns a const_iterator to the beginning of the unordered_multimap bucket.
const_iterator cbegin () const
 Returns a const_iterator to the beginning of the unordered_multimap.
local_const_iterator cbegin (size_t i) const
 Returns a const_iterator to the beginning of the unordered_multimap bucket.
iterator end ()
 Returns an iterator to the end of the unordered_multimap.
const_iterator end () const
 Returns a const_iterator to the end of the unordered_multimap.
local_iterator end (size_t i)
 Returns an iterator to the end of the unordered_multimap bucket.
local_const_iterator end (size_t i) const
 Returns a const_iterator to the end of the unordered_multimap bucket.
const_iterator cend () const
 Returns a const_iterator to the end of the unordered_multimap.
local_const_iterator cend (size_t i) const
 Returns a const_iterator to the end of the unordered_multimap bucket.
size_type get_bucket_index (key_parameter_t key) const
 Returns the bucket index for the key.
size_type bucket_size (key_parameter_t key) const
 Returns the size of the bucket key.
size_type max_bucket_count () const
 Returns the maximum number of the buckets the container can hold.
size_type bucket_count () const
 Returns the number of the buckets the container holds.
void assign (TIterator first_, TIterator last_)
 Assigns values to the unordered_multimap.
iterator insert (const value_type &key_value_pair)
 Inserts a value to the unordered_multimap.
iterator insert (const_iterator position, const value_type &key_value_pair)
 Inserts a value to the unordered_multimap.
void insert (TIterator first_, TIterator last_)
 Inserts a range of values to the unordered_multimap.
size_t erase (key_parameter_t key)
 Erases an element.
iterator erase (const_iterator ielement)
 Erases an element.
iterator erase (const_iterator first_, const_iterator last_)
 Erases a range of elements.
void clear ()
 Clears the unordered_multimap.
size_t count (key_parameter_t key) const
 Counts an element.
iterator find (key_parameter_t key)
 Finds an element.
const_iterator find (key_parameter_t key) const
 Finds an element.
std::pair< iterator, iterator > equal_range (key_parameter_t key)
 Returns a range containing all elements with key key in the container.
std::pair< const_iterator,
const_iterator > 
equal_range (key_parameter_t key) const
 Returns a range containing all elements with key key in the container.
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.
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
 Returns the remaining capacity.
float load_factor () const
 Returns the load factor = size / bucket_count.
hasher hash_function () const
 Returns the function that hashes the keys.
key_equal key_eq () const
 Returns the function that compares the keys.

Protected Member Functions

void initialise ()
 Initialise the unordered_multimap.

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 = std::equal_to<TKey>>
class etl::unordered_multimap< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual >

A templated unordered_multimap implementation that uses a fixed size buffer.

Definition at line 1228 of file unordered_multimap.h.


Constructor & Destructor Documentation

Default constructor.

Definition at line 1242 of file unordered_multimap.h.

unordered_multimap ( const unordered_multimap< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual > &  other )

Copy constructor.

Definition at line 1251 of file unordered_multimap.h.

unordered_multimap ( TIterator  first_,
TIterator  last_ 
)

Constructor, from an iterator range.

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

Definition at line 1264 of file unordered_multimap.h.

Destructor.

Definition at line 1273 of file unordered_multimap.h.


Member Function Documentation

void assign ( TIterator  first_,
TIterator  last_ 
) [inherited]

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.

Parameters:
firstThe iterator to the first element.
lastThe iterator to the last element + 1.

Definition at line 637 of file unordered_multimap.h.

size_t available (  ) const [inherited]

Returns the remaining capacity.

Returns:
The remaining capacity.

Definition at line 1059 of file unordered_multimap.h.

iterator begin (  ) [inherited]

Returns an iterator to the beginning of the unordered_multimap.

Returns:
An iterator to the beginning of the unordered_multimap.

Definition at line 487 of file unordered_multimap.h.

local_iterator begin ( size_t  i ) [inherited]

Returns an iterator to the beginning of the unordered_multimap bucket.

Returns:
An iterator to the beginning of the unordered_multimap bucket.

Definition at line 514 of file unordered_multimap.h.

local_const_iterator begin ( size_t  i ) const [inherited]

Returns a const_iterator to the beginning of the unordered_multimap bucket.

Returns:
A const iterator to the beginning of the unordered_multimap bucket.

Definition at line 523 of file unordered_multimap.h.

const_iterator begin (  ) const [inherited]

Returns a const_iterator to the beginning of the unordered_multimap.

Returns:
A const iterator to the beginning of the unordered_multimap.

Definition at line 496 of file unordered_multimap.h.

size_type bucket_count (  ) const [inherited]

Returns the number of the buckets the container holds.

Returns:
The number of the buckets the container holds.

Definition at line 624 of file unordered_multimap.h.

size_type bucket_size ( key_parameter_t  key ) const [inherited]

Returns the size of the bucket key.

Returns:
The bucket size of the bucket key.

Definition at line 604 of file unordered_multimap.h.

const_iterator cbegin (  ) const [inherited]

Returns a const_iterator to the beginning of the unordered_multimap.

Returns:
A const iterator to the beginning of the unordered_multimap.

Definition at line 505 of file unordered_multimap.h.

local_const_iterator cbegin ( size_t  i ) const [inherited]

Returns a const_iterator to the beginning of the unordered_multimap bucket.

Returns:
A const iterator to the beginning of the unordered_multimap bucket.

Definition at line 532 of file unordered_multimap.h.

const_iterator cend (  ) const [inherited]

Returns a const_iterator to the end of the unordered_multimap.

Returns:
A const iterator to the end of the unordered_multimap.

Definition at line 559 of file unordered_multimap.h.

local_const_iterator cend ( size_t  i ) const [inherited]

Returns a const_iterator to the end of the unordered_multimap bucket.

Returns:
A const iterator to the end of the unordered_multimap bucket.

Definition at line 586 of file unordered_multimap.h.

void clear (  ) [inherited]

Clears the unordered_multimap.

Definition at line 872 of file unordered_multimap.h.

size_t count ( key_parameter_t  key ) const [inherited]

Counts an element.

Parameters:
keyThe key to search for.
Returns:
1 if the key exists, otherwise 0.

Definition at line 882 of file unordered_multimap.h.

bool empty (  ) const [inherited]

Checks to see if the unordered_multimap is empty.

Definition at line 1042 of file unordered_multimap.h.

iterator end (  ) [inherited]

Returns an iterator to the end of the unordered_multimap.

Returns:
An iterator to the end of the unordered_multimap.

Definition at line 541 of file unordered_multimap.h.

const_iterator end (  ) const [inherited]

Returns a const_iterator to the end of the unordered_multimap.

Returns:
A const iterator to the end of the unordered_multimap.

Definition at line 550 of file unordered_multimap.h.

local_iterator end ( size_t  i ) [inherited]

Returns an iterator to the end of the unordered_multimap bucket.

Returns:
An iterator to the end of the unordered_multimap bucket.

Definition at line 568 of file unordered_multimap.h.

local_const_iterator end ( size_t  i ) const [inherited]

Returns a const_iterator to the end of the unordered_multimap bucket.

Returns:
A const iterator to the end of the unordered_multimap bucket.

Definition at line 577 of file unordered_multimap.h.

std::pair<iterator, iterator> equal_range ( key_parameter_t  key ) [inherited]

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.

Parameters:
keyThe key to search for.
Returns:
An iterator pair to the range of elements if the key exists, otherwise end().

Definition at line 979 of file unordered_multimap.h.

std::pair<const_iterator, const_iterator> equal_range ( key_parameter_t  key ) const [inherited]

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.

Parameters:
keyThe key to search for.
Returns:
A const iterator pair to the range of elements if the key exists, otherwise end().

Definition at line 1005 of file unordered_multimap.h.

iterator erase ( const_iterator  ielement ) [inherited]

Erases an element.

Parameters:
ielementIterator to the element.

Definition at line 790 of file unordered_multimap.h.

size_t erase ( key_parameter_t  key ) [inherited]

Erases an element.

Parameters:
keyThe key to erase.
Returns:
The number of elements erased.

Definition at line 754 of file unordered_multimap.h.

iterator erase ( const_iterator  first_,
const_iterator  last_ 
) [inherited]

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.

Parameters:
firstIterator to the first element.
lastIterator to the last element.

Definition at line 821 of file unordered_multimap.h.

iterator find ( key_parameter_t  key ) [inherited]

Finds an element.

Parameters:
keyThe key to search for.
Returns:
An iterator to the element if the key exists, otherwise end().

Definition at line 908 of file unordered_multimap.h.

const_iterator find ( key_parameter_t  key ) const [inherited]

Finds an element.

Parameters:
keyThe key to search for.
Returns:
An iterator to the element if the key exists, otherwise end().

Definition at line 942 of file unordered_multimap.h.

bool full (  ) const [inherited]

Checks to see if the unordered_multimap is full.

Definition at line 1050 of file unordered_multimap.h.

size_type get_bucket_index ( key_parameter_t  key ) const [inherited]

Returns the bucket index for the key.

Returns:
The bucket index for the key.

Definition at line 595 of file unordered_multimap.h.

hasher hash_function (  ) const [inherited]

Returns the function that hashes the keys.

Returns:
The function that hashes the keys..

Definition at line 1077 of file unordered_multimap.h.

void initialise (  ) [protected, inherited]

Initialise the unordered_multimap.

Definition at line 1120 of file unordered_multimap.h.

iterator insert ( const value_type &  key_value_pair ) [inherited]

Inserts a value to the unordered_multimap.

If asserts or exceptions are enabled, emits unordered_multimap_full if the unordered_multimap is already full.

Parameters:
valueThe value to insert.

Definition at line 658 of file unordered_multimap.h.

iterator insert ( const_iterator  position,
const value_type &  key_value_pair 
) [inherited]

Inserts a value to the unordered_multimap.

If asserts or exceptions are enabled, emits unordered_multimap_full if the unordered_multimap is already full.

Parameters:
positionThe position to insert at.
valueThe value to insert.

Definition at line 728 of file unordered_multimap.h.

void insert ( TIterator  first_,
TIterator  last_ 
) [inherited]

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.

Parameters:
positionThe position to insert at.
firstThe first element to add.
lastThe last + 1 element to add.

Definition at line 741 of file unordered_multimap.h.

key_equal key_eq (  ) const [inherited]

Returns the function that compares the keys.

Returns:
The function that compares the keys..

Definition at line 1086 of file unordered_multimap.h.

float load_factor (  ) const [inherited]

Returns the load factor = size / bucket_count.

Returns:
The load factor = size / bucket_count.

Definition at line 1068 of file unordered_multimap.h.

size_type max_bucket_count (  ) const [inherited]

Returns the maximum number of the buckets the container can hold.

Returns:
The maximum number of the buckets the container can hold.

Definition at line 615 of file unordered_multimap.h.

size_type max_size (  ) const [inherited]

Gets the maximum possible size of the unordered_multimap.

Definition at line 1034 of file unordered_multimap.h.

unordered_multimap& operator= ( const unordered_multimap< TKey, TValue, MAX_SIZE_, MAX_BUCKETS_, THash, TKeyEqual > &  rhs )

Assignment operator.

Definition at line 1281 of file unordered_multimap.h.

size_type size (  ) const [inherited]

Gets the size of the unordered_multimap.

Definition at line 1026 of file unordered_multimap.h.