26 #ifndef MLN_DATA_APPLY_HH
27 # define MLN_DATA_APPLY_HH
34 # include <mln/core/concept/image.hh>
35 # include <mln/core/concept/function.hh>
38 # include <mln/data/apply.spe.hh>
60 template <
typename I,
typename F>
61 void apply(Image<I>& input,
const Function_v2v<F>& f);
65 # ifndef MLN_INCLUDE_ONLY
73 template <
typename I,
typename F>
75 void apply_(I& input,
const F& f)
77 trace::entering(
"data::impl::generic::apply_");
79 mln_piter(I) p(input.domain());
81 input(p) = f(input(p));
83 trace::exiting("
data::impl::generic::apply_");
93 template <typename I, typename F>
97 trace::entering(
"data::apply");
99 mln_precondition(exact(input).is_valid());
100 impl::apply_(mln_trait_image_speed(I)(), exact(input),
103 trace::exiting(
"data::apply");
106 # endif // ! MLN_INCLUDE_ONLY
113 #endif // ! MLN_DATA_APPLY_HH