DGtal 1.3.0
Loading...
Searching...
No Matches
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)
35#define CSeparableMetric_RECURSES
36
37#if !defined CSeparableMetric_h
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
48namespace DGtal
49{
50namespace concepts
51{
53// class CSeparableMetric
100template <typename T>
102{
103 // ----------------------- Concept checks ------------------------------
104public:
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 --------------------------------
117private:
118 T myX; // do not require T to be default constructible.
120 bool myBool;
122
123 // ------------------------- Internals ------------------------------------
124private:
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)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension
Definition: Common.h:137
Aim: defines the concept of metric spaces.
Definition: CMetricSpace.h:125
Aim: defines the concept of separable metrics.