1 #ifndef __JLANG__JCOMPARABLE__
2 #define __JLANG__JCOMPARABLE__
13 namespace JPP {
using namespace JLANG; }
23 template<
class JFirst_t,
class JSecond_t = JNullType>
37 template<
class JClass_t>
48 const JClass_t& second)
50 return first.less(second);
62 const JClass_t& second)
64 return second.less(first);
76 const JClass_t& second)
78 return !second.less(first);
90 const JClass_t& second)
92 return !first.less(second);
104 const JClass_t& second)
106 return !first.less(second) && !second.less(first);
118 const JClass_t& second)
120 return first.less(second) || second.less(first);
138 template<
class JFirst_t,
class JSecond_t>
152 return first.less(second);
163 friend bool operator<(typename JClass<JSecond_t>::argument_type first,
164 const JFirst_t& second)
166 return second.more(first);
180 return first.more(second);
192 const JFirst_t& second)
194 return second.less(first);
208 return !first.more(second);
219 friend bool operator<=(typename JClass<JSecond_t>::argument_type first,
220 const JFirst_t& second)
222 return second.more(first);
236 return !first.less(second);
248 const JFirst_t& second)
251 return second.less(first);
265 return !first.less(second) && !first.more(second);
277 const JFirst_t& second)
280 return !second.less(first) && !second.more(first);
294 return first.less(second) || first.more(second);
306 const JFirst_t& second)
308 return second.less(first) || second.more(first);
friend bool operator>(const JClass_t &first, const JClass_t &second)
Greater than operator.
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>(typename JClass< JSecond_t >::argument_type first, const JFirst_t &second)
Greater than operator.
friend bool operator<=(const JFirst_t &first, typename JClass< JSecond_t >::argument_type second)
Less than or equal operator.
JArgument< T >::argument_type argument_type
friend bool operator!=(typename JClass< JSecond_t >::argument_type first, const JFirst_t &second)
Not equal operator.
friend bool operator>=(const JClass_t &first, const JClass_t &second)
Greater than or equal operator.
Auxiliary class for no type definition.
friend bool operator!=(const JFirst_t &first, typename JClass< JSecond_t >::argument_type second)
Not equal operator.
friend bool operator>(const JFirst_t &first, typename JClass< JSecond_t >::argument_type second)
Greater than operator.
Template definition of auxiliary base class for comparison of data structures.
friend bool operator==(const JFirst_t &first, typename JClass< JSecond_t >::argument_type second)
Equal operator.
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.
friend bool operator<(const JFirst_t &first, typename JClass< JSecond_t >::argument_type second)
Less than operator.
friend bool operator==(typename JClass< JSecond_t >::argument_type first, const JFirst_t &second)
Equal operator.
friend bool operator>=(const JFirst_t &first, typename JClass< JSecond_t >::argument_type second)
Greater than or equal operator.
friend bool operator>=(typename JClass< JSecond_t >::argument_type first, const JFirst_t &second)
Greater than or equal operator.