DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CSpace.h
1 
17 #pragma once
18 
34 #if defined(CSpace_RECURSES)
35 #error Recursive header files inclusion detected in CSpace.h
36 #else // defined(CSpace_RECURSES)
37 
38 #define CSpace_RECURSES
39 
40 #if !defined CSpace_h
41 
42 #define CSpace_h
43 
45 // Inclusions
46 #include <iostream>
47 #include "DGtal/base/Common.h"
48 #include "DGtal/base/ConceptUtils.h"
49 #include "DGtal/kernel/CInteger.h"
50 #include "DGtal/kernel/CUnsignedInteger.h"
51 #include "DGtal/kernel/NumberTraits.h"
53 
54 namespace DGtal
55 {
56 
58  // class CSpace
105  template <typename T>
106  struct CSpace
107  {
108  // ----------------------- Concept checks ------------------------------
109  public:
110  typedef typename T::Space Space;
111  typedef typename T::Integer Integer;
112  typedef typename T::Point Point;
113  typedef typename T::Vector Vector;
114  typedef typename T::Dimension Dimension;
115  typedef typename T::Size Size;
116  typedef typename T::RealPoint RealPoint;
117  typedef typename T::RealVector RealVector;
121 
123  {
124  //Should have a static dimension.
125  ConceptUtils::sameType( myDim, T::dimension );
126  }
127 
128  // ------------------------- Private Datas --------------------------------
129  private:
131 
132  // ------------------------- Internals ------------------------------------
133  private:
134 
135  }; // end of concept CSpace
136 
137 } // namespace DGtal
138 
139 
140 
141 // //
143 
144 #endif // !defined CSpace_h
145 
146 #undef CSpace_RECURSES
147 #endif // else defined(CSpace_RECURSES)