Cantera  2.4.0
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Attributes | List of all members
FalloffFactory Class Reference

Factory class to construct falloff function calculators. More...

#include <FalloffFactory.h>

Inheritance diagram for FalloffFactory:
[legend]
Collaboration diagram for FalloffFactory:
[legend]

Public Member Functions

virtual void deleteFactory ()
 Virtual abstract function that deletes the factory. More...
 
virtual FalloffnewFalloff (int type, const vector_fp &c)
 Return a pointer to a new falloff function calculator. More...
 
- Public Member Functions inherited from Factory< Falloff >
Falloffcreate (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< Falloff *(Args...)> f)
 Register a new object construction function. More...
 
- Public Member Functions inherited from FactoryBase
virtual ~FactoryBase ()
 destructor More...
 

Static Public Member Functions

static FalloffFactoryfactory ()
 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

 FalloffFactory ()
 default constructor, which is defined as private More...
 

Static Private Attributes

static FalloffFactorys_factory = 0
 Pointer to the single instance of the factory. More...
 
static std::mutex falloff_mutex
 Mutex for use when calling the factory. More...
 

Additional Inherited Members

- Protected Member Functions inherited from FactoryBase
 FactoryBase ()
 Constructor. More...
 
- Protected Attributes inherited from Factory< Falloff >
std::unordered_map< std::string, std::function< Falloff *(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...
 

Detailed Description

Factory class to construct falloff function calculators.

The falloff factory is accessed through static method factory:

Falloff* f = FalloffFactory::factory()->newFalloff(type, c)

Definition at line 30 of file FalloffFactory.h.

Constructor & Destructor Documentation

◆ FalloffFactory()

FalloffFactory ( )
private

default constructor, which is defined as private

Definition at line 17 of file FalloffFactory.cpp.

References Factory< Falloff >::reg().

Referenced by FalloffFactory::factory().

Member Function Documentation

◆ factory()

static FalloffFactory* 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 FalloffFactory.h.

References FalloffFactory::falloff_mutex, FalloffFactory::FalloffFactory(), and FalloffFactory::s_factory.

Referenced by FalloffMgr::FalloffMgr().

◆ deleteFactory()

virtual void deleteFactory ( )
inlinevirtual

Virtual abstract function that deletes the factory.

This must be properly defined in child objects.

Implements FactoryBase.

Definition at line 46 of file FalloffFactory.h.

References FalloffFactory::falloff_mutex, and FalloffFactory::s_factory.

◆ newFalloff()

Falloff * newFalloff ( int  type,
const vector_fp c 
)
virtual

Return a pointer to a new falloff function calculator.

Parameters
typeInteger flag specifying the type of falloff function. The standard types are defined in file reaction_defs.h. A factory class derived from FalloffFactory may define other types as well.
cinput vector of doubles which populates the falloff parameterization.
Returns
a pointer to a new Falloff class.

Definition at line 24 of file FalloffFactory.cpp.

Member Data Documentation

◆ s_factory

FalloffFactory * s_factory = 0
staticprivate

Pointer to the single instance of the factory.

Definition at line 66 of file FalloffFactory.h.

Referenced by FalloffFactory::deleteFactory(), and FalloffFactory::factory().

◆ falloff_mutex

std::mutex falloff_mutex
staticprivate

Mutex for use when calling the factory.

Definition at line 72 of file FalloffFactory.h.

Referenced by FalloffFactory::deleteFactory(), and FalloffFactory::factory().


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