DefaultHash Struct Reference

#include <hash.h>

Public Types

using ValueType = HashInt
 

Public Member Functions

MAXON_IMPLICIT DefaultHash (HashInt start=EMPTY_HASH)
 
void Combine (HashInt value)
 
void CombineUnordered (HashInt value)
 
 operator HashInt () const
 

Static Public Member Functions

static constexpr UInt32 Mix (UInt32 h)
 
static constexpr UInt64 Mix (UInt64 h)
 
static constexpr HashInt SplitMix (HashInt value)
 
template<typename... R>
static HashInt CombineHashes (HashInt first, R... rest)
 

Public Attributes

HashInt state
 

Static Public Attributes

static constexpr HashInt EMPTY_HASH
 

Static Private Member Functions

static void CombineHashesImpl (DefaultHash &hash)
 
template<typename... R>
static void CombineHashesImpl (DefaultHash &hash, HashInt x, R... rest)
 

Member Typedef Documentation

◆ ValueType

using ValueType = HashInt

Constructor & Destructor Documentation

◆ DefaultHash()

Member Function Documentation

◆ Mix() [1/2]

static constexpr UInt32 Mix ( UInt32  h)
staticconstexpr

◆ Mix() [2/2]

static constexpr UInt64 Mix ( UInt64  h)
staticconstexpr

◆ SplitMix()

static constexpr HashInt SplitMix ( HashInt  value)
staticconstexpr

◆ Combine()

void Combine ( HashInt  value)

◆ CombineUnordered()

void CombineUnordered ( HashInt  value)

◆ operator HashInt()

operator HashInt ( ) const

◆ CombineHashes()

static HashInt CombineHashes ( HashInt  first,
R...  rest 
)
static

◆ CombineHashesImpl() [1/2]

static void CombineHashesImpl ( DefaultHash hash)
staticprivate

◆ CombineHashesImpl() [2/2]

static void CombineHashesImpl ( DefaultHash hash,
HashInt  x,
R...  rest 
)
staticprivate

Member Data Documentation

◆ EMPTY_HASH

constexpr HashInt EMPTY_HASH
staticconstexpr

◆ state

HashInt state