37 template <
class _Arg,
class _Result>
40 typedef _Arg argument_type;
41 typedef _Result result_type;
44 template <
class _Arg1,
class _Arg2,
class _Result>
47 typedef _Arg1 first_argument_type;
48 typedef _Arg2 second_argument_type;
49 typedef _Result result_type;
56 _Tp operator () (
const _Tp& __x,
const _Tp& __y)
const
67 operator () (
const _Tp& __x,
const _Tp& __y)
const
77 _Tp operator () (
const _Tp& __x,
const _Tp& __y)
const
87 _Tp operator () (
const _Tp& __x,
const _Tp& __y)
const
97 _Tp operator () (
const _Tp& __x,
const _Tp& __y)
const
107 _Tp operator () (
const _Tp& __x)
const
117 bool operator () (
const _Tp& __x,
const _Tp& __y)
const
127 bool operator()(
const _Tp& __x,
const _Tp& __y)
const
137 bool operator () (
const _Tp& __x,
const _Tp& __y)
const
147 bool operator () (
const _Tp& __x,
const _Tp& __y)
const
157 bool operator () (
const _Tp& __x,
const _Tp& __y)
const
167 bool operator () (
const _Tp& __x,
const _Tp& __y)
const
177 bool operator () (
const _Tp& __x,
const _Tp& __y)
const
187 bool operator () (
const _Tp& __x,
const _Tp& __y)
const
197 bool operator () (
const _Tp& __x)
const
204 template <
class _Predicate>
206 :
public unary_function <typename _Predicate::argument_type, bool>
214 explicit unary_negate (
const _Predicate& __x) : _M_pred(__x) {}
216 bool operator () (
const typename _Predicate::argument_type& __x)
const
218 return not _M_pred(__x);
223 template <
class _Predicate>
inline
230 template <
class _Predicate>
233 typename _Predicate::second_argument_type,
242 explicit binary_negate (
const _Predicate& __x) : _M_pred(__x) { }
245 operator () (
const typename _Predicate::first_argument_type& __x,
246 const typename _Predicate::second_argument_type& __y)
const
248 return not _M_pred(__x, __y);
253 template <
class _Predicate>
inline
260 template <
class _Operation>
262 :
public unary_function<typename _Operation::second_argument_type,
263 typename _Operation::result_type>
269 typename _Operation::first_argument_type value;
274 const typename _Operation::first_argument_type& __y)
275 : op(__x), value(__y) {}
277 typename _Operation::result_type
278 operator () (
const typename _Operation::second_argument_type& __x)
const
280 return op (value, __x);
283 typename _Operation::result_type
284 operator () (
typename _Operation::second_argument_type& __x)
const
286 return op(value, __x);
291 template <
class _Operation,
class _Tp>
inline
294 typedef typename _Operation::first_argument_type _Arg1_type;
299 template <
class _Operation>
302 typename _Operation::result_type>
308 typename _Operation::second_argument_type value;
313 const typename _Operation::second_argument_type& __y)
314 : op(__x), value (__y) {}
316 typename _Operation::result_type
317 operator () (
const typename _Operation::first_argument_type& __x)
const
319 return op (__x, value);
322 typename _Operation::result_type
323 operator () (
typename _Operation::first_argument_type& __x)
const
325 return op (__x, value);
330 template <
class _Operation,
class _Tp>
inline
333 typedef typename _Operation::second_argument_type _Arg2_type;
339 template <
class _Arg,
class _Result>
344 _Result (*_M_ptr) (_Arg);
353 _Result operator () (_Arg __x)
const
360 template <
class _Arg,
class _Result>
inline
367 template <
class _Arg1,
class _Arg2,
class _Result>
373 _Result (*_M_ptr) (_Arg1, _Arg2);
382 _Result operator () (_Arg1 __x, _Arg2 __y)
const
384 return _M_ptr(__x, __y);
389 template <
class _Arg1,
class _Arg2,
class _Result>
inline
391 ptr_fun (_Result (*__x) (_Arg1, _Arg2) )
399 _Tp & operator () (_Tp& __x)
const
404 const _Tp& operator () (
const _Tp& __x)
const
410 template <
class _Pair>
413 typename _Pair::first_type& operator () (_Pair& __x)
const
418 const typename _Pair::first_type& operator () (
const _Pair& __x)
const
424 template <
class _Pair>
427 typename _Pair::second_type& operator () (_Pair& __x)
const
432 const typename _Pair::second_type& operator () (
const _Pair& __x)
const
439 template <
class _Ret,
class _Tp>
444 explicit mem_fun_t (_Ret (_Tp::*__pf) () )
447 _Ret operator ()(_Tp* __p)
const
449 return (__p->*_M_f)();
454 _Ret (_Tp::*_M_f) ();
458 template <
class _Ret,
class _Tp>
466 _Ret operator () (
const _Tp* __p)
const
468 return (__p->*_M_f) ();
473 _Ret (_Tp::*_M_f) ()
const;
477 template <
class _Ret,
class _Tp>
485 _Ret operator () (_Tp& __r)
const
487 return (__r.*_M_f)();
492 _Ret (_Tp::*_M_f) ();
496 template <
class _Ret,
class _Tp>
504 _Ret operator () (
const _Tp& __r)
const
506 return (__r.*_M_f)();
511 _Ret (_Tp::*_M_f) ()
const;
515 template <
class _Ret,
class _Tp,
class _Arg>
520 explicit mem_fun1_t (_Ret (_Tp::*__pf) (_Arg))
523 _Ret operator () (_Tp* __p, _Arg __x)
const
525 return (__p->*_M_f) (__x);
530 _Ret (_Tp::*_M_f) (_Arg);
534 template <
class _Ret,
class _Tp,
class _Arg>
542 _Ret operator () (
const _Tp* __p, _Arg __x)
const
544 return (__p->*_M_f)(__x);
549 _Ret (_Tp::*_M_f) (_Arg)
const;
553 template <
class _Ret,
class _Tp,
class _Arg>
561 _Ret operator () (_Tp& __r, _Arg __x)
const
563 return (__r.*_M_f)(__x);
568 _Ret (_Tp::*_M_f) (_Arg);
572 template <
class _Ret,
class _Tp,
class _Arg>
580 _Ret operator () (
const _Tp& __r, _Arg __x)
const
582 return (__r.*_M_f)(__x);
587 _Ret (_Tp::*_M_f) (_Arg)
const;
599 void operator () (_Tp* __p)
const
618 void operator () (
const _Tp* __p)
const
625 void (_Tp::*_M_f)()
const;
634 explicit mem_fun_ref_t (
void (_Tp::*__pf)()) : _M_f (__pf) {}
636 void operator () (_Tp& __r)
const
655 void operator () (
const _Tp& __r)
const
662 void (_Tp::*_M_f) ()
const;
666 template <
class _Tp,
class _Arg>
671 explicit mem_fun1_t(
void (_Tp::*__pf) (_Arg)) : _M_f (__pf) {}
673 void operator () (_Tp* __p, _Arg __x)
const
680 void (_Tp::*_M_f) (_Arg);
684 template <
class _Tp,
class _Arg>
692 void operator () (
const _Tp* __p, _Arg __x)
const
699 void (_Tp::*_M_f)(_Arg)
const;
703 template <
class _Tp,
class _Arg>
709 explicit mem_fun1_ref_t (
void (_Tp::*__pf) (_Arg)) : _M_f (__pf) {}
711 void operator () (_Tp& __r, _Arg __x)
const
718 void (_Tp::*_M_f) (_Arg);
722 template <
class _Tp,
class _Arg>
731 void operator () (
const _Tp& __r, _Arg __x)
const
738 void (_Tp::*_M_f)(_Arg)
const;
742 template <
class _Ret,
class _Tp>
inline
748 template <
class _Ret,
class _Tp>
inline
749 const_mem_fun_t<_Ret, _Tp> mem_fun (_Ret (_Tp::*__f) ()
const)
751 return const_mem_fun_t<_Ret, _Tp> (__f);
754 template <
class _Ret,
class _Tp>
inline
755 mem_fun_ref_t<_Ret, _Tp> mem_fun_ref (_Ret (_Tp::*__f) ())
757 return mem_fun_ref_t<_Ret, _Tp> (__f);
760 template <
class _Ret,
class _Tp>
inline
761 const_mem_fun_ref_t<_Ret, _Tp> mem_fun_ref (_Ret (_Tp::*__f) ()
const)
763 return const_mem_fun_ref_t<_Ret, _Tp> (__f);
766 template <
class _Ret,
class _Tp,
class _Arg>
inline
767 mem_fun1_t<_Ret, _Tp, _Arg> mem_fun (_Ret (_Tp::*__f) (_Arg))
769 return mem_fun1_t<_Ret, _Tp, _Arg> (__f);
772 template <
class _Ret,
class _Tp,
class _Arg>
inline
773 const_mem_fun1_t<_Ret, _Tp, _Arg> mem_fun (_Ret (_Tp::*__f) (_Arg)
const)
775 return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f);
778 template <
class _Ret,
class _Tp,
class _Arg>
inline
779 mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref (_Ret (_Tp::*__f) (_Arg))
781 return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f);
784 template <
class _Ret,
class _Tp,
class _Arg>
inline
785 const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
786 mem_fun_ref (_Ret (_Tp::*__f) (_Arg)
const)
788 return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f);
798 template <
class T,
class Compare>
inline
799 bool less_than(
const T & op1,
const T & op2, Compare & cmp)
801 return cmp (op1, op2);
809 template <
class T,
class Compare>
inline
810 bool less_than(
const T & op1,
const T & op2, Compare && cmp = Compare())
812 return less_than <T, Compare> (op1, op2, cmp);
822 template <
class T,
class Compare>
inline
839 template <
class T,
class Compare>
inline
842 return less_or_equal_than<T, Compare>(op1, op2, cmp);
852 template <
class T,
class Compare>
inline
853 bool greater_than(
const T& op1,
const T& op2, Compare && cmp = Compare())
855 return not less_or_equal_than<T, Compare> (op1, op2, std::move(cmp));
862 template <
class T,
class Compare>
inline
863 bool greater_than(
const T& op1,
const T& op2, Compare & cmp)
865 return not less_or_equal_than<T, Compare> (op1, op2, cmp);
874 template <
class T,
class Compare>
inline
876 Compare && cmp = Compare())
878 return not less_than<T, Compare> (op1, op2, std::move(cmp));
885 template <
class T,
class Compare>
inline
888 return not less_than<T, Compare> (op1, op2, cmp);
897 template <
class T,
class Compare>
inline
898 bool no_equals(
const T & op1,
const T & op2, Compare && cmp = Compare())
900 return cmp(op1, op2) or cmp(op2, op1);
907 template <
class T,
class Compare>
inline
908 bool no_equals(
const T & op1,
const T & op2, Compare & cmp)
910 return cmp(op1, op2) or cmp(op2, op1);
919 template <class T, class Compare> inline
920 bool are_equals(const T & op1, const T & op2, Compare && cmp = Compare())
922 return not no_equals <T, Compare> (op1, op2, std::move(cmp));
929 template <
class T,
class Compare>
inline
930 bool are_equals(
const T & op1,
const T & op2, Compare & cmp)
932 return not no_equals <T, Compare> (op1, op2, cmp);
941 template <
class T,
class Compare>
944 bool operator () (
const T & op1,
const T & op2)
const
946 return Compare () (op2, op1);
954 template <
class T,
class Compare>
957 bool operator () (
const T & op1,
const T & op2)
const
959 if (Compare () (op1, op2))
962 if (Compare () (op2, op1))
Definition: ahFunction.H:300
Definition: ahFunction.H:38
Definition: ahFunction.H:516
Definition: ahFunction.H:942
Definition: ahFunction.H:165
Definition: ahFunction.H:340
Definition: ahFunction.H:45
Definition: ahFunction.H:440
Definition: ahFunction.H:397
Definition: ahFunction.H:145
Definition: ahFunction.H:105
Definition: ahFunction.H:573
Definition: ahFunction.H:554
Definition: ahFunction.H:125
Definition: ahFunction.H:425
Definition: ahFunction.H:135
bool less_or_equal_than(const T &op1, const T &op2, Compare &cmp)
Definition: ahFunction.H:823
Definition: ahFunction.H:368
Definition: ahFunction.H:195
Definition: ahFunction.H:411
bool greater_than(const T &op1, const T &op2, Compare &&cmp=Compare())
Definition: ahFunction.H:853
Definition: ahFunction.H:497
Definition: ahFunction.H:261
Definition: ahFunction.H:478
Definition: ahFunction.H:175
Definition: ahFunction.H:185
Definition: ahFunction.H:459
Definition: ahFunction.H:85
Definition: ahFunction.H:231
Definition: ahFunction.H:64
Definition: ahFunction.H:75
Definition: ahFunction.H:535
Definition: ahFunction.H:155
Definition: ahFunction.H:54
bool greater_or_equal_than(const T &op1, const T &op2, Compare &&cmp=Compare())
Definition: ahFunction.H:875
Definition: ahFunction.H:955
Definition: ahFunction.H:95
Definition: ahFunction.H:205
bool no_equals(const T &op1, const T &op2, Compare &&cmp=Compare())
Definition: ahFunction.H:898
Definition: ahFunction.H:115
bool are_equals(const T &op1, const T &op2, Compare &&cmp=Compare())
Definition: ahFunction.H:920
bool less_than(const T &op1, const T &op2, Compare &cmp)
Definition: ahFunction.H:799