1 #ifndef __JLANG__JMULTICOMPARABLE__
2 #define __JLANG__JMULTICOMPARABLE__
14 namespace JPP {
using namespace JLANG; }
31 template<
class JClass_t,
class JTypelist_t>
42 template<
class JHead_t,
class JTail_t>
43 static inline bool lt(
const JClass_t& first,
44 const JClass_t& second,
47 if (static_cast<const JHead_t&>(first) <
48 static_cast<const JHead_t&>(second))
50 else if (static_cast<const JHead_t&>(second) <
51 static_cast<const JHead_t&>(first))
66 template<
class JHead_t>
67 static inline bool lt(
const JClass_t& first,
68 const JClass_t& second,
71 return (static_cast<const JHead_t&>(first) <
72 static_cast<const JHead_t&>(second));
84 const JClass_t& second)
98 const JClass_t& second)
112 const JClass_t& second)
126 const JClass_t& second)
140 const JClass_t& second)
155 const JClass_t& second)
friend bool operator<=(const JClass_t &first, const JClass_t &second)
Less than or equal operator.
friend bool operator<(const JClass_t &first, const JClass_t &second)
Less than operator.
Auxiliary class for a type holder.
friend bool operator>(const JClass_t &first, const JClass_t &second)
Greater than operator.
static bool lt(const JClass_t &first, const JClass_t &second, const JType< JTypeList< JHead_t, JTail_t > > &type)
Less than method for composite data types.
static bool lt(const JClass_t &first, const JClass_t &second, const JType< JTypeList< JHead_t, JNullType > > &type)
Less than method for composite data types.
friend bool operator==(const JClass_t &first, const JClass_t &second)
Equal operator.
friend bool operator!=(const JClass_t &first, const JClass_t &second)
Not equal operator.
friend bool operator>=(const JClass_t &first, const JClass_t &second)
Greater than or equal operator.
Template definition of auxiliary base class for composite data structures composed of base classes wi...