Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Types | Public Member Functions | Private Attributes | List of all members
fub::OutputFactory< Grid > Class Template Reference

#include <OutputFactory.hpp>

Public Types

using ProgramOptions = std::map< std::string, pybind11::object >
 

Public Member Functions

 OutputFactory ()=default
 
template<typename Output , typename... Args>
bool RegisterOutput (std::string name, Args &&... args)
 
bool Contains (const std::string &name)
 
std::unique_ptr< BasicOutput< Grid > > MakeOutput (const std::string &name, const ProgramOptions &opts)
 

Private Attributes

std::map< std::string, std::function< std::unique_ptr< BasicOutput< Grid > > const ProgramOptions &)> > factories_
 

Member Typedef Documentation

◆ ProgramOptions

template<typename Grid >
using fub::OutputFactory< Grid >::ProgramOptions = std::map<std::string, pybind11::object>

Constructor & Destructor Documentation

◆ OutputFactory()

template<typename Grid >
fub::OutputFactory< Grid >::OutputFactory ( )
default

Member Function Documentation

◆ Contains()

template<typename Grid >
bool fub::OutputFactory< Grid >::Contains ( const std::string &  name)
inline

◆ MakeOutput()

template<typename Grid >
std::unique_ptr<BasicOutput<Grid> > fub::OutputFactory< Grid >::MakeOutput ( const std::string &  name,
const ProgramOptions opts 
)
inline

◆ RegisterOutput()

template<typename Grid >
template<typename Output , typename... Args>
bool fub::OutputFactory< Grid >::RegisterOutput ( std::string  name,
Args &&...  args 
)
inline

Member Data Documentation

◆ factories_

template<typename Grid >
std::map<std::string, std::function<std::unique_ptr<BasicOutput<Grid> > const ProgramOptions&)> > fub::OutputFactory< Grid >::factories_
private

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