FastNodePathHash Class Reference

#include <nodepath.h>

Inheritance diagram for FastNodePathHash:

Detailed Description

This class can be used instead of DefaultCompare for hash maps of NodePath keys when you want to make use of the precomputed GetFastUniqueHashCode of the NodePath.

Static Public Member Functions

static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const NodePath &path)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const PathBlock &block)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const BaseArray< InternedId > &block)
 
template<typename K >
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const K &key)
 
- Static Public Member Functions inherited from CompareTemplate< false >
static MAXON_ATTRIBUTE_FORCE_INLINE COMPARERESULT Compare (const T1 &a, const T2 &b)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UInt32 h)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UInt64 h)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Bool i)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Char i)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UChar i)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Int16 i)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UInt16 i)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Int32 h)
 
static constexpr HashInt GetHashCode (Utf16Char i)
 
static constexpr HashInt GetHashCode (Utf32Char i)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Int64 h)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Float32 h)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Float64 h)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const T *key)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (T *key)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (std::nullptr_t)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const maxon::details::EnumWrapper< E > &key)
 
static constexpr MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const K &key)
 
static MAXON_ATTRIBUTE_FORCE_INLINE UniqueHash GetUniqueHashCode (const K &key)
 
static MAXON_ATTRIBUTE_FORCE_INLINE Bool IsEqual (const T1 &a, const T2 &b)
 
static MAXON_ATTRIBUTE_FORCE_INLINE Bool LessThan (const T1 &a, const T2 &b)
 
static MAXON_ATTRIBUTE_FORCE_INLINE Bool LessThanOrEqual (const T1 &a, const T2 &b)
 
static MAXON_ATTRIBUTE_FORCE_INLINE const COMPARERESULTCompareHelper (const T1 &a, const T2 &b, OverloadRank0)
 
static MAXON_ATTRIBUTE_FORCE_INLINE auto CompareHelper (const T1 &a, const T2 &b, OverloadRank1) -> decltype((a< b) ? COMPARERESULT::LESS :COMPARERESULT::EQUAL)
 
static MAXON_ATTRIBUTE_FORCE_INLINE auto CompareHelper (const T1 &a, const T2 &b, OverloadRank2) -> decltype(a.Compare(b))
 
static MAXON_ATTRIBUTE_FORCE_INLINE SFINAEHelper< COMPARERESULT, typename T1::PartiallyOrdered >::type CompareHelper (const T1 &a, const T2 &b, OverloadRank3)
 
static constexpr HashInt GetCombinedHashCode (const T &... values)
 
static UniqueHash GetCombinedUniqueHash (const T &... values)
 

Member Function Documentation

◆ GetHashCode() [1/4]

static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode ( const NodePath &  path)
static

◆ GetHashCode() [2/4]

static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode ( const PathBlock block)
static

◆ GetHashCode() [3/4]

static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode ( const BaseArray< InternedId > &  block)
static

◆ GetHashCode() [4/4]

static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode ( const K &  key)
static