Boost logo

Boost :

Subject: Re: [boost] [type_erasure] move
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2013-07-29 16:43:44


AMDG

On 07/29/2013 12:37 PM, Christophe Henry wrote:
> Hi Steven,
> I'm looking for a crash I get in my own code with g++4.8.1 (4.5 - 4.7 are
> ok). Maybe you can help me:
> - there is a copy_constructible concept, but no moveable. Is it enough to
> add one on the same model? It looks like you std::forward so I'd say yes.
> Correct?
> template<class T = _self>
>
> struct move_constructible :
>
> ::boost::mpl::vector<constructible<T(T&&)>, destructible<T> >
>
> {};
>

I believe that this should work. However,
overloading const T& and T&& only works
with clang. (It might work with gcc-4.8,
if I enable it. When I wrote the code I
only had gcc-4.7.).

>
> - If I std::move a copy_constructible any type by accident, what do I get?
> A copy? A crash?
>

It should do a copy. I tried hard to make
overload resolution behave the same as it
would with real references.

In Christ,
Steven Watanabe


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