JAPAn
Just Another Parity Analyzer
|
Concrete templated factory for creating specific object types. More...
#include <QwFactory.h>
Public Member Functions | |
QwFactory (const std::string &type) | |
Constructor which stores type name in list of registered types. | |
base_t * | Create (const std::string &name) const override |
Concrete type creation. | |
type_t * | Cast (base_t *base) const override |
Dynamic cast of type. | |
![]() | |
virtual | ~VQwFactory () |
Default virtual destructor. | |
Additional Inherited Members | |
![]() | |
static base_t * | Create (const std::string &type, const std::string &name) |
Create an object of type with name. | |
static base_t * | Cast (base_t *base, const std::string &type) |
Dynamic cast of object into type. | |
static bool | InheritsFrom (base_t *base, const std::string &type) |
Test whether object inherits from type. | |
![]() | |
static std::map< std::string, VQwFactory * > & | GetRegisteredTypes () |
Map from string to concrete type factories. | |
static void | ListRegisteredTypes () |
List available type factories. | |
static VQwFactory * | GetFactory (const std::string &type) |
Get a concrete type factory by string. | |
Concrete templated factory for creating specific object types.
Template specialization that provides concrete object creation for a specific derived type. Automatically registers itself in the factory registry during static initialization. Used by RegisterSomethingFactory macros to enable runtime type creation.
Definition at line 112 of file QwFactory.h.
|
inline |
Constructor which stores type name in list of registered types.
Definition at line 117 of file QwFactory.h.
References VQwFactory< base_t >::GetRegisteredTypes().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Concrete type creation.
Implements VQwFactory< base_t >.
Definition at line 122 of file QwFactory.h.