26 #ifndef MLN_TOPO_INTERNAL_COMPLEX_ITERATOR_BASE_HH
27 # define MLN_TOPO_INTERNAL_COMPLEX_ITERATOR_BASE_HH
60 # include <mln/core/concept/iterator.hh>
61 # include <mln/topo/complex.hh>
77 template <
typename F,
typename E>
78 class complex_iterator_base :
public Iterator<E>
80 typedef complex_iterator_base<F, E> self_;
91 const face& subject()
const;
93 operator const F&()
const;
103 template <
typename F,
typename E>
106 operator<<(std::ostream& ostr, const complex_iterator_base<F, E>& p);
110 # ifndef MLN_INCLUDE_ONLY
112 template <
typename F,
typename E>
115 complex_iterator_base<F, E>::subject()
const
120 template <
typename F,
typename E>
122 complex_iterator_base<F, E>::operator
const F& ()
const
128 template <
typename F,
typename E>
131 operator<<(std::ostream& ostr, const complex_iterator_base<F, E>& p)
136 # endif // ! MLN_INCLUDE_ONLY
144 #endif // ! MLN_TOPO_INTERNAL_COMPLEX_ITERATOR_BASE_HH