DGtal  0.9.2
CConstBidirectionalRangeFromPoint.h
1 
17 #pragma once
18 
31 #if defined(CConstBidirectionalRangeFromPoint_RECURSES)
32 #error Recursive header files inclusion detected in CConstBidirectionalRangeFromPoint.h
33 #else // defined(CConstBidirectionalRangeFromPoint_RECURSES)
34 
35 #define CConstBidirectionalRangeFromPoint_RECURSES
36 
37 #if !defined CConstBidirectionalRangeFromPoint_h
38 
39 #define CConstBidirectionalRangeFromPoint_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/CConstBidirectionalRange.h"
47 
48 namespace DGtal
49 {
50 
51  namespace concepts
52  {
53 
55  // class CConstBidirectionalRangeFromPoint
92  template <typename T>
94  {
95  // ----------------------- Concept checks ------------------------------
96  public:
97  // 1. define first provided types (i.e. inner types), like
98  typedef typename T::Point Point;
99 
100  // 2. then check the presence of data members, operators and methods with
102  {
104  }
106  {
107  // const method dummyConst should take parameter myA of type A and return
108  // something of type B
110  }
111  // ------------------------- Private Datas --------------------------------
112  private:
113  T myX; // do not require T to be default constructible.
114  Point myPoint;
115  typename T::ConstReverseIterator myB;
116 
117  // ------------------------- Internals ------------------------------------
118  private:
119 
120  }; // end of concept CConstBidirectionalRangeFromPoint
121 
122  } // namespace concepts
123 
124 } // namespace DGtal
125 
128 
129 #endif // !defined CConstBidirectionalRangeFromPoint_h
130 
131 #undef CConstBidirectionalRangeFromPoint_RECURSES
132 #endif // else defined(CConstBidirectionalRangeFromPoint_RECURSES)
Aim: Defines the concept describing a bidirectional const 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 const bidirectional range with a begin() method from a point.