NULL indicator in Variant

Steven Schveighoffer schveiguy at yahoo.com
Thu Oct 27 10:09:43 PDT 2011


On Thu, 27 Oct 2011 12:58:57 -0400, Steve Teale  
<steve.teale at britseyeview.com> wrote:

> On Thu, 27 Oct 2011 16:16:26 +0200, Alex Rønne Petersen wrote:
>
>> On 27-10-2011 15:50, Steve Teale wrote:
>>>>
>>>> Surely Variant.init should do the trick?
>>>
>>> Dmitry,
>>>
>>> Are you talking about the new std.variant - I don't see 'init'
>>> currently.
>>>
>>> Steve
>>
>> He is probably referring to the 'init' property on the *type*, i.e.
>> int.init and so on.
>>
>> - Alex
>
> Same catch 22. In order to have an init property, the Variant would have
> to have been set to some type, at which point hasValue() would say yes.
>
> Steve

import std.variant;

void main()
{
     Variant v = 1;
     assert(v.hasValue());
     v = v.init;
     assert(!v.hasValue());
}

-Steve


More information about the Digitalmars-d mailing list