C++ guys hate static_if?
deadalnix
deadalnix at gmail.com
Thu Mar 14 19:43:28 PDT 2013
On Thursday, 14 March 2013 at 23:52:59 UTC, Nick Sabalausky wrote:
> On Thu, 14 Mar 2013 17:54:52 -0400
> Andrei Alexandrescu <SeeWebsiteForEmail at erdani.org> wrote:
>>
>> it's not like we claim to support input ranges and
>> then call .save against them.
>
> Although this is getting OT, we do kind of do that in a way:
>
> It's very common for a range to be a struct rather than a
> class. In
> fact, std.range/algorithm has generally been considered to work
> better with struct ranges with class ranges being a secondary
> thought.
>
> And yet, due the the nature of structs, all it takes to
> effectively
> ".save" an InputRange (or at least attempt to) is this:
>
> struct MyInputRange {...}
> void foo(R)(R r) if(isInputRange!R) {
> auto s = r;
> }
> ...
> foo(MyInputRange());
>
> That implicitly does the equivalent of ".save" on a mere
> InputRange
> *twice*. The result, of course, is completely dependent on the
> input
> range in question.
Passing range by value is completely undefined, which is IMO a
big weak spot of ranges.
More information about the Digitalmars-d
mailing list