Public Types | Public Member Functions | Protected Attributes | Private Types

mln::morpho::attribute::sum< I, S > Class Template Reference

Suminality accumulator class. More...

#include <sum.hh>

Inheritance diagram for mln::morpho::attribute::sum< I, S >:
Inheritance graph

List of all members.

Public Types

typedef I::value argument
typedef Accumulator< void > category
typedef sum< I, S > exact_t
typedef S q_result
typedef mln::metal::unqualif
< S >::ret 
result

Public Member Functions

bool is_valid () const
 Check whether this accu is able to return a result.
void set_value (const argument &v)
 Set the return value of the accumalator.
void set_value (const util::pix< I > &px)
subj_ ()
 sum ()
void take_as_init (const T &t)
 Take as initialization the value t.
void take_as_init_ (const T &t)
 Default implementation of "take as initialization".
void take_n_times (unsigned n, const T &t)
 Take n times the value t.
void take_n_times_ (unsigned n, const T &t)
 Default implementation of "take n times".
to_result () const
 Get the value of the accumulator.
void untake (const util::pix< I > &px)
void untake (const argument &v)
 Untake a value from the accumulator.

void init ()
 Manipulators.
void take (const argument &v)
void take (const util::pix< I > &px)
void take (const sum< I, S > &other)
void take_as_init_ (const argument &v)
void take_as_init_ (const util::pix< I > &px)

Protected Attributes

s_
 The sum value.

Private Types

typedef
mln::accu::internal::base< S,
sum< I > > 
super_

Detailed Description

template<typename I, typename S = typename mln::value::props< typename I ::value >::sum>
class mln::morpho::attribute::sum< I, S >

Suminality accumulator class.

Definition at line 80 of file morpho/attribute/sum.hh.


Member Typedef Documentation

template<typename I, typename S = typename mln::value::props< typename I ::value >::sum>
typedef I ::value mln::morpho::attribute::sum< I, S >::argument

Definition at line 85 of file morpho/attribute/sum.hh.

typedef Accumulator<void> mln::Accumulator< sum< I, S > >::category [inherited]

Reimplemented from mln::Proxy< sum< I, S > >.

Definition at line 80 of file accumulator.hh.

typedef sum< I, S > mln::Object< sum< I, S > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef S mln::accu::internal::base< S , sum< I, S > >::q_result [inherited]

Definition at line 58 of file base.hh.

typedef mln::metal::unqualif< S >::ret mln::accu::internal::base< S , sum< I, S > >::result [inherited]

Definition at line 59 of file base.hh.

template<typename I, typename S = typename mln::value::props< typename I ::value >::sum>
typedef mln::accu::internal::base< S, sum<I> > mln::morpho::attribute::sum< I, S >::super_ [private]

Definition at line 82 of file morpho/attribute/sum.hh.


Constructor & Destructor Documentation

template<typename I , typename S >
mln::morpho::attribute::sum< I, S >::sum (  )  [inline]

Member Function Documentation

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::init (  )  [inline]

Manipulators.

Definition at line 137 of file morpho/attribute/sum.hh.

References mln::literal::zero.

Referenced by mln::morpho::attribute::sum< I, S >::sum().

template<typename I , typename S >
bool mln::morpho::attribute::sum< I, S >::is_valid (  )  const [inline]

Check whether this accu is able to return a result.

Return always true.

Definition at line 229 of file morpho/attribute/sum.hh.

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::set_value ( const argument v  )  [inline]

Set the return value of the accumalator.

Definition at line 205 of file morpho/attribute/sum.hh.

Referenced by mln::morpho::attribute::sum< I, S >::set_value().

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::set_value ( const util::pix< I > &  px  )  [inline]
S mln::accu::internal::base< S , sum< I, S > >::subj_ (  )  [inherited]
template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::take ( const argument v  )  [inline]

Definition at line 147 of file morpho/attribute/sum.hh.

Referenced by mln::morpho::attribute::sum< I, S >::take().

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::take ( const sum< I, S > &  other  )  [inline]

Definition at line 163 of file morpho/attribute/sum.hh.

References mln::morpho::attribute::sum< I, S >::s_.

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::take ( const util::pix< I > &  px  )  [inline]
void mln::Accumulator< sum< I, S > >::take_as_init ( const T &  t  )  [inherited]

Take as initialization the value t.

Dev note: this is a final method; override if needed by take_as_init_ (ending with '_').

void mln::Accumulator< sum< I, S > >::take_as_init_ ( const T &  t  )  [inherited]

Default implementation of "take as initialization".

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::take_as_init_ ( const argument v  )  [inline]
template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::take_as_init_ ( const util::pix< I > &  px  )  [inline]
void mln::Accumulator< sum< I, S > >::take_n_times ( unsigned  n,
const T &  t 
) [inherited]

Take n times the value t.

Dev note: this is a final method; override if needed by take_as_init_ (ending with '_').

void mln::Accumulator< sum< I, S > >::take_n_times_ ( unsigned  n,
const T &  t 
) [inherited]

Default implementation of "take n times".

template<typename I , typename S >
S mln::morpho::attribute::sum< I, S >::to_result (  )  const [inline]

Get the value of the accumulator.

Definition at line 221 of file morpho/attribute/sum.hh.

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::untake ( const argument v  )  [inline]

Untake a value from the accumulator.

Definition at line 189 of file morpho/attribute/sum.hh.

Referenced by mln::morpho::attribute::sum< I, S >::untake().

template<typename I , typename S >
void mln::morpho::attribute::sum< I, S >::untake ( const util::pix< I > &  px  )  [inline]

Member Data Documentation

template<typename I, typename S = typename mln::value::props< typename I ::value >::sum>
S mln::morpho::attribute::sum< I, S >::s_ [protected]

The sum value.

Definition at line 120 of file morpho/attribute/sum.hh.

Referenced by mln::morpho::attribute::sum< I, S >::take().