nfx-containers 0.6.0
Modern C++20 header-only library providing high-performance hash containers with Robin Hood and perfect hashing
Loading...
Searching...
No Matches
nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual > Class Template Referencefinal

Generic unordered set with transparent lookup support. More...

#include <nfx/containers/TransparentHashSet.h>

Inheritance diagram for nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >:
Collaboration diagram for nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >:

Public Types

using key_type = TKey
 Type alias for key type.
using value_type = TKey
 Type alias for value type (same as key_type for sets).
using hasher = Hash
 Type alias for hasher type.
using key_equal = KeyEqual
 Type alias for key equality comparator.
using size_type = size_t
 Type alias for size type.
using difference_type = std::ptrdiff_t
 Type alias for difference type.

Detailed Description

template<typename TKey, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
class nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >

Generic unordered set with transparent lookup support.

Template Parameters
TKeyKey type (any hashable type)
HashHash functor (default: hashing::Hasher<uint32_t> for high-performance nfx hashing)
KeyEqualEquality comparator (default: std::equal_to<> for transparent lookup)
See also
hashing::Hasher for universal high-performance hashing

Definition at line 59 of file TransparentHashSet.h.

Member Typedef Documentation

◆ difference_type

template<typename TKey, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >::difference_type = std::ptrdiff_t

Type alias for difference type.

Definition at line 84 of file TransparentHashSet.h.

◆ hasher

template<typename TKey, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >::hasher = Hash

Type alias for hasher type.

Definition at line 75 of file TransparentHashSet.h.

◆ key_equal

template<typename TKey, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >::key_equal = KeyEqual

Type alias for key equality comparator.

Definition at line 78 of file TransparentHashSet.h.

◆ key_type

template<typename TKey, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >::key_type = TKey

Type alias for key type.

Definition at line 69 of file TransparentHashSet.h.

◆ size_type

template<typename TKey, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >::size_type = size_t

Type alias for size type.

Definition at line 81 of file TransparentHashSet.h.

◆ value_type

template<typename TKey, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashSet< TKey, Hash, KeyEqual >::value_type = TKey

Type alias for value type (same as key_type for sets).

Definition at line 72 of file TransparentHashSet.h.


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