Open Search
    compare.h File Reference

    Detailed Description

    Helper classes and functions for comparisons.

    Classes

    class  CompareTemplate< ALLOW_UNDEFINED, EQ, OPERATOR_RANK >
     
    class  DefaultCompare
     
    class  EqualityCompare
     
    class  CStringCompare
     
    class  RefCompare< COW, IS_INTERFACE >
     
    class  RefCompare< true, false >
     
    class  RefCompare< true, true >
     

    Namespaces

     maxon
     
     maxon::details
     

    Enumerations

    enum class  COMPARERESULT : int {
      LESS ,
      EQUAL ,
      GREATER ,
      INCOMPARABLE
    }
     
    enum class  EQUALITY {
      SHALLOW ,
      DEEP
    }
     

    Functions

    enum maxon::COMPARERESULT int MAXON_ENUM_ORDERED_LIST (COMPARERESULT, "net.maxon.datatype.enum.compareresult", EARLY)
     
    Bool operator== (COMPARERESULT a, int b)
     
    Bool operator< (COMPARERESULT a, int b)
     
    enum maxon::EQUALITY MAXON_ENUM_LIST (EQUALITY, "net.maxon.datatype.enum.equality", EARLY)
     
    template<Bool ALLOW_UNDEFINED = false>
    Bool LexicographicalGreaterThan ()
     
    template<Bool ALLOW_UNDEFINED = false, typename T1 , typename... TN>
    Bool LexicographicalGreaterThan (const T1 &a1, const T1 &b1, const TN &... ab)
     
    template<Bool ALLOW_UNDEFINED = false>
    Bool LexicographicalLessThan ()
     
    template<Bool ALLOW_UNDEFINED = false, typename T1 , typename... TN>
    Bool LexicographicalLessThan (const T1 &a1, const T1 &b1, const TN &... ab)
     
    template<Bool ALLOW_UNDEFINED = false>
    COMPARERESULT LexicographicalCompare ()
     
    template<Bool ALLOW_UNDEFINED = false, typename T1 , typename... TN>
    COMPARERESULT LexicographicalCompare (const T1 &a1, const T1 &b1, const TN &... ab)
     

    Variables

     LESS
     
     EQUAL
     
     GREATER
     
     INCOMPARABLE
     
     SHALLOW
     
     DEEP
     
    const COMPARERESULT g_compareResultIncomparable
     

    Variable Documentation

    ◆ LESS

    LESS

    result is less than

    ◆ EQUAL

    EQUAL

    result is equal

    ◆ GREATER

    GREATER

    result is greater than

    ◆ INCOMPARABLE

    INCOMPARABLE

    Values are incomparable (either a compare function doesn't exist, or we have a partial order).

    ◆ SHALLOW

    SHALLOW

    A shallow equality-test shall be done. For pointers or (non-copy-on-write) references the object identity (pointer value) is used.

    ◆ DEEP

    DEEP

    < A deep equality-test shall be done. For pointers or (non-copy-on-write) references the referenced objects are compared for equality.