27 #ifndef MLN_MORPHO_PLUS_HH
28 # define MLN_MORPHO_PLUS_HH
37 # include <mln/data/compare.hh>
38 # include <mln/logical/or.hh>
39 # include <mln/arith/plus.hh>
53 template <
typename I,
typename J>
54 mln_concrete(I)
plus(const Image<I>& lhs, const Image<J>&
rhs);
57 # ifndef MLN_INCLUDE_ONLY
64 template <
typename I,
typename J>
66 mln_concrete(I) plus_(trait::image::kind::logic,
67 const I& lhs, const J& rhs)
74 template <
typename I,
typename J>
76 mln_concrete(I) plus_(trait::image::kind::any,
77 const I& lhs, const J& rhs)
79 return arith::plus<mln_value(I)>(lhs,
rhs);
87 template <
typename I,
typename J>
89 mln_concrete(I)
plus(const Image<I>& lhs, const Image<J>& rhs)
91 mln_trace(
"morpho::plus");
94 mln_concrete(I) output = impl::plus_(mln_trait_image_kind(I)(),
100 # endif // ! MLN_INCLUDE_ONLY
107 #endif // ! MLN_MORPHO_PLUS_HH