DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CDomainAdjacency.h
1 
17 #pragma once
18 
31 #if defined(CDomainAdjacency_RECURSES)
32 #error Recursive header files inclusion detected in CDomainAdjacency.h
33 #else // defined(CDomainAdjacency_RECURSES)
34 
35 #define CDomainAdjacency_RECURSES
36 
37 #if !defined CDomainAdjacency_h
38 
39 #define CDomainAdjacency_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "boost/concept_check.hpp"
45 #include "DGtal/base/Common.h"
46 #include "DGtal/topology/CAdjacency.h"
48 
49 namespace DGtal
50 {
51 
53  // class CDomainAdjacency
106  template <typename T>
108  {
109  // ----------------------- Concept checks ------------------------------
110  public:
111 
112  typedef typename Adj::Domain Domain;
113  typedef typename Adj::Predicate Predicate;
114 
115  // ------------------------- Private Datas --------------------------------
116  private:
118  {
119  // check domain()
120  ConceptUtils::sameType( myDomain, myT.domain() );
121  // check predicate()
122  ConceptUtils::sameType( myPredicate, myT.predicate() );
123  }
124 
125  // ------------------------- Internals ------------------------------------
126  private:
127  T myT;
130 
131  }; // end of concept CDomainAdjacency
132 
133 } // namespace DGtal
134 
135  //
137 
138 #endif // !defined CDomainAdjacency_h
139 
140 #undef CDomainAdjacency_RECURSES
141 #endif // else defined(CDomainAdjacency_RECURSES)