Urho3D::HashSet< T > Class Template Reference
Classes |
Public Member Functions |
Private Member Functions |
Static Private Member Functions |
List of all members
Urho3D::HashSet< T > Class Template Reference
Hash set template class. More...
#include <Urho3D/Container/HashSet.h>
Inheritance diagram for Urho3D::HashSet< T >:
Collaboration diagram for Urho3D::HashSet< T >:
Classes | |
struct | ConstIterator |
Hash set node const iterator. More... | |
struct | Iterator |
Hash set node iterator. More... | |
struct | Node |
Hash set node. More... | |
Public Member Functions | |
HashSet () | |
Construct empty. | |
HashSet (const HashSet< T > &set) | |
Construct from another hash set. | |
HashSet (HashSet< T > &&set) noexcept | |
Move-construct from another hash set. | |
HashSet (const std::initializer_list< T > &list) | |
Aggregate initialization constructor. | |
~HashSet () | |
Destruct. | |
HashSet & | operator= (const HashSet< T > &rhs) |
Assign a hash set. | |
HashSet & | operator= (HashSet< T > &&rhs) noexcept |
Move-assign a hash set. | |
HashSet & | operator+= (const T &rhs) |
Add-assign a value. | |
HashSet & | operator+= (const HashSet< T > &rhs) |
Add-assign a hash set. | |
bool | operator== (const HashSet< T > &rhs) const |
Test for equality with another hash set. | |
bool | operator!= (const HashSet< T > &rhs) const |
Test for inequality with another hash set. | |
Iterator | Insert (const T &key) |
Insert a key. Return an iterator to it. | |
Iterator | Insert (const T &key, bool &exists) |
Insert a key. Return an iterator and set exists flag according to whether the key already existed. | |
void | Insert (const HashSet< T > &set) |
Insert a set. | |
Iterator | Insert (const ConstIterator &it) |
Insert a key by iterator. Return iterator to the value. | |
bool | Erase (const T &key) |
Erase a key. Return true if was found. | |
Iterator | Erase (const Iterator &it) |
Erase a key by iterator. Return iterator to the next key. | |
void | Clear () |
Clear the set. | |
void | Sort () |
Sort keys. After sorting the set can be iterated in order until new elements are inserted. | |
bool | Rehash (unsigned numBuckets) |
Rehash to a specific bucket count, which must be a power of two. Return true if successful. | |
Iterator | Find (const T &key) |
Return iterator to the key, or end iterator if not found. | |
ConstIterator | Find (const T &key) const |
Return const iterator to the key, or end iterator if not found. | |
bool | Contains (const T &key) const |
Return whether contains a key. | |
Iterator | Begin () |
Return iterator to the beginning. | |
ConstIterator | Begin () const |
Return iterator to the beginning. | |
Iterator | End () |
Return iterator to the end. | |
ConstIterator | End () const |
Return iterator to the end. | |
const T & | Front () const |
Return first key. | |
const T & | Back () const |
Return last key. | |
Public Member Functions inherited from Urho3D::HashBase | |
HashBase () | |
Construct. | |
void | Swap (HashBase &rhs) |
Swap with another hash set or map. | |
unsigned | Size () const |
Return number of elements. | |
unsigned | NumBuckets () const |
Return number of buckets. | |
bool | Empty () const |
Return whether has no elements. | |
Private Member Functions | |
Node * | Head () const |
Return the head node. | |
Node * | Tail () const |
Return the tail node. | |
Node * | FindNode (const T &key, unsigned hashKey) const |
Find a node from the buckets. Do not call if the buckets have not been allocated. | |
Node * | FindNode (const T &key, unsigned hashKey, Node *&previous) const |
Find a node and the previous node from the buckets. Do not call if the buckets have not been allocated. | |
Node * | InsertNode (Node *dest, const T &key) |
Insert a node into the list. Return the new node. | |
Node * | EraseNode (Node *node) |
Erase a node from the list. Return pointer to the next element, or to the end if could not erase. | |
Node * | ReserveNode () |
Reserve a node. | |
Node * | ReserveNode (const T &key) |
Reserve a node with specified key. | |
void | FreeNode (Node *node) |
Free a node. | |
void | Rehash () |
Rehash the buckets. | |
unsigned | Hash (const T &key) const |
Compute a hash based on the key and the bucket size. | |
Static Private Member Functions | |
static bool | CompareNodes (Node *&lhs, Node *&rhs) |
Compare two nodes. | |
Additional Inherited Members | |
Static Public Attributes inherited from Urho3D::HashBase | |
static const unsigned | MIN_BUCKETS = 8 |
Initial amount of buckets. | |
static const unsigned | MAX_LOAD_FACTOR = 4 |
Maximum load factor. | |
Protected Member Functions inherited from Urho3D::HashBase | |
void | AllocateBuckets (unsigned size, unsigned numBuckets) |
Allocate bucket head pointers + room for size and bucket count variables. | |
void | ResetPtrs () |
Reset bucket head pointers. | |
void | SetSize (unsigned size) |
Set new size. | |
HashNodeBase ** | Ptrs () const |
Return bucket head pointers. | |
Protected Attributes inherited from Urho3D::HashBase | |
HashNodeBase * | head_ |
List head node pointer. | |
HashNodeBase * | tail_ |
List tail node pointer. | |
HashNodeBase ** | ptrs_ |
Bucket head pointers. | |
AllocatorBlock * | allocator_ |
Node allocator. | |
Detailed Description
template<class T>
class Urho3D::HashSet< T >
Hash set template class.
The documentation for this class was generated from the following file:
- Source/Urho3D/Container/HashSet.h