2009-04-01から1日間の記事一覧

可変引数テンプレートでの型リスト - concat

C++

2つの型リストを連結するメタ関数です。 template <class Seq1, class Seq2> struct concat; template <class... Seq1, class... Seq2> struct concat<tuple<Seq1...>, tuple<Seq2...>> { typedef tuple<Seq1..., Seq2...> type; }; concat<tuple<int, double>, tuple<long, char>>::type → tuple<int, double, long, char></int,></long,></tuple<int,></seq1...,></seq2...></tuple<seq1...></class...></class>