UFO
ufo::ObsOperatorMaker< T > Class Template Reference

#include <ObsOperatorBase.h>

Inheritance diagram for ufo::ObsOperatorMaker< T >:
Collaboration diagram for ufo::ObsOperatorMaker< T >:

Public Member Functions

 ObsOperatorMaker (const std::string &name)
 
- Public Member Functions inherited from ufo::ObsOperatorFactory
virtual ~ObsOperatorFactory ()=default
 

Private Types

typedef oops::TParameters_IfAvailableElseFallbackType_t< T, GenericObsOperatorParametersParameters_
 

Private Member Functions

ObsOperatorBasemake (const ioda::ObsSpace &odb, const ObsOperatorParametersBase &params) override
 
std::unique_ptr< ObsOperatorParametersBasemakeParameters () const override
 

Additional Inherited Members

- Static Public Member Functions inherited from ufo::ObsOperatorFactory
static ObsOperatorBasecreate (const ioda::ObsSpace &, const ObsOperatorParametersBase &params)
 Create and return a new observation operator. More...
 
static std::unique_ptr< ObsOperatorParametersBasecreateParameters (const std::string &name)
 Create and return an instance of the subclass of ObsOperatorParametersBase storing parameters of observation operators of the specified type. More...
 
static std::vector< std::string > getMakerNames ()
 Return the names of all operators that can be created by one of the registered makers. More...
 
- Protected Member Functions inherited from ufo::ObsOperatorFactory
 ObsOperatorFactory (const std::string &name)
 Register a maker able to create observation operators of type name. More...
 

Detailed Description

template<class T>
class ufo::ObsOperatorMaker< T >

Definition at line 144 of file ObsOperatorBase.h.

Member Typedef Documentation

◆ Parameters_

template<class T >
typedef oops::TParameters_IfAvailableElseFallbackType_t<T, GenericObsOperatorParameters> ufo::ObsOperatorMaker< T >::Parameters_
private

Defined as T::Parameters_ if T defines a Parameters_ type; otherwise as GenericObsOperatorParameters.

Definition at line 148 of file ObsOperatorBase.h.

Constructor & Destructor Documentation

◆ ObsOperatorMaker()

template<class T >
ufo::ObsOperatorMaker< T >::ObsOperatorMaker ( const std::string &  name)
inlineexplicit

Definition at line 163 of file ObsOperatorBase.h.

Member Function Documentation

◆ make()

template<class T >
ObsOperatorBase* ufo::ObsOperatorMaker< T >::make ( const ioda::ObsSpace &  odb,
const ObsOperatorParametersBase params 
)
inlineoverrideprivatevirtual

Implements ufo::ObsOperatorFactory.

Definition at line 150 of file ObsOperatorBase.h.

◆ makeParameters()

template<class T >
std::unique_ptr<ObsOperatorParametersBase> ufo::ObsOperatorMaker< T >::makeParameters ( ) const
inlineoverrideprivatevirtual

Implements ufo::ObsOperatorFactory.

Definition at line 158 of file ObsOperatorBase.h.


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