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

#include <plugin.h>

Inheritance diagram for AbstractFactory< AbstractProductT, ParameterT, InfoT >:

Public Member Functions

 AbstractFactory ()
 
virtual ~AbstractFactory ()
 
virtual bool WillHandle (const ParameterT &param) const =0
 
virtual AbstractProductT * Construct (const ParameterT &param) const =0
 
virtual InfoT Introspect () const =0
 

Detailed Description

template<class AbstractProductT, typename ParameterT, typename InfoT>
class AbstractFactory< AbstractProductT, ParameterT, InfoT >

This file is part of the CernVM File System. Used internally by the PolymorphicConstruction template Provides an abstract interface for Factory objects that allow the poly- morphic creation of arbitrary objects at runtime.

Parameters
AbstractProductTthe abstract base class of all classes that could be polymorphically constructed by this factory
ParameterTthe type of the parameter that is used to figure out which class should be instantiated at runtime
InfoTwrapper type for introspection data of registered plugins

Definition at line 33 of file plugin.h.

Constructor & Destructor Documentation

template<class AbstractProductT, typename ParameterT, typename InfoT>
AbstractFactory< AbstractProductT, ParameterT, InfoT >::AbstractFactory ( )
inline

Definition at line 35 of file plugin.h.

template<class AbstractProductT, typename ParameterT, typename InfoT>
virtual AbstractFactory< AbstractProductT, ParameterT, InfoT >::~AbstractFactory ( )
inlinevirtual

Definition at line 36 of file plugin.h.

Member Function Documentation

template<class AbstractProductT, typename ParameterT, typename InfoT>
virtual AbstractProductT* AbstractFactory< AbstractProductT, ParameterT, InfoT >::Construct ( const ParameterT &  param) const
pure virtual
template<class AbstractProductT, typename ParameterT, typename InfoT>
virtual InfoT AbstractFactory< AbstractProductT, ParameterT, InfoT >::Introspect ( ) const
pure virtual
template<class AbstractProductT, typename ParameterT, typename InfoT>
virtual bool AbstractFactory< AbstractProductT, ParameterT, InfoT >::WillHandle ( const ParameterT &  param) const
pure virtual

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