26 #ifndef MLN_CORE_INTERNAL_IMAGE_VALUE_MORPHER_HH
27 # define MLN_CORE_INTERNAL_IMAGE_VALUE_MORPHER_HH
37 # include <mln/core/internal/image_morpher.hh>
52 template <
typename I,
typename T,
typename E>
53 class image_value_morpher :
public image_morpher<I, T, mln_domain(I), E>
57 const mln_domain(I)& domain()
const;
58 bool has(
const mln_psite(I)& p)
const;
61 image_value_morpher();
65 # ifndef MLN_INCLUDE_ONLY
67 template <
typename I,
typename T,
typename E>
69 image_value_morpher<I,T,E>::image_value_morpher()
73 template <
typename I,
typename T,
typename E>
76 image_value_morpher<I,T,E>::domain()
const
78 mln_precondition(this->delegatee_() != 0);
79 return this->delegatee_()->domain();
82 template <
typename I,
typename T,
typename E>
85 image_value_morpher<I,T,E>::has(
const mln_psite(I)& p)
const
87 mln_precondition(this->delegatee_() != 0);
88 return this->delegatee_()->has(p);
91 # endif // ! MLN_INCLUDE_ONLY
98 #endif // ! MLN_CORE_INTERNAL_IMAGE_VALUE_MORPHER_HH