Member::FastNameCompare Struct Reference

#include <datatypelib.h>

Inheritance diagram for Member::FastNameCompare:

Detailed Description

FastNameCompare can be used instead of DefaultCompare when you need a fast ordered comparison of Members using their names. The comparison isn't based on the characters of the name, but on the unique pointer of the name's InternedId (see InternedId::FastCompare). This is much faster to compare, but the order isn't stable across different runs of the application.

Note that the comparison ignores the member type even for equality. So you may only use FastNameCompare when you can guarantee unique names.

Static Public Member Functions

static Bool IsEqual (const Member &a, const Member &b)
 
static Bool LessThan (const Member &a, const Member &b)
 

Additional Inherited Members

- Static Private Member Functions inherited from CompareTemplate< false >
static MAXON_ATTRIBUTE_FORCE_INLINE COMPARERESULT Compare (const T1 &a, const T2 &b)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UInt32 h)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UInt64 h)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Bool i)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Char i)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UChar i)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Int16 i)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (UInt16 i)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Int32 h)
 
static HashInt GetHashCode (Utf16Char i)
 
static HashInt GetHashCode (Utf32Char i)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Int64 h)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Float32 h)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (Float64 h)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const T *key)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (T *key)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (std::nullptr_t)
 
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const maxon::details::EnumWrapper< E > &key)
 
static 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 HashInt GetCombinedHashCode (const T &... values)
 
static UniqueHash GetCombinedUniqueHash (const T &... values)
 

Member Function Documentation

◆ IsEqual()

static Bool IsEqual ( const Member a,
const Member b 
)
static

◆ LessThan()

static Bool LessThan ( const Member a,
const Member b 
)
static