How about range snippets? I've just added a simple standard range to my snippets.lua file:

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.).

Reply via email to