| Cantera 3.0.0

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
FlowDeviceFactory Class Reference

Factory class to create FlowDevice objects. More...

`#include <FlowDeviceFactory.h>`

Inheritance diagram for FlowDeviceFactory:
[legend]

## Detailed Description

Factory class to create FlowDevice objects.

This class is mainly used via the newFlowDevice3() function, for example:

shared_ptr<FlowDevice> mfc = newFlowDevice3("MassFlowController");
Cantera::newFlowDevice3
shared_ptr< FlowDevice > newFlowDevice3(const string &model)
Create a FlowDevice object of the specified type.
Definition FlowDeviceFactory.cpp:51

Definition at line 22 of file FlowDeviceFactory.h.

## Public Member Functions
void | deleteFactory () override
| Virtual abstract function that deletes the factory.
FlowDevice * | newFlowDevice (const string &flowDeviceType)
| Create a new flow device by type name.
Public Member Functions inherited from Factory< FlowDevice >
FlowDevice * | create (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< FlowDevice *(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 FlowDeviceFactory * | 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

## Static Private Attributes
static FlowDeviceFactory * | s_factory = 0
static std::mutex | flowDevice_mutex

## Additional Inherited Members
Protected Member Functions inherited from Factory< FlowDevice >
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.

## Constructor & Destructor Documentation

## ◆ FlowDeviceFactory()

FlowDeviceFactory | ( |  | ) |
| private

Definition at line 15 of file FlowDeviceFactory.cpp.

## Member Function Documentation

## ◆ factory()

FlowDeviceFactory * factory | ( |  | ) |
| static

Definition at line 22 of file FlowDeviceFactory.cpp.

## ◆ deleteFactory()

void deleteFactory | ( |  | ) |
| override virtual

Virtual abstract function that deletes the factory.

This must be properly defined in child objects.

Implements FactoryBase.

Definition at line 30 of file FlowDeviceFactory.cpp.

## ◆ newFlowDevice()

FlowDevice * newFlowDevice | ( | const string & | flowDeviceType | ) |

Create a new flow device by type name.

Parameters

  flowDeviceType | the type to be created.

Deprecated:
  To be removed after Cantera 3.0; replaceable by newFlowDevice3.

Definition at line 37 of file FlowDeviceFactory.cpp.

## Member Data Documentation

## ◆ s_factory

FlowDeviceFactory * s_factory = 0
| static private

Definition at line 37 of file FlowDeviceFactory.h.

## ◆ flowDevice_mutex

std::mutex flowDevice_mutex
| static private

Definition at line 38 of file FlowDeviceFactory.h.

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

- FlowDeviceFactory.h
- FlowDeviceFactory.cpp