26 #ifndef MLN_ACCU_MATH_SUP_HH
27 # define MLN_ACCU_MATH_SUP_HH
33 # include <mln/accu/internal/base.hh>
34 # include <mln/core/concept/meta_accumulator.hh>
35 # include <mln/trait/value_.hh>
36 # include <mln/util/pix.hh>
37 # include <mln/fun/math/sup.hh>
56 struct sup :
public mln::accu::internal::base< const T&, sup<T> >
65 void take_as_init_(
const argument& t);
66 void take(
const argument& t);
80 typename mln::fun::sup::with<T, T>::ret fun_;
84 template <
typename I>
struct sup< util::pix<I> >;
100 template <
typename T>
113 # ifndef MLN_INCLUDE_ONLY
118 template <
typename T>
125 template <
typename T>
133 template <
typename T>
140 template <
typename T>
142 void sup<T>::take(
const argument& t)
144 this->t_ = this->fun_(t_, t);
147 template <
typename T>
150 sup<T>::take(
const sup<T>& other)
152 this->t_ = this->fun_(t_, other.t_);
155 template <
typename T>
163 template <
typename T>
173 # endif // ! MLN_INCLUDE_ONLY
180 #endif // ! MLN_ACCU_MATH_SUP_HH