Generic rank accumulator class. More...
#include <rank.hh>
Public Types | |
typedef T | argument |
typedef Accumulator< void > | category |
typedef rank< T > | exact_t |
typedef const T & | q_result |
typedef mln::metal::unqualif < const T & >::ret | result |
typedef mln::value::set< T > | S |
Public Member Functions | |
unsigned | card () const |
bool | is_valid () const |
Check whether this accu is able to return a result. | |
unsigned | k () const |
Give the rank. | |
rank (unsigned k) | |
rank () | |
const T & | subj_ () |
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". | |
const T & | to_result () const |
Get the value of the accumulator. | |
void | init () |
Manipulators. | |
void | take (const argument &t) |
void | take (const rank< T > &other) |
void | untake (const argument &t) |
void | untake (const rank< T > &other) |
Protected Member Functions | |
void | go_minus_ () const |
void | go_plus_ () const |
void | update_ () const |
Protected Attributes | |
accu::histo< T > | h_ |
unsigned | i_ |
unsigned | k_ |
const S & | s_ |
unsigned | sum_minus_ |
unsigned | sum_plus_ |
argument | t_ |
bool | valid_ |
Generic rank accumulator class.
The parameter T
is the type of values.
typedef T mln::accu::stat::rank< T >::argument |
typedef Accumulator<void> mln::Accumulator< rank< T > >::category [inherited] |
Reimplemented from mln::Proxy< rank< T > >.
typedef rank< T > mln::Object< rank< T > >::exact_t [inherited] |
typedef const T & mln::accu::internal::base< const T & , rank< T > >::q_result [inherited] |
typedef mln::metal::unqualif< const T & >::ret mln::accu::internal::base< const T & , rank< T > >::result [inherited] |
typedef mln::value::set<T> mln::accu::stat::rank< T >::S |
mln::accu::stat::rank< T >::rank | ( | ) | [inline] |
References mln::accu::stat::rank< T >::init().
mln::accu::stat::rank< T >::rank | ( | unsigned | k | ) | [inline, explicit] |
References mln::accu::stat::rank< T >::init().
unsigned mln::accu::stat::rank< T >::card | ( | ) | const [inline] |
References mln::accu::stat::rank< T >::h_, and mln::accu::histo< V >::sum().
void mln::accu::stat::rank< T >::go_minus_ | ( | ) | const [inline, protected] |
References mln::accu::stat::rank< T >::h_, mln::accu::stat::rank< T >::i_, mln::accu::stat::rank< T >::k_, mln::accu::stat::rank< T >::s_, mln::accu::stat::rank< T >::sum_minus_, mln::accu::stat::rank< T >::sum_plus_, and mln::accu::stat::rank< T >::t_.
Referenced by mln::accu::stat::rank< T >::update_().
void mln::accu::stat::rank< T >::go_plus_ | ( | ) | const [inline, protected] |
References mln::accu::stat::rank< T >::h_, mln::accu::stat::rank< T >::i_, mln::accu::stat::rank< T >::k_, mln::accu::stat::rank< T >::s_, mln::accu::stat::rank< T >::sum_minus_, mln::accu::stat::rank< T >::sum_plus_, and mln::accu::stat::rank< T >::t_.
Referenced by mln::accu::stat::rank< T >::update_().
void mln::accu::stat::rank< T >::init | ( | ) | [inline] |
Manipulators.
References mln::accu::stat::rank< T >::h_, mln::accu::stat::rank< T >::i_, mln::accu::histo< V >::init(), mln::accu::stat::rank< T >::s_, mln::accu::stat::rank< T >::sum_minus_, mln::accu::stat::rank< T >::sum_plus_, mln::accu::stat::rank< T >::t_, and mln::accu::stat::rank< T >::valid_.
Referenced by mln::accu::stat::rank< bool >::rank(), mln::accu::stat::rank< T >::rank(), and mln::morpho::impl::generic::rank_filter().
bool mln::accu::stat::rank< T >::is_valid | ( | ) | const [inline] |
Check whether this accu is able to return a result.
Always true here.
References mln::accu::stat::rank< T >::valid_.
unsigned mln::accu::stat::rank< T >::k | ( | ) | const [inline] |
Give the rank.
References mln::accu::stat::rank< T >::k_.
const T & mln::accu::internal::base< const T & , rank< T > >::subj_ | ( | ) | [inherited] |
void mln::accu::stat::rank< T >::take | ( | const argument & | t | ) | [inline] |
void mln::accu::stat::rank< T >::take | ( | const rank< T > & | other | ) | [inline] |
void mln::Accumulator< rank< T > >::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< rank< T > >::take_as_init_ | ( | const T & | t | ) | [inherited] |
Default implementation of "take as initialization".
void mln::Accumulator< rank< T > >::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< rank< T > >::take_n_times_ | ( | unsigned | n, | |
const T & | t | |||
) | [inherited] |
Default implementation of "take n times".
const T & mln::accu::stat::rank< T >::to_result | ( | ) | const [inline] |
Get the value of the accumulator.
References mln::accu::stat::rank< T >::t_, mln::accu::stat::rank< T >::update_(), and mln::accu::stat::rank< T >::valid_.
void mln::accu::stat::rank< T >::untake | ( | const rank< T > & | other | ) | [inline] |
void mln::accu::stat::rank< T >::untake | ( | const argument & | t | ) | [inline] |
void mln::accu::stat::rank< T >::update_ | ( | ) | const [inline, protected] |
References mln::accu::stat::rank< T >::go_minus_(), mln::accu::stat::rank< T >::go_plus_(), mln::accu::stat::rank< T >::h_, mln::accu::stat::rank< T >::i_, mln::accu::stat::rank< T >::k_, mln::accu::histo< V >::sum(), mln::accu::stat::rank< T >::sum_minus_, mln::accu::stat::rank< T >::sum_plus_, and mln::accu::stat::rank< T >::valid_.
Referenced by mln::accu::stat::rank< T >::to_result().
accu::histo<T> mln::accu::stat::rank< T >::h_ [mutable, protected] |
unsigned mln::accu::stat::rank< T >::i_ [mutable, protected] |
unsigned mln::accu::stat::rank< T >::k_ [protected] |
const S& mln::accu::stat::rank< T >::s_ [protected] |
unsigned mln::accu::stat::rank< T >::sum_minus_ [mutable, protected] |
unsigned mln::accu::stat::rank< T >::sum_plus_ [mutable, protected] |
argument mln::accu::stat::rank< T >::t_ [mutable, protected] |
bool mln::accu::stat::rank< T >::valid_ [mutable, protected] |