34#ifndef UTIL_DOMAIN_ALGEBRA_DEPENDENT_H
35#define UTIL_DOMAIN_ALGEBRA_DEPENDENT_H
46template <
typename Functionality,
53 static const bool domainIsEmpty = boost::mpl::empty<DomainList>::value;
54 typename boost::mpl::if_c<domainIsEmpty, RegEnd, RegNextDomain>::type (reg,grp);
58 template <
typename CurrAlgebraList>
63 typedef typename boost::mpl::front<DomainList>::type DomainType;
64 typedef typename boost::mpl::front<CurrAlgebraList>::type
AlgebraType;
65 typedef typename boost::mpl::pop_front<CurrAlgebraList>::type NextAlgebraList;
67 Functionality::template DomainAlgebra<DomainType, AlgebraType>(reg,grp);
72 template <
typename CurrAlgebraList>
77 static const bool algebraIsEmpty = boost::mpl::empty<CurrAlgebraList>::value;
78 typename boost::mpl::if_c<algebraIsEmpty, RegEnd, RegNextDomainAlgebra<CurrAlgebraList> >::type (reg,grp);
86 typedef typename boost::mpl::pop_front<DomainList>::type NextDomainList;
95template <
typename Functionality,
typename AlgebraList = CompileAlgebraList>
106template <
typename Functionality,
typename AlgebraList = CompileAlgebraList>
118template <
typename Functionality,
typename AlgebraList = CompileAlgebraList>
129template <
typename Functionality,
typename AlgebraList = CompileAlgebraList>
class describing the type of an algebra
Definition algebra_type.h:49
Registry for functions and classes that are exported to scripts and visualizations.
Definition registry.h:138
boost::mpl::list<> CompileDomainList
Definition util_domain_dependent.h:76
boost::mpl::list< end_boost_list > CompileAlgebraList
Definition util_algebra_dependent.h:98
Definition util_domain_algebra_dependent.h:97
RegisterDomain1dAlgebraDependent(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:98
Definition util_domain_algebra_dependent.h:131
RegisterDomain2d3dAlgebraDependent(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:132
Definition util_domain_algebra_dependent.h:108
RegisterDomain2dAlgebraDependent(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:109
Definition util_domain_algebra_dependent.h:120
RegisterDomain3dAlgebraDependent(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:121
Definition util_domain_algebra_dependent.h:74
RegAlgebra(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:75
Definition util_domain_algebra_dependent.h:56
RegEnd(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:56
Definition util_domain_algebra_dependent.h:60
RegNextDomainAlgebra(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:61
Definition util_domain_algebra_dependent.h:83
RegNextDomain(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:84
Definition util_domain_algebra_dependent.h:50
RegisterDomainAlgebraDependent(Registry ®, std::string grp)
Definition util_domain_algebra_dependent.h:51