Saaa wrote:
I can't figure out how to create the IndexArray function,
it should work on arrays of any depth

BaseType!(TArray) index(TArray : TArray[])(TArray array, int[] indices...)
{
        return index(array[indices[0]], indices[1..$]);
}

TElement index(TElement)(TElement element, int[] ignored...)
{
        return element;
}

This uses template specialization to handle arrays differently than non-arrays (that's what the "TArray : TArray[]" business means). It uses the BaseType template worked out in one of your previous threads. It's close enough to being the simplest thing that could work that I wouldn't bother looking for anything simpler.

Reply via email to