2009-03-30から1日間の記事一覧

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

C++

型リストの長さを取得するメタ関数です。 template <class... Args> struct length { static const int value = sizeof...(Args); }; template <class... Args> struct length<tuple<Args...>> { static const int value = sizeof...(Args); }; length<int, double, long>::value → 3 length<tuple<int, double, long>>::value → 3</tuple<int,></int,></tuple<args...></class...></class...>