#include <bases.h>


Public Member Functions | |
| Filtered (const Strategy< Value > &strategy, const Sieve< Value > &sieve) | |
| Filtered (const Filtered< Value > &strategy) | |
| Filtered< Value > | filter (const Requirement< Value > &requirement) const override |
| Value | operator() () const override |
Public Member Functions inherited from cauldron::CloneHelper< Value, Filtered< Value > > | |
| std::unique_ptr< Strategy < Value > > | clone () const override |
Public Member Functions inherited from cauldron::Strategy< Value > | |
| virtual Union< Value > | operator|| (const Strategy< Value > &strategy) const |
| virtual Union< Value > | operator|| (const Union< Value > &strategy) const |
| virtual Mapped< Value > | map (const Converter< Value > &converter) const |
Protected Attributes | |
| std::unique_ptr< Strategy < Value > > | strategy_ |
| Sieve< Value > | sieve_ |
Strategy which filters out values that satisfies defined strategies::Requirement instances.
Hereafter a requirement is an unary predicate .
| Value | type of values generated by strategy. |
|
inlineexplicit |
|
inline |
Default copy constructor doesn't fit since we're using std::unique_ptr as class member which is not copyable.
|
inlineoverridevirtual |
Returns a new strategy that generates values from the strategy which satisfy provided strategies::Requirement instance.
Note that if the requirement is too hard to satisfy this might result in failing with OutOfCycles.
Reimplemented from cauldron::Strategy< Value >.
|
inlineoverridevirtual |
Generates value that satisfies defined strategies::Requirement instances.
| strategies::OutOfCycles |
Implements cauldron::Strategy< Value >.
|
protected |
|
protected |
1.8.6