21 #ifndef FUB_OUTPUT_FACTORY_HPP
22 #define FUB_OUTPUT_FACTORY_HPP
38 template <
typename Output,
typename... Args>
43 return std::make_unique<Output>(opts, args...);
50 std::unique_ptr<BasicOutput<Grid>>
MakeOutput(
const std::string& name,
56 return it->second(opts);
60 std::map<std::string, std::function<std::unique_ptr<BasicOutput<Grid>>(
Definition: OutputFactory.hpp:33
bool Contains(const std::string &name)
Definition: OutputFactory.hpp:48
bool RegisterOutput(std::string name, Args &&... args)
Definition: OutputFactory.hpp:39
std::unique_ptr< BasicOutput< Grid > > MakeOutput(const std::string &name, const ProgramOptions &opts)
Definition: OutputFactory.hpp:50
std::map< std::string, std::function< std::unique_ptr< BasicOutput< Grid > > const ProgramOptions &)> > factories_
Definition: OutputFactory.hpp:62
std::map< std::string, pybind11::object > ProgramOptions
Definition: OutputFactory.hpp:35
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
std::map< std::string, pybind11::object > ProgramOptions
Definition: ProgramOptions.hpp:40