Nugget
Public Types | Public Member Functions | List of all members
eastl::intrusive_hash_set< T, bucketCount, Hash, Equal > Class Template Reference

#include <intrusive_hash_set.h>

Inheritance diagram for eastl::intrusive_hash_set< T, bucketCount, Hash, Equal >:
Inheritance graph
[legend]
Collaboration diagram for eastl::intrusive_hash_set< T, bucketCount, Hash, Equal >:
Collaboration graph
[legend]

Public Types

typedef intrusive_hashtable< T, T, Hash, Equal, bucketCount, true, true > base_type
 
typedef intrusive_hash_set< T, bucketCount, Hash, Equal > this_type
 
- Public Types inherited from eastl::intrusive_hashtable< T, T, eastl::hash< T >, eastl::equal_to< T >, bucketCount, true, true >
enum  
 
typedef intrusive_hashtable< T, T, eastl::hash< T >, eastl::equal_to< T >, bucketCount, bConstIterators, bUniqueKeys > this_type
 
typedef T key_type
 
typedef T value_type
 
typedef T mapped_type
 
typedef T node_type
 
typedef uint32_t hash_code_t
 
typedef eastl::equal_to< T > 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_set (const Hash &h=Hash(), const Equal &eq=Equal())
 
- Public Member Functions inherited from eastl::intrusive_hashtable< T, T, eastl::hash< T >, eastl::equal_to< T >, bucketCount, true, true >
 intrusive_hashtable (const eastl::hash< T > &, const eastl::equal_to< T > &)
 
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, 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
 
eastl::hash< T > hash_function () const
 
eastl::equal_to< T > equal_function () const
 
const key_equalkey_eq () const
 
key_equalkey_eq ()
 

Additional Inherited Members

- Protected Member Functions inherited from eastl::intrusive_hashtable< T, T, eastl::hash< T >, eastl::equal_to< T >, bucketCount, true, true >
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< T, T, eastl::hash< T >, eastl::equal_to< T >, bucketCount, true, true >
node_type * mBucketArray [kBucketCount+1]
 
size_type mnElementCount
 
eastl::hash< T > mHash
 
eastl::equal_to< T > mEqual
 

Detailed Description

template<typename T, size_t bucketCount, typename Hash = eastl::hash<T>, typename Equal = eastl::equal_to<T>>
class eastl::intrusive_hash_set< T, bucketCount, Hash, Equal >

intrusive_hash_set

Template parameters: T The type of object the set 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.


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