可変長テンプレート引数って、どうやれば宣言できるの?

tuple<int,int,double,double>
tuple<char,char,int>

みたいなクラスを自分で作りたいんだが。
いろんなところを調べると、

template<class T1,class T2,...,class TM>
class tuple;

みたいな書き方がされてるけど、当然のごとく
このままではコンパイル通らないし…