DGtal  1.4.beta
CBidirectionalRangeWithWritableIteratorFromPoint.h
1 
17 #pragma once
18 
31 #if defined(CBidirectionalRangeWithWritableIteratorFromPoint_RECURSES)
32 #error Recursive header files inclusion detected in CBidirectionalRangeWithWritableIteratorFromPoint.h
33 #else // defined(CBidirectionalRangeWithWritableIteratorFromPoint_RECURSES)
35 #define CBidirectionalRangeWithWritableIteratorFromPoint_RECURSES
36 
37 #if !defined CBidirectionalRangeWithWritableIteratorFromPoint_h
39 #define CBidirectionalRangeWithWritableIteratorFromPoint_h
40 
42 // Inclusions
43 #include "DGtal/base/Common.h"
44 #include "DGtal/base/CBidirectionalRangeWithWritableIterator.h"
46 
47 namespace DGtal
48 {
49 
50  namespace concepts
51  {
52 
54  // class CBidirectionalRangeWithWritableIteratorFromPoint
90  template <typename T, typename Value>
93  {
94  // ----------------------- Concept checks ------------------------------
95  public:
96  // 1. define first provided types (i.e. inner types), like
97  typedef typename T::Point Point;
98  typedef typename T::ReverseOutputIterator ReverseOutputIterator;
99 
100  // 2. then check the presence of data members, operators and methods with
102  {
103  concepts::ConceptUtils::sameType( myIt, myX.routputIterator( myPoint ) );
104  }
105 
106  // ------------------------- Private Datas --------------------------------
107  private:
108  T myX; // do not require T to be default constructible.
111 
112  // ------------------------- Internals ------------------------------------
113  private:
114 
115  }; // end of concept CBidirectionalRangeWithWritableIteratorFromPoint
116 
117  } // namespace concepts
118 
119 } // namespace DGtal
120 
121 // //
123 
124 #endif // !defined CBidirectionalRangeWithWritableIteratorFromPoint_h
125 
126 #undef CBidirectionalRangeWithWritableIteratorFromPoint_RECURSES
127 #endif // else defined(CBidirectionalRangeWithWritableIteratorFromPoint_RECURSES)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: refined concept of single pass range with an routputIterator() method from a point.
Aim: refined concept of bidirectional range which require that a reverse output iterator exists.
MyPointD Point
Definition: testClone2.cpp:383