On Monday, 22 June 2020 at 20:46:30 UTC, mw wrote:
On Monday, 22 June 2020 at 20:00:50 UTC, Steven Schveighoffer
wrote:
I wouldn't recommend it, instead do a while loop:
auto range = File(fn).byLine;
while(!range.empty)
{
auto line = range.front;
if(someCond(line)) {
range.popFrontN(n);
I'm asking this, because here it need to be range.popFrontN(n+1);
i.e. bug-prone
can be fixed by:
auto line = range.front;
range.popFront; // pop immediately
} else {
regularProcess(line);
range.popFront;
}
}
Thanks.
so `front` is peek, and `popFront` is the pop action whose
return type is `void`, why we need two *separate* calls instead
of just let `popFront` return T (or do we have another function
for this)? i.e if the user forget `popFront`, it will prone to
infinite loop bug?
so my question.