TをN個含んだ型リストを生成するメタ関数です。
template <int N, class T> struct replicate { typedef typename cons<T, typename replicate<N-1, T>::type>::type type; }; template <class T> struct replicate<0, T> { typedef tuple<> type; };
replicate<3, int>::type → tuple<int, int, int>