Run-time Indexing of a Compile-Time Tuple
Idan Arye via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue May 12 06:30:21 PDT 2015
On Monday, 11 May 2015 at 22:46:00 UTC, Per Nordlöw wrote:
> 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().
A little hacky, but how about casting it to a static array?
http://dpaste.dzfl.pl/d0059e6e6c09
More information about the Digitalmars-d-learn
mailing list