cauldron  0.0.0
 All Classes Namespaces Files Functions Variables Typedefs
Public Member Functions | List of all members
cauldron::CloneHelper< Value, Derived > Class Template Reference

#include <bases.h>

Inheritance diagram for cauldron::CloneHelper< Value, Derived >:
Inheritance graph
[legend]
Collaboration diagram for cauldron::CloneHelper< Value, Derived >:
Collaboration graph
[legend]

Public Member Functions

std::unique_ptr< Strategy
< Value > > 
clone () const override
 
- Public Member Functions inherited from cauldron::Strategy< Value >
virtual Value operator() () const =0
 
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
 
virtual Mapped< Value > map (const Converter< Value > &converter) const
 

Detailed Description

template<typename Value, class Derived>
class cauldron::CloneHelper< Value, Derived >

Helper class for implementing Strategy::clone method using curiously recurring template pattern .

Template Parameters
Valuetype of values generated by strategy.
Derivedderivative strategy class.

Member Function Documentation

template<typename Value, class Derived>
std::unique_ptr<Strategy<Value> > cauldron::CloneHelper< Value, Derived >::clone ( ) const
inlineoverridevirtual

Creates a copy of the strategy instance and returns pointer to it.

Implements cauldron::Strategy< Value >.


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