27 #ifndef MLN_VALUE_VITER_HH
28 # define MLN_VALUE_VITER_HH
37 # include <mln/core/concept/value_iterator.hh>
38 # include <mln/core/concept/value_set.hh>
81 operator mln_value(S) () const;
101 template <typename S>
105 typedef mln_value(S) value;
128 operator mln_value(S) () const;
141 # ifndef MLN_INCLUDE_ONLY
146 template <
typename S>
153 template <
typename S>
157 change_target(
exact(s));
160 template <
typename S>
169 template <
typename S>
174 return s_ != 0 && i_ < s_->nvalues();
177 template <
typename S>
185 template <
typename S>
193 template <
typename S>
201 template <
typename S>
203 fwd_viter_<S>::operator mln_value(S) ()
const
205 mln_precondition(is_valid());
209 template <
typename S>
220 template <
typename S>
227 template <
typename S>
234 template <
typename S>
243 template <
typename S>
248 return s_ != 0 && i_ != s_->nvalues();
251 template <
typename S>
259 template <
typename S>
264 i_ = s_->nvalues() - 1;
267 template <
typename S>
280 template <
typename S>
282 bkd_viter_<S>::operator mln_value(S) ()
const
284 mln_precondition(is_valid());
288 template <
typename S>
296 # endif // ! MLN_INCLUDE_ONLY
303 #endif // ! MLN_VALUE_VITER_HH