[phobos] Why isn't Joiner a forward range?
    Andrei Alexandrescu 
    andrei at erdani.com
       
    Mon Aug 16 21:42:51 PDT 2010
    
    
  
The reason is that joiner does not only consume its range argument, it 
eats every item of every item of the range argument (which must be a 
range of ranges). Therefore, it destructively chews through its input.
Andrei
David Simcha wrote:
> Why is std.algorithm.joiner explicitly *not* a forward range even when 
> it can be?  This is not an oversight.  It appears to be an explicit 
> decision.  From the unittest:
> 
>     static assert(isInputRange!(typeof(joiner([""], ""))));
>     static assert(!isForwardRange!(typeof(joiner([""], ""))));
> 
> Maybe I'm missing something obvious, but I just can't think of any good 
> reason for this decision.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
    
    
More information about the phobos
mailing list