DGtal  1.2.0
CConstBidirectionalRange.h
1 
17 #pragma once
18 
31 #if defined(CConstBidirectionalRange_RECURSES)
32 #error Recursive header files inclusion detected in CConstBidirectionalRange.h
33 #else // defined(CConstBidirectionalRange_RECURSES)
35 #define CConstBidirectionalRange_RECURSES
36 
37 #if !defined CConstBidirectionalRange_h
39 #define CConstBidirectionalRange_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/CConstSinglePassRange.h"
48 
49 namespace DGtal
50 {
51 
52  namespace concepts
53  {
54 
56  // class CConstBidirectionalRange
88  template <typename T>
90  {
91  // ----------------------- Concept checks ------------------------------
92  public:
93  typedef typename T::ConstReverseIterator ConstReverseIterator;
94 
96 
98  {
100  }
102  {
105  }
106 
107  private:
108  T i;
110  }; // end of concept CConstBidirectionalRange
111 
112  } // namespace concepts
113 
114 } // namespace DGtal
115 
116 
117 
120 
121 #endif // !defined CConstBidirectionalRange_h
122 
123 #undef CConstBidirectionalRange_RECURSES
124 #endif // else defined(CConstBidirectionalRange_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 const range.
BOOST_CONCEPT_ASSERT((boost_concepts::SinglePassIteratorConcept< ConstReverseIterator >))
Aim: Defines the concept describing a const single pass range.
Go to http://www.boost.org/doc/libs/1_52_0/libs/iterator/doc/SinglePassIterator.html.