template<template<class, class> class Eq>
registerDiffEq struct
Function object for registering a differential equation into the differential equation factory.
Contents
This functor is repeatedly called by brigand's cartesian_product, sweeping all combinations of the 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
-
registerDiffEq(DiffEqFactory& f,
ctr::
DiffEqType t, std::set<ctr:: DiffEqType>& eqTypes) explicit - Constructor, also count number of unique equation types registered.
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
- DiffEqFactory& factory
- Need to store the reference to factory we are registering into.
- const ctr::
DiffEqType type - Need to store which differential equation we are registering.