26 #ifndef MLN_FUN_P2B_HAS_HH
27 # define MLN_FUN_P2B_HAS_HH
34 # include <mln/core/concept/image.hh>
35 # include <mln/core/concept/function.hh>
36 # include <mln/metal/const.hh>
37 # include <mln/metal/unconst.hh>
54 :
public Function_v2b< has<I> >,
55 private mlc_is_a(I, Image)::check_t
61 bool operator()(
const mln_psite(I)& p)
const;
68 has(mlc_const(I)& ima);
72 has(
const has<I>& rhs);
75 has<I>& operator=(
const has<I>& rhs);
79 typedef Function_v2b< has<I> > super_;
83 # ifndef MLN_INCLUDE_ONLY
88 has<I>::operator()(
const mln_psite(I)& p)
const
100 template <
typename I>
102 has<I>::has(mlc_const(I)& ima)
107 template <
typename I>
109 has<I>::has(
const has<I>& rhs)
110 : Function_v2v<
has<I> >(),
116 template <
typename I>
119 has<I>::operator=(
const has<I>& rhs)
123 const_cast<mlc_unconst(I)&
>(this->ima_) = rhs.ima_;
127 # endif // ! MLN_INCLUDE_ONLY
136 #endif // ! MLN_FUN_P2B_HAS_HH