Boost logo

Boost :

From: Jody Hagins (jody-boost-011304_at_[hidden])
Date: 2005-02-16 08:44:16


On Wed, 16 Feb 2005 15:29:37 +0200
"Peter Dimov" <pdimov_at_[hidden]> wrote:

> No, he isn't assuming that. "Not exception safe" == "does not provide
> basic" in the above paragraph. Fernando's goal, IIUC, was to make
> optional<T>::operator= provide the basic guarantee even when
> T::operator= does not. We are arguing that this is not necessary and
> that optional<T>::operator= should just mirror the exception safety
> guarantee of T::operator= and T::T( T const & ).

That is how I read it as well, and I also agree that providing more
exception safety than T is unwarranted for Boost.Optional. Why should
the "optional" nature of T make it more exception safe than using T by
itself? The only thing I can think of specific to Boost.Optional is
when T is destroyed so that the "optional" nature is "cleared."
However, ~T() throws then the programmer has more then enough other
problems...


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