Go to the documentation of this file.
   18#ifndef GZ_PHYSICS_TEMPLATEHELPERS_HH_ 
   19#define GZ_PHYSICS_TEMPLATEHELPERS_HH_ 
   32    template <
class... T> 
struct type { };
 
   36    template <
typename...>
 
   57    template <
typename To, 
typename From>
 
   60    template <
typename To, 
typename From>
 
   81#define GZ_PHYSICS_CREATE_SELECTOR(X) \ 
   82  template<typename InFeature> \ 
   85    template<typename F, typename PolicyT, typename FeaturesT, \ 
   86             typename = ::gz::physics::void_t<>> \ 
   87    struct Implementation \ 
   89      using type = ::gz::physics::Empty; \ 
   92    template<typename F, typename PolicyT, typename FeaturesT> \ 
   93    struct Implementation<F, PolicyT, FeaturesT, \ 
   94                          ::gz::physics::void_t< \ 
   95                              typename F::template X <PolicyT, FeaturesT>>> \ 
   97      using type = typename F::template X <PolicyT, FeaturesT>; \ 
  100    template <typename PolicyT, typename FeaturesT> \ 
  101    using type = typename Implementation<InFeature, PolicyT, FeaturesT>::type; \