8#ifndef HPP_ALIB_ENUMS_DETAIL_ENUMRECORDMAP
9#define HPP_ALIB_ENUMS_DETAIL_ENUMRECORDMAP 1
12#if !defined(HPP_ALIB_ENUMS_RECORDS)
17# if !defined(HPP_ALIB_MONOMEM_HASHMAP)
21# if !defined(_GLIBCXX_UNORDERED_MAP) && !defined(_UNORDERED_MAP_)
22# include <unordered_map>
27namespace alib {
namespace enums {
namespace detail {
37 const std::type_info&
RTTI;
60 size_t result= key.
RTTI.hash_code()
61 ^
static_cast<size_t>(key.
Element);
62 #if ALIB_SIZEOF_INTEGER == 4
63 result^= (result >> 17);
65 result^= (result >> 33);
124const HashMap < EnumRecordKey,
const void*,
128const std::unordered_map< EnumRecordKey,
const void*,
const HashMap< EnumRecordKey, const void *, EnumRecordKey::Hash, EnumRecordKey::EqualTo > & getInternalRecordMap()
lang::integer integer
Type alias in namespace alib.
bool operator()(const EnumRecordKey &lhs, const EnumRecordKey &rhs) const
std::size_t operator()(const EnumRecordKey &key) const
EnumRecordKey(const std::type_info &rtti, integer element)
const std::type_info & RTTI