Boost Website Site Tools Release notes for work in progress boost http://www.boost.org/ en-us Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) Version 1.56.0http://www.boost.org/users/history/version_1_56_0.htmlhttp://www.boost.org/users/history/version_1_56_0.htmlIn Progress <div id="version_1_56_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/align/">Align</a>:</span> Memory alignment functions, allocators, and adaptors, from Glen Fernandes. </div> </li> <li> <div> <em>TODO</em> </div> </li> </ul> </div> <div id="version_1_56_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/assign/">Assign</a>:</span> <ul> <li> <div> Resolve some C++11 ambiguities (<a href="https://svn.boost.org/trac/boost/ticket/3073">#3073</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/circular_buffer/">Circular Buffer</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9970">#9970</a> Support for the C++11 allocator model </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/concept_check/">Concept Check</a>:</span> <ul> <li> <div> Fewer warnings (includes <a href="https://svn.boost.org/trac/boost/ticket/5012">#5012</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/context/">Context</a>:</span> <ul> <li> <div> fcontext_t is opaque pointer to context-data </div> </li> <li> <div> changed signature of make_fcontext() </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/8826">#8826</a> no executable stack </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9437">#9437</a> catch exceptions on iOS and Windows Phone 8 </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9445">#9445</a> support for x32 ABIs </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9522">#9522</a> support for powerpc_64le </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9743">#9743</a> bugfix for powerpc_64 le/be </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/coroutine/">Coroutine</a>:</span> <ul> <li> <div> support of symmetric coroutines </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9355">#9355</a> fix race condition in protected_stack_allocator </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9551">#9551</a> list of supported architectures </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9734">#9734</a> wrong check of mmap() return value </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9735">#9735</a> no memset() for protected_stack_allocator </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/9760">#9760</a> coroutine iterator need const operator== </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/flyweight/index.html">Flyweight</a>:</span> <ul> <li> <div> In compilers with variadic template support, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">flyweight</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> now provides a perfectly forwarding constructor to <code><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span></code> (previously an emulation was used). </div> </li> <li> <div> <code><span class="identifier">flyweight</span></code> now replicates the initializer-list constructors and assignment operators of its underlying type. </div> </li> <li> <div> Fixed intermodule static initialization problem (ticket <a href="https://svn.boost.org/trac/boost/ticket/9553">#9553</a>). </div> </li> <li> <div> Maintenance fixes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/multi_index/index.html">Multi-index Containers</a>:</span> <ul> <li> <div> The <code><span class="identifier">erase</span><span class="special">(</span><span class="identifier">iterator</span><span class="special">)</span></code> member function of hashed indices used to have poor performance under low load conditions due to the requirement that an iterator to the next element must be returned (see ticket <a href="https://svn.boost.org/trac/boost/ticket/4264">#4264</a>). In accordance with the resolution of <a href="http://lwg.github.io/issues/lwg-closed.html#579">LWG issue #579</a>, this problem has been fixed while maintaining the interface of <code><span class="identifier">erase</span></code>, at the expense of using one more word of memory per element. In fact, C++ complexity requirements on unordered associative containers have been improved for hashed indices so that </div> <ul> <li> <div> deletion of a given element is unconditionally constant-time, </div> </li> <li> <div> worst-case performance is not <code><span class="identifier">O</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code> but <code>O(n<sub>dist</sub>)</code>, where <code>n<sub>dist</sub></code> is the number of non-equivalent elements in the index. </div> </li> </ul> <div> Due to the fact that hashed indices rely on a new data structure, the internal representation of their iterators and local iterators have changed, which affects serialization: their corresponding serialization <a href="http://www.boost.org/doc/libs/master/libs/serialization/doc/tutorial.html#versioning">class version</a> has been bumped from 0 to 1. Old archives involving hashed index (local) iterators can be loaded by Boost 1.56 version of Boost.MultiIndex, but not the other way around. </div> </li> <li> <div> Hashed indices now provide <code><span class="identifier">reserve</span></code>. </div> </li> <li> <div> Hashed indices can now be checked for equality and inequality following the (suitably adapted) C++ standard specification in <strong>[unord.req]</strong>. </div> </li> <li> <div> The public interface of Boost.MultiIndex provide <code><span class="keyword">noexcept</span></code> specifications where appropriate (for compliant compilers). </div> </li> <li> <div> Improved performance of failed insertions into a <code><span class="identifier">multi_index_container</span></code>. </div> </li> <li> <div> Much internal code aimed at supporting MSVC++ 7.0 and prior has been removed. Compilation times without this legacy code might be slightly faster. </div> </li> <li> <div> Fixed a bug with insertion via iterators dereferencing to rvalues (ticket <a href="https://svn.boost.org/trac/boost/ticket/9665">#9665</a>). </div> </li> <li> <div> Made Boost.MultiIndex compatible with <code><span class="identifier">BOOST_BIND_NO_PLACEHOLDERS</span></code> (ticket <a href="https://svn.boost.org/trac/boost/ticket/9798">#9798</a>). </div> </li> <li> <div> Maintenance fixes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/lib/program_options/">Program Options</a>:</span> <ul> <li> <div> Columns in the <code><span class="special">--</span><span class="identifier">help</span></code> output are now aligned across all option groups (<a href="https://svn.boost.org/trac/boost/ticket/6114">#6114</a>). </div> </li> <li> <div> Option names with dashes are no longer truncated in error messages (<a href="https://svn.boost.org/trac/boost/ticket/8009">#8009</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/smart_ptr/">Smart Pointers</a>:</span> <ul> <li> <div> Updated the overloads of <a href="http://www.boost.org/doc/libs/master/libs/smart_ptr/make_shared_array.html">make_shared</a> and <a href="http://www.boost.org/doc/libs/master/libs/smart_ptr/make_shared_array.html">allocate_shared</a> of array types (<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>) to conform to the specification in C++ standard paper <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3939.html">N3939</a> and significantly reduced the spatial overhead of the internal bookkeeping structures. </div> </li> <li> <div> Updated the implementations of make_shared and allocate_shared for scalar types and array types, respectively, to resolve C++ standard library defect report <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2070">#2070</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/doc/libs/master/libs/uuid/index.html">UUID</a>:</span> <ul> <li> <div> Added basic support for C++11 features. </div> </li> <li> <div> Implemented SSE-optimized versions of some functions of <code><span class="identifier">uuid</span></code>, including comparison operators and <code><span class="identifier">swap</span></code>. The support for different versions of SSE is automatically detected at compile time for most compilers, but can also be explicitly enabled or disabled with <a href="http://www.boost.org/doc/libs/master/libs/uuid/uuid.html#Configuration">configuration macros</a>. (<a href="https://svn.boost.org/trac/boost/ticket/8509">#8509</a>) </div> </li> <li> <div> Silenced some compiler warnings. (<a href="https://svn.boost.org/trac/boost/ticket/8495">#8495</a>, <a href="https://svn.boost.org/trac/boost/ticket/8697">#8697</a>) </div> </li> </ul> </div> </li> <li> <div> <em>TODO</em> </div> </li> </ul> </div> <div id="version_1_56_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> <em>TODO</em> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> <em>TODO</em> </div> </li> </ul> </div> <div id="version_1_56_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <em>TODO</em> </p> </div> 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>