DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CImplicitFunction.h
1 
17 #pragma once
18 
31 #if defined(CImplicitFunction_RECURSES)
32 #error Recursive header files inclusion detected in CImplicitFunction.h
33 #else // defined(CImplicitFunction_RECURSES)
34 
35 #define CImplicitFunction_RECURSES
36 
37 #if !defined CImplicitFunction_h
38 
39 #define CImplicitFunction_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
46 
47 namespace DGtal
48 {
49 
51  // class CImplicitFunction
106  template <typename T>
108  {
109  // ----------------------- Concept checks ------------------------------
110  public:
111  // 1. define first provided types (i.e. inner types), like
112  typedef typename T::RealPoint RealPoint;
113  typedef typename T::Value Value;
114  // possibly check these types so as to satisfy a concept with
115  BOOST_CONCEPT_ASSERT(( boost::UnaryFunction< T, Value, RealPoint > ));
116 
117  }; // end of concept CImplicitFunction
118 
119 } // namespace DGtal
120 
121 // //
123 
124 #endif // !defined CImplicitFunction_h
125 
126 #undef CImplicitFunction_RECURSES
127 #endif // else defined(CImplicitFunction_RECURSES)