30 #ifndef __ADJACENT_PREDICATE__
31 #define __ADJACENT_PREDICATE__
35 #include "DisplayPair.hxx"
37 template <
typename T >
42 bool operator()(
const T &v1,
const T& v2)
const {
43 return (v1 <= _value ) && (_value < v2) ;
48 template <
typename T1,
typename T2,
typename T3>
50 public std::binary_function < std::pair<const std::pair<T1,T2>, T3 >,
51 std::pair<const std::pair<T1,T2>, T3 >, bool >
53 std::pair<T1,T2> _value;
55 std::cout <<
"1-Initializing with value " << _value << std::endl;
57 bool operator()(
const std::pair<
const std::pair<T1,T2>, T3 > & v1,
58 const std::pair<
const std::pair<T1,T2>, T3 > v2)
const {
59 std::cout <<
"1-> :" << v1 <<
"," << v2 <<
" " << std::endl;
60 return (v1.first <= _value ) && (_value < v2.first) ;
64 template <
typename T1,
typename T2>
65 struct AdjacentPredicate< std::pair<T1,T2> > :
public std::binary_function < std::pair<T1,T2>, std::pair<T1,T2>, bool >
69 std::cout <<
"2-Initializing with value " << _value << std::endl;
71 bool operator()(
const std::pair<T1,T2> & v1,
const std::pair<T1,T2>& v2)
const {
72 std::cout <<
"2-> :" << &(v1.first) <<
"," << &(v2.first) <<
" " << std::endl;
73 return (v1.first <= _value ) && (_value < v2.first) ;