Cantera 2.6.0
|
Factory class to construct reaction function calculators. More...
#include <ReactionFactory.h>
Public Member Functions | |
virtual void | deleteFactory () |
Virtual abstract function that deletes the factory. More... | |
Public Member Functions inherited from Factory< Reaction, const AnyMap &, const Kinetics & > | |
Reaction * | create (const std::string &name, Args... args) |
Create an object using the object construction function corresponding to "name" and the provided constructor arguments. More... | |
void | reg (const std::string &name, std::function< Reaction *(Args...)> f) |
Register a new object construction function. More... | |
void | addAlias (const std::string &original, const std::string &alias) |
Add an alias for an existing registered type. More... | |
std::string | canonicalize (const std::string &name) |
Get the canonical name registered for a type. More... | |
bool | exists (const std::string &name) const |
Returns true if name is registered with this factory. More... | |
Public Member Functions inherited from FactoryBase | |
virtual | ~FactoryBase () |
destructor More... | |
Static Public Member Functions | |
static ReactionFactory * | factory () |
Return a pointer to the factory. More... | |
Static Public Member Functions inherited from FactoryBase | |
static void | deleteFactories () |
static function that deletes all factories in the internal registry maintained in a static variable More... | |
Private Member Functions | |
ReactionFactory () | |
default constructor, which is defined as private More... | |
Static Private Attributes | |
static ReactionFactory * | s_factory = 0 |
Pointer to the single instance of the factory. More... | |
static std::mutex | reaction_mutex |
Mutex for use when calling the factory. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Factory< Reaction, const AnyMap &, const Kinetics & > | |
void | addDeprecatedAlias (const std::string &original, const std::string &alias) |
Add a deprecated alias for an existing registered type. More... | |
Protected Member Functions inherited from FactoryBase | |
FactoryBase () | |
Constructor. More... | |
Factory class to construct reaction function calculators.
The reaction factory is accessed through static method factory:
Definition at line 30 of file ReactionFactory.h.
|
private |
default constructor, which is defined as private
Definition at line 23 of file ReactionFactory.cpp.
References Factory< Reaction, const AnyMap &, const Kinetics & >::addAlias(), and Factory< Reaction, const AnyMap &, const Kinetics & >::reg().
Referenced by ReactionFactory::factory().
|
inlinestatic |
Return a pointer to the factory.
On the first call, a new instance is created. Since there is no need to instantiate more than one factory, on all subsequent calls, a pointer to the existing factory is returned.
Definition at line 38 of file ReactionFactory.h.
References ReactionFactory::reaction_mutex, ReactionFactory::ReactionFactory(), and ReactionFactory::s_factory.
|
inlinevirtual |
Virtual abstract function that deletes the factory.
This must be properly defined in child objects.
Implements FactoryBase.
Definition at line 46 of file ReactionFactory.h.
References ReactionFactory::reaction_mutex, and ReactionFactory::s_factory.
|
staticprivate |
Pointer to the single instance of the factory.
Definition at line 54 of file ReactionFactory.h.
Referenced by ReactionFactory::deleteFactory(), and ReactionFactory::factory().
|
staticprivate |
Mutex for use when calling the factory.
Definition at line 60 of file ReactionFactory.h.
Referenced by ReactionFactory::deleteFactory(), and ReactionFactory::factory().