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