DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CSinglePassRange.h
1 
17 #pragma once
18 
31 #if defined(CSinglePassRange_RECURSES)
32 #error Recursive header files inclusion detected in CSinglePassRange.h
33 #else // defined(CSinglePassRange_RECURSES)
34 
35 #define CSinglePassRange_RECURSES
36 
37 #if !defined CSinglePassRange_h
38 
39 #define CSinglePassRange_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/CConstSinglePassRange.h"
46 
47 namespace DGtal
48 {
49 
51  // class CSinglePassRange
84  template <typename T>
86  {
87  // ----------------------- Concept checks ------------------------------
88  public:
89  typedef typename T::Iterator Iterator;
90 
91  BOOST_CONCEPT_ASSERT(( boost_concepts::SinglePassIteratorConcept<Iterator> ));
92 
94  {
95  Iterator it=i.begin();
96  it=i.end();
97  };
98 
99  private:
100  T i;
101  }; // end of concept CSinglePassRange
102 
103 } // namespace DGtal
104 
105 
106 
107 // //
109 
110 #endif // !defined CSinglePassRange_h
111 
112 #undef CSinglePassRange_RECURSES
113 #endif // else defined(CSinglePassRange_RECURSES)