Boost logo

Boost :

Subject: Re: [boost] [proposal] safe_ref<T>
From: Rob Stewart (robertstewart_at_[hidden])
Date: 2012-12-13 05:14:21


On Dec 13, 2012, at 2:18 AM, Nevin Liber <nevin_at_[hidden]> wrote:

> On 13 December 2012 01:05, Andrey Semashev <andrey.semashev_at_[hidden]>wrote:
>
>> I don't see how this is better than optional<T&>, sorry. Your Safe wrapper could have been written around optional with the same success, and using lambdas or other function objects to work with references seem overcomplicated to me.
>
> +1
>
>> optional<int&> si(temp)
>> if (si)
>> std::cout << *si << std::endl;
>>
>
> Or even:
>
> int* pi(&temp);
> if (pi)
> std::cout << *pi << std::endl;

While I mostly agree with you and Andrey, neither alternative addresses the OP's desire to force the null check by virtue of using the wrapper type. Using optional comes close, as there will be an exception, IIRC.

___
Rob


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