enumerated iteration to struct
Seb
seb at wilzba.ch
Wed Feb 7 01:58:05 UTC 2018
On Wednesday, 7 February 2018 at 01:45:27 UTC, Jonathan M Davis
wrote:
> Perhaps, but foreach does not support that.
>
> foreach(e; range)
> {
> ...
> }
>
> is lowered to something like
>
> for(auto __range = range; !__range.empty; __range.popFront())
> {
> auto e = __range.front;
> ...
> }
Fun fact: an actual lowering from the compiler:
Result __r39 = iota(2).opSlice();
for (; !__r39.empty(); __r39.popFront())
{
int a = __r39.front();
}
https://run.dlang.io/is/QihjQi
(sorry for being slightly off-topic, but it's always interesting
for me to check whether our assumptions for of the inner-workings
of the compiler are true ...)
More information about the Digitalmars-d-learn
mailing list