|
Cantera
2.4.0
|
Factory class for thermodynamic property managers. More...
#include <ThermoFactory.h>
Public Member Functions | |
| virtual void | deleteFactory () |
| delete the static instance of this factory More... | |
| virtual ThermoPhase * | newThermoPhase (const std::string &model) |
| Create a new thermodynamic property manager. More... | |
Public Member Functions inherited from Factory< ThermoPhase > | |
| ThermoPhase * | create (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< ThermoPhase *(Args...)> f) |
| Register a new object construction function. More... | |
Public Member Functions inherited from FactoryBase | |
| virtual | ~FactoryBase () |
| destructor More... | |
Static Public Member Functions | |
| static ThermoFactory * | factory () |
| Static function that creates a static instance of 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 | |
| ThermoFactory () | |
| Private constructors prevents usage. More... | |
Static Private Attributes | |
| static ThermoFactory * | s_factory = 0 |
| static member of a single instance More... | |
| static std::mutex | thermo_mutex |
| Decl for locking mutex for thermo factory singleton. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from FactoryBase | |
| FactoryBase () | |
| Constructor. More... | |
Protected Attributes inherited from Factory< ThermoPhase > | |
| std::unordered_map< std::string, std::function< ThermoPhase *(Args...)> > | m_creators |
| std::unordered_map< std::string, std::string > | m_synonyms |
| Map of synonyms to canonical names. More... | |
| std::unordered_map< std::string, std::string > | m_deprecated_names |
| Map of deprecated synonyms to canonical names. More... | |
Factory class for thermodynamic property managers.
This class keeps a list of the known ThermoPhase classes, and is used to create new instances of these classes.
Definition at line 54 of file ThermoFactory.h.
|
private |
Private constructors prevents usage.
Definition at line 52 of file ThermoFactory.cpp.
Referenced by ThermoFactory::factory().
|
inlinestatic |
Static function that creates a static instance of the factory.
Definition at line 58 of file ThermoFactory.h.
References ThermoFactory::s_factory, ThermoFactory::thermo_mutex, and ThermoFactory::ThermoFactory().
Referenced by Cantera::newThermoPhase().
|
inlinevirtual |
delete the static instance of this factory
Implements FactoryBase.
Definition at line 67 of file ThermoFactory.h.
References ThermoFactory::s_factory, and ThermoFactory::thermo_mutex.
|
virtual |
Create a new thermodynamic property manager.
| model | String to look up the model against |
Definition at line 82 of file ThermoFactory.cpp.
|
staticprivate |
static member of a single instance
Definition at line 84 of file ThermoFactory.h.
Referenced by ThermoFactory::deleteFactory(), and ThermoFactory::factory().
|
staticprivate |
Decl for locking mutex for thermo factory singleton.
Definition at line 90 of file ThermoFactory.h.
Referenced by ThermoFactory::deleteFactory(), and ThermoFactory::factory().
1.8.14