HDK
|
#include <denseHashMap.h>
Public Types | |
typedef std::pair< const Key, Data > | value_type |
typedef Key | key_type |
typedef Data | mapped_type |
typedef _IteratorBase < value_type, typename _Vector::iterator > | iterator |
typedef _IteratorBase< const value_type, typename _Vector::const_iterator > | const_iterator |
typedef std::pair< iterator, bool > | insert_result |
Return type for insert() method. More... | |
Public Member Functions | |
TfDenseHashMap (const HashFn &hashFn=HashFn(), const EqualKey &equalKey=EqualKey()) | |
template<class Iterator > | |
TfDenseHashMap (Iterator begin, Iterator end) | |
TfDenseHashMap (std::initializer_list< value_type > l) | |
TfDenseHashMap (const TfDenseHashMap &rhs) | |
TfDenseHashMap (TfDenseHashMap &&rhs)=default | |
TfDenseHashMap & | operator= (const TfDenseHashMap &rhs) |
TfDenseHashMap & | operator= (TfDenseHashMap &&rhs)=default |
TfDenseHashMap & | operator= (std::initializer_list< value_type > l) |
bool | operator== (const TfDenseHashMap &rhs) const |
bool | operator!= (const TfDenseHashMap &rhs) const |
void | clear () |
void | swap (TfDenseHashMap &rhs) |
bool | empty () const |
size_t | size () const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
iterator | find (const key_type &k) |
const_iterator | find (const key_type &k) const |
size_t | count (const key_type &k) const |
insert_result | insert (const value_type &v) |
template<class IteratorType > | |
void | insert (IteratorType i0, IteratorType i1) |
template<class Iterator > | |
void | insert_unique (Iterator begin, Iterator end) |
Data & | operator[] (const key_type &key) |
size_t | erase (const key_type &k) |
void | erase (const iterator &iter) |
void | erase (iterator i0, iterator i1) |
void | shrink_to_fit () |
void | reserve (size_t n) |
This is a space efficient container that mimics the TfHashMap API that uses a vector for storage when the size of the map is small.
When the map gets bigger than Threshold
a TfHashMap is allocated that is used to accelerate lookup in the vector.
Definition at line 57 of file denseHashMap.h.
typedef _IteratorBase<const value_type, typename _Vector::const_iterator> TfDenseHashMap< Key, Data, HashFn, EqualKey, Threshold >::const_iterator |
An iterator type for this map. Note that it provides access to the This::value_type only.
Definition at line 244 of file denseHashMap.h.
typedef std::pair<iterator, bool> TfDenseHashMap< Key, Data, HashFn, EqualKey, Threshold >::insert_result |
Return type for insert() method.
Definition at line 247 of file denseHashMap.h.
typedef _IteratorBase<value_type, typename _Vector::iterator> TfDenseHashMap< Key, Data, HashFn, EqualKey, Threshold >::iterator |
An iterator type for this map. Note that it provides access to the This::value_type only.
Definition at line 238 of file denseHashMap.h.
typedef Key TfDenseHashMap< Key, Data, HashFn, EqualKey, Threshold >::key_type |
Definition at line 62 of file denseHashMap.h.
typedef Data TfDenseHashMap< Key, Data, HashFn, EqualKey, Threshold >::mapped_type |
Definition at line 63 of file denseHashMap.h.
typedef std::pair<const Key, Data> TfDenseHashMap< Key, Data, HashFn, EqualKey, Threshold >::value_type |
Definition at line 61 of file denseHashMap.h.
|
inlineexplicit |
Ctor.
Definition at line 253 of file denseHashMap.h.
|
inline |
Construct with range.
Definition at line 264 of file denseHashMap.h.
|
inline |
Construct from an initializer_list.
Definition at line 270 of file denseHashMap.h.
|
inline |
Copy Ctor.
Definition at line 276 of file denseHashMap.h.
|
default |
Move Ctor.
|
inline |
Returns an const_iterator pointing to the beginning of the map.
Definition at line 361 of file denseHashMap.h.
|
inline |
Returns an const_iterator pointing to the beginning of the map.
Definition at line 373 of file denseHashMap.h.
|
inline |
Erases all of the elements
Definition at line 335 of file denseHashMap.h.
|
inline |
Returns the number of elements with key k
. Which is either 0 or 1.
Definition at line 413 of file denseHashMap.h.
|
inline |
true
if the map's
size is 0.
Definition at line 349 of file denseHashMap.h.
|
inline |
Returns an const_iterator pointing to the end of the map.
Definition at line 367 of file denseHashMap.h.
|
inline |
Returns an const_iterator pointing to the end of the map.
Definition at line 379 of file denseHashMap.h.
|
inline |
Erase element with key k
. Returns the number of elements erased.
Definition at line 486 of file denseHashMap.h.
|
inline |
Erases element pointed to by iter
.
Definition at line 498 of file denseHashMap.h.
|
inline |
Erases a range from the map.
Definition at line 524 of file denseHashMap.h.
|
inline |
Finds the element with key k
.
Definition at line 385 of file denseHashMap.h.
|
inline |
Finds the element with key k
.
Definition at line 399 of file denseHashMap.h.
|
inline |
Returns a pair of <iterator, bool> where iterator points to the element in the list and bool is true if a new element was inserted.
Definition at line 420 of file denseHashMap.h.
|
inline |
Insert a range into the hash map. Note that i0
and i1
can't point into the hash map.
Definition at line 447 of file denseHashMap.h.
|
inline |
Insert a range of unique elements into the container. [begin, end) must not contain any duplicate elements.
Definition at line 464 of file denseHashMap.h.
|
inline |
Definition at line 329 of file denseHashMap.h.
|
inline |
Copy assignment operator.
Definition at line 288 of file denseHashMap.h.
|
default |
Move assignment operator.
|
inline |
Assignment from an initializer_list.
Definition at line 302 of file denseHashMap.h.
|
inline |
Equality operator.
Definition at line 310 of file denseHashMap.h.
|
inline |
Indexing operator. Inserts a default constructed DataType() for key
if there is no value for key
already.
Returns a reference to the value type for key
.
Definition at line 480 of file denseHashMap.h.
|
inline |
Reserve space.
Definition at line 568 of file denseHashMap.h.
|
inline |
Optimize storage space.
Definition at line 542 of file denseHashMap.h.
|
inline |
Returns the size of the map.
Definition at line 355 of file denseHashMap.h.
|
inline |
Swaps the contents of two maps.
Definition at line 342 of file denseHashMap.h.