range = [[private
{
R r;
}
this(R r)
{
this.r = r;
}
@property bool empty()
{
return r.length == 0;
}
@property auto front()
{
return r[0];
}
@property void popFront()
{
r = r[1..$];
}
Of course there can be all the different kinds of ranges (rangei
= infinite, rangef = forward range etc.).
