Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-04-15 12:28:42


----- Original Message -----
From: "Peter Dimov" <pdimov_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Monday, April 15, 2002 12:00 PM
Subject: Re: [boost] type_traits: more state-of-the-union

> From: "David Abrahams" <david.abrahams_at_[hidden]>
> > BOOST_ELIPSIS_ARGS_DO_NOT_INVOKE_COPY_CONSTRUCTOR - for
compilers
> > that can resolve overloads to functions accepting elipsis arguments
> > without invoking the copy constructor of the actual argument. This
is
> > nonconforming behavior AFAICT but most compilers seem to allow it,
and
> > it's what allows is_convertible<T,U> to work when T is noncopyable.
>
> It's undefined behavior to pass a non-POD class type to an ellipsis.
> (5.2.2/7.)

Okay; I didn't realize that. However, it doesn't change anything. The
ability to check is_convertible<T,U> is needed as part of a workaround
for compilers which don't conform in other ways. We need a way to check
whether we can get away with it.

-Dave


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