Boost logo

Boost :

Subject: Re: [boost] [optional] Why was optional<T>::reset() deprecated?
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2016-03-02 03:20:30


On 2016-03-02 01:51, Andrzej Krzemienski wrote:
> At some earlier stages of development, boost::optional did not have the
> assignment from boost::none_t (and probably also from T); and reset was the
> only way to efficiently change the optional from the state of having the
> value to the state of not having the value.
>
> After the addition of more fancy syntax (conversion to bool, assignment
> from none_t), reset() (and is_initialized()) became redundant, and hence
> the deprecation.
>
> I got that from reading Boost mailing archives once.

FWIW, I don't think that having support for 'none' is enough reason to
deprecate 'reset' (same for 'is_initialized'). I know some of my
colleagues who prefer these methods to the fancy syntax because it feels
more aligned with other Boost and standard library components. Having
'reset' also allows not to include boost/none.hpp.

> 2016-03-01 22:58 GMT+01:00 Nevin Liber <nevin_at_[hidden]>:
>
>> Does anyone know? We are considering adding it to std::optional this week.
>>
>> Thanks,
>> --
>> Nevin ":-)" Liber <mailto:nevin_at_[hidden] <nevin_at_[hidden]
>>>>
>> +1-847-691-1404
>>
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk