RefCompare< true, false > Class Reference

#include <compare.h>

Static Public Member Functions

template<typename K >
static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode (const K &key)
 
template<typename K >
static MAXON_ATTRIBUTE_FORCE_INLINE UniqueHash GetUniqueHashCode (const K &key)
 
template<typename T1 , typename T2 >
static MAXON_ATTRIBUTE_FORCE_INLINE Bool IsEqual (const T1 &a, const T2 &b)
 
template<typename T1 , typename T2 >
static MAXON_ATTRIBUTE_FORCE_INLINE Bool LessThan (const T1 &a, const T2 &b)
 
template<typename T >
static Bool IsEqualHelper (const T *a, const T *b, OverloadRank0)
 
template<typename T >
static auto IsEqualHelper (const T *a, const T *b, OverloadRank1) -> decltype(a->IsEqual(*b))
 
template<typename T >
static auto IsEqualHelper (const T *a, const T *b, OverloadRank2) -> decltype(a->IsEqual(*b, EQUALITY::SHALLOW))
 
template<typename T >
static Bool LessThanHelper (const T *a, const T *b, OverloadRank0)
 
template<typename T >
static auto LessThanHelper (const T *a, const T *b, OverloadRank1) -> decltype(a->Compare(*b))
 
template<typename T >
static auto LessThanHelper (const T *a, const T *b, OverloadRank2) -> decltype(a->LessThan(*b))
 
template<typename T >
static auto LessThanHelper (const T *a, const T *b, OverloadRank3) -> decltype(*a< *b)
 

Member Function Documentation

◆ GetHashCode()

static MAXON_ATTRIBUTE_FORCE_INLINE HashInt GetHashCode ( const K &  key)
static

◆ GetUniqueHashCode()

static MAXON_ATTRIBUTE_FORCE_INLINE UniqueHash GetUniqueHashCode ( const K &  key)
static

◆ IsEqual()

static MAXON_ATTRIBUTE_FORCE_INLINE Bool IsEqual ( const T1 &  a,
const T2 &  b 
)
static

◆ LessThan()

static MAXON_ATTRIBUTE_FORCE_INLINE Bool LessThan ( const T1 &  a,
const T2 &  b 
)
static

◆ IsEqualHelper() [1/3]

static Bool IsEqualHelper ( const T *  a,
const T *  b,
OverloadRank0   
)
static

◆ IsEqualHelper() [2/3]

static auto IsEqualHelper ( const T *  a,
const T *  b,
OverloadRank1   
) -> decltype(a->IsEqual(*b))
static

◆ IsEqualHelper() [3/3]

static auto IsEqualHelper ( const T *  a,
const T *  b,
OverloadRank2   
) -> decltype(a->IsEqual(*b, EQUALITY::SHALLOW))
static

◆ LessThanHelper() [1/4]

static Bool LessThanHelper ( const T *  a,
const T *  b,
OverloadRank0   
)
static

◆ LessThanHelper() [2/4]

static auto LessThanHelper ( const T *  a,
const T *  b,
OverloadRank1   
) -> decltype(a->Compare(*b))
static

◆ LessThanHelper() [3/4]

static auto LessThanHelper ( const T *  a,
const T *  b,
OverloadRank2   
) -> decltype(a->LessThan(*b))
static

◆ LessThanHelper() [4/4]

static auto LessThanHelper ( const T *  a,
const T *  b,
OverloadRank3   
) -> decltype(*a < *b)
static