Transient ranges

default0 via Digitalmars-d digitalmars-d at puremagic.com
Sun May 29 11:27:53 PDT 2016


On Sunday, 29 May 2016 at 18:09:29 UTC, Steven Schveighoffer 
wrote:
> On 5/29/16 1:45 PM, Steven Schveighoffer wrote:
>> On 5/27/16 7:42 PM, Seb wrote:
>>
>>> So what about the convention to explicitely declare a 
>>> `.transient` enum
>>> member on a range, if the front element value can change?
>>
>> enum isTransient(R) = is(typeof(() {
>>    static assert(isInputRange!R);
>>    static assert(hasIndirections(ElementType!R));
>>    static assert(!allIndrectionsImmutable!(ElementType!R)); // 
>> need to
>> write this
>> }));
>
> obviously, this is better as a simple && statement between the 
> three requirements :) When I started writing, I thought I'd 
> have to write some runtime code.
>
> -Steve

Would that make a range of polymorphic objects transient?


More information about the Digitalmars-d mailing list