Folding over arbitrarily many variadic packs
问题 I'm reading through Eric Niebler's post on his tiny metaprogramming library. In trying to implement the pieces that he omits / lists as challenges, I am left with the following implementation of transform : template <typename F, typename... As> using meta_apply = typename F::template apply<As...>; template <typename... > struct typelist_transform; // unary template <typename... T, typename F> struct typelist_transform<typelist<T...>, F> { using type = typelist<meta_apply<F,T>...>; }; //