#include <bases.h>
Public Member Functions | |
Union (const Strategy< Value > &strategy, const Strategy< Value > &other_strategy) | |
Union (const Union< Value > &strategy) | |
Value | operator() () const override |
Union< Value > | operator|| (const Strategy< Value > &strategy) const override |
Union< Value > | operator|| (const Union< Value > &strategy) const override |
Public Member Functions inherited from cauldron::CloneHelper< Value, Union< Value > > | |
std::unique_ptr< Strategy < Value > > | clone () const override |
Public Member Functions inherited from cauldron::Strategy< Value > | |
virtual Filtered< Value > | filter (const Requirement< Value > &requirement) const |
virtual Mapped< Value > | map (const Converter< Value > &converter) const |
Union of strategies. Generates values from any one of given strategies.
Value | type of values generated by strategy. |
|
inlineexplicit |
|
inline |
Default copy constructor doesn't fit since we're using std::unique_ptr
in class member which is not copyable.
|
inlineoverridevirtual |
Generates value from one of strategies_
elements.
Implements cauldron::Strategy< Value >.
|
inlineoverridevirtual |
Returns a new strategy that generates values from either original strategy or provided one.
Reimplemented from cauldron::Strategy< Value >.
|
inlineoverridevirtual |
Same result as for any other strategy. Basically added for possible overriding with support of strategies' union associativity.
Reimplemented from cauldron::Strategy< Value >.