DGtal  1.5.beta
BasicArchetypes.h
1 
17 #pragma once
18 
31 #if defined(BasicArchetypes_RECURSES)
32 #error Recursive header files inclusion detected in BasicArchetypes.h
33 #else // defined(BasicArchetypes_RECURSES)
35 #define BasicArchetypes_RECURSES
36 
37 #if !defined BasicArchetypes_h
39 #define BasicArchetypes_h
40 
42 // Inclusions
43 #include <iostream>
45 
46 namespace DGtal
47 {
48 
50  // List of basic archetypes, grouped in this file.
51 
52 
58  template <typename T>
60  public boost::input_iterator_archetype<T>
61  {};
62 
68  template <typename T>
70  public boost::mutable_bidirectional_iterator_archetype<T>
71  {};
72 
78  template <typename T>
80  public boost::bidirectional_iterator_archetype<T>
81  {};
82 
83  // {
84  // CBidirectionalIteratorArchetype( const boost::mutable_bidirectional_iterator_archetype<T> & ) {}
85  // CBidirectionalIteratorArchetype &
86  // operator=( const boost::mutable_bidirectional_iterator_archetype<T> & )
87  // { return *this; }
88  // };
89 
95  template <typename T>
97  : public boost::forward_iterator_archetype<T>
98  {};
99 
100 } // namespace DGtal
101 
102 // //
104 
105 #endif // !defined BasicArchetypes_h
106 
107 #undef BasicArchetypes_RECURSES
108 #endif // else defined(BasicArchetypes_RECURSES)
DGtal is the top-level namespace which contains all DGtal functions and types.
An archetype of BidirectionalIterator.
An archetype of ConstBidirectionalIterator.
An archetype of ForwardIterator.
An archetype of SingePassIterator.