std::packaged_task trunk problem
Lars Gullik Bjønnes
larsbj@gullik.org
Mon Nov 7 09:26:00 GMT 2011
Jonathan Wakely <jwakely.gcc@gmail.com> writes:
| On 3 November 2011 16:17, Jonathan Wakely wrote:
>>
>> Something like ...
>>
>> template<typename Moveable>
>> struct PretendToBeCopyable
>> {
>> Â explicit PretendToBeCopyable(Moveable&& m) : m(m) {}
>
| Oops, that mem-initializer would need to be m(std::move(m))
This is the wrapper I ended up with. I had to remove the throw, it
triggered all the time.
template<typename Moveable>
struct PretendToBeCopyable
{
explicit PretendToBeCopyable(Moveable&& m) : m(std::move(m)) {}
PretendToBeCopyable(PretendToBeCopyable&&) = default;
PretendToBeCopyable(PretendToBeCopyable& p)
: m(std::move(p.m)) {}
void operator()() { m(); }
private:
Moveable m;
};
}
--
Lgb
More information about the Gcc-help
mailing list