DGtal  0.9.2
CSinglePassRangeFromPoint.h
1 
17 #pragma once
18 
31 #if defined(CSinglePassRangeFromPoint_RECURSES)
32 #error Recursive header files inclusion detected in CSinglePassRangeFromPoint.h
33 #else // defined(CSinglePassRangeFromPoint_RECURSES)
34 
35 #define CSinglePassRangeFromPoint_RECURSES
36 
37 #if !defined CSinglePassRangeFromPoint_h
38 
39 #define CSinglePassRangeFromPoint_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/CSinglePassRange.h"
46 #include "DGtal/base/CConstSinglePassRangeFromPoint.h"
48 
49 namespace DGtal
50 {
51 
52  namespace concepts
53  {
54 
56  // class CSinglePassRangeFromPoint
87  template <typename T>
91  {
92  // ----------------------- Concept checks ------------------------------
93  public:
94  // 1. define first provided types (i.e. inner types), like
95  typedef typename T::Point Point;
96 
97  // 2. then check the presence of data members, operators and methods with
99  {
100  ConceptUtils::sameType( myIt, myX.begin( myPoint ) );
101  }
102 
103  // ------------------------- Private Datas --------------------------------
104  private:
105  T myX; // do not require T to be default constructible.
106  Point myPoint;
107  Iterartor myIt;
108 
109  // ------------------------- Internals ------------------------------------
110  private:
111 
112  }; // end of concept CSinglePassRangeFromPoint
113 
114  } // namespace concepts
115 
116 } // namespace DGtal
117 
118 // //
120 
121 #endif // !defined CSinglePassRangeFromPoint_h
122 
123 #undef CSinglePassRangeFromPoint_RECURSES
124 #endif // else defined(CSinglePassRangeFromPoint_RECURSES)
Aim: Defines the concept describing a range.
void sameType(const T &t1, const T &t2)
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: refined concept of single pass range with a begin() method from a point.
Aim: refined concept of const single pass range with a begin() method from a point.