OOPS
instantiateModelFactory.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2018-2020 UCAR.
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef OOPS_GENERIC_INSTANTIATEMODELFACTORY_H_
9 #define OOPS_GENERIC_INSTANTIATEMODELFACTORY_H_
10 
11 #include "oops/base/ModelBase.h"
14 
15 namespace oops {
16 
17 template <typename MODEL> void instantiateModelFactory() {
18  static ModelMaker<MODEL, IdentityModel<MODEL> > makerIdentityModel_("Identity");
19  static ModelMaker<MODEL, PseudoModel<MODEL> > makerPseudoModel_("PseudoModel");
20 }
21 
22 } // namespace oops
23 
24 #endif // OOPS_GENERIC_INSTANTIATEMODELFACTORY_H_
oops
The namespace for the main oops code.
Definition: ErrorCovarianceL95.cc:22
IdentityModel.h
oops::instantiateModelFactory
void instantiateModelFactory()
Definition: instantiateModelFactory.h:17
oops::ModelMaker
A subclass of ModelFactory able to create instances of T (a concrete subclass of ModelBase<MODEL>).
Definition: ModelBase.h:172
ModelBase.h
PseudoModel.h