DGtal  0.9.2
CSeparableMetric.h
1 
17 #pragma once
18 
31 #if defined(CSeparableMetric_RECURSES)
32 #error Recursive header files inclusion detected in CSeparableMetric.h
33 #else // defined(CSeparableMetric_RECURSES)
34 
35 #define CSeparableMetric_RECURSES
36 
37 #if !defined CSeparableMetric_h
38 
39 #define CSeparableMetric_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/geometry/volumes/distance/CMetricSpace.h"
47 
48 namespace DGtal
49 {
50 namespace concepts
51 {
53 // class CSeparableMetric
100 template <typename T>
102 {
103  // ----------------------- Concept checks ------------------------------
104 public:
105  typedef typename T::Point Point;
107  {
109  }
111  {
112  // const method dummyConst should take parameter myA of type A and return
113  // something of type B
114  ConceptUtils::sameType( myBool, myX.hiddenBy(u,v,w,start,end,dim) );
115  }
116  // ------------------------- Private Datas --------------------------------
117 private:
118  T myX; // do not require T to be default constructible.
119  Point u,v,w,start,end;
120  bool myBool;
122 
123  // ------------------------- Internals ------------------------------------
124 private:
125 
126 }; // end of concept CSeparableMetric
127 }
128 } // namespace DGtal
129 
130 // //
132 
133 #endif // !defined CSeparableMetric_h
134 
135 #undef CSeparableMetric_RECURSES
136 #endif // else defined(CSeparableMetric_RECURSES)
DGtal::uint32_t Dimension
Definition: Common.h:113
void sameType(const T &t1, const T &t2)
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: defines the concept of separable metrics.
Aim: defines the concept of metric spaces.
Definition: CMetricSpace.h:124