How do you implement your own range in D? I've looked everywhere but I can't find any documentation on which methods (like popFront, for example) need to be implemented for which kinds of ranges.
popFront
This should be it
http://www.digitalmars.com/d/2.0/phobos/std_range.html