33 #ifndef UTIL_DOMAIN_DEPENDENT_H
34 #define UTIL_DOMAIN_DEPENDENT_H
43 #include <boost/mpl/if.hpp>
44 #include <boost/mpl/list.hpp>
45 #include <boost/mpl/empty.hpp>
46 #include <boost/mpl/front.hpp>
47 #include <boost/mpl/pop_front.hpp>
60 typedef boost::mpl::list<
64 #if defined UG_DIM_1 && (defined UG_DIM_2 || defined UG_DIM_3)
70 #if defined UG_DIM_2 && defined UG_DIM_3
82 template <
typename Functionality,
typename List = CompileDomainList>
87 static const bool isEmpty = boost::mpl::empty<List>::value;
88 typename boost::mpl::if_c<isEmpty, RegEnd, RegNext>::type (reg,grp);
95 typedef typename boost::mpl::front<List>::type DomainType;
96 typedef typename boost::mpl::pop_front<List>::type NextList;
103 template<
typename Functionality>
111 template<
typename Functionality>
119 template<
typename Functionality>
127 template<
typename Functionality>
130 RegisterDomain2dDependent<Functionality>(reg, grp);
131 RegisterDomain3dDependent<Functionality>(reg, grp);
Registry for functions and classes that are exported to scripts and visualizations.
Definition: registry.h:138
void RegisterDomain2dDependent(Registry ®, std::string grp)
Definition: util_domain_dependent.h:112
void RegisterDomain3dDependent(Registry ®, std::string grp)
Definition: util_domain_dependent.h:120
void RegisterDomain1dDependent(Registry ®, std::string grp)
Definition: util_domain_dependent.h:104
boost::mpl::list<> CompileDomainList
Definition: util_domain_dependent.h:76
void RegisterDomain2d3dDependent(Registry ®, std::string grp)
Definition: util_domain_dependent.h:128
Domain< 3, MultiGrid, MGSubsetHandler > Domain3d
Definition: domain.h:348
Domain< 1, MultiGrid, MGSubsetHandler > Domain1d
Definition: domain.h:346
Domain< 2, MultiGrid, MGSubsetHandler > Domain2d
Definition: domain.h:347
Definition: util_domain_dependent.h:90
RegEnd(Registry ®, std::string grp)
Definition: util_domain_dependent.h:90
Definition: util_domain_dependent.h:92
RegNext(Registry ®, std::string grp)
Definition: util_domain_dependent.h:93
Definition: util_domain_dependent.h:84
RegisterDomainDependent(Registry ®, std::string grp)
Definition: util_domain_dependent.h:85