28 Sep
2015
28 Sep
'15
2:57 a.m.
On 9/27/2015 11:47 PM, David Stone wrote:
emplace can call the move assignment operator after constructing a temporary, because that is identical to destruct + construct.
Emplace doesn't move assign. Emplace can't have temporaries. Move assigning is not at all identical to destruct + construct. All emplace can assume is that there exists a constructor that takes the given arguments via direct-non-list-initialization. This is fundamental, as emplacing allows putting into places stuff that is not even move assignable. Regards, -- Agustín K-ballo Bergé.- http://talesofcpp.fusionfenix.com