From: Daniel Wallin (dalwan01_at_[hidden])
Date: 2003-10-08 07:58:10
At 14:39 2003-10-08, David Abrahams wrote:
>Eric Friedman <ebf_at_[hidden]> writes:
> > David Abrahams wrote:
> >> "E. Gladyshev" <egladysh_at_[hidden]> writes:
> >>>So you decided that it is worth to make the first type special.
> >>>Well, seems like a strange justification to me but anyway...
> >> Me too, FWIW. In generic code it may not be so easy to control the
> >> properties of the type which comes first.
> > My point, though, is why does it matter?
> > It seems unlikely to me that the specification on some generic code
> > would be:
> > "One of these types must be nothrow default-constructible."
> > In my opinion, the ability to turn off heap backup for variant should
> > be seen as an optimization (i.e., as it prevents costly heap
> > allocation) and not any sort of interface feature. Please disagree
> > with me though.
>If it really didn't matter to be able to get it, there would be no
>point in providing the capability at all. If you don't provide the
>checking in the library, a generic program which _wants_ the benefit
>of the optimization would have to implement not only the *search* for
>a nothrow default-constructible type, but also the code to rearrange
>the types so that it comes first. Seems like a bad tradeoff to me.
What's wrong with simply adding a nothrow default-constructible type to
the variant, like Eric demonstrated?
--- Daniel Wallin
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk