Boost Website Site Tools Boost History http://www.boost.org/users/history/ 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.55.0http://www.boost.org/users/history/version_1_55_0.htmlhttp://www.boost.org/users/history/version_1_55_0.htmlMon, 11 Nov 2013 11:50:20 -0800 <div id="version_1_55_0.other_downloads"> <h3><span class="link">Other Downloads</span></h3> <ul> <li> <div> <a href="https://sourceforge.net/projects/boost/files/boost-binaries/1.55.0/">Windows binaries</a> </div> </li> <li> <div> <a href="https://sourceforge.net/projects/boost/files/boost-docs/1.55.0/">PDF documentation</a> (only for BoostBook based documentation). </div> </li> </ul> </div> <div id="version_1_55_0.news"> <h3><span class="link">News</span></h3> <p> Support was removed from <a href="http://www.boost.org/libs/config/">Config</a> for some very old versions of compilers. The new minimum requirements are: </p> <ul> <li> <div> Digitial Mars 8.41 </div> </li> <li> <div> GCC 3.3 </div> </li> <li> <div> Intel 6.0 </div> </li> <li> <div> Visual C++ 7.1 </div> </li> </ul> <p> <strong>Note:</strong> This is just the mininimum requirements for Config. Some Boost libraries may have higher mininimum requirements and not support all platforms or compilers. </p> <p> Other compilers are currently unchanged, but we are considering removing support for some other old compilers. <strong>Candidates</strong> for removal are: </p> <ul> <li> <div> Metroworks C++ (i.e. codewarrior) </div> </li> <li> <div> SunPro 5.7 and earlier </div> </li> <li> <div> Borland C++ Builder 2006 (5.82) and earlier </div> </li> </ul> <p> If you're using any of these, please let us know on the mailing lists. We will take into account any feedback received before making a decision. </p> </div> <div id="version_1_55_0.known_bugs"> <h3><span class="link">Known Bugs with Visual Studio 2013/Visual C++ 12</span></h3> <p> Visual Studio 2013 was released quite late in the release process, so there exist several unresolved issues. These include: </p> <ul> <li> <div> Serialization can't compile because of a missing include. </div> </li> <li> <div> Using <code><span class="identifier">has_member_function_callable_with</span></code> from Boost.Container's <code><span class="identifier">allocator_traits</span></code> causes a compile error (<a href="https://svn.boost.org/trac/boost/ticket/9332">#9332</a>). </div> </li> <li> <div> In libraries such as Unordered and MultiIndex, calling overloaded functions with initializer lists can result in a compile error, with Visual C++ claiming that the overloads are ambiguous. This is a Visual C++ bug and it isn't clear if there's a good workaround. This won't affect code that doesn't use initializer lists, or uses an initializer list that doesn't require an implicit conversion (i.e. an initializer list of the container's exact value type). </div> </li> <li> <div> Thread: <code><span class="identifier">ex_scoped_thread</span></code> compile fails (<a href="https://svn.boost.org/trac/boost/ticket/9333">#9333</a>). </div> </li> </ul> </div> <div id="version_1_55_0.patches"> <h3><span class="link">Patches</span></h3> <ol> <li> <div> <a href="http://www.boost.org/patches/1_55_0/001-log_fix_dump_avx2.patch">Log patch</a>: fixes incorrect output of the <a href="http://www.boost.org/doc/libs/1_55_0/libs/log/doc/html/log/detailed/utilities.html#log.detailed.utilities.manipulators.dump">dump</a> manipulator, when used on AVX2-enabled CPU (e.g. Intel Haswell). </div> </li> </ol> </div> <div id="version_1_55_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/predef/">Predef</a>:</span> This library defines a set of compiler, architecture, operating system, library, and other version numbers from the information it can gather of C, C++, Objective C, and Objective C++ predefined macros or those defined in generally available headers, from Rene Rivera. </div> </li> </ul> </div> <div id="version_1_55_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/accumulators/">Accumulators</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7915">#7915</a> Fix silly typos. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8850">#8850</a> Fix MSVC warnings. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8262">#8262</a> Rename <code><span class="identifier">average</span></code> to <code><span class="identifier">fdiv</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/any/">Any</a>:</span> <ul> <li> <div> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bad_any_cast</span></code> exception is now visible across modules <a href="https://svn.boost.org/trac/boost/ticket/8751">#8751</a>. </div> </li> <li> <div> Added <code><span class="identifier">clear</span><span class="special">()</span></code> member function. </div> </li> <li> <div> Added missing <code><span class="identifier">BOOST_NOEXCEPT</span></code>. </div> </li> <li> <div> Fixed issue with const rvalues <a href="https://svn.boost.org/trac/boost/ticket/9215">#9215</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Implemented a limited port to Windows Runtime. This support requires that the language extensions be enabled. Due to the restricted facilities exposed by the Windows Runtime API, the port also comes with the following caveats: <ul> <li> <div> The core facilities such as the <code><span class="identifier">io_service</span></code>, <code><span class="identifier">strand</span></code>, buffers, composed operations, timers, etc., should all work as normal. </div> </li> <li> <div> For sockets, only client-side TCP is supported. </div> </li> <li> <div> Explicit binding of a client-side TCP socket is not supported. </div> </li> <li> <div> The <code><span class="identifier">cancel</span><span class="special">()</span></code> function is not supported for sockets. Asynchronous operations may only be cancelled by closing the socket. </div> </li> <li> <div> Operations that use <code><span class="identifier">null_buffers</span></code> are not supported. </div> </li> <li> <div> Only <code><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span></code> and <code><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span></code> options are supported. </div> </li> <li> <div> Resolvers do not support service names, only numbers. I.e. you must use &quot;80&quot; rather than &quot;http&quot;. </div> </li> <li> <div> Most resolver query flags have no effect. </div> </li> </ul> </div> </li> <li> <div> Fixed a regression (introduced in Boost 1.54) where, on some platforms, errors from <code><span class="identifier">async_connect</span></code> were not correctly propagated through to the completion handler (<a href="https://svn.boost.org/trac/boost/ticket/8795">#8795</a>). </div> </li> <li> <div> Fixed a Windows-specific regression (introduced in Boost 1.54) that occurs when multiple threads are running an <code><span class="identifier">io_service</span></code>. When the bug occurs, the result of an asynchronous operation (error and bytes transferred) is incorrectly discarded and zero values used instead. For TCP sockets this results in spurious end-of-file notifications (<a href="https://svn.boost.org/trac/boost/ticket/8933">#8933</a>). </div> </li> <li> <div> Fixed a bug in handler tracking, where it was not correctly printing out some handler IDs (<a href="https://svn.boost.org/trac/boost/ticket/8808">#8808</a>). </div> </li> <li> <div> Fixed the comparison used to test for successful synchronous accept operations so that it works correctly with unsigned socket descriptors (<a href="https://svn.boost.org/trac/boost/ticket/8752">#8752</a>). </div> </li> <li> <div> Ensured the signal number is correctly passed to the completion handler when starting an <code><span class="identifier">async_wait</span></code> on a signal that is already raised (<a href="https://svn.boost.org/trac/boost/ticket/8738">#8738</a>). </div> </li> <li> <div> Suppressed a g++ 4.8+ warning about unused typedefs (<a href="https://svn.boost.org/trac/boost/ticket/8980">#8980</a>). </div> </li> <li> <div> Enabled the move optimisation for handlers that use the default invocation hook (<a href="https://svn.boost.org/trac/boost/ticket/8624">#8624</a>). </div> </li> <li> <div> Clarified that programs must not issue overlapping <code><span class="identifier">async_write_at</span></code> operations (<a href="https://svn.boost.org/trac/boost/ticket/8669">#8669</a>). </div> </li> <li> <div> Changed the Windows <code><span class="identifier">HANDLE</span></code> backend to treat <code><span class="identifier">ERROR_MORE_DATA</span></code> as a non-fatal error when returned by <code><span class="identifier">GetOverlappedResult</span></code> for a synchronous read (<a href="https://svn.boost.org/trac/boost/ticket/8722">#8722</a>). </div> </li> <li> <div> Visual C++ language extensions use <code><span class="identifier">generic</span></code> as a keyword. Added a workaround that renames the namespace to <code><span class="identifier">cpp_generic</span></code> when those language extensions are in effect. </div> </li> <li> <div> Fixed some asynchronous operations that missed out on getting <code><span class="identifier">async_result</span></code> support in Boost 1.54. In particular, the buffered stream templates have been updated so that they adhere to current handler patterns (<a href="https://svn.boost.org/trac/boost/ticket/9000">#9000</a>, <a href="https://svn.boost.org/trac/boost/ticket/9001">#9001</a>). </div> </li> <li> <div> Enabled move support for Microsoft Visual Studio 2012 (<a href="https://svn.boost.org/trac/boost/ticket/8959">#8959</a>). </div> </li> <li> <div> Added <code><span class="identifier">use_future</span></code> support for Microsoft Visual Studio 2012. </div> </li> <li> <div> Removed a use of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">min</span></code> in the Windows IOCP backend to avoid a dependency on the <code><span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span></code> header (<a href="https://svn.boost.org/trac/boost/ticket/8758">#8758</a>). </div> </li> <li> <div> Eliminated some unnecessary handler copies. </div> </li> <li> <div> Fixed various minor and cosmetic issues in code and documentation (including <a href="https://svn.boost.org/trac/boost/ticket/8347">#8347</a>, <a href="https://svn.boost.org/trac/boost/ticket/8950">#8950</a>, <a href="https://svn.boost.org/trac/boost/ticket/8953">#8953</a>, <a href="https://svn.boost.org/trac/boost/ticket/8965">#8965</a>, <a href="https://svn.boost.org/trac/boost/ticket/8997">#8997</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/atomic/">Atomic</a>:</span> <ul> <li> <div> Added support for 64-bit atomic operations on x86 target for GCC, MSVC and compatible compilers. The support is enabled when it is known at compile time that the target CPU supports required instructions. </div> </li> <li> <div> Added support for 128-bit atomic operations on x86-64 target for GCC and compatible compilers. The support is enabled when it is known at compile time that the target CPU supports required instructions. The support can be tested for with the new <code><span class="identifier">BOOST_ATOMIC_INT128_LOCK_FREE</span></code> macro. </div> </li> <li> <div> Added a more efficient implementation of <code><span class="identifier">atomic</span><span class="special">&lt;&gt;</span></code> based on GCC <code><span class="identifier">__atomic</span><span class="special">*</span></code> intrinsics available since GCC 4.7. </div> </li> <li> <div> Added support for more ARM v7 CPUs, improved detection of Thumb 2. </div> </li> <li> <div> Added support for x32 (i.e. 64-bit x86 with 32-bit pointers) target on GCC and compatible compilers. </div> </li> <li> <div> Removed dependency on Boost.Thread. </div> </li> <li> <div> Internal lock pool now includes proper padding and alignment to avoid false sharing. </div> </li> <li> <div> Fixed compilation with Intel compiler on Windows. Removed internal macro duplication when compiled on Windows. </div> </li> <li> <div> Some code refactoring to use C++11 features when available. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7868">#7868</a> <code><span class="identifier">chrono_io</span></code> parses time incorrectly (1.53 and 1.52) </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/9028">#9028</a> Typo in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">/</span><span class="identifier">formatters</span><span class="special">/</span><span class="identifier">base_formatter</span><span class="special">.</span><span class="identifier">hpp</span></code> </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/9147">#9147</a> uninitialized <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tm</span></code> </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/circular_buffer/">Circular Buffer</a>:</span> <ul> <li> <div> Added support for rvalue references and rvalue references emulation using Boost.Move. Values are moved only if value type has noexcept move constructor and noexcept move assignment operator <a href="https://svn.boost.org/trac/boost/ticket/7888">#7888</a>. Now Circular Buffer is usable with move-only types. </div> </li> <li> <div> Much better documentation. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5362">#5362</a> circular_buffer does not compile with <code><span class="identifier">BOOST_NO_EXCEPTIONS</span></code>. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7025">#7025</a> circular buffer reports warning: &quot; type qualifiers ignored on function return type&quot; while compile. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7950">#7950</a> Eliminate W4-warnings under VS2005 - warning C4913: user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/config/">Config</a>:</span> <ul> <li> <div> <strong>Breaking change:</strong> Removed support for some older compilers. The new minimum compiler versions are: </div> <ul> <li> <div> Digitial Mars 8.41 </div> </li> <li> <div> GCC 3.3 </div> </li> <li> <div> Intel 6.0 </div> </li> <li> <div> Visual C++ 7.1 </div> </li> </ul> <div> Other compilers are unchanged. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/container/">Container</a>:</span> <ul> <li> <div> Implemented <span class="link">SCARY iterators</span>. </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/8269">#8269</a>, <a href="https://svn.boost.org/trac/boost/ticket/8473">#8473</a>, <a href="https://svn.boost.org/trac/boost/ticket/8892">#8892</a>, <a href="https://svn.boost.org/trac/boost/ticket/9009">#9009</a>, <a href="https://svn.boost.org/trac/boost/ticket/9064">#9064</a>, <a href="https://svn.boost.org/trac/boost/ticket/9092">#9092</a>, <a href="https://svn.boost.org/trac/boost/ticket/9108">#9108</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8650">#8650</a> SSE2 intrinsics </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/coroutine/">Coroutine</a>:</span> <ul> <li> <div> New interface (unidirectional data transfer). </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8782">#8782</a> no best alternative </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8801">#8801</a> auto-linking </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/filesystem/">Filesystem</a>:</span> <ul> <li> <div> Fixed Android compilation <a href="https://svn.boost.org/trac/boost/ticket/8706">#8706</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/fusion/">Fusion</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8759">#8759</a> specialization of <code><span class="identifier">convert_impl</span></code> for <code><span class="identifier">map_tag</span></code> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry/index.html">Geometry</a>:</span> <ul> <li> <div> <em>Additional functionality</em> <ul> <li> <div> Added centroid for segment type </div> </li> <li> <div> Added intersects() and disjoints() for Segment-Box and Linestring-Box </div> </li> <li> <div> Added rtree creation using packing algorithm </div> </li> <li> <div> Added contains() and covers() spatial query predicates </div> </li> <li> <div> Added iterative queries </div> </li> </ul> </div> </li> <li> <div> <em>Bugfixes</em> <ul> <li> <div> In some cases .back() or .clear() was called, violating the usage of Concepts. Fixed for the reported cases </div> </li> </ul> </div> </li> <li> <div> <em>Solved tickets</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6958">6958</a> Intersection generates self-intersection. Caused by spike, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8364">8364</a> Invalid input exception, caused by spikes in previous steps, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8365">8365</a> Invalid input exception, caused by spikes in previous steps, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8969">8969</a> boost::geometry::model::point single argument constructor should be explicit </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8825">8825</a> Patch adding member variable documentation to doxygen_xml2qbk </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8652">8652</a> Intersection fails for triangle-triangle intersection. Caused by spike, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9047">9047</a> Boost files that include themselves (strategies/intersection.hpp), fixed </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/graph/index.html">Graph</a>:</span> <ul> <li> <div> <code><span class="keyword">void</span></code> is no longer allowed as a bundled property type (for example, in the VertexProperties template parameters to graph types); it did not work reliably before, but a static assertion now forbids it entirely. Use <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">no_property</span></code> instead. </div> </li> <li> <div> Added support for <code><span class="identifier">finish_edge</span></code> visitor event point in depth-first search; the change should be backward-compatible with visitors that do not have that member function. </div> </li> <li> <div> Disabled building of tests on Sun compiler. </div> </li> <li> <div> Multiple source vertices are supported in non-named-parameter versions of <code><span class="identifier">breadth_first_visit</span></code>, <code><span class="identifier">breadth_first_search</span></code>, <code><span class="identifier">dijkstra_shortest_paths</span></code>, and <code><span class="identifier">dijkstra_shortest_paths_no_init</span></code>. This feature is not yet documented; to use it, replace the single parameter for the source vertex in each of these functions by two input iterators of the same type containing the source vertices to use. </div> </li> <li> <div> Added Hawick circuits algorithm; contributed by Louis Dionne. </div> </li> <li> <div> Added edge coloring algorithm; contributed by Maciej Piechotka. </div> </li> <li> <div> Added min-cost max-flow algorithm; contributed by Piotr Wygocki. </div> </li> <li> <div> Bugs and feature requests from Trac fixed: <a href="https://svn.boost.org/trac/boost/ticket/5269">#5269</a>, <a href="https://svn.boost.org/trac/boost/ticket/8317">#8317</a>, <a href="https://svn.boost.org/trac/boost/ticket/8433">#8433</a>, <a href="https://svn.boost.org/trac/boost/ticket/8791">#8791</a>, <a href="https://svn.boost.org/trac/boost/ticket/8877">#8877</a>, <a href="https://svn.boost.org/trac/boost/ticket/8986">#8986</a>, <a href="https://svn.boost.org/trac/boost/ticket/9012">#9012</a>, <a href="https://svn.boost.org/trac/boost/ticket/9080">#9080</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/hash/">Hash</a>:</span> <ul> <li> <div> Simplify a SFINAE check so that it will hopefully work on Sun 5.9 (<a href="https://svn.boost.org/trac/boost/ticket/8822">#8822</a>). </div> </li> <li> <div> Suppress Visual C++ infinite loop warning (<a href="https://svn.boost.org/trac/boost/ticket/8568">#8568</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/interprocess/">Interprocess</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7156">#7156</a>, <a href="https://svn.boost.org/trac/boost/ticket/7164">#7164</a>, <a href="https://svn.boost.org/trac/boost/ticket/8277">#8277</a>, <a href="https://svn.boost.org/trac/boost/ticket/8976">#8976</a>, <a href="https://svn.boost.org/trac/boost/ticket/9065">#9065</a>, <a href="https://svn.boost.org/trac/boost/ticket/9073">#9073</a>, <a href="https://svn.boost.org/trac/boost/ticket/9008">#9008</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/intrusive/">Intrusive</a>:</span> <ul> <li> <div> <strong>Source breaking</strong>: Deprecated <code><span class="identifier">xxx_dont_splay</span></code> functions from splay containers. Deprecated <code><span class="identifier">splay_set_hook</span></code> from splay containers, use <code><span class="identifier">bs_set_hook</span></code> instead. Both will be removed in Boost 1.56. </div> </li> <li> <div> <strong>ABI breaking</strong>: Hash containers' end iterator was implemented pointing to one-past the end of the bucket array (see <a href="https://svn.boost.org/trac/boost/ticket/8698">#8698</a>) causing severe bugs when values to be inserted where allocated next to the bucket array. End iterator implementation was changed to point to the beginning of the bucket array. </div> </li> <li> <div> Big refactoring in order to reduce template and debug symbol bloat. Test object files have been slashed to half in MSVC compilers in Debug mode. Toolchains without Identical COMDAT Folding (ICF) should notice size improvements. </div> </li> <li> <div> Implemented <span class="link">SCARY iterators</span>. </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> <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bad_alloc</span></code> exceptions are now are not converted to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bad_lexical_cast</span></code> <a href="https://svn.boost.org/trac/boost/ticket/8966">#8966</a>. </div> </li> <li> <div> Added static assert that checks for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code> specializations if they are required for conversion. Use <code><span class="identifier">BOOST_HAS_INT128</span></code> for detecting 128 bit integers support <a href="https://svn.boost.org/trac/boost/ticket/8790">#8790</a>. </div> </li> <li> <div> Documentation improved and more usage examples added. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/log/">Log</a>:</span> <ul> <li> <div> General changes: <ul> <li> <div> Added a new configuration macro <code><span class="identifier">BOOST_LOG_WITHOUT_DEFAULT_FACTORIES</span></code>. By defining this macro the user can disable compilation of the default filter and formatter factories used by settings parsers. This can substantially reduce binary sizes while still retaining support for settings parsers. </div> </li> <li> <div> Rewritten some of the parsers to reduce the compiled binary size. The rewritten parsers are more robust in detecting ambiguous and incorrect input. </div> </li> <li> <div> The following headers are deprecated: <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">log</span><span class="special">/</span><span class="identifier">utility</span><span class="special">/</span><span class="identifier">intrusive_ref_counter</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">log</span><span class="special">/</span><span class="identifier">utility</span><span class="special">/</span><span class="identifier">explicit_operator_bool</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">log</span><span class="special">/</span><span class="identifier">utility</span><span class="special">/</span><span class="identifier">empty_deleter</span><span class="special">.</span><span class="identifier">hpp</span></code>. These headers will be removed in future releases. The contents of these headers were moved to other libraries. </div> </li> </ul> </div> </li> <li> <div> Bug fixes: <ul> <li> <div> Fixed <code><span class="identifier">timer</span></code> attribute generating incorrect time readings on Windows on heavy thread contention when <code><span class="identifier">QueryPerformanceCounter</span></code> API was used. </div> </li> <li> <div> Fixed a bug in the filter parser that prevented using parsed filters with some attributes. </div> </li> <li> <div> Fixed thread id formatting discrepancies between the default sink and formatters. </div> </li> <li> <div> Closed tickets: <a href="https://svn.boost.org/trac/boost/ticket/8815">#8815</a>, <a href="https://svn.boost.org/trac/boost/ticket/8819">#8819</a>, <a href="https://svn.boost.org/trac/boost/ticket/8915">#8915</a>, <a href="https://svn.boost.org/trac/boost/ticket/8917">#8917</a>, <a href="https://svn.boost.org/trac/boost/ticket/9139">#9139</a>, <a href="https://svn.boost.org/trac/boost/ticket/9140">#9140</a>, <a href="https://svn.boost.org/trac/boost/ticket/9153">#9153</a>, <a href="https://svn.boost.org/trac/boost/ticket/9155">#9155</a>. </div> </li> </ul> </div> </li> <li> <div> See <a href="http://www.boost.org/libs/log/doc/html/log/changelog.html">changelog</a> for more details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Suppress numerous warnings (mostly from GCC-4.8 and MSVC) <a href="https://svn.boost.org/trac/boost/ticket/8384">#8384</a>, <a href="https://svn.boost.org/trac/boost/ticket/8855">#8855</a>, <a href="https://svn.boost.org/trac/boost/ticket/9107">#9107</a>, <a href="https://svn.boost.org/trac/boost/ticket/9109">#9109</a>.. </div> </li> <li> <div> Fixed PGI compilation issue <a href="https://svn.boost.org/trac/boost/ticket/8333">#8333</a>. </div> </li> <li> <div> Fixed PGI constant value initialization issue that caused erf to generate incorrect results <a href="https://svn.boost.org/trac/boost/ticket/8621">#8621</a>. </div> </li> <li> <div> Prevent macro expansion of some C99 macros that are also C++ functions <a href="https://svn.boost.org/trac/boost/ticket/8732">#8732</a> and <a href="https://svn.boost.org/trac/boost/ticket/8733">#8733</a>.. </div> </li> <li> <div> Fixed Student's T distribution to behave correctly with huge degrees of freedom (larger than the largest representable integer) <a href="https://svn.boost.org/trac/boost/ticket/8837">#8837</a>. </div> </li> <li> <div> Make some core functions usable with <code><span class="keyword">long</span> <span class="keyword">double</span></code> even when the platform has no standard library <code><span class="keyword">long</span> <span class="keyword">double</span></code> support <a href="https://svn.boost.org/trac/boost/ticket/8940">#8940</a>. </div> </li> <li> <div> Fix error handling of distributions to catch invalid scale and location parameters when the random variable is infinite <a href="https://svn.boost.org/trac/boost/ticket/9042">#9042</a> and <a href="https://svn.boost.org/trac/boost/ticket/9126">#9126</a>. </div> </li> <li> <div> Add workaround for broken &lt;tuple&gt; in Intel C++ 14 <a href="https://svn.boost.org/trac/boost/ticket/9087">#9087</a>. </div> </li> <li> <div> Improve consistency of argument reduction in the elliptic integrals <a href="https://svn.boost.org/trac/boost/ticket/9104">#9104</a>. </div> </li> <li> <div> Fix bug in inverse incomplete beta that results in cancellation errors when the beta function is really an arcsine or Student's T distribution. </div> </li> <li> <div> Fix issue in Bessel I and K function continued fractions that causes spurious over/underflow. </div> </li> <li> <div> Add improvement to non-central chi squared distribution quantile due to Thomas Luu. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/move/">Move</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7952">#7952</a>, <a href="https://svn.boost.org/trac/boost/ticket/8764">#8764</a>, <a href="https://svn.boost.org/trac/boost/ticket/8765">#8765</a>, <a href="https://svn.boost.org/trac/boost/ticket/8842">#8842</a>, <a href="https://svn.boost.org/trac/boost/ticket/8979">#8979</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/msm/">Meta State Machine</a>:</span> <ul> <li> <div> New feature: interrupt states now support a sequence of events to end the interruption. </div> </li> <li> <div> Fixed Trac <a href="https://svn.boost.org/trac/boost/ticket/8686">#8686</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span> <ul> <li> <div> Added support for Boost.Serialization. </div> </li> <li> <div> Suppressed some GCC warnings. See <a href="https://svn.boost.org/trac/boost/ticket/8872">8872</a>. </div> </li> <li> <div> Fixed bug in pow for large integer arguments. See <a href="https://svn.boost.org/trac/boost/ticket/8809">8809</a>. </div> </li> <li> <div> Fixed bug in pow for calculation of 0[super N]. See <a href="https://svn.boost.org/trac/boost/ticket/8798">8798</a>. </div> </li> <li> <div> Fixed bug in fixed precision cpp_int IO code that causes conversion to string to fail when the bit count is very small (less than CHAR_BIT). See <a href="https://svn.boost.org/trac/boost/ticket/8745">8745</a>. </div> </li> <li> <div> Fixed bug in cpp_int that causes left shift to fail when a fixed precision type would overflow. See <a href="https://svn.boost.org/trac/boost/ticket/8741">8741</a>. </div> </li> <li> <div> Fixed some cosmetic warnings from cpp_int. See <a href="https://svn.boost.org/trac/boost/ticket/8748">8748</a>. </div> </li> <li> <div> Fixed calls to functions which are required to be macros in C99. See <a href="https://svn.boost.org/trac/boost/ticket/8732">8732</a>. </div> </li> <li> <div> Fixed bug that causes construction from INT_MIN, LONG_MIN etc to fail in cpp_int. See <a href="https://svn.boost.org/trac/boost/ticket/8711">8711</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/multi_index/index.html">Multi-index Containers</a>:</span> <ul> <li> <div> Boost.MultiIndex has been brought to a higher level of compliance with C++11. </div> <ul> <li> <div> <code><span class="identifier">multi_index_container</span></code> is now efficiently movable. </div> </li> <li> <div> Initializer lists supported. </div> </li> <li> <div> Emplace functions provided. </div> </li> <li> <div> Non-copyable elements (such as <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">unique_ptr</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>) supported. This includes insertion of a range [<code><span class="identifier">first</span></code>,<code><span class="identifier">last</span></code>) where the iterators point to a type that is convertible to that of the element: no copy construction happens in the process. </div> </li> <li> <div> Random access indices provide <code><span class="identifier">shrink_to_fit</span><span class="special">()</span></code>. </div> </li> </ul> <div> Refer to the <a href="http://www.boost.org/libs/multi_index/doc/compiler_specifics.html">compiler specifics</a> section for limitations on pre-C++11 compilers. </div> </li> <li> <div> The following classes are deprecated: <ul> <li> <div> <a href="http://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#member_offset"><code><span class="identifier">member_offset</span></code></a>, </div> </li> <li> <div> <a href="http://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#const_mem_fun_explicit"><code><span class="identifier">const_mem_fun_explicit</span></code></a>, </div> </li> <li> <div> <a href="http://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#const_mem_fun_explicit"><code><span class="identifier">mem_fun_explicit</span></code></a>, </div> </li> <li> <div> <a href="http://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#composite_key_result_equal_to"><code><span class="identifier">composite_key_result_equal_to</span></code></a>, </div> </li> <li> <div> <a href="http://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#composite_key_result_less"><code><span class="identifier">composite_key_result_less</span></code></a>, </div> </li> <li> <div> <a href="http://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#composite_key_result_greater"><code><span class="identifier">composite_key_result_greater</span></code></a>, </div> </li> <li> <div> <a href="http://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#composite_key_result_hash"><code><span class="identifier">composite_key_result_hash</span></code></a>. </div> </li> </ul> </div> </li> <li> <div> Maintenance fixes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/mpi/">MPI</a>:</span> <ul> <li> <div> Replaced calls to deprecated MPI functions </div> </li> <li> <div> Added support for multi-threaded initialization </div> </li> <li> <div> Added in-place collectives </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/phoenix/">Phoenix</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9049">#9049</a> <code><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">function</span></code> constructor is constexpr. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/polygon/">Polygon</a>:</span> <ul> <li> <div> Updated CGAL part of the Voronoi benchmark with patches from Sebastien Loriot. Updated documentation. </div> </li> <li> <div> Added polygon decomposition capability to polygon_90_set_data container (patch from Intel). Updated documentation. </div> </li> <li> <div> Bugs fixed from Trac: <a href="https://svn.boost.org/trac/boost/ticket/8197">#8197</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/property_map/index.html">PropertyMap</a>:</span> <ul> <li> <div> dynamic_properties objects can now be built by non-destructively chaining <code><span class="special">.</span><span class="identifier">property</span><span class="special">(</span><span class="identifier">name</span><span class="special">,</span> <span class="identifier">pm</span><span class="special">)</span></code> calls. Example: </div> <pre><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dynamic_properties</span><span class="special">()</span> <span class="special">.</span><span class="identifier">property</span><span class="special">(</span><span class="string">&quot;color&quot;</span><span class="special">,</span> <span class="identifier">color_map</span><span class="special">)</span> <span class="special">.</span><span class="identifier">property</span><span class="special">(</span><span class="string">&quot;pos&quot;</span><span class="special">,</span> <span class="identifier">position_map</span><span class="special">)</span> </pre> </li> <li> <div> The use of raw pointers as property maps is deprecated; it often failed on Visual Studio in the past. This usage has been removed from all tests and examples in Boost.Graph. The replacement to use for vertex properties in graphs (the most common use for this feature) is: </div> <pre><span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_property_map</span><span class="special">(</span> <span class="special">&lt;</span><span class="identifier">pointer</span> <span class="keyword">or</span> <span class="identifier">container</span> <span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="identifier">iterator</span><span class="special">&gt;,</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">vertex_index</span><span class="special">,</span> <span class="special">&lt;</span><span class="identifier">graph</span> <span class="identifier">object</span><span class="special">&gt;))</span> </pre> <div> (Note: the lack of namespace qualification on get() in this code is necessary for generic code). Outside a graph context, the closest equivalent is: </div> <pre><span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_property_map</span><span class="special">(</span> <span class="special">&lt;</span><span class="identifier">pointer</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typed_identity_property_map</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;())</span> </pre> <div> There are commented-out static assertions on lines 151 and 159 of <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> that can be un-commented to find deprecated uses of pointers in user code. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/rational">Rational</a>:</span> <ul> <li> <div> Added <code><span class="identifier">lowest</span></code> and <code><span class="identifier">max_digits10</span></code>, members of std::numeric_limits added in C++11, to the unit-test code. Needed since Boost.Test refers to one of them when compiled in C++11 mode. </div> </li> <li> <div> Changed initialization of some internal variables to something that cannot be a narrowing conversion, which fixes issue <a href="https://svn.boost.org/trac/boost/ticket/5855">#5855</a>. Needed since narrowing conversions are an error in C++11. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/smart_ptr/index.html">SmartPtr</a>:</span> <ul> <li> <div> Added <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">smart_ptr</span><span class="special">/</span><span class="identifier">intrusive_ref_counter</span><span class="special">.</span><span class="identifier">hpp</span></code> header, extracted from Boost.Log. The header implements a mixin base class that adds support for <code><span class="identifier">intrusive_ptr</span></code> to user's classes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/Thread/">Thread</a>:</span> <ul> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8519">#8519</a> Synchro: Update class barrier with a completion function. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8515">#8515</a> Async: Add <code><span class="identifier">shared_future</span><span class="special">::</span><span class="identifier">then</span></code>. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8519">#8519</a> Synchro: Update class barrier with a completion function </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8615">#8615</a> Async: Replace make_future/make_shared_future by make_ready_future. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8627">#8627</a> Async: Add future&lt;&gt;::unwrap and unwrapping constructor. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8677">#8677</a> Async: Add future&lt;&gt;::get_or. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8678">#8678</a> Async: Add future&lt;&gt;::fallback_to. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8891">#8891</a> upgrade_to_unique_lock: missing mutex() function. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8955">#8955</a> Request for more efficient way to get exception_ptr from future. </div> </li> </ul> </div> </li> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7461">#7461</a> detail::win32::ReleaseSemaphore may be called with count_to_release equal to 0 </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8070">#8070</a> prefer GetTickCount64 over GetTickCount </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8768">#8768</a> win32 condition_variable::wait_until infinite wait in rare cases. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8817">#8817</a> Boost Thread Windows CE _createthreadex handling breaks mingw w64. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8943">#8943</a> Failed to compile code using boost::call_once with Intel C++ Composer XE 2013 on Windows. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8931">#8931</a> Typos in external_locking reference. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/9029">#9029</a> Misprint in documentation. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/9037">#9037</a> gcc -Wshadow gives warnings in condition_variable{,_fwd}.hpp. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/9041">#9041</a> Boost.Thread DSO's may need to link with Boost.Atomic. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/9048">#9048</a> boost::scoped_thread useless ctor with variadic template arguments. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/9079">#9079</a> Condition variable will wait forever for some timepoint values (Win). </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/timer/">Timer</a>:</span> <ul> <li> <div> Fixed compilation on Intel compiler <a href="https://svn.boost.org/trac/boost/ticket/8956">#8956</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/type_traits/">Type Traits</a>:</span> <ul> <li> <div> Added <code><span class="identifier">is_copy_contructible</span></code> trait <a href="https://svn.boost.org/trac/boost/ticket/8802">#8802</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> Avoid some warnings (<a href="https://svn.boost.org/trac/boost/ticket/8851">#8851</a>, <a href="https://svn.boost.org/trac/boost/ticket/8874">#8874</a>). </div> </li> <li> <div> Avoid exposing some detail functions via. ADL on the iterators. </div> </li> <li> <div> Work around variadic parameter bug in Visual Studio 2013. The compiler still has problems with initializer lists, but it might not be possible to work around those. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/index.html">Utility</a>:</span> <ul> <li> <div> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code> can be set to use TR1 protocol by default and fall back to <code><span class="keyword">decltype</span></code> if the function object does not support it (like C++11 lambda functions, for example). Define <code><span class="identifier">BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK</span></code> configuration macro to enable this mode. </div> </li> <li> <div> Improved support for C++11 in the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">base_from_member</span></code> class template. The class implements perfect forwarding for the constructor arguments, if the compiler supports rvalue references, variadic templates and function template default arguments. </div> </li> <li> <div> Added <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">/</span><span class="identifier">explicit_operator_bool</span><span class="special">.</span><span class="identifier">hpp</span></code> and <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">/</span><span class="identifier">empty_deleter</span><span class="special">.</span><span class="identifier">hpp</span></code> headers, which were extracted from Boost.Log. The headers implement utilities for defining explicit conversion operators to <code><span class="keyword">bool</span></code> and a deleter function object that does nothing, respectively. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/variant/">Variant</a>:</span> <ul> <li> <div> Fixed compilation of constructor and assignment operator with const rvalues input parameters <a href="https://svn.boost.org/trac/boost/ticket/8988">#8988</a>. </div> </li> <li> <div> Fixed compilation of move assignment operator for situations when one of the variant template classes has nothrow copy constructor and throwing move constructor <a href="https://svn.boost.org/trac/boost/ticket/8772">#8772</a>. </div> </li> <li> <div> Fix compilation on exception-disabled environments <a href="https://svn.boost.org/trac/boost/ticket/8717">#8717</a>. </div> </li> <li> <div> Fix unreachable code warnings <a href="https://svn.boost.org/trac/boost/ticket/8665">#8665</a>. </div> </li> <li> <div> Removed duplicate code <a href="https://svn.boost.org/trac/boost/ticket/7601">#7601</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">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> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive">xpressive</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8843">#8843</a> throw instead of assert at incomplete charset </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8880">#8880</a> remove unused local typedef </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8882">#8882</a> use RAII instead of try/catch in sequence_stack.hpp </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8474">#8474</a> make xpressive play nice with clang's -Wimplicit-fallthrough diagnostic </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_55_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/tools/quickbook">Quickbook</a>:</span> <ul> <li> <div> Quickbook 1.6 finalized, see the <a href="http://www.boost.org/doc/html/quickbook/versions.html#language_versions.1_6">Quickbook documentation for details</a>. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_55_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> Clang: 3.3, 3.2, 3.1, 3.0 </div> </li> <li> <div> Clang, C++11, libc++: 3.4, 3.3 </div> </li> <li> <div> GCC: 4.8.1, 4.7.3, 4.6.3, 4.5.3, 4.4.7 </div> </li> <li> <div> GCC, C++11: 4.8.1 </div> </li> <li> <div> GCC, C++98: 4.8.1 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.2 </div> </li> <li> <div> Apple Clang: 5.0 </div> </li> <li> <div> Apple Clang, C++11: 5.0 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.8.0, 4.7.2, 4.6.3, 4.5.4, 4.4.7 </div> </li> <li> <div> Visual C++: 11.0, 10.0, 9.0 </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> OS X: <ul> <li> <div> Apple Clang: 5.0 </div> </li> <li> <div> Apple Clang, C++11: 5.0 </div> </li> <li> <div> Clang: trunk </div> </li> <li> <div> Clang, C++11: trunk </div> </li> <li> <div> GCC: 4.2.1 </div> </li> </ul> </div> </li> <li> <div> Linux: <ul> <li> <div> Clang: 3.3, 3.2, 3.1, 3.0, trunk </div> </li> <li> <div> Clang, C++11: 3.4 </div> </li> <li> <div> Clang, C++11, libc++: 3.4, 3.3 </div> </li> <li> <div> GCC: 4.9.0 (experimental), 4.8.1, 4.7.3, 4.6.4, 4.5.3, 4.4.7 </div> </li> <li> <div> GCC, C++11: 4.8.1 </div> </li> <li> <div> GCC, C++98: 4.8.1 </div> </li> <li> <div> Intel: 13.0.1, 12.1.6 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.8.0, 4.7.2, 4.6.3, 4.5.4, 4.4.7 </div> </li> <li> <div> Visual C++: 11.0, 10.0, 9.0 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_55_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, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.54.0http://www.boost.org/users/history/version_1_54_0.htmlhttp://www.boost.org/users/history/version_1_54_0.htmlMon, 1 Jul 2013 10:10:02 -0700 <div id="version_1_54_0.patches"> <h3><span class="link">Patches</span></h3> <p> These are patches from library authors which were found too late to be fixed in the 1.54.0 release. Be careful as they have not been through the normal testing process. </p> <ol> <li> <div> <a href="http://www.boost.org/patches/1_54_0/001-coroutine.patch">Coroutine patch</a> </div> </li> <li> <div> <a href="http://www.boost.org/patches/1_54_0/002-date-time.patch">Date Time patch</a> </div> </li> <li> <div> <a href="http://www.boost.org/patches/1_54_0/003-log.patch">Log patch</a> </div> </li> <li> <div> <a href="http://www.boost.org/patches/1_54_0/004-thread.patch">Thread patch</a> </div> </li> </ol> </div> <div id="version_1_54_0.news"> <h3><span class="link">News</span></h3> <div id="version_1_54_0.news.supported_cpus"> <h3><span class="link">Supported CPUs</span></h3> <p> Boost no longer supports the 80386 target CPU, the minimum x86 32-bit target is i486. The 80386 target was not properly supported by <a href="http://www.boost.org/libs/smart_ptr/">Boost.SmartPtr</a> and <a href="http://www.boost.org/libs/atomic/">Boost.Atomic</a> (as well as the libraries that used them internally) even before this release. Some Boost libraries may have higher requirements on the minimum target CPU (like <a href="http://www.boost.org/libs/log/">Boost.Log</a> for example), see the respective library documentation for details. </p> <p> Also by default, when building Boost for x86 32-bit targets it will compile for i686 (Pentium Pro) and later CPUs. This can be changed by specifying the <tt>instruction-set</tt> property in <tt>b2</tt> or <tt>bjam</tt> command line, for example: </p> <pre>b2 variant=release architecture=x86 instruction-set=i486 stage </pre> <p> Possible values for the <tt>instruction-set</tt> are: </p> <ul> <li> <div> Target for the host CPU: <tt>native</tt> </div> </li> <li> <div> Generic x86 CPUs: <tt>i486</tt>, <tt>i586</tt>, <tt>i686</tt> </div> </li> <li> <div> Intel CPUs: <tt>pentium</tt>, <tt>pentium-mmx</tt>, <tt>pentiumpro</tt>, <tt>pentium2</tt>, <tt>pentium3</tt>, <tt>pentium3m</tt>, <tt>pentium-m</tt>, <tt>pentium4</tt>, <tt>pentium4m</tt>, <tt>prescott</tt>, <tt>nocona</tt>, <tt>core2</tt>, <tt>corei7</tt>, <tt>corei7-avx</tt>, <tt>core-avx-i</tt>, <tt>conroe</tt>, <tt>conroe-xe</tt>, <tt>conroe-l</tt>, <tt>allendale</tt>, <tt>merom</tt>, <tt>merom-xe</tt>, <tt>kentsfield</tt>, <tt>kentsfield-xe</tt>, <tt>penryn</tt>, <tt>wolfdale</tt>, <tt>yorksfield</tt>, <tt>nehalem</tt>, <tt>sandy-bridge</tt>, <tt>ivy-bridge</tt>, <tt>haswell</tt>, <tt>atom</tt> </div> </li> <li> <div> AMD CPUs: <tt>k6</tt>, <tt>k6-2</tt>, <tt>k6-3</tt>, <tt>athlon</tt>, <tt>athlon-tbird</tt>, <tt>athlon-4</tt>, <tt>athlon-xp</tt>, <tt>athlon-mp</tt>, <tt>k8</tt>, <tt>opteron</tt>, <tt>athlon64</tt>, <tt>athlon-fx</tt>, <tt>k8-sse3</tt>, <tt>opteron-sse3</tt>, <tt>athlon64-sse3</tt>, <tt>amdfam10</tt>, <tt>barcelona</tt>, <tt>bdver1</tt>, <tt>bdver2</tt>, <tt>bdver3</tt>, <tt>btver1</tt>, <tt>btver2</tt> </div> </li> <li> <div> VIA CPUs: <tt>c3</tt>, <tt>c3-2</tt> </div> </li> <li> <div> IDT CPUs: <tt>winchip-c6</tt>, <tt>winchip2</tt> </div> </li> </ul> <p> Note that not all these values may be supported by a particular compiler. </p> </div> <div id="version_1_54_0.news.signals_deprecated"> <h3><span class="link">Signals deprecated</span></h3> <p> Boost.Signals is no longer being actively maintained, so it has been deprecated. Do not use Boost.Signals for new development (use <a href="http://www.boost.org/libs/signals2/">Boost.Signals2</a> instead). If you have existing Boost.Signals-based code, it will continue to work, but consider moving to Boost.Signals2. There is <a href="http://www.boost.org/doc/html/signals2/api_changes.html#signals2.porting">a porting guide</a> in the Signals2 documentation. </p> </div> </div> <div id="version_1_54_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/log/">Log</a>:</span> Logging library, from Andrey Semashev. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/tti/">TTI</a>:</span> Type Traits Introspection library, from Edward Diener. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/type_erasure/">Type Erasure</a>:</span> Runtime polymorphism based on concepts. </div> </li> </ul> </div> <div id="version_1_54_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/accumulators/">Accumulators</a>:</span> <ul> <li> <div> Fixes comment typos (<a href="http://svn.boost.org/trac/boost/ticket/7917">#7917</a>) </div> </li> <li> <div> Silence unused variable warnings (<a href="http://svn.boost.org/trac/boost/ticket/6926">#6926</a>) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/">Algorithm</a>:</span> <ul> <li> <div> The return types for copy_while and copy_until have been changed. This is an interface change. If you were using the return values from these functions, then you will have to modify your code. Instead of just returning the modified <code><span class="identifier">OutputIterator</span></code>, these functions now return a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">InputIterator</span><span class="special">,</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span></code>. If this change affects your code, the simplest change is to add a <code><span class="special">.</span><span class="identifier">second</span></code> to the end of the call, which will get you the same behavior that you had before. </div> </li> <li> <div> Added C++14 versions of 'is_permutation', 'equal' and 'mismatch'. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/any/">Any</a>:</span> <ul> <li> <div> Added C++11 features support <a href="https://svn.boost.org/trac/boost/ticket/6999">#6999</a>: <ul> <li> <div> Move assignment and move constructors. </div> </li> <li> <div> Added <code><span class="keyword">noexcept</span></code> modifiers. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Added new traits classes, <code><span class="identifier">handler_type</span></code> and <code><span class="identifier">async_result</span></code>, that allow the customisation of the return type of an initiating function. </div> </li> <li> <div> Added the <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">spawn</span><span class="special">()</span></code> function, a high-level wrapper for running stackful coroutines, based on the Boost.Coroutine library. The <code><span class="identifier">spawn</span><span class="special">()</span></code> function enables programs to implement asynchronous logic in a synchronous manner. For example: <code><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">);</span></code>. </div> </li> <li> <div> Added the <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code> special value, which provides first-class support for returning a C++11 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code> from an asynchronous operation's initiating function. For example: <code><span class="identifier">future</span><span class="special">&lt;</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span></code>. </div> </li> <li> <div> Promoted the stackless coroutine class and macros to be part of Asio's documented interface, rather than part of the HTTP server 4 example. </div> </li> <li> <div> Added a new handler hook called <code><span class="identifier">asio_handler_is_continuation</span></code>. Asynchronous operations may represent a continuation of the asynchronous control flow associated with the current executing handler. The <code><span class="identifier">asio_handler_is_continuation</span></code> hook can be customised to return <code><span class="keyword">true</span></code> if this is the case, and Asio's implementation can use this knowledge to optimise scheduling of the new handler. To cover common cases, Asio customises the hook for strands, <code><span class="identifier">spawn</span><span class="special">()</span></code> and composed asynchronous operations. </div> </li> <li> <div> Added four new generic protocol classes, <code><span class="identifier">generic</span><span class="special">::</span><span class="identifier">datagram_protocol</span></code>, <code><span class="identifier">generic</span><span class="special">::</span><span class="identifier">raw_protocol</span></code>, <code><span class="identifier">generic</span><span class="special">::</span><span class="identifier">seq_packet_protocol</span></code> and <code><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span></code>, which implement the <code><span class="identifier">Protocol</span></code> type requirements, but allow the user to specify the address family (e.g. <code><span class="identifier">AF_INET</span></code>) and protocol type (e.g. <code><span class="identifier">IPPROTO_TCP</span></code>) at runtime. </div> </li> <li> <div> Added C++11 move constructors that allow the conversion of a socket (or acceptor) into a more generic type. For example, an <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code> can be converted into a <code><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span></code> via move construction. </div> </li> <li> <div> Extended the <code><span class="identifier">basic_socket_acceptor</span><span class="special">&lt;&gt;</span></code> class's <code><span class="identifier">accept</span><span class="special">()</span></code> and <code><span class="identifier">async_accept</span><span class="special">()</span></code> functions to allow a new connection to be accepted directly into a socket of a more generic type. For example, an <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span></code> can be used to accept into a <code><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span></code> object. </div> </li> <li> <div> Moved existing examples into a C++03-specific directory, and added a new directory for C++11-specific examples. A limited subset of the C++03 examples have been converted to their C++11 equivalents. </div> </li> <li> <div> Various SSL enhancements. Thanks go to Nick Jones, on whose work these changes are based. <ul> <li> <div> Added support for SSL handshakes with re-use of data already read from the wire. New overloads of the <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;&gt;</span></code> class's <code><span class="identifier">handshake</span><span class="special">()</span></code> and <code><span class="identifier">async_handshake</span><span class="special">()</span></code> functions have been added. These accept a <code><span class="identifier">ConstBufferSequence</span></code> to be used as initial input to the ssl engine for the handshake procedure. </div> </li> <li> <div> Added support for creation of TLSv1.1 and TLSv1.2 <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span></code> objects. </div> </li> <li> <div> Added a <code><span class="identifier">set_verify_depth</span><span class="special">()</span></code> function to the <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span></code> and <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;&gt;</span></code> classes. </div> </li> <li> <div> Added the ability to load SSL certificate and key data from memory buffers. New functions, <code><span class="identifier">add_certificate_authority</span><span class="special">()</span></code>, <code><span class="identifier">use_certificate</span><span class="special">()</span></code>, <code><span class="identifier">use_certificate_chain</span><span class="special">()</span></code>, <code><span class="identifier">use_private_key</span><span class="special">()</span></code>, <code><span class="identifier">use_rsa_private_key</span><span class="special">()</span></code> and <code><span class="identifier">use_tmp_dh</span><span class="special">()</span></code>, have been added to the <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span></code> class. </div> </li> <li> <div> Changed <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span></code> to automatically disable SSL compression by default. To enable, use the new <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">clear_options</span><span class="special">()</span></code> function, as in <code><span class="identifier">my_context</span><span class="special">.</span><span class="identifier">clear_options</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">no_compression</span><span class="special">)</span></code>. </div> </li> </ul> </div> </li> <li> <div> Fixed a potential deadlock in <code><span class="identifier">signal_set</span></code> implementation. </div> </li> <li> <div> Fixed an error in acceptor example in documentation <a href="https://svn.boost.org/trac/boost/ticket/8421">#8421</a>. </div> </li> <li> <div> Fixed copy-paste errors in waitable timer documentation <a href="https://svn.boost.org/trac/boost/ticket/8602">#8602</a>. </div> </li> <li> <div> Added assertions to satisfy some code analysis tools <a href="https://svn.boost.org/trac/boost/ticket/7739">#7739</a>. </div> </li> <li> <div> Fixed a malformed <code><span class="preprocessor">#warning</span></code> directive <a href="https://svn.boost.org/trac/boost/ticket/7939">#7939</a>. </div> </li> <li> <div> Fixed a potential data race in the Linux <code><span class="identifier">epoll</span></code> implementation. </div> </li> <li> <div> Fixed a Windows-specific bug, where certain operations might generate an <code><span class="identifier">error_code</span></code> with an invalid (i.e. <code><span class="identifier">NULL</span></code>) <code><span class="identifier">error_category</span></code> <a href="https://svn.boost.org/trac/boost/ticket/8613">#8613</a>. </div> </li> <li> <div> Fixed <code><span class="identifier">basic_waitable_timer</span></code>'s underlying implementation so that it can handle any <code><span class="identifier">time_point</span></code> value without overflowing the intermediate duration objects. </div> </li> <li> <div> Fixed a problem with lost thread wakeups that can occur when making concurrent calls to <code><span class="identifier">run</span><span class="special">()</span></code> and <code><span class="identifier">poll</span><span class="special">()</span></code> on the same <code><span class="identifier">io_service</span></code> object <a href="https://svn.boost.org/trac/boost/ticket/8354">#8354</a>. </div> </li> <li> <div> Fixed implementation of asynchronous connect operation so that it can cope with spurious readiness notifications from the reactor <a href="https://svn.boost.org/trac/boost/ticket/7961">#7961</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8079">#8079</a> Chrono memory leak </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8318">#8318</a> BOOST_FORCEINLINE constructors of time_point and duration </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8367">#8367</a> chrono does not compile with clang from XCode 4.5.2 with -std=c++11 -stdlib=libc++ and -arch armv7 </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8370">#8370</a> typo in chrono reference </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8435">#8435</a> Can't compile Chrono on HP-UX due to no CLOCK_REALTIME macro. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/circular_buffer">Circular Buffer</a>:</span> <ul> <li> <div> Fixed warnings (<a href="https://svn.boost.org/trac/boost/ticket/8032">#8032</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/container/">Container</a>:</span> <ul> <li> <div> Added experimental <code><span class="identifier">static_vector</span></code> class, based on Andrew Hundt's and Adam Wulkiewicz's high-performance <code><span class="identifier">varray</span></code> class. </div> </li> <li> <div> Speed improvements in <code><span class="identifier">vector</span></code> constructors/copy/move/swap, dispatching to memcpy when possible. </div> </li> <li> <div> Support for <code><span class="identifier">BOOST_NO_EXCEPTIONS</span></code> <a href="https://svn.boost.org/trac/boost/ticket/7227">#7227</a>. </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7921">#7921</a>, <a href="https://svn.boost.org/trac/boost/ticket/7969">#7969</a>, <a href="https://svn.boost.org/trac/boost/ticket/8118">#8118</a>, <a href="https://svn.boost.org/trac/boost/ticket/8294">#8294</a>, <a href="https://svn.boost.org/trac/boost/ticket/8553">#8553</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span> <ul> <li> <div> Support for SPARC architecture added. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/coroutine/">Coroutine</a>:</span> <ul> <li> <div> Support for segmented stacks (stack grows on demand) added. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7805">#7805</a> Typo </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7972">#7972</a> GCC warnings </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7988">#7988</a> C++11 range-for </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8023">#8023</a> Using iterator traits </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8024">#8024</a> Create const_iterator </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8101">#8101</a> Postfix operator++ for iterator </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8526">#8526</a> memory leak </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8544">#8544</a> calling managed DLL </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry/">Geometry</a>:</span> <ul> <li> <div> <em>Additional functionality</em> <ul> <li> <div> added Spatial Index, developed for Boost.Geometry by Adam Wulkiewicz. The spatial index was originally started by Federico J. Fernandez during the Google Summer of Code 2008 program, mentored by Hartmut Kaiser. </div> </li> <li> <div> added SVG-output, this was already in extensions for several years </div> </li> </ul> </div> </li> <li> <div> <em>Documentation</em> <ul> <li> <div> small fixes of missing words </div> </li> </ul> </div> </li> <li> <div> <em>Bugfixes</em> <ul> <li> <div> collinear opposite segments did sometimes (in circles) have a robustness issue, fixed </div> </li> <li> <div> fixed insertion of false intersection point (found by buffer) </div> </li> <li> <div> applied patch of Vladimir Petrovic for debugging traversals </div> </li> </ul> </div> </li> <li> <div> <em>Solved tickets</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7462">7462</a> degenerate union result for float, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7465">7465</a> wrong construtors access type in scale_transformer class, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7802">7802</a> cart_intersect.hpp unused parameter warnings, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8254">8254</a> faulty intersection, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8393">8393</a> polygon model doesn't adhere to stated Polygon concept rules, doc updated. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8403">8403</a> silenced compiler warning C4127: conditional expression is constant </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8405">8405</a> silenced compiler warning C4189: '...' : local variable is initialized but not referenced </div> </li> </ul> </div> </li> <li> <div> <em>Internal changes</em> <ul> <li> <div> Made several algorithms variant-aware (append, area, clear, convert, equals, length, num_points) </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> Bugs fixed from Trac: <a href="https://svn.boost.org/trac/boost/ticket/6780">#6780</a>, <a href="https://svn.boost.org/trac/boost/ticket/7016">#7016</a>, <a href="https://svn.boost.org/trac/boost/ticket/7155">#7155</a>, <a href="https://svn.boost.org/trac/boost/ticket/7845">#7845</a>, <a href="https://svn.boost.org/trac/boost/ticket/7863">#7863</a>, <a href="https://svn.boost.org/trac/boost/ticket/7877">#7877</a>, <a href="https://svn.boost.org/trac/boost/ticket/8166">#8166</a>, <a href="https://svn.boost.org/trac/boost/ticket/8192">#8192</a>, <a href="https://svn.boost.org/trac/boost/ticket/8398">#8398</a>, <a href="https://svn.boost.org/trac/boost/ticket/8411">#8411</a>, <a href="https://svn.boost.org/trac/boost/ticket/8427">#8427</a>, <a href="https://svn.boost.org/trac/boost/ticket/8428">#8428</a>, <a href="https://svn.boost.org/trac/boost/ticket/8434">#8434</a>, <a href="https://svn.boost.org/trac/boost/ticket/8490">#8490</a>, <a href="https://svn.boost.org/trac/boost/ticket/8681">#8681</a>. </div> </li> <li> <div> Added updates to VF2 subgraph isomorphism from Jakob Lykke Andersen and Flavio De Lorenzi. </div> </li> <li> <div> Added maximum adjacency search from Fernando Vilas. </div> </li> <li> <div> Added timeout support from Brammert Ottens to resource-constrained shortest paths (r_c_shortest_paths) algorithm. </div> </li> <li> <div> Various fixes to documentation and examples and removal of outdated compiler workarounds. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/interprocess/">Interprocess</a>:</span> <ul> <li> <div> Added support for platform-specific flags to mapped_region (ticket #8030) </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7484">#7484</a>, <a href="https://svn.boost.org/trac/boost/ticket/7598">#7598</a>, <a href="https://svn.boost.org/trac/boost/ticket/7682">#7682</a>, <a href="https://svn.boost.org/trac/boost/ticket/7923">#7923</a>, <a href="https://svn.boost.org/trac/boost/ticket/7924">#7924</a>, <a href="https://svn.boost.org/trac/boost/ticket/7928">#7928</a>, <a href="https://svn.boost.org/trac/boost/ticket/7936">#7936</a>, <a href="https://svn.boost.org/trac/boost/ticket/8521">#8521</a>, <a href="https://svn.boost.org/trac/boost/ticket/8595">#8595</a>. </div> </li> <li> <div> <strong>ABI breaking</strong>: Changed bootstamp function in Windows to use EventLog service start time as system bootup time. Previously used <code><span class="identifier">LastBootupTime</span></code> from WMI was unstable with time synchronization and hibernation and unusable in practice. If you really need to obtain pre Boost 1.54 behaviour define <code><span class="identifier">BOOST_INTERPROCESS_BOOTSTAMP_IS_LASTBOOTUPTIME</span></code> from command line or <code><span class="identifier">detail</span><span class="special">/</span><span class="identifier">workaround</span><span class="special">.</span><span class="identifier">hpp</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/intrusive/">Intrusive</a>:</span> <ul> <li> <div> Added <code><span class="identifier">BOOST_NO_EXCEPTIONS</span></code> support (bug <a href="https://svn.boost.org/trac/boost/ticket/7849">#7849</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/iostreams/">Iostreams</a>:</span> <ul> <li> <div> <code><span class="identifier">tee</span></code> now works correctly for std::streams (<a href="https://svn.boost.org/trac/boost/ticket/8315">#8315</a>). </div> </li> <li> <div> Documentation fixes (<a href="https://svn.boost.org/trac/boost/ticket/8385">#8385</a>, <a href="https://svn.boost.org/trac/boost/ticket/8460">#8460</a>). </div> </li> <li> <div> Avoid warning from Clang's <code><span class="special">-</span><span class="identifier">Wimplicit</span><span class="special">-</span><span class="identifier">fallthrough</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/8482">#8482</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> Converting to character pointer now triggers compile time assert instead of runtime <a href="https://svn.boost.org/trac/boost/ticket/8334">#8334</a>. </div> </li> <li> <div> Lexical cast is now capable of converting <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int128_type</span></code> and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint128_type</span></code> <a href="https://svn.boost.org/trac/boost/ticket/7909">#7909</a>. </div> </li> <li> <div> Changed internal stream buffer handling, now works with libc++ <a href="https://svn.boost.org/trac/boost/ticket/8267">#8267</a>, <a href="https://svn.boost.org/trac/boost/ticket/7704">#7704</a>. </div> </li> <li> <div> Restored getting address of <code><span class="identifier">lexical_cast</span></code> function that was broken in 1.53.0 <a href="https://svn.boost.org/trac/boost/ticket/7421">#7421</a>. </div> </li> <li> <div> Fixed warnings, internals and tests <a href="https://svn.boost.org/trac/boost/ticket/2558">#2558</a>, <a href="https://svn.boost.org/trac/boost/ticket/7949">#7949</a>, <a href="https://svn.boost.org/trac/boost/ticket/8162">#8162</a>, <a href="https://svn.boost.org/trac/boost/ticket/8369">#8369</a>, <a href="https://svn.boost.org/trac/boost/ticket/8547">#8547</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Major reorganization to incorporate other Boost.Math like Integer Utilities (Greatest Common Divisor and Least Common Multiple), quaternions and octonions. Making new chapter headings. </div> </li> <li> <div> Added many references to Boost.Multiprecision and <code><span class="identifier">cpp_dec_float_50</span></code> as an example of a User-defined Type (UDT). </div> </li> <li> <div> Added Clang to list of supported compilers. </div> </li> <li> <div> Fixed constants to use a thread-safe cache of computed values when used at arbitrary precision. </div> </li> <li> <div> Added finding zeros of Bessel functions <code><span class="identifier">cyl_bessel_j_zero</span></code>, <code><span class="identifier">cyl_neumann_zero</span></code>, <code><span class="identifier">airy_ai_zeros</span></code> and <code><span class="identifier">airy_bi_zeros</span></code>(by Christopher Kormanyos). </div> </li> <li> <div> More accuracy improvements to the Bessel J and Y functions from Rocco Romeo. </div> </li> <li> <div> Fixed nasty cyclic dependency bug that caused some headers to not compile <a href="https://svn.boost.org/trac/boost/ticket/7999">#7999</a>. </div> </li> <li> <div> Fixed bug in __tgamma that caused spurious overflow for arguments between 142.5 and 143. </div> </li> <li> <div> Fixed bug in raise_rounding_error that caused it to return an incorrect result when throwing an exception is turned off <a href="https://svn.boost.org/trac/boost/ticket/7905">#7905</a>. </div> </li> <li> <div> Added minimal __float128 support. </div> </li> <li> <div> Fixed bug in edge-cases of poisson quantile <a href="https://svn.boost.org/trac/boost/ticket/8308">#8308</a>. </div> </li> <li> <div> Adjusted heuristics used in Halley iteration to cope with inverting the incomplete beta in tricky regions where the derivative is flatlining. Example is computing the quantile of the Fisher F distribution for probabilities smaller than machine epsilon. See ticket <a href="https://svn.boost.org/trac/boost/ticket/8314">#8314</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/msm/">Meta State Machine</a>:</span> <ul> <li> <div> Bugfix: Exit points broken for the favor_compile_time policy. </div> </li> <li> <div> Bugfix: copy breaks exit points of subsubmachines. </div> </li> <li> <div> Bugfix: <a href="https://svn.boost.org/trac/boost/ticket/8046">#8046</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/move/">Move</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7969">#7969</a>), <a href="https://svn.boost.org/trac/boost/ticket/8231">#8231</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span> <ul> <li> <div> <strong>Breaking change</strong> renamed <code><span class="identifier">rational_adapter</span></code> to <code><span class="identifier">rational_adaptor</span></code>. </div> </li> <li> <div> Add support for <a href="http://perso.ens-lyon.fr/nathalie.revol/software.html">MPFI</a>. </div> </li> <li> <div> Add logged_adaptor. </div> </li> <li> <div> Add support for 128-bit floats via GCC's <code><span class="identifier">__float128</span></code> or Intel's <code><span class="identifier">_Quad</span></code> data types. </div> </li> <li> <div> Add support for user-defined literals in cpp_int, improve <code><span class="keyword">constexpr</span></code> support. </div> </li> <li> <div> Fixed bug in integer division of <code><span class="identifier">cpp_int</span></code> that results in incorrect sign of <code><span class="identifier">cpp_int</span></code> when both arguments are small enough to fit in a <code><span class="identifier">double_limb_type</span></code>. See <a href="https://svn.boost.org/trac/boost/ticket/8126">8126</a>. </div> </li> <li> <div> Fixed bug in subtraction of a single limb in <code><span class="identifier">cpp_int</span></code> that results in incorrect value when the result should have a 0 in the last limb: <a href="https://svn.boost.org/trac/boost/ticket/8133">8133</a>. </div> </li> <li> <div> Fixed bug in <code><span class="identifier">cpp_int</span></code> where division of 0 by something doesn't get zero in the result: <a href="https://svn.boost.org/trac/boost/ticket/8160">8160</a>. </div> </li> <li> <div> Fixed bug in some transcendental functions that caused incorrect return values when variables are reused, for example with <code><span class="identifier">a</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>. See <a href="https://svn.boost.org/trac/boost/ticket/8326">8326</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/polygon/">Polygon</a>:</span> <ul> <li> <div> Updates and fixes to the Voronoi documentation. </div> </li> <li> <div> Bugs fixed from Trac: <a href="https://svn.boost.org/trac/boost/ticket/8026">#8026</a>, <a href="https://svn.boost.org/trac/boost/ticket/8197">#8197</a>, <a href="https://svn.boost.org/trac/boost/ticket/8257">#8257</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/property_map/">PropertyMap</a>:</span> <ul> <li> <div> Added <code><span class="identifier">compose_property_map</span></code> from Guillaume Pinot. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/range/">Range</a>:</span> <ul> <li> <div> <em>Bug fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6944">#6944</a> Some Range concepts use the incorrect Iterator concept </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7407">#7407</a> istream_range does not compile with wcin </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7408">#7408</a> istream_range should not pull istream </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7731">#7731</a> irange doesn't end iteration properly when step_size is 3 or more </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7827">#7827</a> [range] cant compile r | indexed to range algorithm </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8338">#8338</a> Iterator range does not work with pointer to array as iterator </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8453">#8453</a> Incorrect configuration macro BOOST_NO_PARTIAL_TEMPLATE_SPECIALIZATION </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/signals/">Signals</a>:</span> <ul> <li> <div> No longer actively maintained, so it is deprecated. Use <a href="http://www.boost.org/libs/signals2">Signals2</a> for new development. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span> <ul> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7285">#7285</a> C++11 compliance: Allow to pass movable arguments for call_once. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7445">#7445</a> Async: Add future&lt;&gt;.then </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7449">#7449</a> Synchro: Add a synchronized value class </div> </li> </ul> </div> </li> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/4878">#4878</a> MinGW 4.5.0 undefined reference to bool interruptible_wait(detail::win32::handle handle_to_wait_for,detail::t imeout target_time). </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/4882">#4882</a> Win32 shared_mutex does not handle timeouts correctly. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/5752">#5752</a> boost::call_once() is unreliable on some platforms </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6652">#6652</a> Boost.Thread shared_mutex.hpp:50:99: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6843">#6843</a> [Intel C++] Compile Errors with '#include &lt;atomic&gt;' </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/6966">#6966</a> future boost::future_category inconsistent dll linkage </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7720">#7720</a> exception lock_error while intensive locking/unlocking of mutex </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7755">#7755</a> Thread: deadlock with shared_mutex on Windows </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7980">#7980</a> Build error: msvc-11.0 and BOOST_THREAD_DONT_USE_DATETIME </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7982">#7982</a> pthread_delay_np() parm compile error on AIX </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8027">#8027</a> thread library fails to compile with Visual Studio 2003 </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8070">#8070</a> prefer GetTickCount64 over GetTickCount </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8136">#8136</a> boost::this_thread::sleep_for() sleeps longer than it should in Windows </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8212">#8212</a> Boost thread compilation error on Solaris 10 </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8237">#8237</a> fix documentation for 'thread_group' </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8239">#8239</a> barrier::wait() not marked as interruption_point </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8323">#8323</a> boost::thread::try_join_for/try_join_until may block indefinitely due to a combination of problems in Boost.Thread and Boost.Chrono </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8337">#8337</a> The internal representation of &quot;std::string(this-&gt;code()-&gt;message())&quot; escapes, but is destroyed when it exits scope. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8371">#8371</a> C++11 once_flag enabled when constexpr is not available </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8443">#8443</a> Header file inclusion order may cause crashes </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8451">#8451</a> Missing documented function 'boost::scoped_thread::joinable' </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8530">#8530</a> [Coverity] Unused variable thread_handle, uninitialized variable cond_mutex in thread/pthread/thread_data.hpp </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/8596">#8596</a> With C++0x enabled, boost::packaged_task stores a reference to function objects, instead of a copy. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/type_traits/">Type Traits</a>:</span> <ul> <li> <div> New type traits implemented <a href="https://svn.boost.org/trac/boost/ticket/8189">#8189</a>: <ul> <li> <div> is_nothrow_move_constructible </div> </li> <li> <div> is_nothrow_move_assignable </div> </li> <li> <div> has_trivial_move_assign </div> </li> <li> <div> has_trivial_move_constructor </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/numeric/ublas">uBLAS</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6511">#6511</a> Division by scalar should use <code><span class="identifier">enable_if</span><span class="special">&lt;&gt;</span></code> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7297">#7297</a> Make the free functions 'num_columns' and 'num_rows' support the uBLAS traits system and better work with expression types </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6010">#6010</a> fixed linkage problems in assignment.hpp </div> </li> <li> <div> updated doc </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Some very basic <code><span class="keyword">noexcept</span></code> support. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/">Utility</a>:</span> <ul> <li> <div> Fix <code><span class="identifier">basic_string_ref</span><span class="special">::</span><span class="identifier">find</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/8067">#8067</a>). </div> </li> <li> <div> Fix <code><span class="identifier">string_ref</span></code>'s logical operators. </div> </li> <li> <div> Update noncopyable for C++11 (<a href="https://svn.boost.org/trac/boost/ticket/6578">#6578</a>). </div> </li> <li> <div> Fix noncopyable compiler warning when used in DLL interface (<a href="https://svn.boost.org/trac/boost/ticket/6935">#6935</a>). </div> </li> <li> <div> Fix using <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span></code> with <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></code> on SolarisStudio compiler (<a href="https://svn.boost.org/trac/boost/ticket/7079">#7079</a>). </div> </li> <li> <div> Disable annoying MSVC warning about operator comma (<a href="https://svn.boost.org/trac/boost/ticket/7663">#7663</a>) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/variant/">Variant</a>:</span> <ul> <li> <div> Now uses new type traits from Boost.TypeTrait to detect <code><span class="keyword">noexcept</span></code> constructors and assignment operators <a href="https://svn.boost.org/trac/boost/ticket/8296">#8296</a>. This shall increase performance of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></code> for many types in C++11. </div> </li> <li> <div> Multivisitation implemented <a href="https://svn.boost.org/trac/boost/ticket/8459">#8459</a>. </div> </li> <li> <div> Documentation updated to reflect C++11 features support. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">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> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive">xpressive</a>:</span> <ul> <li> <div> Remove unused variables, fixes <a href="https://svn.boost.org/trac/boost/ticket/8039">#8039</a> </div> </li> <li> <div> Avoid name clash with macro <code><span class="identifier">None</span></code> in glx.h, fixes <a href="https://svn.boost.org/trac/boost/ticket/8204">#8204</a> </div> </li> <li> <div> Silence a gcc warning, fixes <a href="https://svn.boost.org/trac/boost/ticket/8138">#8138</a> </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_54_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> GCC: 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.3 </div> </li> <li> <div> GCC, C++98 mode: 4.7.3 </div> </li> <li> <div> GCC, C++11 mode: 4.7.2, 4.7.3, 4.8.0 </div> </li> <li> <div> Clang: 3.0, 3.1, 3.2 </div> </li> <li> <div> Clang, C++11 mode: 3.2 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.2 </div> </li> <li> <div> Apple Clang: 4.2.1 </div> </li> <li> <div> Apple Clang, C++11 mode: 4.2.1 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.2, 4.8.0 </div> </li> <li> <div> Visual C++: 8.0, 9.0, 10.0, 11.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC: 4.2.1 </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Clang: 3.0, 3.1, 3.2, from Subversion </div> </li> <li> <div> Clang, with libc++: 3.2 </div> </li> <li> <div> GCC: 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.2, 4.7.3 </div> </li> <li> <div> GCC, C++98 mode: 4.7.3 </div> </li> <li> <div> GCC, C++11 mode: 4.7.3, 4.8.0 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Apple Clang: 4.2.1 </div> </li> <li> <div> Apple Clang, C++11 mode: 4.2.1 </div> </li> <li> <div> Clang: from Subversion </div> </li> <li> <div> Clang, C++11 mode: from Subversion </div> </li> <li> <div> GCC: 4.2 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.2, 4.8.0 </div> </li> <li> <div> Visual C++: 9.0, 10.0, 11.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition: 12.1.0.1 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC: 4.2.1 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_54_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, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.53.0http://www.boost.org/users/history/version_1_53_0.htmlhttp://www.boost.org/users/history/version_1_53_0.htmlMon, 4 Feb 2013 10:29:19 -0800 <div id="version_1_53_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/atomic/">Atomic</a>:</span> C++11-style <code><span class="identifier">atomic</span><span class="special">&lt;&gt;</span></code>, from Helge Bahmann, maintained by Tim Blechmann. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/coroutine/">Coroutine</a>:</span> Coroutine library, from Oliver Kowalke. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/lockfree/">Lockfree</a>:</span> Lockfree data structures, from Tim Blechmann. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span> Extended precision arithmetic types for floating point, integer and rational arithmetic from John Maddock and Christopher Kormanyos. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/numeric/odeint/">Odeint</a>:</span> Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky. </div> </li> </ul> </div> <div id="version_1_53_0.news"> <h3><span class="link">News</span></h3> <p> This release contains a fix for ticket <a href="https://svn.boost.org/trac/boost/ticket/7743">#7743</a>, in Boost.Locale. For more details, see the <a href="http://www.boost.org/users/news/boost_locale_security_notice.html">security notice</a>. </p> </div> <div id="version_1_53_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/">Algorithm</a>:</span> <ul> <li> <div> Fixed non-ASCII char in comment (<a href="https://svn.boost.org/trac/boost/ticket/7781">#7781</a>). </div> </li> <li> <div> Updated the Knuth-Morris-Pratt docs (<a href="https://svn.boost.org/trac/boost/ticket/7656">#7656</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/array/">Array</a>:</span> <ul> <li> <div> Added support for boost::get and std::get (<a href="https://svn.boost.org/trac/boost/ticket/7652">#7652</a>) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Fixed some 64-to-32-bit conversion warnings (<a href="https://svn.boost.org/trac/boost/ticket/7459">#7459</a>). </div> </li> <li> <div> Fixed some small errors in documentation and comments (<a href="https://svn.boost.org/trac/boost/ticket/7761">#7761</a>). </div> </li> <li> <div> Fixed an error in the example embedded in <code><span class="identifier">basic_socket</span><span class="special">::</span><span class="identifier">get_option</span></code>'s documentation (<a href="https://svn.boost.org/trac/boost/ticket/7562">#7562</a>). </div> </li> <li> <div> Changed to use <code><span class="keyword">long</span></code> rather than <code><span class="keyword">int</span></code> for SSL_CTX options, to match OpenSSL (<a href="https://svn.boost.org/trac/boost/ticket/7209">#7209</a>). </div> </li> <li> <div> Changed to use <code><span class="identifier">_snwprintf</span></code> to address a compile error due to the changed <code><span class="identifier">swprintf</span></code> signature in recent versions of MinGW (<a href="https://svn.boost.org/trac/boost/ticket/7373">#7373</a>). </div> </li> <li> <div> Fixed a deadlock that can occur on Windows when shutting down a pool of <code><span class="identifier">io_service</span></code> threads due to running out of work (<a href="https://svn.boost.org/trac/boost/ticket/7552">#7552</a>). </div> </li> <li> <div> Enabled the <code><span class="identifier">noexcept</span></code> qualifier for error categories (<a href="https://svn.boost.org/trac/boost/ticket/7797">#7797</a>). </div> </li> <li> <div> Changed UNIX domain socket example to treat errors from <code><span class="identifier">accept</span></code> as non-fatal (<a href="https://svn.boost.org/trac/boost/ticket/7488">#7488</a>). </div> </li> <li> <div> Added a small block recycling optimisation to improve default memory allocation behaviour. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/bimap/">Bimap</a>:</span> <ul> <li> <div> Refactor map_view_iterator to improve error messages. </div> </li> <li> <div> Fixed replace_(left/right/key/data) bug when using relations with info. </div> </li> <li> <div> Fixed vector_of and list_of views <code><span class="identifier">assign</span><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span><span class="identifier">value_type</span><span class="special">)</span></code> bug. </div> </li> <li> <div> Fixed vector_of views <code><span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span><span class="special">)</span></code> and <code><span class="identifier">at</span><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span></code> functions return value. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <em>Deprecated:</em> <ul> <li> <div> The chrono i/o version included in Boost.Chrono 1.2.x has been completly refactored in version 2.0.0 </div> </li> <li> <div> chrono I/O: The manipulators __duration_short, __duration_long are depreceated. You should use the parameterized form __duration_fmt or the renamed manipulators __duration_symbol and __duration_prefix instead. </div> </li> <li> <div> chrono I/O: The __duration_punct&lt;&gt; facet is depreceated. You should use the __get_duration_style free function to get the informations and use the __duration_units facet for localization purposes. </div> </li> <li> <div> When BOOST_CHRONO_VERSION==2 the preceding deprecated functions are not available. </div> </li> </ul> </div> </li> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7546">#7546</a> time_point&lt;system_clock&gt; output version 2 fails to compile </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7547">#7547</a> time_point&lt;system_clock&gt; input version 2 fails to compile </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7868">#7868</a> chrono_io parses time incorrectly (1.53 and 1.52) </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/container/">Container</a>:</span> <ul> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/7650">#7650</a>. </div> </li> <li> <div> Improved <code><span class="identifier">vector</span></code>'s insertion performance. </div> </li> <li> <div> Changed again experimental multiallocation interface for better performance (still experimental). </div> </li> <li> <div> Added no exception support for those willing to disable exceptions in their compilers. </div> </li> <li> <div> Fixed GCC -Wshadow warnings. </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span> <ul> <li> <div> Support for iOS on ARM and MacOS X on x86 (32bit) added. </div> </li> <li> <div> Support for SEH Overwrite Protection on Win32. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry">Geometry</a>:</span> <ul> <li> <div> <em>Bugfixes</em> <ul> <li> <div> avoid generating output polygons with interior rings below minimum size (e.g. one or two points) </div> </li> <li> <div> <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code> for degenerate segments (patched by Karsten Ahnert) </div> </li> <li> <div> problem in <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">difference</span></code> for missing handling tangency, reported by H2 </div> </li> <li> <div> fixed <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">for_each</span></code> for use with Lambda's </div> </li> <li> <div> fixed <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">comparable_distance</span></code> point-linestring (and -range, -polygon) </div> </li> </ul> </div> </li> <li> <div> <em>Additional functionality</em> <ul> <li> <div> combinations for <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code>: point/ring, point/polygon, point/multi_polygon </div> </li> <li> <div> combinations for <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">intersects</span></code>: point/ring, point/polygon, point/multi_polygon </div> </li> </ul> </div> </li> <li> <div> <em>Internal changes</em> <ul> <li> <div> updates in specializations/not_implemented for various algorithms (as in an earlier version, these changes are still going on; they take care for simplified structs, better error reporting, and automatized documentation) </div> </li> <li> <div> fixes in unit tests </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/gil/">GIL</a>:</span> <ul> <li> <div> Fixed self-assignment warnings (<a href="https://svn.boost.org/trac/boost/ticket/4919">#4919</a>). </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 the following bugs from Trac: <a href="https://svn.boost.org/trac/boost/ticket/3468">#3468</a>, <a href="https://svn.boost.org/trac/boost/ticket/4386">#4386</a>, <a href="https://svn.boost.org/trac/boost/ticket/5269">#5269</a>, <a href="https://svn.boost.org/trac/boost/ticket/7428">#7428</a>, <a href="https://svn.boost.org/trac/boost/ticket/7457">#7457</a>, <a href="https://svn.boost.org/trac/boost/ticket/7467">#7467</a>, <a href="https://svn.boost.org/trac/boost/ticket/7600">#7600</a>, <a href="https://svn.boost.org/trac/boost/ticket/7648">#7648</a>, <a href="https://svn.boost.org/trac/boost/ticket/7684">#7684</a>, <a href="https://svn.boost.org/trac/boost/ticket/7728">#7728</a>, <a href="https://svn.boost.org/trac/boost/ticket/7741">#7741</a>, <a href="https://svn.boost.org/trac/boost/ticket/7766">#7766</a>, <a href="https://svn.boost.org/trac/boost/ticket/7771">#7771</a>, <a href="https://svn.boost.org/trac/boost/ticket/7773">#7773</a>, <a href="https://svn.boost.org/trac/boost/ticket/7780">#7780</a>, <a href="https://svn.boost.org/trac/boost/ticket/7787">#7787</a>, <a href="https://svn.boost.org/trac/boost/ticket/7801">#7801</a> plus other bugs not in Trac. </div> </li> <li> <div> Added support for reading from GraphML files containing multiple graphs. </div> </li> <li> <div> Added versions of A* search specifically for trees, removing the need for a color map when it is acceptable to visit the same vertex multiple times. </div> </li> <li> <div> Added VF2 subgraph isomorphism algorithm (contributed by Flavio De Lorenzi). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Add support for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int128_type</span></code> and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint128_type</span></code> where available. </div> </li> <li> <div> On platforms that are known to have standard floating point functions, don't use the automatic detection (<a href="https://svn.boost.org/trac/boost/ticket/7221">#7221</a>, <a href="https://svn.boost.org/trac/boost/ticket/7470">#7470</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/interprocess/">Interprocess</a>:</span> <ul> <li> <div> Fixed GCC -Wshadow warnings. </div> </li> <li> <div> Experimental multiple allocation interface improved and changed again. Still unstable. </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> <li> <div> <em>ABI breaking</em>: changed node pool allocators internals for improved efficiency. </div> </li> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/7795">#7795</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/intrusive/">Intrusive</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7174">#7174</a>, <a href="https://svn.boost.org/trac/boost/ticket/7529">#7529</a>, <a href="https://svn.boost.org/trac/boost/ticket/7815">#7815</a>. </div> </li> <li> <div> Fixed GCC -Wshadow warnings. </div> </li> <li> <div> Added missing <code><span class="keyword">explicit</span></code> keyword in several intrusive container constructors. </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> <li> <div> Small documentation fixes. </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> New character type detection algorithm for user defined types <a href="https://svn.boost.org/trac/boost/ticket/6786">#6786</a>. </div> </li> <li> <div> Documentation updates (<a href="https://svn.boost.org/trac/boost/ticket/7582">#7582</a>, <a href="https://svn.boost.org/trac/boost/ticket/7831">#7831</a>). </div> </li> <li> <div> Fixed bugs with std::array <a href="https://svn.boost.org/trac/boost/ticket/7799">#7799</a>. </div> </li> <li> <div> Fixed compilation with -ftrapv and numeric to numeric conversions <a href="https://svn.boost.org/trac/boost/ticket/7814">#7814</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/locale/">Locale</a>:</span> <ul> <li> <div> Security related bug fix, some invalid UTF-8 sequences where accepted as valid <a href="https://svn.boost.org/trac/boost/ticket/7743">#7743</a> </div> </li> <li> <div> Invalid Windows codepage names used <a href="https://svn.boost.org/trac/boost/ticket/7386">#7386</a> </div> </li> <li> <div> Fixed missing documentation, caused by a error in Doxygen formatting <a href="https://svn.boost.org/trac/boost/ticket/7734">#7734</a> </div> </li> <li> <div> Fixed missing std:: in some places <a href="https://svn.boost.org/trac/boost/ticket/7701">#7701</a> </div> </li> <li> <div> Spelling, grammar, typos fixes <a href="https://svn.boost.org/trac/boost/ticket/7368">#7368</a>, <a href="https://svn.boost.org/trac/boost/ticket/7762">#7762</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/7325">#7325</a>, <a href="https://svn.boost.org/trac/boost/ticket/7415">#7415</a>, <a href="https://svn.boost.org/trac/boost/ticket/7416">#7416</a>, <a href="https://svn.boost.org/trac/boost/ticket/7183">#7183</a>, <a href="https://svn.boost.org/trac/boost/ticket/7649">#7649</a>, <a href="https://svn.boost.org/trac/boost/ticket/7694">#7694</a>, <a href="https://svn.boost.org/trac/boost/ticket/4445">#4445</a> and <a href="https://svn.boost.org/trac/boost/ticket/7492">#7492</a>. </div> </li> <li> <div> Fixed mistake in calculating pooled standard deviation in two-sample students t example <a href="https://svn.boost.org/trac/boost/ticket/7402">#7402</a>. </div> </li> <li> <div> Improve complex acos/asin/atan, see <a href="https://svn.boost.org/trac/boost/ticket/7290">#7290</a>, <a href="https://svn.boost.org/trac/boost/ticket/7291">#7291</a>. </div> </li> <li> <div> Improve accuracy in some corner cases of cyl_bessel_j and gamma_p/gamma_q thanks to suggestions from Rocco Romeo. </div> </li> <li> <div> Improve accuracy in Bessel J and Y with integer orders thanks to suggestions from Rocco Romeo. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/minmax/">MinMax</a>:</span> <ul> <li> <div> Fixed a misuse of the comma operator (<a href="https://svn.boost.org/trac/boost/ticket/7752">#7752</a>). </div> </li> <li> <div> Updated the docs to fix broken link (<a href="https://svn.boost.org/trac/boost/ticket/7751">#7751</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/move/">Move</a>:</span> <ul> <li> <div> Better header segregation (bug <a href="https://svn.boost.org/trac/boost/ticket/6524">#6524</a>). </div> </li> <li> <div> Small documentation fixes </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> <li> <div> Fixed <a href="https://svn.boost.org/trac/boost/ticket/7830">#7830</a>, <a href="https://svn.boost.org/trac/boost/ticket/7832">#7832</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/polygon/">Polygon</a>:</span> <ul> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6366">#6366</a> Bug in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">polygon</span><span class="special">::</span><span class="identifier">contains</span></code> for polygon_90 type. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7678">#7678</a> multiple definitions of <code><span class="keyword">bool</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">polygon</span><span class="special">::</span><span class="identifier">belongs</span><span class="special">(...)</span></code> by multiple <code><span class="preprocessor">#include</span></code>. </div> </li> </ul> </div> </li> <li> <div> <em>Internal changes:</em> <ul> <li> <div> refactored point/segment/interval data/concept/traits. </div> </li> <li> <div> added unit tests for point and interval data/concept/traits. </div> </li> <li> <div> simplified <code><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span></code> to operate only in 2D. </div> </li> <li> <div> removed point_3d data/concept/traits. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/random/">Random</a>:</span> <ul> <li> <div> Now compiles with exceptions disabled (<a href="https://svn.boost.org/trac/boost/ticket/5399">#5399</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/range/">Range</a>:</span> <ul> <li> <div> <em>Bug fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5603">#5603</a> the &quot;range/any_range.hpp&quot; header is not self-sufficient </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6103">#6103</a> boost::range_detail vs. boost::range::range_detail compiler error </div> </li> </ul> </div> </li> <li> <div> <em>Documentation fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5160">#5160</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5314">#5314</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5440">#5440</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5775">#5775</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6212">#6212</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7585">#7585</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7843">#7843</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7916">#7916</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7926">#7926</a> </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7616">#7616</a> br_mul::nan - warning C4293: '&lt;&lt;' : shift count negative or too big, undefined behavior`. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/regex/">Regex</a>:</span> Fixed Issues: <a href="https://svn.boost.org/trac/boost/ticket/7744">#7744</a>, <a href="https://svn.boost.org/trac/boost/ticket/7644">#7644</a>. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/smart_ptr/">Smart Pointers</a>:</span> <ul> <li> <div> <em>New Features:</em> <ul> <li> <div> Glen Fernandes provided implementations of make_shared and allocate_shared for arrays. They achieve a single allocation for an array that can be initialized with constructor arguments or initializer lists as well as overloads for default initialization and no value initialization. See the '<a href="http://www.boost.org/libs/smart_ptr/make_shared_array.html">make_shared and allocate_shared for arrays</a>' page for more information. </div> </li> <li> <div> <code><span class="identifier">shared_ptr</span></code> can now be used to hold a pointer to a dynamically allocated array. This is accomplished by using an array type (<code><span class="identifier">T</span><span class="special">[]</span></code> or <code><span class="identifier">T</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span></code>) as the template parameter. </div> </li> <li> <div> Smart pointers now use <code><span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="keyword">bool</span></code> on C++11 compilers. This can break code that passes a smart pointer to a function taking a <code><span class="keyword">bool</span></code>, or that returns a smart pointer from a function with a <code><span class="keyword">bool</span></code> return type. Please use <code><span class="identifier">p</span> <span class="special">!=</span> <span class="number">0</span></code> or <code><span class="special">!!</span><span class="identifier">p</span></code> in such cases. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/string">StringAlgo</a>:</span> <ul> <li> <div> Fixed a bug where it wouldn't find overlapping patterns (<a href="https://svn.boost.org/trac/boost/ticket/7784">#7784</a>). </div> </li> <li> <div> Disambiguated some calls to insert (<a href="https://svn.boost.org/trac/boost/ticket/7346">#7346</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span> <ul> <li> <div> <em>Deprecated features:</em> <ul> <li> <div> Deprecated features since boost 1.53 will be available only until boost 1.58. </div> </li> <li> <div> C++11 compliance: packaged_task&lt;R&gt; is deprecated, use instead packaged_task&lt;R()&gt;. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7537">#7537</a> deprecate Mutex::scoped_lock and scoped_try_lock and boost::condition </div> </li> </ul> </div> </li> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6270">#6270</a> C++11 compliance: Add thread constructor from movable callable and movable arguments </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7279">#7279</a> C++11 compliance: Add noexcept in system related functions </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7280">#7280</a> C++11 compliance: Add promise::...at_thread_exit functions </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7281">#7281</a> C++11 compliance: Add ArgTypes to packaged_task template. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7282">#7282</a> C++11 compliance: Add packaged_task::make_ready_at_thread_exit function </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7412">#7412</a> C++11 compliance: Add async from movable callable and movable arguments </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7413">#7413</a> C++11 compliance: Add async when the launch policy is deferred. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7414">#7414</a> C++11 compliance: future::get post-condition should be valid()==false. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7422">#7422</a> Provide a condition variable with zero-overhead performance penality. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7444">#7444</a> Async: Add make_future/make_shared_future. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7540">#7540</a> Threads: Add a helper class that join a thread on destruction. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7541">#7541</a> Threads: Add a thread wrapper class that joins on destruction. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7575">#7575</a> C++11 compliance: A future created by async should &quot;join&quot; in the destructor. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7587">#7587</a> Synchro: Add strict_lock and nested_strict_lock. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7588">#7588</a> Synchro: Split the locks.hpp in several files to limit dependencies. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7590">#7590</a> Synchro: Add lockable concept checkers based on Boost.ConceptCheck. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7591">#7591</a> Add lockable traits that can be used with enable_if. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7592">#7592</a> Synchro: Add a null_mutex that is a no-op and that is a model of UpgardeLockable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7593">#7593</a> Synchro: Add a externally_locked class. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7590">#7594</a> Threads: Allow to disable thread interruptions. </div> </li> </ul> </div> </li> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7464">#7464</a> BOOST_TEST(n_alive == 1); fails due to race condition in a regression test tool. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7657">#7657</a> Serious performance and memory consumption hit if condition_variable methods condition notify_one or notify_all is used repeatedly. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7665">#7665</a> this_thread::sleep_for no longer uses steady_clock in thread. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7668">#7668</a> thread_group::join_all() should check whether its threads are joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7669">#7669</a> thread_group::join_all() should catch resource_deadlock_would_occur. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7671">#7671</a> Error including boost/thread.hpp header on iOS. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7672">#7672</a> lockable_traits.hpp syntax error: &quot;defined&quot; token misspelled. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7798">#7798</a> boost::future set_wait_callback thread safety issues. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7808">#7808</a> Incorrect description of effects for this_thread::sleep_for and this_thread::sleep_until. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7812">#7812</a> Returns: cv_status::no_timeout if the call is returning because the time period specified by rel_time has elapsed, cv_status::timeout otherwise. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7874">#7874</a> compile warning: thread.hpp:342: warning: type attributes are honored only at type definition. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7875">#7875</a> BOOST_THREAD_THROW_IF_PRECONDITION_NOT_SATISFIED should not be enabled by default. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7882">#7882</a> wrong exception text from condition_variable::wait(unique_lock&lt;mutex&gt;&amp;). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7890">#7890</a> thread::do_try_join_until() is missing a return type. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Remove support for the old pre-standard variadic pair constructors, and equality implementation. Both have been deprecated since Boost 1.48. </div> </li> <li> <div> More internal implementation changes, including a much simpler implementation of <code><span class="identifier">erase</span></code>, and removed more deprecated config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/">Utility</a>:</span> <ul> <li> <div> Added <a href="http://www.boost.org/libs/utility/doc/html/string_ref.html">string_ref</a>, a non-owning reference to a contiguous sequence of characters. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/variant/">Variant</a>:</span> <ul> <li> <div> Added rvalue constructors and rvalue assignment operators (for C++11 compatible compilers only). Library now can be used with move-only types (<a href="https://svn.boost.org/trac/boost/ticket/7620">#7620</a>, <a href="https://svn.boost.org/trac/boost/ticket/7718">#7718</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">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> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Accomodate recent smart pointer changes (<a href="https://svn.boost.org/trac/boost/ticket/7809">#7809</a>). </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_53_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/tools/build/index.html">Boost Build System</a>:</span> <ul> <li> <div> Qt5 toolset </div> </li> <li> <div> improved rcc support (<a href="https://svn.boost.org/trac/boost/ticket/7576">#7576</a>) </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_53_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> GCC: 4.1.2, 4.2.4, 4.4.4, 4.5.3, 4.6.3, 4.7.2 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4, 4.5.3, 4.6.3, 4.7.2 </div> </li> <li> <div> Intel: 11.1, 12.1 </div> </li> <li> <div> LLVM Clang: 2.8 </div> </li> <li> <div> LLVM Clang, with libc++: 3.2 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.4.7 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4 </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++: 9.0, 10.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> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Cray: 4.6.1 </div> </li> <li> <div> Clang: from subversion </div> </li> <li> <div> LLVM Clang, with libc++: 3.2 </div> </li> <li> <div> GCC: 4.2.4, 4.4.4, 4.5.3, 4.6.3, 4.7.1 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4, 4.5.3, 4.6.3, 4.7.1, 4.7.2 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.1 </div> </li> <li> <div> Intel, C++11 mode: 13.0.1 </div> </li> <li> <div> Visual Age: </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang: from subversion </div> </li> <li> <div> Clang, C++11 mode: from subversion </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> <li> <div> GCC: 4.4.7 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++: 10.0, 11.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> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition: V12.1.0.1 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_53_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, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.52.0http://www.boost.org/users/history/version_1_52_0.htmlhttp://www.boost.org/users/history/version_1_52_0.htmlMon, 5 Nov 2012 08:05:58 -0800 <div id="version_1_52_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/accumulators/">Accumulators</a>:</span> <ul> <li> <div> Fix long-standing dependency tracking bug, <a href="https://svn.boost.org/trac/boost/ticket/7409">#7409</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/config/">Config</a>:</span> <ul> <li> <div> Define <code><span class="identifier">BOOST_NO_SFINAE_EXPR</span></code> for gcc-4.4, since the support was found to be too buggy. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5980">#5980</a> Enhance chrono I/O with H. Hinnant proposal <a href="http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html">proposal</a> which has the advantage to provide I/O for system clocks using the Gregorian Calendar. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5981">#5981</a> Add i/o state savers for duration and time_point formatting state. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7059">#7059</a> Add low level i/o facilities. </div> </li> </ul> </div> </li> <li> <div> <em>Deprecated features:</em> <ul> <li> <div> The chrono i/o version included in Boost.Chrono 1.2.x has been completly refactored in version 2.0.0 </div> </li> <li> <div> chrono I/O: The manipulators <code><span class="identifier">__duration_short</span></code>, <code><span class="identifier">__duration_long</span></code> are depreceated. You should use the parameterized form <code><span class="identifier">__duration_fmt</span></code> or the renamed manipulators <code><span class="identifier">__duration_symbol</span></code> and <code><span class="identifier">__duration_prefix</span></code> instead. </div> </li> <li> <div> chrono I/O: The <code><span class="identifier">__duration_punct</span><span class="special">&lt;&gt;</span></code> facet is deprecated. You should use the <code><span class="identifier">__get_duration_style</span></code> free function to get the informations and use the <code><span class="identifier">__duration_units</span></code> facet for localization purposes. </div> </li> <li> <div> When <code><span class="identifier">BOOST_CHRONO_VERSION</span><span class="special">==</span><span class="number">2</span></code> the preceding deprecated functions are not available. </div> </li> </ul> </div> </li> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7381">#7381</a> C++11 compliance: unresolved symbol when assigning a constexpr duration to a non-const local variable. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7479">#7479</a> Compile fails with compilers supporting constexpr fails if the standard library doesn't provides the constexpr interface </div> </li> </ul> </div> </li> <li> <div> <em>Would not fix:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6871">#6871</a> chrono_io.hpp: <code><span class="keyword">operator</span><span class="special">&lt;&lt;(</span><span class="identifier">ostream</span><span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="special">...)</span></code> modifies the state of os. The neww io interface provided in version 2 solves this issue. You should move to the new version. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/container/">Container</a>:</span> <ul> <li> <div> Improved <code><span class="identifier">stable_vector</span></code>'s template code bloat and type safety. </div> </li> <li> <div> Changed typedefs and reordered functions of sequence containers to improve doxygen documentation. </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6615">#6615</a>, <a href="https://svn.boost.org/trac/boost/ticket/7139">#7139</a>, <a href="https://svn.boost.org/trac/boost/ticket/7215">#7215</a>, <a href="https://svn.boost.org/trac/boost/ticket/7232">#7232</a>, <a href="https://svn.boost.org/trac/boost/ticket/7269">#7269</a>, <a href="https://svn.boost.org/trac/boost/ticket/7439">#7439</a>. </div> </li> <li> <div> Implemented LWG Issue #149 (range insertion now returns an iterator) &amp; cleaned up insertion code in most containers </div> </li> <li> <div> Corrected aliasing errors. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/date_time/">DateTime</a>:</span> <ul> <li> <div> Document <code><span class="identifier">BOOST_DATE_TIME_NO_LIB</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6077">#6077</a>). </div> </li> <li> <div> Fix <code><span class="identifier">nth_as_str</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/7022">#7022</a>). </div> </li> <li> <div> Fix some warnings (<a href="https://svn.boost.org/trac/boost/ticket/7234">#7234</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/foreach/">Foreach</a>:</span> <ul> <li> <div> Fix alignment warning on gcc. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/function/">Function</a>:</span> <ul> <li> <div> Move constructors and move assignment operators added (only for compilers with C++11 rvalue references support) <a href="https://svn.boost.org/trac/boost/ticket/7330">#7330</a>. </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/6950">#6950</a>, <a href="https://svn.boost.org/trac/boost/ticket/7226">#7226</a>,<a href="https://svn.boost.org/trac/boost/ticket/7308">#7308</a>, <a href="https://svn.boost.org/trac/boost/ticket/7327">#7327</a>, <a href="https://svn.boost.org/trac/boost/ticket/7338">#7338</a>, <a href="https://svn.boost.org/trac/boost/ticket/7341">#7341</a>, <a href="https://svn.boost.org/trac/boost/ticket/7378">#7378</a>, <a href="https://svn.boost.org/trac/boost/ticket/7380">#7380</a>, <a href="https://svn.boost.org/trac/boost/ticket/7398">#7398</a>, and <a href="https://svn.boost.org/trac/boost/ticket/7428">#7428</a>, plus others not in Trac. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Restore <code><span class="keyword">enum</span></code> support, which was accidentally removed in the last version (<a href="https://svn.boost.org/trac/boost/ticket/7437">#7437</a>). </div> </li> <li> <div> New floating point hasher - will hash the binary representation on more platforms, which should be faster. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/interprocess/">Interprocess</a>:</span> <ul> <li> <div> Added <code><span class="identifier">shrink_by</span></code> and <code><span class="identifier">advise</span></code> functions in <code><span class="identifier">mapped_region</span></code>. </div> </li> <li> <div> <em>ABI breaking:</em> Reimplemented <code><span class="identifier">message_queue</span></code> with a circular buffer index (the old behavior used an ordered array, leading to excessive copies). This should greatly increase performance but breaks ABI. Old behaviour/ABI can be used undefining macro <code><span class="identifier">BOOST_INTERPROCESS_MSG_QUEUE_CIRCULAR_INDEX</span></code> in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">interprocess</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">workaround</span><span class="special">.</span><span class="identifier">hpp</span></code> </div> </li> <li> <div> Improved <code><span class="identifier">message_queue</span></code> insertion time avoiding priority search for common cases (both array and circular buffer configurations). </div> </li> <li> <div> Implemented <code><span class="identifier">interproces_sharable_mutex</span></code> and <code><span class="identifier">interproces_condition_any</span></code>. </div> </li> <li> <div> Improved <code><span class="identifier">offset_ptr</span></code> performance. </div> </li> <li> <div> Added integer overflow checks. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/iterator/">Iterator</a>:</span> <ul> <li> <div> Fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5825">#5825</a> constructing function_input_iterator without consuming an item </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7194">#7194</a> Error in documentation of make_function_input_iterator </div> </li> </ul> </div> </li> <li> <div> <em>Breaking changes:</em> <ul> <li> <div> Due to the fix for <a href="https://svn.boost.org/trac/boost/ticket/5825">#5825</a>, a function_input_iterator will no longer make unnecessary invokations to the wrapped nullary function. For example, constructing an end iterator will now not trigger an invokation; and dereferencing-and-incrementing an iterator N times will trigger N invokations, not N+1 as before. User code that relied on the old behavior will need to be adjusted. </div> </li> </ul> </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> Restored compilation on MSVC-2003 (was broken in 1.51.0) <a href="https://svn.boost.org/trac/boost/ticket/7255">#7255</a>. </div> </li> <li> <div> Added <code><span class="identifier">lexical_cast</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharType</span><span class="special">*</span> <span class="identifier">chars</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">)</span></code> function overload. <a href="https://svn.boost.org/trac/boost/ticket/6663">#6663</a>. </div> </li> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/7228">#7228</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Added Airy functions and Jacobi Elliptic functions. </div> </li> <li> <div> In several distributions (particulary the Students T) corrected moments for small degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7177">#7177</a> (reported by Thomas Mang). </div> </li> <li> <div> Corrected failure to detect bad parameters in many distributions <a href="https://svn.boost.org/trac/boost/ticket/6934">#6934</a> (reported by Florian Schoppmann) by adding a function <code><span class="identifier">check_out_of_range</span></code> to test many possible bad parameters. This test revealed several distributions where the checks for bad parameters were ineffective, and these have been rectified. </div> </li> <li> <div> Fixed issue in Hankel functions that causes incorrect values to be returned for <em>x &lt; 0</em> and <em>ν</em> odd, see <a href="https://svn.boost.org/trac/boost/ticket/7135">#7135</a>. </div> </li> <li> <div> In non-central T permitted infinite degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7259">#7259</a> implemented using the normal distribution (requested by Thomas Mang). Also much enhanced accuracy for large degrees of freedom and/or large non-centrality parameters by switching to use the Students t distribution (or Normal distribution for infinite degrees of freedom) centered at delta, when delta / (4 * v) &lt; epsilon for the floating-point type in use. See <a href="https://svn.boost.org/trac/boost/ticket/7259">#7259</a>. It was also found that the incomplete beta was suffering from serious cancellation errors when degrees of freedom was very large. (That has now been fixed in our code, but any code based on Didonato and Morris's original papers (probably every implementation out there actually) will have the same issue). </div> </li> <li> <div> Fixed minor issues <a href="https://svn.boost.org/trac/boost/ticket/6517">#6517</a>, <a href="https://svn.boost.org/trac/boost/ticket/6362">#6362</a>, <a href="https://svn.boost.org/trac/boost/ticket/7053">#7053</a>, <a href="https://svn.boost.org/trac/boost/ticket/2693">#2693</a>, <a href="https://svn.boost.org/trac/boost/ticket/6937">#6937</a>, <a href="https://svn.boost.org/trac/boost/ticket/7099">#7099</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/phoenix/">Phoenix</a>:</span> <ul> <li> <div> Make Phoenix work with <code><span class="identifier">decltype</span></code>-based <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/polygon/">Polygon</a>:</span> <ul> <li> <div> Included Voronoi diagram extensions. </div> </li> <li> <div> Introduced new Segment concept. </div> </li> <li> <div> Fixed compilation issues. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/proto/">Proto</a>:</span> <ul> <li> <div> The data parameter to primitive transforms can now optionally have slots indexed by key. </div> </li> <li> <div> Primitive transforms can now operatate on temporary expressions that are non-const qualified. </div> </li> <li> <div> Add callable function object types for the free functions in <code><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span></code> and also for some Boost.Range functions. </div> </li> <li> <div> Boost.MPL algorithms work on Proto expression nodes. </div> </li> <li> <div> <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">pass_through</span></code> primitive transform now accepts an optional <code><span class="identifier">Domain</span></code> template parameter for specifying the target domain of the resulting expression. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> <em>Features:</em> <ul> <li> <div> Replace the <code><span class="identifier">short_name</span></code> and <code><span class="identifier">long_name</span></code> functions by symbol and prefix functions respectively. </div> </li> </ul> </div> </li> <li> <div> <em>Deprecated:</em> <ul> <li> <div> The <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">short_name</span></code> and <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">long_name</span></code> are deprecated. Use <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">symbol</span></code> and <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">prefix</span></code> respectively. These functions be removed in 1.55. </div> </li> </ul> </div> </li> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7478">#7478</a> Compiles fails with compilers supporting char16_t and char32_t fails if the library doesn't provides std::u16string and std::u32string. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/utility.htm#result_of">Result_of</a>:</span> <ul> <li> <div> Switch <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code> to use <code><span class="identifier">decltype</span></code> on compilers for which support is deemed &quot;good enough&quot;. That means if the compiler implements <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf">n3276</a>. (For now, that only includes very recent versions of clang.) </div> </li> <li> <div> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code> is now &quot;sfinae-friendly&quot; when it uses <code><span class="identifier">decltype</span></code>. See <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3436.html">n3436</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/index.html">Thread</a>:</span> <ul> <li> <div> <em>Deprecated Features</em>: Deprecated features since boost 1.50 available only until boost 1.55. These deprecated features will be provided by default up to boost 1.52. If you don't want to include the deprecated features you could define BOOST_THREAD_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0. Since 1.53 these features will not be included any more by default. Since this version, if you want to include the deprecated features yet you could define BOOST_THREAD_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0. These deprecated features will be only available until boost 1.55, that is you have yet 1 year to move to the new features. <ul> <li> <div> Time related functions don't using the Boost.Chrono library, use the chrono overloads instead. </div> </li> </ul> </div> </li> <li> <div> Breaking changes when <code><span class="identifier">BOOST_THREAD_VERSION</span><span class="special">==</span><span class="number">3</span></code> (Default value since Boost 1.53): There are some new features which share the same interface but with different behavior. These breaking features are provided by default when BOOST_THREAD_VERSION is 3, but the user can however choose the version 2 behavior by defining the corresponding macro. As for the deprecated features, these broken features will be only available until boost 1.55. <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6229">#6229</a> C++11 compliance &amp; Breaking change: Rename the unique_future to future following the c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6266">#6266</a> C++11 compliance &amp; Breaking change: thread destructor should call terminate if joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6269">#6269</a> C++11 compliance &amp; Breaking change: thread move assignment should call terminate if joinable. </div> </li> </ul> </div> </li> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4710">#4710</a> C++11 compliance: Missing <code><span class="identifier">async</span><span class="special">()</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7283">#7283</a> C++11 compliance: Add <code><span class="identifier">notify_all_at_thread_exit</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7345">#7345</a> C++11 compliance: Add <code><span class="identifier">noexcept</span></code> to recursive mutex <code><span class="identifier">try_lock</span></code>. </div> </li> </ul> </div> </li> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2361">#2361</a> <code><span class="identifier">thread_specific_ptr</span></code>: document nature of the key, complexity and rationale. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2797">#2797</a> Two problems with <code><span class="identifier">thread_specific_ptr</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5274">#5274</a> failed to compile <code><span class="identifier">future</span><span class="special">.</span><span class="identifier">hpp</span></code> with stlport 5.1.5 under msvc8.1, because of undefined class. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5431">#5431</a> compile error in Windows CE 6.0(interlocked). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5752">#5752</a> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">call_once</span><span class="special">()</span></code> is unreliable on some platforms. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7045">#7045</a> Thread library does not automatically compile date_time. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7173">#7173</a> wrong function name <code><span class="identifier">interrupt_point</span><span class="special">()</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7200">#7200</a> Unable to build boost.thread modularized. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7220">#7220</a> gcc 4.6.2 warns about inline+dllimport functions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7238">#7238</a> <code><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">()</span></code> does not respond to interrupt(). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7245">#7245</a> Minor typos on documentation related to version 3. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7272">#7272</a> <code><span class="identifier">win32</span><span class="special">/</span><span class="identifier">thread_primitives</span><span class="special">.</span><span class="identifier">hpp</span></code>: (Unneccessary) Warning. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7284">#7284</a> Clarify that there is no access priority between lock and shared_lock on shared mutex. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7329">#7329</a> <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">thread</span><span class="special">/</span><span class="identifier">future</span><span class="special">.</span><span class="identifier">hpp</span></code> does not compile on HPUX. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7336">#7336</a> <code><span class="identifier">BOOST_THREAD_DONT_USE_SYSTEM</span></code> doesn't work. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7349">#7349</a> <code><span class="identifier">packaged_task</span></code> holds reference to temporary. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7350">#7350</a> <code><span class="identifier">allocator_destructor</span></code> does not destroy object </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/numeric/ublas/">uBLAS</a>:</span> <ul> <li> <div> improved performance of inplace_solve (issue <a href="https://svn.boost.org/trac/boost/ticket/4024">#4024</a>) </div> </li> <li> <div> fixed coordinate_matrix for use with gcc 4.7 (issue <a href="https://svn.boost.org/trac/boost/ticket/7363">#7363</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> In assignment, reuse existing nodes where possible. </div> </li> <li> <div> Fix bugs when erasing ranges (<a href="https://svn.boost.org/trac/boost/ticket/7471">#7471</a>). </div> </li> <li> <div> Some work on the implementation. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/uuid/">Uuid</a>:</span> <ul> <li> <div> Fixes <a href="https://svn.boost.org/trac/boost/ticket/6118">#6118</a>, <a href="https://svn.boost.org/trac/boost/ticket/6788">#6788</a>, <a href="https://svn.boost.org/trac/boost/ticket/7375">#7375</a>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7128">#7128</a> - fixed bug in <code><span class="identifier">sha1</span><span class="special">.</span><span class="identifier">hpp</span></code> for messages longer than 536,870,912 bytes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">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> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Make <code><span class="identifier">sub_match</span></code> work with Boost.Range. Fixes <a href="https://svn.boost.org/trac/boost/ticket/7237">#7237</a>. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_52_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> GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7.2 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> <li> <div> Intel: 11.1, 12.0, 12.1 </div> </li> <li> <div> LLVM Clang: 2.8 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.4.4 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4 </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0 </div> </li> <li> <div> Visual C++: 8.0, 9.0, 10.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> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Cray: 8.0 </div> </li> <li> <div> Clang: from subversion </div> </li> <li> <div> LLVM Clang: </div> </li> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1, 4.7.2 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3, 4.7.1 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0, 12.1 </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> Clang, C++11 mode: 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++11 mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++: 8.0, 9.0, 10.0, 11.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.4, 4.6.3, 4.7.0 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition: V12.1.0.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> Solaris: <ul> <li> <div> Sun: 5.10 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_52_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, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.51.0http://www.boost.org/users/history/version_1_51_0.htmlhttp://www.boost.org/users/history/version_1_51_0.htmlMon, 20 Aug 2012 16:00:21 -0700 <div id="version_1_51_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span> Context switching library, from Oliver Kowalke. </div> </li> </ul> </div> <div id="version_1_51_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/">Algorithm</a>:</span> <ul> <li> <div> Fixed <code><span class="identifier">is_sorted_until</span></code> ; now matches the c++11 standard behavior on ranges with duplicate values. </div> </li> <li> <div> Added range support for the rest of the search algorithms. </div> </li> <li> <div> <code><span class="identifier">unhex</span></code> now uses Boost.Exception to signal bad input. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Fixed an incompatibility between <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">iostream</span></code> and C++11 (<a href="https://svn.boost.org/trac/boost/ticket/7162">#7162</a>). </div> </li> <li> <div> Decorated GCC attribute names with underscores to prevent interaction with user-defined macros (<a href="https://svn.boost.org/trac/boost/ticket/6415">#6415</a>). </div> </li> <li> <div> Added missing <code><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cctype</span><span class="special">&gt;</span></code>, needed for some versions of MinGW. </div> </li> <li> <div> Changed to use <tt>gcc</tt>'s atomic builtins on ARM CPUs, when available (<a href="https://svn.boost.org/trac/boost/ticket/7140">#7140</a>). </div> </li> <li> <div> Changed strand destruction to be a no-op, to allow strand objects to be destroyed after their associated <code><span class="identifier">io_service</span></code> has been destroyed. </div> </li> <li> <div> Added support for some newer versions of glibc which provide the <code><span class="identifier">epoll_create1</span><span class="special">()</span></code> function but always fail with <code><span class="identifier">ENOSYS</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/7012">#7012</a>). </div> </li> <li> <div> Changed the SSL implementation to throw an exception if SSL engine initialisation fails (<a href="https://svn.boost.org/trac/boost/ticket/6303">#6303</a>). </div> </li> <li> <div> Fixed another 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> Implemented various minor performance improvements, primarily targeted at Linux x86 and x86-64 platforms. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/config/">Config</a>:</span> <ul> <li> <div> Deprecated a whole bunch of macros that were c++11 specific, but not named to show that they were c++11 specific. Made new macros with better names, and paired the old macros with the new ones. Updated the documentation to list the deprecated macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6918">#6918</a> Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6241">#6241</a> boost::chrono compilation problems without std::wstring support. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6987">#6987</a> Documentation &amp; C++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7041">#7041</a> time_point.hpp depends on Boost.System. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7042">#7042</a> Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7058">#7058</a> Make it work when BOOST_NO_EXCEPTIONS is defined. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7069">#7069</a> Misspellings in clock_string&lt;thread_clock&gt;. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7081">#7081</a> WinError.h capitalization in boost/detail/win/basic_types.hpp. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry/">Geometry</a>:</span> <ul> <li> <div> points accessed through a pointer (e.g. in a linestring) should now be specialized without the pointer. In previous versions a type <code><span class="identifier">my_point</span></code> used like <code><span class="identifier">linestring</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</span></code> had to be specalized like: <code><span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</span></code>. Now the library itself removes the pointer before calling the traits class, so now it should be like: <code><span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">&gt;</span></code> </div> </li> <li> <div> intersection was sometimes wrong for integer points, fixed </div> </li> <li> <div> documentation, order of parameters in simplify was wrong, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7030">7030</a> spherical distance, fixed (by patch of Karsten Ahnert) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/graph/">Graph</a>:</span> <ul> <li> <div> Refactored support for internal and bundled properties in Boost.Graph-provided graph types, and cleaned up named parameter functionality: <ul> <li> <div> Enabled old-style (non-bundled) internal properties in <code><span class="identifier">compressed_sparse_row_graph</span></code>. </div> </li> <li> <div> Bundled properties should work correctly for all graph types and adaptors. </div> </li> </ul> </div> </li> <li> <div> Bugs fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6993">#6993</a>: Typo Bundled Properties document </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7002">#7002</a>: Problem with initialization of CSR bidirectional graph </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7023">#7023</a>: Enclose internal type graphml_reader in anonymous namespace </div> </li> <li> <div> Other bugs and warnings not in Trac </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Support the standard smart pointers. </div> </li> <li> <div> <code><span class="identifier">hash_value</span></code> now implemented using SFINAE to avoid implicit casts to built in types when calling it. </div> </li> <li> <div> Updated to use the new config macros. </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> Better performance, less memory usage for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">character_type</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">character_type</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></code> conversions. </div> </li> <li> <div> Fixed bug with volatile input parameter <a href="https://svn.boost.org/trac/boost/ticket/7157">#7157</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Updated to use the new config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/msm/">MSM</a>:</span> <ul> <li> <div> Support for boost::any <a href="http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event">http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event</a> or kleene <a href="http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event">http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event</a> as acceptable events </div> </li> <li> <div> Bugfix: compiler error with fsm internal table and none (compound) event. </div> </li> <li> <div> Bugfix: euml::defer_ leading to stack overflow. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/proto/">Proto</a>:</span> <ul> <li> <div> Proto transforms get pseudo-parameter pack expansion support for unpacking expressions. See the <a href="http://www.boost.org/doc/html/proto/appendices.html#boost_proto.appendices.release_notes.boost_1_51">Release Notes</a> for more information. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7075">#7075</a> Workaround for error: the type of partial specialization template parameter constant &quot;n1&quot; depends on another template parameter. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/regex/">Regex</a>:</span> <ul> <li> <div> Updated to use the new config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4258">#4258</a> Linking with boost thread does not work on mingw/gcc 4.5. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4885">#4885</a> Access violation in set_tss_data at process exit due to invalid assumption about TlsAlloc. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6931">#6931</a> mutex waits forwever with Intel Compiler and /debug:parallel </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7044">#7044</a> boost 1.50.0 header missing. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7052">#7052</a> Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 only masks thread::operator==, thread::operator!= forward declarations, not definitions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7066">#7066</a> An attempt to fix current_thread_tls_key static initialization order. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7074">#7074</a> Multiply defined symbol boost::allocator_arg. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7078">#7078</a> Trivial 64-bit warning fix on Windows for thread attribute stack size </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7089">#7089</a> BOOST_THREAD_WAIT_BUG limits functionality without solving anything </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Fix construction/destruction issue when using a C++11 compiler with a C++03 allocator (<a href="https://svn.boost.org/trac/boost/ticket/7100">#7100</a>). </div> </li> <li> <div> Remove a <code><span class="keyword">try</span><span class="special">..</span><span class="keyword">catch</span></code> to support compiling without exceptions. </div> </li> <li> <div> Adjust SFINAE use to try to supprt g++ 3.4 (<a href="https://svn.boost.org/trac/boost/ticket/7175">#7175</a>). </div> </li> <li> <div> Updated to use the new config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">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> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Work around buggy wide ctype facet on cygwin and mingw. </div> </li> <li> <div> Work around absence of __isctype on some glibc implementations. </div> </li> <li> <div> <code><span class="identifier">op</span><span class="special">::</span><span class="identifier">as</span></code> shouldn't assume <code><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span></code> != <code><span class="keyword">char</span><span class="special">*</span></code>. </div> </li> <li> <div> Fix assertion in <code><span class="identifier">cpp_regex_traits</span></code> on libc++, thanks to John Fletcher. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_51_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> GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> <li> <div> Intel: 11.1, 12.0, 12.1 </div> </li> <li> <div> LLVM Clang 2.8 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.4 </div> </li> <li> <div> GCC, C++11 mode: 4.4 </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3 </div> </li> <li> <div> Visual C++: 8.0, 9.0, 10.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> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Clang: from subversion </div> </li> <li> <div> LLVM Clang: 3.0 </div> </li> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0, 12.1 </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> Clang, C++11 mode: from subversion </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> <li> <div> GCC: 4.4 </div> </li> <li> <div> GCC, C++11 mode: 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.6.3, 4.7.0 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition: V12.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_51_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, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.50.0http://www.boost.org/users/history/version_1_50_0.htmlhttp://www.boost.org/users/history/version_1_50_0.htmlThu, 28 Jun 2012 08:48:57 -0400 <div id="version_1_50_0.patches"> <h3><span class="link">Patches</span></h3> <ul> <li> <div> <a href="http://www.boost.org/patches/1_50_0/001-unordered.patch">Boost.Unordered patch</a> - Fixes a bug when compiled using a C++11 compiler, but with a C++03 allocator. When inserting elements, <code><span class="identifier">allocator_traits</span></code> detects that the node can be constructed using an accidental implicit conversion which causes several problems. </div> </li> </ul> <div id="version_1_50_0.patches.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/">Algorithm</a>:</span> A collection of useful generic algorithms, from Marshall Clow. This includes several different searching algorithms, as well as most of the new algorithms from the C++11 standard library </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/overloaded_function/">Functional/OverloadedFunction</a>:</span> Overload different functions into a single function object, from Lorenzo Caminiti. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/local_function/">LocalFunction</a>:</span> Program functions locally, within other functions, directly within the scope where they are needed, from Lorenzo Caminiti. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/identity_type/">Utility/IdentityType</a>:</span> Wrap types within round parenthesis so they can always be passed as macro parameters, from Lorenzo Caminiti. </div> </li> </ul> </div> <div id="version_1_50_0.patches.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/accumulators/">Accumulators</a>:</span> <ul> <li> <div> add missing <code><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">throw_exception</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, fixes <a href="https://svn.boost.org/trac/boost/ticket/6702">#6702</a>. </div> </li> <li> <div> work around for msvc which allows ctor templates to be copy ctors, fixes <a href="https://svn.boost.org/trac/boost/ticket/6535">#6535</a>. </div> </li> <li> <div> shorten filenames to meet boost guidelines, fixes <a href="https://svn.boost.org/trac/boost/ticket/6196">#6196</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/array/">Array</a>:</span> <ul> <li> <div> add support for Boost.Hash <a href="https://svn.boost.org/trac/boost/ticket/6791">#6791</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Changed the <code><span class="identifier">epoll_reactor</span></code> backend to do lazy registration for <code><span class="identifier">EPOLLOUT</span></code> events. </div> </li> <li> <div> Fixed the <code><span class="identifier">epoll_reactor</span></code> handling of out-of-band data, which was broken by an incomplete fix in the last release. </div> </li> <li> <div> Changed Asio's SSL wrapper to respect OpenSSL's <code><span class="identifier">OPENSSL_NO_ENGINE</span></code> feature test <code><span class="preprocessor">#define</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6432">#6432</a>). </div> </li> <li> <div> Fixed <code><span class="identifier">windows</span><span class="special">::</span><span class="identifier">object_handle</span></code> so that it works with Windows compilers that support C++11 move semantics (such as <tt>g++</tt>). </div> </li> <li> <div> Improved the performance of strand rescheduling. </div> </li> <li> <div> Added support for <tt>g++</tt> 4.7 when compiling in C++11 mode (<a href="https://svn.boost.org/trac/boost/ticket/6620">#6620</a>). </div> </li> <li> <div> Fixed a problem where <code><span class="identifier">signal_set</span></code> handlers were not being delivered when the <code><span class="identifier">io_service</span></code> was constructed with a <code><span class="identifier">concurrency_hint</span></code> of 1 (<a href="https://svn.boost.org/trac/boost/ticket/6657">#6657</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/bimap/">Bimap</a>:</span> <ul> <li> <div> Remove spurious dependency on Boost.Serialization, fixes <a href="https://svn.boost.org/trac/boost/ticket/3868">#3868</a>. </div> </li> <li> <div> Solve unused constructor parameter warning, fixes <a href="https://svn.boost.org/trac/boost/ticket/5749">#5749</a>. </div> </li> <li> <div> Add key_type and mapped_type (leaving data_type for backward compatibility) typedefs to map views, fixes <a href="https://svn.boost.org/trac/boost/ticket/6031">#6031</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6361">#6361</a> integer overflow in boost::chrono::process_real_cpu_clock::now() under Windows 32bits. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6628">#6628</a> compiler warning in process_cpu_clocks.hpp. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6666">#6666</a> thread_clock.hpp needs pthread.h. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/concept_check/">Concept Check</a>:</span> <ul> <li> <div> Fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6738">#6738</a> Shadowed variable warning. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/filesystem/">Filesystem</a>:</span> <ul> <li> <div> Remove Filesystem Version 2 from the distribution. Version 3 is now the only distributed version. Those still using V2 are urged to migrate to V3 as soon as possible. </div> </li> <li> <div> Add constexpr value_type preferred_separator to class path. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5118">#5118</a>, <code><span class="identifier">replace_extension</span></code> doesn't work as specified in documentation. The documentation, implementation, and test cases have all had fixes applied. The documentation had failed to mention that any existing extension is removed. The behavior for simple cases has been reverted to the Version 2 behavior, but with corrections so that complex replacements now work. Two test cases from <a href="https://svn.boost.org/trac/boost/ticket/5118">#5118</a> have been added. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/3737">#3737</a>, Boost.Filesystem does not compile on Windows Mobile. On Windows, <code><span class="special">&lt;</span><span class="identifier">sys</span><span class="special">/</span><span class="identifier">stat</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code> is no longer included. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/4065">#4065</a>, Boost Filesystem lexicographic path comparison inconsistent. This required multiple source code bug fixes and code cleanup, correcting problems not related to lexicographical issues. </div> </li> <li> <div> Add class path member function compare for consistency with std::string. </div> </li> <li> <div> Tighten <code><span class="identifier">BOOST_FILESYSTEM_DYN_LINK</span></code> and <code><span class="identifier">BOOST_FILESYSTEM_STATIC_LINK</span></code> logic in <code><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code> so that one or the other is always defined, and both being defined is a <code><span class="preprocessor">#error</span></code>. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6690">#6690</a> and <a href="https://svn.boost.org/trac/boost/ticket/6737">#6737</a>, resolving static linking related problems with VC++ 8 through 11. Note that this fix may reintroduce codecvt thread safety problems <a href="https://svn.boost.org/trac/boost/ticket/4889">#4889</a>, <a href="https://svn.boost.org/trac/boost/ticket/6320">#6320</a>, for these compilers if static linking is used. </div> </li> <li> <div> Add <code><span class="identifier">path</span><span class="special">::</span><span class="keyword">operator</span><span class="special">+=</span></code> and concat functions to tack on things like suffixes or numbers. Suggested by Ed Smith-Rowland and others. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6809">#6809</a>, Implementation of <code><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">rename</span><span class="special">()</span></code> method for MS Windows is wrong, by adding <code><span class="identifier">MOVEFILE_COPY_ALLOWED</span></code> to deal with renames across drives, volumes, file systems. Fix has no effect on non-Windows systems. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6819">#6819</a>, A path operand with a source that was a one character array was treated as empty, even if it wasn't empty. Such arrays can occur in unions or in code using C variable length array idioms. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6932">#6932</a>, create_directories throws exception even if <code><span class="identifier">error_code</span></code> is specified. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/foreach/">Foreach</a>:</span> <ul> <li> <div> Revert fix for <a href="https://svn.boost.org/trac/boost/ticket/6131">#6131</a> which caused more harm than good. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry/">Geometry</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> the return type of comparable projected point strategy for integer points was wrong (integer), fixed </div> </li> <li> <div> several robustness issues in intersection of segments and polygons, fixed </div> </li> <li> <div> invalid intersection output is filtered out </div> </li> <li> <div> disjoint for multi_polygon's might incorrectly return true, fixed </div> </li> </ul> </div> </li> <li> <div> Solved tickets <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6585">6585</a> patch for alternative syntax multipoint, applied </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6584">6584</a> patch for bug in distance, applied </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5730">5730</a> same issue as 6584, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6166">6166</a> patch for missing transformation, applied </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6696">6696</a> invalid intersection output, was (by chance) already fixed in Trunk before reported </div> </li> </ul> </div> </li> <li> <div> Additional functionality <ul> <li> <div> added algorithm &quot;touches&quot; (OGC SF compliant) for *polygon/*polygon </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: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4622">#4622</a> clear_vertex on a vertex with a self-loop can cause a segmentation fault. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6033">#6033</a> Lowpoint map calculated by biconnected_components(...) is sometimes wrong. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6242">#6242</a> isomorphism doesn't reset mapping. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6435">#6435</a> cube_topology documentation should say 3D, not 2D. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6520">#6520</a> small_world_1_70_6_0p02.png is broken in documentation of graph_parallel. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6564">#6564</a> BGL copy constructor for subgraph does not track local vertices/edges. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6573">#6573</a> BGL: boost::isomorphism routine fails with large graphs. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6583">#6583</a> Dijkstra Visitor Concept docs probably show wrong type for variable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6647">#6647</a> BGL strong_components do not compile on MSVC 8. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6656">#6656</a> Dependent type in subgraph used without typename. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6707">#6707</a> is_straight_line_drawing.hpp missing #include &lt;map&gt;. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6708">#6708</a> Make bool boost::intersects() in is_straight_line_drawing.hpp inline? </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6739">#6739</a> Cannot use write_graphviz_dp with a constified subgraph. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6858">#6858</a> boost::get() calls wrongly resolved by g++. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6892">#6892</a> VertexIndexGraph concept not required for bron_kerbosch_all_cliques(). </div> </li> <li> <div> Other bugs and warnings not in Trac. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Support <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code> when available (<a href="https://svn.boost.org/trac/boost/ticket/6806">#6806</a>). </div> </li> <li> <div> Avoid gcc's <code><span class="special">-</span><span class="identifier">Wfloat</span><span class="special">-</span><span class="identifier">equal</span></code> warning (<a href="https://svn.boost.org/trac/boost/ticket/6771">#6771</a>). </div> </li> <li> <div> Add deprecation warning to the long deprecated <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">container_fwd</span><span class="special">.</span><span class="identifier">hpp</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/iostreams/">Iostreams</a>:</span> <ul> <li> <div> Improved gzip support (<a href="https://svn.boost.org/trac/boost/ticket/5908">#5908</a>). </div> </li> <li> <div> Update tests for latest Boost.Filesystem and Boost.Test. </div> </li> <li> <div> Fix some documentation errors (<a href="https://svn.boost.org/trac/boost/ticket/6530">#6530</a>, <a href="https://svn.boost.org/trac/boost/ticket/6650">#6650</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/iterator/">Iterator</a>:</span> <ul> <li> <div> Fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5127">#5127</a> Incorrect result_of usage in transform_iterator </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5697">#5697</a> iterator_facade::operator-&gt; is broken for proxy references </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/multi_array/">MultiArray</a>:</span> <ul> <li> <div> Concepts bug fix and Workaround for Visual Studio 2010 (<a href="https://svn.boost.org/trac/boost/ticket/4874">#4874</a>) </div> </li> <li> <div> Fix to assert.cpp test case (<a href="https://svn.boost.org/trac/boost/changeset/78498">Patch</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> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bad_lexical_cast</span></code> exception is now globaly visible and can be catched even if code is compiled with -fvisibility=hidden </div> </li> <li> <div> Now it is possible to compile and use library with disabled exceptions <a href="https://svn.boost.org/trac/boost/ticket/5800">#5800</a> </div> </li> <li> <div> Better performance, less memory usage and bugfixes for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">character_type</span><span class="special">*&gt;</span></code> conversions </div> </li> <li> <div> Fixed bugs and warnings: <a href="https://svn.boost.org/trac/boost/ticket/6645">#6645</a>, <a href="https://svn.boost.org/trac/boost/ticket/6562">#6562</a>, <a href="https://svn.boost.org/trac/boost/ticket/6812">#6812</a>, <a href="https://svn.boost.org/trac/boost/ticket/6852">#6852</a>, <a href="https://svn.boost.org/trac/boost/ticket/6717">#6717</a>, <a href="https://svn.boost.org/trac/boost/ticket/6670">#6770</a>, <a href="https://svn.boost.org/trac/boost/ticket/6504">#6504</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/locale/">Locale</a>:</span> <ul> <li> <div> Fixed build issues with STLPort library </div> </li> <li> <div> Boost.System is now required depenency </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6635">#6635</a>, <a href="https://svn.boost.org/trac/boost/ticket/6833">#6833</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Promoted math constants to be 1st class citizens, including convenient access to the most widely used built-in float, double, long double via three namespaces. </div> </li> <li> <div> Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta. </div> </li> <li> <div> Added Hankel functions. </div> </li> <li> <div> Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627">#6627 nonfinite_num_put formatting of 0.0 is incorrect</a> based on a patch submitted by K R Walker. </div> </li> <li> <div> Changed constant initialization mechanism so that it is thread safe even for user-defined types, also so that user defined types get the full precision of the constant, even when <code><span class="keyword">long</span> <span class="keyword">double</span></code> does not. So for example 128-bit rational approximations will work with UDT's and do the right thing, even though <code><span class="keyword">long</span> <span class="keyword">double</span></code> may be only 64 or 80 bits. </div> </li> <li> <div> Fixed issue in <code><span class="identifier">bessel_jy</span></code> which causes Y[sub 8.5](4[pi]) to yield a NaN. </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 : better syntax for front-ends defined with eUML as transition table only. Caution: Breaking Change!<a href="http://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table">http://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table</a> </div> </li> <li> <div> Bugfix: graph building was only working if initial_state defined as a sequence. </div> </li> <li> <div> Bugfix: flags defined for a Terminate or Interrupt state do not break the blocking function of these states any more. </div> </li> <li> <div> Bugfix: multiple deferred events from several regions were not working in every case. </div> </li> <li> <div> Bugfix: visitor was passed by value to submachines. </div> </li> <li> <div> Bugfix: no_transition was not called for submachines who send an event to themselves. </div> </li> <li> <div> Fixed warnings with gcc. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/program_options/">Program Options</a>:</span> <ul> <li> <div> Improved error reporting (<a href="https://svn.boost.org/trac/boost/changeset/77827">Patch from Leo Goodstadt</a>). </div> </li> <li> <div> Support for customizing name of option's value in help messages (<a href="https://svn.boost.org/trac/boost/ticket/4781">#4781</a>) </div> </li> <li> <div> Fixed compilation with gcc 4.7 (<a href="https://svn.boost.org/trac/boost/ticket/6790">#6790</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/property_map/">PropertyMap</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6539">#6539</a> the return type of get() is not documented correctly. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6721">#6721</a> property_map_traits documentation does not mention reference. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/proto/">Proto</a>:</span> <ul> <li> <div> Use <code><span class="identifier">decltype</span></code>-based <code><span class="identifier">result_of</span></code> if and only if the compiler implements N3276. </div> </li> <li> <div> For C++11, force parameter to <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">eval_if_c</span></code> and <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span></code> to be <code><span class="keyword">bool</span></code>. </div> </li> <li> <div> Disable <tt>'__forceinline not inlined'</tt> warning on msvc. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6498">#6498</a> boost::ratio won't compile with default settings. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/scope_exit/">ScopeExit</a>:</span> <ul> <li> <div> New Features: <ul> <li> <div> Use variadic macros to specify captures as commas-separated lists (but kept preprocessor sequence syntax for backward compatibility). </div> </li> <li> <div> Capture the object in scope using <code><span class="identifier">this_</span></code>. </div> </li> <li> <div> Support empty captures using <code><span class="keyword">void</span></code>. </div> </li> <li> <div> Implicit lambda-like captures using <code><span class="identifier">BOOST_SCOPE_EXIT_ALL</span></code> on compilers that support C++11 lambda functions. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span> <ul> <li> <div> New Features: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/1850">#1850</a> Request for unlock_guard to compliment lock_guard. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2637">#2637</a> Request for shared_mutex duration timed_lock and timed_lock_shared. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2741">#2741</a> Proposal to manage portable and non portable thread attributes. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/3567">#3567</a> Request for shared_lock_guard. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6194">#6194</a> Adapt to Boost.Move. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6195">#6195</a> c++11 compliance: Provide the standard time related interface using Boost.Chrono. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6217">#6217</a> Enhance Boost.Thread shared mutex interface following Howard Hinnant proposal. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6224">#6224</a> c++11 compliance: Add the use of standard noexcept on compilers supporting them. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6226">#6226</a> c++11 compliance: Add explicit bool conversion from locks. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6228">#6228</a> Add promise constructor with allocator following the standard c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6230">#6230</a> c++11 compliance: Follows the exception reporting mechanism as defined in the c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6266">#6266</a> Breaking change: thread destructor should call terminate if joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6269">#6269</a> Breaking change: thread move assignment should call terminate if joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6272">#6272</a> c++11 compliance: Add thread::id hash specialization. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6273">#6273</a> c++11 compliance: Add cv_status enum class and use it on the conditions wait functions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6231">#6231</a> Add BasicLockable requirements in the documentation to follow c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6342">#6342</a> c++11 compliance: Adapt the one_flag to the c++11 interface. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6671">#6671</a> upgrade_lock: missing mutex and release functions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6672">#6672</a> upgrade_lock:: missing constructors from time related types. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6675">#6675</a> upgrade_lock:: missing non-member swap. </div> </li> <li> <div> Added missing packaged_task::result_type and packaged_task:: constructor with allocator. </div> </li> <li> <div> Added packaged_task::reset() </div> </li> </ul> </div> </li> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2575">#2575</a> Bug- Boost 1.36.0 on Itanium platform. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4345">#4345</a> thread::id and joining problem with cascade of threads. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4921">#4921</a> BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB are crucial and need to be documented. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5013">#5013</a> documentation: boost::thread: pthreas_exit causes terminate(). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5173">#5173</a> boost::this_thread::get_id is very slow. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5351">#5351</a> interrupt a future get boost::unknown_exception. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5516">#5516</a> Upgrade lock is not acquired when previous upgrade lock releases if another read lock is present. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5990">#5990</a> shared_future&lt;T&gt;::get() has wrong return type. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6174">#6174</a> packaged_task doesn't correctly handle moving results. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6222">#6222</a> Compile error with SunStudio: unique_future move. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6673">#6673</a> shared_lock: move assign doesn't works with c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6674">#6674</a> shared_mutex: try_lock_upgrade_until doesn't works. </div> </li> <li> <div> Fix issue signaled on the ML with task_object(task_object const&amp;) in presence of task_object(task_object&amp;&amp;) </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Fix equality for <code><span class="identifier">unordered_multiset</span></code> and <code><span class="identifier">unordered_multimap</span></code>. </div> </li> <li> <div> Implement <code><span class="identifier">reserve</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6857">#6857</a>). </div> </li> <li> <div> Avoid gcc's <code><span class="special">-</span><span class="identifier">Wfloat</span><span class="special">-</span><span class="identifier">equal</span></code> and <code><span class="special">-</span><span class="identifier">Wshadow</span></code> warnings (<a href="https://svn.boost.org/trac/boost/ticket/6190">#6190</a>, <a href="https://svn.boost.org/trac/boost/ticket/6771">#6771</a>). </div> </li> <li> <div> Fix namespace issue with bcp (<a href="https://svn.boost.org/trac/boost/ticket/6905">#6905</a>). </div> </li> <li> <div> Fix Sun workarounds (<a href="https://svn.boost.org/trac/boost/ticket/6784">#6784</a>). </div> </li> <li> <div> Some internal changes to bucket allocation. </div> </li> <li> <div> See the <a href="http://www.boost.org/doc/html/unordered/changes.html#unordered.changes.boost_1_50_0">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> Wave V2.3.2, see the <a href="http://www.boost.org/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Remove very ugly <code><span class="identifier">lexical_cast</span></code> hack with a slightly less ugly one. </div> </li> <li> <div> Replace MPL assert with static assert since it's problematic in C++11, fixes <a href="https://svn.boost.org/trac/boost/ticket/6846">#6846</a>. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_50_0.patches.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: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <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++ 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.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0 </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Clang from subversion </div> </li> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.3, 4.6.2 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0, 12.1 </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, 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.4, 4.7.0 </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, V12.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_50_0.patches.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, Vladimir Prus and Marshall Clow managed this release. </p> </div> </div> Version 1.49.0http://www.boost.org/users/history/version_1_49_0.htmlhttp://www.boost.org/users/history/version_1_49_0.htmlFri, 24 Feb 2012 16:20:32 -0500 <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/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/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/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/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/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/libs/foreach/">Foreach</a>:</span> <ul> <li> <div> Fix for <a href="https://svn.boost.org/trac/boost/ticket/6131">#6131</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/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/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/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/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/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/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/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/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/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/libs/proto">Proto</a>:</span> <ul> <li> <div> Force some functions to be inline, fixes <a href="https://svn.boost.org/trac/boost/ticket/5735">#5735</a>. </div> </li> <li> <div> Add user documentation for per-domain <code><span class="identifier">as_expr</span></code> and <code><span class="identifier">as_child</span></code>; other doc tweaks. </div> </li> <li> <div> Fix some buggy and over-complicated example programs. </div> </li> <li> <div> Add some missing copyright notices. </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.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/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/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/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> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Eliminate some unused variable warnings on gcc. </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>Version 1.45.0Fri, 19 Nov 2010 11:00:00 EST<span class="brief"><span class="purpose"> Updated Libraries: Asio, Config, Flyweight, Foreach, Fusion, Graph, Interprocess, Math, Meta State Machine, MultiArray, Proto, Spirit, TypeTraits, uBLAS, Unordered, Wave, Xpressive. Updated tools: Boostbook, Quickbook </span></span>http://sourceforge.net/projects/boost/files/boost/1.45.0/<div class="description"> <div id="version_1_45_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> </div> <ul> <li> <div> Fixed a problem on kqueue-based platforms where a <code><span class="identifier">deadline_timer</span></code> may never fire if the <code><span class="identifier">io_service</span></code> is running in a background thread (<a href="https://svn.boost.org/trac/boost/ticket/4568">#4568</a>). </div> </li> <li> <div> Fixed a const-correctness issue that prevented valid uses of <code><span class="identifier">has_service</span><span class="special">&lt;&gt;</span></code> from compiling (<a href="https://svn.boost.org/trac/boost/ticket/4638">#4638</a>). </div> </li> <li> <div> Fixed MinGW cross-compilation (<a href="https://svn.boost.org/trac/boost/ticket/4491">#4491</a>). </div> </li> <li> <div> Removed dependency on deprecated Boost.System functions (<a href="https://svn.boost.org/trac/boost/ticket/4672">#4672</a>). </div> </li> <li> <div> Ensured <code><span class="identifier">close</span><span class="special">()</span></code>/<code><span class="identifier">closesocket</span><span class="special">()</span></code> failures are correctly propagated (<a href="https://svn.boost.org/trac/boost/ticket/4573">#4573</a>). </div> </li> <li> <div> Added a check for errors returned by <code><span class="identifier">InitializeCriticalSectionAndSpinCount</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4574">#4574</a>). </div> </li> <li> <div> Added support for hardware flow control on QNX (<a href="https://svn.boost.org/trac/boost/ticket/4625">#4625</a>). </div> </li> <li> <div> Always use <code><span class="identifier">pselect</span><span class="special">()</span></code> on HP-UX, if it is available (<a href="https://svn.boost.org/trac/boost/ticket/4578">#4578</a>). </div> </li> <li> <div> Ensured handler arguments are passed as lvalues (<a href="https://svn.boost.org/trac/boost/ticket/4744">#4744</a>). </div> </li> <li> <div> Fixed Windows build when thread support is disabled (<a href="https://svn.boost.org/trac/boost/ticket/4680">#4680</a>). </div> </li> <li> <div> Fixed a Windows-specific problem where <code><span class="identifier">deadline_timer</span></code> objects with expiry times set more than 5 minutes in the future may never expire (<a href="https://svn.boost.org/trac/boost/ticket/4745">#4745</a>). </div> </li> <li> <div> Fixed the <code><span class="identifier">resolver</span></code> backend on BSD platforms so that an empty service name resolves to port number <code><span class="number">0</span></code>, as per the documentation (<a href="https://svn.boost.org/trac/boost/ticket/4690">#4690</a>). </div> </li> <li> <div> Fixed read operations so that they do not accept buffer sequences of type <code><span class="identifier">const_buffers_1</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4746">#4746</a>). </div> </li> <li> <div> Redefined <code><span class="identifier">Protocol</span></code> and <code><span class="identifier">id</span></code> to avoid clashing with Objective-C++ keywords (<a href="https://svn.boost.org/trac/boost/ticket/4191">#4191</a>). </div> </li> <li> <div> Fixed a <code><span class="identifier">vector</span></code> reallocation performance issue that can occur when there are many active <code><span class="identifier">deadline_timer</span></code> objects (<a href="https://svn.boost.org/trac/boost/ticket/4780">#4780</a>). </div> </li> <li> <div> Fixed the kqueue backend so that it compiles on NetBSD (<a href="https://svn.boost.org/trac/boost/ticket/4662">#4662</a>). </div> </li> <li> <div> Fixed the socket <code><span class="identifier">io_control</span><span class="special">()</span></code> implementation on 64-bit Mac OS X and BSD platforms (<a href="https://svn.boost.org/trac/boost/ticket/4782">#4782</a>). </div> </li> <li> <div> Fixed a Windows-specific problem where failures from <code><span class="identifier">accept</span><span class="special">()</span></code> are incorrectly treated as successes (<a href="https://svn.boost.org/trac/boost/ticket/4859">#4859</a>). </div> </li> <li> <div> Deprecated the separate compilation header <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">impl</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">&gt;</span></code> in favour of <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">impl</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4560">#4560</a>). </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/config/index.html">Config</a>:</span> </div> <ul> <li> <div> Added new defect macros, <code><span class="identifier">BOOST_NO_VARIADIC_MACROS</span></code> and <code><span class="identifier">BOOST_NO_NUMERIC_LIMITS_LOWEST</span></code>. </div> </li> <li> <div> Minor fixes (<a href="https://svn.boost.org/trac/boost/ticket/4670">#4670</a>, <a href="https://svn.boost.org/trac/boost/ticket/4563">#4563</a>, <a href="https://svn.boost.org/trac/boost/ticket/4474">#4474</a>, <a href="https://svn.boost.org/trac/boost/ticket/4508">#4508</a>). </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/flyweight/index.html">Flyweight</a>:</span> </div> <ul> <li> <div> Fixed a hanging problem with <a href="/libs/flyweight/doc/tutorial/configuration.html#intermodule_holder"><code><span class="identifier">intermodule_holder</span></code></a> in Win32 platforms related to a Boost.Interprocess issue described at ticket <a href="https://svn.boost.org/trac/boost/ticket/4606">#4606</a>. </div> </li> <li> <div> Removed an internal assertion incompatible with program termination via <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">exit</span></code>. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/foreach/index.html">Foreach</a>:</span> </div> <ul> <li> <div> Fix ambiguitiy by making <code><span class="identifier">auto_any</span></code> constructor explicit. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> </div> <ul> <li> <div> Added <code><span class="identifier">BOOST_FUSION_ADAPT_ADT</span></code>, <code><span class="identifier">BOOST_FUSION_ADAPT_TPL_ADT</span></code>, <code><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</span></code> and <code><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span></code>. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/graph/index.html">Graph</a>:</span> </div> <ul> <li> <div> Added Stoer-Wagner min-cut algorithm contributed by Daniel Trebbien. </div> </li> <li> <div> Added implicit graph (implicit_graph) and A* (astar_maze) examples contributed by W. P. McNeill. </div> </li> <li> <div> Added bundled property support for graph properties. </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/4556">#4556</a>, <a href="https://svn.boost.org/trac/boost/ticket/4622">#4622</a>, <a href="https://svn.boost.org/trac/boost/ticket/4631">#4631</a>, <a href="https://svn.boost.org/trac/boost/ticket/4715">#4715</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> and <a href="https://svn.boost.org/trac/boost/ticket/4793">#4793</a> plus others not in Trac. </div> </li> <li> <div> Fixed documentation bugs <a href="https://svn.boost.org/trac/boost/ticket/4731">#4731</a> and <a href="https://svn.boost.org/trac/boost/ticket/4737">#4737</a>. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/interprocess/index.html">Interprocess</a>:</span> </div> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/1080">#1080</a>, <a href="https://svn.boost.org/trac/boost/ticket/3284">#3284</a>, <a href="https://svn.boost.org/trac/boost/ticket/3439">#3439</a>, <a href="https://svn.boost.org/trac/boost/ticket/3448">#3448</a>, <a href="https://svn.boost.org/trac/boost/ticket/3582">#3582</a>, <a href="https://svn.boost.org/trac/boost/ticket/3682">#3682</a>, <a href="https://svn.boost.org/trac/boost/ticket/3829">#3829</a>, <a href="https://svn.boost.org/trac/boost/ticket/3846">#3846</a>, <a href="https://svn.boost.org/trac/boost/ticket/3914">#3914</a>, <a href="https://svn.boost.org/trac/boost/ticket/3947">#3947</a>, <a href="https://svn.boost.org/trac/boost/ticket/3950">#3950</a>, <a href="https://svn.boost.org/trac/boost/ticket/3951">#3951</a>, <a href="https://svn.boost.org/trac/boost/ticket/3985">#3985</a>, <a href="https://svn.boost.org/trac/boost/ticket/4010">#4010</a>, <a href="https://svn.boost.org/trac/boost/ticket/4417">#4417</a>, <a href="https://svn.boost.org/trac/boost/ticket/4019">#4019</a>, <a href="https://svn.boost.org/trac/boost/ticket/4039">#4039</a>, <a href="https://svn.boost.org/trac/boost/ticket/4218">#4218</a>, <a href="https://svn.boost.org/trac/boost/ticket/4230">#4230</a>, <a href="https://svn.boost.org/trac/boost/ticket/4250">#4250</a>, <a href="https://svn.boost.org/trac/boost/ticket/4297">#4297</a>, <a href="https://svn.boost.org/trac/boost/ticket/4350">#4350</a>, <a href="https://svn.boost.org/trac/boost/ticket/4352">#4352</a>, <a href="https://svn.boost.org/trac/boost/ticket/4426">#4426</a>, <a href="https://svn.boost.org/trac/boost/ticket/4516">#4516</a>, <a href="https://svn.boost.org/trac/boost/ticket/4524">#4524</a>, <a href="https://svn.boost.org/trac/boost/ticket/4557">#4557</a>, <a href="https://svn.boost.org/trac/boost/ticket/4606">#4606</a>, <a href="https://svn.boost.org/trac/boost/ticket/4685">#4685</a>, <a href="https://svn.boost.org/trac/boost/ticket/4694">#4694</a>. </div> </li> <li> <div> Added support for standard rvalue reference move semantics (tested on GCC 4.5 and VC10). </div> </li> <li> <div> Permissions can be detailed for interprocess named resources. </div> </li> <li> <div> <code><span class="identifier">mapped_region</span><span class="special">::</span><span class="identifier">flush</span></code> initiates disk flushing but does not guarantee it's completed when returns, since it is not portable. </div> </li> <li> <div> FreeBSD and MacOS now use posix semaphores to implement named semaphores and mutex. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/math/index.html">Math</a>:</span> </div> <ul> <li> <div> Added inverse gamma distribution and inverse chi_square and scaled inverse chi_square. </div> </li> <li> <div> Added warnings about potential ambiguity with std random library in distribution and function names. </div> </li> <li> <div> Editorial revision of documentation, and added FAQ. </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_45_0/libs/msm/doc/HTML/ch08.html#d0e2995">Support for serialization</a>. </div> </li> <li> <div> <a href="/doc/libs/1_45_0/libs/msm/doc/HTML/ch03s04.html#eUML-reuse-functor">Possibility to use normal</a> functors (from functor front-end) in eUML. </div> </li> <li> <div> <a href="/doc/libs/1_45_0/libs/msm/doc/HTML/ch03s05.html#backend-fsm-constructor-args">New constructors where substates / submachines can be taken as arguments</a>. This allows passing arguments to the constructor of a submachine. </div> </li> <li> <div> Bugfixes (anonymous transitions) </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/multi_array/index.html">MultiArray</a>:</span> </div> <ul> <li> <div> Fixes for bugs <a href="https://svn.boost.org/trac/boost/ticket/3581">#3581</a>, <a href="https://svn.boost.org/trac/boost/ticket/3820">#3820</a>, <a href="https://svn.boost.org/trac/boost/ticket/3989">#3989</a>, <a href="https://svn.boost.org/trac/boost/ticket/4032">#4032</a>, plus other bugs not in Trac. </div> </li> <li> <div> Added new examples and test cases. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> </div> <ul> <li> <div> Knock down value of <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">N</span></code>, fixes bug <a href="https://svn.boost.org/trac/boost/ticket/4602">#4602</a>, </div> </li> <li> <div> Support non-rtti compilers </div> </li> <li> <div> Fix bug with <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">matches</span></code>, array types and the wildcard pattern. </div> </li> <li> <div> Make Proto work on MSVC with the /clr option </div> </li> <li> <div> Add const-qualified overloads of <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">eval</span></code> </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> Spirit V2.4.1, see the '<a href="/doc/libs/1_45_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html">What's New</a>' section for details. </div> </li> <li> <div> <span class="library"><a href="/libs/type_traits/index.html">TypeTraits</a>:</span> </div> <ul> <li> <div> Added new traits add_rvalue_reference, add_lvalue_reference and common_type. </div> </li> <li> <div> Minor fixes to is_signed, is_unsigned and is_virtual_base_of. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/numeric/ublas/index.html">uBLAS</a>:</span> </div> <ul> <li> <div> Tickets closed: </div> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4410">#4410</a>, </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/3397">#3397</a>, </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/795">#795</a>, </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/3514">#3514</a>, </div> </li> </ul> </li> <li> <div> Mixed types operation are possible and new tests added (like matrix&lt;complex&gt;+matrix&lt;double&gt;), </div> </li> <li> <div> New features: </div> <ul> <li> <div> a new size&lt;&gt; operator is available. For example size&lt;1&gt;(A+B) give the number of rows of the sum of matrices A and B, </div> </li> </ul> </li> </ul> </li> <li> <div> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> </div> <ul> <li> <div> Fix inserting from iterators which return by copy from <code><span class="keyword">operator</span><span class="special">*</span></code> in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_map</span></code> and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_set</span></code>. </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> <li> <div> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> </div> <ul> <li> <div> <code><span class="identifier">xpressive</span><span class="special">::</span><span class="identifier">as</span></code> handles wide-char <code><span class="identifier">sub_match</span></code> objects, fixes bug <a href="https://svn.boost.org/trac/boost/ticket/4496">#4496</a> </div> </li> </ul> </li> </ul> </div> <div id="version_1_45_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> Fix syntax highlighter for comments at the end of code blocks. </div> </li> </ul> </li> <li> <div> <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> </div> <ul> <li> <div> Fix command line macros. </div> </li> <li> <div> Nested code snippets. </div> </li> <li> <div> Nested documentation info comments. </div> </li> <li> <div> Revert xml escaping document info, it broke some documentation files (will now be in 1.6). </div> </li> <li> <div> Some other small tweaks. See <a href="/doc/html/quickbook/change_log.html#quickbook.change_log.releases.version_1_5_3___boost_1_45_0">the change log</a> for more info. </div> </li> </ul> </li> </ul> </div> <div id="version_1_45_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.1. </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0. </div> </li> <li> <div> Intel: 10.1, 11.0, 11.1 </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.3.3. </div> </li> </ul> </li> <li> <div> FreeBSD: </div> <ul> <li> <div> GCC: 4.2.1, 32 bit. </div> </li> <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.5, 4.5.0, 4.6.0 (dev version). </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0. </div> </li> <li> <div> Intel: 10.1, 11.0, 11.1. </div> </li> <li> <div> pgCC 10.1. </div> </li> <li> <div> PathScale: 3.2. </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> Borland: 5.9.3, 6.1.3 (2009), 6.2.1 (2010), 6.3.0 </div> </li> <li> <div> GCC, mingw: 4.3.3, 4.4.5, 4.5.1 </div> </li> <li> <div> GCC, mingw, C++0x mode: 4.5.1 </div> </li> <li> <div> Visual C++: 7.1, 8.0, 9.0, 10.0 </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_45_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>Version 1.44.0Fri, 13 Aug 2010 13:00:00 EDT<span class="brief"><span class="purpose"> New Libraries: Meta State Machine, Polygon. Updated Libraries: Accumulators, Asio, Config, Filesystem, Foreach, Fusion, Hash, Iostreams, Math, MPL, Multi-index Containers, Proto, Regex, Spirit, Thread, TR1, Type Traits, uBLAS, Utility, Uuid, Wave, Xpressive. Updates for Quickbook and Boostbook. </span></span>http://sourceforge.net/projects/boost/files/boost/1.44.0/<div class="description"> <div id="version_1_44_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="/libs/msm/index.html">Meta State Machine</a>:</span> High-performance expressive UML2 finite state machines, from Christophe Henry </div> </li> <li> <div> <span class="library"><a href="/libs/polygon/index.html">Polygon</a>:</span> Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson. </div> </li> </ul> </div> <div id="version_1_44_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> Correct miscellaneous documentation inaccuracies </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> <div> Reduced compile times. (Note that some programs may need to add additional <code><span class="preprocessor">#include</span></code>s, e.g. if the program uses <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> but does not explicitly include <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.) </div> </li> <li> <div> Reduced the size of generated code. </div> </li> <li> <div> Refactored <code><span class="identifier">deadline_timer</span></code> implementation to improve performance. </div> </li> <li> <div> Improved multiprocessor scalability on Windows by using a dedicated hidden thread to wait for timers. </div> </li> <li> <div> Improved performance of <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span></code> with <code><span class="identifier">async_read</span><span class="special">()</span></code> and <code><span class="identifier">async_read_until</span><span class="special">()</span></code>. These read operations now use the existing capacity of the <code><span class="identifier">streambuf</span></code> when reading, rather than limiting the read to 512 bytes. </div> </li> <li> <div> Added optional separate compilation. To enable, add <code><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">impl</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">&gt;</span></code> to one source file in a program, then build the program with <code><span class="identifier">BOOST_ASIO_SEPARATE_COMPILATION</span></code> defined in the project/compiler settings. Alternatively, <code><span class="identifier">BOOST_ASIO_DYN_LINK</span></code> may be defined to build a separately-compiled Asio as part of a shared library. </div> </li> <li> <div> Added new macro <code><span class="identifier">BOOST_ASIO_DISABLE_FENCED_BLOCK</span></code> to permit the disabling of memory fences around completion handlers, even if thread support is enabled. </div> </li> <li> <div> Reworked timeout examples to better illustrate typical use cases. </div> </li> <li> <div> Ensured that handler arguments are passed as <code><span class="keyword">const</span></code> types. </div> </li> <li> <div> Fixed incorrect parameter order in <code><span class="identifier">null_buffers</span></code> variant of <code><span class="identifier">async_send_to</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4170">#4170</a>). </div> </li> <li> <div> Ensured <code><span class="keyword">unsigned</span> <span class="keyword">char</span></code> is used with <code><span class="identifier">isdigit</span></code> in <code><span class="identifier">getaddrinfo</span></code> emulation (<a href="https://svn.boost.org/trac/boost/ticket/4201">#4201</a>). </div> </li> <li> <div> Fixed handling of very small but non-zero timeouts (<a href="https://svn.boost.org/trac/boost/ticket/4205">#4205</a>). </div> </li> <li> <div> Fixed crash that occurred when an empty buffer sequence was passed to a composed read or write operation. </div> </li> <li> <div> Added missing <code><span class="keyword">operator</span><span class="special">+</span></code> overload in <code><span class="identifier">buffers_iterator</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4382">#4382</a>). </div> </li> <li> <div> Implemented cancellation of <code><span class="identifier">null_buffers</span></code> operations on Windows. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/config/index.html">Config</a>:</span> <ul> <li> <div> Added new defect macro, <code><span class="identifier">BOOST_NO_COMPLETE_VALUE_INITIALIZATION</span></code>. </div> </li> <li> <div> Added new defect macro <code><span class="identifier">BOOST_NO_0X_HDR_TYPEINDEX</span></code>, fixes issue <a href="https://svn.boost.org/trac/boost/ticket/4274">#4274</a>. </div> </li> <li> <div> Added support for code visibility in GCC. </div> </li> <li> <div> Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/4385">#4385</a>, <a href="https://svn.boost.org/trac/boost/ticket/4324">#4324</a>, <a href="https://svn.boost.org/trac/boost/ticket/4221">#4221</a>, <a href="https://svn.boost.org/trac/boost/ticket/4182">#4182</a>, <a href="https://svn.boost.org/trac/boost/ticket/4178">#4178</a>, <a href="https://svn.boost.org/trac/boost/ticket/4152">#4152</a>, <a href="https://svn.boost.org/trac/boost/ticket/4182">#4115</a>. <a href="https://svn.boost.org/trac/boost/ticket/4112">#4112</a>, <a href="https://svn.boost.org/trac/boost/ticket/4059">#4059</a>, <a href="https://svn.boost.org/trac/boost/ticket/4041">#4041</a>, <a href="https://svn.boost.org/trac/boost/ticket/4012">#4012</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/filesystem/index.html">Filesystem</a>:</span> <ul> <li> <div> This release contains both version 2 and version 3 of the library. Version 3 is a major upgrade that will break some existing user code, so version 2 is the default. Users are encouraged to migrate to version 3. See '<a href="/libs/filesystem/v2/doc/index.htm">Version 2</a>' and '<a href="/libs/filesystem/v3/doc/index.htm">Version 3</a>' for more information. </div> </li> <li> <div> Fix problems with symbol visibility for shared libraries. </div> </li> <li> <div> Fix various minor problems. </div> </li> <li> <div> Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/3863">#3863</a>, <a href="https://svn.boost.org/trac/boost/ticket/4248">#4248</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/foreach/index.html">Foreach</a>:</span> <ul> <li> <div> Add <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">foreach_fwd</span><span class="special">.</span><span class="identifier">hpp</span></code> for forward declarations of foreach's customization points, fixes <a href="https://svn.boost.org/trac/boost/ticket/3998">#3998</a>. </div> </li> <li> <div> Remove out-of-date work-arounds for sun compilers, fixes <a href="https://svn.boost.org/trac/boost/ticket/4306">#4306</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> <ul> <li> <div> Added <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">reverse_fold</span></code>, <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">iter_fold</span></code> and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">reverse_iter_fold</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/1623">#1623</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> <ul> <li> <div> Option to prevent implicit casts when calling the hash function by defining the macro <code><span class="identifier">BOOST_HASH_NO_IMPLICIT_CASTS</span></code>, which can avoid some subtle problems. This might be activated by default in a future version. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> <ul> <li> <div> Several fixes for file descriptors class, including a breaking change to the constructors and <code><span class="identifier">open</span></code> methods for <code><span class="identifier">file_descriptor</span></code>, <code><span class="identifier">file_descriptor_source</span></code> and <code><span class="identifier">file_descriptor_sink</span></code>. See <a href="/libs/iostreams/doc/classes/file_descriptor.html">the documentation</a> for details. The old methods are still available if you define <code><span class="identifier">BOOST_IOSTREAMS_USE_DEPRECATED</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/3323">#3323</a>, <a href="https://svn.boost.org/trac/boost/ticket/3517">#3517</a>, <a href="https://svn.boost.org/trac/boost/ticket/4335">#4335</a>). </div> </li> <li> <div> Fix several issues with compression and decompression (<a href="https://svn.boost.org/trac/boost/ticket/2318">#2318</a>, <a href="https://svn.boost.org/trac/boost/ticket/4091">#4091</a>, <a href="https://svn.boost.org/trac/boost/ticket/3348">#3348</a>, <a href="https://svn.boost.org/trac/boost/ticket/2783">#2783</a>, <a href="https://svn.boost.org/trac/boost/ticket/1579">#1579</a>, <a href="https://svn.boost.org/trac/boost/ticket/3853">#3853</a>). </div> </li> <li> <div> And a load more miscellaneous fixes (<a href="https://svn.boost.org/trac/boost/ticket/3851">#3851</a>, <a href="https://svn.boost.org/trac/boost/ticket/3279">#3279</a>, <a href="https://svn.boost.org/trac/boost/ticket/3689">#3689</a>, <a href="https://svn.boost.org/trac/boost/ticket/2356">#2356</a>, <a href="https://svn.boost.org/trac/boost/ticket/2996">#2996</a>, <a href="https://svn.boost.org/trac/boost/ticket/4102">#4102</a>, <a href="https://svn.boost.org/trac/boost/ticket/2998">#2998</a>, <a href="https://svn.boost.org/trac/boost/ticket/1612">#1612</a>, <a href="https://svn.boost.org/trac/boost/ticket/2325">#2325</a>). </div> </li> <li> <div> Thanks to Steven Watanabe for almost all these fixes. For more detail see the <a href="/libs/iostreams/doc/release_notes.html">release notes</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/math/index.html">Math</a>:</span> <ul> <li> <div> Fixed incorrect range and support for Rayleigh distribution. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/mpl/index.html">MPL</a>:</span> <ul> <li> <div> Make <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">string</span></code> work with <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">transform</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/multi_index/doc/index.html">Multi-index Containers</a>:</span> <ul> <li> <div> Fixed a bug preventing the use of <code><span class="identifier">modify_key</span></code> with rollback in <a href="/libs/multi_index/doc/reference/ord_indices.html#modify_key">ordered</a> and <a href="/libs/multi_index/doc/reference/hash_indices.html#modify_key">hashed</a> indices when <code><span class="identifier">Modifier</span></code> and <code><span class="identifier">Rollback</span></code> are different types (ticket <a href="https://svn.boost.org/trac/boost/ticket/4130">#4130</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> <div> <em>Minor change in behavior:</em> when using <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">and_</span></code> as a transform, apply <em>all</em> transforms but only return the result of applying the last. See Proto's <a href="/doc/html/proto/appendices.html#boost_proto.appendices.release_notes.boost_1_44">Release Notes</a> for details. </div> </li> <li> <div> <em>Minor change in behavior:</em> <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">as_expr</span></code> and <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">as_child</span></code> no longer run objects that are already proto expressions through the expression domain's generator. See Proto's <a href="/doc/html/proto/appendices.html#boost_proto.appendices.release_notes.boost_1_44">Release Notes</a> for details. </div> </li> <li> <div> <em>Minor change in behavior:</em> Proto uses <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">basic_expr</span></code> instead of <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">expr</span></code> when possible for better compile times. See Proto's <a href="/doc/html/proto/appendices.html#boost_proto.appendices.release_notes.boost_1_44">Release Notes</a> for details. </div> </li> <li> <div> Add support for sub-domains. </div> </li> <li> <div> Introduce per-domain <code><span class="identifier">as_expr</span></code> and <code><span class="identifier">as_child</span></code> customization points to allow for domain-specific customization of variable capture behavior. </div> </li> <li> <div> The <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_default</span></code> transform is also a grammar that matches the expressions the transform knows how to handle. </div> </li> <li> <div> Add <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_void</span></code>, a no-op primitive transform that does nothing and returns <code><span class="keyword">void</span></code>. </div> </li> <li> <div> The <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">pass_through</span></code> transform doesn't strip expression wrappers, fixes <a href="https://svn.boost.org/trac/boost/ticket/4175">#4175</a>. </div> </li> <li> <div> Const-correctness fixes when invoking proto domains. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/regex/index.html">Regex</a>:</span> <ul> <li> <div> Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/4309">#4309</a>, <a href="https://svn.boost.org/trac/boost/ticket/4215">#4215</a>, <a href="https://svn.boost.org/trac/boost/ticket/4212">#4212</a>, <a href="https://svn.boost.org/trac/boost/ticket/4191">#4191</a>, <a href="https://svn.boost.org/trac/boost/ticket/4132">#4132</a>, <a href="https://svn.boost.org/trac/boost/ticket/4123">#4123</a>, <a href="https://svn.boost.org/trac/boost/ticket/4114">#4114</a>, <a href="https://svn.boost.org/trac/boost/ticket/4036">#4036</a>, <a href="https://svn.boost.org/trac/boost/ticket/4020">#4020</a>, <a href="https://svn.boost.org/trac/boost/ticket/3941">#3941</a>, <a href="https://svn.boost.org/trac/boost/ticket/3902">#3902</a>, <a href="https://svn.boost.org/trac/boost/ticket/3890">#3890</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> Spirit V2.4, see the '<a href="/doc/libs/1_44_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html">What's New</a>' section for details. </div> </li> <li> <div> <span class="library"><a href="/libs/system/index.html">System</a>:</span> <ul> <li> <div> Change system_category and generic_category to functions, to conform to the C++0x FCD. This change may cause compile errors some user code; the fix is add &quot;()&quot; to references to system_category and generic_category, so that they become function calls. </div> </li> <li> <div> Fix problems with symbol visibility for shared libraries. </div> </li> <li> <div> Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/4254">#4254</a>, <a href="https://svn.boost.org/trac/boost/ticket/3994">#3994</a>, <a href="https://svn.boost.org/trac/boost/ticket/3474">#3474</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> <ul> <li> <div> Fixes for miscellaneous trac issues (<a href="https://svn.boost.org/trac/boost/ticket/2501">#2501</a>, <a href="https://svn.boost.org/trac/boost/ticket/4341">#4341</a>, <a href="https://svn.boost.org/trac/boost/ticket/4363">#4363</a>, <a href="https://svn.boost.org/trac/boost/ticket/3760">#3760</a>, <a href="https://svn.boost.org/trac/boost/ticket/3761">#3761</a>, <a href="https://svn.boost.org/trac/boost/ticket/3611">#3611</a>, <a href="https://svn.boost.org/trac/boost/ticket/2955">#2955</a>, <a href="https://svn.boost.org/trac/boost/ticket/4071">#4071</a>, <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, <a href="https://svn.boost.org/trac/boost/ticket/3097">#3097</a>, <a href="https://svn.boost.org/trac/boost/ticket/2874">#2874</a>, <a href="https://svn.boost.org/trac/boost/ticket/4316">#4316</a>, <a href="https://svn.boost.org/trac/boost/ticket/4317">#4317</a>, <a href="https://svn.boost.org/trac/boost/ticket/4322">#4322</a>, <a href="https://svn.boost.org/trac/boost/ticket/3244">#3244</a>, <a href="https://svn.boost.org/trac/boost/ticket/2747">#2747</a>, <a href="https://svn.boost.org/trac/boost/ticket/4305">#4305</a>, <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, <a href="https://svn.boost.org/trac/boost/ticket/2704">#2704</a>, <a href="https://svn.boost.org/trac/boost/ticket/2293">#2293</a>, <a href="https://svn.boost.org/trac/boost/ticket/868">#868</a>, <a href="https://svn.boost.org/trac/boost/ticket/2918">#2918</a>, <a href="https://svn.boost.org/trac/boost/ticket/4238">#4238</a>, <a href="https://svn.boost.org/trac/boost/ticket/3269">#3269</a>, <a href="https://svn.boost.org/trac/boost/ticket/3178">#3178</a>, <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>). </div> </li> <li> <div> Fixes for other miscellaneous issues (remove warnings, support newer compilers, etc.) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/tr1/index.html">TR1</a>:</span> <ul> <li> <div> Fixed VC10 support. </div> </li> <li> <div> <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">result_of</span></code> always uses the TR1 ResultOf protocol, even on compilers that support the C++0x <code><span class="identifier">decltype</span></code>-based implementation. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/type_traits/index.html">Type Traits</a>:</span> <ul> <li> <div> Added support for rvalue references throughout the library, plus two new traits classes is_rvalue_reference and is_lvalue_reference. Fixes <a href="https://svn.boost.org/trac/boost/ticket/4407">#4407</a> and <a href="https://svn.boost.org/trac/boost/ticket/3804">#3804</a>. </div> </li> <li> <div> Fixed ticket <a href="https://svn.boost.org/trac/boost/ticket/3621">#3621</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/numeric/ublas/index.html">uBLAS</a>:</span> <ul> <li> <div> New assignment operators to feed in vectors and matrices in many nice ways (<a href="http://svn.boost.org/trac/boost/ticket/4034">#4034</a>). Thank you Nasos </div> </li> <li> <div> New doxygen-based <a href="/libs/numeric/ublas/doc/html/index.html">documentation</a> </div> </li> <li> <div> Enable arithmetic operators (+,-,*,/) to work between ublas containers of std::complex and integral types (<a href="http://svn/boost/org/trac/boost/ticket/3649">#3649</a>). Thank you Neal </div> </li> <li> <div> Removed unused variables in functional.hpp (<a href="http://svn.boost.org/trac/boost/ticket/4377">#4377</a>). Thank you Marco </div> </li> <li> <div> New matrix_indirect and vector_indirect views to access elements with a matrix or vector of indices </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/utility/index.html">Utility</a>:</span> <ul> <li> <div> Added a new template class, <a href="/libs/utility/value_init.htm#initialized"><code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">initialized</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code></a>, in order to fix <a href="https://svn.boost.org/trac/boost/ticket/3472">#3472</a>. </div> </li> <li> <div> New version of <code><span class="identifier">value_initialized</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> no longer calls <code><span class="identifier">memset</span></code> when the compiler has implemented value-initialization completely (<a href="https://svn.boost.org/trac/boost/ticket/3869">#3869</a>). </div> </li> <li> <div> New template <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tr1_result_of</span></code> that implements the TR1 ResultOf protocol even if <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code> uses the C++0x <code><span class="identifier">decltype</span></code>-based implementation. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/uuid/index.html">Uuid</a>:</span> <ul> <li> <div> Define <code><span class="identifier">BOOST_UUID_NO_TYPE_TRAITS</span></code> to remove the dependency on Boost.TypeTraits. </div> </li> <li> <div> Stream <code><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code> handles left, internal, and right manipulators. </div> </li> <li> <div> Added <code><span class="identifier">to_string</span></code>, <code><span class="identifier">to_wstring</span></code> to convert a uuid to a string. </div> </li> <li> <div> Fixed minor bugs in documentation. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/libs/wave/index.html">Wave</a>:</span> See the <a href="/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> <li> <div> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> <ul> <li> <div> Replace non-portable <code><span class="keyword">using</span></code> declarations with <code><span class="keyword">typedef</span></code>s in <code><span class="identifier">nested_results</span></code>. </div> </li> <li> <div> Support user-defined assertions with placeholders for non-local variables. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_44_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> Significantly faster. </div> </li> <li> <div> Improved syntax highlighter. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> <ul> <li> <div> Use the cygwin 1.7 API for better path handling. </div> </li> <li> <div> Improved boostbook generation. </div> </li> <li> <div> Tweak the grammar to clean up some edge cases. </div> </li> <li> <div> For more detail see the <a href="/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0">change log</a>. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_44_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> OS X: <ul> <li> <div> GCC 4.0.1 on Intel Leopard. </div> </li> </ul> </div> </li> <li> <div> Linux: <ul> <li> <div> GCC 4.4 on 64-bit Suse. </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 7.1 SP1, 8.0 SP1, 9.0 SP1 and 10.0. </div> </li> <li> <div> GCC 4.3.3, using Mingw. </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 32 and 64 bit. </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Intel 10.1 on 32 bit Red Hat Enterprise Linux. </div> </li> <li> <div> Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux. </div> </li> <li> <div> GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux. </div> </li> <li> <div> GCC, with C++0x extensions, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux. </div> </li> <li> <div> GCC 4.4 on 64 bit Suse. </div> </li> <li> <div> QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise Linux. </div> </li> <li> <div> Clang from subversion (will be released with LLVM 2.8). </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. </div> </li> <li> <div> GCC 4.0.1, 4.2.1 (Apple build). </div> </li> <li> <div> GCC 4.4 </div> </li> <li> <div> GCC, with C++0x extensions, 4.4 </div> </li> <li> <div> Clang from subversion (will be released with LLVM 2.8). </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 7.1 SP, 8.0, 9.0 on 32-bit XP. </div> </li> <li> <div> Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. </div> </li> <li> <div> Visual C++ 10.0 on XP. </div> </li> <li> <div> Visual C++ 10.0 on 64-bit Windows 7. </div> </li> <li> <div> Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). </div> </li> <li> <div> Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. </div> </li> <li> <div> GCC 4.3.3, 4.5 on Mingw. </div> </li> <li> <div> GCC, with C++0x extensions, 4.5 on Mingw. </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition, V11.1.0.0, on AIX Version 5.3.0.40. </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1 on FreeBSD 7.2, 64 bit. </div> </li> <li> <div> GCC 4.2.1 on FreeBSD 8.0, 32 bit. </div> </li> </ul> </div> </li> <li> <div> Solaris: <ul> <li> <div> Sun C++ 5.10 on Solaris 5.10. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_44_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> <p> Thanks to Marshall Clow for organizing the bug sprint and to everyone who took part. </p> </div> </div>Version 1.43.0Thu 6 May 2010 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Functional/Factory, Functional/Forward. Major Update: Range. Updated Libraries: Accumulators, Array, Asio, Fusion, Iostreams, Multi-index Containers, Proto, Random, Spirit, Thread, Unordered, Uuid, Wave, Xpressive. Also, updates to the build system and quickbook. </span></span>http://sourceforge.net/projects/boost/files/boost/1.43.0/<div class="description"> <div id="version_1_43_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/functional/factory/index.html">Functional/factory</a>:</span> Function objects for dynamic and by-value construction, from Tobias Schwinger. </li> <li> <span class="library"><a href="/libs/functional/forward/index.html">Functional/forward</a>:</span> Function object adapters to address the forwarding problem, from Tobias Schwinger. </li> </ul> </div> <div id="version_1_43_0.major_updates"> <h3><span class="link">Major Updates</span></h3> <ul> <li> <span class="library"><a href="/libs/range/index.html">Range</a>:</span> Boost.Range has undergone extensive updates that it include all of the features from the recently reviewed Boost.RangeEx, from Neil Groves. <ul> <li> Range-based version of the full STL iterator based algorithms. </li> <li> Range adaptors which can be combined with range-based algorithms for unprecedented expressiveness and efficiency. </li> <li> New functions: irange, istream_range, join, combine. </li> </ul> </li> </ul> </div> <div id="version_1_43_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/accumulators/index.html">Accumulators</a>:</span> <ul> <li> Avoid premature template evaluation in operator overload return types. </li> </ul> </li> <li> <span class="library"><a href="/libs/array/index.html">Array</a>:</span> <ul> <li> Added support for SunCC compiler. </li> <li> Added 'fill' member function. </li> <li> Changed exception code to use boost::throw_exception. </li> </ul> </li> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> Improved performance. </li> <li> Reduced compile times. </li> <li> Reduced the size of generated code. </li> <li> Extended the guarantee that background threads don't call user code to all asynchronous operations (<a href="https://svn.boost.org/trac/boost/ticket/3923">#3923</a>). </li> <li> Changed to use edge-triggered epoll on Linux. </li> <li> Changed to use <code><span class="identifier">timerfd</span></code> for dispatching timers on Linux, when available. </li> <li> Changed to use one-shot notifications with kqueue on Mac OS X and BSD platforms. </li> <li> Added a bitmask type <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span></code> as per the TR2 proposal. This type prevents implicit conversion from <code><span class="keyword">int</span></code> to <code><span class="identifier">flags</span></code>, allowing the compiler to catch cases where users incorrectly pass a numeric port number as the service name. </li> <li> Added <code><span class="preprocessor">#define</span> <span class="identifier">NOMINMAX</span></code> for all Windows compilers. Users can define <code><span class="identifier">BOOST_ASIO_NO_NOMINMAX</span></code> to suppress this definition (<a href="https://svn.boost.org/trac/boost/ticket/3901">#3901</a>). </li> <li> Fixed a bug where 0-byte asynchronous reads were incorrectly passing an <code><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code> result to the completion handler (<a href="https://svn.boost.org/trac/boost/ticket/4023">#4023</a>). </li> <li> Changed the <code><span class="identifier">io_control</span><span class="special">()</span></code> member functions to always call <code><span class="identifier">ioctl</span></code> on the underlying descriptor when modifying blocking mode (<a href="https://svn.boost.org/trac/boost/ticket/3307">#3307</a>). </li> <li> Changed the resolver implementation to longer require the typedefs <code><span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">resolver_query</span></code> and <code><span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">resolver_iterator</span></code>, as neither typedef is part of the documented <code><span class="identifier">InternetProtocol</span></code> requirements. The corresponding typedefs in the <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span></code>, <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span></code> and <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span></code> classes have been deprecated. </li> <li> Fixed out-of-band handling for reactors not based on <code><span class="identifier">select</span><span class="special">()</span></code>. </li> <li> Added new <code><span class="identifier">BOOST_ASIO_DISABLE_THREADS</span></code> macro that allows Asio's threading support to be independently disabled. </li> <li> Minor documentation improvements. </li> </ul> </li> <li> <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> <ul> <li> Added new macros for adapting or defining custom types. See the <a href="/libs/fusion/doc/html/fusion/change_log.html">Changelog</a> for details. </li> </ul> </li> <li> <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> <ul> <li> Minor fixes (<a href="https://svn.boost.org/trac/boost/ticket/2505">#2505</a>, <a href="https://svn.boost.org/trac/boost/ticket/3839">#3839</a>, <a href="https://svn.boost.org/trac/boost/ticket/3953">#3953</a>, <a href="https://svn.boost.org/trac/boost/ticket/3723">#3723</a>, <a href="https://svn.boost.org/trac/boost/ticket/3969">#3969</a>, <a href="https://svn.boost.org/trac/boost/ticket/4135">#4135</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/multi_index/doc/index.html">Multi-index Containers</a>:</span> <ul> <li> <a href="/libs/serialization/doc/serialization.html#constructors">Serialization of non default constructible values</a> is now properly supported through user-provided facilities <code><span class="identifier">save_construct_data</span></code> and <code><span class="identifier">load_construct_data</span></code>. <code><span class="identifier">multi_index_container</span></code> serialization <a href="/libs/serialization/doc/tutorial.html#versioning">class version</a> has been bumped from 1 to 2. </li> </ul> </li> <li> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> Minor change in behavior: non-const expression self-assignment creates an assign node. See Proto's <a href="/doc/html/proto/appendices.html#boost_proto.appendices.release_notes.boost_1_43">Release Notes</a> for details. </li> <li> Minor change to recommended expression extension mechanism: use <code><span class="identifier">BOOST_PROTO_EXTENDS_USING_ASSIGN</span><span class="special">()</span></code>. See Proto's <a href="/doc/html/proto/appendices.html#boost_proto.appendices.release_notes.boost_1_43">Release Notes</a> for details. </li> <li> Fix error in invocation of callable monomorphic function objects in Proto transforms. </li> <li> Fix misc const correctness issues, work around fusion bug. </li> <li> Add non-const function call overloads to proto terminals. </li> <li> Add a default constructor to <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">literal</span><span class="special">&lt;&gt;</span></code>. </li> <li> Do not use deprecated config macros. </li> <li> Add <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">assert_matches</span><span class="special">()</span></code> function and friends to <tt>&lt;boost/proto/debug.hpp&gt;</tt>. </li> <li> <code><span class="identifier">functional</span><span class="special">::</span><span class="identifier">make_expr</span><span class="special">&lt;&gt;</span></code> and <code><span class="identifier">functional</span><span class="special">::</span><span class="identifier">unpack_expr</span><span class="special">&lt;&gt;</span></code> return const-qualified rvalues. </li> <li> Add documentation for Expr and Domain concepts. </li> </ul> </li> <li> <span class="library"><a href="/libs/random/index.html">Random</a>:</span> <ul> <li> Put the implementation of random_device in a compiled lib, and added Windows support. </li> <li> Rewrote the documentation using Quickbook/Doxygen/Boostbook and brought it up to date. </li> </ul> </li> <li> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> Spirit V2.3, see the '<a href="/doc/libs/1_43_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html">What's New</a>' section for details. </li> <li> <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> <ul> <li> Uses <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">throw_exception</span></code> for all exceptions except <code><span class="identifier">thread_interrupted</span></code> </li> <li> Added fix for issue 2742 </li> <li> Optimizations to mutex locks and <code><span class="identifier">call_once</span></code> </li> </ul> </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> <ul> <li> <code><span class="identifier">erase_return_void</span></code> is now <code><span class="identifier">quick_erase</span></code> (<a href="http://svn.boost.org/trac/boost/ticket/3966">#3966</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/uuid/index.html">Uuid</a>:</span> <ul> <li> Split generators into separate files. </li> <li> Fixed bug in basic_random_generator (<a href="https://svn.boost.org/trac/boost/ticket/3971">#3971</a>). </li> <li> Updated documentation. </li> </ul> </li> <li> <span class="library"><a href="/libs/wave/index.html">Wave</a>:</span> See the <a href="/libs/wave/ChangeLog">Changelog</a> for details. </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> <ul> <li> Add missing include to <tt>&lt;boost/xpressive/regex_error.hpp&gt;</tt>. </li> </ul> </li> </ul> </div> <div id="version_1_43_0.build_system"> <h3><span class="link">Build System</span></h3> <ul> <li> When cross-compiling to GNU targets, static libraries are properly created. Previously, using such libraries resulted in <tt>Archive has no index</tt> error. </li> <li> The naming of DLL and import libraries with gcc compiler on Windows, both mingw and cygwin, now matches default conventions of those environments. Previously, the naming scheme was the same as for other Windows compilers. </li> </ul> </div> <div id="version_1_43_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> <ul> <li> Unicode escape characters. </li> <li> Support the UTF-8 byte order mark. </li> <li> Disallow <code><span class="special">[</span></code> in simple markup. Fixes some errors with mismatched punctuation. </li> <li> Add a command line flag (<code><span class="special">-</span><span class="identifier">D</span></code>) to define macros at the command line. </li> <li> Improved post-processor output. </li> <li> Check that <code><span class="special">[</span><span class="identifier">section</span><span class="special">]</span></code> and <code><span class="special">[</span><span class="identifier">endsect</span><span class="special">]</span></code> tags are balanced in templates. </li> </ul> </li> </ul> </div> <div id="version_1_43_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> OS X: <ul> <li> GCC 4.0.1 on Intel Leopard. </li> </ul> </li> <li> Linux: <ul> <li> GCC 4.4.1 on Ubuntu Linux. </li> <li> GCC 4.4 on 64-bit Suse. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 8.0 SP1 and 9.0 SP1 on Windows XP. </li> <li> GCC 4.3.3, using Mingw </li> </ul> </li> <li> FreeBSD: <ul> <li> GCC 4.2.1, 32 and 64 bit. </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> Linux: <ul> <li> Intel 10.1, 11.1 on 32 bit Red Hat Enterprise Linux. </li> <li> Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux. </li> <li> GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3 on Red Hat Enterprise Linux. </li> <li> GCC 4.3.4, 4.4.3 with C++0x extensions on Red Hat Enterprise Linux. </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise Linux. </li> </ul> </li> <li> OS X: <ul> <li> Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. </li> <li> GCC 4.0.1 on Intel Leopard. </li> <li> Clang from subversion. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 8,0, 9,0 on 32-bit XP. </li> <li> Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. </li> <li> Visual C++ 10.0 on XP. </li> <li> Visual C++ 10.0 on 64-bit Windows 7. </li> <li> Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). </li> <li> Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. </li> <li> GCC 4.3.3 on Mingw. </li> <li> GCC 4.4.3 on Mingw, with and without C++0x extensions. </li> <li> GCC 4.5 on Mingw. </li> </ul> </li> <li> AIX: <ul> <li> IBM XL C/C++ Enterprise Edition, V10.1.0.0, on AIX Version 5.3.0.40. </li> </ul> </li> <li> FreeBSD: <ul> <li> GCC 4.2.1 on FreeBSD 7.2, 64 bit. </li> <li> GCC 4.2.1 on FreeBSD 8.0, 32 bit. </li> </ul> </li> <li> Solaris: <ul> <li> Sun C++ 5.10 on Solaris 5.10. </li> </ul> </li> </ul> </div> <div id="version_1_43_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>Version 1.42.0Tue 2 Feb 2010 14:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Uuid. Updated Libraries: Asio, Circular Buffer, Fusion, Graph, Integer, Iostreams, Program.Options, PropertyMap, Proto, Regex, Spirit, Unordered, Xpressive. </span></span>http://sourceforge.net/projects/boost/files/boost/1.42.0/<div class="description"> <div id="version_1_42_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/uuid/index.html">Uuid</a>:</span> A universally unique identifier, from Andy Tompkins. </li> </ul> </div> <div id="version_1_42_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> Added a new HTTP Server 4 example illustrating the use of stackless coroutines with Asio. </li> <li> Changed handler allocation and invocation to use <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span></code> to get the address of handler objects, rather than applying <code><span class="keyword">operator</span><span class="special">&amp;</span></code> directly (<a href="https://svn.boost.org/trac/boost/ticket/2977">#2977</a>). </li> <li> Restricted MSVC buffer debugging workaround to 2008, as it causes a crash with 2010 beta 2 (<a href="https://svn.boost.org/trac/boost/ticket/3796">#3796</a>, <a href="https://svn.boost.org/trac/boost/ticket/3822">#3822</a>). </li> <li> Fixed a problem with the lifetime of handler memory, where Windows needs the <code><span class="identifier">OVERLAPPED</span></code> structure to be valid until both the initiating function call has returned and the completion packet has been delivered. </li> <li> Don't block signals while performing system calls, but instead restart the calls if they are interrupted. </li> <li> Documented the guarantee made by strand objects with respect to order of handler invocation. </li> <li> Changed strands to use a pool of implementations, to make copying of strands cheaper. </li> <li> Ensured that kqueue support is enabled for BSD platforms (<a href="https://svn.boost.org/trac/boost/ticket/3626">#3626</a>). </li> <li> Added a <code><span class="identifier">boost_</span></code> prefix to the <code><span class="keyword">extern</span> <span class="string">&quot;C&quot;</span></code> thread entry point function (<a href="https://svn.boost.org/trac/boost/ticket/3809">#3809</a>). </li> <li> In <code><span class="identifier">getaddrinfo</span></code> emulation, only check the socket type (<code><span class="identifier">SOCK_STREAM</span></code> or <code><span class="identifier">SOCK_DGRAM</span></code>) if a service name has been specified. This should allow the emulation to work with raw sockets. </li> <li> Added a workaround for some broken Windows firewalls that make a socket appear bound to 0.0.0.0 when it is in fact bound to 127.0.0.1. </li> <li> Applied a fix for reported excessive CPU usage under Solaris (<a href="https://svn.boost.org/trac/boost/ticket/3670">#3670</a>). </li> <li> Added some support for platforms that use older compilers such as g++ 2.95 (<a href="https://svn.boost.org/trac/boost/ticket/3743">#3743</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/circular_buffer/index.html">Circular Buffer</a>:</span> <ul> <li> Added methods erase_begin(size_type) and erase_end(size_type) with constant complexity for such types of stored elements which do not need an explicit destruction e.g. int or double. </li> <li> Similarly changed implementation of the clear() method and the destructor so their complexity is now constant for such types of stored elements which do not require an explicit destruction (the complexity for other types remains linear). </li> </ul> </li> <li> <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> <ul> <li> The accumulator is the first argument to the functor of <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">fold</span></code> and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">accumulate</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/2355">#2355</a>). </li> <li> Added support for associative iterators and views (<a href="https://svn.boost.org/trac/boost/ticket/3473">#3473</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/graph/index.html">Graph</a>:</span> <ul> <li> Removed old interface to <code><span class="identifier">compressed_sparse_row_graph</span></code>, making new interface the default. </li> </ul> </li> <li> <span class="library"><a href="/libs/integer/index.html">Integer</a>:</span> <ul> <li> Reverted Trunk to release branch state (i.e. a &quot;known good state&quot;). </li> <li> Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/653">653</a>, <a href="https://svn.boost.org/trac/boost/ticket/3084">3084</a>, <a href="https://svn.boost.org/trac/boost/ticket/3177">3177</a>, <a href="https://svn.boost.org/trac/boost/ticket/3180">3180</a>, <a href="https://svn.boost.org/trac/boost/ticket/3548">3568</a>, <a href="https://svn.boost.org/trac/boost/ticket/3657">3657</a>, <a href="https://svn.boost.org/trac/boost/ticket/2134">2134</a>. </li> <li> Added long long support to <tt>boost::static_log2</tt>, <tt>boost::static_signed_min</tt>, <tt>boost::static_signed_max</tt>, <tt>boost::static_unsigned_min</tt><tt>boost::static_unsigned_max</tt>, when available. </li> <li> The argument type and the result type of <tt>boost::static_signed_min</tt> etc are now typedef'd. Formerly, they were hardcoded as <tt>unsigned long</tt> and <tt>int</tt> respectively. Please, use the provided typedefs in new code (and update old code as soon as possible). </li> </ul> </li> <li> <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> <ul> <li> Fixed many outstanding issues. Thanks to Richard Smith for his work on this. (<a href="https://svn.boost.org/trac/boost/ticket/3612">#3612</a>, <a href="https://svn.boost.org/trac/boost/ticket/3311">#3311</a>, <a href="https://svn.boost.org/trac/boost/ticket/2094">#2094</a>, <a href="https://svn.boost.org/trac/boost/ticket/3010">#3010</a>, <a href="https://svn.boost.org/trac/boost/ticket/2894">#2894</a>, <a href="https://svn.boost.org/trac/boost/ticket/3011">#3011</a>, <a href="https://svn.boost.org/trac/boost/ticket/3352">#3352</a>, <a href="https://svn.boost.org/trac/boost/ticket/3505">#3505</a>). </li> <li> For more information see the <a href="/libs/iostreams/doc/release_notes.html">library release notes</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/program_options/index.html">Program.Options</a>:</span> <ul> <li> Information about option name added to a few exception classes and various clean ups in exception classes (<a href="https://svn.boost.org/trac/boost/ticket/3423">#3423</a>). </li> <li> Description wordwrapping in presense of default parameters fixed (<a href="https://svn.boost.org/trac/boost/ticket/2613">#2613</a>). </li> <li> Empty value in configuration file is now permitted (<a href="https://svn.boost.org/trac/boost/ticket/1537">#1537</a>). </li> <li> Quotes are no longer stripped from string values (<a href="https://svn.boost.org/trac/boost/ticket/850">#850</a>). </li> <li> Fix endless loop in case of long default arguments (<a href="https://svn.boost.org/trac/boost/ticket/689">#689</a>). </li> <li> Fix compile warning caused by usage of boost::any (<a href="https://svn.boost.org/trac/boost/ticket/2562">#2562</a>). </li> <li> Fix memory bug in example/response_file.cpp (<a href="https://svn.boost.org/trac/boost/ticket/3525">#3525</a>). </li> <li> Most compilation warnings were fixed (<a href="https://svn.boost.org/trac/boost/ticket/3608">#3608</a>). </li> <li> Make column width for description text configurable. (<a href="https://svn.boost.org/trac/boost/ticket/3703">#3703</a>). </li> <li> Add general split function: split_unix() (<a href="https://svn.boost.org/trac/boost/ticket/2561">#2561</a>). </li> <li> Enable open config files from given file name (<a href="https://svn.boost.org/trac/boost/ticket/3264">#3264</a>). </li> <li> Additional flag for required options (<a href="https://svn.boost.org/trac/boost/ticket/2982">#2982</a>). </li> <li> Enable case insensitive style for command line (<a href="https://svn.boost.org/trac/boost/ticket/3498">#3498</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/property_map/index.html">PropertyMap</a>:</span> <ul> <li> Removed old header files (directly in the <code><span class="identifier">boost</span><span class="special">/</span></code> directory); they were deprecated since 1.40, replaced by headers in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">/</span></code>. </li> </ul> </li> <li> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> Fix const correctness issues with <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">flatten</span></code> and friends (<a href="https://svn.boost.org/trac/boost/ticket/3364">#3364</a>). </li> <li> Accomodate recent change to <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">fold</span></code>, remove old support for Doxygen and pre-1.35 Fusion (<a href="https://svn.boost.org/trac/boost/ticket/3553">#3553</a>). </li> <li> In binary operations, when one operand has a user-specified domain and the other has the default domain, the user-specified domain trumps. </li> <li> Fix <code><span class="identifier">BOOST_PROTO_EXTENDS</span></code> to work with elaborated types. </li> <li> Work around EDG compiler bug with function types and cv-qualification. </li> </ul> </li> <li> <span class="library"><a href="/libs/regex/index.html">Regex</a>:</span> <ul> <li> Added support for Functors rather than strings as format expressions. </li> <li> Improved error reporting when throwing exceptions to include better more relevant information. </li> <li> Improved performance and reduced stack usage of recursive expressions. </li> <li> Fixed tickets <a href="https://svn.boost.org/trac/boost/ticket/2802">#2802</a>, <a href="https://svn.boost.org/trac/boost/ticket/3425">#3425</a>, <a href="https://svn.boost.org/trac/boost/ticket/3507">#3507</a>, <a href="https://svn.boost.org/trac/boost/ticket/3546">#3546</a>, <a href="https://svn.boost.org/trac/boost/ticket/3631">#3631</a>, <a href="https://svn.boost.org/trac/boost/ticket/3632">#3632</a>, <a href="https://svn.boost.org/trac/boost/ticket/3715">#3715</a>, <a href="https://svn.boost.org/trac/boost/ticket/3718">#3718</a>, <a href="https://svn.boost.org/trac/boost/ticket/3763">#3763</a>, <a href="https://svn.boost.org/trac/boost/ticket/3764">#3764</a> </li> </ul> </li> <li> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> Spirit V2.2, see the '<a href="/doc/libs/1_42_0/libs/spirit/doc/html/spirit/what_s_new.html">What's New</a>' section for details. </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> <ul> <li> Support instantiating the containers with incomplete value types. </li> <li> Add <code><span class="identifier">erase_return_void</span></code> as a temporary workaround for the current <code><span class="identifier">erase</span></code> which can be inefficient because it has to find the next element to return an iterator (<a href="http://svn.boost.org/trac/boost/ticket/3693">#3693</a>). </li> <li> Add templated find overload for compatible keys. </li> <li> Improved codegear compatibility. </li> <li> Other minor changes, full details in <a href="/doc/html/unordered/changes.html#unordered.changes.boost_1_42_0">the changelog</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> <ul> <li> <code><span class="identifier">match_results</span></code> no longer relies on undefined behavior in <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/3278">#3278</a>). </li> <li> Do NOT copy singular iterators (<a href="https://svn.boost.org/trac/boost/ticket/3538">#3538</a>). </li> <li> Eliminate gcc and darwin warnings (<a href="https://svn.boost.org/trac/boost/ticket/3734">#3734</a>). </li> </ul> </li> </ul> </div> <div id="version_1_42_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> OS X: <ul> <li> GCC 4.0.1 on Intel Leopard. </li> <li> GCC 4.0.1 on PowerPC Tiger. </li> </ul> </li> <li> Linux: <ul> <li> GCC 4.4.1 on Ubuntu Linux. </li> <li> GCC 4.4 on Debian. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. </li> <li> Visual C++ 9.0 on Windows 2008, 64 bit. </li> <li> GCC 4.3.3, using Mingw </li> </ul> </li> <li> FreeBSD: <ul> <li> GCC 4.2.1, 32 and 64 bit. </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> Linux: <ul> <li> Intel 10.1 on Red Hat Enterprise Linux. </li> <li> Intel 10.1 on 64 bit Red Hat Enterprise Linux. </li> <li> Intel 11.0 on 32 bit Red Hat Enterprise Linux. </li> <li> Intel 11.0 on 64 bit Red Hat Enterprise Linux. </li> <li> Intel 11.1 on 64 bit Red Hat Enterprise Linux. </li> <li> Intel 11.1 on 64 bit Linux Redhat 5.1 Server. </li> <li> Intel 11.1 on Suse Linux 64 bit. </li> <li> GCC 3.4.6, GCC 4.2.4, GCC 4.3.4 and GCC 4.4.2 on Red Hat Enterprise Linux. </li> <li> GCC 4.3.4 and GCC 4.4.2 with C++0x extensions on Red Hat Enterprise Linux. </li> <li> GCC 4.4.1 on 64 bit Linux. </li> <li> GCC 4.4.3 on Debian unstable. </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise Linux. </li> </ul> </li> <li> OS X: <ul> <li> Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. </li> <li> GCC 4.0.1 on Intel Leopard. </li> <li> GCC 4.0.1 on PowerPC Tiger. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1, 8,0, 9,0 on XP. </li> <li> Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. </li> <li> Visual C++ 10.0 beta 2. </li> <li> Visual C++ 10.0 on 32-bit Vista. </li> <li> Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). </li> <li> Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. </li> <li> GCC 4.4.1 on Mingw, with and without C++0x extensions. </li> </ul> </li> <li> AIX: <ul> <li> IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40. </li> </ul> </li> <li> FreeBSD: <ul> <li> GCC 4.2.1 on FreeBSD 7.0, 32 bit and 64 bit. </li> </ul> </li> <li> Solaris: <ul> <li> Sun C++ 5.10 on Solaris 5.10. </li> </ul> </li> </ul> </div> <div id="version_1_42_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>Version 1.41.0Tue, 17 Nov 2009 17:00:00 GMT<span class="brief"><span class="purpose"> New Library: Property Tree. Updated libraries: DateTime, Filesystem, Iostreams, Math, Multi-index Containers, Proto, Python, Regex, Spirit, System, Thread, Unordered, Utility, Wave, Xpressive. Updates to boost build and quickbook. The CMake build system for Boost, still under development <a href="http://sodium.resophonic.com/boost-cmake/current-docs/">here</a>, has been removed from the main release to avoid confusion. </span></span>http://sourceforge.net/projects/boost/files/boost/1.41.0/<div class="description"> <div id="version_1_41_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/property_tree/index.html">Property Tree</a>:</span> A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl. </li> </ul> </div> <div id="version_1_41_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/date_time/index.html">DateTime</a>:</span> <ul> <li> The default format for time durations is now &quot;<code><span class="special">%-%</span><span class="identifier">O</span><span class="special">:%</span><span class="identifier">M</span><span class="special">:%</span><span class="identifier">S</span><span class="special">%</span><span class="identifier">F</span></code>&quot; instead of &quot;<code><span class="special">%-%</span><span class="identifier">H</span><span class="special">:%</span><span class="identifier">M</span><span class="special">:%</span><span class="identifier">S</span><span class="special">%</span><span class="identifier">F</span></code>&quot; that was used previously. In order to retain the old behavior, the format string has to be specified explicitly during the time IO facet construction (<a href="https://svn.boost.org/trac/boost/ticket/1861">#1861</a>). </li> <li> Gregorian dates now use 32-bit integer type internally on 64-bit platforms (<a href="https://svn.boost.org/trac/boost/ticket/3308">#3308</a>). </li> <li> See the <a href="/doc/html/date_time/details.html#date_time.changes">full changelog</a> for more detail. </li> </ul> </li> <li> <span class="library"><a href="/libs/filesystem/index.html">Filesystem</a>:</span> <ul> <li> Bug fixes: (<a href="https://svn.boost.org/trac/boost/ticket/3385">#3385</a>). (<a href="https://svn.boost.org/trac/boost/ticket/3528">#3528</a>). (<a href="https://svn.boost.org/trac/boost/ticket/3509">#3509</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> Some old unreleased developments. There are still several open issues that should be fixed in the next version. <ul> <li> Add a grep filter (<a href="https://svn.boost.org/trac/boost/ticket/1627">#1627</a>). </li> <li> Support archives with multiple members (<a href="https://svn.boost.org/trac/boost/ticket/1896">#1896</a>). </li> <li> Make <code><span class="identifier">tee</span></code> work with input streams (<a href="https://svn.boost.org/trac/boost/ticket/791">#791</a>). </li> <li> Improved filesystem interoperability. </li> <li> Several warnings fixed or suppressed (including <a href="https://svn.boost.org/trac/boost/ticket/1618">#1618</a>, <a href="https://svn.boost.org/trac/boost/ticket/1875">#1875</a>, <a href="https://svn.boost.org/trac/boost/ticket/2779">#2779</a>). </li> <li> Various other fixes (including <a href="https://svn.boost.org/trac/boost/ticket/1580">#1580</a>, <a href="https://svn.boost.org/trac/boost/ticket/1671">#1671</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/math/index.html">Math</a>:</span> Substantially improved the performance of the incomplete gamma function and it's inverse: this enhances the performance of the gamma, poisson, chi-squared and non-central chi-squared distributions. </li> <li> <span class="library"><a href="/libs/multi_index/doc/index.html">Multi-index Containers</a>:</span> Maintenance fixes. Consult the library <a href="/libs/multi_index/doc/release_notes.html#boost_1_41">release notes</a> for further information. </li> <li> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> Clean up some MSVC warnings and errors in /Za (disable Microsoft extensions) mode. </li> <li> Fixes for c++0x mode on various compilers. </li> </ul> </li> <li> <span class="library"><a href="/libs/python/index.html">Python</a>:</span> Boost.Python now supports Python 3 (Haoyu Bai's Google Summer of Code project, mentored by Stefan Seefeld). </li> <li> <span class="library"><a href="/libs/regex/index.html">Regex</a>:</span> Added support for many Perl 5.10 syntax elements including named sub-expressions, branch resets and recursive regular expressions. </li> <li> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> This is the initial official release of the new Spirit V2.1, a completely new library for parsing, lexing, and output generation. Note: this release is not backwards compatible with earlier versions. Known issue: <code><span class="identifier">qi</span><span class="special">::</span><span class="identifier">symbol</span><span class="special">::</span><span class="identifier">find</span></code> will match a symbol that starts with the string you're searching for. This will be fixed in the next version. </li> <li> <span class="library"><a href="/libs/system/index.html">System</a>:</span> <ul> <li> Bug fix: (<a href="https://svn.boost.org/trac/boost/ticket/3559">#3559</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> <ul> <li> Support for futures, promises and packaged tasks added </li> <li> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread_specific_ptr</span></code> is now faster when there are lots of thread-specific objects </li> <li> Some Boost.Thread facilities are now header-only </li> </ul> </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> Major update: <ul> <li> Replaced a lot of the macro based implementation with a cleaner template based implementation. </li> <li> Reduced memory use. </li> <li> Full details in <a href="/doc/html/unordered/changes.html#unordered.changes.boost_1_41_1">the changelog</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/utility/index.html">Utility</a>:</span> A &quot;const&quot; issue of <code><span class="identifier">value_initialized</span></code> is fixed: Its <code><span class="identifier">data</span><span class="special">()</span></code> member function and its conversion operator are replaced by overloads for const and non-const access (<a href="https://svn.boost.org/trac/boost/ticket/2548">#2548</a>). </li> <li> <span class="library"><a href="/libs/wave/index.html">Wave</a>:</span> See the <a href="/libs/wave/ChangeLog">changelog</a> for details. </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> <ul> <li> Fix infinite loop with some uses of <tt>\Q...\E</tt> quotemeta (<a href="https://svn.boost.org/trac/boost/ticket/3586">#3586</a>). </li> <li> Eliminate unreachable code warnings on MSVC </li> <li> Clean up some MSVC warnings and errors in /Za (&quot;disable Microsoft extensions&quot;) mode. </li> <li> Fixes for c++0x mode on various compilers. </li> </ul> </li> </ul> </div> <div id="version_1_41_0.build_system"> <h3><span class="link">Build System</span></h3> <p> A bug preventing &quot;fat&quot; 32-bit + 64-bit builds on OSX has been fixed. </p> </div> <div id="version_1_41_0.boost_cmake_moved"> <h3><span class="link">Boost.CMake moved</span></h3> <p> The cmake version of boost has moved; the Boost.CMmake release will be separate and will lag the main release slightly, but will also be capable of producing patch releases as necessary. </p> <p> More information on the <a href="https:://svn.boost.org/trac/boost/wiki/CMake">Boost CMake wiki page</a>. </p> </div> <div id="version_1_41_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <span class="library"><a href="/tools/quickbook/index.html">Quickbook 1.5</a>:</span> These changes require your document to use the <code><span class="special">[</span><span class="identifier">quickbook</span> <span class="number">1.5</span><span class="special">]</span></code> tag: <ul> <li> More intuitive syntax and variable lookup for template calls (<a href="https://svn.boost.org/trac/boost/ticket/1174">#1174</a>, <a href="https://svn.boost.org/trac/boost/ticket/2034">#2034</a>, <a href="https://svn.boost.org/trac/boost/ticket/2036">#2036</a>). </li> <li> Image attributes (<a href="https://svn.boost.org/trac/boost/ticket/1157">#1157</a>) </li> <li> Table Ids (<a href="https://svn.boost.org/trac/boost/ticket/1194">#1194</a>) </li> <li> Better handling of whitespace in <code><span class="identifier">section</span></code> syntax. (<a href="https://svn.boost.org/trac/boost/ticket/2712">#2712</a>) </li> </ul> </li> </ul> </div> <div id="version_1_41_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> OS X: <ul> <li> GCC 4.0.1 on Intel Tiger and Leopard. </li> <li> GCC 4.0.1 on PowerPC Tiger. </li> </ul> </li> <li> Linux: <ul> <li> GCC 4.4.1 on Ubuntu Linux. </li> <li> GCC 4.4 on Debian </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> Linux: <ul> <li> Intel 10.1 on Red Hat Enterprise Linux. </li> <li> Intel 10.1 on 64-bit Red Hat Enterprise Linux. </li> <li> Intel 10.1 on Suse Linux on 64 bit Itanium. </li> <li> Intel 11.0 on 32 bit Red Hat Enterprise Linux. </li> <li> Intel 11.0 on 64 bit Red Hat Enterprise Linux. </li> <li> Intel 11.1 on 64 bit Red Hat Enterprise Linux. </li> <li> Intel 11.1 on 64 bit Linux Redhat 5.1 Server. </li> <li> GCC 3.4.3, GCC 4.2.4, GCC 4.3.3 and GCC 4.4.1 on Red Hat Enterprise Linux. </li> <li> GCC 4.3.3 and GCC 4.4.1 with C++0x extensions on Red Hat Enterprise Linux. </li> <li> GCC 4.3.3 on 64-bit Redhat Server 5.1. </li> <li> GCC 4.3.3 on 64 bit Linux. </li> <li> GCC 4.3.4 on Debian unstable. </li> <li> GCC 4.3.2 on 64 bit Gentoo. </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise Linux. </li> <li> Sun 5.9 on Red Hat Enterprise Linux. </li> </ul> </li> <li> OS X: <ul> <li> Intel C++ Compiler 11.1 on Leopard. </li> <li> Intel C++ Compiler 10.1, 11.0. </li> <li> GCC 4.0.1 on Intel Tiger. </li> <li> GCC 4.0.1 on PowerPC Tiger. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1, 8,0, 9,0 on XP. </li> <li> Visual C++ 9.0 on 32-bit Vista. </li> <li> Visual C++ 9.0 on AMD 64-bit Vista. </li> <li> Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. </li> <li> Visual C++ 10.0 beta 1 with <a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=457199">a patch for the program options lib</a>. </li> <li> Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.0 (2010). </li> <li> Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. </li> <li> GCC 4.4.1 on Mingw, with and without C++0x extensions. </li> </ul> </li> <li> AIX: <ul> <li> IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40. </li> </ul> </li> <li> FreeBSD: <ul> <li> GCC 4.2.1 on FreeBSD 7.0. </li> </ul> </li> <li> Solaris: <ul> <li> Sun C++ 5.10 on Solaris 5.10. </li> </ul> </li> </ul> </div> <div id="version_1_41_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>, and Daniel James managed this release. </p> </div> </div>Version 1.40.0Thu, 27 Aug 2009 17:00:00 GMT<span class="brief"><span class="purpose"> Build System improvements. Updated Libraries: Accumulators, Asio, Circular Buffer, Foreach, Function, Fusion, Graph, Hash, Interprocess, Intrusive, MPL, Program.Options, Property Map, Proto, Random, Serialization, Unordered, Xpressive. </span></span>http://sourceforge.net/projects/boost/files/boost/1.40.0/<div class="description"> <div id="version_1_40_0.update"> <h3><span class="link">Update</span></h3> <p> Added missing notes for Graph and Property Map. </p> </div> <div id="version_1_40_0.boost_cmake"> <h3><span class="link">Boost.CMake</span></h3> <p> Boost.CMake is <em>now distributed separately</em>. The cmake build for boost is <em>BROKEN</em> in the tarballs above. See the <a href="https://svn.boost.org/trac/boost/wiki/CMake">Boost.CMake wiki page</a> for pointers to working versions. </p> </div> <div id="version_1_40_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/accumulators/index.html">Accumulators</a>:</span> <ul> <li> Works on GCC 4.4. </li> </ul> </li> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> Added a new ping example to illustrate the use of ICMP sockets. </li> <li> Changed the <code><span class="identifier">buffered</span><span class="special">*</span><span class="identifier">_stream</span><span class="special">&lt;&gt;</span></code> templates to treat 0-byte reads and writes as no-ops, to comply with the documented type requirements for <code><span class="identifier">SyncReadStream</span></code>, <code><span class="identifier">AsyncReadStream</span></code>, <code><span class="identifier">SyncWriteStream</span></code> and <code><span class="identifier">AsyncWriteStream</span></code>. </li> <li> Changed some instances of the <code><span class="keyword">throw</span></code> keyword to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">throw_exception</span><span class="special">()</span></code> to allow Asio to be used when exception support is disabled. Note that the SSL wrappers still require exception support (<a href="https://svn.boost.org/trac/boost/ticket/2754">#2754</a>). </li> <li> Made Asio compatible with the OpenSSL 1.0 beta (<a href="https://svn.boost.org/trac/boost/ticket/3256">#3256</a>). </li> <li> Eliminated a redundant system call in the Solaris <tt>/dev/poll</tt> backend. </li> <li> Fixed a bug in resizing of the bucket array in the internal hash maps (<a href="https://svn.boost.org/trac/boost/ticket/3095">#3095</a>). </li> <li> Ensured correct propagation of the error code when a synchronous accept fails (<a href="https://svn.boost.org/trac/boost/ticket/3216">#3216</a>). </li> <li> Ensured correct propagation of the error code when a synchronous read or write on a Windows HANDLE fails. </li> <li> Fixed failures reported when <code><span class="identifier">_GLIBCXX_DEBUG</span></code> is defined (<a href="https://svn.boost.org/trac/boost/ticket/3098">#3098</a>). </li> <li> Fixed custom memory allocation support for timers (<a href="https://svn.boost.org/trac/boost/ticket/3107">#3107</a>). </li> <li> Tidied up various warnings reported by g++ (<a href="https://svn.boost.org/trac/boost/ticket/1341">#1341</a>, <a href="https://svn.boost.org/trac/boost/ticket/2618">#2618</a>). </li> <li> Various documentation improvements, including more obvious hyperlinks to function overloads, header file information, examples for the handler type requirements, and adding enum values to the index (<a href="https://svn.boost.org/trac/boost/ticket/3157">#3157</a>, <a href="https://svn.boost.org/trac/boost/ticket/2620">#2620</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/circular_buffer/index.html">Circular Buffer</a>:</span> <ul> <li> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/2785">#2785</a>, <a href="https://svn.boost.org/trac/boost/ticket/3285">#3285</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/foreach/index.html">Foreach</a>:</span> <ul> <li> Workaround for conflict with Python headers (<a href="https://svn.boost.org/trac/boost/ticket/3000">#3000</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/function/index.html">Function</a>:</span> <ul> <li> Optimize the use of small target objects. </li> <li> Make Boost.Function compile under BOOST_NO_EXCEPTIONS (<a href="https://svn.boost.org/trac/boost/ticket/2499">#2499</a>, <a href="https://svn.boost.org/trac/boost/ticket/2494">#2494</a>, <a href="https://svn.boost.org/trac/boost/ticket/2469">#2469</a>, <a href="https://svn.boost.org/trac/boost/ticket/2466">#2466</a>, <a href="https://svn.boost.org/trac/boost/ticket/2900">#2900</a>) </li> <li> Various minor fixes (<a href="https://svn.boost.org/trac/boost/ticket/2642">#2642</a>, <a href="https://svn.boost.org/trac/boost/ticket/2847">#2847</a>, <a href="https://svn.boost.org/trac/boost/ticket/2929">#2929</a> <a href="https://svn.boost.org/trac/boost/ticket/3012">#3012</a>) </li> </ul> </li> <li> <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> <ul> <li> Improved compile times for <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span></code>. </li> </ul> </li> <li> <span class="library"><a href="/libs/graph/index.html">Graph</a>:</span> <ul> <li> Merged in the <a href="/libs/graph_parallel/doc/html/index.html">Parallel Boost Graph Library</a>, giving a full suite of graph algorithms and data structures for distributed-memory computers (such as clusters). </li> <li> Updates to the interface of the compressed sparse row graph, including constructors from unsorted edge lists. </li> <li> An implicit grid graph, saving memory over using the former generator. </li> <li> New algorithms: Dijkstra's single-source shortest path algorithm without a separate color map and an algorithm to find maximal common subgraphs between two graphs. </li> <li> Assorted bug fixes. </li> </ul> </li> <li> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> <ul> <li> Automatically configure the float functions using template metaprogramming instead of trying to configure every possibility manually. </li> </ul> </li> <li> <span class="library"><a href="/libs/interprocess/index.html">Interprocess</a>:</span> <ul> <li> Windows shared memory is created in Shared Documents folder so that it can be shared between services and processes </li> <li> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/2967">#2967</a>, <a href="https://svn.boost.org/trac/boost/ticket/2973">#2973</a>, <a href="https://svn.boost.org/trac/boost/ticket/2992">#2992</a>, <a href="https://svn.boost.org/trac/boost/ticket/3138">#3138</a>, <a href="https://svn.boost.org/trac/boost/ticket/3166">#3166</a>, <a href="https://svn.boost.org/trac/boost/ticket/3205">#3205</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/intrusive/index.html">Intrusive</a>:</span> <ul> <li> Code cleanup in tree_algorithms.hpp and avl_tree_algorithms.hpp </li> <li> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/3164">#3164</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/mpl/index.html">MPL</a>:</span> <ul> <li> Added <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">char_</span></code> and <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">string</span></code> for compile-time string manipulation, based on multichar literals (<a href="https://svn.boost.org/trac/boost/ticket/2905">#2905</a>). </li> <li> Updated <a href="/libs/mpl/doc/refmanual.html">MPL Reference Manual</a>. </li> <li> Bug fixes. </li> </ul> </li> <li> <span class="library"><a href="/libs/program_options/index.html">Program.Options</a>:</span> <ul> <li> Support for building with disabled exceptions (<a href="https://svn.boost.org/trac/boost/ticket/2096">#2096</a>). </li> <li> Unicode parser no longer drops original tokens (<a href="https://svn.boost.org/trac/boost/ticket/2425">#2425</a>). </li> <li> Fixed crash on user-inserted items in <code><span class="identifier">variables_map</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/2782">#2782</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/property_map/index.html">Property Map</a>:</span> <ul> <li> Moved property map code into a separate directory, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">/</span></code>. The old files exist and forward to the new ones; the previous files directly in <code><span class="identifier">boost</span><span class="special">/</span></code> will be removed in Boost 1.42.0. </li> <li> Moved distributed property maps to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">graph</span><span class="special">::</span><span class="identifier">parallel</span></code> namespace. </li> <li> Added a property map based on a <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_array</span></code>, providing a simpler interface. </li> </ul> </li> <li> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> PrimitiveTransforms have stricter conformance to ResultOf protocol. (Warning: some invalid code may break.) </li> <li> Add a sensible default for <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_default</span></code>'s template parameter. </li> <li> Improved default evaluation strategy for pointers to members. </li> <li> GCC 3.4 portability fixes (<a href="https://svn.boost.org/trac/boost/ticket/3021">#3021</a>). </li> <li> Work around Visual C++'s non-std-compliant ciso646 macros. </li> </ul> </li> <li> <span class="library"><a href="/libs/random/index.html">Random</a>:</span> <ul> <li> Made the constructors of all the generators call the copy constructor when passed a non-const reference. </li> <li> Changed seeding functions to accept any arithmetic type. As a side-effect, the exact signature of seed changed for some classes. </li> <li> Major bug fixes in uniform_int. </li> </ul> </li> <li> <span class="library"><a href="/libs/serialization/index.html">Serialization</a>:</span> <ul> <li> Removed deprecated headers: <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_warning</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">state_saver</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">smart_cast</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">pfto</span><span class="special">.</span><span class="identifier">hpp</span></code>. Use the the equivalent headers in the <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">serialization</span><span class="special">/</span></code> directory instead (<a href="https://svn.boost.org/trac/boost/ticket/3062">#3062</a>). </li> <li> <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">archive_serializer_map</span></code> should now be used instead of <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">archive_pointer_iserializer</span></code>. For more details see <a href="/doc/libs/1_40_0/libs/serialization/doc/release.html">the library release notes</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> <ul> <li> Implement <code><span class="identifier">emplace</span></code> for all compilers, not just ones with rvalue references and variadic templates (<a href="https://svn.boost.org/trac/boost/ticket/1978">#1978</a>). </li> <li> Create less buckets by default. </li> <li> Some minor tweaks for better compiler support (<a href="https://svn.boost.org/trac/boost/ticket/2908">#2908</a>, <a href="https://svn.boost.org/trac/boost/ticket/3096">#3096</a>, <a href="https://svn.boost.org/trac/boost/ticket/3082">#3082</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> <ul> <li> Works on Visual C++ 10.0 (<a href="https://svn.boost.org/trac/boost/ticket/3124">#3124</a>). </li> </ul> </li> </ul> </div> <div id="version_1_40_0.build_system"> <h3><span class="link">Build System</span></h3> <p> The default naming of libraries in Unix-like environment now matches system conventions, and does not include various decorations. Naming of libraries on Cygwin was also fixed. Support for beta versions of Microsoft Visual Studio 10 was added. With gcc, 64-bit compilation no longer requires that target architecture be specified. </p> </div> <div id="version_1_40_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <span class="library"><a href="/tools/boostbook/index.html">Boostbook</a>:</span> <ul> <li> Hide <code><span class="identifier">INTERNAL</span> <span class="identifier">ONLY</span></code> enums in doxygen documentation (<a href="https://svn.boost.org/trac/boost/ticket/3242">#3242</a>). </li> <li> Tweaked appearance of member classes/structs/unions in a class synopsis. </li> </ul> </li> <li> <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> <ul> <li> Support python code snippets (<a href="https://svn.boost.org/trac/boost/ticket/3029">#3029</a>). </li> <li> Add <code><span class="identifier">teletype</span></code> source mode (<a href="https://svn.boost.org/trac/boost/ticket/1202">#1202</a>) </li> </ul> </li> </ul> </div> <div id="version_1_40_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> OS X: <ul> <li> GCC 4.0.1 on Intel Tiger and Leopard </li> <li> GCC 4.0.1 on PowerPC Tiger </li> </ul> </li> <li> Linux: <ul> <li> GCC 4.3.3 on Ubuntu Linux. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> Linux: <ul> <li> Intel 9.0 on Red Hat Enterprise Linux. </li> <li> Intel 10.0 on Red Hat Enterprise Linux. </li> <li> Intel 10.1 on 64-bit Linux Redhat 5.1 Server. </li> <li> Intel 10.1 on Suse Linux on 64 bit Itanium. </li> <li> Intel 11.0 on Red Hat Enterprise Linux. </li> <li> Intel 11.1 on Red Hat Enterprise Linux. </li> <li> GCC 3.4.3, GCC 4.0.1, GCC 4.2.4, GCC 4.3.3 and GCC 4.4.0 on Red Hat Enterprise Linux. </li> <li> GCC 4.3.3 and GCC 4.4.0 with C++0x extensions on Red Hat Enterprise Linux. </li> <li> GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux. </li> <li> GCC 4.1.2 on Suse Linux on 64 bit Itanium. </li> <li> GCC 4.1.2 on 64-bit Redhat Server 5.1. </li> <li> GCC Open64 4.2.2 on Red Hat Enterprise Linux. </li> <li> GCC 4.3.4 on Debian unstable. </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red Hat Enterprise Linux. </li> <li> GCC version 4.2.0 (PathScale 3.2 driver) on 64-bit Red Hat Enterprise Linux. </li> <li> Sun 5.9 on Red Hat Enterprise Linux. </li> </ul> </li> <li> OS X: <ul> <li> Intel 10.1, 11.0 on Intel Leopard. </li> <li> Intel 10.1, 11.0 on Intel Tiger. </li> <li> GCC 4.0.1, 4.2.1 on Intel Leopard. </li> <li> GCC 4.0.1 on Intel Tiger. </li> <li> GCC 4.0.1 on PowerPC Tiger. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1 on XP. </li> <li> Visual C++ 9.0 on XP. </li> <li> Visual C++ 9.0 on Vista. </li> <li> Visual C++ 9.0 on Vista 64-bit. </li> <li> Visual C++ 9.0, using STLport 5.2, on XP and Windows Mobile 5.0. </li> <li> Visual C++ 10.0 beta. </li> <li> Borland 5.9.3, 6.1.0, 6.1.3. </li> <li> Borland C++ Builder 2007 and 2009. </li> <li> Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. </li> <li> Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 64-bit. </li> <li> GCC 4.3.3 and 4.4.0, on Mingw with C++0x features. </li> </ul> </li> <li> AIX: <ul> <li> IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40. </li> </ul> </li> <li> Solaris: <ul> <li> Sun C++ 5.7, 5.8, 5.9 on Solaris 5.10. </li> <li> GCC 3.4.6 on Solaris 5.10. </li> </ul> </li> </ul> </div> <div id="version_1_40_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>, and Daniel James managed this release. </p> </div> </div>Version 1.39.0Sat, 02 May 2009 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Signals2. Updated Libraries: Asio, Flyweight, Foreach, Hash, Interprocess, Intrusive, Program.Options, Proto, PtrContainer, Range, Unordered, Xpressive. Updated Tools: Boostbook, Quickbook. </span></span>http://sourceforge.net/projects/boost/files/boost/1.39.0/<div class="description"> <div id="version_1_39_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/signals2/index.html">Signals2</a>:</span> Managed signals &amp; slots callback implementation (thread-safe version 2), from Frank Mori Hess. </li> </ul> </div> <div id="version_1_39_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> Implement automatic resizing of the bucket array in the internal hash maps. This is to improve performance for very large numbers of asynchronous operations and also to reduce memory usage for very small numbers. A new macro <code><span class="identifier">BOOST_ASIO_HASH_MAP_BUCKETS</span></code> may be used to tweak the sizes used for the bucket arrays. </li> <li> Add performance optimisation for the Windows IOCP backend for when no timers are used. </li> <li> Prevent locale settings from affecting formatting of TCP and UDP endpoints (<a href="https://svn.boost.org/trac/boost/ticket/2682">#2682</a>). </li> <li> Fix a memory leak that occurred when an asynchronous SSL operation's completion handler threw an exception (<a href="https://svn.boost.org/trac/boost/ticket/2910">#2910</a>). </li> <li> Fix the implementation of <code><span class="identifier">io_control</span><span class="special">()</span></code> so that it adheres to the documented type requirements for IoControlCommand (<a href="https://svn.boost.org/trac/boost/ticket/2820">#2820</a>). </li> <li> Fix incompatibility between Asio and ncurses.h (<a href="https://svn.boost.org/trac/boost/ticket/2156">#2156</a>). </li> <li> On Windows, specifically handle the case when an overlapped <code><span class="identifier">ReadFile</span></code> call fails with <code><span class="identifier">ERROR_MORE_DATA</span></code>. This enables a hack where a <code><span class="identifier">windows</span><span class="special">::</span><span class="identifier">stream_handle</span></code> can be used with a message-oriented named pipe (<a href="https://svn.boost.org/trac/boost/ticket/2936">#2936</a>). </li> <li> Fix system call wrappers to always clear the error on success, as POSIX allows successful system calls to modify errno (<a href="https://svn.boost.org/trac/boost/ticket/2953">#2953</a>). </li> <li> Don't include termios.h if <code><span class="identifier">BOOST_ASIO_DISABLE_SERIAL_PORT</span></code> is defined (<a href="https://svn.boost.org/trac/boost/ticket/2917">#2917</a>). </li> <li> Cleaned up some more MSVC level 4 warnings (<a href="https://svn.boost.org/trac/boost/ticket/2828">#2828</a>). </li> <li> Various documentation fixes (<a href="https://svn.boost.org/trac/boost/ticket/2871">#2871</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/flyweight/index.html">Flyweight</a>:</span> <ul> <li> The <a href="/libs/flyweight/doc/tutorial/configuration.html#refcounted">refcounted</a> component was not thread-safe due to an incorrect implementation and could deadlock under heavy usage conditions. This problem has been corrected. </li> </ul> </li> <li> <span class="library"><a href="/libs/foreach/index.html">Foreach</a>:</span> <ul> <li> Eliminate shadow warnings on gcc for nested <code><span class="identifier">FOREACH</span></code> loops </li> <li> Portability fix for Intel-Win toolset </li> </ul> </li> <li> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> <ul> <li> Remove deprecated headers for hashing containers. Everything that was in them is included in <code><span class="special">&lt;</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">hash</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/2412">#2412</a>). </li> <li> Other minor changes, full details in the library <a href="/doc/html/hash/changes.html#hash.changes.boost_1_39_0">change log</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/interprocess/index.html">Interprocess</a>:</span> <ul> <li> Increased portability and bug fixes. Full details in the library <a href="/doc/html/interprocess/acknowledgements_notes.html#interprocess.acknowledgements_notes.release_notes.release_notes_boost_1_39_00">change log</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/intrusive/index.html">Intrusive</a>:</span> <ul> <li> Optimizations and bug fixes. Full details in the library <a href="/doc/html/intrusive/release_notes.html#intrusive.release_notes.release_notes_boost_1_39_00">change log</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/program_options/index.html">Program.Options</a>:</span> <ul> <li> Multitoken options fixed (<a href="https://svn.boost.org/trac/boost/ticket/469">#469</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> Work around incompatibility with standard Linux header. </li> <li> Add <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">noinvoke</span><span class="special">&lt;&gt;</span></code> to block metafunction invocation in object transforms. </li> </ul> </li> <li> <span class="library"><a href="/libs/ptr_container/index.html">PtrContainer</a>:</span> <ul> <li> Bug fixes from Trac applied. </li> </ul> </li> <li> <span class="library"><a href="/libs/range/index.html">Range</a>:</span> <ul> <li> Bug fixes from Trac applied. </li> </ul> </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> <ul> <li> Fixed regression in 1.38 that prevented unordered from using more than about 1.5 million buckets (<a href="https://svn.boost.org/trac/boost/ticket/2975">#2975</a>). </li> <li> Minor implementation changes, including <a href="https://svn.boost.org/trac/boost/ticket/2756">#2756</a>. Full details in the library <a href="/doc/html/unordered/changes.html#unordered.changes.boost_1_39_0">change log</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> <ul> <li> Work around for gcc optimization problem resulting in pure virtual function call runtime error (<a href="https://svn.boost.org/trac/boost/ticket/2655">#2655</a>). </li> </ul> </li> </ul> </div> <div id="version_1_39_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <span class="library"><a href="/tools/boostbook/index.html">Boostbook</a>:</span> <ul> <li> Improved PDF generation. </li> <li> Preliminary HTMLHelp support. </li> <li> Add default path for callout images. </li> <li> Include data members' <code><span class="special">&lt;</span><span class="identifier">purpose</span><span class="special">&gt;</span></code> in the class synopsis. </li> <li> Fix bug where a function's <code><span class="special">&lt;</span><span class="identifier">purpose</span><span class="special">&gt;</span></code> wasn't displayed if it was just plain text. </li> <li> Support the alt tag in <code><span class="special">&lt;</span><span class="identifier">headername</span><span class="special">&gt;</span></code> and <code><span class="special">&lt;</span><span class="identifier">macroname</span><span class="special">&gt;</span></code>. Use this if the header or macro name is different to the contents of the tag (<a href="https://svn.boost.org/trac/boost/ticket/1977">#1977</a>). </li> <li> Support links relative to the boost root in <code><span class="special">&lt;</span><span class="identifier">ulink</span><span class="special">&gt;</span></code> tags, using a custom url, see the <a href="/doc/html/boostbook/together.html#boostbook.linking">linking documentation</a> for details (<a href="https://svn.boost.org/trac/boost/ticket/1166">#1166</a>). </li> <li> Avoid generating filenames that only differ in case for function, method and macro documentation. </li> <li> Run the docbook chunker quietly, unless boostbook.verbose is set. This parameter might be used in other places in future releases. </li> <li> Make the 1.1 DTD available. </li> <li> Fill in some missing reference documentation (partially fixes <a href="https://svn.boost.org/trac/boost/ticket/2153">#2153</a>). </li> <li> Changes to doxygen integration: <ul> <li> Support <code><span class="special">\</span><span class="keyword">throw</span></code>. </li> <li> Support global variables and enums. </li> <li> Better support for documentation written in function and method bodies. </li> <li> Workaround a problem with doxygen 1.5.8's xml output (<a href="https://svn.boost.org/trac/boost/ticket/2937">#2937</a>). </li> </ul> </li> </ul> </li> <li> <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> <ul> <li> Return an error code and error count if there are any errors (<a href="https://svn.boost.org/trac/boost/ticket/1399">#1399</a>). </li> <li> Support both windows and cygwin paths at the compile line when compiled with cygwin. </li> <li> Fix some issues with C++ and Python code: <ul> <li> Fail gracefully for a mismatched <code><span class="char">''</span></code>. </li> <li> Warn if any unexpected character are encountered and write them out properly (<a href="https://svn.boost.org/trac/boost/ticket/1170">#1170</a>). </li> <li> Fix a bug for hex encoded characters in strings (<a href="https://svn.boost.org/trac/boost/ticket/2860">#2860</a>). </li> </ul> </li> <li> Improved testing, including tests for expected failures. </li> <li> Generate valid document info for document types other than <code><span class="identifier">library</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/2711">#2711</a>): <ul> <li> Remove library specific attributes. </li> <li> Put title before info block. </li> </ul> </li> <li> Fix a bug when calling templates. </li> <li> Less warnings when built using gcc. </li> <li> Small documentation improvements (<a href="https://svn.boost.org/trac/boost/ticket/1213">#1213</a>, <a href="https://svn.boost.org/trac/boost/ticket/2701">#2701</a>). </li> <li> Fix a bug with xinclude pages when outdir is the current directory (<a href="https://svn.boost.org/trac/boost/ticket/2921">#2921</a>). </li> </ul> </li> </ul> </div> <div id="version_1_39_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> OS X: <ul> <li> GCC 4.0.1 on Intel Tiger and Leopard </li> <li> GCC 4.0.1 on PowerPC Tiger </li> </ul> </li> <li> Linux: <ul> <li> GCC 4.3.2 on Ubuntu Linux. </li> <li> GCC 4.3.3 on Debian &quot;unstable&quot;. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> Linux: <ul> <li> Intel 9.0 on Red Hat Enterprise Linux </li> <li> Intel 10.0 on Red Hat Enterprise Linux </li> <li> Intel 10.1 on 64-bit Linux Redhat 5.1 Server. </li> <li> Intel 10.1 on Suse Linux on 64 bit Itanium </li> <li> Intel 11.0 on Red Hat Enterprise Linux </li> <li> GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux </li> <li> GCC 4.1.2 on 64-bit Redhat Server 5.1 </li> <li> GCC 4.1.2 on Suse Linux on 64 bit Itanium </li> <li> GCC 3.4.3, GCC 4.0.1, GCC 4.2.4 and GCC 4.3.2 on Red Hat Enterprise Linux </li> <li> GCC 4.3.2 with C++0x extensions on Red Hat Enterprise Linux </li> <li> GCC 4.2.1 on OpenSuSE Linux </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red Hat Enterprise Linux </li> <li> GNU gcc version 4.2.0 (PathScale 3.2 driver) on 64-bit Red Hat Enterprise Linux </li> <li> Sun 5.9 on Red Hat Enterprise Linux </li> </ul> </li> <li> OS X: <ul> <li> Intel 9.1, 10.1 on Tiger </li> <li> Intel 10.1, 11.0 on Leopard </li> <li> GCC 4.2.1 on Leopard </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 9.0 on Vista. </li> <li> Visual C++ 9.0, using STLport 5.2, on XP and Windows Mobile 5.0. </li> <li> Borland 5.9.3 </li> <li> Borland 6.1.0 </li> <li> Intel C++ 11.0, with a Visual C++ 9.0 backend, on XP 32-bit. </li> <li> Intel C++ 11.0, with a Visual C++ 9.0 backend, on Vista 64-bit. (TODO: not recently) </li> <li> GCC 4.3.3, on Mingw </li> </ul> </li> <li> AIX: <ul> <li> IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40 </li> </ul> </li> <li> NetBSD: <ul> <li> GCC 4.1.2 on NetBSD 4.0/i386 and NetBSD 4.0/amd64. </li> </ul> </li> <li> Solaris: <ul> <li> Sun C++ 5.7, 5.8, 5.9 on Solaris 5.10 </li> <li> GCC 3.4.6 on Solaris 5.10 </li> </ul> </li> </ul> </div> <div id="version_1_39_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>, and Daniel James managed this release. </p> </div> </div>Version 1.38.0Sun, 08 Feb 2009 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Flyweight, ScopeExit, Swap. Updated Libraries: Accumulators, Any, Asio, Config, Date_Time, Exception, Filesystem, Graph, Hash, Interprocess, Intrusive, Lexical Cast, Math, Multi-index Containers, Proto, Regex, Thread, TR1, Type Traits, Unordered, Xpressive. Other Changes: Experimental CMake build system. </span></span>http://sourceforge.net/projects/boost/files/boost/1.38.0/<div class="description"> <div id="version_1_38_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/flyweight/index.html">Flyweight</a>:</span> <ul> <li> Design pattern to manage large quantities of highly redundant objects, from Joaquín M López Muñoz. </li> </ul> </li> <li> <span class="library"><a href="/libs/scope_exit/doc/html/index.html">ScopeExit</a>:</span> <ul> <li> Execute arbitrary code at scope exit, from Alexander Nasonov. </li> </ul> </li> <li> <span class="library"><a href="/libs/utility/swap.html">Swap</a>:</span> <ul> <li> Enhanced generic swap function, from Joseph Gauterin. </li> </ul> </li> </ul> </div> <div id="version_1_38_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/accumulators/index.html">Accumulators</a>:</span> <ul> <li> Add <code><span class="identifier">rolling_sum</span></code>, <code><span class="identifier">rolling_count</span></code> and <code><span class="identifier">rolling_mean</span></code> accumulators. </li> </ul> </li> <li> <span class="library"><a href="/doc/html/any.html">Any</a>:</span> <ul> <li> Use a by-value argument for <code><span class="keyword">operator</span><span class="special">=</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/2311">#2311</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> Improved compatibility with some Windows firewall software. </li> <li> Ensured arguments to <code><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span><span class="special">::</span><span class="identifier">complete</span><span class="special">()</span></code> are correctly passed to the completion handler (<a href="https://svn.boost.org/trac/boost/ticket/2614">#2614</a>). </li> <li> Fixed a link problem and multicast failure on QNX (<a href="https://svn.boost.org/trac/boost/ticket/2504">#2504</a>, <a href="https://svn.boost.org/trac/boost/ticket/2530">#2530</a>). </li> <li> Fixed a compile error in SSL support on MinGW / g++ 3.4.5. </li> <li> Drop back to using a pipe for notification if eventfd is not available at runtime on Linux (<a href="https://svn.boost.org/trac/boost/ticket/2683">#2683</a>). </li> <li> Various minor bug and documentation fixes (<a href="https://svn.boost.org/trac/boost/ticket/2534">#2534</a>, <a href="https://svn.boost.org/trac/boost/ticket/2541">#2541</a>, <a href="https://svn.boost.org/trac/boost/ticket/2607">#2607</a>, <a href="https://svn.boost.org/trac/boost/ticket/2617">#2617</a>, <a href="https://svn.boost.org/trac/boost/ticket/2619">#2619</a>) </li> </ul> </li> <li> <span class="library"><a href="/libs/config/index.html">Config</a>:</span> <ul> <li> Add new macros BOOST_NO_STD_UNORDERED and BOOST_NO_INITIALIZER_LISTS. </li> <li> Added Codegear compiler support. </li> <li> Added Dragonfly to the BSD family of configs. </li> <li> Updated MSVC's binary ABI settings to match compiler default when doing 64-bit builds. </li> <li> Recognise latest compilers from MS and Intel. </li> </ul> </li> <li> <span class="library"><a href="/libs/date_time/index.html">Date_Time</a>:</span> <ul> <li> Added support for formatting and reading time durations longer than 24 hours with new formatter: <code><span class="special">%</span><span class="number">0</span></code>. </li> <li> Removed the <code><span class="identifier">testfrmwk</span><span class="special">.</span><span class="identifier">hpp</span></code> file from the public include directory. </li> <li> Fixed several bugs and compile errors. </li> <li> For full details see the <a href="/doc/libs/1_38_0/doc/html/date_time/details.html#date_time.changes">change history</a> </li> </ul> </li> <li> <span class="library"><a href="/libs/exception/index.html">Exception</a>:</span> <ul> <li> Improved and more customizable <a href="/libs/exception/doc/diagnostic_information.html">diagnostic_information</a> output. </li> </ul> </li> <li> <span class="library"><a href="/libs/filesystem/index.html">Filesystem</a>:</span> <ul> <li> Fix native(name) test failures on POSIX-like systems. </li> <li> Several bugfixes (<a href="https://svn.boost.org/trac/boost/ticket/2543">#2543</a>, <a href="https://svn.boost.org/trac/boost/ticket/2224">#2224</a>, <a href="https://svn.boost.org/trac/boost/ticket/2531">#2531</a>, <a href="https://svn.boost.org/trac/boost/ticket/1840">#1840</a>, <a href="https://svn.boost.org/trac/boost/ticket/2542">#2542</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/graph/index.html">Graph</a>:</span> <ul> <li> Added a new algorithms for Travelling Salesman Problem approximation (<code><span class="identifier">metric_tsp_approx</span></code>) and resource-constrained Shortest Paths (<code><span class="identifier">r_c_shortest_paths</span></code>). </li> <li> Support for named vertices in <code><span class="identifier">adjacency_list</span></code>. </li> <li> A number of bugfixes ( <a href="https://svn.boost.org/trac/boost/ticket/416">#416</a>, <a href="https://svn.boost.org/trac/boost/ticket/1622">#1622</a>, <a href="https://svn.boost.org/trac/boost/ticket/1700">#1700</a>, <a href="https://svn.boost.org/trac/boost/ticket/2209">#2209</a>, <a href="https://svn.boost.org/trac/boost/ticket/2392">#2392</a>, <a href="https://svn.boost.org/trac/boost/ticket/2460">#2460</a>, and <a href="https://svn.boost.org/trac/boost/ticket/2550">#2550</a>) </li> </ul> </li> <li> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> <ul> <li> <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">container_fwd</span><span class="special">.</span><span class="identifier">hpp</span></code> has been moved to <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">container_fwd</span><span class="special">.</span><span class="identifier">hpp</span></code>. The current location is deprecated. </li> <li> For more detail, see the <a href="/doc/html/hash/changes.html#hash.changes.boost_1_38_0">library changelog</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/interprocess/index.html">Interprocess</a>:</span> <ul> <li> Updated documentation to show rvalue-references functions instead of emulation functions. </li> <li> More non-copyable classes are now movable. </li> <li> Move-constructor and assignments now leave moved object in default-constructed state instead of just swapping contents. </li> <li> Several bugfixes (<a href="https://svn.boost.org/trac/boost/ticket/2391">#2391</a>, <a href="https://svn.boost.org/trac/boost/ticket/2431">#2431</a>, <a href="https://svn.boost.org/trac/boost/ticket/1390">#1390</a>, <a href="https://svn.boost.org/trac/boost/ticket/2570">#2570</a>, <a href="https://svn.boost.org/trac/boost/ticket/2528">#2528</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/intrusive/index.html">Intrusive</a>:</span> <ul> <li> New treap-based containers: treap, treap_set, treap_multiset. </li> <li> Corrected compilation bug for Windows-based 64 bit compilers. </li> <li> Corrected exception-safety bugs in container constructors. </li> <li> Updated documentation to show rvalue-references functions instead of emulation functions. </li> </ul> </li> <li> <span class="library"><a href="/libs/conversion/lexical_cast.htm">Lexical Cast</a>:</span> <ul> <li> Changed to work without RTTI when <code><span class="identifier">BOOST_NO_TYPEID</span></code> is defined (<a href="https://svn.boost.org/trac/boost/ticket/1220">#1220</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/math/doc/sf_and_dist/html/index.html">Math</a>:</span> <ul> <li> Added Johan Råde's optimised floating point classification routines. </li> <li> Fixed code so that it compiles in GCC's -pedantic mode (bug report <a href="https://svn.boost.org/trac/boost/ticket/1451">#1451</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/multi_index/doc/index.html">Multi-index Containers</a>:</span> Some redundant type definitions have been deprecated. Consult the library <a href="/libs/multi_index/doc/release_notes.html#boost_1_38">release notes</a> for further information. </li> <li> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> Fix problem with SFINAE of binary operators (Bug <a href="https://svn.boost.org/trac/boost/ticket/2407">2407</a>). </li> <li> Fix <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">call</span></code> transform for callable transforms with &gt;3 arguments. </li> <li> <code><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value</span></code> changed behavior for array-by-value terminals. </li> <li> <code><span class="identifier">unpack_expr</span></code> requires only Forward Sequences rather than Random Access Sequences. </li> <li> Deprecate legacy undocumented <code><span class="identifier">BOOST_PROTO_DEFINE_</span><span class="special">(</span><span class="identifier">VARARG_</span><span class="special">)</span><span class="identifier">FUNCTION_TEMPLATE</span></code> macros. </li> <li> Add <code><span class="identifier">BOOST_PROTO_REPEAT</span></code> and <code><span class="identifier">BOOST_PROTO_LOCAL_ITERATE</span></code> macros to help with repetitive code generation </li> <li> Support for nullary expressions with tag types other than <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">terminal</span></code> </li> <li> Allow 0- and 1-argument variants of <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">or_</span></code> and <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">and_</span></code> </li> </ul> </li> <li> <span class="library"><a href="/libs/regex/index.html">Regex</a>:</span> <ul> <li> <em>Breaking change</em>: empty expressions, and empty alternatives are now allowed when using the Perl regular expression syntax. This change has been added for Perl compatibility, when the new <code><span class="identifier">syntax_option_type</span></code> <em>no_empty_expressions</em> is set then the old behaviour is preserved and empty expressions are prohibited. This is issue <a href="https://svn.boost.org/trac/boost/ticket/1081">#1081</a>. </li> <li> Added support for Perl style ${n} expressions in format strings (issue <a href="https://svn.boost.org/trac/boost/ticket/2556">#2556</a>). </li> <li> Added support for accessing the location of sub-expressions within the regular expression string (issue <a href="https://svn.boost.org/trac/boost/ticket/2269">#2269</a>). </li> <li> Fixed compiler compatibility issues <a href="https://svn.boost.org/trac/boost/ticket/2244">#2244</a>, <a href="https://svn.boost.org/trac/boost/ticket/2514">#2514</a>, and <a href="https://svn.boost.org/trac/boost/ticket/2244">#2458</a>. </li> </ul> </li> <li> <span class="library"><a href="/doc/html/thread.html">Thread</a>:</span> <ul> <li> No longer catches unhandled exceptions in threads as this debuggers couldn't identify the cause of unhandled exceptions in threads. An unhandled exception will still cause the application to terminate. </li> </ul> </li> <li> <span class="library"><a href="/libs/tr1/index.html">TR1</a>:</span> <ul> <li> Added support for the TR1 math functions and the unordered containers. </li> </ul> </li> <li> <span class="library"><a href="/libs/type_traits/index.html">Type Traits</a>:</span> <ul> <li> Added support for Codegear intrinsics. </li> <li> Minor tweaks to warning suppression and alignment_of code. </li> </ul> </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> <ul> <li> Use <a href="/libs/utility/swap.html"><code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">swap</span></code></a>. </li> <li> Use a larger prime number list for selecting the number of buckets. </li> <li> Use <a href="/libs/type_traits/doc/html/boost_typetraits/category/alignment.html">aligned storage</a> to store the types. </li> <li> Add support for C++0x initializer lists where they're available. </li> <li> For more detail, see the <a href="/doc/html/unordered/changes.html#unordered.changes.boost_1_38_0">library changelog</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> <ul> <li> <code><span class="identifier">basic_regex</span></code> gets nested <code><span class="identifier">syntax_option_flags</span></code> and <code><span class="identifier">value_type</span></code> typedef, for compatibility with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_regex</span></code> </li> <li> Ported to Proto v4; Proto v2 at <tt>boost/xpressive/proto</tt> has been removed. </li> <li> <code><span class="identifier">regex_error</span></code> inherits from <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">exception</span></code> </li> </ul> </li> </ul> </div> <div id="version_1_38_0.other_changes"> <h3><span class="link">Other Changes</span></h3> <ul> <li> Experimental support for building Boost with <a href="http://www.cmake.org/">CMake</a> has been introduced in this version. For more details see the <a href="https://svn.boost.org/trac/boost/wiki/CMake">wiki</a>, Discussion is taking place on the <a href="http://lists.boost.org/mailman/listinfo.cgi/boost-cmake">Boost-cmake mailing list</a>. </li> <li> Fixed subversion properties for several files. Most notably, unix shell scripts should always have unix line endings, even in the windows packages. </li> </ul> </div> <div id="version_1_38_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> OS X: <ul> <li> GCC 4.0.1 on Intel OS X 10.4.10, 10.5.2 </li> <li> GCC 4.0.1 on PowerPC OS X 10.4.9 </li> </ul> </li> <li> Linux: <ul> <li> GCC 4.3.2 on Ubuntu Linux. </li> <li> GCC 4.3.3 on Debian &quot;unstable&quot;. </li> </ul> </li> <li> HP-UX: <ul> <li> GCC 4.2.1 on HP-UX 64-bit. </li> <li> HP C/aC++ B3910B A.06.17 on HP-UX 64-bit. </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. </li> </ul> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> Linux: <ul> <li> GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux </li> <li> GCC 4.1.2 on 64-bit Redhat Server 5.1 </li> <li> GCC 3.4.3, GCC 4.0.1, GCC 4.2.4 and GCC 4.3.2 on Red Hat Enterprise Linux </li> <li> GCC 4.3.2 with C++0x extensions </li> <li> GCC 4.2.1 on OpenSuSE Linux </li> <li> pgCC 8.0-0a 64-bit target on Red Hat Enterprise Linux </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red Hat Enterprise Linux </li> </ul> </li> <li> OS X: <ul> <li> Intel 9.1, 10.0 on OS X 10.4.10 </li> <li> Intel 10.1, 11.0 on OS X 10.5.2 </li> </ul> </li> <li> Windows: <ul> <li> Visual C++ 9.0 on Vista EE 64-bit. </li> <li> Visual C++ 9.0 express on Vista 32-bit. </li> <li> Visual C++ 9.0 on XP 32-bit. </li> <li> Visual C++ 8.0, using STLport, on XP and Windows Mobile 5.0 </li> <li> Visual C++ 7.1, using STLport, on XP </li> <li> Borland 5.9.3 </li> <li> Borland 6.1.0 </li> <li> Intel C++ 11.0, with a Visual C++ 9.0 backend, on XP 32-bit. </li> <li> Intel C++ 11.0, with a Visual C++ 9.0 backend, on Vista 64-bit. </li> <li> Comeau 4.3.10.1 beta 2, with a Visual C++ 9.0 backend. </li> <li> GCC 3.4.4, on Cygwin </li> </ul> </li> <li> AIX: <ul> <li> IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40 </li> </ul> </li> <li> FreeBSD: <ul> <li> GCC 4.2.1 on FreeBSD 7. </li> </ul> </li> <li> NetBSD: <ul> <li> GCC 4.1.2 on NetBSD 4.0/i386 and NetBSD 4.0/amd64. </li> </ul> </li> <li> QNX: <ul> <li> QNX Software Development Platform 6.4.0 x86 </li> </ul> </li> <li> Solaris: <ul> <li> Sun C++ 5.7, 5.8, 5.9 on Solaris 5.10 </li> <li> GCC 3.4.6 on Solaris 5.10 </li> </ul> </li> </ul> </div> <div id="version_1_38_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>, and Daniel James managed this release. Thanks to Vicente Botet for helping compile these release notes. </p> </div> </div>Version 1.37.0Mon, 03 Nov 2008 12:00:00 GMT<span class="brief"><span class="purpose"> New Library: Proto. Updated Libraries: Asio, Circular Buffer, Dynamic Bitset, Exception, Hash, Interprocess, Intrusive, Math, Type Traits, Unordered </span></span>http://sourceforge.net/projects/boost/files/boost/1.37.0/<div class="description"> <div id="version_1_37_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> <ul> <li> Expression template library and compiler construction toolkit for domain-specific embedded languages, from Eric Niebler. </li> </ul> </li> </ul> </div> <div id="version_1_37_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> Enhanced CompletionCondition concept with the signature <code><span class="identifier">size_t</span> <span class="identifier">CompletionCondition</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">total</span><span class="special">)</span></code>, where the return value indicates the maximum number of bytes to be transferred on the next read or write operation. (The old CompletionCondition signature is still supported for backwards compatibility). </li> <li> New windows::overlapped_ptr class to allow arbitrary overlapped I/O functions (such as TransmitFile) to be used with Asio. </li> <li> On recent versions of Linux, an eventfd descriptor is now used (rather than a pipe) to interrupt a blocked select/epoll reactor. </li> <li> Added const overloads of lowest_layer(). </li> <li> Synchronous read, write, accept and connect operations are now thread safe (meaning that it is now permitted to perform concurrent synchronous operations on an individual socket, if supported by the OS). </li> <li> Reactor-based io_service implementations now use lazy initialisation to reduce the memory usage of an io_service object used only as a message queue. </li> </ul> </li> <li> <span class="library"><a href="/libs/circular_buffer/index.html">Circular Buffer</a>:</span> <ul> <li> Added new methods <code><span class="identifier">is_linearized</span><span class="special">()</span></code> and <code><span class="identifier">rotate</span><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)</span></code>. </li> <li> Minor bug fixes and documentation updates. </li> </ul> </li> <li> <span class="library"><a href="/libs/dynamic_bitset/">Dynamic Bitset</a>:</span> <ul> <li> Constructor &quot;do the right thing&quot; dispatch, a la standard sequence containers (follows the proposed resolution of <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#438">library issue 438</a>, currently in the <tt>C++0x</tt> working paper). </li> <li> Improvements to documentation, code examples and implementation. </li> </ul> </li> <li> <span class="library"><a href="/libs/exception/index.html">Exception</a>:</span> <ul> <li> Support for non-RTTI builds. </li> <li> Optimizations. </li> <li> A new macro <code><span class="identifier">BOOST_THROW_EXCEPTION</span></code> which can be used instead of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">throw_exception</span></code> when throwing, to automatically record information about the location of the throw in the exception object. </li> </ul> </li> <li> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> <ul> <li> Minor bug fix (<a href="http://svn.boost.org/trac/boost/ticket/2264">ticket 2264</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/interprocess/index.html">Interprocess</a>:</span> <ul> <li> Added placement insertion (<code><span class="identifier">emplace</span><span class="special">()</span></code>, <code><span class="identifier">emplace_back</span><span class="special">()</span></code>...) methods to containers. </li> <li> Containers can be used now in recursive types. </li> <li> Minor bug fixes. </li> </ul> </li> <li> <span class="library"><a href="/libs/intrusive/index.html">Intrusive</a>:</span> <ul> <li> Intrusive now takes advantage of compilers with variadic templates. </li> <li> <code><span class="identifier">clone_from</span></code> functions now copy predicates and hash functions of associative containers. </li> <li> Added incremental hashing to unordered containers via <code><span class="identifier">incremental</span><span class="special">&lt;&gt;</span></code> option. </li> <li> Minor bug fixes. </li> </ul> </li> <li> <span class="library"><a href="/libs/math/doc/sf_and_dist/html/index.html">Math.Special Functions</a>:</span> Improved accuracy and testing of the inverse hypergeometric functions. </li> <li> <span class="library"><a href="/libs/type_traits/index.html">Type Traits</a>:</span> Added better support for the Codegear compiler. </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> <ul> <li> Rename overload of <code><span class="identifier">emplace</span></code> with hint, to <code><span class="identifier">emplace_hint</span></code> as specified in <a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2691.pdf">n2691</a>. </li> <li> Provide forwarding headers at <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered</span><span class="special">/</span><span class="identifier">unordered_map_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> and <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered</span><span class="special">/</span><span class="identifier">unordered_set_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>. </li> <li> Move all of the implementation inside the <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered</span></code> directory. </li> </ul> </li> </ul> </div> <div id="version_1_37_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> GCC 4.01 on Mac OS X 10.4.10 with both Intel and Power PC </li> <li> GCC 4.2.4 on Ubuntu Linux 8.10 </li> <li> GCC 4.3.2 on Debian Sid </li> <li> GCC 4.2.1 on HP-UX Integrity </li> <li> HP C/aC++ B3910B A.06.17 on HP-UX 64-bit </li> <li> Visual C++ 9.0 SP1, 8.0, and 7.1 SP1, all on Windows XP </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> GCC 4.1.2 on NetBSD </li> <li> HP aCC on OS: HP-UX B.11.31 U ia64 and HP-UX B.11.31 9000/800 RISC </li> <li> IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40 </li> <li> Intel 9.1, 10.0, and 10.1, on Mac OS X 10.4.10 </li> <li> Compaq C++ V7.1-006 for Compaq Tru64 Unix on an OSF1 V5.1 platform. </li> <li> Sun C++ 5.7, 5.8, 5.9 and GCC 3.4.6 on Sun Solaris 5.10. </li> <li> On Linux: <ul> <li> GCC 3.4.3, 4.0.1, 4.2.1, 4.2.4, 4.3.2. </li> <li> GCC 4.3.2 with C++0x extensions. </li> <li> GCC 4.1.1, 4.2.1 on 64 bit linux. </li> <li> Intel C++ 8.1, 9.0, 9.1 and 10.0 </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.1 </li> <li> Sun Compiler 5.9, 5.10 with stdcxx </li> </ul> </li> <li> On Windows: <ul> <li> Several testers using Visual C++ 7.1, 8.0, 9.0 and 10.0 </li> <li> Visual C++ 7.1 with Apache C++ Standard Library 4.2.x branch. </li> <li> Visual C++ 8.0 with STLport 5.1 </li> <li> Visual C++ 8.0 with STLport 5.1 cross-compiling for Windows Mobile 5.0 Pocket PC SDK (ARMV4I). </li> <li> Intel 10.1, with Visual C++ 9 backend. </li> <li> Borland 5.9.3 and 6.10.0 </li> <li> 64 bit Intel 10.1, with Visual C++ 9 backend. </li> <li> 64 bit Visual C++ 9.0. </li> <li> 64-bit Visual C++ 9.0 with Apache C++ Standard Library 4.2.x branch. </li> <li> Comeau C++ 4.3.10.1 beta 2, with Visual C++ 9 backend. </li> </ul> </li> </ul> </div> <div id="version_1_37_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>, and Daniel James managed this release. </p> </div> </div>Version 1.36.0Thu, 14 Aug 2008 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Accumulators, Exception, Units, Unordered. Updated Libraries: Asio, Assign, Circular Buffer, Foreach, Function, Hash, Interprocess, Intrusive, Math, Multi-index Containers, MPI, PtrContainer, Spirit, Thread, Wave, Xpressive. </span></span>http://sourceforge.net/projects/boost/files/boost/1.36.0/<div class="description"> <div id="version_1_36_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/accumulators/index.html">Accumulators</a>:</span> Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler. </li> <li> <span class="library"><a href="/libs/exception/doc/boost-exception.html">Exception</a>:</span> A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads, from Emil Dotchevski. </li> <li> <span class="library"><a href="/libs/units/index.html">Units</a>:</span> Zero-overhead dimensional analysis and unit/quantity manipulation and conversion, from Matthias Schabel and Steven Watanabe </li> <li> <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> Unordered associative containers, from Daniel James. </li> </ul> </div> <div id="version_1_36_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> <ul> <li> Added support for serial ports. </li> <li> Added support for UNIX domain sockets. </li> <li> Added support for raw sockets and ICMP. </li> <li> Added wrappers for POSIX stream-oriented file descriptors (excluding regular files). </li> <li> Added wrappers for Windows stream-oriented <code><span class="identifier">HANDLE</span></code>s such as named pipes (requires <code><span class="identifier">HANDLE</span></code>s that work with I/O completion ports). </li> <li> Added wrappers for Windows random-access <code><span class="identifier">HANDLE</span></code>s such as files (requires <code><span class="identifier">HANDLE</span></code>s that work with I/O completion ports). </li> <li> Added support for reactor-style operations (i.e. they report readiness but perform no I/O) using a new <code><span class="identifier">null_buffers</span></code> type. </li> <li> Added an iterator type for bytewise traversal of buffer sequences. </li> <li> Added new <code><span class="identifier">read_until</span><span class="special">()</span></code> and <code><span class="identifier">async_read_until</span><span class="special">()</span></code> overloads that take a user-defined function object for locating message boundaries. </li> <li> Added an experimental two-lock queue (enabled by defining <code><span class="identifier">BOOST_ASIO_ENABLE_TWO_LOCK_QUEUE</span></code>) that may provide better <code><span class="identifier">io_service</span></code> scalability across many processors. </li> <li> Various fixes, performance improvements, and more complete coverage of the custom memory allocation support. </li> </ul> </li> <li> <span class="library"><a href="/libs/assign/index.html">Assign</a>:</span> <code><span class="identifier">list_of</span><span class="special">()</span></code> (and its variants) now has overloaded comparison operators. This allows you to write test code such as <code><span class="identifier">BOOST_CHECK_EQUAL</span><span class="special">(</span> <span class="identifier">my_container</span><span class="special">,</span> <span class="identifier">list_of</span><span class="special">(</span><span class="number">2</span><span class="special">)(</span><span class="number">3</span><span class="special">)(</span><span class="number">4</span><span class="special">)(</span><span class="number">5</span><span class="special">)</span> <span class="special">);</span></code>. </li> <li> <span class="library"><a href="/libs/circular_buffer/index.html">Circular Buffer</a>:</span> <ul> <li> Default constructor now doesn't allocate memory, and sets the capacity of the buffer to 0 </li> </ul> </li> <li> <span class="library"><a href="/libs/foreach/index.html">Foreach</a>:</span> <code><span class="identifier">BOOST_FOREACH</span></code> macro for easily iterating over the elements of a sequence, from Eric Niebler. <ul> <li> New <code><span class="identifier">BOOST_REVERSE_FOREACH</span></code> macro for iterating over a sequence in reverse. </li> </ul> </li> <li> <span class="library"><a href="/libs/function/index.html">Function</a>:</span> <ul> <li> Improved allocator support, from Emil Dotchevski. </li> </ul> </li> <li> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> Minor updates and fixes, for more info see the <a href="/doc/html/hash/changes.html#hash.changes.boost_1_36_0">change log</a>. </li> <li> <span class="library"><a href="/libs/interprocess/index.html">Interprocess</a>:</span> <ul> <li> Added anonymous shared memory for UNIX systems. </li> <li> Fixed missing move semantics on managed memory classes. </li> <li> Added copy_on_write and open_read_only options for shared memory and mapped file managed classes. </li> <li> <code><span class="identifier">shared_ptr</span></code> is movable and supports aliasing. </li> </ul> </li> <li> <span class="library"><a href="/libs/intrusive/index.html">Intrusive</a>:</span> <ul> <li> Added <code><span class="identifier">linear</span><span class="special">&lt;&gt;</span></code> and <code><span class="identifier">cache_last</span><span class="special">&lt;&gt;</span></code> options to singly linked lists. </li> <li> Added <code><span class="identifier">optimize_multikey</span><span class="special">&lt;&gt;</span></code> option to unordered container hooks. </li> <li> Optimized unordered containers when <code><span class="identifier">store_hash</span></code> option is used in the hook. </li> <li> Implementation changed to avoid explicit use of <code><span class="keyword">try</span></code>-<code><span class="keyword">catch</span></code> blocks and be compilable with exceptions disabled. </li> </ul> </li> <li> <span class="library"><a href="/libs/math/doc/sf_and_dist/html/index.html">Math</a>:</span> <ul> <li> Added new non-central Chi-Square, Beta, F and T distributions. </li> <li> Added Exponential Integral and Zeta special functions. </li> <li> Added Rounding, Truncation, and Unit-in-the-last-place functions. </li> <li> Added support for compile time powers of a runtime base. </li> <li> Added a few SSE2 based optimisations for the Lanczos approximations. </li> </ul> </li> <li> <span class="library"><a href="/doc/html/mpi.html">MPI</a>:</span> <ul> <li> Added support for non-blocking operations in Python, from Andreas Klöckner. </li> <li> Added support for graph topologies. </li> </ul> </li> <li> <span class="library"><a href="/libs/multi_index/doc/index.html">Multi-index Containers</a>:</span> Minor additions and maintenance fixes. Consult the library <a href="/libs/multi_index/doc/release_notes.html#boost_1_36">release notes</a> for further information. </li> <li> <span class="library"><a href="/libs/ptr_container/index.html">PtrContainer</a>:</span> Support for a few more containers, and addition of insert iterators. For details see <a href="/libs/ptr_container/doc/ptr_container.html#upgrading-from-boost-v-1-35">upgrading details</a>. </li> <li> <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> Integrated the &quot;Classic&quot; Spirit V1.8.x code base with Spirit V2, &quot;The New Generation&quot;. See <a href="/libs/spirit/classic/change_log.html">Change Log</a>. </li> <li> <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> <ul> <li> New generic <code><span class="identifier">lock</span></code> and <code><span class="identifier">try_lock</span></code> functions for locking multiple mutexes at once. </li> <li> Rvalue reference support for move semantics where the compilers supports it. </li> <li> A few bugs fixed and missing functions added (including the serious win32 condition variable bug). </li> <li> <code><span class="identifier">scoped_try_lock</span></code> types are now backwards-compatible with Boost 1.34.0 and previous releases. </li> <li> Support for passing function arguments to the thread function by supplying additional arguments to the <code><span class="identifier">thread</span></code> constructor. </li> <li> Backwards-compatibility overloads added for <code><span class="identifier">timed_lock</span></code> and <code><span class="identifier">timed_wait</span></code> functions to allow use of <code><span class="identifier">xtime</span></code> for timeouts. </li> </ul> </li> <li> <span class="library"><a href="/libs/wave/index.html">Wave</a>:</span> <ul> <li> Wave V2.0 is a new major release introducing some breaking API changes, preventing it to be used with Boost versions earlier than V1.36.0. Mainly, the API and hook interface have been streamlined for more consistency. </li> <li> Fixed a couple of bugs, improved regression test system to include testing of the preporcessing hooks interface (for details see: <a href="/libs/wave/ChangeLog">Changelog</a>). </li> </ul> </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> Regular expressions that can be written as strings or as expression templates, and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler. <ul> <li> <code><span class="identifier">skip</span><span class="special">()</span></code> for specifying which parts of the input sequence to ignore when matching it against a regex. </li> <li> <code><span class="identifier">regex_replace</span><span class="special">()</span></code> accepts formatter objects and formatter expressions in addition to format strings. </li> <li> Range-based <code><span class="identifier">regex_replace</span><span class="special">()</span></code> algorithm. </li> <li> Fix crash when semantic actions are placed in look-aheads, look-behinds or independent sub-expressions. </li> </ul> </li> </ul> </div> <div id="version_1_36_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> GCC 4.01 on Mac OS X 10.4.10 with both Intel and Power PC </li> <li> GCC 4.2.3 on Ubuntu Linux 8.04.1 </li> <li> HP C/aC++ B3910B A.06.17 on HP-UX 64-bit </li> <li> Visual C++ 9.0 SP1 beta, 8.0 SP1, and 7.1, all on Windows XP SP-2 </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> GCC 4.2.1 on FreeBSD-7 </li> <li> GCC 4.1.2 on NetBSD </li> <li> HP aCC on OS: HP-UX B.11.31 U ia64 and HP-UX B.11.31 9000/800 RISC </li> <li> IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40 </li> <li> Intel 9.1, 10.0, and 10.1, on Mac OS X 10.4.1 </li> <li> Compaq C++ V7.1-006 for Compaq Tru64 Unix on an OSF1 V5.1 platform. </li> <li> Sun C++ 5.7, 5.8, 5.9 and GCC 3.4.6 on Sun Solaris 5.10. </li> <li> On Linux: <ul> <li> GCC 3.4.3, 4.0.1, 4.2.1, 4.3.0. </li> <li> GCC 4.3.0 with C++0x extensions. </li> <li> GCC 3.4.6, 4.1.1, 4.2.1 on 64 bit linux. </li> <li> Intel C++ 8.1, 9.0 and 9.1. </li> <li> QLogic PathScale(TM) Compiler Suite: Version 3.1 </li> <li> pgCC 7.2-3 64-bit target on x86-64 Linux </li> </ul> </li> <li> On Windows: <ul> <li> Intel 10.1, with Visual C++ 9 backend. </li> <li> Lots of tests on Visual C++ 7.1, 8.0, 9.0 </li> <li> Visual C++ 7.1 with Apache C++ Standard Library 4.2.x branch. </li> <li> Visual C++ 8.0 with STLport 5.1 </li> <li> Visual C++ 8.0 with STLport 5.1 cross-compiling for Windows Mobile 5.0 Pocket PC SDK (ARMV4I). </li> <li> Borland 5.6.4, 5.8.2, 5.9.3 </li> <li> 64 bit Intel 10.1, with Visual C++ 9 backend. </li> <li> 64 bit Visual C++ 9. </li> <li> Comeau C++ 4.3.10.1 beta 2, with Visual C++ 9 backend. </li> </ul> </li> </ul> </div> <div id="version_1_36_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="/users/people/beman_dawes.html">Beman Dawes</a>, <a href="/users/people/rene_rivera.html">Rene Rivera</a>, and Daniel James managed this release. </p> </div> </div>Version 1.35.0Sat, 29 Mar 2008 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Asio, Bimap, Circular Buffer, Function Types, Fusion, GIL, Interprocess, Intrusive, Math/Special Functions, Math/Statistical Distributions, MPI, System. Updated Libraries: Graph, Hash, Iostreams, Multi Array, Multi-index Containers, Serialization, Thread, Wave, Xpressive. </span></span>http://sourceforge.net/projects/boost/files/boost/1.35.0/<div class="description"> <div id="version_1_35_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> Portable networking, including sockets, timers, hostname resolution and socket iostreams, from Chris Kohlhoff. </li> <li> <span class="library"><a href="/libs/bimap/index.html">Bimap</a>:</span> Boost.Bimap is a bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key, from Matias Capeletto. </li> <li> <span class="library"><a href="/libs/circular_buffer/index.html">Circular Buffer</a>:</span> STL compliant container also known as ring or cyclic buffer, from Jan Gaspar. </li> <li> <span class="library"><a href="/libs/function_types/index.html">Function Types</a>:</span> Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types. From Tobias Schwinger. </li> <li> <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> Library for working with tuples, including various containers, algorithms, etc. From Joel de Guzman, Dan Marsden and Tobias Schwinger. </li> <li> <span class="library"><a href="/libs/gil/doc/index.html">GIL</a>:</span> Generic Image Library, from Lubomir Bourdev and Hailin Jin. </li> <li> <span class="library"><a href="/libs/interprocess/index.html">Interprocess</a>:</span> Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga. </li> <li> <span class="library"><a href="/libs/intrusive/index.html">Intrusive</a>:</span> Intrusive containers and algorithms, from Ion Gaztañaga. </li> <li> <span class="library"><a href="/libs/math/doc/sf_and_dist/html/index.html">Math/Special Functions</a>:</span> A wide selection of mathematical special functions from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang. </li> <li> <span class="library"><a href="/libs/math/doc/sf_and_dist/html/index.html">Math/Statistical Distributions</a>:</span> A wide selection of univariate statistical distributions and functions that operate on them from John Maddock and Paul Bristow </li> <li> <span class="library"><a href="/doc/html/mpi.html">MPI</a>:</span> Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer. </li> <li> <span class="library"><a href="/libs/system/index.html">System</a>:</span> Operating system support, including the diagnostics support that will be part of the C++0x standard library, from Beman Dawes. </li> </ul> </div> <div id="version_1_35_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/libs/graph/doc/index.html">Graph</a>:</span> Generic graph components and algorithms. Highlights: <ul> <li> <code><span class="identifier">kolmogorov_max_flow</span></code>, from Stephan Diederich as part of the 2006 Google Summer of Code. </li> <li> <code><span class="identifier">read_dimacs_max_flow</span></code> and <code><span class="identifier">write_dimacs_max_flow</span></code> for max-flow problems, from Stephan Diederich. </li> <li> <code><span class="identifier">read_graphml</span></code> and <code><span class="identifier">write_graphml</span></code> for GraphML input/output, from Tiago de Paula Peixoto. </li> <li> <code><span class="identifier">minimum_cycle_ratio</span></code> and <code><span class="identifier">maximum_cycle_ratio</span></code>, from Dmitry Bufistov and Andrey Parfenov. </li> <li> <code><span class="identifier">boyer_myrvold_planarity_test</span></code>, along with a suite of algorithms for planar graphs, from Aaron Windsor. </li> <li> LEDA Adaptor improvements, from Jens Müller. </li> </ul> </li> <li> <span class="library"><a href="/libs/functional/hash/index.html">Hash</a>:</span> A TR1 hash function object, from Daniel James. Highlights: <ul> <li> Support for <code><span class="keyword">long</span> <span class="keyword">long</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code>. </li> <li> Improved the algorithm for hashing floating point numbers. </li> <li> A few bug and warning fixes. </li> </ul> </li> <li> <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis. Highlights: <ul> <li> Clarified the semantics of close(). This fixes several bugs but will break some existing code. See <a href="/libs/iostreams/doc/index.html?path=12">Release Notes</a> for details. </li> <li> Numerous other bug fixes and optimizations. </li> </ul> </li> <li> <span class="library"><a href="/libs/multi_array/index.html">Multi Array</a>:</span> <ul> <li> Added &quot;dimensionality&quot; compile-time constante to the MultiArray concept. </li> <li> For greater control over error situations, uses of C++ assert have been replaced with BOOST_ASSERT. </li> <li> Fixed a bug with simultaneous resizing and reindexing. </li> </ul> </li> <li> <span class="library"><a href="/libs/multi_index/doc/index.html">Multi-index Containers</a>:</span> <ul> <li> New <a href="/libs/multi_index/doc/tutorial/key_extraction.html#global_fun"><code><span class="identifier">global_fun</span></code></a> predefined key extractor. </li> <li> Added <a href="/libs/multi_index/doc/tutorial/indices.html#iterator_to"><code><span class="identifier">iterator_to</span></code></a> facility. </li> <li> Included <a href="/libs/multi_index/doc/tutorial/creation.html#special_allocator">support for non-standard allocators</a> such as those of <a href="/libs/interprocess/index.html">Boost.Interprocess</a>, which makes <code><span class="identifier">multi_index_container</span></code>s placeable in shared memory. </li> <li> New versions of <code><span class="identifier">modify</span></code> and <code><span class="identifier">modify_key</span></code> with rollback, as described in the <a href="/libs/multi_index/doc/tutorial/basics.html#ord_updating">tutorial</a>. </li> <li> A number of optimizations and minor improvements have also been included. For a complete list of changes, see the library <a href="/libs/multi_index/doc/release_notes.html#boost_1_35">release notes</a>. </li> </ul> </li> <li> <span class="library"><a href="/libs/serialization/index.html">Serialization</a>:</span> Boost.Serialization has been updated with optimizations for dense arrays. </li> <li> <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> <ul> <li> The Thread library has been updated to be more in line with the C++0x working draft. </li> <li> Instances of boost::thread and of the various lock types are now movable. </li> <li> Threads can be interrupted at interruption points. </li> <li> Condition variables can now be used with any type that implements the Lockable concept, through the use of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">condition_variable_any</span></code> (<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">condition</span></code> is a typedef to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">condition_variable_any</span></code>, provided for backwards compatibility). <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">condition_variable</span></code> is provided as an optimization, and will only work with <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique_lock</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mutex</span><span class="special">&gt;</span></code> (<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mutex</span><span class="special">::</span><span class="identifier">scoped_lock</span></code>). </li> <li> Thread IDs are separated from boost::thread, so a thread can obtain it's own ID (using <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">get_id</span><span class="special">()</span></code>), and IDs can be used as keys in associative containers, as they have the full set of comparison operators. </li> <li> Timeouts are now implemented using the Boost DateTime library, through a typedef <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system_time</span></code> for absolute timeouts, and with support for relative timeouts in many cases. <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">xtime</span></code> is supported for backwards compatibility only. </li> <li> Locks are implemented as publicly accessible templates <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lock_guard</span></code>, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique_lock</span></code>, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_lock</span></code>, and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">upgrade_lock</span></code>, which are templated on the type of the mutex. The Lockable concept has been extended to include publicly available <code><span class="identifier">lock</span><span class="special">()</span></code> and <code><span class="identifier">unlock</span><span class="special">()</span></code> member functions, which are used by the lock types. </li> <li> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">try_mutex</span></code> has been removed, and the functionality subsumed into <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mutex</span></code>. <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">try_mutex</span></code> is left as a typedef, but is no longer a separate class. </li> <li> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">recursive_try_mutex</span></code> has been removed, and the functionality subsumed into <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">recursive_mutex</span></code>. <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">recursive_try_mutex</span></code> is left as a typedef, but is no longer a separate class. </li> <li> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">thread</span><span class="special">::</span><span class="identifier">lock_ops</span></code> has been removed. Code that relies on the <code><span class="identifier">lock_ops</span></code> implementation detail will no longer work, as this has been removed, as it is no longer necessary now that mutex types now have public <code><span class="identifier">lock</span><span class="special">()</span></code> and <code><span class="identifier">unlock</span><span class="special">()</span></code> member functions. </li> <li> <code><span class="identifier">scoped_lock</span></code> constructors with a second parameter of type bool are no longer provided. With previous boost releases, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mutex</span><span class="special">::</span><span class="identifier">scoped_lock</span> <span class="identifier">some_lock</span><span class="special">(</span><span class="identifier">some_mutex</span><span class="special">,</span><span class="keyword">false</span><span class="special">);</span></code> could be used to create a lock object that was associated with a mutex, but did not lock it on construction. This facility has now been replaced with the constructor that takes a <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">defer_lock_type</span></code> as the second parameter: <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mutex</span><span class="special">::</span><span class="identifier">scoped_lock</span> <span class="identifier">some_lock</span><span class="special">(</span><span class="identifier">some_mutex</span><span class="special">,</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">defer_lock</span><span class="special">);</span></code> </li> <li> The broken <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">read_write_mutex</span></code> has been replaced with <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_mutex</span></code>. </li> </ul> </li> <li> <span class="library"><a href="/libs/wave/index.html">Wave</a>:</span> Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser. Highlights: <ul> <li> Added the possibility to continue the preprocessing after an error occured. </li> <li> Added the macro introspection API to the wave::context object. </li> <li> Added threading support to the library. </li> <li> Improved the overall performance by upto 30%. </li> <li> Changed and unified preprocessor hook interface (this is an interface breaking change!), added several new preprocessor hook functions. </li> <li> Added serialization support. </li> <li> Added new examples (for instance: Hannibal - a partial C++ parser, by Danny Havenith). </li> <li> Added a new lexical analyzer based on Ben Hansons Lexertl library. </li> <li> Fixed a large number of other bugs and problems. </li> </ul> </li> <li> <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> Regular expressions that can be written as strings or as expression templates, and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler. Highlights: <ul> <li> Added <em>semantic actions</em> to static regexes. A semantic action is code that executes when part of a regular expression matches. </li> <li> Added <em>custom assertions</em> to static regexes. A custom assertion is a Boolean predicate that can participate in the regex match. </li> <li> Added <em>named regexes</em> for embedding a static or dynamic regex into a dynamic regex. This can be used to create dynamic regex grammars. </li> <li> Added <em>named captures</em> to dynamic regexes, like Perl. </li> </ul> </li> </ul> </div> <div id="version_1_35_0.supported_compilers"> <h3><span class="link">Supported Compilers</span></h3> <p> The following compilers are officially supported in this release: </p> <ul> <li> HP aC++ A.06.14 on HP-UX </li> <li> Darwin GCC 4.01. </li> <li> GNU GCC up to version 4.2.1, on Linux and Solaris. </li> <li> Intel C++ 9.1 on Linux. </li> <li> Intel C++ 10.1 on Windows. </li> <li> Microsoft Visual C++ 7.1 and 8 on Windows (Visual Sudio .NET 2003 and 2005). </li> </ul> <p> In addition the following compilers should be well supported, but weren't part of our release criteria for 1.35: </p> <ul> <li> IBM Visual Age 9.0 on AIX. </li> <li> Intel C++ 10 and later on Linux. </li> <li> GNU GCC 4.3 and later on Linux and Solaris. </li> <li> Microsoft Visual C++ 9 (Visual Studio .NET 2008). </li> </ul> </div> <div id="version_1_35_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="/users/people/beman_dawes.html">Beman Dawes</a> managed this release. </p> </div> </div>Version 1.34.1Tue, 24 Jul 2007 12:00:00 GMT<span class="brief"><span class="purpose"> Bugfix Release. </span></span>http://sourceforge.net/projects/boost/files/boost/1.34.1/<div class="description"> <p> This is a bug fix release addressing many problems with the 1.34.0 release. It is a recommended upgrade for all users of Boost 1.34.0. For a complete list of fixes see <a href="http://svn.boost.org/trac/boost/query?status=closed&amp;milestone=Boost+1.34.1">Boost Trac</a>. </p> <div id="version_1_34_1.supported_compilers"> <h3><span class="link">Supported Compilers</span></h3> <p> New in this release is improved support for the IBM XL C/C++ compiler. </p> <p> Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. New in this release The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the <a href="http://www.boost.org/regression/release/user/">regression test results</a>. </p> <ul> <li> <a href="http://developer.apple.com/">Apple GCC</a> 4.0.1 on Mac OS X. </li> <li> <a href="http://www.codegear.com/products/cppbuilder">Borland C++</a> 5.8.2 on Windows. </li> <li> <a href="http://gcc.gnu.org/">GNU C++</a> <ul> <li> 3.2.x., 3.3.x, 3.4.x, 4.0.x, 4.1.x on Linux </li> <li> 4.1.x on Solaris </li> <li> 3.4.x on Windows </li> </ul> </li> <li> <a href="http://h30097.www3.hp.com/cplus/">HP C++ for Tru64 UNIX 7.1</a>. </li> <li> <a href="http://www.hp.com/go/c++">HP aC++ A.06.14</a>. </li> <li> <a href="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/index.htm">Intel C++</a> 9.1 on Windows, 9.0 on Linux. </li> <li> <a href="http://www.metrowerks.com/">Metrowerks CodeWarrior</a> 9.4 on Windows. </li> <li> <a href="http://msdn.microsoft.com/visualc/">Microsoft Visual C++</a> 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0. Note: Boost does not support the non-standard &quot;Safe&quot; C++ Library shipping with Visual C++ 8.0, which may result in many spurious warnings from Boost headers and other standards-conforming C++ code. To suppress these warnings, define the macro <code><span class="identifier">_SCL_SECURE_NO_DEPRECATE</span></code>. </li> <li> <a href="http://developers.sun.com/sunstudio/index.jsp">Sun Studio 11</a> on Solaris. </li> </ul> </div> <div id="version_1_34_1.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="/users/people/thomas_witt.html">Thomas Witt</a> managed this release. </p> <p> A great number of people contributed their time and expertise to make this release possible. Special thanks go to Kim Barrett consolidating Boost.Iostreams changes from various branches and Rene Rivera for general build and installation support. </p> </div> </div>Version 1.34.0Sat, 12 May 2007 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Foreach, Statechart, TR1, Typeof, Xpressive. Updated Libraries: Assign, Date_time, Filesystem, Function, Hash, Graph, MultiArray, Multi-Index, Optional, Parameter, Pointer Container, Python, Signals, Smart Pointer, String Algorithm, Wave </span></span>http://sourceforge.net/projects/boost/files/boost/1.34.0/<div class="description"> <div id="version_1_34_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_34_0/doc/html/foreach.html">Foreach Library</a>:</span> <code><span class="identifier">BOOST_FOREACH</span></code> macro for easily iterating over the elements of a sequence, from Eric Niebler. </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/statechart/doc/index.html">Statechart Library</a>:</span> Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber. </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/tr1/index.html">TR1 Library</a>:</span> An implementation of the C++ Technical Report on Standard Library Extensions, from John Maddock. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span></code>. Highlights include: Reference Wrappers, Smart Pointers, result_of, Function Object Binders, Polymorphic function wrappers, Type Traits, Random Number Generators and Distributions, Tuples, Fixed Size Array, Hash Function Objects, Regular Expressions, and Complex Number Additional Algorithms. </li> <li> <span class="library"><a href="/doc/libs/1_34_0/doc/html/typeof.html">Typeof Library</a>:</span> Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt. </li> <li> <span class="library"><a href="/doc/libs/1_34_0/doc/html/xpressive.html">Xpressive Library</a>:</span> Regular expressions that can be written as strings or as expression templates, and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler. </li> </ul> </div> <div id="version_1_34_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/assign/index.html">Assign Library</a>:</span> <ul> <li> Support for <code><span class="identifier">ptr_map</span><span class="special">&lt;</span><span class="identifier">key</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span></code> via the new function <code><span class="identifier">ptr_map_insert</span><span class="special">()</span></code> </li> <li> Support for initialization of <a href="/doc/libs/1_34_0/libs/ptr_container/index.html">Pointer Containers</a> when the containers hold pointers to an abstract base class. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/doc/html/date_time.html">Date_time library</a>:</span> <ul> <li> Support for new US/Canada timezone rules and other bug fixes. See <a href="/doc/libs/1_34_0/doc/html/date_time/details.html#changes">Change History</a> for details. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/filesystem/doc/index.htm">Filesystem Library</a>:</span> Major upgrade in preparation for submission to the C++ Standards Committee for TR2. Changes include: <ul> <li> <a href="/doc/libs/1_34_0/libs/filesystem/doc/i18n.html#Internationalization">Internationalization</a>, provided by class templates <em>basic_path</em>, <em>basic_filesystem_error</em>, <em>basic_directory_iterator</em>, and <em>basic_directory_entry</em>. </li> <li> <a href="/doc/libs/1_34_0/libs/filesystem/doc/i18n.html#Simplification">Simplification</a> of the path interface by eliminating special constructors to identify native formats. </li> <li> <a href="/doc/libs/1_34_0/libs/filesystem/doc/i18n.html#Rationalization">Rationalization</a> of predicate function design, including the addition of several new functions. </li> <li> Clearer specification by reference to <a href="/doc/libs/1_34_0/libs/filesystem/doc/design.htm#POSIX-01">POSIX</a>, the ISO/IEEE Single Unix Standard, with provisions for Windows and other operating systems. </li> <li> <a href="/doc/libs/1_34_0/libs/filesystem/doc/i18n.html#Preservation">Preservation</a> of existing user code whenever possible. </li> <li> <a href="/doc/libs/1_34_0/libs/filesystem/doc/i18n.html#More_efficient">More efficient</a> directory iteration. </li> <li> Addition of a <a href="/doc/libs/1_34_0/libs/filesystem/doc/tr2_proposal.html#Class-template-basic_recursive_directory_iterator">recursive directory iterator</a>. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/function/index.html">Function Library</a>:</span> Boost.Function now implements a small buffer optimization, which can drastically improve the performance when copying or constructing Boost.Function objects storing small function objects. For instance, <code><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">X</span><span class="special">:</span><span class="identifier">foo</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">_1</span><span class="special">,</span> <span class="identifier">_2</span><span class="special">)</span></code> requires no heap allocation when placed into a Boost.Function object. </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/functional/hash/index.html">Functional/Hash Library</a>:</span> <ul> <li> Use declarations for standard classes, so that the library doesn't need to include all of their headers </li> <li> Deprecated the <tt>&lt;boost/functional<em>hash</em>*.hpp&gt;</tt> headers. </li> <li> Add support for the <code><span class="identifier">BOOST_HASH_NO_EXTENSIONS</span></code> macro, which disables the extensions to TR1 </li> <li> Minor improvements to the hash functions for floating point numbers. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/graph/doc/index.html">Graph Library</a>:</span> <ul> <li> <a href="/doc/libs/1_34_0/libs/graph/doc/maximum_matching.html"><code><span class="identifier">edmonds_maximum_cardinality_matching</span></code></a>, from Aaron Windsor. </li> <li> <a href="/doc/libs/1_34_0/libs/graph/doc/lengauer_tarjan_dominator.htm"><code><span class="identifier">lengauer_tarjan_dominator_tree</span></code></a>, from JongSoo Park. </li> <li> <a href="/doc/libs/1_34_0/libs/graph/doc/compressed_sparse_row.html"><code><span class="identifier">compressed_sparse_row_graph</span></code></a>, from Jeremiah Willcock and Douglas Gregor of Indiana University. </li> <li> <a href="/doc/libs/1_34_0/libs/graph/doc/sorted_erdos_renyi_gen.html"><code><span class="identifier">sorted_erdos_renyi_iterator</span></code></a>, from Jeremiah Willcock of Indiana University. </li> <li> <a href="/doc/libs/1_34_0/libs/graph/doc/biconnected_components.html"><code><span class="identifier">biconnected_components</span></code></a> now supports a visitor and named parameters, from Janusz Piwowarski. </li> <li> <a href="/doc/libs/1_34_0/libs/graph/doc/adjacency_matrix.html"><code><span class="identifier">adjacency_matrix</span></code></a> now models the <a href="/doc/libs/1_34_0/libs/graph/doc/BidirectionalGraph.html">Bidirectional Graph</a> concept. </li> <li> <a href="/doc/libs/1_34_0/libs/graph/doc/dijkstra_shortest_paths.html"><code><span class="identifier">dijkstra_shortest_paths</span></code></a> now calls <code><span class="identifier">vis</span><span class="special">.</span><span class="identifier">initialize_vertex</span></code> for each vertex during initialization. </li> <li> <em>Note:</em> the name of the compiled library for the <a href="/doc/libs/1_34_0/libs/graph/doc/read_graphviz.html">GraphViz reader</a> has changed to <tt>boost_graph</tt> (from <tt>bgl-viz</tt>) to match Boost conventions. </li> <li> See the <a href="/doc/libs/1_34_0/libs/graph/doc/history.html#1.34.0">complete revision history</a> for more information. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/multi_array/index.html">MultiArray Library</a>:</span> Boost.MultiArray now by default provides range-checking for <code><span class="keyword">operator</span><span class="special">[]</span></code>. Range checking can be disabled by defining the macro <code><span class="identifier">BOOST_DISABLE_ASSERTS</span></code> before including <tt>multi_array.hpp</tt>. A bug in <code><span class="identifier">multi_array</span><span class="special">::</span><span class="identifier">resize</span><span class="special">()</span></code> related to storage orders was fixed. </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/multi_index/doc/index.html">Multi-index Containers Library</a>:</span> <ul> <li> New <a href="/doc/libs/1_34_0/libs/multi_index/doc/tutorial/indices.html#rnd_indices">random access indices</a>. </li> <li> Non key-based indices feature new <a href="/doc/libs/1_34_0/libs/multi_index/doc/tutorial/indices.html#rearrange">rearrange facilities</a>. </li> <li> This version also includes a number of optimizations and usage improvements. For a complete list of changes, see the library <a href="/doc/libs/1_34_0/libs/multi_index/doc/release_notes.html#boost_1_34">release notes</a>. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/optional/index.html">Optional Library</a>:</span> <ul> <li> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none_t</span> <span class="keyword">and</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">none</span></code> now added to Optional's documentation </li> <li> Relational operators now directly support arguments of type <code><span class="char">'T'</span></code> and <code><span class="char">'none_t'</span></code> </li> <li> operator-&gt;() now also works with reference types. </li> <li> Helper functions <code><span class="identifier">make_optional</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">make_optional</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span><span class="identifier">val</span><span class="special">)</span> <span class="keyword">and</span> <span class="identifier">get_optional_value_or</span><span class="special">(</span><span class="identifier">opt</span><span class="special">,</span><span class="identifier">alternative_value</span><span class="special">)</span></code> added. </li> <li> Constructor taking a boolean condition (as well as a value) added. </li> <li> Member function <code><span class="identifier">get_value_or</span><span class="special">(</span><span class="identifier">alternative_value</span><span class="special">)</span></code> added. </li> <li> Incompatbility bug with mpl::apply&lt;&gt; fixed. </li> <li> Converting assignment bug with uninitialized lvalues fixed. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/parameter/index.html">Parameter Library</a>:</span> <ul> <li> Every ArgumentPack is now a valid <a href="/doc/libs/1_34_0/libs/mpl/doc/refmanual/forward-sequence.html">MPL Forward Sequence.</a> </li> <li> Support for unnamed arguments (those whose keyword is deduced from their types) is added. </li> <li> Support for named and unnamed template arguments is added. </li> <li> New overload generation macros solve the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm">forwarding problem</a> directly. </li> <li> See also the Python library changes, below. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/ptr_container/index.html">Pointer Container Library</a>:</span> <ul> <li> Support for serialization via <a href="/doc/libs/1_34_0/libs/serialization/index.html">Boost.Serialization.</a> </li> <li> Exceptions can be disabled by defining the macro BOOST_PTR_CONTAINER_NO_EXCEPTIONS before including any header. This macro is defined by default if BOOST_NO_EXCEPTIONS is defined. </li> <li> Additional <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> overloads added s.t. one can also pass <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> instead of only <code><span class="identifier">T</span><span class="special">*</span></code> arguments to member functions. </li> <li> <code><span class="identifier">transfer</span><span class="special">()</span></code> now has weaker requirements s.t. one can transfer objects from <code><span class="identifier">ptr_container</span><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></code> to <code><span class="identifier">ptr_container</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">&gt;</span></code>, </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/python/index.html">Python Library</a>:</span> <ul> <li> Boost.Python now automatically appends C++ signatures to docstrings. The new <a href="/doc/libs/1_34_0/libs/python/doc/v2/docstring_options.html"><tt>docstring_options.hpp</tt></a> header is available to control the content of docstrings. </li> <li> <a href="/doc/libs/1_34_0/libs/python/doc/v2/stl_iterator.html#stl_input_iterator-spec"><code><span class="identifier">stl_input_iterator</span></code></a>, for turning a Python iterable object into an STL input iterator, from Eric Niebler. </li> <li> Support for <code><span class="keyword">void</span><span class="special">*</span></code> conversions is added. </li> <li> Integrated support for wrapping C++ functions built with the parameter library; keyword names are automatically known to docsstrings. </li> <li> Enhancements to the API for better embedding support (<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">import</span><span class="special">()</span></code>, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">exec</span><span class="special">()</span></code>, and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">exec_file</span><span class="special">()</span></code>). </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/doc/html/signals.html">Signals Library</a>:</span> More improvements to signal invocation performance from Robert Zeh. </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/smart_ptr/smart_ptr.htm">Smart Pointers Library</a>:</span> <ul> <li> <a href="/doc/libs/1_34_0/libs/smart_ptr/shared_ptr.htm#allocator_constructor">Allocator support</a> as proposed in <a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1851.pdf">N1851</a> (162 Kb PDF). </li> <li> <a href="/doc/libs/1_34_0/libs/smart_ptr/pointer_cast.html"><code><span class="identifier">pointer_cast</span></code></a> and <a href="/doc/libs/1_34_0/libs/smart_ptr/pointer_to_other.html"><code><span class="identifier">pointer_to_other</span></code></a> utilities to allow pointer-independent code, from Ion Gaztanaga. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/algorithm/string/index.html">String Algorithm Library</a>:</span> <ul> <li> <code><span class="identifier">lexicographical_compare</span></code> </li> <li> <code><span class="identifier">join</span></code> </li> <li> New comparison predicates <code><span class="identifier">is_less</span></code>, <code><span class="identifier">is_not_greater</span></code>. </li> <li> Negative indexes support (like Perl) in various algorihtms (<code><span class="special">*</span><span class="identifier">_head</span><span class="special">/</span><span class="identifier">tail</span></code>, <code><span class="special">*</span><span class="identifier">_nth</span></code>). </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_34_0/libs/wave/index.html">Wave Library</a>:</span> <ul> <li> Wave now correctly recognizes pp-number tokens as mandated by the C++ Standard, which are converted to C++ tokens right before they are returned from the library. </li> <li> Several new preprocessing hooks have been added. For a complete description please refer to the related documentation page: <a href="/doc/libs/1_34_0/libs/wave/doc/class_reference_ctxpolicy.html">The Context Policy</a>. </li> <li> Shared library (dll) support has been added for the generated Wave libraries. </li> <li> The overall error handling has been improved. It is now possible to recover and continue after an error or a warning was issued. </li> <li> Support for optional comment and/or full whitespace preservation in the generated output stream has been added. </li> <li> The Wave library now performs automatic include guard detection to avoid accessing header files more than once, if appropriate. </li> <li> Full interactive mode has been added to the Wave tool. Now the Wave tool can be used just like Python or Perl for instance to interactively try out your BOOST_PP macros. Additionally it is now possible to load and save the current state of an interactive session (macro tables et.al.). </li> <li> The overall performance has been improved by upto 40-60%, depending on the concrete files to process. </li> <li> Support for new pragmas has been added allowing to control certain library features from inside the preprocessed sources (partial output redirection, control of generated whitespace and #line directives). </li> <li> Optional support for #pragma message &quot;...&quot; has been added. </li> <li> This version also includes a number of bug fixes and usage improvements. For a complete list of changes, see the libraries <a href="/doc/libs/1_34_0/libs/wave/ChangeLog">change log</a>. </li> </ul> </li> </ul> </div> <div id="version_1_34_0.supported_compilers"> <h3><span class="link">Supported Compilers</span></h3> <p> Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the <a href="http://www.boost.org/regression/release/user/">regression test results</a>. </p> <ul> <li> <a href="http://developer.apple.com/">Apple GCC</a> 4.0.1 on Mac OS X. </li> <li> <a href="http://www.codegear.com/products/cppbuilder">Borland C++</a> 5.8.2 on Windows. </li> <li> <a href="http://gcc.gnu.org/">GNU C++</a> <ul> <li> 3.2.x., 3.3.x, 3.4.x, 4.0.x, 4.1.x on Linux </li> <li> 4.1.x on Solaris </li> <li> 3.4.x on Windows </li> </ul> </li> <li> <a href="http://h30097.www3.hp.com/cplus/">HP aC++ A.06.14</a>. </li> <li> <a href="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/index.htm">Intel C++</a> 9.1 on Windows, 9.0 on Linux. </li> <li> <a href="http://www.metrowerks.com/">Metrowerks CodeWarrior</a> 9.4 on Windows. </li> <li> <a href="http://msdn.microsoft.com/visualc/">Microsoft Visual C++</a> 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0. Note: Boost does not support the non-standard &quot;Safe&quot; C++ Library shipping with Visual C++ 8.0, which may result in many spurious warnings from Boost headers and other standards-conforming C++ code. To suppress these warnings, define the macro <code><span class="identifier">_SCL_SECURE_NO_DEPRECATE</span></code>. </li> <li> <a href="http://developers.sun.com/sunstudio/compilers_index.html">Sun Studio 11</a> on Solaris. </li> </ul> </div> <div id="version_1_34_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="/users/people/thomas_witt.html">Thomas Witt</a> managed this release. </p> <p> A great number of people contributed their time and expertise to make this release possible. Special thanks go to Vladimir Prus for making Boost.Build version 2 a reality, David Abrahams for authoring a new getting started guide and Greg D. for answering countless questions. </p> </div> </div>Version 1.33.1Tue, 5 Dec 2006 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Any, Config, Python, Smart Pointer, Regex, Iostreams, Functional/Hash, Multi-index Containers, Graph, Signals, Thread, and Wave. </span></span>http://sourceforge.net/projects/boost/files/boost/1.33.1/<div class="description"> <div id="version_1_33_1.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_33_1/doc/html/any.html">Any Library</a>:</span> Cast to reference types introduced in 1.33.0 is now documented on <code><span class="identifier">any_cast</span></code> documentation page. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/bind/bind.html">Bind Library</a>:</span> Bind expressions now support <a href="/doc/libs/1_33_1/libs/bind/bind.html#operators">comparisons and negation</a>. Example: <code><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">X</span><span class="special">::</span><span class="identifier">name</span><span class="special">,</span> <span class="identifier">_1</span><span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">X</span><span class="special">::</span><span class="identifier">name</span><span class="special">,</span> <span class="identifier">_2</span><span class="special">)</span></code>. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/config/index.html">Config Library</a>:</span> Don't undef <code><span class="identifier">BOOST_LIB_TOOLSET</span></code> after use. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/python/doc/index.html">Boost.Python</a>:</span> <ul> <li> The build now assumes Python 2.4 by default, rather than 2.2 </li> <li> Support Python that's built without Unicode support </li> <li> Support for wrapping classes with overloaded address-of (<code><span class="special">&amp;</span></code>) operators </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/smart_ptr/index.html">Smart Pointer Library</a>:</span> Fixed problems under Metrowerks CodeWarrior on PowerPC (Mac OS X) with inlining on, GNU GCC on PowerPC 64. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/regex/doc/index.html">Regex Library</a>:</span> Fixed the supplied makefiles, and other small compiler specific changes. Refer to the <a href="/doc/libs/1_33_1/libs/regex/doc/history.html">regex history page</a> for more information on these and other small changes. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/iostreams/doc/index.html">Iostreams Library</a>:</span> Improved the interface for accessing a chain's components, added <code><span class="identifier">is_open</span></code> members to the file and file descriptor devices, fixed memory-mapped files on Windows, and made minor changes to the documentation. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/python/doc/index.html">Boost.Python</a>:</span> <ul> <li> Added support for docstrings on nonstatic properties. </li> <li> We now export the client-provided docstrings for <code><span class="identifier">init</span><span class="special">&lt;</span><span class="identifier">optional</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span></code> and <em>XXX</em><code><span class="identifier">_FUNCTION_OVERLOADS</span><span class="special">()</span></code> for only the last overload. </li> <li> Support for Embedded VC++ 4 and GCC-3.3 on MacOS added </li> <li> Introduced better support for rvalue from-python conversions of shared_ptr. </li> <li> Support for exposing <code><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">*&gt;</span></code> with the indexing suite. </li> <li> updated visual studio project build file. </li> <li> Added search feature to the index page. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/functional/hash/index.html">Functional/Hash Library</a>:</span> Fixed the points example. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/multi_index/doc/index.html">Multi-index Containers Library</a>:</span> Fixed a problem with multithreaded code, and other minor changes. Refer to the library <a href="/doc/libs/1_33_1/libs/multi_index/doc/release_notes.html#boost_1_33_1">release notes</a> for further details. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/graph/doc/table_of_contents.html">Graph Library</a>:</span> <ul> <li> Fixed a problem with the relaxed heap on x86 Linux (fixes bug in <code><span class="identifier">dijkstra_shortest_paths</span></code>). </li> <li> Fixed problems with <a href="/doc/libs/1_33_1/libs/graph/doc/cuthill_mckee_ordering.html"><code><span class="identifier">cuthill_mckee_ordering</span></code></a> and <a href="/doc/libs/1_33_1/libs/graph/doc/king_ordering.html"><code><span class="identifier">king_ordering</span></code></a> producing no results. </li> <li> Added <code><span class="identifier">color_map</span></code> parameter to <code><span class="identifier">dijkstra_shortest_paths</span></code>. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/signals/doc/index.html">Signals Library</a>:</span> Fixed problems with the use of Signals across shared library boundaries. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/thread/doc/index.html">Thread library</a>:</span> <code><span class="identifier">read_write_mutex</span></code> has been removed due to problems with deadlocks. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/wave/index.html">Wave library</a> (V1.2.1):</span> Fixed a couple of problems, refer to the <a href="/doc/libs/1_33_1/libs/wave/ChangeLog">change log</a> for further details. </li> </ul> </div> <div id="version_1_33_1.supported_compilers"> <h3><span class="link">Supported Compilers</span></h3> <p> Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the <a href="http://www.boost.org/regression/release/user/">regression test results</a>. </p> <p> <em>New for this release</em>: Support for building with the newest STLport-5.0 was added. The support includes building with MinGW Runtime 3.8 plus STLport-5.0 improved to support wide character operations. Apple GCC 4.0, HP Tru64 C++, and Microsoft Visual C++ 8.0 are supported platforms. We have added an experimental autoconf-like <tt>configure</tt> script for Unix-like systems: run <tt>configure --help</tt> for more information. </p> <ul> <li> <a href="http://developer.apple.com/">Apple GCC</a> 3.3, 4.0 on Mac OS X. </li> <li> <a href="http://www.codegear.com/products/cppbuilder">Borland C++</a> 5.6.4 on Windows. </li> <li> <a href="http://gcc.gnu.org">GNU C++</a> 2.95.3 (with and without STLport), 3.2.x., 3.3.x, 3.4.x, 4.0.x on Windows, Linux and Solaris. </li> <li> <a href="http://h30097.www3.hp.com/cplus/">HP C++ for Tru64 UNIX 7.1</a>. </li> <li> <a href="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/index.htm">Intel C++</a> 8.1, 9.0 on Windows, Linux. </li> <li> <a href="http://www.metrowerks.com">Metrowerks CodeWarrior</a> 8.3, 9.4, 9.5 on Mac OS X and Windows. </li> <li> <a href="http://msdn.microsoft.com/visualc/">Microsoft Visual C++</a> 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0. Note: Boost does not support the non-standard &quot;Safe&quot; C++ Library shipping with Visual C++ 8.0, which may result in many spurious warnings from Boost headers and other standards-conforming C++ code. To suppress these warnings, define the macro <code><span class="identifier">_SCL_SECURE_NO_DEPRECATE</span></code>. </li> </ul> </div> <div id="version_1_33_1.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <span class="inset-left"><img alt="Medieval Mr. Gregor" src="/gfx/boost_1_33_0.jpg"/></span> <a href="/users/people/doug_gregor.html">Douglas Gregor</a> managed this release. </p> <p> A great number of people contributed their time and expertise to make this release possible. Special thanks go to Aleksey Gurtovoy and Misha Bergal, who managed to keep the regression testing system working throughout the release process; David Abrahams, Beman Dawes, Aleksey Gurtovoy, Bronek Kozicki, Rene Rivera and Jonathan Turkanis for greatly improving the quality of this release; Rene Rivera for the new Boost web page design; and Zoltan &quot;cad&quot; Juhasz for the new Boost logo. </p> </div> </div>Version 1.33.0Thu, 11 Aug 2005 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Iostream, Hash, Parameter, Pointer Container, Wave. Updated Libraries: Any, Assignment, Bind, Date-Time, Graph, Multi-Index, Program Options, Property Map, Python, Random Number, Range, Regex, Serialization, Signals. </span></span>http://sourceforge.net/projects/boost/files/boost/1.33.0/<div class="description"> <div id="version_1_33_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/iostreams/doc/index.html">Iostreams Library</a>:</span> Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/functional/hash/index.html">Functional/Hash Library</a>:</span> A TR1 hash function object that can be extended to hash user defined types, from Daniel James. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/parameter/doc/html/index.html">Parameter Library</a>:</span> Write functions that accept arguments by name: especially useful when a function has more than one argument with a useful default value, since named arguments can be passed in any order. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/ptr_container/index.html">Pointer Container Library</a>:</span> Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/wave/index.html">Wave</a>:</span> Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser. </li> </ul> </div> <div id="version_1_33_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_33_1/doc/html/any.html">Any Library</a>:</span> <code><span class="identifier">any_cast</span></code> has been enhanced to allow direct access to <code><span class="identifier">any</span></code>'s held value. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/assign/doc/index.html">Assignment Library</a>:</span> Support for <a href="/doc/libs/1_33_1/libs/ptr_container/index.html">Pointer Container Library</a> and new efficient functions <code><span class="identifier">ref_list_of</span><span class="special">()</span></code> and <code><span class="identifier">cref_list_of</span><span class="special">()</span></code> for generating anonymous ranges. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/bind/bind.html">Bind Library</a>:</span> Bind expressions now support <a href="/doc/libs/1_33_1/libs/bind/bind.html#operators">comparisons and negation</a>. Example: <code><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">X</span><span class="special">::</span><span class="identifier">name</span><span class="special">,</span> <span class="identifier">_1</span><span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">X</span><span class="special">::</span><span class="identifier">name</span><span class="special">,</span> <span class="identifier">_2</span><span class="special">)</span></code>. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/doc/html/date_time.html">Date-Time Library</a>:</span> <ul> <li> Added <a href="/doc/libs/1_33_1/doc/html/date_time/local_time.html">local time and time zone classes</a>. </li> <li> Added <a href="/doc/libs/1_33_1/doc/html/date_time/date_time_io.html">format-based Input/Output facets</a>. </li> <li> For a complete list of changes, see the library <a href="/doc/libs/1_33_1/doc/html/date_time/details.html#date_time.changes">change history</a>. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/graph/doc/index.html">Graph Library</a>:</span> Introduced several new algorithms and improved existing algorithms: <ul> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/python.html">Experimental Python bindings</a>, from Doug Gregor and Indiana University. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/floyd_warshall_shortest.html"><code><span class="identifier">floyd</span> <span class="identifier">warshall</span> <span class="identifier">all</span> <span class="identifier">pairs</span> <span class="identifier">shortest</span> <span class="identifier">paths</span></code></a>, from Lauren Foutz and Scott Hill. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/astar_search.html"><code><span class="identifier">astar</span> <span class="identifier">search</span></code></a>, from Kristopher Beevers and Jufeng Peng. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/fruchterman_reingold.html"><code><span class="identifier">fruchterman</span> <span class="identifier">reingold</span> <span class="identifier">force</span> <span class="identifier">directed</span> <span class="identifier">layout</span></code></a>, from Doug Gregor and Indiana University. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/biconnected_components.html"><code><span class="identifier">biconnected</span> <span class="identifier">components</span></code> and <code><span class="identifier">articulation</span> <span class="identifier">points</span></code></a>, from Jeremy Siek, Janusz Piwowarski, and Doug Gregor. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/sequential_vertex_coloring.html"><code><span class="identifier">sequential</span> <span class="identifier">vertex</span> <span class="identifier">coloring</span></code></a> has been updated, tested, and documented. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/gursoy_atun_layout.html"><code><span class="identifier">gursoy</span> <span class="identifier">atun</span> <span class="identifier">layout</span></code></a>, from Jeremiah Willcock and Doug Gregor of Indiana University. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/king_ordering.html"><code><span class="identifier">king</span> <span class="identifier">ordering</span></code></a>, from D. Kevin McGrath of Indiana University. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/cuthill_mckee_ordering.html"><code><span class="identifier">cuthill</span> <span class="identifier">mckee</span> <span class="identifier">ordering</span></code></a> has been recast as an invocation of <code><span class="identifier">breadth</span> <span class="identifier">first</span> <span class="identifier">search</span></code> and now supports graphs with multiple components. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/dijkstra_shortest_paths.html"><code><span class="identifier">dijkstra</span> <span class="identifier">shortest</span> <span class="identifier">paths</span></code></a> now uses a relaxed heap [<a href="/doc/libs/1_33_1/libs/graph/doc/bibliography.html#driscoll88">61</a>] as its priority queue, improving its complexity to O(V log V) and improving real-world performance for larger graphs. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/read_graphviz.html"><code><span class="identifier">read</span> <span class="identifier">graphviz</span></code></a> now has a new, Spirit-based parser that works for all graph types and supports arbitrary properties on the graph, from Ron Garcia. The old, Bison-based GraphViz reader has been deprecated and will be removed in a future Boost release. <a href="/doc/libs/1_33_1/libs/graph/doc/write-graphviz.html"><code><span class="identifier">write</span> <span class="identifier">graphviz</span></code></a> also supports dynamic properties. </li> <li> <a href="/doc/libs/1_33_1/libs/graph/doc/subgraph.html"><code><span class="identifier">subgraph</span></code></a>: <code><span class="identifier">get_property</span></code> now refers to the subgraph property, not the root graph's property. </li> <li> See the <a href="/doc/libs/1_33_1/libs/graph/doc/history.html#by-version">history</a> for additional changes and bug fixes. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/multi_index/doc/index.html">Multi-index Containers Library</a>:</span> <ul> <li> New <a href="/doc/libs/1_33_1/libs/multi_index/doc/tutorial/indices.html#hashed_indices">hashed indices</a>. </li> <li> Added <a href="/doc/libs/1_33_1/libs/multi_index/doc/tutorial/creation.html#serialization">serialization support</a>. </li> <li> For a complete list of changes, see the library <a href="/doc/libs/1_33_1/libs/multi_index/doc/release_notes.html">release notes</a>. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/program_options/doc/index.html">Program Options Library</a>:</span> <ul> <li> Option descriptions are now printed with word wrapping. </li> <li> Command line parser can bypass unregistered options, instread of throwing. </li> <li> Removed support for &quot;implicit&quot; (optional) values. </li> <li> New customization method 'command_line_parser::extra_style_parser'. Unlike 'additional_parser', allows the user to parse several tokens and return a vector of options, not just a single option. </li> <li> Work with disabled exceptions. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/property_map/property_map.html">Property Map Library</a>:</span> Introduced the <a href="/doc/libs/1_33_1/libs/property_map/doc/dynamic_property_map.html"><code><span class="identifier">dynamic</span> <span class="identifier">properties</span></code></a> class, which provides dynamically-typed access to a set of property maps. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/python/doc/index.html">Boost.Python</a>:</span> <ul> <li> Added support for docstrings on nonstatic properties. </li> <li> We now export the client-provided docstrings for <code><span class="identifier">init</span><span class="special">&lt;</span><span class="identifier">optional</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span></code> and <em>XXX</em><code><span class="identifier">_FUNCTION_OVERLOADS</span><span class="special">()</span></code> for only the last overload. </li> <li> Support for Embedded VC++ 4 and GCC-3.3 on MacOS added </li> <li> Introduced better support for rvalue from-python conversions of shared_ptr. </li> <li> Support for exposing <code><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">*&gt;</span></code> with the indexing suite. </li> <li> updated visual studio project build file. </li> <li> Added search feature to the index page. </li> </ul> </li> <li> <p><span class="library"><a href="/doc/libs/1_33_1/libs/random/index.html">Random Number Library</a>:</span> Improved initialization for <code><span class="identifier">mersenne_twister</span></code>, algorithm by Makoto Matsumoto and Takuji Nishimura, implemented for Boost by Jens Maurer.</p> <p>Note: All test vectors for <code><span class="identifier">mersenne_twister</span></code>s constructed or seeded without parameters or with a single <code><span class="keyword">unsigned</span> <span class="keyword">int</span></code> parameter become invalid.</p> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/range/index.html">Range Library</a>:</span> Minor addition of convenience functions to <code><span class="identifier">iterator</span> <span class="identifier">range</span></code> like <code><span class="identifier">front</span><span class="special">(),</span> <span class="identifier">back</span><span class="special">()</span></code> and <code><span class="keyword">operator</span><span class="special">[]()</span></code>. </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/regex/index.html">Regex Library</a>:</span> <ul> <li> Rewritten front end parser now supports (?imsx-imsx) constructs, plus lookbehind assertions and conditional expressions. </li> <li> Thin wrapper classes improve integration with MFC/ATL code. </li> <li> Full (optional) Unicode support via the ICU library. Refer to the <a href="/doc/libs/1_33_1/libs/regex/doc/history.html">regex history page</a> for more information on these and other small changes. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/libs/serialization/doc/index.html">Serialization Library</a>:</span> <ul> <li> DLL version. </li> <li> Auto-linking. </li> <li> Serialization of variants. </li> <li> Improved serialization of shared pointers. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_33_1/doc/html/signals.html">Signals Library</a>:</span> added slot blocking/unblocking, from Frantz Maerten. Huge improvements to signal invocation performance from Robert Zeh. </li> </ul> </div> <div id="version_1_33_0.supported_compilers"> <h3><span class="link">Supported Compilers</span></h3> <p> Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the <a href="http://www.boost.org/regression/release/user/">regression test results</a>. </p> <ul> <li> <a href="http://developer.apple.com/">Apple GCC</a> 3.x on Mac OS X. </li> <li> <a href="http://www.codegear.com/products/cppbuilder">Borland C++</a> 5.6.4 on Windows. </li> <li> <a href="http://gcc.gnu.org">GNU C++</a> 2.95.3 (with and without STLport), 3.2.x., 3.3.x, 3.4.x, 4.0.x on Windows, Linux and Solaris. </li> <li> <a href="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/index.htm">Intel C++</a> 8.1, 9.0 on Windows, Linux. </li> <li> <a href="http://www.metrowerks.com">Metrowerks CodeWarrior</a> 8.3, 9.4, 9.5 on Mac OS X and Windows. </li> <li> <a href="http://msdn.microsoft.com/visualc/">Microsoft Visual C++</a> 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0 beta. Note: due to intermittent problems with Visual C++ 8.0 beta, and the presence of a variety of pre-release compiler builds, we are unable to guarantee compatibility until the final compiler is released. </li> </ul> </div> <div id="version_1_33_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <img alt="[]" src="/gfx/boost_1_33_0.jpg"/><a href="/users/people/doug_gregor.html">Douglas Gregor</a> managed this release. </p> <p> A great number of people contributed their time and expertise to make this release possible. Special thanks go to Aleksey Gurtovoy and Misha Bergal, who managed to keep the regression testing system working throughout the release process; David Abrahams, Beman Dawes, Aleksey Gurtovoy, Rene Rivera and Jonathan Turkanis for greatly improving the quality of this release; Rene Rivera for the new Boost web page design; and Zoltan &quot;cad&quot; Juhasz for the new Boost logo. </p> </div> </div>Version 1.32.0Fri, 19 Nov 2004 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Assignment, Minmax, Multi-Index, Numeric Conversion, Program Options, Range, Serialization, String, Tribool. Updated Libraries: Graph, MPL, Python, Signals, Utility, Test. Removed Libraries: Compose. </span></span>http://sourceforge.net/projects/boost/files/boost/1.32.0/<div class="description"> <div id="version_1_32_0.important___new_toolset_names"> <h3><span class="link">Important - New Toolset Names</span></h3> <p> The names of some the Boost.Build <a href="/doc/libs/1_32_0/more/getting_started.html#Tools">toolsets</a> have been changed to remove the &quot;<tt>.</tt>&quot; (dot) character and to fix some other naming inconsistencies. For example, <tt>vc7.1</tt> toolset was renamed to become <tt>vc-7_1</tt>. Please refer to the <a href="/doc/libs/1_32_0/more/getting_started.html#Tools">Supported Toolsets</a> section of the installation guide for the complete list of the current toolset names. This change was made as a part of the effort to make the Boost distribution compatible with ISO 9660 level 2 requirements. </p> </div> <div id="version_1_32_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/assign/index.html">Assignment Library</a>:</span> Filling containers with constant or generated data has never been easier, from Thorsten Ottosen. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/algorithm/minmax/index.html">Minmax Library</a>:</span> Standard library extensions for simultaneous min/max and min/max element computations, from Herve Bronnimann. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/multi_index/doc/index.html">Multi-index Containers Library</a>:</span> Containers with multiple STL-compatible access interfaces, from Joaquin M Lopez Munoz. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/numeric/conversion/index.html">Numeric Conversion Library</a>:</span> Optimized policy-based numeric conversions, from Fernando Cacciola. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/doc/html/program_options.html">Program Options Library</a>:</span> Access to configuration data given on command line, in config files and other sources, from Vladimir Prus. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/range/index.html">Range Library</a>:</span> a new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Thorsten Ottosen. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/serialization/doc/index.html">Serialization Library</a>:</span> Serialization/de-serialization of arbitrary C++ data structures to various formats including text, binary, and xml, from Robert Ramey. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/algorithm/string/index.html">String Algorithms Library</a>:</span> Collection of string related algorithms for case conversion, trimming, find/replace operations and more, from Pavol Droba. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/doc/html/tribool.html">Tribool</a>:</span> 3-state boolean type library, from Doug Gregor. </li> </ul> </div> <div id="version_1_32_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> Compose: This deprecated library has been removed. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/graph/index.html">Graph</a>:</span> <ul> <li> Added <a href="/doc/libs/1_32_0/libs/graph/doc/bundles.html">bundled properties</a> to the <a href="/doc/libs/1_32_0/libs/graph/doc/adjacency_list.html"><code><span class="identifier">adjacency_list</span></code></a> and <a href="/doc/libs/1_32_0/libs/graph/doc/adjacency_matrix.html"><code><span class="identifier">adjacency_matrix</span></code></a> class templates, greatly simplifying the introduction of internal vertex and edge properties. </li> <li> The <a href="/doc/libs/1_32_0/libs/graph/doc/leda_conversion.html">LEDA graph adaptors</a> have been ported to LEDA 4.5. </li> <li> Added algorithms for <a href="/doc/libs/1_32_0/libs/graph/doc/betweenness_centrality.html">betweenness centrality</a> and <a href="/doc/libs/1_32_0/libs/graph/doc/bc_clustering.html">betweenness centrality clustering</a>. </li> <li> Added <a href="/doc/libs/1_32_0/libs/graph/doc/circle_layout.html">circle layout</a> and <a href="/doc/libs/1_32_0/libs/graph/doc/kamada_kawai_spring_layout.html">undirected spring layout</a> algorithms. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/mpl/doc/index.html">MPL Library</a>:</span> <ul> <li> Updated to use the Boost Software License. </li> <li> New <a href="/doc/libs/1_32_0/libs/mpl/doc/index.html">documentation</a>, including a complete <a href="/doc/libs/1_32_0/libs/mpl/doc/refmanual.html">reference manual.</a> </li> <li> Major interface changes and improvements, many of which are not backward compatible. Please refer to the <a href="/doc/libs/1_32_0/libs/mpl/doc/tutorial/changes-in-boost-1-32-0.html">1.32 changelog</a> for the detailed information about upgrading to the new version. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/python/doc/index.html">Python Library</a>:</span> <ul> <li> Updated to use the Boost Software License. </li> <li> a new, <a href="/doc/libs/1_32_0/libs/python/doc/tutorial/doc/html/python/exposing.html#python.class_virtual_functions">better method of wrapping classes with virtual functions</a> has been implemented. </li> <li> Support for the new Python Bool type, thanks to Daniel Holth. </li> <li> Support for upcoming GCC symbol export control features have been folded in, thanks to Niall Douglas. </li> <li> Improved support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span></code>-like types. </li> <li> Components used by other libraries have been moved out of <tt>python/detail</tt> and into <tt>boost/detail</tt> to improve dependency relationships. </li> <li> Miscellaneous bug fixes and compiler workarounds. </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_32_0/doc/html/signals.html">Signals Library</a>:</span> Introduced deterministic slot ordering, permitting slots to be connected at the beginning or end of slot groups or the slot list itself. Combiners may safely have state and are accessible from the signal. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/utility/utility.htm">Utility</a>:</span> class template <a href="/doc/libs/1_32_0/libs/utility/utility.htm#result_of">result_of</a> added. </li> <li> <span class="library"><a href="/doc/libs/1_32_0/libs/test/index.html">Test Library</a>:</span> <ul> <li>namespace names gets shorten; old one still supported till next release</li> <li>added proper encoding of XML PCDATA</li> <li>support for wide string comparison implemented</li> </ul> <p> For complete list of changes see Test Library <a href="/doc/libs/1_32_0/libs/test/doc/release_notes.html#v1_32_0">release notes</a>. </p> </li> </ul> </div> <div id="version_1_32_0.regression_tests"> <h3><span class="link">Regression tests</span></h3> <p> This release has been extensively tested on a variety of different compilers and platforms. It is known to contain no regressions against the previous reference release on the compilers and configurations tested. Please refer to the corresponding <a href="http://www.meta-comm.com/engineering/boost-regression/1_32_0/index.html">regression reports</a> to see how well your compiler performs on the new Boost codebase. </p> </div> <div id="version_1_32_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <img alt="[]" src="http://boost.sourceforge.net/photos/aleksey_gurtovoy2.jpg"/> <a href="/users/people/aleksey_gurtovoy.html">Aleksey Gurtovoy</a> managed this release. <a href="/doc/libs/1_32_0/more/release_procedures.htm">Managing a release</a> at all is an enormous job, and Aleksey always goes beyond merely meeting requirements by insisting on the highest possible quality. The Boost membership owes him a debt of gratitude. </p> <p> This release wouldn't have been possible without the dedicated effort of many, many members of the Boost community who generously contributed their outstanding expertise, time and energy to making it happen. For patches, bug fixes, troubleshooting, expert advice, and prompt responses to the release manager's requests we thank: </p> <p> David Abrahams, Misha Bergal, Jonathan Brandmeyer, Fernando Cacciola, Marshall Clow, Christopher Currie, Pavol Droba, Caleb Epstein, Eric Friedman, Jeff Garland, Michael Glassford, Doug Gregor, Joel de Guzman, Hubert Holin, Jaakko Jarvi, Hartmut Kaiser, Bronek Kozicki, Tarjei Knapstad, Toon Knapen, Aaron W. LaFramboise, Joaquin M Lopez Munoz, Christoph Ludwig, John Maddock, Paul Mensonides, Guillaume Melquiond, Thorsten Ottosen, Vladimir Prus, Robert Ramey, Rene Rivera, Gennadiy Rozental, Stefan Slapeta, Jonathan Turkanis, Pavel Vozenilek, Jonathan Wakely, Daryle Walker, Victor A. Wagner Jr. and Martin Wille. </p> <p> Also, our special thanks go to: John Maddock for the managing the effort of converting the majority of the Boost libraries to the <a href="/doc/libs/1_32_0/more/license_info.html">Boost Software License</a>, Eric Niebler and Joel de Guzman for taking on the important job of improving the Boost documentation's look and feel, and last, but not least, to our regression test runners, without whom we simply would never have released: Toon Knapen, Bronek Kozicki, Rene Rivera, Markus Schopflin, Stefan Slapeta, Victor A. Wagner Jr. and Martin Wille. </p> <p> Thank you everybody! </p> </div> </div>Version 1.31.0Mon, 26 Jan 2004 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: enable_if, Variant. Updated Libraries: Date Time, Filesystem, Iterator, MultiArray, Python, Random Number, Regex, Spirit, Test. Deprecated Libraries: Compose. </span></span>http://sourceforge.net/projects/boost/files/boost/1.31.0/<div class="description"> <div id="version_1_31_0.new_license"> <h3><span class="link">New License</span></h3> <p> A unified <a href="/doc/libs/1_31_0/more/license_info.html">Boost Software License</a> has been developed and will gradually replace the individual licenses for most Boost libraries. The new license offers better legal protection for both users and developers, and should speed user's legal reviews of Boost libraries. Dave Abrahams led the Boost effort to develop better licensing. The legal team was led by <a href="http://cyber.law.harvard.edu/people/cabell/index.html">Diane Cabell</a>, Director, Clinical Programs, <a href="http://cyber.law.harvard.edu">Berkman Center for Internet &amp; Society</a>, Harvard Law School. <a href="http://www.nixonpeabody.com/attorneys_detail1.asp?ID=121">Devin Smith</a>, attorney, <a href="http://www.nixonpeabody.com/default.asp">Nixon Peabody LLP</a>, wrote the Boost License. Eva Chan, Harvard Law School, contributed analysis of issues and drafts of various legal documents. </p> <p> Note: Many of the Boost libraries are still using earlier licenses, though all conform to the <a href="/doc/libs/1_31_0/more/lib_guide.htm#license">Boost License Requirements</a>. After this release we will begin an effort to move toward uniform use of the new license. </p> </div> <div id="version_1_31_0.build_and_installation"> <h3><span class="link">Build and Installation</span></h3> <ul> <li> New <a href="/doc/libs/1_31_0/more/getting_started.html">Getting Started</a> procedures ease download and installation, from Rene Rivera and others. </li> <li> Improved support for libraries requiring <a href="/doc/libs/1_31_0/more/separate_compilation.html">separate compilation</a>, from John Maddock and others. </li> </ul> </div> <div id="version_1_31_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/utility/enable_if.html">enable_if</a>:</span> Selective inclusion of function template overloads, from Jaakko Jarvi, Jeremiah Willcock, and Andrew Lumsdaine. This is an important new technique which exploits the SFINAE (substitution-failure-is-not-an-error) principle. </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/variant/index.html">Variant Library</a>:</span> Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman. </li> </ul> </div> <div id="version_1_31_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/compose/index.htm">Compose</a>:</span> This library has been deprecated and will be removed in a future release. Use <a href="/doc/libs/1_31_0/libs/bind/bind.html">Bind</a> or <a href="/doc/libs/1_31_0/libs/lambda/doc/index.html">Lambda</a> instead. </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/date_time/doc/index.html">Date Time Library</a>:</span> A whole host of bug fixes, new features, and documentation improvements. See the Date Time Change History for details. </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/filesystem/doc/index.htm">Filesystem Library</a>:</span> Several added functions, including improved checking for directory and file name portability. </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/iterator/doc/index.html">Iterator Library</a>:</span> Major version upgrade, with interface as proposed for the C++ library TR, including an improved <tt>iterator_adaptor</tt> design plus several new components, from David Abrahams, Jeremy Siek, and Thomas Witt. </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/multi_array/index.html">MultiArray</a>:</span> The <tt>multi_array</tt> class template now provides an element-preserving resize operation as well as default construction (see the <a href="/doc/libs/1_31_0/libs/multi_array/doc/reference.html">reference manual</a> for more information). </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/python/index.html">Python Library</a>:</span> <ul> <li> Support for Python 2.3 and Intel C++ on Linux </li> <li> Container <a href="/doc/libs/1_31_0/libs/python/doc/v2/indexing.html">Indexing Suite</a> added. </li> <li> injected constructors and wrapped function objects. </li> <li> wrapping static data members. </li> <li> <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span></code> conversions. </li> <li> Improved <a href="/doc/libs/1_31_0/libs/python/doc/v2/args.html">keyword arguments</a>. </li> <li> Better error messages, including name demangling for GCC. </li> <li> Simpler <a href="/doc/libs/1_31_0/libs/python/doc/building.html">build procedure</a>. </li> <li> <em>...and more....</em> </li> </ul> </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/random/index.html">Random Number Library</a>:</span> Interface changed to match the C++ <a href="/doc/libs/1_31_0/libs/random/wg21-proposal.html">TR proposal</a>, from Jens Maurer. </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/regex/doc/index.html">Regex</a>:</span> Completely new matching algorithm is now much faster than before, plus a selection of <a href="/doc/libs/1_31_0/libs/regex/doc/history.html">new features and enhancements</a>. </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/spirit/index.html">Boost.Spirit 1.8.0</a>:</span> <ul> <li>Multiple grammar start rules</li> <li>Multiple Scanner rules (no more scanner business woes)</li> <li>More dynamic parsers</li> <li>Predefined actors</li> <li>Numerous bug fixes and QOI stuff</li> <li><em>and more...</em></li> </ul> <p> Starting from Spirit v1.8.0, ill conforming compilers will no longer be supported. If you are still using one of these older compilers, please use Spirit v1.6.x. See [@http://spirit.sf.net Spirit's Site] for more details. </p> </li> <li> <span class="library"><a href="/doc/libs/1_31_0/libs/test/index.html">Test Library</a>:</span> <ul> <li>Free function template based test case</li> <li>Custom exception translators support in execution monitor and register_exception_translator added for unit test framework</li> <li>Added support for multi-module unit tests in automatic registration facility</li> <li>Floating point comparison algorithm reworked (Is not backward compatible!!!)</li> <li>Added support for custom users predicate returning both boolean result code and possibly error message</li> <li>Documentation structure rework and update</li> </ul> <p> For a complete list of changes see the Test Library <a href="/doc/libs/1_31_0/libs/test/doc/release_notes.html#v1_31_0">release notes</a>. </p> </li> </ul> </div> <div id="version_1_31_0.miscellaneous"> <h3><span class="link">Miscellaneous</span></h3> <ul> <li> Expanded testing and fixes for non-conforming compilers. </li> <li> Web site hosting now provided by <a href="http://www.sourceforge.net/">SourceForge</a>. </li> </ul> </div> </div>Version 1.30.2Tue, 19 Aug 2003 12:00:00 GMT<span class="brief"><span class="purpose"> Bugfix release </span></span>http://sourceforge.net/projects/boost/files/boost/1.30.2/<div class="description"> <ul> <li> <a href="http://www.boost-consulting.com">Boost Consulting</a> is now hosting Boost CVS mirrors - see our <a href="/more/getting_started.html#CVS">download page</a>. </li> <li> Backported changes to the <a href="/libs/config/config.htm">config system</a>, to better handle new compiler releases. </li> <li> Bugs in regression reporting in subproject tests were fixed. </li> <li> Tests are now run in the context of the user's PATH environment settings </li> <li> msvc-stlport and intel-win32-stlport toolsets now build static libraries with multithreading enabled, to be compatible with the STLPort builds. </li> <li> intel-win32 toolset now handles <code><span class="keyword">wchar_t</span></code> correctly when intel is installed over msvc6. </li> <li> Backported fixes from the main trunk which prevent errors building the <a href="/libs/test/doc/index.html">Boost.Test</a> library in its default configuration. </li> <li> Backported portability improvements for <a href="/libs/utility/checked_delete.html">checked_delete</a>. </li> <li> Locale support for metrowerks (requiring a statically-linked runtime) is more uniformly handled. </li> <li> Backported <a href="/libs/conversion/lexical_cast.htm">conversion/lexical_cast</a>'s <code><span class="keyword">wchar_t</span></code> fixes from the main trunk. </li> <li> intel-linux-tools: added <tt>rt</tt> to FINDLIBS in order to make the <code><span class="identifier">clock_gettime</span><span class="special">()</span></code> function available (backport of a patch in CVS HEAD). </li> <li> <a href="/tools/regression/index.htm">regression/compiler_status.cpp</a>: backported fixes in error log links generation. </li> </ul> </div>Version 1.30.1Mon, 4 Aug 2003 12:00:00 GMT<span class="brief"><span class="purpose"> Withdrawn bug fix release, fixes for Lambda, Spirit, MPL, Function, Config, Format, Regex, Smart Pointers, Python </span></span><div class="description"> <p> This release was withdrawn on the 12 Aug 2003. </p> <p> Fixes were made to the following libraries: * The <a href="/libs/lambda/doc/index.html">Boost.Lambda</a> ..library is now usable with gcc-2.95.2 * <span class="library"><a href="/libs/spirit/index.html">Boost.Spirit</a>:</span> * Fixed. Using MSVC++6 (SP5), calling the assign action with a string value on parsers using the file_iterator will not work. * Fixed: using assign semantic action in a grammar with a multi_pass iterator adaptor applied to an std::istream_iterator resulted in a failure to compile under msvc 7.0. * Fixed: There is a bug in the <tt>range_run&lt;CharT&gt;::set(range&lt;CharT&gt; const&amp; r)</tt> function in &quot;../boost/spirit/utility/impl/chset/range_run.ipp&quot;. * Fixed: handling of trailing whitespace bug (ast_parse/pt_parse related) * Fixed: comment_p and end of data bug * Fixed: Most trailing space bug * Fixed: <code><span class="identifier">chset</span><span class="special">&lt;&gt;::</span><span class="keyword">operator</span> <span class="special">~(</span><span class="identifier">range</span><span class="special">&lt;&gt;)</span></code> bug, <code><span class="keyword">operator</span> <span class="special">&amp;(</span><span class="identifier">chset</span><span class="special">&lt;&gt;,</span> <span class="identifier">range</span><span class="special">&lt;&gt;)</span></code> bug, <code><span class="keyword">operator</span> <span class="special">&amp;(</span><span class="identifier">range</span><span class="special">&lt;&gt;,</span> <span class="identifier">chset</span><span class="special">&lt;&gt;)</span></code> bug * Fixed: <code><span class="identifier">impl</span><span class="special">::</span><span class="identifier">detach_clear</span></code> bug * Fixed: mismatch closure return type bug * Fixed: <code><span class="identifier">access_node_d</span><span class="special">[]</span></code> and <code><span class="identifier">access_match_d</span><span class="special">[]</span></code> iterator bugs * Fixed a bug regarding thread safety of Phoenix/Spirit closures. * The Boost Template <a href="/libs/mpl/doc/index.html">Metaprogramming Library (MPL)</a>'s ..typeof implementation is now compatible with Metrowerks CodeWarrior Pro8. * <span class="library"><a href="/libs/function/index.html">Boost.Function</a>:</span> workaround for the new Borland patch (version 0x564) and MSVC++ .NET 2003. * <span class="library"><a href="/libs/config/index.html">Boost.Config</a></span>, <a href="/libs/format/doc/format.html">Boost.Format</a>, and <a href="/libs/regex/index.html">Boost.Regex</a> ..have been adjusted to avoid warnings with GCC-3.3, and Boost.Format also now works with string types other than <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>. * <span class="library"><a href="/libs/smart_ptr/index.html">Smart Pointers</a>:</span> * <code><span class="identifier">checked_delete</span></code> now works on more platforms * Compatibility with the SunPro compiler * Added missing <code><span class="preprocessor">#include</span></code>s. * <span class="library"><a href="/libs/python/index.html">Boost.Python</a>:</span> * warning suppression for finicky compilers * fixed a crashing bug in the <code><span class="identifier">raw_function</span></code> facility when no keyword arguments were passed. * Improved conversion of NULL <code><span class="identifier">shared_ptr</span></code>s to Python. </p> </div>Version 1.30.0Wed, 19 Mar 2003 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Filesystem, Optional, Interval, MPL, Spirit Updated Libraries: Smart Pointers, Utility, Date-Time, Function, Operators, Test </span></span>http://sourceforge.net/projects/boost/files/boost/1.30.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/filesystem/doc/index.htm">Filesystem Library</a></span> added - Portable paths, iteration over directories, and other useful filesystem operations, from Beman Dawes. </li> <li> <span class="library"><a href="/libs/optional/doc/optional.html">Optional Library</a></span> added - A discriminated-union wrapper for optional values, from Fernando Cacciola. </li> <li> <span class="library"><a href="/libs/numeric/interval/doc/interval.htm">Interval Library</a></span> added - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Herve Bronnimann and Sylvain Pion. </li> <li> <span class="library"><a href="/libs/mpl/doc/index.html">MPL</a></span> added - Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes, from Aleksey Gurtovoy. </li> <li> <span class="library"><a href="/libs/spirit/index.html">Spirit Library</a></span> added - An LL (unlimited lookahead) parser framework that represents parsers directly as EBNF grammars in inlined C++ source code, complete with semantic actions, ASTs and much more, from Joel de Guzman and team. </li> <li> <span class="library"><a href="/libs/smart_ptr/index.html">Smart Pointers Library</a></span> - cast functions are now spelled <a href="/libs/smart_ptr/shared_ptr.htm#static_pointer_cast">static_pointer_cast</a> / <a href="/libs/smart_ptr/shared_ptr.htm#dynamic_pointer_cast">dynamic_pointer_cast</a>; <a href="/libs/smart_ptr/enable_shared_from_this.html">enable_shared_from_this</a> added; shared_ptr::shared_ptr(), shared_ptr::reset(), weak_ptr::weak_ptr(), weak_ptr::reset() no longer throw; <a href="/libs/smart_ptr/shared_ptr.htm#get_deleter">get_deleter</a> added; weak_ptr::get() removed; make_shared is now spelled <a href="/libs/smart_ptr/weak_ptr.htm#lock">weak_ptr::lock()</a> ; <a href="/libs/smart_ptr/intrusive_ptr.html">intrusive_ptr documentation</a> added; some experimental undocumented shared_ptr features have been removed; a <a href="/libs/smart_ptr/sp_techniques.html">page describing some smart pointer programming techniques</a> has been added. </li> <li> <a href="/libs/utility/assert.html">boost/assert.hpp</a>, <a href="/libs/utility/current_function.html">boost/current_function.hpp</a>, <a href="/libs/utility/throw_exception.html">boost/throw_exception.hpp</a>, <a href="/libs/utility/checked_delete.html">boost/checked_delete.hpp</a> have been documented. </li> <li> <span class="library"><a href="/libs/date_time/doc/index.html">Date-Time Library</a></span> - several fixes and small additions including an interface change to partial_date. See the Date-Time Change History for more details. </li> <li> <span class="library"><a href="/libs/function/index.html">Function Library</a></span> - added support for assignment to zero (to clear) and comparison against zero (to check if empty). </li> <li> <span class="library"><a href="/libs/utility/operators.htm#symmetry">Operators Library</a></span> - now takes advantage of named return value optimization (NRVO) when available, from Daniel Frey. </li> <li> <a href="/status/compiler_status.html">Regression Tests</a> - Much expanded, plus a very nice <a href="http://boost.sourceforge.net/regression-logs/">summary page</a> from Rene Rivera. </li> <li> <span class="library"><a href="/libs/test/index.html">Test Library</a></span> - introduced following new facilities: <ul> <li> Automatic registration of unit tests </li> <li> XML log format </li> <li> XML report format </li> <li> BOOST_CHECK_NO_THROW test tool </li> <li> BOOST_BITWISE_CHECK test tool </li> </ul> <p> For a complete list of changes see the Test Library <a href="/libs/test/doc/release_notes.html#v1_30_0">release notes</a>. </p> </li> <li> Many fixes and enhancements to other libraries. </li> </ul> </div>Version 1.29.0Thu, 10 Oct 2002 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Date-Time, Dynamic Bitset, Format. Updated Libraries: Function, Multi-Array, Preprocessor, Python, Signals, uBLASH. </span></span>http://sourceforge.net/projects/boost/files/boost/1.29.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/date_time/doc/index.html">Date-Time Library</a></span> added - Dates, times, leap seconds, infinity, and more, from Jeff Garland. </li> <li> <span class="library"><a href="/libs/dynamic_bitset/dynamic_bitset.html">Dynamic Bitset</a></span> added - A runtime sized version of the <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bitset</span></code> class from Jeremy Siek and Chuck Allison. </li> <li> <span class="library"><a href="/libs/format/index.html">Format Library</a></span> added - Type-safe 'printf-like' format operations, from Samuel Krempp. </li> <li> <span class="library"><a href="/libs/function/index.html">Function Library</a>:</span> Major syntactic changes have been made. Some old syntax and little-used features have been deprecated (and will be removed shortly), and the syntax for the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></code> class template has been greatly improved on conforming compilers. Please see the compatibility note for more information. </li> <li> <span class="library"><a href="/libs/multi_array/doc/index.html">Multi-array Library</a></span> added - Multidimensional containers and adaptors for arrays of contiguous data, from Ron Garcia. </li> <li> <span class="library"><a href="/libs/preprocessor/index.html">Preprocessor Library</a>:</span> Major upgrade, from Paul Mensonides. </li> <li> <span class="library"><a href="/libs/python/doc/index.html">Python Library</a></span> - Version 2 is released, from Dave Abrahams and others. This is a major rewrite which works on many more compilers and platforms, with a completely new interface and lots of new features. Boost.Python v2 requires Python 2.2 or later. </li> <li> <span class="library"><a href="/libs/signals/doc/index.html">Signals Library</a></span> added - Managed signals &amp; slots callback implementation, from Doug Gregor. </li> <li> <span class="library"><a href="/libs/test/doc/index.html">Test Library</a>:</span> Major new version, including full unit test capabilities, from Gennadiy Rozental. </li> <li> <span class="library"><a href="/libs/numeric/ublas/doc/index.htm">uBLAS Library</a></span> added - Basic linear algebra for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch. </li> </ul> </div>Version 1.28.0Wed, 15 May 2002 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Lambda, I/O State Saver. Updated Libraries: Configuration, Random Number, Smart Pointers, Function Utility. </span></span>http://sourceforge.net/projects/boost/files/boost/1.28.0/<div class="description"> <ul> <li> The Boost mailing lists are now also accessible as <a href="/more/mailing_lists.htm#newsgroup">newsgroups</a>. </li> <li> A powerful <a href="http://aspn.activestate.com/ASPN/Mail/Archives/boost/">mailing list archive</a> has been contributed by the <a href="http://aspn.activestate.com/ASPN">ActiveState Programmer Network</a>. </li> <li> <span class="library"><a href="/libs/lambda/doc/index.html">Lambda Library</a></span> added, from Jaakko Jarvi and Gary Powell. Define small unnamed function objects at the actual call site: for_each( a.begin(), a.end(), std::cout &lt;&lt; _1 &lt;&lt; ' ' ); </li> <li> <span class="library"><a href="/libs/io/doc/ios_state.html">I/O State Saver Library added</a></span> - Save I/O state to prevent jumbled data, from Daryle Walker. </li> <li> <span class="library"><a href="/libs/config/config.htm">Configuration Library</a>:</span> User code should not use BOOST_NO_LIMITS. </li> <li> <span class="library"><a href="/libs/random/index.html">Random Number Library</a>:</span> Avoid compiler warnings. </li> <li> <span class="library"><a href="/libs/smart_ptr/index.html">Smart Pointers Library</a>:</span> Added shared_polymorphic_cast and shared_polymorphic_downcast. </li> <li> <span class="library"><a href="/libs/function/index.html">Function Library</a>:</span> Now supports function objects with the unary <code><span class="special">&amp;</span></code> operator overloaded. </li> <li> <span class="library"><a href="/libs/utility/utility.htm">Utility Library</a>:</span> Added <code><span class="identifier">addressof</span><span class="special">()</span></code> function. </li> <li> The usual small fixes and tweaks. </li> </ul> </div>Version 1.27.0Tue, 5 Feb 2002 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Python, Integer, Function, Quaternions, Octonions, Smart Pointers, Preprocessor, Threads. </span></span>http://sourceforge.net/projects/boost/files/boost/1.27.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/python/doc/index.html">Python Library</a>:</span> Scott Snyder contributed inplace operator support. </li> <li> <span class="library"><a href="/libs/integer/index.html">Integer Library</a>:</span> Daryle Walker contributed enhancements to the <a href="/libs/integer/integer.htm">type selection templates</a>, and added new compile-time <a href="/libs/integer/doc/integer_mask.html">bit mask</a>, <a href="/libs/integer/doc/static_log2.html">binary logarithm</a>, and <a href="/libs/integer/doc/static_min_max.html">extrema</a> templates. </li> <li> <span class="library"><a href="/libs/function/index.html">Function Library</a>:</span> user may request that <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></code> objects store a reference to a function object target instead of a copy, using <a href="/libs/bind/ref.html"><code><span class="identifier">ref</span></code></a>. Stateless objects are optimized so that they require no dynamic storage. </li> <li> <span class="library"><a href="/doc/html/boost_math/quaternions.html">Quaternions</a>:</span> added support for GCC 2.95.x. </li> <li> <span class="library"><a href="/doc/html/boost_math/octonions.html">Octonions</a>:</span> added support for GCC 2.95.x. </li> <li> <span class="library"><a href="/libs/smart_ptr/index.html">Smart Pointers Library</a>:</span> Peter Dimov contributed a new implementation that fixes some bugs and adds some features including <a href="/libs/smart_ptr/compatibility.htm#threadsafe">thread safety</a> when manipulating the use count, <a href="/libs/smart_ptr/shared_ptr.htm#constructors">custom delete functions</a>, a new <a href="/libs/smart_ptr/weak_ptr.htm">weak_ptr</a>, and shared_static_cast and shared_dynamic_cast. </li> <li> <span class="library"><a href="/libs/preprocessor/doc/index.html">Preprocessor Library</a>:</span> changed macro prefix from BOOST_PREPROCESSOR to BOOST_PP, added support for list data structure manipulation, added examples, made library ANSI C friendly, added generalized <a href="/libs/preprocessor/doc/ref/for.html">repetition</a> and <a href="/libs/preprocessor/doc/ref/while.html">iteration</a> primitives, improved reference manual. </li> <li> <span class="library"><a href="/libs/thread/doc/index.html">Threads Library</a>:</span> Mac Carbon implementation contributed by Mac Murrett. </li> <li> Minor fixes to many libraries. </li> </ul> </div>Version 1.26.0Fri, 30 Nov 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Common Factor, Preprocessor. Updated Libraries: Iterator Adaptor, Random Number, Operators. </span></span>http://sourceforge.net/projects/boost/files/boost/1.26.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/math/doc/common_factor.html">Common Factor Library</a></span> added. Greatest common divisor and least common multiple, from Daryle Walker. </li> <li> <span class="library"><a href="/libs/preprocessor/doc/index.html">Preprocessor Library</a></span> added. Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen. </li> <li> <span class="library"><a href="/libs/utility/iterator_adaptors.htm">Iterator Adaptor Library</a>:</span> Added <a href="/libs/utility/generator_iterator.htm">generator iterator</a> adaptor, from Jens Maurer. </li> <li> <span class="library"><a href="/libs/random/index.html">Random Number Library</a>:</span> Removed iterator interface. Fixed overflows in uniform_int&lt;&gt;. Both changes cause random number sequences to differ compared to previous boost releases. </li> <li> [phase library..<a href="/libs/utility/operators.htm">operators.hpp</a>:] Improvements from Daryle and Helmut Ziesel </li> <li> <span class="library"><a href="/tools/build/index.html">Boost.Build</a>:</span> Continuing improvements, including pre-built <a href="/tools/build/index.html">Boost.Jam executables</a>. </li> <li> Minor fixes to a number of other libraries. </li> </ul> </div>Version 1.25.1Mon, 5 Nov 2001 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Graph, Thread, Function. </span></span>http://sourceforge.net/projects/boost/files/boost/1.25.1/<div class="description"> <ul> <li> <span class="library"><a href="/tools/build/index.html">Boost Build System</a>:</span> Continued improvements. </li> <li> <span class="library"><a href="/libs/config/config.htm">Config Library</a>:</span> Continued refinements. </li> <li> <span class="library"><a href="/libs/graph/doc/index.html">Graph Library</a>:</span> Final cleanup for upcoming the Boost Graph Library book. </li> <li> <span class="library"><a href="/libs/thread/doc/index.html">Thread Library</a>:</span> Minor fixes - tests now pass on most Win32 and POSIX systems including Linux and Solaris. Semaphore removed as too error prone. </li> <li> <span class="library"><a href="/libs/function/index.html">Function Library</a>:</span> direct support for member function pointers and documentation updates. </li> <li> <a href="http://groups.yahoo.com/group/Boost-Users">Boost-Users</a> mailing list has been created to address topics of interest to users of Boost libraries. </li> <li> <a href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl">Boost Wiki web</a> added. Provides a place for Boost users to openly discuss and document the use of Boost libraries. It is not officially maintained by Boost developers. </li> </ul> </div>Version 1.25.0Mon, 1 Oct 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Thread, Bind. Updated Libraries: Utility, Array, Config, Random Number, Math, Tokenizer. </span></span>http://sourceforge.net/projects/boost/files/boost/1.25.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/thread/doc/index.html">Thread Library</a></span> added. Portable C++ multi-programming at last, from William Kempf. </li> <li> <a href="/libs/utility/base_from_member.html">Base From Member</a> added to <a href="/libs/utility/utility.htm">Utility Library</a>. Support for the base from member idiom, from Daryle Walker. </li> <li> <a href="/libs/bind/bind.html">Bind</a> and <a href="/libs/bind/mem_fn.html">mem_fn</a> added - Generalized binders for function/object/pointers and member functions, from Peter Dimov. </li> <li> <span class="library"><a href="/libs/array/index.html">Array Library</a>:</span> Minor updates, from Nico Josuttis. </li> <li> <span class="library"><a href="/libs/config/config.htm">Config Library</a>:</span> major redesign with much improved and automated configuration of Boost libraries for specific compilers, from John Maddock. </li> <li> <span class="library"><a href="/libs/random/index.html">Random Number Library</a>:</span> Fixed bug when copying normal_distribution and improved the documentation, from Michael Stevens and Jens Maurer. </li> <li> <a href="/doc/html/boost_math/math_special_functions.html">Special functions</a>, <a href="/doc/html/boost_math/octonions.html">octonions</a>, <a href="/doc/html/boost_math/quaternions.html">quaternions</a> updated, now useable with many more compilers, plus three new special functions, from Hubert Holin, Eric Ford, and others. </li> <li> <span class="library"><a href="/libs/tokenizer/index.html">Tokenizer Library</a>:</span> fixes/enhancements to escaped_list_separator based on empty fields and tokens comments from Johan Nillson and Jens Maurer. </li> <li> Coming Soon - A mailing list for Boost users! </li> </ul> </div>Version 1.24.0Sun, 19 Aug 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Library: Tuple. </span></span>http://sourceforge.net/projects/boost/files/boost/1.24.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/tuple/doc/tuple_users_guide.html">Tuple Library</a></span> added. Tuples ease definition of functions returning multiple values, and more, from Jaakko Jarvi. </li> <li> Minor fixes to some other libraries. </li> <li> <span class="library"><a href="/tools/build/index.html">Boost Build System</a></span> added. Preliminary release of an innovative build system for Boost libraries, from Dave Abrahams and others. </li> <li> <a href="/more/formal_review_schedule.html">Formal Review Schedule</a> added. Shows current, future, and recent past review dates. </li> </ul> </div>Version 1.23.0Fri, 6 Jul 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Any, Function, Tokenizer, Special functions, Octonions, Quaternions. Updated Library: Smart Pointer. </span></span>http://sourceforge.net/projects/boost/files/boost/1.23.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/any/index.html">Any Library</a></span> added. Safe, generic container for single values of different value types, from Kevlin Henney. </li> <li> <span class="library"><a href="/libs/function/index.html">Function Library</a></span> added. Function object wrappers for deferred calls or callbacks, from Doug Gregor. </li> <li> <span class="library"><a href="/libs/tokenizer/index.html">Tokenizer Library</a></span> added. Break a string into a series of tokens, from John Bandela. </li> <li> <a href="/doc/html/boost_math/math_special_functions.html">Special functions</a>, <a href="/doc/html/boost_math/octonions.html">octonions</a>, <a href="/doc/html/boost_math/quaternions.html">quaternions</a> added, from Hubert Holin. </li> <li> <span class="library"><a href="/libs/smart_ptr/smart_ptr.htm">Smart Pointer Library</a>:</span> shared_ptr polymorphic pointers now work on more broken compilers. </li> <li> IBM/Aix Compiler status table contributed by Toon Knapen. </li> <li> Minor fixes to a number of other libraries. </li> </ul> </div>Version 1.22.0Fri, 25 May 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Libary: CRC. Updated Libraries: Graph, Integer, Regex, Smart Pointer, Utility. </span></span>http://sourceforge.net/projects/boost/files/boost/1.22.0/<div class="description"> <ul> <li> <span class="library"><a href="/libs/crc/index.html">CRC Library</a></span> added. Compute cyclic redundancy codes from Daryle Walker. </li> <li> <span class="library"><a href="/libs/graph/doc/index.html">Graph Library</a>:</span> Minor fixes. </li> <li> <span class="library"><a href="/libs/integer/integer_traits.html">Integer Traits</a>:</span> added wchar_t specialization, minor portability fixes. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regex Library</a>:</span> Minor portability fixes. </li> <li> <span class="library"><a href="/libs/smart_ptr/smart_ptr.htm">Smart Pointer Library</a>:</span> fixed bugs, tightened requirements, added examples. </li> <li> <span class="library"><a href="/libs/utility/utility.htm">Utility Library</a>:</span> added checked_delete() and checked_array_delete() functions. </li> </ul> </div>Version 1.21.2Tue, 24 Apr 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Compatibility. Updated Libraries: Random Number, Integer, Graph. </span></span>http://sourceforge.net/projects/boost/files/boost/1.21.2/<div class="description"> <ul> <li> <span class="library"><a href="/libs/compatibility/index.html">Compatibility Library</a></span> added: Help for non-conforming standard libraries missing CXX headers from Ralf Grosse-Kunstleve, and help for missing standard library &lt;limits&gt; header from Jens Maurer. (These are unreviewed implementation libraries, treated as maintenance steps only.) </li> <li> <span class="library"><a href="/libs/random/index.html">Random Number Library</a>:</span> Split into separate headers, updated documentation, added lagged_fibonacci generator. </li> <li> <span class="library"><a href="/libs/integer/index.html">Integer Library</a>:</span> Minor portability update. </li> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a>:</span> Changed algorithm interfaces to use named parameters technique. Added graph isomorphism algorithm. </li> <li> Download refinements - files now available from either FTP or web server. </li> <li> <a href="http://sourceforge.net/tracker/?group_id=7586">Tracker</a> Added: View and submit bug, support, and feature requests. </li> <li> Minor portability fixes in several other libraries. </li> </ul> </div>Version 1.21.1Wed, 14 Mar 2001 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Graph, Python, Regex. </span></span>http://sourceforge.net/projects/boost/files/boost/1.21.1/<div class="description"> <ul> <li> New download page. The .zip and .tar.gz files now live on the SourceForge ftp site. </li> <li> <span class="library"><a href="/libs/graph/doc/index.html">Graph Library</a>:</span> Minor docs fixes. </li> <li> <span class="library"><a href="/libs/python/doc/index.html">Python Library</a>:</span> Minor docs fixes. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regex Library</a>:</span> Minor portability fixes. </li> </ul> </div>Version 1.21.0Fri, 9 Mar 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Iterator Adaptor, Pool, Test. Updated Libraries: Graph, Python, Regular Expression, Type Traits. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/utility/iterator_adaptors.htm">Iterator Adaptor Library</a></span> added. Adapt a base type into a standard conforming iterator, and more, from Dave Abrahams, Jeremy Siek, and John Potter. </li> <li> <span class="library"><a href="/libs/pool/doc/index.html">Pool Library</a></span> added. Memory pool management from Steve Cleary. </li> <li> <span class="library"><a href="/libs/test/doc/index.html">Test Library</a></span> added. Support for program testing and execution from Beman Dawes. </li> <li> <a href="/more/generic_programming.html">Generic Programming Techniques</a> page added, contributed by Dave Abrahams. </li> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a>:</span> Updated use of iterator adaptors. Changed <code><span class="keyword">operator</span> <span class="special">==</span></code> for <code><span class="identifier">adjacency_list</span><span class="special">::</span><span class="identifier">edge_descriptor</span></code> to improve semantics for multigraphs. Moved <code><span class="identifier">adjacency_iterator_generator</span></code> from namespace <code><span class="identifier">detail</span></code> to <code><span class="identifier">boost</span></code> and added <a href="/libs/graph/doc/adjacency_iterator.html">documentation</a>. Renamed <code><span class="identifier">dynamic_components</span><span class="special">()</span></code> to <a href="/libs/graph/doc/incremental_components.html"><code><span class="identifier">incremental_components</span><span class="special">()</span></code></a>, better matching graph literature terminology. Cleaned up interface of <a href="/libs/graph/doc/connected_components.html"><code><span class="identifier">connected_components</span><span class="special">()</span></code></a> and created separate <a href="/libs/graph/doc/strong_components.html"><code><span class="identifier">strong_components</span><span class="special">()</span></code></a> function using Tarjan's more efficient algorithm. Fixed documentation figures for <a href="/libs/graph/doc/adjacency_list.html"><code><span class="identifier">adjacency_list</span></code></a> and <a href="/libs/graph/doc/adjacency_matrix.html"><code><span class="identifier">adjacency_matrix</span></code></a>. Added docs for <a href="/libs/graph/doc/cuthill_mckee_ordering.html"><code><span class="identifier">cuthill_mckee_ordering</span><span class="special">()</span></code></a> algorithm. </li> <li> <span class="library"><a href="/libs/python/doc/index.html">Python Library</a></span> upgraded. Better compatibility with Python 2.0, NULL pointers and smart-pointers get converted to/from python None, massive documentation review/revision. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a>:</span> Minor fixes for Unicode platforms. </li> <li> <span class="library"><a href="/libs/type_traits/index.html">Type Traits Library</a></span> upgraded: Major revision. </li> </ul> </div>Version 1.20.2Sat, 10 Feb 2001 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Array traits, Graph, Integer, Random Number, Rational Number, Regular Expression, Smart Pointer, Timer. </span></span>http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=138112<div class="description"> <ul> <li> Array traits: minor portability fix. </li> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span> - Changes to <a href="/libs/graph/doc/breadth_first_search.html"><code><span class="identifier">breadth_first_search</span><span class="special">()</span></code></a> re: <a href="/libs/graph/doc/BFSVisitor.html">BFSVisitor</a>, added max flow algorithms <a href="/libs/graph/doc/edmunds_karp_max_flow.html"><code><span class="identifier">edmunds_karp_max_flow</span><span class="special">()</span></code></a> and <a href="/libs/graph/doc/push_relabel_max_flow.html"><code><span class="identifier">push_relabel_max_flow</span><span class="special">()</span></code></a>, added <a href="/libs/graph/doc/adjacency_matrix.html"><code><span class="identifier">adjacency_matrix</span></code></a> graph class, added <a href="/libs/graph/doc/filtered_graph.html"><code><span class="identifier">filtered_graph</span></code></a> adaptor </li> <li> <span class="library"><a href="/libs/integer/index.html">Integer Library</a>:</span> minor fixes to integer.hpp and integer_test.cpp </li> <li> <a href="microsoft_vcpp.html">Portability Hints: Microsoft Visual C++</a> added. </li> <li> <span class="library"><a href="/libs/random/index.html">Random Number Library</a>:</span> Minor portability fixes </li> <li> <span class="library"><a href="/libs/rational/index.html">Rational Number Library</a>:</span> documentation updates, efficiency improvements, co-operates with user-defined types, regression tests </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a>:</span> minor updates. </li> <li> <span class="library"><a href="/libs/smart_ptr/index.html">Smart Pointer Library</a>:</span> shared_ptr example added. </li> <li> <span class="library"><a href="/libs/timer/index.html">Timer Library</a>:</span> changed to an all inline implementation. </li> </ul> </div>Version 1.20.1Wed, 10 Jan 2001 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Compressed Pair, Graph Library, Regular Expression. </span></span><div class="description"> <ul> <li> <a href="/boost/compressed_pair.hpp">compressed_pair.hpp</a> minor update fixes test failures of other libraries under VC++. </li> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span> minor updates. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a></span> minor updates. </li> <li> Minor website fixes including missing files in boost_all.zip. </li> </ul> </div>Version 1.20.0Sat, 6 Jan 2001 12:00:00 GMT<span class="brief"><span class="purpose"> New Library: Conversion. Updated Libraries: Array, Graph, Regular Expression. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/conversion/index.html">Conversion Library</a></span> added - <a href="/libs/conversion/cast.htm">cast</a> and <a href="/libs/conversion/lexical_cast.htm">lexical_cast</a> headers from Dave Abrahams and Kevlin Henney. </li> <li> Web site moved to a larger host after the old ISP collapsed unexpectedly. </li> <li> Regression tests now include execution testing. See <a href="/status/compiler_status.html">Compiler Status</a>. </li> <li> <a href="/more/discussion_policy.htm">Discussion Policy</a> page added. </li> <li> <span class="library"><a href="/libs/array/index.html">Array Library</a></span> minor documentation improvements. </li> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span> minor updates. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a></span> minor updates. </li> </ul> </div>Version 1.19.0Sun, 10 Dec 2000 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Concept Check, Python, Static Assert, Property Map Concepts. Updated Libraries: Graph, Regular Expression. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/concept_check/concept_check.htm">Concept Check Library</a></span> added - tools for generic programming from Jeremy Siek. </li> <li> <span class="library"><a href="/libs/python/doc/index.html">Python Library</a></span> added - reflects C++ classes and functions into Python, from Dave Abrahams. </li> <li> <span class="library"><a href="/libs/static_assert/static_assert.htm">Static Assert Library</a></span> added - compile time assertions from John Maddock </li> <li> <span class="library"><a href="/libs/property_map/property_map.html">Property Map Concepts</a></span> added - interfaces which map key objects to value objects from Jeremy Siek. </li> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span> minor updates. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a></span> minor updates. </li> <li> <a href="/more/lib_guide.htm">Library Requirements and Guidelines</a> - directory name policy added. </li> <li> <a href="/more/faq.htm">FAQ</a> updated. </li> </ul> </div>Version 1.18.3Sat, 18 Nov 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Graph, Regular Expression, Cast. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span> minor fixes and additions. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a></span> minor fixes. </li> <li> <a href="/boost/cast.hpp">cast.hpp</a> Borland compiler fixes. </li> <li> <a href="/boost/cstdint.hpp">cstdint.hpp</a> changed to no longer expose names to the global namespace. </li> <li> BeOS5/Intel compiler status contributed by John Maddock. </li> <li> <span class="library"><a href="/status/compiler_status.html">Compiler Status</a></span> added two additional test programs. </li> </ul> </div>Version 1.18.2Fri, 3 Nov 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Case, Graph, Regular Expression, Configuration. Utility library split into separate libraries. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/conversion/cast.htm">Cast Library</a></span> Fix numeric_cast&lt;&gt; bugs with floating types. </li> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span> minor fixes. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a></span> minor fixes. </li> <li> <span class="library"><a href="/libs/config/index.html">Configuration Header</a></span> more fixes for broken compilers. </li> <li> Boost Header Dependencies page added. </li> <li> Terminology change: Several headers previously lumped together as a &quot;utility&quot; library are now considered separate libraries. For historical reasons, their non-header files still live in the &quot;utility&quot; sub-directory. </li> </ul> </div>Version 1.18.1Sun, 15 Oct 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Graph, Random, Regular Expression, Configuration. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span>, <a href="/libs/random/index.html">Random Number Library</a>, and <a href="/libs/regex/index.html">Regular Expression Library</a>: Minor fixes. </li> <li> <span class="library"><a href="/libs/config/index.html">Configuration Header</a></span> additions for various compiler foibles. </li> <li> Portability Hints: Borland C++ 5.5.1 from Jens Maurer added. </li> <li> <span class="library"><a href="/status/compiler_status.html">Compiler Status</a></span> updated for latest versions of several compilers. </li> </ul> </div>Version 1.18.0Thu, 28 Sep 2000 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Graph, Regular Expression. Updated Libraries: Array, Functional, Utility, Integer. </span></span><div class="description"> <ul> <li> Preliminary release of two important new libraries: <ul> <li> <span class="library"><a href="/libs/graph/doc/table_of_contents.html">Graph Library</a></span> - Generic graph components and algorithms from Jeremy Siek and a University of Notre Dame team. </li> <li> <span class="library"><a href="/libs/regex/index.html">Regular Expression Library</a></span> - Text pattern matching in all its glory from John Maddock. </li> </ul> </li> <li> Other changes: <ul> <li> <span class="library"><a href="/libs/array/index.html">Array Library</a></span> improvements reflecting formal review comments. </li> <li> <a href="/boost/functional.hpp">functional.hpp</a> compiler workarounds added. </li> <li> <code><span class="identifier">tie</span><span class="special">()</span> <span class="identifier">function</span> <span class="keyword">template</span></code> added to utility.hpp for easier handling of std::pair&lt;&gt; return values. </li> <li> <span class="library"><a href="/libs/integer/index.html">Integer Library</a></span> improved handling of 64-bit integers. </li> <li> Minor web site page updates. </li> </ul> </li> </ul> </div>Version 1.17.0Thu, 3 Aug 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Added Library: Array. Updated Libraries: Array Traits, Random Number, Smart Pointer. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/array/index.html">Array Library</a></span> added - An STL compliant container wrapper for arrays of constant size from Nicolai Josuttis. </li> <li> array traits header renamed array_traits.hpp (was array.hpp). </li> <li> <span class="library"><a href="/libs/random/index.html">Random Number Library</a>:</span> more minor changes to support more compilers. </li> <li> <span class="library"><a href="/libs/smart_ptr/index.html">Smart Pointer Library</a>:</span> performance reducing exception-specifications removed. </li> <li> Compiler and test program fixes for call_traits, compressed_pair, and type_traits. </li> <li> Updated <a href="/boost/cast.hpp">cast.hpp</a> to clear compiler warning messages. </li> <li> Linux <a href="/status/compiler_status.html">Compiler Status</a> added. </li> <li> Boost source code now lives in a publicly accessible Concurrent Versions System (CVS) repository. </li> </ul> </div>Version 1.16.1Wed, 5 Jul 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Integer, Random Number, Cast, Call Traits, Operators. </span></span><div class="description"> <ul> <li> <span class="library"><a href="/libs/integer/index.html">Integer</a></span> library: fixed <a href="/boost/cstdint.hpp">cstdint.hpp</a> bug, added <a href="/libs/integer/cstdint_test.cpp">cstdint_test.cpp</a>, updated <a href="/libs/integer/cstdint.htm">docs</a>. </li> <li> <span class="library"><a href="/libs/random/index.html">Random Number Library</a>:</span> minor fixes to <a href="/boost/random.hpp">random.hpp</a> and <a href="/libs/random/random_test.cpp">random_test.cpp</a> to support more compilers. </li> <li> Updated <a href="/boost/cast.hpp">cast.hpp</a> with more Microsoft compiler workarounds. </li> <li> Updated <a href="/libs/utility/call_traits.htm">call_traits docs</a>, added <a href="/libs/utility/call_traits_test.cpp">call_traits_test.cpp</a>. </li> <li> Cleanup and bug fixes for <a href="/boost/operators.hpp">operators.hpp</a> and <a href="/libs/utility/operators_test.cpp">operators_test.cpp</a>. </li> </ul> </div>Version 1.16.0Wed, 28 Jun 2000 12:00:00 GMT<span class="brief"><span class="purpose"> New Libraries: Functional, iterator header, Updated Libraries: Random Number, Rational, Cast, Smart Pointer, Config. </span></span><div class="description"> <ul> <li> Added <a href="/libs/functional/index.html">Functional Library</a> - Enhanced function object adaptors from Mark Rodgers. </li> <li> Added missing <a href="/libs/random/index.html">Random Number Library</a> files. </li> <li> Updated <a href="/libs/utility/operators.htm">operators docs</a> and <a href="/boost/operators.hpp">operators.hpp</a>. </li> <li> New <a href="/boost/iterator.hpp">iterator.hpp</a> header. </li> <li> Minor <a href="/boost/rational.hpp">rational.hpp</a>, <a href="/libs/rational/rational_example.cpp">rational_example.cpp</a>, and <a href="/libs/integer/integer_traits_test.cpp">integer_traits_test.cpp</a> changes to support more compilers. </li> <li> Revised <a href="/boost/cast.hpp">cast.hpp</a>: removed implicit_cast, plus fixes for broken compilers. </li> <li> Minor <a href="/boost/smart_ptr.hpp">smart_ptr.hpp</a> workaround for some GCC builds. </li> <li> Several <a href="/boost/config.hpp">config.hpp</a> changes for Microsoft, Intel, and other compilers. </li> <li> Added <a href="/libs/config/index.html">Configuration Header</a> page and test program. </li> <li> Added Experimental <a href="/status/compiler_status.html">Compiler Status</a> page showing what library works with which compilers. </li> </ul> </div>Version 1.15.1Wed, 21 Jun 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Cast, Operators, Config. </span></span><div class="description"> <p> Fixes to <a href="/boost/cast.hpp">cast.hpp</a> and <a href="/libs/utility/operators.htm">operators</a> fix. Minor additions to <a href="/boost/config.hpp">config.hpp</a> for Microsoft compilers. The 1.15.0 operators changes seem to have introduced incompatibilities. We are working on fixing them, and have started to build a regression test to prevent similar future problems. </p> </div>Version 1.15.0Sat, 17 Jun 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Added Library: Random Number. Updated Libraries: Utility, Config, Cast. </span></span><div class="description"> <p> <a href="/libs/random/index.html">Random Number Library</a> from Jens Maurer added. Updated utility library <a href="/libs/utility/operators.htm">operators</a> eliminates code bloat. Minor additions to <a href="/boost/config.hpp">config.hpp</a> and <a href="/boost/cast.hpp">cast.hpp</a> for Microsoft compilers. </p> </div>Version 1.14.3Mon, 29 May 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Config, Type Traits. </span></span><div class="description"> <p> Minor additions to <a href="/boost/config.hpp">config.hpp</a> for Borland compilers. Minor fix to <code><span class="identifier">type_traits</span></code> example. Minor web site fixes. <a href="/more/formal_review_process.htm">Library Formal Review Process</a> page added. </p> </div>Version 1.14.2Tue, 9 May 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Documentation updates. </span></span><div class="description"> <p> No libraries updated. <a href="/more/lib_guide.htm">Library Requirements and Guidelines</a> expanded, <a href="/more/submission_process.htm">Library Submission Process</a> added. </p> </div>Version 1.14.1Fri, 17 Mar 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Rational, Smart Pointer, Call Traits, Compressed Pair, Type Traits. </span></span><div class="description"> <p> Minor fix to <a href="/boost/rational.hpp">rational.hpp</a>. Minor documentation changes to the <a href="/libs/smart_ptr/index.html">Smart Pointer</a> Library and <a href="/libs/utility/call_traits.htm">call_traits</a>, <a href="/libs/utility/compressed_pair.htm">compressed_pair</a>, and type_traits. Updated <a href="/more/lib_guide.htm">Library Guidelines</a> and <a href="/users/people.html">People</a> page. </p> </div>Version 1.14.0Sun, 5 Mar 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Integer. Experimental libraries moved to vault. </span></span><div class="description"> <p> <a href="/libs/integer/index.html">Integer Library</a> status upgraded after removing bin_bun.hpp. The &quot;Experimental&quot; library category has been removed; the boost files/vault now serves the purpose. Minor fix to <a href="/boost/smart_ptr.hpp">smart_ptr.hpp</a> line endings. </p> </div>Version 1.13.0Tue, 29 Feb 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Added Libraries: Utility, Type Traits, Call Traits, Compressed Pair. </span></span><div class="description"> <p> Adds <a href="/libs/utility/index.html">Utility Library</a> <a href="/libs/type_traits/index.html">type_traits</a>, <a href="/libs/utility/call_traits.htm">call_traits</a>, and <a href="/libs/utility/compressed_pair.htm">compressed_pair</a> headers from John Maddock, Steve Cleary and Howard Hinnant. </p> </div>Version 1.12.0Wed, 23 Feb 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Library: Integer. </span></span><div class="description"> <p> Adds a <a href="/libs/integer/integer_traits.html">integer_traits</a> header from Jens Maurer to the <a href="/libs/integer/index.html">Integer Library</a>. </p> </div>Version 1.11.2Mon, 21 Feb 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Smart Pointer. </span></span><div class="description"> <p> <a href="/libs/smart_ptr/smarttests.htm">Smart pointer timings</a> added (thanks to Gavin Collings). Minor fix to the <code><span class="identifier">min_rand</span></code> sample program. Minor fixes to <a href="/boost/config.hpp">config.hpp</a>. </p> </div>Version 1.11.1Wed, 2 Feb 2000 12:00:00 GMT<span class="brief"><span class="purpose"> Minor fix for cast.hpp. </span></span><div class="description"> <p> Minor fix to <a href="/boost/cast.hpp">cast.hpp</a> (thanks to Doncho Angelov). </p> </div>Version 1.11.0Tue, 1 Feb 2000 12:00:00 GMT<span class="brief"><span class="purpose"> New Library: Rational Number. Updated Libraries: Case, Config, Smart Pointer, Utility. </span></span><div class="description"> <p> Added <a href="/libs/rational/index.html">Rational Number Library</a>. Minor fixes to <a href="/boost/cast.hpp">cast.hpp</a>, <a href="/boost/config.hpp">config.hpp</a>, <a href="/boost/smart_ptr.hpp">smart_ptr.hpp</a>, <a href="/boost/utility.hpp">utility.hpp</a>, and to the <code><span class="identifier">min_rand</span></code> sample programs. Minor site cleanup (thanks to Paul Baxter). </p> </div>Version 1.10.4Fri, 31 Dec 1999 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Smart Pointer, Cast. </span></span><div class="description"> <p> Minor fixes to <a href="/boost/smart_ptr.hpp">smart_ptr.hpp</a> and <a href="/libs/conversion/cast.htm">cast documentation</a>. </p> </div>Version 1.10.3Thu, 30 Dec 1999 12:00:00 GMT<span class="brief"><span class="purpose"> Updated Libraries: Compse, Operators, Cast, Config, Smart Pointer First release with a version number. </span></span><div class="description"> <p> Minor fixes to the compose library examples, <a href="/libs/utility/operators.htm">operators documentation</a>, <a href="/boost/operators.hpp">operators.hpp</a>, <a href="/libs/conversion/cast.htm">cast documentation</a>, <a href="/boost/cast.hpp">cast.hpp</a>, <a href="/boost/config.hpp">config.hpp</a>, and <a href="/boost/smart_ptr.hpp">smart_ptr.hpp</a>. </p> <p> This is the first release with a version number. The version numbering scheme is xxx.yyy.zzz. </p> <ul> <li> xxx = Major version </li> <li> yyy = New library or feature added </li> <li> zzz = Bug fixes only </li> </ul> </div>Old VersionsTue, 14 Dec 1999 12:00:00 GMT<span class="brief"><span class="purpose"> Early releases of boost without version numbers. </span></span><div class="description"> <div id="old_versions.14_dec_1999"> <h3><span class="link">14 Dec 1999</span></h3> <p> <a href="/boost/operators.hpp">Operators.hpp</a> <a href="/libs/utility/operators.htm">documentation</a> improved. </p> </div> <div id="old_versions.13_dec_1999"> <h3><span class="link">13 Dec 1999</span></h3> <p> Added iterator operators and helpers to <a href="/libs/utility/operators.htm">header operators.hpp</a>, together with an iterator test program. This header is maturing into something really useful for building arithmetic or iterator user-defined types, so look it over even if you browsed one of the earlier versions. </p> </div> <div id="old_versions.11_dec_1999"> <h3><span class="link">11 Dec 1999</span></h3> <p> Added next() and prior() to <a href="/libs/utility/utility.htm">header utility.hpp</a>. </p> </div> <div id="old_versions.8_dec_1999"> <h3><span class="link">8 Dec 1999</span></h3> <p> Minor improvements to the <a href="/libs/smart_ptr/index.html">smart pointer</a> library: <code><span class="keyword">operator</span> <span class="special">==</span></code>, <code><span class="keyword">operator</span> <span class="special">!=</span></code>, and specializations for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span></code> now provided. </p> </div> <div id="old_versions.18_nov_1999"> <h3><span class="link">18 Nov 1999</span></h3> <p> Minor improvements made to the <a href="/libs/utility/operators.htm">Operator templates</a>. </p> </div> <div id="old_versions.15_nov_1999"> <h3><span class="link">15 Nov 1999</span></h3> <p> <a href="/libs/utility/operators.htm">Operator templates</a> have been added to the <a href="/libs/utility/index.html">utility</a> library. </p> </div> <div id="old_versions.11_oct_1999"> <h3><span class="link">11 Oct 1999</span></h3> <p> Minor <a href="/libs/smart_ptr/index.html">smart pointer</a> library and <a href="/boost/config.hpp">config.hpp</a> changes to improve portability. </p> </div> <div id="old_versions.26_sep_1999"> <h3><span class="link">26 Sep 1999</span></h3> <p> Minor updates to several libraries: * <code><span class="identifier">polymorphic_downcast</span><span class="special">&lt;&gt;</span></code> in the <a href="/libs/utility/index.html">utility</a> library <a href="/boost/cast.hpp">cast.hpp</a> header now works for multiple inheritance cases. * <code><span class="identifier">shared_ptr</span><span class="special">&lt;&gt;</span></code> and <code><span class="identifier">shared_array</span><span class="special">&lt;&gt;</span></code> <code><span class="identifier">swap</span><span class="special">()</span></code> functions added in the <a href="/libs/smart_ptr/index.html">smart pointer</a> library. * <span class="library"><a href="/boost/timer.hpp">timer.hpp</a></span> <code><span class="identifier">elapsed_max</span><span class="special">()</span></code> and <code><span class="identifier">elapsed_min</span><span class="special">()</span></code> functions added to the <a href="/libs/timer/index.html">timer</a> library. * <span class="library"><a href="/libs/integer/index.html">integer</a></span> library bin_ubin.hpp changes to eliminate compiler warning messages. * <a href="/boost/config.hpp">config.hpp</a> minor changes to aid library developers. No impact on library users. </p> </div> <div id="old_versions.3_sep_1999"> <h3><span class="link">3 Sep 1999</span></h3> <p> The cast functions in the <a href="/libs/utility/index.html">utility</a> library were considerably simplified. </p> </div> <div id="old_versions.1_sep_1999"> <h3><span class="link">1 Sep 1999</span></h3> <p> The cast functions initially in <a href="/boost/utility.hpp">utility.hpp</a> have been moved to <a href="/boost/cast.hpp">cast.hpp</a>, still in the <a href="/libs/utility/index.html">utility</a> library. </p> </div> <div id="old_versions.1_sep_1999"> <h3><span class="link">1 Sep 1999</span></h3> <p> The category &quot;Experimental&quot; has been added to the <a href="/libs/libraries.htm">library</a> page. The <a href="/libs/integer/index.html">integer</a> library is the first entry. </p> </div> <p> ...And the remainder are lost to the mists of time (for now, anyway).... </p> </div>