2
0
mirror of https://github.com/boostorg/website.git synced 2026-02-13 13:02:10 +00:00
Files
website/generated/state/beta_release_notes.txt
2017-03-30 16:24:05 +00:00

2242 lines
73 KiB
Plaintext

(feed/history/boost_1_64_0.qbk:1.64.0 beta1
-description_xhtml
"
"
"
" <div id="version_1_64_0.updated_libraries">
" <h3><span class="link">Updated Libraries</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/any/">Any</a>:</span>
" <ul>
" <li>
" <div>
" Suppressed false warnings about returning reference to temporary
" </div>
" </li>
" <li>
" <div>
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span></code> is now used instead of
" directly taking the address <a href="https://svn.boost.org/trac/boost/ticket/12615">#12615</a>
" </div>
" </li>
" <li>
" <div>
" Headers are not included using double quotes any more <a href="https://svn.boost.org/trac/boost/ticket/12053">#12053</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" <li>
" <div>
" Added more test
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
" <ul>
" <li>
" <div>
" Fixed possible incorrect code generation in 64-bit atomic operations
" on 32-bit x86 with gcc versions older than 4.7 and compatible compilers.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/config/">Config</a>:</span>
" <ul>
" <li>
" <div>
" Added <code><span class="identifier">BOOST_NO_CXX11_SFINAE_EXPR</span></code>
" defect detection.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/container/">Container</a>:</span>
" <ul>
" <li>
" <div>
" Fixed bugs:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12749">Trac
" #12749: <em>"container::pmr::polymorphic_allocator
" compilation error"</em></a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/11333">Trac
" #11333: <em>"boost::basic_string_ref should interop
" with boost::container::basic_string"</em></a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/container/pull/45">GitHub
" #45: <em>"emplace_back must return reference to
" back(), not to *end()"</em></a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/context/">Context</a>:</span>
" <ul>
" <li>
" <div>
" new API: call/cc
" </div>
" </li>
" <li>
" <div>
" deprecated API:execution-context
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12719">#12719</a> segmentation fault when built with mingw-w64
" </div>
" </li>
" <li>
" <div>
" #38: context_entry() crashes on macOS
" </div>
" </li>
" <li>
" <div>
" #39: Unknown directive .cpu on aarch64 with Clang 3.8 on Android
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/conversion/">Conversion</a>:</span>
" <ul>
" <li>
" <div>
" Docs were ported to Quickbook (thanks to Mikhail Maksimov for the
" port)
" </div>
" </li>
" <li>
" <div>
" Fixed a memory leak in test (thanks to Mikhail Maksimov for the fix)
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/core/">Core</a>:</span>
" <ul>
" <li>
" <div>
" Implemented <code><span class="keyword">constexpr</span></code>
" <code><span class="identifier">addressof</span></code> on compilers
" that support C++11 <code><span class="keyword">constexpr</span></code>
" and SFINAE expressions (Glen Fernandes). <code><span class="identifier">BOOST_CORE_NO_CONSTEXPR_ADDRESSOF</span></code>
" macro indicates when <code><span class="keyword">constexpr</span></code>
" <code><span class="identifier">addressof</span></code> is not
" available.
" </div>
" </li>
" <li>
" <div>
" In <code><span class="identifier">lightweight_test</span><span class="special">.</span><span class="identifier">hpp</span></code>,
" added new macros <code><span class="identifier">BOOST_TEST_ALL_EQ</span></code>
" and <code><span class="identifier">BOOST_TEST_ALL_WITH</span></code>
" for testing container contents (Bjorn Reese).
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/coroutine2/">Coroutine2</a>:</span>
" <ul>
" <li>
" <div>
" #4: coroutine2&lt;&gt; does not accept std::bind
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
" <ul>
" <li>
" <div>
" Fixed WinCE compilation
" </div>
" </li>
" <li>
" <div>
" Added <code><span class="identifier">boost</span><span class="special">:</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">symbol_location_ptr</span></code> function for
" getting location of a symbol by pointer that could not be dereferenced
" (<code><span class="keyword">void</span></code> pointer for example)
" </div>
" </li>
" <li>
" <div>
" Fixed UB in <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">aggressive_ptr_cast</span></code>
" for member pointers
" </div>
" </li>
" <li>
" <div>
" Fixed leaks in experimental smart imports
" </div>
" </li>
" <li>
" <div>
" Fixed warnings
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>
" and <code><span class="identifier">leak</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
" <ul>
" <li>
" <div>
" #100: ASIO: unbuffered_channel / scheduler notify issue
" </div>
" </li>
" <li>
" <div>
" #106: Passing a fixed_stack allocator to async/packaged_task doesn't
" compile
" </div>
" </li>
" <li>
" <div>
" #111: endless-loop in buffered_channel::try_value_pop()
" </div>
" </li>
" <li>
" <div>
" (un)bounded_channel&lt;&gt; removed
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/functional/hash/">Hash</a>:</span>
" <ul>
" <li>
" <div>
" Stop using <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">unary_function</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">binary_function</span></code> when they're not
" available.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/interprocess/">Interprocess</a>:</span>
" <ul>
" <li>
" <div>
" Fixed bugs:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12617">Trac
" #12617 (<em>"clock_gettime not available on OS X
" 10.11"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12744">Trac
" #12744 (<em>"winapi::set_timer_resolution inadvertently
" changes timer resolution (Windows)"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/32">GitHub
" Pull #32 (<em>"Conform to std::pointer_traits requirements"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/33">GitHub
" Pull #33 (<em>"explicit cast to derived class"
" and "64/32 bit processes sharing"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/34">GitHub
" Pull #34 (<em>"Update example to use multi_index::member
" instead of BOOST_MULTI_INDEX_MEMBER"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/35">GitHub
" Pull #35 (<em>"Fixed options for cross-compilation"</em>)</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" New experimental option <code><span class="identifier">BOOST_INTERPROCESS_BOOTSTAMP_IS_SESSION_MANAGER_BASED</span></code>
" from Windows systems. This option derives the unique bootstamp used
" to name the folder where shared memory is placed from registry values
" associated with the session manager. This option only works on Vista
" and later systems and might be more stable than the default version.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/intrusive/">Intrusive</a>:</span>
" <ul>
" <li>
" <div>
" Fixed bugs:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12745">Boost
" Trac #12745: <em>key_nodeptr_comp broken if the key type
" is void*</em></a>
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12761">Boost
" Trac #12761: <em>intrusive::set::swap doesn't swap the
" comparison function*</em></a>
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/lexical_cast/">LexicalCast</a>:</span>
" <ul>
" <li>
" <div>
" Fixed multiple warnings <a href="https://svn.boost.org/trac/boost/ticket/11842">#11842</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/math/">Math</a>:</span>
" <ul>
" <li>
" <div>
" Big push to ensure all functions in also in C99 are compatible with
" Annex F.
" </div>
" </li>
" <li>
" <div>
" Improved accuracy of the Bessel functions I0, I1, K0 and K1, see
" <a href="https://svn.boost.org/trac/boost/ticket/12066">12066</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/multiprecision/">Multiprecision</a>:</span>
" <ul>
" <li>
" <div>
" In <code><span class="identifier">cpp_bin_float</span></code>
" prevent double rounding when converting to a denormalized float.
" See <a href="https://svn.boost.org/trac/boost/ticket/12527">#12527</a>.
" </div>
" </li>
" <li>
" <div>
" Fix bug in integer sqrt for very small integers. See <a href="https://svn.boost.org/trac/boost/ticket/12559">#12559</a>.
" </div>
" </li>
" <li>
" <div>
" Fix conversion to signed-zero in <code><span class="identifier">cpp_bin_float</span></code>.
" </div>
" </li>
" <li>
" <div>
" Change <code><span class="identifier">cpp_bin_float</span></code>
" rounding code to round at arbitrary location so we can use it for
" conversions, see <a href="https://svn.boost.org/trac/boost/ticket/12527">#12527</a>.
" </div>
" </li>
" <li>
" <div>
" Improve performance of 128-bit bit-scan operations.
" </div>
" </li>
" <li>
" <div>
" Fix subtraction of very small quantities in <code><span class="identifier">cpp_bin_float</span></code>.
" See: <a href="https://svn.boost.org/trac/boost/ticket/12580">#12580</a>.
" </div>
" </li>
" <li>
" <div>
" Bring error handling into line with C99 Annex F. See <a href="https://svn.boost.org/trac/boost/ticket/12581">#12581</a>.
" </div>
" </li>
" <li>
" <div>
" Fix bitwise export of trivial <code><span class="identifier">cpp_int</span></code>'s,
" see <a href="https://svn.boost.org/trac/boost/ticket/12627">#12627</a>.
" </div>
" </li>
" <li>
" <div>
" Fix <code><span class="identifier">ilogb</span></code> (and code
" that uses it) to consistently return the smallest value of the exponent
" type when the argument is zero, see <a href="https://svn.boost.org/trac/boost/ticket/12625">#12625</a>.
" </div>
" </li>
" <li>
" <div>
" Allow conversion from <code><span class="identifier">__float128</span></code>
" to <code><span class="identifier">cpp_bin_float</span></code>.
" </div>
" </li>
" <li>
" <div>
" Fix bug in left shift of <code><span class="identifier">cpp_int</span></code>
" which would result in bit-loss, see <a href="https://svn.boost.org/trac/boost/ticket/12790">#12790</a>.
" </div>
" </li>
" <li>
" <div>
" Fixed bugs in bounded but variable precision <code><span class="identifier">cpp_int</span></code>'s
" caused by over-aggressive constexpr optimization, see <a href="https://svn.boost.org/trac/boost/ticket/12798">#12798</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
" <ul>
" <li>
" <div>
" Fix Intel C/C++ compiler version specification.
" </div>
" </li>
" <li>
" <div>
" Add <code><span class="identifier">BOOST_VERSION_NUMBER_MAJOR</span></code>,
" <code><span class="identifier">BOOST_VERSION_NUMBER_MINOR</span></code>,
" <code><span class="identifier">BOOST_VERSION_NUMBER_PATCH</span></code>
" macros to extract components from valid version numbers.
" </div>
" </li>
" <li>
" <div>
" Change VS version numbering. Versions after VS2015 will use the compiler
" version instead of the varied product versions.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/program_options/">Program Options</a>:</span>
" <ul>
" <li>
" <div>
" Support for storing values into <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>,
" thanks to Ed Catmur (<a href="https://svn.boost.org/trac/boost/ticket/7495">#7495</a>,
" <a href="https://github.com/boostorg/program_options/pull/18">PR#18</a>)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/regex/">Regex</a>:</span>
" <ul>
" <li>
" <div>
" Compiling with Oracle C++ toolset is no longer restricted to static
" linking.
" </div>
" </li>
" <li>
" <div>
" Big effort to de-fuzz the library using libFuzzer and fix identified
" issues, see: <a href="https://svn.boost.org/trac/boost/ticket/12818">#12818</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/smart_ptr/">Smart Pointers</a>:</span>
" <ul>
" <li>
" <div>
" Rewrite of <code><span class="identifier">allocate_shared</span></code>
" and <code><span class="identifier">make_shared</span></code> for
" arrays for a more optimal and more maintainable implementation (Glen
" Fernandes)
" </div>
" </li>
" <li>
" <div>
" Pointer cast functions with move semantics (Chris Glover)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/test/">Test</a>:</span>
" <ul>
" <li>
" <div>
" Boost.test v3.5 see the <a href="/doc/libs/1_64_0/libs/test/doc/html/boost_test/change_log.html">Change
" log</a> section for more details.
" </div>
" </li>
" <li>
" <div>
" New feature:
" <ul>
" <li>
" <div>
" Now Boost.Test provides <strong>customization
" points</strong> for logging user defined types
" </div>
" </li>
" <li>
" <div>
" JUnit output format can now have a <em>log-level</em>
" </div>
" </li>
" <li>
" <div>
" JUnit output format has not better performances when the test
" modules have a lot of checks
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bug fixes
" <ul>
" <li>
" <div>
" Trac tickets <a href="https://svn.boost.org/trac/boost/ticket/11756">#11756</a>, <a href="https://svn.boost.org/trac/boost/ticket/12540">#12540</a>, <a href="https://svn.boost.org/trac/boost/ticket/12712">#12712</a>, <a href="https://svn.boost.org/trac/boost/ticket/12748">#12748</a>,
" <a href="https://svn.boost.org/trac/boost/ticket/12778">#12778</a>
" </div>
" </li>
" <li>
" <div>
" Pull request <a href="https://github.com/boostorg/test/pull/107">PR107</a>,
" <a href="https://github.com/boostorg/test/pull/108">PR108</a>
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/type_index/">TypeIndex</a>:</span>
" <ul>
" <li>
" <div>
" Added <code><span class="identifier">BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST</span></code>,
" which implements the functionality for <code><span class="identifier">runtime_cast</span></code>
" but does not include the <code><span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span></code>
" macro (thanks to Chris Glover for imlpementing it)
" </div>
" </li>
" <li>
" <div>
" Fixed undefined macro warning in stl_type_index.hpp <a href="https://svn.boost.org/trac/boost/ticket/12739">#12739</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/type_traits/">TypeTraits</a>:</span>
" <ul>
" <li>
" <div>
" Added new traits <code><span class="identifier">make_void</span></code>
" and <code><span class="identifier">void_t</span></code>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
" <ul>
" <li>
" <div>
" Initial support for new C++17 member functions: <code><span class="identifier">insert_or_assign</span></code>
" and <code><span class="identifier">try_emplace</span></code> in
" <code><span class="identifier">unordered_map</span></code>, <code><span class="identifier">merge</span></code> and <code><span class="identifier">extract</span></code>
" in all containers.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
" <ul>
" <li>
" <div>
" Fixed construction of variant from <code><span class="identifier">recursive_variant_</span></code>
" (thanks to Mikhail Maksimov for the fix) <a href="https://svn.boost.org/trac/boost/ticket/12508">#12508</a>, <a href="https://svn.boost.org/trac/boost/ticket/12645">#12645</a>
" </div>
" </li>
" <li>
" <div>
" Do not enable variadic templates for MSVC2015Update1 as it still
" has issues <a href="https://svn.boost.org/trac/boost/ticket/12236">#12236</a>
" </div>
" </li>
" <li>
" <div>
" Workaround GCC6 crash (thanks to Mikhail Maksimov for the workaround)
" <a href="https://svn.boost.org/trac/boost/ticket/12680">#12680</a>, <a href="https://svn.boost.org/trac/boost/ticket/7120">#7120</a>
" </div>
" </li>
" <li>
" <div>
" Made <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">polymorphic_</span><span class="special">*</span><span class="identifier">get</span></code> to work as <code><span class="identifier">boost</span><span class="special">::*</span><span class="identifier">get</span></code>
" in undocumented border cases and fixed tests <a href="https://svn.boost.org/trac/boost/ticket/11950">#11950</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_64_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.0, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.5, 3.6, 3.7.1, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.9.1
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.1, 6.2.0, 6.3.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++1z: 6.2.0
" </div>
" </li>
" <li>
" <div>
" Intel: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++11: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++14: 16.0, 17.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Apple Clang: 7.0.2
" </div>
" </li>
" <li>
" <div>
" Apple Clang, C++11: 7.0.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
" </div>
" </li>
" <li>
" <div>
" GCC, C++14, mingw: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
" </div>
" </li>
" <li>
" <div>
" Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Android:
" <ul>
" <li>
" <div>
" Clang: 3.6, 3.7, 3.8
" </div>
" </li>
" <li>
" <div>
" GCC: 4.9, 5.4, 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.8
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" QNX:
" <ul>
" <li>
" <div>
" QCC: 4.4.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" SunOS:
" <ul>
" <li>
" <div>
" Oracle Solaris Studio: 12.5
" </div>
" </li>
" <li>
" <div>
" Oracle Solaris Studio, C++11: 12.5
" </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.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.4, 3.5, 3.6, 3.7. 3.8, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.9.1, 4.0
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.0.1
" </div>
" </li>
" <li>
" <div>
" GCC, C++1z: 6.2.0
" </div>
" </li>
" <li>
" <div>
" Intel: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++11: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++14: 16.0, 17.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Apple Clang: 7.0.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
" </div>
" </li>
" <li>
" <div>
" Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Android:
" <ul>
" <li>
" <div>
" Clang: 3.6, 3.7, 3.8
" </div>
" </li>
" <li>
" <div>
" GCC: 4.9, 5.4, 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang, C++98: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.8
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" QNX:
" <ul>
" <li>
" <div>
" QCC: 4.4.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" SunOS:
" <ul>
" <li>
" <div>
" Oracle Solaris Studio: 12.5
" </div>
" </li>
" <li>
" <div>
" Oracle Solaris Studio, C++11: 12.5
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_64_0.acknowledgements">
" <h3><span class="link">Acknowledgements</span></h3>
" <p>
" <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler,
" <a href="/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James,
" Vladimir Prus and Marshall Clow managed this release.
" </p>
" </div>
"
-hash
"f74e862ba3d755f777873526318fc1aac9e1ee075d91b4523ec74f54e028b2fb
-id
"version_1_64_0
-notice_url
-notice_xml
-pub_date
-purpose_xml
"
" Updated Libraries: Any, Atomic, Config, Container, Context, Conversion, Core,
" Coroutine2, DLL, Fiber, Hash, Interprocess, Intrusive, LexicalCast, Math, Multiprecision,
" Predef, Program Options, Regex, Smart Pointers, Test, TypeIndex, TypeTraits,
" Unordered, Variant.
"
-title_xml
"Version 1.64.0
)
(feed/history/boost_1_64_0.qbk:1.64.0 beta2
-description_xhtml
"
"
"
" <div id="version_1_64_0.new_libraries">
" <h3><span class="link">New Libraries</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/process/">Process</a>:</span>
" Process library by Klemens
" D. Morgenstern, that provides cross platorm ways to allows you to:
" </div>
" <ul>
" <li>
" <div>
" create child processes
" </div>
" </li>
" <li>
" <div>
" setup streams for child processes
" </div>
" </li>
" <li>
" <div>
" communicate with child processes through streams (synchronously or
" asynchronously)
" </div>
" </li>
" <li>
" <div>
" wait for processes to exit (synchronously or asynchronously)
" </div>
" </li>
" <li>
" <div>
" terminate processes
" </div>
" </li>
" </ul>
" <div>
" Broken feature:
" </div>
" <ul>
" <li>
" <div>
" <a href="https://github.com/klemens-morgenstern/boost-process/issues/67">GitHub
" #67: <em>"group.wait() does not return"</em></a>.
" </div>
" </li>
" </ul>
" </li>
" </ul>
" </div>
" <div id="version_1_64_0.updated_libraries">
" <h3><span class="link">Updated Libraries</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/any/">Any</a>:</span>
" <ul>
" <li>
" <div>
" Suppressed false warnings about returning reference to temporary
" </div>
" </li>
" <li>
" <div>
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span></code> is now used instead of
" directly taking the address <a href="https://svn.boost.org/trac/boost/ticket/12615">#12615</a>
" </div>
" </li>
" <li>
" <div>
" Headers are not included using double quotes any more <a href="https://svn.boost.org/trac/boost/ticket/12053">#12053</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" <li>
" <div>
" Added more test
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
" <ul>
" <li>
" <div>
" Fixed possible incorrect code generation in 64-bit atomic operations
" on 32-bit x86 with gcc versions older than 4.7 and compatible compilers.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/config/">Config</a>:</span>
" <ul>
" <li>
" <div>
" Added <code><span class="identifier">BOOST_NO_CXX11_SFINAE_EXPR</span></code>
" defect detection.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/container/">Container</a>:</span>
" <ul>
" <li>
" <div>
" Fixed bugs:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12749">Trac
" #12749: <em>"container::pmr::polymorphic_allocator
" compilation error"</em></a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/11333">Trac
" #11333: <em>"boost::basic_string_ref should interop
" with boost::container::basic_string"</em></a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/container/pull/45">GitHub
" #45: <em>"emplace_back must return reference to
" back(), not to *end()"</em></a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/context/">Context</a>:</span>
" <ul>
" <li>
" <div>
" new API: call/cc
" </div>
" </li>
" <li>
" <div>
" deprecated API:execution-context
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12719">#12719</a> segmentation fault when built with mingw-w64
" </div>
" </li>
" <li>
" <div>
" #38: context_entry() crashes on macOS
" </div>
" </li>
" <li>
" <div>
" #39: Unknown directive .cpu on aarch64 with Clang 3.8 on Android
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/conversion/">Conversion</a>:</span>
" <ul>
" <li>
" <div>
" Docs were ported to Quickbook (thanks to Mikhail Maksimov for the
" port)
" </div>
" </li>
" <li>
" <div>
" Fixed a memory leak in test (thanks to Mikhail Maksimov for the fix)
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/core/">Core</a>:</span>
" <ul>
" <li>
" <div>
" Implemented <code><span class="keyword">constexpr</span></code>
" <code><span class="identifier">addressof</span></code> on compilers
" that support C++11 <code><span class="keyword">constexpr</span></code>
" and SFINAE expressions (Glen Fernandes). <code><span class="identifier">BOOST_CORE_NO_CONSTEXPR_ADDRESSOF</span></code>
" macro indicates when <code><span class="keyword">constexpr</span></code>
" <code><span class="identifier">addressof</span></code> is not
" available.
" </div>
" </li>
" <li>
" <div>
" In <code><span class="identifier">lightweight_test</span><span class="special">.</span><span class="identifier">hpp</span></code>,
" added new macros <code><span class="identifier">BOOST_TEST_ALL_EQ</span></code>
" and <code><span class="identifier">BOOST_TEST_ALL_WITH</span></code>
" for testing container contents (Bjorn Reese).
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/coroutine2/">Coroutine2</a>:</span>
" <ul>
" <li>
" <div>
" #4: coroutine2&lt;&gt; does not accept std::bind
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
" <ul>
" <li>
" <div>
" Fixed WinCE compilation
" </div>
" </li>
" <li>
" <div>
" Added <code><span class="identifier">boost</span><span class="special">:</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">symbol_location_ptr</span></code> function for
" getting location of a symbol by pointer that could not be dereferenced
" (<code><span class="keyword">void</span></code> pointer for example)
" </div>
" </li>
" <li>
" <div>
" Fixed UB in <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">aggressive_ptr_cast</span></code>
" for member pointers
" </div>
" </li>
" <li>
" <div>
" Fixed leaks in experimental smart imports
" </div>
" </li>
" <li>
" <div>
" Fixed warnings
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>
" and <code><span class="identifier">leak</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
" <ul>
" <li>
" <div>
" #100: ASIO: unbuffered_channel / scheduler notify issue
" </div>
" </li>
" <li>
" <div>
" #106: Passing a fixed_stack allocator to async/packaged_task doesn't
" compile
" </div>
" </li>
" <li>
" <div>
" #111: endless-loop in buffered_channel::try_value_pop()
" </div>
" </li>
" <li>
" <div>
" (un)bounded_channel&lt;&gt; removed
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/functional/hash/">Hash</a>:</span>
" <ul>
" <li>
" <div>
" Stop using <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">unary_function</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">binary_function</span></code> when they're not
" available.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/interprocess/">Interprocess</a>:</span>
" <ul>
" <li>
" <div>
" Fixed bugs:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12617">Trac
" #12617 (<em>"clock_gettime not available on OS X
" 10.11"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12744">Trac
" #12744 (<em>"winapi::set_timer_resolution inadvertently
" changes timer resolution (Windows)"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/32">GitHub
" Pull #32 (<em>"Conform to std::pointer_traits requirements"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/33">GitHub
" Pull #33 (<em>"explicit cast to derived class"
" and "64/32 bit processes sharing"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/34">GitHub
" Pull #34 (<em>"Update example to use multi_index::member
" instead of BOOST_MULTI_INDEX_MEMBER"</em>)</a>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/interprocess/pull/35">GitHub
" Pull #35 (<em>"Fixed options for cross-compilation"</em>)</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" New experimental option <code><span class="identifier">BOOST_INTERPROCESS_BOOTSTAMP_IS_SESSION_MANAGER_BASED</span></code>
" from Windows systems. This option derives the unique bootstamp used
" to name the folder where shared memory is placed from registry values
" associated with the session manager. This option only works on Vista
" and later systems and might be more stable than the default version.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/intrusive/">Intrusive</a>:</span>
" <ul>
" <li>
" <div>
" Fixed bugs:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12745">Boost
" Trac #12745: <em>key_nodeptr_comp broken if the key type
" is void*</em></a>
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12761">Boost
" Trac #12761: <em>intrusive::set::swap doesn't swap the
" comparison function*</em></a>
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/lexical_cast/">LexicalCast</a>:</span>
" <ul>
" <li>
" <div>
" Fixed multiple warnings <a href="https://svn.boost.org/trac/boost/ticket/11842">#11842</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/math/">Math</a>:</span>
" <ul>
" <li>
" <div>
" Big push to ensure all functions in also in C99 are compatible with
" Annex F.
" </div>
" </li>
" <li>
" <div>
" Improved accuracy of the Bessel functions I0, I1, K0 and K1, see
" <a href="https://svn.boost.org/trac/boost/ticket/12066">12066</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/multiprecision/">Multiprecision</a>:</span>
" <ul>
" <li>
" <div>
" In <code><span class="identifier">cpp_bin_float</span></code>
" prevent double rounding when converting to a denormalized float.
" See <a href="https://svn.boost.org/trac/boost/ticket/12527">#12527</a>.
" </div>
" </li>
" <li>
" <div>
" Fix bug in integer sqrt for very small integers. See <a href="https://svn.boost.org/trac/boost/ticket/12559">#12559</a>.
" </div>
" </li>
" <li>
" <div>
" Fix conversion to signed-zero in <code><span class="identifier">cpp_bin_float</span></code>.
" </div>
" </li>
" <li>
" <div>
" Change <code><span class="identifier">cpp_bin_float</span></code>
" rounding code to round at arbitrary location so we can use it for
" conversions, see <a href="https://svn.boost.org/trac/boost/ticket/12527">#12527</a>.
" </div>
" </li>
" <li>
" <div>
" Improve performance of 128-bit bit-scan operations.
" </div>
" </li>
" <li>
" <div>
" Fix subtraction of very small quantities in <code><span class="identifier">cpp_bin_float</span></code>.
" See: <a href="https://svn.boost.org/trac/boost/ticket/12580">#12580</a>.
" </div>
" </li>
" <li>
" <div>
" Bring error handling into line with C99 Annex F. See <a href="https://svn.boost.org/trac/boost/ticket/12581">#12581</a>.
" </div>
" </li>
" <li>
" <div>
" Fix bitwise export of trivial <code><span class="identifier">cpp_int</span></code>'s,
" see <a href="https://svn.boost.org/trac/boost/ticket/12627">#12627</a>.
" </div>
" </li>
" <li>
" <div>
" Fix <code><span class="identifier">ilogb</span></code> (and code
" that uses it) to consistently return the smallest value of the exponent
" type when the argument is zero, see <a href="https://svn.boost.org/trac/boost/ticket/12625">#12625</a>.
" </div>
" </li>
" <li>
" <div>
" Allow conversion from <code><span class="identifier">__float128</span></code>
" to <code><span class="identifier">cpp_bin_float</span></code>.
" </div>
" </li>
" <li>
" <div>
" Fix bug in left shift of <code><span class="identifier">cpp_int</span></code>
" which would result in bit-loss, see <a href="https://svn.boost.org/trac/boost/ticket/12790">#12790</a>.
" </div>
" </li>
" <li>
" <div>
" Fixed bugs in bounded but variable precision <code><span class="identifier">cpp_int</span></code>'s
" caused by over-aggressive constexpr optimization, see <a href="https://svn.boost.org/trac/boost/ticket/12798">#12798</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
" <ul>
" <li>
" <div>
" Fix Intel C/C++ compiler version specification.
" </div>
" </li>
" <li>
" <div>
" Add <code><span class="identifier">BOOST_VERSION_NUMBER_MAJOR</span></code>,
" <code><span class="identifier">BOOST_VERSION_NUMBER_MINOR</span></code>,
" <code><span class="identifier">BOOST_VERSION_NUMBER_PATCH</span></code>
" macros to extract components from valid version numbers.
" </div>
" </li>
" <li>
" <div>
" Change VS version numbering. Versions after VS2015 will use the compiler
" version instead of the varied product versions.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/program_options/">Program Options</a>:</span>
" <ul>
" <li>
" <div>
" Support for storing values into <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>,
" thanks to Ed Catmur (<a href="https://svn.boost.org/trac/boost/ticket/7495">#7495</a>,
" <a href="https://github.com/boostorg/program_options/pull/18">PR#18</a>)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/regex/">Regex</a>:</span>
" <ul>
" <li>
" <div>
" Compiling with Oracle C++ toolset is no longer restricted to static
" linking.
" </div>
" </li>
" <li>
" <div>
" Big effort to de-fuzz the library using libFuzzer and fix identified
" issues, see: <a href="https://svn.boost.org/trac/boost/ticket/12818">#12818</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/smart_ptr/">Smart Pointers</a>:</span>
" <ul>
" <li>
" <div>
" Rewrite of <code><span class="identifier">allocate_shared</span></code>
" and <code><span class="identifier">make_shared</span></code> for
" arrays for a more optimal and more maintainable implementation (Glen
" Fernandes)
" </div>
" </li>
" <li>
" <div>
" Pointer cast functions with move semantics (Chris Glover)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/test/">Test</a>:</span>
" <ul>
" <li>
" <div>
" Boost.test v3.5 see the <a href="/doc/libs/1_64_0/libs/test/doc/html/boost_test/change_log.html">Change
" log</a> section for more details.
" </div>
" </li>
" <li>
" <div>
" New feature:
" <ul>
" <li>
" <div>
" Now Boost.Test provides <strong>customization
" points</strong> for logging user defined types
" </div>
" </li>
" <li>
" <div>
" JUnit output format can now have a <em>log-level</em>
" </div>
" </li>
" <li>
" <div>
" JUnit output format has not better performances when the test
" modules have a lot of checks
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bug fixes
" <ul>
" <li>
" <div>
" Trac tickets <a href="https://svn.boost.org/trac/boost/ticket/11756">#11756</a>, <a href="https://svn.boost.org/trac/boost/ticket/12540">#12540</a>, <a href="https://svn.boost.org/trac/boost/ticket/12712">#12712</a>, <a href="https://svn.boost.org/trac/boost/ticket/12748">#12748</a>,
" <a href="https://svn.boost.org/trac/boost/ticket/12778">#12778</a>
" </div>
" </li>
" <li>
" <div>
" Pull request <a href="https://github.com/boostorg/test/pull/107">PR107</a>,
" <a href="https://github.com/boostorg/test/pull/108">PR108</a>
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/type_index/">TypeIndex</a>:</span>
" <ul>
" <li>
" <div>
" Added <code><span class="identifier">BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST</span></code>,
" which implements the functionality for <code><span class="identifier">runtime_cast</span></code>
" but does not include the <code><span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span></code>
" macro (thanks to Chris Glover for imlpementing it)
" </div>
" </li>
" <li>
" <div>
" Fixed undefined macro warning in stl_type_index.hpp <a href="https://svn.boost.org/trac/boost/ticket/12739">#12739</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/type_traits/">TypeTraits</a>:</span>
" <ul>
" <li>
" <div>
" Added new traits <code><span class="identifier">make_void</span></code>
" and <code><span class="identifier">void_t</span></code>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
" <ul>
" <li>
" <div>
" Initial support for new C++17 member functions: <code><span class="identifier">insert_or_assign</span></code>
" and <code><span class="identifier">try_emplace</span></code> in
" <code><span class="identifier">unordered_map</span></code>, <code><span class="identifier">merge</span></code> and <code><span class="identifier">extract</span></code>
" in all containers.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
" <ul>
" <li>
" <div>
" Fixed construction of variant from <code><span class="identifier">recursive_variant_</span></code>
" (thanks to Mikhail Maksimov for the fix) <a href="https://svn.boost.org/trac/boost/ticket/12508">#12508</a>, <a href="https://svn.boost.org/trac/boost/ticket/12645">#12645</a>
" </div>
" </li>
" <li>
" <div>
" Do not enable variadic templates for MSVC2015Update1 as it still
" has issues <a href="https://svn.boost.org/trac/boost/ticket/12236">#12236</a>
" </div>
" </li>
" <li>
" <div>
" Workaround GCC6 crash (thanks to Mikhail Maksimov for the workaround)
" <a href="https://svn.boost.org/trac/boost/ticket/12680">#12680</a>, <a href="https://svn.boost.org/trac/boost/ticket/7120">#7120</a>
" </div>
" </li>
" <li>
" <div>
" Made <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">polymorphic_</span><span class="special">*</span><span class="identifier">get</span></code> to work as <code><span class="identifier">boost</span><span class="special">::*</span><span class="identifier">get</span></code>
" in undocumented border cases and fixed tests <a href="https://svn.boost.org/trac/boost/ticket/11950">#11950</a>
" </div>
" </li>
" <li>
" <div>
" CI tests now run with <code><span class="identifier">address</span></code>,
" <code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_64_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.0, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.5, 3.6, 3.7.1, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.9.1
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.1, 6.2.0, 6.3.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++1z: 6.2.0
" </div>
" </li>
" <li>
" <div>
" Intel: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++11: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++14: 16.0, 17.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Apple Clang: 7.0.2
" </div>
" </li>
" <li>
" <div>
" Apple Clang, C++11: 7.0.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
" </div>
" </li>
" <li>
" <div>
" GCC, C++14, mingw: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
" </div>
" </li>
" <li>
" <div>
" Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Android:
" <ul>
" <li>
" <div>
" Clang: 3.6, 3.7, 3.8
" </div>
" </li>
" <li>
" <div>
" GCC: 4.9, 5.4, 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.8
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" QNX:
" <ul>
" <li>
" <div>
" QCC: 4.4.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" SunOS:
" <ul>
" <li>
" <div>
" Oracle Solaris Studio: 12.5
" </div>
" </li>
" <li>
" <div>
" Oracle Solaris Studio, C++11: 12.5
" </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.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.4, 3.5, 3.6, 3.7. 3.8, 3.8.1, 3.9.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.9.1, 4.0
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.0.1
" </div>
" </li>
" <li>
" <div>
" GCC, C++1z: 6.2.0
" </div>
" </li>
" <li>
" <div>
" Intel: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++11: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++14: 16.0, 17.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Apple Clang: 7.0.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
" </div>
" </li>
" <li>
" <div>
" Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Android:
" <ul>
" <li>
" <div>
" Clang: 3.6, 3.7, 3.8
" </div>
" </li>
" <li>
" <div>
" GCC: 4.9, 5.4, 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang, C++98: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.8
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.8
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" QNX:
" <ul>
" <li>
" <div>
" QCC: 4.4.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" SunOS:
" <ul>
" <li>
" <div>
" Oracle Solaris Studio: 12.5
" </div>
" </li>
" <li>
" <div>
" Oracle Solaris Studio, C++11: 12.5
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_64_0.acknowledgements">
" <h3><span class="link">Acknowledgements</span></h3>
" <p>
" <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler,
" <a href="/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James,
" Vladimir Prus and Marshall Clow managed this release.
" </p>
" </div>
"
-hash
"49428e286e2e3f6510264f1919576e142868276e74bebe9bc8aad8af3fd40e99
-id
"version_1_64_0
-notice_url
-notice_xml
-pub_date
-purpose_xml
"
" New Libraries: Process. Updated Libraries: Any, Atomic, Config, Container,
" Context, Conversion, Core, Coroutine2, DLL, Fiber, Hash, Interprocess, Intrusive,
" LexicalCast, Math, Multiprecision, Predef, Program Options, Regex, Smart Pointers,
" Test, TypeIndex, TypeTraits, Unordered, Variant.
"
-title_xml
"Version 1.64.0
)