"Logical-or" accumulator class. More...
#include <lor_basic.hh>
Public Types | |
typedef bool | argument |
typedef Accumulator< void > | category |
typedef lor_basic | exact_t |
typedef bool | q_result |
typedef mln::metal::unqualif < bool >::ret | result |
Public Member Functions | |
bool | can_stop () const |
Test if it is worth for this accumulator to take extra data. | |
bool | is_valid () const |
Check whether this accu is able to return a result. | |
lor_basic () | |
bool | 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". | |
bool | to_result () const |
Get the value of the accumulator. | |
void | init () |
Manipulators. | |
void | take_as_init_ (const argument &t) |
void | take (const argument &t) |
void | take (const lor_basic &other) |
Protected Attributes | |
bool | res_ |
"Logical-or" accumulator class.
Conversely to accu::logic::lor, this version does not have the 'untake' method but features the 'can_stop' method.
typedef bool mln::accu::logic::lor_basic::argument |
typedef Accumulator<void> mln::Accumulator< lor_basic >::category [inherited] |
Reimplemented from mln::Proxy< lor_basic >.
typedef lor_basic mln::Object< lor_basic >::exact_t [inherited] |
typedef bool mln::accu::internal::base< bool , lor_basic >::q_result [inherited] |
typedef mln::metal::unqualif< bool >::ret mln::accu::internal::base< bool , lor_basic >::result [inherited] |
mln::accu::logic::lor_basic::lor_basic | ( | ) | [inline] |
References init().
bool mln::accu::logic::lor_basic::can_stop | ( | ) | const [inline] |
Test if it is worth for this accumulator to take extra data.
If the result is already 'true' (because this accumulator has already taken a 'true' value), can_stop returns true.
References res_.
void mln::accu::logic::lor_basic::init | ( | ) | [inline] |
bool mln::accu::logic::lor_basic::is_valid | ( | ) | const [inline] |
Check whether this accu is able to return a result.
Always true here.
bool mln::accu::internal::base< bool , lor_basic >::subj_ | ( | ) | [inherited] |
void mln::Accumulator< lor_basic >::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< lor_basic >::take_as_init_ | ( | const T & | t | ) | [inherited] |
Default implementation of "take as initialization".
void mln::Accumulator< lor_basic >::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< lor_basic >::take_n_times_ | ( | unsigned | n, | |
const T & | t | |||
) | [inherited] |
Default implementation of "take n times".
bool mln::accu::logic::lor_basic::to_result | ( | ) | const [inline] |
Get the value of the accumulator.
References res_.
bool mln::accu::logic::lor_basic::res_ [protected] |
Referenced by can_stop(), init(), take(), take_as_init_(), and to_result().