eating inout dogfood

Walter Bright newshound2 at digitalmars.com
Fri Oct 14 11:17:09 PDT 2011


On 10/14/2011 4:29 AM, Steven Schveighoffer wrote:
> On Fri, 14 Oct 2011 04:43:15 -0400, Kagamin <spam at here.lot> wrote:
>
>> Steven Schveighoffer Wrote:
>>
>>> struct cursor(T)
>>> {
>>> T* node;
>>> void popFront() {node++;}
>>> ... // usual suspects front, empty, etc
>>> }
>>>
>>> This seems like cursor!(inout(V)) might work (V is the element type of the
>>> container) as the return type for inout functions. However, one of the
>>> major requirements of inout is that it correctly cast back to the
>>> constancy of the container.
>>
>> try to return inout(cursor!(Unqual!(V)))
>
> This won't solve the problem. I need inout to be on V, not on the cursor.

return cursor!(Unqual!(inout(V));

?


More information about the Digitalmars-d mailing list