Nugget
Public Types | Public Member Functions | List of all members
eastl::string_hash_map< T, Hash, Predicate, Allocator > Class Template Reference
Inheritance diagram for eastl::string_hash_map< T, Hash, Predicate, Allocator >:
Inheritance graph
[legend]
Collaboration diagram for eastl::string_hash_map< T, Hash, Predicate, Allocator >:
Collaboration graph
[legend]

Public Types

typedef eastl::hash_map< const char *, T, Hash, Predicate, Allocator > base
 
typedef string_hash_map< T, Hash, Predicate, Allocator > this_type
 
typedef base::base_type::allocator_type allocator_type
 
typedef base::base_type::insert_return_type insert_return_type
 
typedef base::base_type::iterator iterator
 
typedef base::base_type::const_iterator const_iterator
 
typedef base::base_type::size_type size_type
 
typedef base::base_type::value_type value_type
 
typedef base::mapped_type mapped_type
 
- Public Types inherited from eastl::hash_map< const char *, T, hash< const char * >, str_equal_to< const char * >, EASTLAllocatorType >
typedef hashtable< const char *, eastl::pair< const const char *, T >, EASTLAllocatorType, eastl::use_first< eastl::pair< const const char *, T > >, str_equal_to< const char * >, hash< const char * >, mod_range_hashing, default_ranged_hash, prime_rehash_policy, false, true, true > base_type
 
typedef hash_map< const char *, T, hash< const char * >, str_equal_to< const char * >, EASTLAllocatorType, false > this_type
 
typedef base_type::size_type size_type
 
typedef base_type::key_type key_type
 
typedef T mapped_type
 
typedef base_type::value_type value_type
 
typedef base_type::allocator_type allocator_type
 
typedef base_type::node_type node_type
 
typedef base_type::insert_return_type insert_return_type
 
typedef base_type::iterator iterator
 
typedef base_type::const_iterator const_iterator
 
- Public Types inherited from eastl::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, bCacheHashCode, bMutableIterators, bUniqueKeys >
enum  { kAllocFlagBuckets = eastl::kHashtableAllocFlagBuckets }
 
typedef Key key_type
 
typedef Value value_type
 
typedef ExtractKey::result_type mapped_type
 
typedef hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, H, bCacheHashCode > hash_code_base_type
 
typedef hash_code_base_type::hash_code_t hash_code_t
 
typedef Allocator allocator_type
 
typedef Equal key_equal
 
typedef ptrdiff_t difference_type
 
typedef eastl_size_t size_type
 
typedef value_type & reference
 
typedef const value_type & const_reference
 
typedef node_iterator< value_type, !bMutableIterators, bCacheHashCode > local_iterator
 
typedef node_iterator< value_type, true, bCacheHashCode > const_local_iterator
 
typedef hashtable_iterator< value_type, !bMutableIterators, bCacheHashCode > iterator
 
typedef hashtable_iterator< value_type, true, bCacheHashCode > const_iterator
 
typedef hash_node< value_type, bCacheHashCode > node_type
 
typedef type_select< bUniqueKeys, eastl::pair< iterator, bool >, iterator >::type insert_return_type
 
typedef hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, bCacheHashCode, bMutableIterators, bUniqueKeys > this_type
 
typedef RehashPolicy rehash_policy_type
 
typedef ExtractKey extract_key_type
 
typedef H1 h1_type
 
typedef H2 h2_type
 
typedef H h_type
 
typedef integral_constant< bool, bUniqueKeys > has_unique_keys_type
 

Public Member Functions

 string_hash_map (const allocator_type &allocator=allocator_type())
 
 string_hash_map (const string_hash_map &src, const allocator_type &allocator=allocator_type())
 
void clear ()
 
void clear (bool clearBuckets)
 
this_typeoperator= (const this_type &x)
 
insert_return_type insert (const char *key, const T &value)
 
insert_return_type insert (const char *key)
 
pair< iterator, bool > insert_or_assign (const char *key, const T &value)
 
iterator erase (const_iterator position)
 
size_type erase (const char *key)
 
mapped_type & operator[] (const char *key)
 
- Public Member Functions inherited from eastl::hash_map< const char *, T, hash< const char * >, str_equal_to< const char * >, EASTLAllocatorType >
 hash_map (const allocator_type &allocator=EASTL_HASH_MAP_DEFAULT_ALLOCATOR)
 
 hash_map (size_type nBucketCount, const hash< const char * > &hashFunction=hash< const char * >(), const str_equal_to< const char * > &predicate=str_equal_to< const char * >(), const allocator_type &allocator=EASTL_HASH_MAP_DEFAULT_ALLOCATOR)
 
 hash_map (const this_type &x)
 
 hash_map (this_type &&x)
 
 hash_map (this_type &&x, const allocator_type &allocator)
 
 hash_map (std::initializer_list< value_type > ilist, size_type nBucketCount=0, const hash< const char * > &hashFunction=hash< const char * >(), const str_equal_to< const char * > &predicate=str_equal_to< const char * >(), const allocator_type &allocator=EASTL_HASH_MAP_DEFAULT_ALLOCATOR)
 
 hash_map (ForwardIterator first, ForwardIterator last, size_type nBucketCount=0, const hash< const char * > &hashFunction=hash< const char * >(), const str_equal_to< const char * > &predicate=str_equal_to< const char * >(), const allocator_type &allocator=EASTL_HASH_MAP_DEFAULT_ALLOCATOR)
 
this_typeoperator= (const this_type &x)
 
this_typeoperator= (std::initializer_list< value_type > ilist)
 
this_typeoperator= (this_type &&x)
 
insert_return_type insert (const key_type &key)
 
insert_return_type insert (key_type &&key)
 
insert_return_type insert (const value_type &value)
 
insert_return_type insert (value_type &&otherValue)
 
iterator insert (const_iterator hint, const value_type &value)
 
iterator insert (const_iterator hint, value_type &&value)
 
void insert (std::initializer_list< value_type > ilist)
 
void insert (InputIterator first, InputIterator last)
 
insert_return_type insert (P &&otherValue)
 
insert_return_type insert (hash_code_t c, node_type *pNodeNew, P &&otherValue)
 
insert_return_type insert (hash_code_t c, node_type *pNodeNew, const value_type &value)
 
T & at (const key_type &k)
 
const T & at (const key_type &k) const
 
mapped_type & operator[] (const key_type &key)
 
mapped_type & operator[] (key_type &&key)
 
- Public Member Functions inherited from eastl::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, bCacheHashCode, bMutableIterators, bUniqueKeys >
 hashtable (size_type nBucketCount, const H1 &, const H2 &, const H &, const Equal &, const ExtractKey &, const allocator_type &allocator=EASTL_HASHTABLE_DEFAULT_ALLOCATOR)
 
template<typename FowardIterator >
 hashtable (FowardIterator first, FowardIterator last, size_type nBucketCount, const H1 &, const H2 &, const H &, const Equal &, const ExtractKey &, const allocator_type &allocator=EASTL_HASHTABLE_DEFAULT_ALLOCATOR)
 
 hashtable (const hashtable &x)
 
 hashtable (this_type &&x)
 
 hashtable (this_type &&x, const allocator_type &allocator)
 
const allocator_type & get_allocator () const EA_NOEXCEPT
 
allocator_type & get_allocator () EA_NOEXCEPT
 
void set_allocator (const allocator_type &allocator)
 
this_typeoperator= (const this_type &x)
 
this_typeoperator= (std::initializer_list< value_type > ilist)
 
this_typeoperator= (this_type &&x)
 
void swap (this_type &x)
 
iterator begin () EA_NOEXCEPT
 
const_iterator begin () const EA_NOEXCEPT
 
const_iterator cbegin () const EA_NOEXCEPT
 
iterator end () EA_NOEXCEPT
 
const_iterator end () const EA_NOEXCEPT
 
const_iterator cend () const EA_NOEXCEPT
 
local_iterator begin (size_type n) EA_NOEXCEPT
 
const_local_iterator begin (size_type n) const EA_NOEXCEPT
 
const_local_iterator cbegin (size_type n) const EA_NOEXCEPT
 
local_iterator end (size_type) EA_NOEXCEPT
 
const_local_iterator end (size_type) const EA_NOEXCEPT
 
const_local_iterator cend (size_type) const EA_NOEXCEPT
 
bool empty () const EA_NOEXCEPT
 
size_type size () const EA_NOEXCEPT
 
size_type bucket_count () const EA_NOEXCEPT
 
size_type bucket_size (size_type n) const EA_NOEXCEPT
 
float load_factor () const EA_NOEXCEPT
 
const rehash_policy_type & rehash_policy () const EA_NOEXCEPT
 
void rehash_policy (const rehash_policy_type &rehashPolicy)
 
template<class... Args>
insert_return_type emplace (Args &&... args)
 
template<class... Args>
iterator emplace_hint (const_iterator position, Args &&... args)
 
template<class... Args>
insert_return_type try_emplace (const key_type &k, Args &&... args)
 
template<class... Args>
insert_return_type try_emplace (key_type &&k, Args &&... args)
 
template<class... Args>
iterator try_emplace (const_iterator position, const key_type &k, Args &&... args)
 
template<class... Args>
iterator try_emplace (const_iterator position, key_type &&k, Args &&... args)
 
insert_return_type insert (const value_type &value)
 
insert_return_type insert (value_type &&otherValue)
 
iterator insert (const_iterator hint, const value_type &value)
 
iterator insert (const_iterator hint, value_type &&value)
 
void insert (std::initializer_list< value_type > ilist)
 
template<typename InputIterator >
void insert (InputIterator first, InputIterator last)
 
template<class P , class = typename eastl::enable_if_t< !eastl::is_literal_type_v<P> && eastl::is_constructible_v<value_type, P&&>>>
insert_return_type insert (P &&otherValue)
 
template<class P >
insert_return_type insert (hash_code_t c, node_type *pNodeNew, P &&otherValue)
 
insert_return_type insert (hash_code_t c, node_type *pNodeNew, const value_type &value)
 
template<class M >
eastl::pair< iterator, bool > insert_or_assign (const key_type &k, M &&obj)
 
template<class M >
eastl::pair< iterator, bool > insert_or_assign (key_type &&k, M &&obj)
 
template<class M >
iterator insert_or_assign (const_iterator hint, const key_type &k, M &&obj)
 
template<class M >
iterator insert_or_assign (const_iterator hint, key_type &&k, M &&obj)
 
node_typeallocate_uninitialized_node ()
 
void free_uninitialized_node (node_type *pNode)
 
iterator erase (const_iterator position)
 
iterator erase (const_iterator first, const_iterator last)
 
size_type erase (const key_type &k)
 
void clear ()
 
void clear (bool clearBuckets)
 
void reset_lose_memory () EA_NOEXCEPT
 
void rehash (size_type nBucketCount)
 
void reserve (size_type nElementCount)
 
iterator find (const key_type &key)
 
const_iterator find (const key_type &key) const
 
template<typename U , typename UHash , typename BinaryPredicate >
iterator find_as (const U &u, UHash uhash, BinaryPredicate predicate)
 
template<typename U , typename UHash , typename BinaryPredicate >
const_iterator find_as (const U &u, UHash uhash, BinaryPredicate predicate) const
 
template<typename U >
iterator find_as (const U &u)
 
template<typename U >
const_iterator find_as (const U &u) const
 
template<typename HashCodeT >
 ENABLE_IF_HASHCODE_EASTLSIZET (HashCodeT, iterator) find_by_hash(HashCodeT c)
 
template<typename HashCodeT >
 ENABLE_IF_HASHCODE_EASTLSIZET (HashCodeT, const_iterator) find_by_hash(HashCodeT c) const
 
iterator find_by_hash (const key_type &k, hash_code_t c)
 
const_iterator find_by_hash (const key_type &k, hash_code_t c) const
 
eastl::pair< iterator, iteratorfind_range_by_hash (hash_code_t c)
 
eastl::pair< const_iterator, const_iteratorfind_range_by_hash (hash_code_t c) const
 
size_type count (const key_type &k) const EA_NOEXCEPT
 
eastl::pair< iterator, iteratorequal_range (const key_type &k)
 
eastl::pair< const_iterator, const_iteratorequal_range (const key_type &k) const
 
bool validate () const
 
int validate_iterator (const_iterator i) const
 
template<typename FowardIterator >
 hashtable (FowardIterator first, FowardIterator last, size_type nBucketCount, const H1 &h1, const H2 &h2, const H &h, const Eq &eq, const EK &ek, const allocator_type &allocator)
 
template<typename BoolConstantT , class... Args, ENABLE_IF_TRUETYPE(BoolConstantT) >
eastl::pair< typename hashtable< K, V, A, EK, Eq, H1, H2, H, RP, bC, bM, bU >::iterator, bool > DoInsertValue (BoolConstantT, Args &&... args)
 
template<typename BoolConstantT >
eastl::pair< typename hashtable< K, V, A, EK, Eq, H1, H2, H, RP, bC, bM, bU >::iterator, bool > DoInsertValueExtra (BoolConstantT, const key_type &k, hash_code_t c, node_type *pNodeNew, value_type &&value, ENABLE_IF_TRUETYPE(BoolConstantT))
 
template<typename BoolConstantT >
eastl::pair< typename hashtable< K, V, A, EK, Eq, H1, H2, H, RP, bC, bM, bU >::iterator, bool > DoInsertValue (BoolConstantT, value_type &&value, ENABLE_IF_TRUETYPE(BoolConstantT))
 
template<typename BoolConstantT >
eastl::pair< typename hashtable< K, V, A, EK, Eq, H1, H2, H, RP, bC, bM, bU >::iterator, bool > DoInsertValueExtra (BoolConstantT, const key_type &k, hash_code_t c, node_type *pNodeNew, const value_type &value, ENABLE_IF_TRUETYPE(BoolConstantT))
 
template<typename BoolConstantT >
eastl::pair< typename hashtable< K, V, A, EK, Eq, H1, H2, H, RP, bC, bM, bU >::iterator, bool > DoInsertValue (BoolConstantT, const value_type &value, ENABLE_IF_TRUETYPE(BoolConstantT))
 
template<class M >
eastl::pair< typename hashtable< K, V, A, EK, Eq, H1, H2, H, RP, bC, bM, bU >::iterator, bool > insert_or_assign (const key_type &k, M &&obj)
 
template<class M >
eastl::pair< typename hashtable< K, V, A, EK, Eq, H1, H2, H, RP, bC, bM, bU >::iterator, bool > insert_or_assign (key_type &&k, M &&obj)
 

Additional Inherited Members

- Static Public Attributes inherited from eastl::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, bCacheHashCode, bMutableIterators, bUniqueKeys >
static const bool kCacheHashCode = bCacheHashCode
 
- Protected Member Functions inherited from eastl::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, bCacheHashCode, bMutableIterators, bUniqueKeys >
template<typename BoolConstantT >
iterator DoGetResultIterator (BoolConstantT, const insert_return_type &irt, ENABLE_IF_TRUETYPE(BoolConstantT)=nullptr) const EA_NOEXCEPT
 
template<typename BoolConstantT >
iterator DoGetResultIterator (BoolConstantT, const insert_return_type &irt, DISABLE_IF_TRUETYPE(BoolConstantT)=nullptr) const EA_NOEXCEPT
 
node_typeDoAllocateNodeFromKey (const key_type &key)
 
node_typeDoAllocateNodeFromKey (key_type &&key)
 
void DoFreeNode (node_type *pNode)
 
void DoFreeNodes (node_type **pBucketArray, size_type)
 
node_type ** DoAllocateBuckets (size_type n)
 
void DoFreeBuckets (node_type **pBucketArray, size_type n)
 
template<typename BoolConstantT , class... Args, ENABLE_IF_TRUETYPE(BoolConstantT) = nullptr>
eastl::pair< iterator, bool > DoInsertValue (BoolConstantT, Args &&... args)
 
template<typename BoolConstantT , class... Args, DISABLE_IF_TRUETYPE(BoolConstantT) = nullptr>
iterator DoInsertValue (BoolConstantT, Args &&... args)
 
template<typename BoolConstantT >
eastl::pair< iterator, bool > DoInsertValueExtra (BoolConstantT, const key_type &k, hash_code_t c, node_type *pNodeNew, value_type &&value, ENABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<typename BoolConstantT >
eastl::pair< iterator, bool > DoInsertValue (BoolConstantT, value_type &&value, ENABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<typename BoolConstantT >
iterator DoInsertValueExtra (BoolConstantT, const key_type &k, hash_code_t c, node_type *pNodeNew, value_type &&value, DISABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<typename BoolConstantT >
iterator DoInsertValue (BoolConstantT, value_type &&value, DISABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<typename BoolConstantT >
eastl::pair< iterator, bool > DoInsertValueExtra (BoolConstantT, const key_type &k, hash_code_t c, node_type *pNodeNew, const value_type &value, ENABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<typename BoolConstantT >
eastl::pair< iterator, bool > DoInsertValue (BoolConstantT, const value_type &value, ENABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<typename BoolConstantT >
iterator DoInsertValueExtra (BoolConstantT, const key_type &k, hash_code_t c, node_type *pNodeNew, const value_type &value, DISABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<typename BoolConstantT >
iterator DoInsertValue (BoolConstantT, const value_type &value, DISABLE_IF_TRUETYPE(BoolConstantT)=nullptr)
 
template<class... Args>
node_typeDoAllocateNode (Args &&... args)
 
node_typeDoAllocateNode (value_type &&value)
 
node_typeDoAllocateNode (const value_type &value)
 
eastl::pair< iterator, bool > DoInsertKey (true_type, const key_type &key, hash_code_t c)
 
iterator DoInsertKey (false_type, const key_type &key, hash_code_t c)
 
eastl::pair< iterator, bool > DoInsertKey (true_type, key_type &&key, hash_code_t c)
 
iterator DoInsertKey (false_type, key_type &&key, hash_code_t c)
 
eastl::pair< iterator, bool > DoInsertKey (true_type, const key_type &key)
 
iterator DoInsertKey (false_type, const key_type &key)
 
eastl::pair< iterator, bool > DoInsertKey (true_type, key_type &&key)
 
iterator DoInsertKey (false_type, key_type &&key)
 
void DoRehash (size_type nBucketCount)
 
node_typeDoFindNode (node_type *pNode, const key_type &k, hash_code_t c) const
 
template<typename T >
 ENABLE_IF_HAS_HASHCODE (T, node_type) DoFindNode(T *pNode
 
template<typename U , typename BinaryPredicate >
node_typeDoFindNodeT (node_type *pNode, const U &u, BinaryPredicate predicate) const
 
- Protected Attributes inherited from eastl::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, bCacheHashCode, bMutableIterators, bUniqueKeys >
node_type ** mpBucketArray
 
size_type mnBucketCount
 
size_type mnElementCount
 
RehashPolicy mRehashPolicy
 
allocator_type mAllocator
 
hash_code_t c const
 

The documentation for this class was generated from the following file: