QwAnalysis
QwFactory.h File Reference
#include <cxxabi.h>
#include <cstdlib>
#include "QwLog.h"
+ Include dependency graph for QwFactory.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  QwException_TypeUnknown
 
class  VQwFactory< base_t >
 Pure virtual factory. More...
 
class  QwFactory< base_t, type_t >
 Concrete templated type factory. More...
 
class  QwSubsystemFactory< subsystem_t >
 
class  QwDataElementFactory< dataelement_t >
 
class  VQwCloneable< base_t >
 Polymorphic copy constructor virtual base class. More...
 
class  MQwCloneable< base_t, type_t >
 
class  MQwSubsystemCloneable< subsystem_t >
 
class  MQwDataElementCloneable< dataelement_t >
 

Macros

#define RegisterSubsystemFactory(A)   template<> const VQwSubsystemFactory* MQwCloneable<VQwSubsystem,A>::fFactory = new QwFactory<VQwSubsystem,A>(#A)
 
#define RegisterDataElementFactory(A)   template<> const VQwDataElementFactory* MQwCloneable<VQwDataElement,A>::fFactory = new QwFactory<VQwDataElement,A>(#A)
 

Typedefs

typedef class VQwFactory
< VQwSubsystem
VQwSubsystemFactory
 Factory type with functionality for subsystems. More...
 
typedef class VQwFactory
< VQwDataElement
VQwDataElementFactory
 Factory type with functionality for data elements. More...
 
typedef class VQwCloneable
< VQwSubsystem
VQwSubsystemCloneable
 Mix-in factory functionality for subsystems. More...
 
typedef class VQwCloneable
< VQwDataElement
VQwDataElementCloneable
 Mix-in factory functionality for data elements. More...
 

Macro Definition Documentation

#define RegisterDataElementFactory (   A)    template<> const VQwDataElementFactory* MQwCloneable<VQwDataElement,A>::fFactory = new QwFactory<VQwDataElement,A>(#A)

Macros to create and register the data element factory of type A Note: a call to this macro should be followed by a semi-colon!

Definition at line 234 of file QwFactory.h.

#define RegisterSubsystemFactory (   A)    template<> const VQwSubsystemFactory* MQwCloneable<VQwSubsystem,A>::fFactory = new QwFactory<VQwSubsystem,A>(#A)

Macros to create and register the subsystem factory of type A Note: a call to this macro should be followed by a semi-colon!

Definition at line 230 of file QwFactory.h.

Typedef Documentation

Mix-in factory functionality for data elements.

Definition at line 223 of file QwFactory.h.

Factory type with functionality for data elements.

Definition at line 129 of file QwFactory.h.

Mix-in factory functionality for subsystems.

Definition at line 219 of file QwFactory.h.

Factory type with functionality for subsystems.

Definition at line 127 of file QwFactory.h.