DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/CConstBidirectionalRange.h"
47 
48 namespace DGtal
49 {
50 
52  // class CBidirectionalRange
129  template <typename T>
131  {
132  // ----------------------- Concept checks ------------------------------
133  public:
134  typedef typename T::ReverseIterator ReverseIterator;
135 
136  BOOST_CONCEPT_ASSERT(( boost_concepts::SinglePassIteratorConcept<ReverseIterator> ));
137 
139  {
140  ReverseIterator it2=i.rbegin();
141  it2=i.rend();
142  };
143 
144  private:
145  T i;
146  }; // end of concept CBidirectionalRange
147 
148 } // namespace DGtal
149 
150 
151 
152 // //
154 
155 #endif // !defined CBidirectionalRange_h
156 
157 #undef CBidirectionalRange_RECURSES
158 #endif // else defined(CBidirectionalRange_RECURSES)