Accessors, byLine, input ranges
Michel Fortin
michel.fortin at michelf.com
Fri Jan 29 07:53:50 PST 2010
On 2010-01-29 10:49:34 -0500, "Steven Schveighoffer"
<schveiguy at yahoo.com> said:
> ugh... much simpler with a true stream-like range that supports what is
> natural for streams:
>
> for(int i = 0; i < count && !range.empty; i++) {
> elements ~= range.get();
> }
>
> But of course, then this function doesn't work for other range types.
> I decided in that discussion long ago that stream ranges were going to
> suck.
You can always define a generic take() like this:
E take(R, E)(ref R range) {
E element = range.front;
range.popFront();
return element;
}
This will work for any forward range.
--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list