On Wednesday, 9 December 2015 at 21:23:03 UTC, Daniel Kozák wrote:
V Wed, 09 Dec 2015 21:10:43 +0000
Jon D via Digitalmars-d-learn
<digitalmars-d-learn@puremagic.com>
napsáno:
There is a fair bit of range related code in the standard
library structured like:
auto MyRange(Range)(Range r)
if (isInputRange!Range)
{
static struct Result
{
private Range source;
// define empty, front, popFront, etc
}
return Result(r);
}
I'm curious about what declaring the Result struct as 'static'
does, and if there are use cases where it be better to exclude
the static qualifier.
--Jon
It make it non-nested struct:
https://dlang.org/spec/struct.html#nested
Thanks. So, is in the example above, would the advantage be that
'static' avoids saving the enclosing state, which is not needed?