27 #ifndef MLN_LOGICAL_AND_NOT_HH
28 # define MLN_LOGICAL_AND_NOT_HH
34 # include <mln/logical/includes.hh>
35 # include <mln/fun/vv2v/land_not.hh>
55 template <
typename L,
typename R>
56 mln_ch_fun_vv2v(land_not, L, R)
57 and_not(const Image<L>& lhs, const Image<R>&
rhs);
74 template <typename L, typename R>
78 # ifndef MLN_INCLUDE_ONLY
80 template <
typename L,
typename R>
82 mln_ch_fun_vv2v(land_not, L, R)
83 and_not(const Image<L>& lhs, const Image<R>& rhs)
85 mln_trace(
"logical::and_not");
87 internal::tests(lhs, rhs);
89 mln_fun_vv2v(land_not, L, R) f;
90 mln_ch_fun_vv2v(land_not, L, R) output =
data::
transform(lhs, rhs, f);
95 template <typename L, typename R>
99 mln_trace(
"logical::and_not_inplace");
101 mlc_converts_to(mln_fun_vv2v_result(land_not, L, R),
102 mln_value(L))::check();
104 internal::tests(lhs, rhs);
106 mln_fun_vv2v(land_not, L, R) f;
107 data::transform_inplace(lhs, rhs, f);
111 # endif // ! MLN_INCLUDE_ONLY
118 #endif // ! MLN_LOGICAL_AND_NOT_HH