Open Search
    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