OOPS
|
LinearModel factory. More...
#include <LinearModelBase.h>
Public Member Functions | |
virtual | ~LinearModelFactory ()=default |
Static Public Member Functions | |
static LinearModelBase< MODEL > * | create (const Geometry_ &, const LinearModelParametersBase ¶meters) |
Create and return a new linear model. More... | |
static std::unique_ptr< LinearModelParametersBase > | createParameters (const std::string &name) |
Create and return an instance of the subclass of LinearModelParametersBase storing parameters of linear models of the specified type. More... | |
static std::vector< std::string > | getMakerNames () |
Return the names of all linear models that can be created by one of the registered makers. More... | |
Protected Member Functions | |
LinearModelFactory (const std::string &name) | |
Register a maker able to create linear models of type name . More... | |
Private Types | |
typedef Geometry< MODEL > | Geometry_ |
Private Member Functions | |
virtual LinearModelBase< MODEL > * | make (const Geometry_ &, const LinearModelParametersBase &)=0 |
virtual std::unique_ptr< LinearModelParametersBase > | makeParameters () const =0 |
Static Private Member Functions | |
static std::map< std::string, LinearModelFactory< MODEL > * > & | getMakers () |
LinearModel factory.
Definition at line 161 of file generic/LinearModelBase.h.
|
private |
Definition at line 162 of file generic/LinearModelBase.h.
|
virtualdefault |
|
explicitprotected |
Register a maker able to create linear models of type name
.
Definition at line 232 of file generic/LinearModelBase.h.
|
static |
Create and return a new linear model.
The linear model's type is determined by the name
attribute of parameters
. parameters
must be an instance of the subclass of LinearModelParametersBase associated with that linear model type, otherwise an exception will be thrown.
Definition at line 242 of file generic/LinearModelBase.h.
|
static |
Create and return an instance of the subclass of LinearModelParametersBase storing parameters of linear models of the specified type.
Definition at line 259 of file generic/LinearModelBase.h.
|
inlinestatic |
Return the names of all linear models that can be created by one of the registered makers.
Definition at line 179 of file generic/LinearModelBase.h.
|
inlinestaticprivate |
Definition at line 194 of file generic/LinearModelBase.h.
|
privatepure virtual |
Implemented in oops::interface::LinearModelMaker< MODEL, T >, and oops::LinearModelMaker< MODEL, T >.
|
privatepure virtual |
Implemented in oops::interface::LinearModelMaker< MODEL, T >, and oops::LinearModelMaker< MODEL, T >.