5#ifndef ICE_COMPARABLE_H
6#define ICE_COMPARABLE_H
19template<
typename T,
typename U>
38template<
typename T,
typename U>
57template<
typename T,
typename U>
69template<
typename T,
typename U>
81template<
typename T,
typename U>
93template<
typename T,
typename U>
99#ifdef ICE_CPP11_MAPPING
105template<
typename T,
template<
typename>
class Compare>
116 return Compare<typename T::element_type>()(*lhs, *rhs);
120 return Compare<bool>()(
static_cast<const bool>(lhs),
static_cast<const bool>(rhs));
135template<
class C,
typename = std::enable_if<std::is_member_function_po
inter<decltype(&C::ice_tuple)>::value>>
138 return lhs.ice_tuple() < rhs.ice_tuple();
147template<
class C,
typename = std::enable_if<std::is_member_function_po
inter<decltype(&C::ice_tuple)>::value>>
150 return lhs.ice_tuple() <= rhs.ice_tuple();
159template<
class C,
typename = std::enable_if<std::is_member_function_po
inter<decltype(&C::ice_tuple)>::value>>
162 return lhs.ice_tuple() > rhs.ice_tuple();
171template<
class C,
typename = std::enable_if<std::is_member_function_po
inter<decltype(&C::ice_tuple)>::value>>
174 return lhs.ice_tuple() >= rhs.ice_tuple();
183template<
class C,
typename = std::enable_if<std::is_member_function_po
inter<decltype(&C::ice_tuple)>::value>>
186 return lhs.ice_tuple() == rhs.ice_tuple();
195template<
class C,
typename = std::enable_if<std::is_member_function_po
inter<decltype(&C::ice_tuple)>::value>>
198 return lhs.ice_tuple() != rhs.ice_tuple();
Definition BuiltinSequences.h:56
bool operator>(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:160
bool targetNotEqualTo(const T &lhs, const U &rhs)
Compares the contents of two smart pointers.
Definition Comparable.h:94
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:136
bool targetEqualTo(const T &lhs, const U &rhs)
Compares the contents of two smart pointers.
Definition Comparable.h:20
bool operator<=(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:148
bool targetGreater(const T &lhs, const U &rhs)
Compares the contents of two smart pointers.
Definition Comparable.h:58
bool operator>=(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:172
bool targetLess(const T &lhs, const U &rhs)
Compares the contents of two smart pointers.
Definition Comparable.h:39
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:184
bool targetGreaterEqual(const T &lhs, const U &rhs)
Compares the contents of two smart pointers.
Definition Comparable.h:82
bool operator!=(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:196
bool targetLessEqual(const T &lhs, const U &rhs)
Compares the contents of two smart pointers.
Definition Comparable.h:70
Functor class that compares the contents of two smart pointers of the given type using the given comp...
Definition Comparable.h:107
bool operator()(const T &lhs, const T &rhs) const
Executes the functor to compare the contents of two smart pointers.
Definition Comparable.h:112