26 #ifndef MLN_CORE_CONCEPT_VALUE_ITERATOR_HH
27 # define MLN_CORE_CONCEPT_VALUE_ITERATOR_HH
34 # include <mln/core/concept/iterator.hh>
50 struct Value_Iterator :
public Iterator<E>
75 std::ostream& operator<<(std::ostream& ostr, const Value_Iterator<E>& v);
79 # ifndef MLN_INCLUDE_ONLY
83 Value_Iterator<E>::Value_Iterator()
85 typedef mln_value(E) value;
86 value (E::*m)() const = & E::operator value;
92 std::ostream& operator<<(std::ostream& ostr, const Value_Iterator<E>& v)
94 mln_precondition(exact(v).is_valid());
95 return ostr << mln_value(E)(exact(v));
98 # endif // ! MLN_INCLUDE_ONLY
103 #endif // ! MLN_CORE_CONCEPT_VALUE_ITERATOR_HH