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::TransparentHashMap< TKey, TValue, Hash, KeyEqual > Class Template Referencefinal

Generic unordered map with transparent lookup. More...

#include <nfx/containers/TransparentHashMap.h>

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

Public Types

using key_type = TKey
 Type alias for key type.
using mapped_type = TValue
 Type alias for mapped value type.
using value_type = std::pair<const TKey, TValue>
 Type alias for value type (pair<const Key, Value>).
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 TValue, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
class nfx::containers::TransparentHashMap< TKey, TValue, Hash, KeyEqual >

Generic unordered map with transparent lookup.

Template Parameters
TKeyKey type
TValueMapped value type
HashHash functor type (default: hashing::Hasher<uint32_t>)
KeyEqualKey equality comparator (default: std::equal_to<> for transparent comparison)

Definition at line 60 of file TransparentHashMap.h.

Member Typedef Documentation

◆ difference_type

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

Type alias for difference type.

Definition at line 88 of file TransparentHashMap.h.

◆ hasher

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

Type alias for hasher type.

Definition at line 79 of file TransparentHashMap.h.

◆ key_equal

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

Type alias for key equality comparator.

Definition at line 82 of file TransparentHashMap.h.

◆ key_type

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

Type alias for key type.

Definition at line 70 of file TransparentHashMap.h.

◆ mapped_type

template<typename TKey, typename TValue, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashMap< TKey, TValue, Hash, KeyEqual >::mapped_type = TValue

Type alias for mapped value type.

Definition at line 73 of file TransparentHashMap.h.

◆ size_type

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

Type alias for size type.

Definition at line 85 of file TransparentHashMap.h.

◆ value_type

template<typename TKey, typename TValue, typename Hash = hashing::Hasher<uint32_t>, typename KeyEqual = std::equal_to<>>
using nfx::containers::TransparentHashMap< TKey, TValue, Hash, KeyEqual >::value_type = std::pair<const TKey, TValue>

Type alias for value type (pair<const Key, Value>).

Definition at line 76 of file TransparentHashMap.h.


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