Run-time Indexing of a Compile-Time Tuple

via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon May 11 15:45:59 PDT 2015


The pattern

             final switch (_index)
             {
                 import std.range: empty, front;
                 foreach (i, R; Rs)
                 {
                     case i:
                         assert(!source[i].empty);
                         return source[i].front;
                 }
             }

occurring in roundRobin() and now also in my merge at

https://github.com/nordlow/justd/blob/master/range_ex.d#L604

is nor pretty nor concise.

Is there a better way of indexing a compile time tuple with a 
run-time index?

It may have to work together with CommonType somehow as is shown 
in my implementation of merge().


More information about the Digitalmars-d-learn mailing list