26 #ifndef MLN_OPT_VALUE_HH
27 # define MLN_OPT_VALUE_HH
33 # include <mln/core/concept/image.hh>
34 # include <mln/trait/images.hh>
44 mln_rvalue(I)
value(const Image<I>& ima);
48 mln_lvalue(I)
value(Image<I>& ima);
51 # ifndef MLN_INCLUDE_ONLY
58 mln_rvalue(I) value_impl(trait::image::category::domain_morpher,
66 mln_rvalue(I) value_impl(trait::image::category::any,
69 mlc_is(mln_trait_image_value_storage(I),
70 trait::image::value_storage::singleton)::check();
71 return exact(ima).value_();
79 mln_lvalue(I) value_impl(trait::image::category::domain_morpher,
87 mln_lvalue(I) value_impl(trait::image::category::any,
90 mlc_is(mln_trait_image_value_storage(I),
91 trait::image::value_storage::singleton)::check();
92 return exact(ima).value_();
99 mln_rvalue(I)
value(const Image<I>& ima)
101 return impl::value_impl(mln_trait_image_category(I)(), ima);
104 template <
typename I>
106 mln_lvalue(I)
value(Image<I>& ima)
108 return impl::value_impl(mln_trait_image_category(I)(), ima);
114 # endif // ! MLN_INCLUDE_ONLY
121 #endif // ! MLN_OPT_VALUE_HH