DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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)
34 
35 #define CConstBidirectionalRange_RECURSES
36 
37 #if !defined CConstBidirectionalRange_h
38 
39 #define CConstBidirectionalRange_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/CConstSinglePassRange.h"
46 
47 
49 // class CConstBidirectionalRange
106 namespace DGtal
107 {
108 template <typename T>
110 {
111  // ----------------------- Concept checks ------------------------------
112 public:
113  typedef typename T::ConstReverseIterator ConstReverseIterator;
114 
115  BOOST_CONCEPT_ASSERT(( boost_concepts::SinglePassIteratorConcept<ConstReverseIterator> ));
116 
118  {
119  ConstReverseIterator it=i.rbegin();
120  it=i.rend();
121  };
122 
123 private:
124  T i;
125 }; // end of concept CConstBidirectionalRange
126 
127 } // namespace DGtal
128 
129 
130 
133 
134 #endif // !defined CConstBidirectionalRange_h
135 
136 #undef CConstBidirectionalRange_RECURSES
137 #endif // else defined(CConstBidirectionalRange_RECURSES)