$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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