DGtal  0.9.2
CSinglePassRangeWithWritableIteratorFromPoint.h
1 
17 #pragma once
18 
31 #if defined(CSinglePassRangeWithWritableIteratorFromPoint_RECURSES)
32 #error Recursive header files inclusion detected in CSinglePassRangeWithWritableIteratorFromPoint.h
33 #else // defined(CSinglePassRangeWithWritableIteratorFromPoint_RECURSES)
34 
35 #define CSinglePassRangeWithWritableIteratorFromPoint_RECURSES
36 
37 #if !defined CSinglePassRangeWithWritableIteratorFromPoint_h
38 
39 #define CSinglePassRangeWithWritableIteratorFromPoint_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/CSinglePassRangeWithWritableIterator.h"
46 #include "DGtal/base/CConstSinglePassRangeFromPoint.h"
48 
49 namespace DGtal
50 {
51 
52  namespace concepts
53  {
54 
56  // class CSinglePassRangeWithWritableIteratorFromPoint
90  template <typename T, typename Value>
94  {
95  // ----------------------- Concept checks ------------------------------
96  public:
97  // 1. define first provided types (i.e. inner types), like
98  typedef typename T::OutputIterator OutputIterator;
99  typedef typename T::Point Point;
100 
101  // 2. then check the presence of data members, operators and methods with
103  {
104  ConceptUtils::sameType( myIt, myX.begin( myPoint ) );
105  }
106 
107  // ------------------------- Private Datas --------------------------------
108  private:
109  T myX; // do not require T to be default constructible.
110  Point myPoint;
111  OutputIterartor myIt;
112 
113  // ------------------------- Internals ------------------------------------
114  private:
115 
116  }; // end of concept CSinglePassRangeWithWritableIteratorFromPoint
117 
118  } // namespace concepts
119 
120 } // namespace DGtal
121 
122 // //
124 
125 #endif // !defined CSinglePassRangeWithWritableIteratorFromPoint_h
126 
127 #undef CSinglePassRangeWithWritableIteratorFromPoint_RECURSES
128 #endif // else defined(CSinglePassRangeWithWritableIteratorFromPoint_RECURSES)
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 single pass range which require that an output iterator exists...
Aim: refined concept of single pass range with a outputIterator() method from a point.
Aim: refined concept of const single pass range with a begin() method from a point.