Boost C++ Libraries: Ticket #6524: Better header segregation https://svn.boost.org/trac10/ticket/6524 <p> Please, provide better segregated headers. Currently, including &lt;boost/move/move.hpp&gt; causes inclusion of a few heavy STL headers (algorithm, memory) along with several Boost headers. Most of these dependencies are required to implement move algorithms and iterators. </p> <p> I would like to have a header that only defines facilities to define movable classes (the BOOST_RV_REF and other related macros). Ideally, when C++11 rvalue references are supported by compiler, this header should not include anything but &lt;boost/config.hpp&gt;. When native rvalue references are not available, the header should only contain facilities to implement move emulation (boost::rv and related). </p> <p> Algorithms (move, forward, etc.) and iterators should be available through separate headers. Preferably, move and forward algorithms should be available in their own headers as these ones are often the only algorithms needed in the user's code. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6524 Trac 1.4.3 Ion Gaztañaga Sun, 02 Dec 2012 18:20:50 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/6524#comment:1 https://svn.boost.org/trac10/ticket/6524#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Merged to release branch, revision 81660. New headers: </p> <p> boost/move/core.hpp <em>move emulation (boost::rv) machinery boost/move/utility.hpp </em>move() and forward() boost/move/algorithm.hpp <em>move(), uninitialized_move... boost/move/iterator.hpp </em>move_iterator, back_move_insert_iterator, ... boost/move/traits.hpp <em>has_trivial_destructor_after_move, has_nothrow_move boost/move/move.hpp </em>includes all previous headers </p> Ticket