複数のタプルを引数として受け取る

タプルは常に可変個引数の形式でしか受け取れないため、普通に書くと複数のテンプレートを受け取ることが出来ません。
まあ説明するのがめんどくさくなってきました。ラッパークラス書け!以上。


それじゃあんまりなので真面目に書きます。ごめんなさい。
しかしまあわざわざ説明するほどでもないことでもあります。

class Tuple(T...){ alias T type; }
template Print(T...){
    void Print(){
        foreach(t; T){
            writefln(typeid(t.type));
        }
    }
}
void main(){
    Print!(Tuple!(int, char), Tuple!(TypeTuple!(int, char)));
}

ちなみに受け取るタプルが二つだけなら、一つ目のタプルの長さを整数値で保持しておけばスライスで何とかなったりします。