Boost C++ Libraries: Ticket #11939: Issues with boost::interprocess::shared_ptr's move constructor and move assignment operator. https://svn.boost.org/trac10/ticket/11939 <p> The boost::interprocess::shared_ptr's move constructor is declared as explicit which makes it copy when user does a move. Similarly, move assignment operator is missing to move the argument to temporary before swapping. </p> <pre class="wiki">boost::interprocess::shared_ptr&lt;...&gt; p = ...; assert(p.unique()); auto p1 = std::move(p); // Does a copy. assert(p1.unique()); // Fails. decltype(p) p2; p2 = std::move(p1); // Does a copy. assert(p2.unique()); // Fails. </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11939 Trac 1.4.3