DGtal 1.3.0
Loading...
Searching...
No Matches
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 <iostream>
44#include "DGtal/base/Common.h"
45#include "DGtal/base/CBidirectionalRangeWithWritableIterator.h"
47
48namespace DGtal
49{
50
51 namespace concepts
52 {
53
55 // class CBidirectionalRangeWithWritableIteratorFromPoint
91 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::Point Point;
99 typedef typename T::ReverseOutputIterator ReverseOutputIterator;
100
101 // 2. then check the presence of data members, operators and methods with
103 {
104 concepts::ConceptUtils::sameType( myIt, myX.routputIterator( myPoint ) );
105 }
106
107 // ------------------------- Private Datas --------------------------------
108 private:
109 T myX; // do not require T to be default constructible.
112
113 // ------------------------- Internals ------------------------------------
114 private:
115
116 }; // end of concept CBidirectionalRangeWithWritableIteratorFromPoint
117
118 } // namespace concepts
119
120} // namespace DGtal
121
122// //
124
125#endif // !defined CBidirectionalRangeWithWritableIteratorFromPoint_h
126
127#undef CBidirectionalRangeWithWritableIteratorFromPoint_RECURSES
128#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.