IODA
ioda::DistributionFactory Class Referenceabstract

Distribution factory. More...

#include <DistributionFactory.h>

Inheritance diagram for ioda::DistributionFactory:

Public Member Functions

virtual ~DistributionFactory ()=default
 

Static Public Member Functions

static std::unique_ptr< Distributioncreate (const eckit::mpi::Comm &comm, const eckit::Configuration &config)
 Create a Distribution object implementing a particular method of distributing observations across multiple process elements.. More...
 

Protected Member Functions

 DistributionFactory (const std::string &name)
 

Private Member Functions

virtual std::unique_ptr< Distributionmake (const eckit::mpi::Comm &comm, const eckit::Configuration &config)=0
 

Static Private Member Functions

static std::map< std::string, DistributionFactory * > & getMakers ()
 

Detailed Description

Distribution factory.

Definition at line 24 of file DistributionFactory.h.

Constructor & Destructor Documentation

◆ ~DistributionFactory()

virtual ioda::DistributionFactory::~DistributionFactory ( )
virtualdefault

◆ DistributionFactory()

ioda::DistributionFactory::DistributionFactory ( const std::string &  name)
explicitprotected

Definition at line 16 of file DistributionFactory.cc.

Here is the call graph for this function:

Member Function Documentation

◆ create()

std::unique_ptr< Distribution > ioda::DistributionFactory::create ( const eckit::mpi::Comm &  comm,
const eckit::Configuration &  config 
)
static

Create a Distribution object implementing a particular method of distributing observations across multiple process elements..

This method creates an instance of the Distribution subclass indicated by the value of the distribution option in config. If this option is not present, an instance of the RoundRobin distribution is returned.

Parameters
[in]commLocal MPI communicator
[in]configTop-level ObsSpace configuration.

Definition at line 24 of file DistributionFactory.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMakers()

static std::map< std::string, DistributionFactory * >& ioda::DistributionFactory::getMakers ( )
inlinestaticprivate

Definition at line 47 of file DistributionFactory.h.

Here is the caller graph for this function:

◆ make()

virtual std::unique_ptr<Distribution> ioda::DistributionFactory::make ( const eckit::mpi::Comm &  comm,
const eckit::Configuration &  config 
)
privatepure virtual

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