26 #ifndef MLN_UTIL_LEMMINGS_HH
27 # define MLN_UTIL_LEMMINGS_HH
33 # include <mln/core/concept/image.hh>
46 struct lemmings_ :
public Object< lemmings_<I> >
48 lemmings_(
const Image<I>& ima,
const mln_psite(I)& pt,
49 const mln_deduce(I, psite, delta)& dpt,
const mln_value(I)& val);
51 mln_psite(I) operator()();
55 const mln_deduce(I, psite, delta)& dpt_;
56 const mln_value(I)& val_;
74 lemmings(const Image<I>& ima, const mln_psite(I)& pt,
75 const mln_deduce(I, psite, delta)& dpt, const mln_value(I)& val);
78 # ifndef MLN_INCLUDE_ONLY
84 lemmings_<I>::lemmings_(
const Image<I>& ima,
const mln_psite(I)& pt,
85 const mln_deduce(I, psite, delta)& dpt,
const mln_value(I)& val)
95 lemmings_<I>::operator()()
97 while (ima_.domain().has(pt_) && ima_(pt_) == val_)
102 template <
typename I>
104 lemmings(const
Image<I>& ima, const mln_psite(I)& pt,
105 const mln_deduce(I, psite, delta)& dpt, const mln_value(I)& val)
107 lemmings_<I> lm(ima, pt, dpt, val);
111 # endif // ! MLN_INCLUDE_ONLY
118 #endif // ! MLN_UTIL_LEMMINGS_HH