26 #ifndef MLN_DATA_REPLACE_HH
27 # define MLN_DATA_REPLACE_HH
33 # include <mln/core/concept/image.hh>
34 # include <mln/core/image/dmorph/image_if.hh>
36 # include <mln/data/fill.hh>
37 # include <mln/pw/value.hh>
38 # include <mln/pw/cst.hh>
55 const mln_value(I)& old_value,
const mln_value(I)& new_value);
58 # ifndef MLN_INCLUDE_ONLY
68 void replace_(Image<I>& input_,
const mln_value(I)& old_value,
69 const mln_value(I)& new_value)
71 trace::entering(
"data::impl::generic::replace");
72 I& input = exact(input_);
74 data::fill((input | (pw::value(input) == pw::cst(old_value))).rw(),
77 trace::exiting(
"data::impl::generic::replace");
89 const mln_value(I)& old_value,
const mln_value(I)& new_value)
91 trace::entering(
"data::replace");
93 mln_precondition(exact(input).is_valid());
95 impl::generic::replace_<I>(exact(input), old_value, new_value);
97 trace::exiting(
"data::replace");
101 # endif // ! MLN_INCLUDE_ONLY
108 #endif // ! MLN_DATA_REPLACE_HH