template<template<class, class> class Eq, class Factory, class PDE>
registerPDE struct
Function object for registering a partial differential equation into the partial differential equation factory.
Contents
This functor is repeatedly called by MPL's cartesian_product, sweeping all combinations of the partial differential equation policies. The purpose of template template is to simplify client code as that will not have to specify the template arguments of the template argument (the policies of Eq), since we can figure it out here. See also http:/
Constructors, destructors, conversion operators
-
registerPDE(Factory& f,
ctr::
PDEType t, std::set<ctr:: PDEType>& eqTypes) explicit
Public functions
-
template<typename U>void operator()(brigand::type_<U>)
- Function call operator called with tk::
cartesian_product for each unique sequence of policy combinations.
Public variables
- Factory& factory
- Need to store the reference to factory we are registering into.
- const ctr::
PDEType type - Need to store which differential equation we are registering.
Function documentation
template<template<class, class> class Eq, class Factory, class PDE>
inciter:: registerPDE<Eq, Factory, PDE>:: registerPDE(Factory& f,
ctr:: PDEType t,
std::set<ctr:: PDEType>& eqTypes) explicit
Parameters | |
---|---|
f in/out | Factory into which to register PDE |
t in | Enum selecting PDE type, Control/Inciter/Options/PDE.h |
eqTypes in | Equation type counters |
Constructor, also count number of unique equation types registered