Nugget
|
#include <intrusive_hash_map.h>
Public Types | |
typedef intrusive_hashtable< Key, T, Hash, Equal, bucketCount, false, false > | base_type |
typedef intrusive_hash_multimap< Key, T, bucketCount, Hash, Equal > | this_type |
Public Types inherited from eastl::intrusive_hashtable< Key, T, eastl::hash< Key >, eastl::equal_to< Key >, bucketCount, false, false > | |
enum | |
typedef intrusive_hashtable< Key, T, eastl::hash< Key >, eastl::equal_to< Key >, bucketCount, bConstIterators, bUniqueKeys > | this_type |
typedef Key | key_type |
typedef T | value_type |
typedef T | mapped_type |
typedef T | node_type |
typedef uint32_t | hash_code_t |
typedef eastl::equal_to< Key > | key_equal |
typedef ptrdiff_t | difference_type |
typedef eastl_size_t | size_type |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef intrusive_node_iterator< value_type, bConstIterators > | local_iterator |
typedef intrusive_node_iterator< value_type, true > | const_local_iterator |
typedef intrusive_hashtable_iterator< value_type, bConstIterators > | iterator |
typedef intrusive_hashtable_iterator< value_type, true > | const_iterator |
typedef type_select< bUniqueKeys, pair< iterator, bool >, iterator >::type | insert_return_type |
typedef type_select< bConstIterators, eastl::use_self< T >, eastl::use_intrusive_key< T, key_type > >::type | extract_key |
Public Member Functions | |
intrusive_hash_multimap (const Hash &h=Hash(), const Equal &eq=Equal()) | |
Public Member Functions inherited from eastl::intrusive_hashtable< Key, T, eastl::hash< Key >, eastl::equal_to< Key >, bucketCount, false, false > | |
intrusive_hashtable (const eastl::hash< Key > &, const eastl::equal_to< Key > &) | |
void | swap (this_type &x) |
iterator | begin () EA_NOEXCEPT |
const_iterator | begin () const EA_NOEXCEPT |
local_iterator | begin (size_type n) EA_NOEXCEPT |
const_local_iterator | begin (size_type n) const EA_NOEXCEPT |
const_iterator | cbegin () const EA_NOEXCEPT |
const_local_iterator | cbegin (size_type n) const EA_NOEXCEPT |
iterator | end () EA_NOEXCEPT |
const_iterator | end () const EA_NOEXCEPT |
local_iterator | end (size_type) EA_NOEXCEPT |
const_local_iterator | end (size_type) const EA_NOEXCEPT |
const_iterator | cend () const EA_NOEXCEPT |
const_local_iterator | cend (size_type) const EA_NOEXCEPT |
size_type | size () const EA_NOEXCEPT |
bool | empty () const EA_NOEXCEPT |
size_type | bucket_count () const EA_NOEXCEPT |
size_type | bucket_size (size_type n) const EA_NOEXCEPT |
size_type | bucket (const key_type &k) const EA_NOEXCEPT |
float | load_factor () const EA_NOEXCEPT |
insert_return_type | insert (value_type &value) |
insert_return_type | insert (const_iterator, value_type &value) |
void | insert (InputIterator first, InputIterator last) |
iterator | erase (const_iterator position) |
iterator | erase (const_iterator first, const_iterator last) |
size_type | erase (const key_type &k) |
iterator | remove (value_type &value) |
void | clear () |
iterator | find (const key_type &k) |
const_iterator | find (const key_type &k) const |
iterator | find_as (const U &u, UHash uhash, BinaryPredicate predicate) |
const_iterator | find_as (const U &u, UHash uhash, BinaryPredicate predicate) const |
iterator | find_as (const U &u) |
const_iterator | find_as (const U &u) const |
size_type | count (const key_type &k) const |
eastl::pair< iterator, iterator > | equal_range (const key_type &k) |
eastl::pair< const_iterator, const_iterator > | equal_range (const key_type &k) const |
bool | validate () const |
int | validate_iterator (const_iterator i) const |
eastl::hash< Key > | hash_function () const |
eastl::equal_to< Key > | equal_function () const |
const key_equal & | key_eq () const |
key_equal & | key_eq () |
Additional Inherited Members | |
Protected Member Functions inherited from eastl::intrusive_hashtable< Key, T, eastl::hash< Key >, eastl::equal_to< Key >, bucketCount, false, false > | |
eastl::pair< iterator, bool > | DoInsertValue (value_type &, true_type) |
iterator | DoInsertValue (value_type &, false_type) |
node_type * | DoFindNode (node_type *pNode, const key_type &k) const |
node_type * | DoFindNode (node_type *pNode, const U &u, BinaryPredicate predicate) const |
Protected Attributes inherited from eastl::intrusive_hashtable< Key, T, eastl::hash< Key >, eastl::equal_to< Key >, bucketCount, false, false > | |
node_type * | mBucketArray [kBucketCount+1] |
size_type | mnElementCount |
eastl::hash< Key > | mHash |
eastl::equal_to< Key > | mEqual |
Implements a intrusive_hash_multimap, which is the same thing as a intrusive_hash_map except that contained elements need not be unique. See the documentation for intrusive_hash_map for details.
Template parameters: Key The key object (key in the key/value pair). T must contain a member of type Key named mKey. T The type of object the map holds (a.k.a. value). bucketCount The number of buckets to use. Best if it's a prime number. Hash Hash function. See functional.h for examples of hash functions. Equal Equality testing predicate; tells if two elements are equal.