DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CSinglePassOutputRangeFromPoint.h
1 
17 #pragma once
18 
31 #if defined(CSinglePassOutputRangeFromPoint_RECURSES)
32 #error Recursive header files inclusion detected in CSinglePassOutputRangeFromPoint.h
33 #else // defined(CSinglePassOutputRangeFromPoint_RECURSES)
34 
35 #define CSinglePassOutputRangeFromPoint_RECURSES
36 
37 #if !defined CSinglePassOutputRangeFromPoint_h
38 
39 #define CSinglePassOutputRangeFromPoint_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/CSinglePassOutputRange.h"
46 #include "DGtal/base/CConstSinglePassRangeFromPoint.h"
48 
49 namespace DGtal
50 {
51 
53  // class CSinglePassOutputRangeFromPoint
91  template <typename T, typename Value>
94  CSinglePassOutputRange<T,Value>
95  {
96  // ----------------------- Concept checks ------------------------------
97  public:
98  // 1. define first provided types (i.e. inner types), like
99  typedef typename T::OutputIterator OutputIterator;
100  typedef typename T::Point Point;
101 
102  // 2. then check the presence of data members, operators and methods with
104  {
105  ConceptUtils::sameType( myIt, myX.begin( myPoint ) );
106  }
107 
108  // ------------------------- Private Datas --------------------------------
109  private:
110  T myX; // do not require T to be default constructible.
112  OutputIterartor myIt;
113 
114  // ------------------------- Internals ------------------------------------
115  private:
116 
117  }; // end of concept CSinglePassOutputRangeFromPoint
118 
119 } // namespace DGtal
120 
121 // //
123 
124 #endif // !defined CSinglePassOutputRangeFromPoint_h
125 
126 #undef CSinglePassOutputRangeFromPoint_RECURSES
127 #endif // else defined(CSinglePassOutputRangeFromPoint_RECURSES)