|
|
| plHashSet (plAllocator *pAllocator) |
| |
|
| plHashSet (const plHashSet< KeyType, Hasher, AllocatorWrapper > &other) |
| |
|
| plHashSet (const plHashSetBase< KeyType, Hasher > &other) |
| |
|
| plHashSet (plHashSet< KeyType, Hasher, AllocatorWrapper > &&other) |
| |
|
| plHashSet (plHashSetBase< KeyType, Hasher > &&other) |
| |
|
void | operator= (const plHashSet< KeyType, Hasher, AllocatorWrapper > &rhs) |
| |
|
void | operator= (const plHashSetBase< KeyType, Hasher > &rhs) |
| |
|
void | operator= (plHashSet< KeyType, Hasher, AllocatorWrapper > &&rhs) |
| |
|
void | operator= (plHashSetBase< KeyType, Hasher > &&rhs) |
| |
|
bool | operator== (const plHashSetBase< KeyType, Hasher > &rhs) const |
| | Compares this table to another table.
|
| |
|
| PL_ADD_DEFAULT_OPERATOR_NOTEQUAL (const plHashSetBase< KeyType, Hasher > &) |
| |
|
void | Reserve (plUInt32 uiCapacity) |
| | Expands the hashset by over-allocating the internal storage so that the load factor is lower or equal to 60% when inserting the given number of entries.
|
| |
| void | Compact () |
| | Tries to compact the hashset to avoid wasting memory.
|
| |
|
plUInt32 | GetCount () const |
| | Returns the number of active entries in the table.
|
| |
|
bool | IsEmpty () const |
| | Returns true, if the hashset does not contain any elements.
|
| |
|
void | Clear () |
| | Clears the table.
|
| |
|
template<typename CompatibleKeyType > |
| bool | Insert (CompatibleKeyType &&key) |
| | Inserts the key. Returns whether the key was already existing.
|
| |
|
template<typename CompatibleKeyType > |
| bool | Remove (const CompatibleKeyType &key) |
| | Removes the entry with the given key. Returns if an entry was removed.
|
| |
|
ConstIterator | Remove (const ConstIterator &pos) |
| | Erases the key at the given Iterator. Returns an iterator to the element after the given iterator.
|
| |
|
template<typename CompatibleKeyType > |
| bool | Contains (const CompatibleKeyType &key) const |
| | Returns if an entry with given key exists in the table.
|
| |
|
bool | ContainsSet (const plHashSetBase< KeyType, Hasher > &operand) const |
| | Checks whether all keys of the given set are in the container.
|
| |
|
void | Union (const plHashSetBase< KeyType, Hasher > &operand) |
| | Makes this set the union of itself and the operand.
|
| |
|
void | Difference (const plHashSetBase< KeyType, Hasher > &operand) |
| | Makes this set the difference of itself and the operand, i.e. subtracts operand.
|
| |
|
void | Intersection (const plHashSetBase< KeyType, Hasher > &operand) |
| | Makes this set the intersection of itself and the operand.
|
| |
|
ConstIterator | GetIterator () const |
| | Returns a constant Iterator to the very first element.
|
| |
|
ConstIterator | GetEndIterator () const |
| | Returns a constant Iterator to the first element that is not part of the hashset. Needed to implement range based for loop support.
|
| |
|
plAllocator * | GetAllocator () const |
| | Returns the allocator that is used by this instance.
|
| |
|
plUInt64 | GetHeapMemoryUsage () const |
| | Returns the amount of bytes that are currently allocated on the heap.
|
| |
|
void | Swap (plHashSetBase< KeyType, Hasher > &other) |
| | Swaps this map with the other one.
|
| |
|
template<typename CompatibleKeyType > |
| ConstIterator | Find (const CompatibleKeyType &key) const |
| | Searches for key, returns a ConstIterator to it or an invalid iterator, if no such key is found. O(1) operation.
|
| |
|
template<typename CompatibleKeyType > |
| PL_FORCE_INLINE bool | Contains (const CompatibleKeyType &key) const |
| |
|
template<typename CompatibleKeyType > |
| PL_FORCE_INLINE plHashSetBase< K, H >::ConstIterator | Find (const CompatibleKeyType &key) const |
| |
|
template<typename CompatibleKeyType > |
| PL_FORCE_INLINE plUInt32 | FindEntry (const CompatibleKeyType &key) const |
| |
template<typename KeyType, typename Hasher = plHashHelper<KeyType>, typename AllocatorWrapper = plDefaultAllocatorWrapper>
class plHashSet< KeyType, Hasher, AllocatorWrapper >
- See also
- plHashSetBase