Cantera  3.1.0
Loading...
Searching...
No Matches
ReactionRateFactory Class Reference

Factory class to construct reaction rate calculators. More...

#include <ReactionRateFactory.h>

Inheritance diagram for ReactionRateFactory:
[legend]

Detailed Description

Factory class to construct reaction rate calculators.

The reaction factory is accessed through the static method factory:

Rate* f = ReactionRateFactory::factory()->newReactionRate(type, c)
static ReactionRateFactory * factory()
Return a pointer to the factory.

Definition at line 56 of file ReactionRateFactory.h.

Public Member Functions

void deleteFactory () override
 Virtual abstract function that deletes the factory.
 
- Public Member Functions inherited from Factory< ReactionRate, const AnyMap &, const UnitStack & >
ReactionRatecreate (const string &name, Args... args)
 Create an object using the object construction function corresponding to "name" and the provided constructor arguments.
 
void reg (const string &name, function< ReactionRate *(Args...)> f)
 Register a new object construction function.
 
void addAlias (const string &original, const string &alias)
 Add an alias for an existing registered type.
 
string canonicalize (const string &name)
 Get the canonical name registered for a type.
 
bool exists (const string &name) const
 Returns true if name is registered with this factory.
 
- Public Member Functions inherited from FactoryBase
virtual ~FactoryBase ()
 destructor
 

Static Public Member Functions

static ReactionRateFactoryfactory ()
 Return a pointer to the factory.
 
- 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
 

Private Member Functions

 ReactionRateFactory ()
 default constructor, which is defined as private
 

Static Private Attributes

static ReactionRateFactorys_factory = 0
 Pointer to the single instance of the factory.
 
static std::mutex rate_mutex
 Mutex for use when calling the factory.
 

Additional Inherited Members

- Protected Member Functions inherited from Factory< ReactionRate, const AnyMap &, const UnitStack & >
void addDeprecatedAlias (const string &original, const string &alias)
 Add a deprecated alias for an existing registered type.
 
- Protected Member Functions inherited from FactoryBase
 FactoryBase ()
 Constructor.
 
virtual void deleteFactory ()=0
 Virtual abstract function that deletes the factory.
 

Constructor & Destructor Documentation

◆ ReactionRateFactory()

ReactionRateFactory ( )
private

default constructor, which is defined as private

Definition at line 28 of file ReactionRateFactory.cpp.

Member Function Documentation

◆ factory()

ReactionRateFactory * factory ( )
static

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 115 of file ReactionRateFactory.cpp.

◆ deleteFactory()

void deleteFactory ( )
overridevirtual

Virtual abstract function that deletes the factory.

This must be properly defined in child objects.

Implements FactoryBase.

Definition at line 123 of file ReactionRateFactory.cpp.

Member Data Documentation

◆ s_factory

ReactionRateFactory * s_factory = 0
staticprivate

Pointer to the single instance of the factory.

Definition at line 71 of file ReactionRateFactory.h.

◆ rate_mutex

std::mutex rate_mutex
staticprivate

Mutex for use when calling the factory.

Definition at line 77 of file ReactionRateFactory.h.


The documentation for this class was generated from the following files: