Generic convolution accumulator class. More...
#include <convolve.hh>
Public Types | |
typedef std::pair< T1, T2 > | argument |
typedef Accumulator< void > | category |
typedef convolve< T1, T2, R > | exact_t |
typedef R | q_result |
typedef mln::metal::unqualif < R >::ret | result |
Public Member Functions | |
convolve () | |
bool | is_valid () const |
Check whether this accu is able to return a result. | |
R | 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". | |
R | to_result () const |
Get the value of the accumulator. | |
void | init () |
Manipulators. | |
void | take (const argument &t) |
void | take (const T1 &t1, const T2 &t2) |
void | take (const convolve< T1, T2, R > &other) |
Protected Types | |
typedef mln::trait::value_ < typename mln::trait::op::times< T1, T2 > ::ret >::sum | S |
Protected Attributes | |
S | s_ |
Generic convolution accumulator class.
Parameters T1
and T2
are the type of values to be convolved. Parameter R
is the result type.
typedef std::pair<T1,T2> mln::accu::convolve< T1, T2, R >::argument |
typedef Accumulator<void> mln::Accumulator< convolve< T1, T2, R > >::category [inherited] |
Reimplemented from mln::Proxy< convolve< T1, T2, R > >.
typedef convolve< T1, T2, R > mln::Object< convolve< T1, T2, R > >::exact_t [inherited] |
typedef R mln::accu::internal::base< R, convolve< T1, T2, R > >::q_result [inherited] |
typedef mln::metal::unqualif< R >::ret mln::accu::internal::base< R, convolve< T1, T2, R > >::result [inherited] |
typedef mln::trait::value_< typename mln::trait::op::times< T1 , T2 >::ret >::sum mln::accu::convolve< T1, T2, R >::S [protected] |
mln::accu::convolve< T1, T2, R >::convolve | ( | ) | [inline] |
References mln::accu::convolve< T1, T2, R >::init().
void mln::accu::convolve< T1, T2, R >::init | ( | ) | [inline] |
Manipulators.
References mln::literal::zero.
Referenced by mln::accu::convolve< T1, T2, R >::convolve().
bool mln::accu::convolve< T1, T2, R >::is_valid | ( | ) | const [inline] |
Check whether this accu is able to return a result.
Always true here.
R mln::accu::internal::base< R, convolve< T1, T2, R > >::subj_ | ( | ) | [inherited] |
void mln::accu::convolve< T1, T2, R >::take | ( | const argument & | t | ) | [inline] |
void mln::accu::convolve< T1, T2, R >::take | ( | const convolve< T1, T2, R > & | other | ) | [inline] |
References mln::accu::convolve< T1, T2, R >::s_.
void mln::accu::convolve< T1, T2, R >::take | ( | const T1 & | t1, | |
const T2 & | t2 | |||
) | [inline] |
void mln::Accumulator< convolve< T1, T2, R > >::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< convolve< T1, T2, R > >::take_as_init_ | ( | const T & | t | ) | [inherited] |
Default implementation of "take as initialization".
void mln::Accumulator< convolve< T1, T2, R > >::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< convolve< T1, T2, R > >::take_n_times_ | ( | unsigned | n, | |
const T & | t | |||
) | [inherited] |
Default implementation of "take n times".
R mln::accu::convolve< T1, T2, R >::to_result | ( | ) | const [inline] |
Get the value of the accumulator.
S mln::accu::convolve< T1, T2, R >::s_ [protected] |
Referenced by mln::accu::convolve< T1, T2, R >::take().