Cantera  3.1.0a1
PreconditionerFactory.h
Go to the documentation of this file.
1 //! @file PreconditionerFactory.h
2 
3 // This file is part of Cantera. See License.txt in the top-level directory or
4 // at https://cantera.org/license.txt for license and copyright information.
5 
6 #ifndef PRECONDITIONER_FACTORY_H
7 #define PRECONDITIONER_FACTORY_H
8 
10 
11 namespace Cantera
12 {
13 
14 class PreconditionerBase;
15 
16 //! Factory class to create preconditioner objects
17 class PreconditionerFactory : public Factory<PreconditionerBase>
18 {
19 public:
20  static PreconditionerFactory* factory();
21 
22  //! Delete preconditioner factory
23  void deleteFactory() override;
24 
25 private:
26  static PreconditionerFactory* s_factory;
27  static std::mutex precon_mutex;
29 };
30 
31 //! Create a Preconditioner object of the specified type
32 shared_ptr<PreconditionerBase> newPreconditioner(const string& precon);
33 
34 }
35 
36 #endif
File contains the FactoryBase class declarations.
Factory class that supports registering functions to create objects.
Definition: FactoryBase.h:69
Factory class to create preconditioner objects.
void deleteFactory() override
Delete preconditioner factory.
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:564
shared_ptr< PreconditionerBase > newPreconditioner(const string &precon)
Create a Preconditioner object of the specified type.