Boost Website Site Tools Release notes for work in progress boost http://www.boost.org/ en-us Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) Version 1.49.0http://www.boost.org/users/history/version_1_49_0.htmlhttp://www.boost.org/users/history/version_1_49_0.htmlIn Progress <div id="version_1_49_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/heap/index.html">Heap</a>:</span> Priority queue data structures, from Tim Blechmann. </div> </li> </ul> </div> <div id="version_1_49_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/asio">Asio</a>:</span> <ul> <li> <div> Added a new class template <code><span class="identifier">basic_waitable_timer</span></code> based around the C++11 clock type requirements. It may be used with the clocks from the C++11 <code><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> library facility or, if those are not available, Boost.Chrono. The typedefs <code><span class="identifier">high_resolution_timer</span></code>, <code><span class="identifier">steady_timer</span></code> and <code><span class="identifier">system_timer</span></code> may be used to create timer objects for the standard clock types. </div> </li> <li> <div> Added a new <code><span class="identifier">windows</span><span class="special">::</span><span class="identifier">object_handle</span></code> class for performing waits on Windows kernel objects. Thanks go to Boris Schaeling for contributing substantially to the development of this feature. </div> </li> <li> <div> On Linux, <code><span class="identifier">connect</span><span class="special">()</span></code> can return EAGAIN in certain circumstances. Remapped this to another error so that it doesn't look like a non-blocking operation (<a href="https://svn.boost.org/trac/boost/ticket/6048">#6048</a>). </div> </li> <li> <div> Fixed a compile error on NetBSD (<a href="https://svn.boost.org/trac/boost/ticket/6098">#6098</a>). </div> </li> <li> <div> Fixed deadlock on Mac OS X (<a href="https://svn.boost.org/trac/boost/ticket/6275">#6275</a>). </div> </li> <li> <div> Fixed a regression in <code><span class="identifier">buffered_write_stream</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6310">#6310</a>). </div> </li> <li> <div> Fixed a non-paged pool &quot;leak&quot; on Windows when an <code><span class="identifier">io_service</span></code> is repeatedly run without anything to do (<a href="https://svn.boost.org/trac/boost/ticket/6321">#6321</a>). </div> </li> <li> <div> Reverted earlier change to allow some speculative operations to be performed without holding the lock, as it introduced a race condition in some multithreaded scenarios. </div> </li> <li> <div> Fixed a bug where the second buffer in an array of two buffers may be ignored if the first buffer is empty. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/chrono">Chrono</a>:</span> <ul> <li> <div> Bug Fixes: <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6092">#6092</a> Input from non integral durations makes the compiler fail. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6093">#6093</a> [1/3]second fails as valid duration input. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6113">#6113</a> duplicate symbol when BOOST_CHRONO_HEADER_ONLY is defined. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6243">#6243</a> Sandia-pgi-11.9: more than one instance of overloaded function &quot;min&quot; matches. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6257">#6257</a> process_cpu_clock::now() on linux gives time_points 1/1000 times. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/container/">Container</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6499">#6499</a>, <a href="https://svn.boost.org/trac/boost/ticket/6336">#6336</a>, <a href="https://svn.boost.org/trac/boost/ticket/6335">#6335</a>, <a href="https://svn.boost.org/trac/boost/ticket/6287">#6287</a>, <a href="https://svn.boost.org/trac/boost/ticket/6205">#6205</a>, <a href="https://svn.boost.org/trac/boost/ticket/4383">#4383</a>. </div> </li> <li> <div> Added <code><span class="identifier">allocator_traits</span></code> support for both C++11 and C++03 compilers through an internal <code><span class="identifier">allocator_traits</span></code> clone. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/filesystem/">Filesystem</a>:</span> <ul> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/3714">#3714</a>, Added test cases and fixes for class path errors when assignment or append used self or portion of self as source. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/4889">#4889</a>, <a href="https://svn.boost.org/trac/boost/ticket/6320">#6320</a>, Locale codecvt_facet not thread safe on Windows. Move Windows, Mac OS X, locale and codecvt facet back to namespace scope. POSIX except OS X uses local static initialization (IE lazy) to ensure exceptions are catchable if environmental variables are misconfigured and to avoid use of locale(&quot;&quot;) if not actually used. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5652">#5652</a>, recursive_directory_iterator fails on cyclic symbolic links. Thanks to Daniel Aarno for the patch. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5653">#5653</a>, recursive_directory_iterator(error_code) can still throw filesystem_error. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5900">#5900</a>, directory_iterator access violation on Windows if error is thrown. Thanks to Andreas Eckleder for the patch. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5900">#5900</a> comment 2, a bug in director_iterator construction with error_code argument that caused increment to be called without the ec argument being passed. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5989">#5989</a> by cleaning up test suite path_test.cpp code even though the ticket itself was not a defect, and clarifying docs; iteration over a path yields generic format. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5592">#5592</a>, Change Windows codecvt processing from CP_THREAD_ACP to CP_ACP. </div> </li> <li> <div> Operations function fixes for PGI compiler, thanks to Noel Belcourt. </div> </li> <li> <div> Relax permissions test to reflect reality, particularly on the Sandia test platforms. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/geometry/">Geometry</a>:</span> <ul> <li> <div> Fixed bugs <ul> <li> <div> Distance for multi-geometries ignored specified distance strategy. </div> </li> <li> <div> In difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list). </div> </li> <li> <div> Raise exception for calculation of distances of multi-geometrie(s) where one of them is empty </div> </li> <li> <div> Multi DSV did not correctly use settings. </div> </li> <li> <div> Self-intersections could sometimes be missed (introduced in 1.48). </div> </li> <li> <div> Convex hull crashed on empty range (e.g. empty multi point). </div> </li> </ul> </div> </li> <li> <div> Solved tickets <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6028">#6028</a> Documentation: closure. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6178">#6178</a> Missing headerfile. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6021">#6021</a> convex hull of multipoint. </div> </li> </ul> </div> </li> <li> <div> Additional functionality <ul> <li> <div> Support for line/polygon intersections and differences </div> </li> <li> <div> Support for convert of segment/box of different point types </div> </li> <li> <div> Support for append for multi point </div> </li> <li> <div> Scalar functions (distance, area, length, perimeter) now throw an empty_input_exception on empty input </div> </li> </ul> </div> </li> <li> <div> Documentation <ul> <li> <div> Updated support status </div> </li> </ul> </div> </li> <li> <div> Internal changes <ul> <li> <div> Updates in specializations/not_implemented for distance/convert/assign/area </div> </li> <li> <div> Move of wkt/dsv to io folder, making domains redundant </div> </li> <li> <div> Strategy concepts assigned to zero to avoid clang warnings (patched by Vishnu) </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/graph/">Graph</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/5881">#5881</a>, <a href="https://svn.boost.org/trac/boost/ticket/6033">#6033</a>, <a href="https://svn.boost.org/trac/boost/ticket/6061">#6061</a>, <a href="https://svn.boost.org/trac/boost/ticket/6137">#6137</a>, <a href="https://svn.boost.org/trac/boost/ticket/6246">#6246</a>, <a href="https://svn.boost.org/trac/boost/ticket/6239">#6239</a>, <a href="https://svn.boost.org/trac/boost/ticket/6293">#6293</a>, <a href="https://svn.boost.org/trac/boost/ticket/6306">#6306</a>, <a href="https://svn.boost.org/trac/boost/ticket/6313">#6313</a> and <a href="https://svn.boost.org/trac/boost/ticket/6371">#6371</a>, plus others not in Trac. </div> </li> <li> <div> Re-enabled LEDA graph support (thanks to Jens Muller for the patch). </div> </li> <li> <div> Added documentation for <code><span class="identifier">edge_predecessor_recorder</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/icl/">Icl</a>:</span> <ul> <li> <div> Fixed tickets <a href="https://svn.boost.org/trac/boost/ticket/6095">#6095</a> and <a href="https://svn.boost.org/trac/boost/ticket/6210">#6210</a>. </div> </li> <li> <div> Added move semantics for constructors, assignment operators and binary operators. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/interprocess/">Interprocess</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6531">#6531</a>, <a href="https://svn.boost.org/trac/boost/ticket/6412">#6412</a>, <a href="https://svn.boost.org/trac/boost/ticket/6398">#6398</a>, <a href="https://svn.boost.org/trac/boost/ticket/6340">#6340</a>, <a href="https://svn.boost.org/trac/boost/ticket/6319">#6319</a>, <a href="https://svn.boost.org/trac/boost/ticket/6287">#6287</a>, <a href="https://svn.boost.org/trac/boost/ticket/6265">#6265</a>, <a href="https://svn.boost.org/trac/boost/ticket/6233">#6233</a>, <a href="https://svn.boost.org/trac/boost/ticket/6147">#6147</a>, <a href="https://svn.boost.org/trac/boost/ticket/6134">#6134</a>, <a href="https://svn.boost.org/trac/boost/ticket/6058">#6058</a>, <a href="https://svn.boost.org/trac/boost/ticket/6054">#6054</a>, <a href="https://svn.boost.org/trac/boost/ticket/5772">#5772</a>, <a href="https://svn.boost.org/trac/boost/ticket/5738">#5738</a>, <a href="https://svn.boost.org/trac/boost/ticket/5622">#5622</a>, <a href="https://svn.boost.org/trac/boost/ticket/5552">#5552</a>, <a href="https://svn.boost.org/trac/boost/ticket/5518">#5518</a>, <a href="https://svn.boost.org/trac/boost/ticket/4655">#4655</a>, <a href="https://svn.boost.org/trac/boost/ticket/4452">#4452</a>, <a href="https://svn.boost.org/trac/boost/ticket/4383">#4383</a>, <a href="https://svn.boost.org/trac/boost/ticket/4297">#4297</a>. </div> </li> <li> <div> Fixed timed functions in mutex implementations to fulfill POSIX requirements: <em>Under no circumstance shall the function fail with a timeout if the mutex can be locked immediately. The validity of the abs_timeout parameter need not be checked if the mutex can be locked immediately.</em> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/intrusive/">Intrusive</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6347">#6347</a>, <a href="https://svn.boost.org/trac/boost/ticket/6223">#6223</a>, <a href="https://svn.boost.org/trac/boost/ticket/6153">#6153</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/conversion/lexical_cast.htm">Lexical cast</a>:</span> <ul> <li> <div> Fixed bugs and warnings: <a href="https://svn.boost.org/trac/boost/ticket/6127">#6127</a>, <a href="https://svn.boost.org/trac/boost/ticket/6132">#6132</a>, <a href="https://svn.boost.org/trac/boost/ticket/6159">#6159</a>, <a href="https://svn.boost.org/trac/boost/ticket/6182">#6182</a>, <a href="https://svn.boost.org/trac/boost/ticket/6186">#6186</a>, <a href="https://svn.boost.org/trac/boost/ticket/6193">#6193</a>, <a href="https://svn.boost.org/trac/boost/ticket/6264">#6264</a>, <a href="https://svn.boost.org/trac/boost/ticket/6290">#6290</a>, <a href="https://svn.boost.org/trac/boost/ticket/6298">#6298</a>, <a href="https://svn.boost.org/trac/boost/ticket/6400">#6400</a>. </div> </li> <li> <div> Better performance and less memory usage for boost::container::basic_string conversions. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/locale/">Locale</a>:</span> <ul> <li> <div> Fixed incorrect use of <code><span class="identifier">MultiByteToWideChar</span></code> in detection of invalid input sequences. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/move/">Move</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6417">#6417</a>, <a href="https://svn.boost.org/trac/boost/ticket/6183">#6183</a>, <a href="https://svn.boost.org/trac/boost/ticket/6185">#6185</a>, <a href="https://svn.boost.org/trac/boost/ticket/6395">#6395</a>, <a href="https://svn.boost.org/trac/boost/ticket/6396">#6396</a>, </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/property_tree">PropertyTree</a>:</span> <ul> <li> <div> Fixes for bugs <a href="https://svn.boost.org/trac/boost/ticket/4840">#4840</a>, <a href="https://svn.boost.org/trac/boost/ticket/5259">#5259</a>, <a href="https://svn.boost.org/trac/boost/ticket/5281">#5281</a>, <a href="https://svn.boost.org/trac/boost/ticket/5944">#5944</a>, <a href="https://svn.boost.org/trac/boost/ticket/5757">#5757</a>, <a href="https://svn.boost.org/trac/boost/ticket/5710">#5710</a>, and <a href="https://svn.boost.org/trac/boost/ticket/5307">#5307</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/spirit/index.html">Spirit</a>:</span> <ul> <li> <div> Spirit V2.5.2, see the '<a href="http://www.boost.org/doc/libs/1_49_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5_2.html">What's New</a>' section for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/thread">Thread</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/2309">#2309</a> Lack of g++ symbol visibility support in Boost.Thread. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/2639">#2639</a> documentation should be extended(defer_lock, try_to_lock, ...). </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/3639">#3639</a> Boost.Thread doesn't build with Sun-5.9 on Linux. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/3762">#3762</a> Thread can't be compiled with winscw (Codewarrior by Nokia). </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/3885">#3885</a> document about mix usage of boost.thread and native thread api. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/3975">#3975</a> Incorrect precondition for promise::set_wait_callback(). </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/4048">#4048</a> thread::id formatting involves locale </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/4315">#4315</a> gcc 4.4 Warning: inline ... declared as dllimport: attribute ignored. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/4480">#4480</a> OpenVMS patches for compiler issues workarounds. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/4819">#4819</a> boost.thread's documentation misprints. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5040">#5040</a> future.hpp in boost::thread does not compile with /clr. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5423">#5423</a> thread issues with C++0x. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5502">#5502</a> race condition between shared_mutex timed_lock and lock_shared. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5594">#5594</a> boost::shared_mutex not fully compatible with Windows CE. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5617">#5617</a> boost::thread::id copy ctor. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5739">#5739</a> set-but-not-used warnings with gcc-4.6. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5826">#5826</a> threads.cpp: resource leak on threads creation failure. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5839">#5839</a> thread.cpp: ThreadProxy leaks on exceptions. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5859">#5859</a> win32 shared_mutex constructor leaks on exceptions. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6100">#6100</a> Compute hardware_concurrency() using get_nprocs() on GLIBC systems. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6141">#6141</a> Compilation error when boost.thread and boost.move are used together. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6168">#6168</a> recursive_mutex is using wrong config symbol (possible typo). </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6175">#6175</a> Compile error with SunStudio. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6200">#6200</a> patch to have condition_variable and mutex error better handle EINTR. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6207">#6207</a> shared_lock swap compiler error on clang 3.0 c++11. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6208">#6208</a> try_lock_wrapper swap compiler error on clang 3.0 c++11. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/unordered">Unordered</a>:</span> <ul> <li> <div> On compilers without rvalue references, the containers are no longer movable by default, as move emulation was causing some odd quirks (<a href="https://svn.boost.org/trac/boost/ticket/6167">#6167</a>, <a href="https://svn.boost.org/trac/boost/ticket/6311">#6311</a>). Define <code><span class="identifier">BOOST_UNORDERED_USE_MOVE</span></code> to make them movable - Boost.Move is still used for elements regardless. </div> </li> <li> <div> Fix sequence point warning (<a href="https://svn.boost.org/trac/boost/ticket/6370">#6370</a>). </div> </li> <li> <div> Better support for C++11 compilers using older standard libraries. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/1_49_0_beta1/libs/uuid/">Uuid</a>:</span> <ul> <li> <div> fixed <a href="https://svn.boost.org/trac/boost/ticket/6258">#6258</a> </div> </li> <li> <div> fixed <a href="https://svn.boost.org/trac/boost/ticket/5325">#5325</a> (sha1 implementation handles messages as long as the specification) </div> </li> <li> <div> progress on <a href="https://svn.boost.org/trac/boost/ticket/6118">#6118</a> (there are fewer warnings) </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_49_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: <ul> <li> <div> Intel: 11.1 </div> </li> <li> <div> LLVM Clang 2.8 </div> </li> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5.2, 4.6.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Intel: 11.1 </div> </li> <li> <div> GCC: 4.2.1, 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 8.0, 9.0, 10.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1, 4.7.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 32 and 64 bit. </div> </li> </ul> </div> </li> <li> <div> QNX: <ul> <li> <div> QCC, C++0x mode: 4.4.2, 4.6.1, 4.6.2 </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.2, 4.6.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.2 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0 </div> </li> <li> <div> PathScale: 4.0.8 </div> </li> <li> <div> Visual Age 10.1 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang from subversion </div> </li> <li> <div> Intel 11.1, 12.0 </div> </li> <li> <div> GCC: 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 8.0, 9.0, 10.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.5.2 </div> </li> <li> <div> GCC, C++0x mode, mingw: 4.5.2 </div> </li> <li> <div> GCC, mingw 64-bit: 4.4.7, 4.5.4, 4.6.1 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition, V11.1.0.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 32 and 64 bit </div> </li> </ul> </div> </li> <li> <div> Solaris: <ul> <li> <div> Sun 5.10 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_49_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James and Vladimir Prus managed this release. </p> </div> Version 1.48.0http://www.boost.org/users/history/version_1_48_0.htmlhttp://www.boost.org/users/history/version_1_48_0.htmlTue, 15 Nov 2011 10:47:30 -0500<x> <div id="version_1_48_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/container/index.html">Container</a>:</span> Standard library containers and extensions, from Ion GaztaƱaga. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/locale/index.html">Locale</a>:</span> Provide localization and Unicode handling tools for C++, from Artyom Beilis. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/html/move.html">Move</a>:</span> Portable move semantics for C++03 and C++11 compilers, from Ion GaztaƱaga. </div> </li> </ul> </div> <div id="version_1_48_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/index.html">Asio</a>:</span> <ul> <li> <div> Implemented various performance improvements, including: <ul> <li> <div> Using thread-local operation queues in single-threaded use cases (i.e. when <code><span class="identifier">concurrency_hint</span></code> is 1) to eliminate a lock/unlock pair. </div> </li> <li> <div> Allowing some <code><span class="identifier">epoll_reactor</span></code> speculative operations to be performed without holding the lock. </div> </li> <li> <div> Improving locality of reference by performing an <code><span class="identifier">epoll_reactor</span></code>'s I/O operation immediately before the corresponding handler is called. Also improves scalability across CPUs. </div> </li> <li> <div> Specialising asynchronous read and write operations for buffer sequences that are arrays (<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> or <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>) of exactly two buffers. </div> </li> </ul> </div> </li> <li> <div> Fixed compile error in regex overload of <code><span class="identifier">async_read_until</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/5688">#5688</a>). </div> </li> <li> <div> Fixed Windows-specific compile error by explicitly specifying the <code><span class="identifier">signal</span><span class="special">()</span></code> function from the global namespace (<a href="https://svn.boost.org/trac/boost/ticket/5722">#5722</a>). </div> </li> <li> <div> Changed <code><span class="identifier">deadline_timer</span></code> implementation to not read clock unless the timer heap is non-empty. </div> </li> <li> <div> Changed SSL buffer sizes to be large enough to hold a complete TLS record (<a href="https://svn.boost.org/trac/boost/ticket/5854">#5854</a>). </div> </li> <li> <div> Fixed synchronous <code><span class="identifier">null_buffers</span></code> operations so that they obey the user's non-blocking setting (<a href="https://svn.boost.org/trac/boost/ticket/5756">#5756</a>). </div> </li> <li> <div> Changed to set <code><span class="identifier">fd_set</span></code> size at runtime when using Windows. </div> </li> <li> <div> Disabled MSVC warning due to const qualifier being applied to function type. </div> </li> <li> <div> Fixed crash that occurs when using Intel C++ compiler (<a href="https://svn.boost.org/trac/boost/ticket/5763">#5763</a>). </div> </li> <li> <div> Changed OpenSSL initialisation to support all available algorithms. </div> </li> <li> <div> Fixed SSL error mapping when session is gracefully shut down. </div> </li> <li> <div> Added some latency test programs. </div> </li> <li> <div> Clarified that a read operation ends when the buffer is full (<a href="https://svn.boost.org/trac/boost/ticket/5999">#5999</a>). </div> </li> <li> <div> Fixed exception safety issue in <code><span class="identifier">epoll_reactor</span></code> initialisation (<a href="https://svn.boost.org/trac/boost/ticket/6006">#6006</a>). </div> </li> <li> <div> Made number of strand implementations configurable via <code><span class="identifier">BOOST_ASIO_STRAND_IMPLEMENTATIONS</span></code> macro. </div> </li> <li> <div> Added support for <code><span class="identifier">BOOST_ASIO_ENABLE_SEQUENTIAL_STRAND_ALLOCATION</span></code> flag which switches strand allocation to use a round-robin approach rather than hashing. </div> </li> <li> <div> Fixed potential strand starvation issue that can occur when <code><span class="identifier">strand</span><span class="special">.</span><span class="identifier">post</span><span class="special">()</span></code> is used. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/index.html">Chrono</a>:</span> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5979">#5979</a> Added chrono rounding utilities as defined by Howard Hinnant <a href="http://home.roadrunner.com/~hinnant/duration_io/chrono_util.html">here</a>. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5978">#5978</a> Add BOOST_CHRONO_HAS_PROCESS_CLOCKS to know if process clocks are available. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5998">#5998</a> Make possible to disable hybrid error handling. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5906">#5906</a> Take in account the constexpr as defined in the standard. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5907">#5907</a> Take in account noexcept for compilers supporting it. </div> </li> <li> <div> Fixed some bugs. </div> </li> <li> <div> See the <a href="http://www.boost.org/doc/html/chrono/appendices.html#chrono.appendices.history">History</a> for more details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/config/index.html">Config</a>:</span> <ul> <li> <div> Add <code><span class="identifier">BOOST_NO_DECLTYPE_N3276</span></code> config macro. (See <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf">N3276</a>.) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/fusion/index.html">Fusion</a>:</span> <ul> <li> <div> Make <code><span class="identifier">single_view</span></code> a random access fusion sequence. </div> </li> <li> <div> Remove bogus compile-time asserts from <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">distance</span></code>. </div> </li> <li> <div> Cleaner implementation of segmented Fusion. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry">Geometry</a>:</span> <ul> <li> <div> Bugfixes: <ul> <li> <div> Robustness issue, in some circumstances the union failed to output. Fixed. </div> </li> <li> <div> Robustness issue, in some circumstances the calculated intersection point was outside the segment. Fixed. </div> </li> <li> <div> Concept issue, cartesian intersect didn't understand segments other than the provided one. Fixed. </div> </li> <li> <div> Sometimes self-intersections in linestrings were missed. Fixed. </div> </li> <li> <div> The fusion coordinate system was not registered correctly. Fixed. </div> </li> </ul> </div> </li> <li> <div> Solved tickets: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5726">#5726</a> (Segment intersection algorithm still assumes 'first', 'second' members) </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5744">#5744</a> (mistake fusion adapt example) </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5748">#5748</a> (need include &lt;boost/foreach.hpp&gt;) </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5954">#5954</a> (distance_pythagoras skips sqrt() step) </div> </li> </ul> </div> </li> <li> <div> Improvements on algorithms: <ul> <li> <div> Checking self-intersections is now not done automatically, this can blast performance. </div> </li> <li> <div> Besides that, checking self-intersections is made faster. </div> </li> <li> <div> Intersections now avoid outputting duplicate points. So they output the minimal set. </div> </li> </ul> </div> </li> <li> <div> Additional algorithms: <ul> <li> <div> covered_by: within is defined as &quot;within, not on boundary&quot;. covered_by is &quot;within or on boundary&quot; </div> </li> </ul> </div> </li> <li> <div> Additional functionality: <ul> <li> <div> within: strategies can now be specified for within&lt;point, box&gt; and within&lt;box, box&gt; </div> </li> <li> <div> convert: a much broader range of conversions is supported </div> </li> <li> <div> assign: idem, (currently partly) synonym for convert (but reversed arguments) </div> </li> </ul> </div> </li> <li> <div> Additional coordinate types: <ul> <li> <div> Basic support for Boost.Rational </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/graph/">Graph</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/5185">#5185</a>, <a href="https://svn.boost.org/trac/boost/ticket/5506">#5506</a>, <a href="https://svn.boost.org/trac/boost/ticket/5813">#5813</a> and <a href="https://svn.boost.org/trac/boost/ticket/5919">#5919</a>. </div> </li> <li> <div> Various other bug fixes not in Trac. </div> </li> <li> <div> Changed edge_descriptor type for reverse_graph to a new data type to avoid ambiguities with the edge_descriptor of the underlying graph. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/interprocess/index.html">Interprocess</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/2796">#2796</a>, <a href="https://svn.boost.org/trac/boost/ticket/4031">#4031</a>, <a href="https://svn.boost.org/trac/boost/ticket/4251">#4251</a>, <a href="https://svn.boost.org/trac/boost/ticket/4452">#4452</a>, <a href="https://svn.boost.org/trac/boost/ticket/4895">#4895</a>, <a href="https://svn.boost.org/trac/boost/ticket/5077">#5077</a>, <a href="https://svn.boost.org/trac/boost/ticket/5120">#5120</a>, <a href="https://svn.boost.org/trac/boost/ticket/5123">#5123</a>, <a href="https://svn.boost.org/trac/boost/ticket/5230">#5230</a>, <a href="https://svn.boost.org/trac/boost/ticket/5197">#5197</a>, <a href="https://svn.boost.org/trac/boost/ticket/5287">#5287</a>, <a href="https://svn.boost.org/trac/boost/ticket/5294">#5294</a>, <a href="https://svn.boost.org/trac/boost/ticket/5306">#5306</a>, <a href="https://svn.boost.org/trac/boost/ticket/5308">#5308</a>, <a href="https://svn.boost.org/trac/boost/ticket/5392">#5392</a>, <a href="https://svn.boost.org/trac/boost/ticket/5409">#5409</a>, </div> </li> <li> <div> Added support to customize offset_ptr and allow creating custom managed segments that might be shared between 32 and 64 bit processes. </div> </li> <li> <div> Shared memory in windows has again filesystem lifetime: kernel bootstamp and WMI use to get a reliable timestamp was causing a lot of trouble. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/intrusive/index.html">Intrusive</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/4797">#4797</a>, <a href="https://svn.boost.org/trac/boost/ticket/5165">#5165</a>, <a href="https://svn.boost.org/trac/boost/ticket/5183">#5183</a>, <a href="https://svn.boost.org/trac/boost/ticket/5191">#5191</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/conversion/lexical_cast.htm">Lexical cast</a>:</span> <ul> <li> <div> Added code to work with Inf and NaN values on any platform (<a href="https://svn.boost.org/trac/boost/ticket/5689">#5689</a>). </div> </li> <li> <div> New Quickbook documentation (<a href="https://svn.boost.org/trac/boost/ticket/5723">#5723</a>). </div> </li> <li> <div> Better performance and less memory usage for many combinations of Source and Target types. </div> </li> <li> <div> Better performance for C locale. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/index.html">Math</a>:</span> <ul> <li> <div> Added new series evaluation methods to the cyclic Bessel I, J, K and Y functions. Also taken great care to avoid spurious over and underflow of these functions. Fixes issue <a href="https://svn.boost.org/trac/boost/ticket/5560">#5560</a>. </div> </li> <li> <div> Added an example of using Inverse Chi-Squared distribution for Bayesian statistics, provided by Thomas Mang. </div> </li> <li> <div> Added tests to use improved version of lexical_cast which handles C99 nonfinites without using global facets. </div> </li> <li> <div> Corrected wrong out-of-bound uniform distribution CDF complement values <a href="https://svn.boost.org/trac/boost/ticket/5733">#5733</a>. </div> </li> <li> <div> Enabled long double support on OpenBSD (issue <a href="https://svn.boost.org/trac/boost/ticket/6014">#6014</a>). </div> </li> <li> <div> Changed nextafter and related functions to behave in the same way as other implementations - so that nextafter(+INF, 0) is a finite value (issue <a href="https://svn.boost.org/trac/boost/ticket/5832">#5832</a>). </div> </li> <li> <div> Changed tuple include configuration to fix issue when using in conjunction with Boost.Tr1 (issue <a href="https://svn.boost.org/trac/boost/ticket/5934">#5934</a>). </div> </li> <li> <div> Changed class eps_tolerance to behave correctly when both ends of the range are zero (issue <a href="https://svn.boost.org/trac/boost/ticket/6001">#6001</a>). </div> </li> <li> <div> Fixed missing include guards on prime.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5927">#5927</a>). </div> </li> <li> <div> Removed unused/undocumented constants from constants.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5982">#5982</a>). </div> </li> <li> <div> Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5914">#5914</a>). </div> </li> <li> <div> Minor patches for Cray compiler compatibility. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/msm/">MSM</a>:</span> <ul> <li> <div> eUML: added easier event reprocessing: process(event_) and reprocess() </div> </li> <li> <div> Rewrite of internal transition tables. There were a few bugs (failing recursivity in internal transition tables of sub-sub machines) and a missing feature (unused internal transition table of the main state machine). </div> </li> <li> <div> Bugfixes <ul> <li> <div> Reverted favor_compile_time policy to Boost 1.46 state </div> </li> <li> <div> none event now is convertible from any other event </div> </li> <li> <div> eUML and pseudo exit states </div> </li> <li> <div> Fixed not working Flag_AND </div> </li> <li> <div> Fixed rare bugs causing multiple processing of the same event in a submachine whose transition table contains this event and a base event of it. </div> </li> <li> <div> gcc warnings about unused variables </div> </li> </ul> </div> </li> <li> <div> Breaking change: the new internal transition table feature causes a minor breaking change. In a submachine, the &quot;Fsm&quot; template parameter for guards / actions of an internal table declared using internal_transition_table now is the submachine, not the higher-level state machine. Internal transitions declared using internal rows in the higher-level state machine keep their behavior (the &quot;Fsm&quot; parameter is the higher-level state machine). To sum up, the internal transition &quot;Fsm&quot; parameter is the closest state machine containing this transition. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/numeric/conversion/index.html">Numeric.Conversion</a>:</span> <ul> <li> <div> Added numeric_cast_traits; see '<a href="http://www.boost.org/doc/libs/1_48_0/libs/numeric/conversion/doc/html/boost_numericconversion/type_requirements_and_user_defined_types_support.html#boost_numericconversion.type_requirements_and_user_defined_types_support.udts_with_numeric_cast">numeric_cast_traits</a>' for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/proto/index.html">Proto</a>:</span> <ul> <li> <div> <em>Breaking Change:</em> Reduce numbers of operator overloads by using rvalue references on compilers that support them. Any user code that defines additional operator overloads on Proto expressions could potentially be rendered ambiguous by this change. The solution is to use a grammar to disable Proto's operators that are made ambiguous by any user-defined operators. </div> </li> <li> <div> Move definitions of Proto tag types into an ADL-blocking namespace. </div> </li> <li> <div> Add second template parameter to <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">siwtch_</span></code> to control dispatching to cases. </div> </li> <li> <div> Allow dependent domains to be specified with <code><span class="identifier">BOOST_PROTO_EXTENDS</span></code> and <code><span class="identifier">BOOST_PROTO_BASIC_EXTENDS</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/regex/">Regex</a>:</span> <ul> <li> <div> Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/698">#698</a>, <a href="https://svn.boost.org/trac/boost/ticket/5835">#5835</a>, <a href="https://svn.boost.org/trac/boost/ticket/5958">#5958</a>, <a href="https://svn.boost.org/trac/boost/ticket/5736">#5736</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/spirit/index.html">Spirit</a>:</span> <ul> <li> <div> Spirit V2.5.1, see the '<a href="http://www.boost.org/doc/libs/1_48_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5_1.html">What's New</a>' section for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/type_traits/">TypeTraits</a>:</span> <ul> <li> <div> Extension to support <a href="http://www.boost.org/libs/type_traits/doc/html/boost_typetraits/category/value_traits/operators.html">operator detection</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Improved support for the C++11 standard - breaking change to equality and emplace. </div> </li> <li> <div> Use Boost.Move to implement move semantics. </div> </li> <li> <div> See the <a href="http://www.boost.org/doc/html/unordered/changes.html#unordered.changes.boost_1_48_0___major_update">change log</a> for full details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/index.html">Wave</a>:</span> <ul> <li> <div> See the <a href="http://www.boost.org/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_48_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: <ul> <li> <div> LLVM Clang 2.8 </div> </li> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5.1, 4.5.2, 4.6 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 </div> </li> <li> <div> Intel 11.1 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Intel 11.1 </div> </li> <li> <div> GCC: 4.2.1, 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 8.0, 9.0, 10.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 32 and 64 bit. </div> </li> </ul> </div> </li> <li> <div> QNX: <ul> <li> <div> QCC 4.4.2 </div> </li> <li> <div> QCC, C++0x mode: 4.4.2, 4.6.1 </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Clang from subversion, with libc++ and GNU libstdc++ </div> </li> <li> <div> LLVM Clang 2.8 x </div> </li> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.4, 4.5.2, 4.5.4, 4.6.1, 4.6.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.4.4, 4.5.2 </div> </li> <li> <div> pgCC: 11.2 x </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0 </div> </li> <li> <div> PathScale: 4.0.8 </div> </li> <li> <div> Visual Age 10.1 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang from subversion, with libc++ and GNU libstdc++. </div> </li> <li> <div> Intel 11.1. </div> </li> <li> <div> GCC: 4.2.1, 4.4.4. </div> </li> <li> <div> GCC, C++0x mode: 4.4.4. </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 8.0, 9.0, 10.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.2, 4.5.4, 4.6.1 </div> </li> <li> <div> GCC, C++0x mode, mingw: 4.5.2 </div> </li> <li> <div> GCC, mingw 64-bit: 4.7.0 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition, V11.1.0.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 32 and 64 bit. </div> </li> </ul> </div> </li> <li> <div> Solaris: <ul> <li> <div> Sun 5.10 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_48_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James and Vladimir Prus managed this release. </p> </div> </x>Version 1.47.0http://www.boost.org/users/history/version_1_47_0.htmlMon, 11 Jul 2011 18:19:33 -0400 New Libraries: Chrono, Geometry, Phoenix and Ratio. Updated Libraries: Accumulators, Asio, Config, DateTime, Dynamic Bitset, Foreach, Function, Function Types, Graph, Iostreams, Iterator, Lexical Cast, Logic, Math, Meta State Machine, MultiIndex, Proto, Random, Range, Spirit, Tokenizer, Utility, Uuid, Wave http://sourceforge.net/projects/boost/files/boost/1.47.0/ <div id="version_1_47_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="/libs/chrono/index.html">Chrono</a>:</span> Useful time utilities, from Vicente J. Botet EscribƔ. </div> </li> <li> <div> <span class="library"><a href="/libs/geometry/index.html">Geometry</a>:</span> Geometry Library, from Barend Gehrels, Bruno Lalande and Mateusz Loskot. </div> </li> <li> <div> <span class="library"><a href="/libs/phoenix/index.html">Phoenix</a>:</span> Define small unnamed function objects at the actual call site, and more, from Joel de Guzman, Dan Marsden and Thomas Heller. </div> </li> <li> <div> <span class="library"><a href="/libs/ratio/index.html">Ratio</a>:</span> Compile time rational arithmetic, from Vicente J. Botet EscribƔ. </div> </li> </ul> </div> <div id="version_1_47_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="/libs/accumulators/index.html">Accumulators</a>:</span> <ul> <li> <div> New statistical accumulators: <code><span class="identifier">sum_kahan</span></code>, <code><span class="identifier">sum_of_weights_kahan</span></code>, <code><span class="identifier">sum_of_variates_kahan</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> <div> Many new features and improvements: <ul> <li> <div> Signal handling. </div> </li> <li> <div> A debugging aid for asynchronous programs. </div> </li> <li> <div> Timeouts on socket iostreams. </div> </li> <li> <div> Composed connect operations. </div> </li> <li> <div> Rewritten SSL implementation. </div> </li> <li> <div> C++0x move support. </div> </li> <li> <div> Compatibility with POSIX <code><span class="identifier">fork</span><span class="special">()</span></code>. </div> </li> <li> <div> ... and much more. See the <a href="/doc/libs/1_47_0/doc/html/boost_asio/history.html">Revision History</a> in the Boost.Asio documentation for more details. </div> </li> </ul> </div> </li> <li> <div> Tickets addressed: <a href="https://svn.boost.org/trac/boost/ticket/2879">#2879</a>, <a href="https://svn.boost.org/trac/boost/ticket/3238">#3238</a>, <a href="https://svn.boost.org/trac/boost/ticket/3297">#3297</a>, <a href="https://svn.boost.org/trac/boost/ticket/3307">#3307</a>, <a href="https://svn.boost.org/trac/boost/ticket/3702">#3702</a>, <a href="https://svn.boost.org/trac/boost/ticket/3741">#3741</a>, <a href="https://svn.boost.org/trac/boost/ticket/3900">#3900</a>, <a href="https://svn.boost.org/trac/boost/ticket/3905">#3905</a>, <a href="https://svn.boost.org/trac/boost/ticket/3939">#3939</a>, <a href="https://svn.boost.org/trac/boost/ticket/3958">#3958</a>, <a href="https://svn.boost.org/trac/boost/ticket/4162">#4162</a>, <a href="https://svn.boost.org/trac/boost/ticket/4971">#4971</a>, <a href="https://svn.boost.org/trac/boost/ticket/5124">#5124</a>, <a href="https://svn.boost.org/trac/boost/ticket/5128">#5128</a>, <a href="https://svn.boost.org/trac/boost/ticket/5418">#5418</a>, <a href="https://svn.boost.org/trac/boost/ticket/5453">#5453</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/config/index.html">Config</a>:</span> <ul> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/1988">#1988</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/date_time/index.html">DateTime</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/4920">#4920</a>, <a href="https://svn.boost.org/trac/boost/ticket/3651">#3651</a>, <a href="https://svn.boost.org/trac/boost/ticket/4845">#4845</a>, <a href="https://svn.boost.org/trac/boost/ticket/4475">#4475</a>, <a href="https://svn.boost.org/trac/boost/ticket/4952">#4952</a>, <a href="https://svn.boost.org/trac/boost/ticket/5345">#5345</a>, <a href="https://svn.boost.org/trac/boost/ticket/5250">#5250</a>, <a href="https://svn.boost.org/trac/boost/ticket/4798">#4798</a>, <a href="https://svn.boost.org/trac/boost/ticket/4754">#4754</a>, <a href="https://svn.boost.org/trac/boost/ticket/4411">#4411</a>, <a href="https://svn.boost.org/trac/boost/ticket/5126">#5126</a>, <a href="https://svn.boost.org/trac/boost/ticket/4780">#4780</a>, <a href="https://svn.boost.org/trac/boost/ticket/2475">#2475</a>, <a href="https://svn.boost.org/trac/boost/ticket/1674">#1674</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/dynamic_bitset/index.html">Dynamic Bitset</a>:</span> <ul> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/5439">#5439</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/foreach/index.html">Foreach</a>:</span> <ul> <li> <div> Use rvalue refs on supporting compilers for const rvalue detection. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/function/index.html">Function</a>:</span> <ul> <li> <div> Bug fixes: <a href="https://svn.boost.org/trac/boost/ticket/3410">#3410</a>, <a href="https://svn.boost.org/trac/boost/ticket/3618">#3618</a>, <a href="https://svn.boost.org/trac/boost/ticket/3912">#3912</a>, <a href="https://svn.boost.org/trac/boost/ticket/4073">#4073</a>, <a href="https://svn.boost.org/trac/boost/ticket/4325">#4325</a>, <a href="https://svn.boost.org/trac/boost/ticket/4717">#4717</a>, <a href="https://svn.boost.org/trac/boost/ticket/4765">#4765</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/function_types/index.html">Function Types</a>:</span> <ul> <li> <div> Bug fixes: <a href="https://svn.boost.org/trac/boost/ticket/1653">#1653</a>, <a href="https://svn.boost.org/trac/boost/ticket/3162">#3162</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/graph/index.html">Graph</a>:</span> <ul> <li> <div> Bug fixes. </div> </li> <li> <div> Remove deprecated function <code><span class="identifier">kolmogorov_max_flow</span></code>, use <code><span class="identifier">boykov_kolmogorov_max_flow</span></code> instead. </div> </li> <li> <div> Removed <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">graph</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">is_same</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> header since its functionality is in Boost.Type_Traits. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> <ul> <li> <div> Support filesystem v3 paths (<a href="https://svn.boost.org/trac/boost/ticket/4485">#4485</a>). </div> </li> <li> <div> Fix a memory leak in <code><span class="identifier">chain</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4922">#4922</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/iterator/index.html">Iterator</a>:</span> <ul> <li> <div> Add <code><span class="identifier">function_input_iterator</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/2893">#2893</a>). </div> </li> <li> <div> Bug fixes: <a href="https://svn.boost.org/trac/boost/ticket/1427">#1427</a>, <a href="https://svn.boost.org/trac/boost/ticket/1517">#1517</a>, <a href="https://svn.boost.org/trac/boost/ticket/3434">#3434</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/conversion/lexical_cast.htm">Lexical cast</a>:</span> <ul> <li> <div> Better performance and less memory usage for many combinations of Source and Target types (<a href="https://svn.boost.org/trac/boost/ticket/5564">#5564</a>, <a href="https://svn.boost.org/trac/boost/ticket/5417">#5417</a>, <a href="https://svn.boost.org/trac/boost/ticket/4397">#4397</a>, <a href="https://svn.boost.org/trac/boost/ticket/5350">#5350</a>, <a href="https://svn.boost.org/trac/boost/ticket/5576">#5576</a>). </div> </li> <li> <div> Documentation updated (<a href="https://svn.boost.org/trac/boost/ticket/5576">#5576</a>, <a href="https://svn.boost.org/trac/boost/ticket/5494">#5494</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/logic/index.html">Logic</a>:</span> <ul> <li> <div> Bug fixes: <a href="https://svn.boost.org/trac/boost/ticket/3093">#3093</a>, <a href="https://svn.boost.org/trac/boost/ticket/3600">#3600</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/math/index.html">Math</a>:</span> <ul> <li> <div> Added changesign function to sign.hpp to facilitate addition of nonfinite facets. </div> </li> <li> <div> Addition of nonfinite facets from Johan Rade, with tests, examples of use for C99 format infinity and NaN, and documentation. </div> </li> <li> <div> Added tests and documentation of changesign from Johan Rade. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/msm/index.html">Meta State Machine</a>:</span> <ul> <li> <div> Added a <a href="/doc/libs/1_47_0/libs/msm/doc/HTML/ch03s05.html#backend-start"><code><span class="identifier">stop</span><span class="special">()</span></code></a> method in the back-end. </div> </li> <li> <div> Added partial support for <a href="/doc/libs/1_47_0/libs/msm/doc/HTML/ch03s04.html#eUML-phoenix">Boost.Phoenix functors in eUML</a>. </div> </li> <li> <div> Added the possibility to <a href="/doc/libs/1_47_0/libs/msm/doc/HTML/ch03s05.html#backend-state-switch">choose when state switching occurs</a>. </div> </li> <li> <div> Bugfixes: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5117">#5117</a>, <a href="https://svn.boost.org/trac/boost/ticket/5253">#5253</a>, <a href="https://svn.boost.org/trac/boost/ticket/5533">#5533</a>, <a href="https://svn.boost.org/trac/boost/ticket/5573">#5573</a>. </div> </li> <li> <div> gcc warnings about unused variables. </div> </li> <li> <div> better implementation of <code><span class="identifier">favor_compile_time</span></code> back-end policy. </div> </li> <li> <div> bug with eUML and state construction. </div> </li> <li> <div> incorrect eUML event and state macros. </div> </li> <li> <div> incorrect event type passed to a direct entry state's on_entry action. </div> </li> <li> <div> more examples. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/multi_index/index.html">MultiIndex</a>:</span> <ul> <li> <div> Fixed an ADL problem in <code><span class="identifier">composite_key_compare</span></code> related with Boost.Ref. </div> </li> <li> <div> Maintenance fixes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> <div> Pre-preprocessed for better compile times. </div> </li> <li> <div> Default preprocessor limits raised: <ul> <li> <div> Max expression arity (<code><span class="identifier">BOOST_PROTO_MAX_ARITY</span></code>) bumped from 5 to 10. </div> </li> <li> <div> Max function call arity (<code><span class="identifier">BOOST_PROTO_MAX_FUNCTION_CALL_ARITY</span></code>) bumped from 5 to 10. </div> </li> <li> <div> Max logical operator arity (<code><span class="identifier">BOOST_PROTO_MAX_LOGICAL_ARITY</span></code>) bumped from 8 to 10. </div> </li> </ul> </div> </li> <li> <div> Better integration of <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">basic_expr</span></code> to avoid accidental needless instantiations of <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">expr</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/random/index.html">Random</a>:</span> <ul> <li> <div> Synchronized with the new standard. <ul> <li> <div> Many new distributions added: <code><span class="identifier">chi_squared_distribution</span></code>, <code><span class="identifier">negative_binomial_distribution</span></code>, <code><span class="identifier">fisher_f_distribution</span></code>, <code><span class="identifier">student_t_distribution</span></code>, <code><span class="identifier">weibull_distribution</span></code>, <code><span class="identifier">extreme_value_distribution</span></code>, <code><span class="identifier">discrete_distribution</span></code>, <code><span class="identifier">piecewise_constant_distribution</span></code>, <code><span class="identifier">piecewise_liear_distribution</span></code> </div> </li> <li> <div> Renamed <code><span class="identifier">uniform_int</span></code> and <code><span class="identifier">uniform_real</span></code> to <code><span class="identifier">uniform_int_distribution</span></code> and <code><span class="identifier">uniform_real_distribution</span></code>. </div> </li> <li> <div> Added members to all distributions: <code><span class="identifier">param_type</span></code>, <code><span class="identifier">param</span></code>, stream operators, comparison operators, <code><span class="identifier">min</span></code> and <code><span class="identifier">max</span></code>. </div> </li> <li> <div> Allow distributions to be used directly with generators without use of <code><span class="identifier">variate_generator</span></code>. </div> </li> <li> <div> Changed the meaning of the parameters of <code><span class="identifier">geometric_distribution</span></code> and <code><span class="identifier">lognormal_distribution</span></code>. </div> </li> <li> <div> Added a second parameter to <code><span class="identifier">gamma_distribution</span></code>. </div> </li> <li> <div> Added <code><span class="identifier">seed_seq</span></code> and added the corresponding constructors and <code><span class="identifier">seed</span></code> overloads the generators. </div> </li> <li> <div> Added <code><span class="identifier">generate_canonical</span></code>. </div> </li> <li> <div> Renamed the engine tempates. e.g. <code><span class="identifier">mersenne_twister</span></code> becomes <code><span class="identifier">mersenne_twister_engine</span></code>. </div> </li> <li> <div> New engine adapter <code><span class="identifier">independent_bits_engine</span></code>. </div> </li> <li> <div> Added new predefined engine typedefs: <code><span class="identifier">mt19937_64</span></code>, <code><span class="identifier">ranlux</span><span class="special">[</span><span class="number">24</span><span class="special">|</span><span class="number">48</span><span class="special">][</span><span class="identifier">_base</span><span class="special">]</span></code>, <code><span class="identifier">knuth_b</span></code>. </div> </li> <li> <div> Updated seeding algorithms. </div> </li> <li> <div> Added <code><span class="identifier">discard</span></code> </div> </li> <li> <div> Use unsigned types instead of signed types in all the predefined engines. </div> </li> </ul> </div> </li> <li> <div> Bug fixes: <ul> <li> <div> <code><span class="identifier">linear_congruential_engine</span></code> could assert because the modular arithmetic was not implemented in all cases. <code><span class="identifier">shuffle_output</span></code>, now called <code><span class="identifier">shuffle_order_engine</span></code>, could cause integer overflow. These cases were not triggered by any predefined engines. </div> </li> <li> <div> <code><span class="identifier">uniform_small_int</span></code> now actually behaves as documented. </div> </li> </ul> </div> </li> <li> <div> New efficient algorithms for <code><span class="identifier">binomial_distribution</span></code> and <code><span class="identifier">poisson_distribution</span></code>. </div> </li> <li> <div> Moved all features into <code><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">random</span></code> </div> </li> <li> <div> Backwards compatibility issues: <ul> <li> <div> The seeding algorithms have changed. This was unavoidable for compatibility with the standard. Not to mention that some of the existing algorithms were weird and inconsistent. <ul> <li> <div> Seeding with an integer: The behaviour should be unchanged for most generators except <code><span class="identifier">lagged_fibonacci</span></code> and <code><span class="identifier">subtract_with_carry</span></code> (and thus <code><span class="identifier">ranlux</span></code>). </div> </li> <li> <div> Seeding a generator with another generator: This has been enabled by making all all generators models of <code><span class="identifier">SeedSeq</span></code>. Therefore, if you seed a Boost.Random generator with a non Boost.Random generator, your code will no longer compile. The algorithm has changed, so code using this seeding method will yield different values. </div> </li> <li> <div> Seeding a generator from a pair of iterators: This implicitly assumed that the elements were 32-bit integers in some places, but not everywhere. I've added this requirement everywhere and updated the algorithms accordingly. The behaviour of generators with a <code><span class="identifier">value_type</span></code> no more than 32 bits should be unchanged. </div> </li> </ul> </div> </li> <li> <div> Renaming: <ul> <li> <div> Whenever a class was renamed, there is a wrapper with the old name. There are also using declarations in namespace boost for everything that was moved. </div> </li> <li> <div> The names of a few accessors in the distributions changed. Both the old and the new names are allowed. </div> </li> </ul> </div> </li> <li> <div> <code><span class="identifier">geometric_distribution</span></code> and <code><span class="identifier">lognormal_distribution</span></code>: The behaviour is different at runtime. <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometric_distribution</span></code> and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lognormal_distribution</span></code> provide the old behaviour, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">random</span><span class="special">::</span><span class="identifier">geometric_distribution</span></code> and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">random</span><span class="special">::</span><span class="identifier">lognormal_distribution</span></code> provide the new behaviour. </div> </li> <li> <div> Streaming: gamma_distribution has a new parameter, thus text saved with the old version will not readable by the new version. </div> </li> <li> <div> <code><span class="identifier">variate_generator</span></code> is now a simple pass through wrapper. Code that assumes that it will adjust the generator's result type to match the distribution will no longer work. This is not an issue with any of the distributions provided by Boost.Random. </div> </li> <li> <div> Return types: The <code><span class="identifier">result_types</span></code> of some generators have changed slightly. Some signed types have changed to unsigned to match the standard. </div> </li> <li> <div> <code><span class="identifier">has_fixed_range</span></code>: This is now always false, as it doesn't appear to be very useful and is excessively cumbersome. Anything that was accessing <code><span class="identifier">const_min</span></code> and <code><span class="identifier">const_max</span></code> without first checking <code><span class="identifier">has_fixed_range</span></code> was incorrect to begin with. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/range/index.html">Range</a>:</span> <ul> <li> <div> Fixed the end position <code><span class="identifier">irange</span></code> when step size is greater than 1 (<a href="https://svn.boost.org/trac/boost/ticket/5544">#5544</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> <ul> <li> <div> Spirit V2.5, see the '<a href="/doc/libs/1_47_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5.html">What's New</a>' section for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/tokenizer/index.html">Tokenizer</a>:</span> <ul> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/4649">#4649</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/utility/index.html">Utility</a>:</span> <ul> <li> <div> Bug fixes: <a href="https://svn.boost.org/trac/boost/ticket/4432">#4432</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/utility/index.html">Uuid</a>:</span> <ul> <li> <div> Fixed tickets: (<a href="https://svn.boost.org/trac/boost/ticket/5570">#5570</a>, <a href="https://svn.boost.org/trac/boost/ticket/4601">#4601</a>, <a href="https://svn.boost.org/trac/boost/ticket/4991">#4991</a>, <a href="https://svn.boost.org/trac/boost/ticket/5145">#5145</a>, <a href="https://svn.boost.org/trac/boost/ticket/5235">#5235</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/wave/index.html">Wave</a>:</span> <ul> <li> <div> Wave V2.3.0, see the <a href="/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_47_0.build_system"> <h3><span class="link">Build System</span></h3> <ul> <li> <div> The official name of Boost.Build executable was changed to <code><span class="identifier">b2</span></code>. The bootstrap scripts create a copy with the old name <code><span class="identifier">bjam</span></code> to prevent third-party build scripts from failing. </div> </li> </ul> </div> <div id="version_1_47_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <div> <span class="library"><a href="/tools/boostbook/index.html">BoostBook</a>:</span> <ul> <li> <div> Handle doxygen tags: <code><span class="special">\</span><span class="identifier">see</span></code>, <code><span class="identifier">tparam</span></code>, <code><span class="identifier">ref</span></code> (for classes only). </div> </li> <li> <div> Support note for classes as well as functions. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> <ul> <li> <div> Generate consistent ids for headings. </div> </li> <li> <div> Improved unicode support for windows. </div> </li> <li> <div> Warn about windows paths, as they aren't portable. </div> </li> <li> <div> Reverse deprecation of <code><span class="special">[</span><span class="identifier">br</span><span class="special">]</span></code>. </div> </li> <li> <div> Support date ranges and comma seperated clauses in copyright attributes. </div> </li> <li> <div> Improved delimeter checking for simple markup (e.g. <code><span class="special">*</span><span class="identifier">bold</span><span class="special">*</span></code>). </div> </li> <li> <div> Pass-thru comments in code snippets. </div> </li> <li> <div> <code>__FILENAME__</code> macro now generates relative paths. </div> </li> <li> <div> Allow quickbook escapes inside comments in syntax highlighted code. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_47_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: <ul> <li> <div> LLVM Clang 2.8 </div> </li> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.3.5, 4.4.1, 4.4.3, 4.4.5, 4.5.1, 4.5.2, 4.6.0, 4.6.1 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 </div> </li> <li> <div> Intel 12.0 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Apple Clang 2.1 </div> </li> <li> <div> Intel 11.1 </div> </li> <li> <div> GCC: 4.2.1, 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 7.1, 9.0, 10.0 </div> </li> <li> <div> GCC, mingw: 4.4.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 64 bit </div> </li> </ul> </div> </li> <li> <div> QNX: <ul> <li> <div> QCC </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Clang from subversion, with GNU libstdc++. </div> </li> <li> <div> LLVM Clang 2.8 </div> </li> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.3.5, 4.4.3, 4.4.5, 4.5.1, 4.5.2, 4.6.0, 4.6.1 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 </div> </li> <li> <div> pgCC: 11.2 </div> </li> <li> <div> Intel: 10.1, 11.0, 11.1, 12.0 </div> </li> <li> <div> PathScale: 3.2 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang from subversion, with GNU libstdc++. </div> </li> <li> <div> Intel 11.1 </div> </li> <li> <div> GCC: 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 7.1, 9.0, 10.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> <li> <div> GCC, mingw: 4.5.2 </div> </li> <li> <div> GCC, C++0x mode, mingw: 4.5.2 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition, V11.1.0.0 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_47_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James and Vladimir Prus managed this release. </p> </div> Version 1.46.1Sat, 12 Mar 2011 10:45:53 -0500<span class="brief"><span class="purpose"> Bug fixes: Asio, Fusion, Graph, Icl, Math, Polygon, Proto, Property Tree, Signals2, TR1, Unordered. </span></span>http://sourceforge.net/projects/boost/files/boost/1.46.1/<div class="description"> <div id="version_1_46_1.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="/libs/asio/">Asio</a>:</span> </div> <ul> <li> <div> <code><span class="identifier">EV_ONESHOT</span></code> seems to cause problems on some versions of Mac OS X, with the <code><span class="identifier">io_service</span></code> destructor getting stuck inside the <code><span class="identifier">close</span><span class="special">()</span></code> system call. Changed the kqueue backend to use <code><span class="identifier">EV_CLEAR</span></code> instead (<a href="https://svn.boost.org/trac/boost/ticket/5021">#5021</a>). </div> </li> <li> <div> Fixed compile failures with some versions of <tt>g++</tt> due to the use of anonymous enums (<a href="https://svn.boost.org/trac/boost/ticket/4883">#4883</a>). </div> </li> <li> <div> Fixed a bug on kqueue-based platforms, where some system calls that repeatedly fail with <code><span class="identifier">EWOULDBLOCK</span></code> are not correctly re-registered with kqueue. </div> </li> <li> <div> Changed <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span></code> to ensure that its internal pointers are updated correctly after the data has been modified using <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span></code> member functions. </div> </li> <li> <div> Fixed a bug that prevented the linger socket option from working on platforms other than Windows. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/fusion/">Fusion</a>:</span> </div> <ul> <li> <div> Fix <code><span class="identifier">disable_if</span></code> for Visual C++ 7.1/8.0 </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span> </div> <ul> <li> <div> Fix for STLPort (<a href="https://svn.boost.org/trac/boost/ticket/5217">#5217</a>). </div> </li> <li> <div> PGI large file support </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/graph/">Graph</a>:</span> </div> <ul> <li> <div> Bug fixes, including fixes for: <a href="https://svn.boost.org/trac/boost/ticket/5181">#5181</a>, <a href="https://svn.boost.org/trac/boost/ticket/5180">#5180</a>, <a href="https://svn.boost.org/trac/boost/ticket/5199">#5199</a> and <a href="https://svn.boost.org/trac/boost/ticket/5175">#5175</a>. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/icl/">Icl</a>:</span> </div> <ul> <li> <div> Intersects for interval_maps and segment_type/element_type (<a href="https://svn.boost.org/trac/boost/ticket/5207">#5207</a>). </div> </li> <li> <div> Fixed some ambiguous calls to functions in boost and std namespaces. </div> </li> <li> <div> Other bug fixes, and documentation fixes. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/math/">Math</a>:</span> </div> <ul> <li> <div> Several minor bug fixes. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/polygon/">Polygon</a>:</span> </div> <ul> <li> <div> Disabled 45-degree booleans optimization. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/proto/">Proto</a>:</span> </div> <ul> <li> <div> Make <code><span class="identifier">display_expr</span></code> copyable (<a href="https://svn.boost.org/trac/boost/ticket/5096">#5096</a>). </div> </li> <li> <div> Fix const correctness problem in <code><span class="identifier">pass_through</span></code>. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/property_tree/">Property Tree</a>:</span> </div> <ul> <li> <div> Fix compile error in JSON parser. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/signals2/">Signals2</a>:</span> </div> <ul> <li> <div> Fix unused parameter warning. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/tr1/">TR1</a>:</span> </div> <ul> <li> <div> Allow specialization of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">hash</span></code>. </div> </li> <li> <div> Improved support for Pathscale and Sun compilers. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/unordered/">Unordered</a>:</span> </div> <ul> <li> <div> Add missing copy constructors and assignment operators when using rvalue references (<a href="https://svn.boost.org/trac/boost/ticket/5119">#5119</a>). </div> </li> </ul> </li> </ul> </div> <div id="version_1_46_1.other_changes"> <h3><span class="link">Other changes</span></h3> <ul> <li> <div> Update getting started guide to reflect changes to boost build. </div> </li> <li> <div> In quickbook, workaround optimization bug in g++ 4.4. </div> </li> </ul> </div> <div id="version_1_46_1.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: </div> <ul> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.1, 4.4.3, 4.4.5, 4.5.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 </div> </li> <li> <div> Intel: 10.1, 11.0, 11.1 </div> </li> <li> <div> Clang: 2.8 </div> </li> <li> <div> Pathscale: 3.2 </div> </li> </ul> </li> <li> <div> OS X: </div> <ul> <li> <div> GCC: 4.0.1, 4.2.1, 4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4. </div> </li> <li> <div> Intel: 11.1 </div> </li> </ul> </li> <li> <div> Windows: </div> <ul> <li> <div> Visual C++: 7.1, 8.0, 9.0 and 10.0. </div> </li> <li> <div> GCC, mingw: 4.4.0. </div> </li> </ul> </li> <li> <div> FreeBSD: </div> <ul> <li> <div> GCC: 4.2.1, 64 bit. </div> </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: </div> <ul> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.4, 4.4.5, 4.5.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 </div> </li> <li> <div> pgCC: 11.2 </div> </li> <li> <div> Intel: 10.1, 11.0, 11.1 </div> </li> <li> <div> PathScale: 3.2, 4.0.8 </div> </li> <li> <div> Visual Age C++: 10.1 </div> </li> <li> <div> Clang from subversion </div> </li> </ul> </li> <li> <div> OS X: </div> <ul> <li> <div> Intel C++ Compiler: 10.1, 11.0, 11.1 </div> </li> <li> <div> GCC: 4.0.1, 4.2.1, 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> <li> <div> Clang from subversion, with GNU libstdc++, libc++ and libc++ in C++0x mode. </div> </li> </ul> </li> <li> <div> Windows: </div> <ul> <li> <div> Visual C++: 7.1, 9.0, 10.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> <li> <div> GCC, mingw: 4.5.1 </div> </li> <li> <div> GCC, mingw, C++0x mode: 4.5.1 </div> </li> <li> <div> Borland: 6.1.3 (2009), 6.2.1 (2010) </div> </li> </ul> </li> <li> <div> AIX: </div> <ul> <li> <div> IBM XL C/C++ Enterprise Edition, V11.1.0.0 </div> </li> </ul> </li> <li> <div> Solaris: </div> <ul> <li> <div> Sun C++: 5.10 </div> </li> </ul> </li> </ul> </div> <div id="version_1_46_1.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James and Vladimir Prus managed this release. </p> </div> </div>Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, Filesystem, Fusion, Hash, Iostreams, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated Tools: Boostbook, Inspect, Quickbook. </span></span>http://sourceforge.net/projects/boost/files/boost/1.46.0/<div class="description"> <div id="version_1_46_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="/libs/icl/index.html">Icl</a>:</span> Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber. </div> </li> </ul> </div> <div id="version_1_46_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="/libs/array/index.html">Array</a>:</span> </div> <ul> <li> <div> Added support for cbegin/cend (<a href="https://svn.boost.org/trac/boost/ticket/4761">#4761</a>) </div> </li> <li> <div> Fixed a problem with the Sun compiler (<a href="https://svn.boost.org/trac/boost/ticket/4757">#4757</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> </div> <ul> <li> <div> Fixed an integer overflow problem that occurs when <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">broadcast</span><span class="special">()</span></code> is used on 64-bit platforms. </div> </li> <li> <div> Fixed a problem on older Linux kernels (where epoll is used without timerfd support) that prevents timely delivery of deadline_timer handlers, after the program has been running for some time (<a href="https://svn.boost.org/trac/boost/ticket/5045">#5045</a>). </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/bind/index.html">Bind</a>:</span> </div> <ul> <li> <div> <code><span class="identifier">make_adaptable</span></code> now documented (<a href="https://svn.boost.org/trac/boost/ticket/4532">#4532</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/concept_check/index.html">Concept Check</a>:</span> </div> <ul> <li> <div> fixed warnings with self-assignment (<a href="https://svn.boost.org/trac/boost/ticket/4918">#4918</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/filesystem/index.html">Filesystem</a>:</span> </div> <ul> <li> <div> Version 3 of the library is now the default. </div> </li> <li> <div> IBM vacpp: Workaround for compiler bug affecting <code><span class="identifier">iterator_facade</span></code>. (<a href="https://svn.boost.org/trac/boost/ticket/4912">#4912</a>) </div> </li> <li> <div> Verify, clarify, document that <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> can be used to specify <code><span class="identifier">BOOST_FILESYSTEM_VERSION</span></code>. (<a href="https://svn.boost.org/trac/boost/ticket/4891">#4891</a>) </div> </li> <li> <div> Replaced C-style <code><span class="identifier">assert</span></code> with <code><span class="identifier">BOOST_ASSERT</span></code>. </div> </li> <li> <div> Undeprecated <code><span class="identifier">unique_path</span><span class="special">()</span></code>. Instead, add a note mentioning the workaround for lack of thread safety and possible change to cwd. <code><span class="identifier">unique_path</span><span class="special">()</span></code> is just too convenient to deprecate! </div> </li> <li> <div> Cleared several GCC warnings. </div> </li> <li> <div> Changed V2 code to use <code><span class="identifier">BOOST_THROW_EXCEPTION</span></code>. </div> </li> <li> <div> Windows: Fix <code><span class="identifier">status</span><span class="special">()</span></code> to report non-symlink reparse point correctly. </div> </li> <li> <div> Add <code><span class="identifier">symlink_option</span></code> to <code><span class="identifier">recursive_directory_iterator</span></code>, allowing control over recursion into directory symlinks. Note that the default is changed to not recurse into directory symlinks. </div> </li> <li> <div> Reference documentation cleanup, including fixing missing and broken links, and adding missing functions. </div> </li> <li> <div> Miscellaneous implementation code cleanup. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> </div> <ul> <li> <div> vector copy constructor now copies sequence members in the same order on different platforms (<a href="https://svn.boost.org/trac/boost/ticket/2823">#2823</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/graph/index.html">Graph</a>:</span> </div> <ul> <li> <div> Fixed Graphviz output to work on Visual C++ 7.1. </div> </li> <li> <div> Replaced assert with <code><span class="identifier">BOOST_ASSERT</span></code>. </div> </li> <li> <div> Changed to Boost.Filesystem v3. </div> </li> <li> <div> Fixed the following bugs from Trac: <a href="https://svn.boost.org/trac/boost/ticket/1021">#1021</a>, <a href="https://svn.boost.org/trac/boost/ticket/4556">#4556</a>, <a href="https://svn.boost.org/trac/boost/ticket/4631">#4631</a>, <a href="https://svn.boost.org/trac/boost/ticket/4642">#4642</a>, <a href="https://svn.boost.org/trac/boost/ticket/4715">#4715</a>, <a href="https://svn.boost.org/trac/boost/ticket/4731">#4731</a>, <a href="https://svn.boost.org/trac/boost/ticket/4737">#4737</a>, <a href="https://svn.boost.org/trac/boost/ticket/4753">#4753</a>, <a href="https://svn.boost.org/trac/boost/ticket/4758">#4758</a>, <a href="https://svn.boost.org/trac/boost/ticket/4793">#4793</a>, <a href="https://svn.boost.org/trac/boost/ticket/4843">#4843</a>, <a href="https://svn.boost.org/trac/boost/ticket/4851">#4851</a>, <a href="https://svn.boost.org/trac/boost/ticket/4852">#4852</a>, <a href="https://svn.boost.org/trac/boost/ticket/4887">#4887</a>, <a href="https://svn.boost.org/trac/boost/ticket/4914">#4914</a>, <a href="https://svn.boost.org/trac/boost/ticket/4966">#4966</a>. </div> </li> <li> <div> Fixed various bugs not in Trac. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> </div> <ul> <li> <div> Support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4756">#4756</a>). </div> </li> <li> <div> Avoid <code><span class="special">-</span><span class="identifier">Wconversion</span></code> warnings. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> </div> <ul> <li> <div> Use <code><span class="identifier">BOOST_ASSERT</span></code> instead of <code><span class="identifier">assert</span></code>. </div> </li> <li> <div> Fixed flush regression (<a href="https://svn.boost.org/trac/boost/ticket/4590">#4590</a>). </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/iterator/index.html">Iterator</a>:</span> </div> <ul> <li> <div> fixed problem with <code><span class="identifier">implicit_cast</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/3645">#3645</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/math/doc/sf_and_dist/html/index.html">Math</a>:</span> </div> <ul> <li> <div> Added Wald, Inverse Gaussian and geometric distributions. </div> </li> <li> <div> Added information about configuration macros. </div> </li> <li> <div> Added support for mpreal as a real-numered type. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/msm/index.html">Meta State Machine</a>:</span> </div> <ul> <li> <div> <a href="/doc/libs/1_46_0/libs/msm/doc/HTML/ch03s05.html#backend-compile-time-analysis">Compile-time state machine analysis</a>. </div> </li> <li> <div> <a href="/doc/libs/1_46_0/libs/msm/doc/HTML/ch03s05.html#backend-boost-parameter">Boost.Parameter interface definition for <code><span class="identifier">msm</span><span class="special">::</span><span class="identifier">back</span><span class="special">::</span><span class="identifier">state_machine</span><span class="special">&lt;&gt;</span></code> template arguments</a>. </div> </li> <li> <div> <a href="/doc/libs/1_46_0/libs/msm/doc/HTML/ch03s05.html#backend-queues">Possibility to provide a container for the event and deferred event queues</a>. A policy implementation based on a more efficient Boost.CircularBuffer is provided. </div> </li> <li> <div> <code><span class="identifier">msm</span><span class="special">::</span><span class="identifier">back</span><span class="special">::</span><span class="identifier">state_machine</span><span class="special">&lt;&gt;::</span><span class="identifier">is_flag_active</span></code> method made const. </div> </li> <li> <div> <a href="/doc/libs/1_46_0/libs/msm/doc/HTML/ch03s05.html#backend-enqueueing">Added possibility to enqueue events for delayed processing</a>. </div> </li> <li> <div> Bugfixes </div> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4926">#4926</a>. </div> </li> <li> <div> stack overflow using the Defer functor </div> </li> <li> <div> anonymous transition of a submachine not called for the initial state </div> </li> </ul> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/optional/index.html">Optional</a>:</span> </div> <ul> <li> <div> Updated test results with information about expected failures (<a href="https://svn.boost.org/trac/boost/ticket/2294">#2294</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/pool/index.html">Pool</a>:</span> </div> <ul> <li> <div> Now can set a max_size for pool (<a href="https://svn.boost.org/trac/boost/ticket/2696">#2696</a>) </div> </li> <li> <div> <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">pool</span><span class="special">/</span><span class="identifier">pool</span><span class="special">.</span><span class="identifier">hpp</span></code> uses <code><span class="keyword">reinterpret_cast</span></code> instead of <code><span class="keyword">static_cast</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/2941">#2941</a>) </div> </li> <li> <div> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">pool_allocator</span></code> now works with vector of vectors (<a href="https://svn.boost.org/trac/boost/ticket/386">#386</a>) </div> </li> <li> <div> Boost pool is now compatible with Microsoft memory leak detection (<a href="https://svn.boost.org/trac/boost/ticket/4346">#4346</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/program_options/index.html">Program Options</a>:</span> </div> <ul> <li> <div> Fixed errors in examples in docs (<a href="https://svn.boost.org/trac/boost/ticket/3992">#3992</a>, <a href="https://svn.boost.org/trac/boost/ticket/4858">#4858</a>) </div> </li> <li> <div> Now takes <code><span class="identifier">argv</span></code> as const (<a href="https://svn.boost.org/trac/boost/ticket/3909">#3909</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> </div> <ul> <li> <div> <strong>Breaking change</strong>: <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">proto</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span></code> no longer defines <code><span class="identifier">functional</span><span class="special">::</span><span class="identifier">pop_front</span></code> and <code><span class="identifier">functional</span><span class="special">::</span><span class="identifier">reverse</span></code>, which have moved to their own headers under <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">proto</span><span class="special">/</span><span class="identifier">functional</span></code> </div> </li> <li> <div> Add callable wrappers for more Fusion algorithms (including <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">at</span></code>); and callable wrappers for some std utilities like <code><span class="identifier">make_pair</span></code>, <code><span class="identifier">first</span></code> and <code><span class="identifier">second</span></code>, all under the new <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">proto</span><span class="special">/</span><span class="identifier">functional</span></code> directory </div> </li> <li> <div> Allow transforms to be specified separately from a grammar </div> </li> <li> <div> <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">matches</span></code> preserves domain-specific expression wrappers </div> </li> <li> <div> Fix ADL issue with <code><span class="keyword">operator</span><span class="special">,</span></code> in <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">and_</span></code> transform </div> </li> <li> <div> Fix handling of grammar checking in expressions involving multiple domains (<a href="https://svn.boost.org/trac/boost/ticket/4675">#4675</a>) </div> </li> <li> <div> Fix ambiguous <code><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code> in <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">display_expr</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4910">#4910</a>) </div> </li> <li> <div> <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">is_sequence</span></code> answers true for Proto expressions (<a href="https://svn.boost.org/trac/boost/ticket/5006">#5006</a>) </div> </li> <li> <div> Eliminate <code><span class="special">-</span><span class="identifier">Wundef</span></code> GCC warning in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">proto</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">.</span><span class="identifier">hpp</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/5075">#5075</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/signals/index.html">Signals</a>:</span> </div> <ul> <li> <div> gcc warning cleanup (<a href="https://svn.boost.org/trac/boost/ticket/4365">#4365</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> </div> <ul> <li> <div> Spirit V2.4.2, see the '<a href="/doc/libs/1_46_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html">What's New</a>' section for details. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/tokenizer/index.html">Tokenizer</a>:</span> </div> <ul> <li> <div> <code><span class="identifier">isspace</span></code>/<code><span class="identifier">ispunct</span></code> was called with wrong character type (<a href="https://svn.boost.org/trac/boost/ticket/4791">#4791</a>) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> </div> <ul> <li> <div> Avoid using <code><span class="keyword">operator</span><span class="special">&amp;</span></code> with the value type. </div> </li> <li> <div> Avoid <code><span class="special">-</span><span class="identifier">Wconversion</span></code> warnings. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/wave/index.html">Wave</a>:</span> </div> <ul> <li> <div> See the <a href="/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </li> </ul> </div> <div id="version_1_46_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <div> <span class="library"><a href="/tools/boostbook/index.html">Boostbook</a>:</span> </div> <ul> <li> <div> Better support for attributes on root elements - including <code><span class="identifier">lang</span></code>. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/tools/inspect/index.html">Inspect</a>:</span> </div> <ul> <li> <div> Check that Boost headers do not use C's <code><span class="identifier">assert</span></code> macro. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> </div> <ul> <li> <div> Add support for <code><span class="identifier">lang</span></code> attribute in documentation info. </div> </li> <li> <div> Improved anchors. </div> </li> <li> <div> Support <code><span class="identifier">import</span></code>, <code><span class="identifier">include</span></code> and <code><span class="identifier">xinclude</span></code> in conditional phrases. </div> </li> <li> <div> Uses Filesystem 3. </div> </li> </ul> </li> </ul> </div> <div id="version_1_46_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: </div> <ul> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.2, </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0, 4.5.2 </div> </li> <li> <div> Intel: 10.1, 11.0, 11.1 </div> </li> <li> <div> Clang: 2.8 </div> </li> <li> <div> Pathscale: 3.2. </div> </li> </ul> </li> <li> <div> OS X: </div> <ul> <li> <div> GCC: 4.0.1, 4.2.1, 4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4. </div> </li> <li> <div> Intel: 11.1 </div> </li> </ul> </li> <li> <div> Windows: </div> <ul> <li> <div> Visual C++: 7.1, 8.0, 9.0 and 10.0. </div> </li> <li> <div> GCC, mingw: 4.4.0. </div> </li> </ul> </li> <li> <div> FreeBSD: </div> <ul> <li> <div> GCC: 4.2.1, 64 bit. </div> </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: </div> <ul> <li> <div> GCC: 3.4.6, 4.2.4, 4.3.4, 4.3.5, 4.4.3, 4.4.5, 4.5.0, 4.5.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0, 4.5.2 </div> </li> <li> <div> pgCC 11.1 </div> </li> <li> <div> Intel: 10.1, 11.0, 11.1 </div> </li> <li> <div> PathScale: 3.2, 4.0 </div> </li> <li> <div> Visual Age C++ 10.1 </div> </li> <li> <div> Clang from subversion </div> </li> </ul> </li> <li> <div> OS X: </div> <ul> <li> <div> Intel C++ Compiler: 10.1, 11.0, 11.1 </div> </li> <li> <div> GCC: 4.0.1, 4.2.1, 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> <li> <div> Clang from subversion </div> </li> </ul> </li> <li> <div> Windows: </div> <ul> <li> <div> Visual C++: 7.1, 8.0, 9.0, 10.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.5.1, 4.6.0 </div> </li> <li> <div> GCC, mingw, C++0x mode: 4.5.1 </div> </li> <li> <div> Borland: 6.1.3 (2009), 6.2.1 (2010) </div> </li> </ul> </li> <li> <div> AIX: </div> <ul> <li> <div> IBM XL C/C++ Enterprise Edition, V11.1.0.0 </div> </li> </ul> </li> <li> <div> FreeBSD: </div> <ul> <li> <div> GCC 4.2.1, 64 bit </div> </li> </ul> </li> <li> <div> Solaris: </div> <ul> <li> <div> Sun C++: 5.10 </div> </li> </ul> </li> </ul> </div> <div id="version_1_46_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James and Vladimir Prus managed this release. </p> </div> </div>