26 #ifndef MLN_UTIL_ORD_HH
27 # define MLN_UTIL_ORD_HH
34 # include <mln/core/concept/object.hh>
35 # include <mln/trait/op/ord.hh>
50 bool operator()(
const T& lhs,
const T& rhs)
const;
62 bool ord_weak(
const T& lhs,
const T& rhs);
65 template <
typename T1,
typename T2>
66 bool ord_lexi_strict(
const T1& lhs_1,
const T2& lhs_2,
67 const T1& rhs_1,
const T2& rhs_2);
71 # ifndef MLN_INCLUDE_ONLY
80 typedef typename mln::trait::op::ord<T>::ret F;
81 static const F f_ord = F();
82 return f_ord.strict(lhs, rhs);
92 typedef typename mln::trait::op::ord<T>::ret F;
93 static const F f_ord = F();
94 return f_ord.strict(lhs, rhs);
103 typedef typename mln::trait::op::ord<T>::ret F;
104 static const F f_ord = F();
105 return f_ord.weak(lhs, rhs);
110 template <
typename T1,
typename T2>
113 ord_lexi_strict(
const T1& lhs_1,
const T2& lhs_2,
114 const T1& rhs_1,
const T2& rhs_2)
121 # endif // ! MLN_INCLUDE_ONLY
128 #endif // ! MLN_UTIL_ORD_HH