34 #ifndef UTIL_DOMAIN_ALGEBRA_DEPENDENT_H
35 #define UTIL_DOMAIN_ALGEBRA_DEPENDENT_H
46 template <
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;
95 template <
typename Functionality,
typename AlgebraList = CompileAlgebraList>
106 template <
typename Functionality,
typename AlgebraList = CompileAlgebraList>
118 template <
typename Functionality,
typename AlgebraList = CompileAlgebraList>
129 template <
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