DGtal  1.3.beta
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.
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::concepts::CMetricSpace::Point
T::Point Point
Definition: CMetricSpace.h:128
DGtal::concepts::CSeparableMetric::myX
T myX
Definition: CSeparableMetric.h:118
DGtal::concepts::CSeparableMetric::myBool
bool myBool
Definition: CSeparableMetric.h:120
DGtal::Dimension
DGtal::uint32_t Dimension
Definition: Common.h:137
DGtal::concepts::CSeparableMetric::u
Point u
Definition: CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CSeparableMetric)
Definition: CSeparableMetric.h:106
DGtal::concepts::CSeparableMetric::start
Point start
Definition: CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::dim
DGtal::Dimension dim
Definition: CSeparableMetric.h:121
DGtal::concepts::CSeparableMetric::end
Point end
Definition: CSeparableMetric.h:119
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::concepts::CSeparableMetric::w
Point w
Definition: CSeparableMetric.h:119
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal::concepts::CSeparableMetric::v
Point v
Definition: CSeparableMetric.h:119
DGtal::concepts::CSeparableMetric::Point
T::Point Point
Definition: CSeparableMetric.h:105
DGtal::concepts::CMetricSpace
Aim: defines the concept of metric spaces.
Definition: CMetricSpace.h:124
Point
MyPointD Point
Definition: testClone2.cpp:383
DGtal::concepts::CSeparableMetric
Aim: defines the concept of separable metrics.
Definition: CSeparableMetric.h:101
DGtal::concepts::CSeparableMetric::checkConstConstraints
void checkConstConstraints() const
Definition: CSeparableMetric.h:110