DGtal  0.9.2
CBidirectionalRange.h
1 
17 #pragma once
18 
31 #if defined(CBidirectionalRange_RECURSES)
32 #error Recursive header files inclusion detected in CBidirectionalRange.h
33 #else // defined(CBidirectionalRange_RECURSES)
34 
35 #define CBidirectionalRange_RECURSES
36 
37 #if !defined CBidirectionalRange_h
38 
39 #define CBidirectionalRange_h
40 
42 // Inclusions
43 #include "DGtal/base/Common.h"
44 #include "boost/concept_check.hpp"
45 #include "DGtal/base/ConceptUtils.h"
46 #include "DGtal/base/CConstBidirectionalRange.h"
48 
49 namespace DGtal
50 {
51 
52  namespace concepts
53  {
54 
56  // class CBidirectionalRange
89  template <typename T>
91  {
92  // ----------------------- Concept checks ------------------------------
93  public:
94  typedef typename T::ReverseIterator ReverseIterator;
95 
97 
99  {
102  };
103 
104  private:
105  T i;
106  ReverseIterator it;
107  }; // end of concept CBidirectionalRange
108 
109  } // namespace concepts
110 
111 } // namespace DGtal
112 
113 
114 
115 // //
117 
118 #endif // !defined CBidirectionalRange_h
119 
120 #undef CBidirectionalRange_RECURSES
121 #endif // else defined(CBidirectionalRange_RECURSES)
Aim: Defines the concept describing a bidirectional const range.
Aim: Defines the concept describing a bidirectional range.
void sameType(const T &t1, const T &t2)
DGtal is the top-level namespace which contains all DGtal functions and types.
BOOST_CONCEPT_ASSERT((boost_concepts::SinglePassIteratorConcept< ReverseIterator >))
Go to http://www.boost.org/doc/libs/1_52_0/libs/iterator/doc/SinglePassIterator.html.