cauldron  0.0.0
 All Classes Namespaces Files Functions Variables Typedefs
Public Member Functions | Protected Attributes | List of all members
cauldron::Mapped< Value > Class Template Reference

#include <bases.h>

Inheritance diagram for cauldron::Mapped< Value >:
Inheritance graph
[legend]
Collaboration diagram for cauldron::Mapped< Value >:
Collaboration graph
[legend]

Public Member Functions

 Mapped (const Strategy< Value > &strategy, const Facility< Value > &facility)
 
 Mapped (const Mapped< Value > &strategy)
 
Mapped< Value > map (const Converter< Value > &converter) const override
 
Value operator() () const override
 
- Public Member Functions inherited from cauldron::CloneHelper< Value, Mapped< 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 Filtered< Value > filter (const Requirement< Value > &requirement) const
 

Protected Attributes

std::unique_ptr< Strategy
< Value > > 
strategy_
 
Facility< Value > facility_
 

Detailed Description

template<typename Value>
class cauldron::Mapped< Value >

Strategy which modifies values with defined strategies::Converter instances.

Hereafter a converter is an operator .

Template Parameters
Valuetype of values generated by strategy.

Constructor & Destructor Documentation

template<typename Value>
cauldron::Mapped< Value >::Mapped ( const Strategy< Value > &  strategy,
const Facility< Value > &  facility 
)
inlineexplicit
template<typename Value>
cauldron::Mapped< Value >::Mapped ( const Mapped< Value > &  strategy)
inline

Default copy constructor doesn't fit since we're using std::unique_ptr as class member which is not copyable.

Member Function Documentation

template<typename Value>
Mapped<Value> cauldron::Mapped< Value >::map ( const Converter< Value > &  converter) const
inlineoverridevirtual

Returns a new strategy that generates values from the strategy modified with provided strategies::Converter instance.

Reimplemented from cauldron::Strategy< Value >.

template<typename Value>
Value cauldron::Mapped< Value >::operator() ( ) const
inlineoverridevirtual

Generates value and modifies it with defined strategies::Converter instances.

Implements cauldron::Strategy< Value >.

Member Data Documentation

template<typename Value>
std::unique_ptr<Strategy<Value> > cauldron::Mapped< Value >::strategy_
protected
template<typename Value>
Facility<Value> cauldron::Mapped< Value >::facility_
protected

The documentation for this class was generated from the following file: