Note that if your design makes that you must have a tuple, you may build the array at compile time, so that you can index it at run time.

That is what I was trying first, but I could not make it work. Maybe you can show me how it's done?

This would be one way to do it:


auto staticArray(Elements...)(Elements elements)
{
    alias Elements[0] E;
    E[Elements.length] r;

    foreach(i, _; elements)
        r[i] = elements[i];

    return r;
}

struct SomeStruct(integers...) {
    enum arr = staticArray(integers);
    int opIndex(size_t idx){
        return arr[idx];
    }
}

Reply via email to