7#ifndef DGBOUNDARYCONDITIONFACTORY_H_
8#define DGBOUNDARYCONDITIONFACTORY_H_
14template <MInt nDim,
class SysEqn>
16template <MInt nDim,
class SysEqn>
47template <MInt nDim,
class SysEqn>
51 using ReturnType = std::unique_ptr<DgBoundaryCondition<nDim, SysEqn>>;
85template <MInt nDim,
class SysEqn>
Class to handle creation of boundary condition objects.
MBool add(const IdType id, maia::dg::bc::Type< T >)
Add new type to factory.
ReturnType create(const IdType id)
Create type from identifier.
MFactory< DgBoundaryCondition< nDim, SysEqn >, IdType, ReturnType, ProductCreator, SolverType &, IdType > m_factory
std::unique_ptr< DgBoundaryCondition< nDim, SysEqn > > ReturnType
DgBoundaryConditionFactory(SolverType &solver)
Constructor only saves solver reference to member variable.
std::function< ReturnType(SolverType &, IdType)> ProductCreator
Class implementing the object factory pattern.
Namespace for auxiliary functions/classes.
Simple type-to-type mapper for function overloading.
static void init(FactoryType &factory)