DGtal  1.5.beta
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)
35 #define CBidirectionalRange_RECURSES
36 
37 #if !defined CBidirectionalRange_h
39 #define CBidirectionalRange_h
40 
42 // Inclusions
43 #include "boost/concept_check.hpp"
44 #include "DGtal/base/ConceptUtils.h"
45 #include "DGtal/base/CConstBidirectionalRange.h"
47 
48 namespace DGtal
49 {
50 
51  namespace concepts
52  {
53 
55  // class CBidirectionalRange
88  template <typename T>
90  {
91  // ----------------------- Concept checks ------------------------------
92  public:
93  typedef typename T::ReverseIterator ReverseIterator;
94 
96 
98  {
101  };
102 
103  private:
104  T i;
106  }; // end of concept CBidirectionalRange
107 
108  } // namespace concepts
109 
110 } // namespace DGtal
111 
112 
113 
114 // //
116 
117 #endif // !defined CBidirectionalRange_h
118 
119 #undef CBidirectionalRange_RECURSES
120 #endif // else defined(CBidirectionalRange_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: Defines the concept describing a bidirectional range.
BOOST_CONCEPT_ASSERT((boost_concepts::SinglePassIteratorConcept< ReverseIterator >))
Aim: Defines the concept describing a bidirectional const range.
Go to http://www.boost.org/doc/libs/1_52_0/libs/iterator/doc/SinglePassIterator.html.