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  COMPARERESULT {
  LESS,
  EQUAL,
  GREATER,
  INCOMPARABLE
}
 
enum  EQUALITY {
  SHALLOW,
  DEEP
}
 

Functions

enum maxon::COMPARERESULT MAXON_ENUM_ORDERED_LIST (COMPARERESULT, "net.maxon.datatype.enum.compareresult", EARLY)
 
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.