異なるタイプの配列のタプルを繰り返し処理しようとしています。それぞれの要素で関数を呼び出しています。私の現在の実装では、このようなものです:タプルの配列を繰り返す
// Some T... is defined up here.
// ArrayTuple!(T) is a TypeTuple of arrays of each type in T.
ArrayTuple!(T) data;
void iterate(alias func, uint n = 0)()
{
static if(n < T.length)
{
foreach(elem; data[n])
func(elem);
iterate!(func, n + 1)();
}
}
、そのように使用されます。
void foo(T)(T elem)
{
...
}
iterate!(foo)();
は、ほとんどの部分のための素晴らしい作品が、デリゲートテンプレートはfunc
のために渡すことはできません。スタックポインタを持つテンプレート関数をサポートする実装に関する提案はありますか?
Dのプログラマーではない、確かではない、おそらく[this](http://d-programming-language.org/phobos/std_range.html#zip)は役に立ちます –