|
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().