DGtal  0.9.2
BasicBoolFunctors.h
1 
17 #pragma once
18 
31 #if defined(BasicBoolFunctors_RECURSES)
32 #error Recursive header files inclusion detected in BasicBoolFunctors.h
33 #else // defined(BasicBoolFunctors_RECURSES)
34 
35 #define BasicBoolFunctors_RECURSES
36 
37 #if !defined BasicBoolFunctors_h
38 
39 #define BasicBoolFunctors_h
40 
42 // Inclusions
43 #include <iostream>
44 #include <boost/function.hpp>
46 
47 // @since 0.8 In DGtal::functors
48 namespace DGtal {
49  namespace functors {
50 
54  typedef boost::function0< bool > BoolFunctor0;
55 
59  typedef boost::function1< bool, bool > BoolFunctor1;
60 
64  typedef boost::function2< bool, bool, bool > BoolFunctor2;
65 
69  typedef boost::function3< bool, bool, bool, bool > BoolFunctor3;
70 
74  struct TrueBoolFct0 {
75  bool operator()() const;
76  };
77 
81  struct FalseBoolFct0 {
82  bool operator()() const;
83  };
84 
88  static const BoolFunctor0 trueBF0 = TrueBoolFct0();
89 
93  static const BoolFunctor0 falseBF0 = FalseBoolFct0();
94 
99  bool operator()( bool b ) const;
100  };
101 
105  struct NotBoolFct1 {
106  bool operator()( bool b ) const;
107  };
108 
112  static const BoolFunctor1 identityBF1 = IdentityBoolFct1();
113 
117  static const BoolFunctor1 notBF1 = NotBoolFct1();
118 
122  struct AndBoolFct2 {
123  bool operator()( bool b1, bool b2 ) const;
124  };
125 
129  struct OrBoolFct2 {
130  bool operator()( bool b1, bool b2 ) const;
131  };
132 
136  struct XorBoolFct2 {
137  bool operator()( bool b1, bool b2 ) const;
138  };
139 
144  bool operator()( bool b1, bool b2 ) const;
145  };
146 
150  static const BoolFunctor2 andBF2 = AndBoolFct2();
151 
155  static const BoolFunctor2 orBF2 = OrBoolFct2();
156 
160  static const BoolFunctor2 xorBF2 = XorBoolFct2();
161 
165  static const BoolFunctor2 impliesBF2 = ImpliesBoolFct2();
166 
167 } // namespace functors
168 } // namespace DGtal
169 
170 
172 // Includes inline functors.
173 #include "DGtal/base/BasicBoolFunctors.ih"
174 
175 // //
177 
178 #endif // !defined BasicBoolFunctors_h
179 
180 #undef BasicBoolFunctors_RECURSES
181 #endif // else defined(BasicBoolFunctors_RECURSES)
bool operator()(bool b1, bool b2) const
bool operator()(bool b1, bool b2) const
bool operator()(bool b1, bool b2) const
static const BoolFunctor1 notBF1
static const BoolFunctor0 falseBF0
boost::function2< bool, bool, bool > BoolFunctor2
static const BoolFunctor0 trueBF0
static const BoolFunctor1 identityBF1
bool operator()(bool b1, bool b2) const
static const BoolFunctor2 orBF2
boost::function1< bool, bool > BoolFunctor1
bool operator()(bool b) const
boost::function0< bool > BoolFunctor0
static const BoolFunctor2 impliesBF2
boost::function3< bool, bool, bool, bool > BoolFunctor3
DGtal is the top-level namespace which contains all DGtal functions and types.
static const BoolFunctor2 andBF2
bool operator()(bool b) const
static const BoolFunctor2 xorBF2