Public Types | Public Member Functions | Protected Attributes

mln::accu::stat::min_max< V > Struct Template Reference
[On values]

Generic min and max accumulator class. More...

#include <min_max.hh>

Inheritance diagram for mln::accu::stat::min_max< V >:
Inheritance graph

List of all members.

Public Types

typedef mln_argument(min< V >) argument
typedef Accumulator< void > category
typedef E exact_t
typedef R q_result
typedef mln::metal::unqualif
< R >::ret 
result
typedef min< V >::result result_1
typedef max< V >::result result_2

Public Member Functions

min< V >::result first () const
 Return the result of the first accumulator.
min< V > first_accu () const
 Return the first accumulator.
bool is_valid () const
 Check whether this accu is able to return a result.
max< V >::result second () const
 Return the result of the second accumulator.
max< V > second_accu () const
 Return the second accumulator.
subj_ ()
template<typename T >
void take_as_init (const T &t)
 Take as initialization the value t.
template<typename T >
void take_as_init_ (const T &t)
 Default implementation of "take as initialization".
template<typename T >
void take_n_times (unsigned n, const T &t)
 Take n times the value t.
template<typename T >
void take_n_times_ (unsigned n, const T &t)
 Default implementation of "take n times".

void init ()
 Manipulators.
void take_as_init_ (const argument &t)
void take (const argument &t)
void take (const pair< min< V >, max< V >, mln_argument(min< V >) > &other)

std::pair< typename min< V >
::result, typename max< V >
::result
to_result () const
 Get the value of the accumulator.
void get_result (result_1 &r1, result_2 &r2) const

Protected Attributes

min< V > a1_
max< V > a2_

Detailed Description

template<typename V>
struct mln::accu::stat::min_max< V >

Generic min and max accumulator class.

The parameter V is the type of values.

Definition at line 61 of file accu/stat/min_max.hh.


Member Typedef Documentation

typedef mln_argument(min< V > ) mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::argument [inherited]

Definition at line 61 of file pair.hh.

template<typename E>
typedef Accumulator<void> mln::Accumulator< E >::category [inherited]

Reimplemented from mln::Proxy< E >.

Definition at line 80 of file accumulator.hh.

template<typename E>
typedef E mln::Object< E >::exact_t [inherited]

Definition at line 173 of file object.hh.

template<typename R, typename E>
typedef R mln::accu::internal::base< R, E >::q_result [inherited]

Reimplemented in mln::accu::stat::histo3d_rgb< V >.

Definition at line 58 of file base.hh.

template<typename R, typename E>
typedef mln::metal::unqualif< R >::ret mln::accu::internal::base< R, E >::result [inherited]
typedef min< V > ::result mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::result_1 [inherited]

Definition at line 63 of file pair.hh.

typedef max< V > ::result mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::result_2 [inherited]

Definition at line 64 of file pair.hh.


Member Function Documentation

min< V > ::result mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::first (  )  const [inherited]
min< V > mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::first_accu (  )  const [inherited]

Return the first accumulator.

void mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::get_result ( result_1 r1,
result_2 r2 
) const [inherited]
void mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::init (  )  [inherited]

Manipulators.

bool mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::is_valid (  )  const [inherited]

Check whether this accu is able to return a result.

Always true here.

max< V > ::result mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::second (  )  const [inherited]
max< V > mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::second_accu (  )  const [inherited]

Return the second accumulator.

template<typename R , typename E >
R base::subj_ (  )  [inline, inherited]

Definition at line 77 of file base.hh.

References mln::exact().

void mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::take ( const argument t  )  [inherited]
void mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::take ( const pair< min< V > , max< V > , mln_argument(min< V > ) > &  other  )  [inherited]
template<typename E >
template<typename T >
void mln::Accumulator< E >::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 '_').

Definition at line 186 of file accumulator.hh.

References mln::exact(), and mln::mln_exact().

Referenced by mln::morpho::elementary::impl::gradient_on_function(), and mln::morpho::elementary::impl::gradient_on_function_fastest().

void mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::take_as_init_ ( const argument t  )  [inherited]
template<typename E >
template<typename T >
void mln::Accumulator< E >::take_as_init_ ( const T &  t  )  [inherited]

Default implementation of "take as initialization".

Definition at line 200 of file accumulator.hh.

References mln::exact().

template<typename E >
template<typename T >
void mln::Accumulator< E >::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 '_').

Definition at line 213 of file accumulator.hh.

References mln::exact(), and mln::mln_exact().

template<typename E >
template<typename T >
void mln::Accumulator< E >::take_n_times_ ( unsigned  n,
const T &  t 
) [inherited]

Default implementation of "take n times".

Definition at line 230 of file accumulator.hh.

References mln::exact().

std::pair<typename min< V > ::result, typename max< V > ::result> mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::to_result (  )  const [inherited]

Get the value of the accumulator.


Member Data Documentation

min< V > mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::a1_ [protected, inherited]

Definition at line 100 of file pair.hh.

max< V > mln::accu::pair< min< V > , max< V > , mln_argument(min< V > ) >::a2_ [protected, inherited]

Definition at line 101 of file pair.hh.