HashMapEntryBase< K, V, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::VALUE > Class Template Reference

#include <hashmap.h>

Public Types

using EntryHandler = ENTRY_HANDLER
 
using HashValueType = typename ENTRY_HANDLER::HashValueType
 

Public Member Functions

V & GetValue ()
 
const V & GetValue () const
 
V & GetSecond ()
 
const V & GetSecond () const
 
void SetValue (const V &value)
 
void SetValue (V &&value)
 
void ResetValue ()
 
decltype(ENTRY_HANDLER::GetKeyHashCode(std::declval< V >())) GetKeyHashCode () const
 
Int GetMemorySize () const
 
 HashMapEntryBase (HashValueType hash)
 
 HashMapEntryBase (HashValueType hash, const K &key)
 
 HashMapEntryBase (HashValueType hash, K &&key)
 
template<typename A >
 HashMapEntryBase (HashValueType hash, const K &key, A &&value)
 
template<typename A >
 HashMapEntryBase (HashValueType hash, K &&key, A &&value)
 

Public Attributes

decltype(ENTRY_HANDLER::GetKey(*(V *) nullptr) GetKey )() const
 
decltype(ENTRY_HANDLER::GetKey(*(V *) nullptr) GetFirst )() const
 

Protected Member Functions

 MAXON_DISALLOW_COPY_AND_ASSIGN (HashMapEntryBase)
 

Protected Attributes

HashMapEntryBase_next
 
_value
 

Member Typedef Documentation

◆ EntryHandler

using EntryHandler = ENTRY_HANDLER

◆ HashValueType

using HashValueType = typename ENTRY_HANDLER::HashValueType

Constructor & Destructor Documentation

◆ HashMapEntryBase() [1/5]

HashMapEntryBase ( HashValueType  hash)
explicit

◆ HashMapEntryBase() [2/5]

HashMapEntryBase ( HashValueType  hash,
const K &  key 
)

◆ HashMapEntryBase() [3/5]

HashMapEntryBase ( HashValueType  hash,
K &&  key 
)

◆ HashMapEntryBase() [4/5]

HashMapEntryBase ( HashValueType  hash,
const K &  key,
A &&  value 
)

◆ HashMapEntryBase() [5/5]

HashMapEntryBase ( HashValueType  hash,
K &&  key,
A &&  value 
)

Member Function Documentation

◆ GetValue() [1/2]

V& GetValue ( )

◆ GetValue() [2/2]

const V& GetValue ( ) const

◆ GetSecond() [1/2]

V& GetSecond ( )

◆ GetSecond() [2/2]

const V& GetSecond ( ) const

◆ SetValue() [1/2]

void SetValue ( const V &  value)

◆ SetValue() [2/2]

void SetValue ( V &&  value)

◆ ResetValue()

void ResetValue ( )

◆ GetKeyHashCode()

decltype(ENTRY_HANDLER::GetKeyHashCode(std::declval<V>())) GetKeyHashCode ( ) const

◆ GetMemorySize()

Int GetMemorySize ( ) const

◆ MAXON_DISALLOW_COPY_AND_ASSIGN()

MAXON_DISALLOW_COPY_AND_ASSIGN ( HashMapEntryBase< K, V, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::VALUE )
protected

Member Data Documentation

◆ GetKey

decltype(ENTRY_HANDLER::GetKey(*(V*) nullptr) GetKey() const

◆ GetFirst

decltype(ENTRY_HANDLER::GetKey(*(V*) nullptr) GetFirst() const

◆ _next

HashMapEntryBase* _next
protected

◆ _value

V _value
protected