CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AbstractFactoryImpl2< ConcreteProductT, AbstractProductT, ParameterT, InfoT > Class Template Reference

#include <plugin.h>

Inheritance diagram for AbstractFactoryImpl2< ConcreteProductT, AbstractProductT, ParameterT, InfoT >:
Collaboration diagram for AbstractFactoryImpl2< ConcreteProductT, AbstractProductT, ParameterT, InfoT >:

Public Member Functions

bool WillHandle (const ParameterT &param) const
 
AbstractProductT * Construct (const ParameterT &param) const
 
- Public Member Functions inherited from AbstractFactory< AbstractProductT, ParameterT, InfoT >
 AbstractFactory ()
 
virtual ~AbstractFactory ()
 
virtual InfoT Introspect () const =0
 

Detailed Description

template<class ConcreteProductT, class AbstractProductT, typename ParameterT, typename InfoT>
class AbstractFactoryImpl2< ConcreteProductT, AbstractProductT, ParameterT, InfoT >

Implementation of the AbstractFactory template to wrap the creation of a specific class instance. Namely ConcreteProductT. (Note: still abstract) See the description of PolymorphicCreation for more details

Parameters
ConcreteProductTthe class that will be instantiated by this factory class (must be derived from AbstractProductT)
AbstractProductTthe base class of all used ConcreteProductT classes
ParameterTthe type of the parameter that is used to poly- morphically create a specific ConcreteProductT
InfoTwrapper type for introspection data of registered plugins

Definition at line 61 of file plugin.h.

Member Function Documentation

template<class ConcreteProductT, class AbstractProductT, typename ParameterT, typename InfoT>
AbstractProductT* AbstractFactoryImpl2< ConcreteProductT, AbstractProductT, ParameterT, InfoT >::Construct ( const ParameterT &  param) const
inlinevirtual

Implements AbstractFactory< AbstractProductT, ParameterT, InfoT >.

Definition at line 69 of file plugin.h.

template<class ConcreteProductT, class AbstractProductT, typename ParameterT, typename InfoT>
bool AbstractFactoryImpl2< ConcreteProductT, AbstractProductT, ParameterT, InfoT >::WillHandle ( const ParameterT &  param) const
inlinevirtual

Implements AbstractFactory< AbstractProductT, ParameterT, InfoT >.

Definition at line 66 of file plugin.h.


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