CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::FlatHashMap< K, V, H, E, A > Class Template Reference

#include <CeresEngine/Foundation/Container/FlatHashMap.hpp>

Inheritance diagram for CeresEngine::FlatHashMap< K, V, H, E, A >:

Classes

struct  convertible_to_value
 

Public Types

using key_type = K
 
using mapped_type = V
 

Public Member Functions

 FlatHashMap ()
 
Voperator[] (const K &key)
 
Voperator[] (K &&key)
 
Vat (const K &key)
 
const Vat (const K &key) const
 
Pair< typename Table::iterator, boolemplace ()
 
template<typename M >
Pair< typename Table::iterator, boolinsert_or_assign (const key_type &key, M &&m)
 
template<typename M >
Pair< typename Table::iterator, boolinsert_or_assign (key_type &&key, M &&m)
 
template<typename M >
Table::iterator insert_or_assign (typename Table::const_iterator, const key_type &key, M &&m)
 
template<typename M >
Table::iterator insert_or_assign (typename Table::const_iterator, key_type &&key, M &&m)
 
template<typename Key , typename... Args>
Pair< iterator, boolemplace (Key &&key, Args &&... args)
 

Private Types

using Table = detailv3::SherwoodV3Table< Pair< K, V >, K, H, detailv3::KeyOrValueHasher< K, Pair< K, V >, H >, E, detailv3::KeyOrValueEquality< K, Pair< K, V >, E >, A, typename std::allocator_traits< A >::template rebind_alloc< detailv3::SherwoodV3Entry< Pair< K, V > > > >
 

Friends

bool operator== (const FlatHashMap &lhs, const FlatHashMap &rhs)
 
bool operator!= (const FlatHashMap &lhs, const FlatHashMap &rhs)
 

Member Typedef Documentation

◆ key_type

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
using CeresEngine::FlatHashMap< K, V, H, E, A >::key_type = K

◆ mapped_type

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
using CeresEngine::FlatHashMap< K, V, H, E, A >::mapped_type = V

◆ Table

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
using CeresEngine::FlatHashMap< K, V, H, E, A >::Table = detailv3::SherwoodV3Table<Pair<K, V>, K, H, detailv3::KeyOrValueHasher<K, Pair<K, V>, H>, E, detailv3::KeyOrValueEquality<K, Pair<K, V>, E>, A, typename std::allocator_traits<A>::template rebind_alloc<detailv3::SherwoodV3Entry<Pair<K, V> >> >
private

Constructor & Destructor Documentation

◆ FlatHashMap()

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
CeresEngine::FlatHashMap< K, V, H, E, A >::FlatHashMap ( )
inline

Member Function Documentation

◆ at() [1/2]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
V & CeresEngine::FlatHashMap< K, V, H, E, A >::at ( const K key)
inline

◆ at() [2/2]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
const V & CeresEngine::FlatHashMap< K, V, H, E, A >::at ( const K key) const
inline

◆ emplace() [1/2]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
Pair< typename Table::iterator, bool > CeresEngine::FlatHashMap< K, V, H, E, A >::emplace ( )
inline

◆ emplace() [2/2]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
template<typename Key , typename... Args>
Pair< iterator, bool > CeresEngine::detailv3::SherwoodV3Table< T, FindKey, ArgumentHash, Hasher, ArgumentEqual, Equal, ArgumentAlloc, EntryAlloc >::emplace ( Key &&  key,
Args &&...  args 
)
inline

◆ insert_or_assign() [1/4]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
template<typename M >
Pair< typename Table::iterator, bool > CeresEngine::FlatHashMap< K, V, H, E, A >::insert_or_assign ( const key_type key,
M &&  m 
)
inline

◆ insert_or_assign() [2/4]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
template<typename M >
Pair< typename Table::iterator, bool > CeresEngine::FlatHashMap< K, V, H, E, A >::insert_or_assign ( key_type &&  key,
M &&  m 
)
inline

◆ insert_or_assign() [3/4]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
template<typename M >
Table::iterator CeresEngine::FlatHashMap< K, V, H, E, A >::insert_or_assign ( typename Table::const_iterator  ,
const key_type key,
M &&  m 
)
inline

◆ insert_or_assign() [4/4]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
template<typename M >
Table::iterator CeresEngine::FlatHashMap< K, V, H, E, A >::insert_or_assign ( typename Table::const_iterator  ,
key_type &&  key,
M &&  m 
)
inline

◆ operator[]() [1/2]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
V & CeresEngine::FlatHashMap< K, V, H, E, A >::operator[] ( const K key)
inline

◆ operator[]() [2/2]

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
V & CeresEngine::FlatHashMap< K, V, H, E, A >::operator[] ( K &&  key)
inline

Friends And Related Symbol Documentation

◆ operator!=

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
bool operator!= ( const FlatHashMap< K, V, H, E, A > &  lhs,
const FlatHashMap< K, V, H, E, A > &  rhs 
)
friend

◆ operator==

template<typename K , typename V , typename H = std::hash<K>, typename E = std::equal_to<>, typename A = std::allocator<Pair<K, V>>>
bool operator== ( const FlatHashMap< K, V, H, E, A > &  lhs,
const FlatHashMap< K, V, H, E, A > &  rhs 
)
friend

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