2
0
mirror of https://github.com/boostorg/website.git synced 2026-02-19 15:02:08 +00:00
Files
website/generated/state/beta_release_notes.txt
Automated Commit 6842468a71 1.66.0 beta1
2017-11-21 14:36:10 +00:00

4077 lines
132 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
)
(feed/history/boost_1_65_0.qbk:1.65.0 beta1
-description_xhtml
"
"
"
" <div id="version_1_65_0.new_libraries">
" <h3><span class="link">New Libraries</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
" Fast
" containers of polymorphic objects, from Joaquín M López Muñoz.
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
" Gather, store,
" copy and print backtraces, from Antony Polukhin.
" <ul>
" <li>
" <div>
" Note: Library has <a href="https://github.com/boostorg/stacktrace/issues/14">issue
" with MinGW</a> and may produce empty backtraces with that compiler.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_65_0.updated_libraries">
" <h3><span class="link">Updated Libraries</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/context/">Context</a>:</span>
" <ul>
" <li>
" <div>
" call/cc supports ucontext-API (swapcontext)
" </div>
" </li>
" <li>
" <div>
" call/cc supports Windows-Fiber-API
" </div>
" </li>
" <li>
" <div>
" call/cc supports on demand growing (segmented/split) stacks
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12719">#12719</a>: context test cases and examples segmentation fault when
" built with mingw-w64 toolchain
" </div>
" </li>
" <li>
" <div>
" #52: Failing to build callcc test with g++-4.9
" </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_POINTER_TRAITS</span></code>,
" <code><span class="identifier">BOOST_NO_CXX17_FOLD_EXPRESSIONS</span></code>,
" <code><span class="identifier">BOOST_NO_CXX17_INLINE_VARIABLES</span></code>,
" <code><span class="identifier">BOOST_NO_CXX17_STRUCTURED_BINDINGS</span></code>
" defect detection.
" </div>
" </li>
" <li>
" <div>
" BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/core/">Core</a>:</span>
" <ul>
" <li>
" <div>
" Implemented <code><span class="identifier">pointer_traits</span></code>
" for C++03 and higher, that implements <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r0.html">P0653r0</a>
" (Glen Fernandes). This implementation is now used by Align, Circular
" Buffer, Fiber, Geometry, among other libraries.
" </div>
" </li>
" <li>
" <div>
" Added <code><span class="identifier">BOOST_TEST_GT</span></code>
" and <code><span class="identifier">BOOST_TEST_GE</span></code>
" to Lightweight Test.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/coroutine2/">Coroutine2</a>:</span>
" <ul>
" <li>
" <div>
" supports ucontext-API (swapcontext)
" </div>
" </li>
" <li>
" <div>
" supports Windows-Fiber-API
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/13064">#13064</a>: different behavior coroutine and coroutine2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
" <ul>
" <li>
" <div>
" Fix PE parsing on non Windows platforms.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
" <ul>
" <li>
" <div>
" hardware transactional memory (Intel TSX) supported
" </div>
" </li>
" <li>
" <div>
" NUMA supported
" </div>
" </li>
" <li>
" <div>
" ucontext-API (swapcontext) supported
" </div>
" </li>
" <li>
" <div>
" Windows-Fiber-API supported
" </div>
" </li>
" <li>
" <div>
" on demand growing stacks
" </div>
" </li>
" <li>
" <div>
" #121: failing to build static lib with GCC 4.8 and C++11
" </div>
" </li>
" <li>
" <div>
" #123: assertion failure in schedule_from_remote
" </div>
" </li>
" <li>
" <div>
" #125: erratic crashes in testsuite
" </div>
" </li>
" <li>
" <div>
" #126: incorrect std::memory_order value in compare_exchange_strong?
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/functional/hash/">Hash</a>:</span>
" <ul>
" <li>
" <div>
" Support for <code><span class="keyword">char16_t</span></code>,
" <code><span class="keyword">char32_t</span></code>, <code><span class="identifier">u16string</span></code>, <code><span class="identifier">u32string</span></code>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/log/">Log</a>:</span>
" <ul>
" <li>
" <div>
" General changes:
" <ul>
" <li>
" <div>
" Improved compatibility with Solaris.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" See <a href="/libs/log/doc/html/log/changelog.html">changelog</a>
" for more details.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
" <ul>
" <li>
" <div>
" Fix Intel C/C++ version 9999 detection to be 12.1.0.
" </div>
" </li>
" <li>
" <div>
" Addition of <code><span class="identifier">BOOST_PREDEF_WORKAROUND</span></code>
" and <code><span class="identifier">BOOST_PREDEF_TESTED_AT</span></code>
" macros for defect workarounds and detection.
" </div>
" </li>
" <li>
" <div>
" Add ARM64 MSVC SIMD detection. (from Minmin Gong)
" </div>
" </li>
" <li>
" <div>
" Add detection of iOS simulator vs device as a platform choice. (from
" Ruslan Baratov)
" </div>
" </li>
" <li>
" <div>
" Fix MinGW incorrect header guard. (from Ruslan Baratov)
" </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>
" <li>
" <div>
" Parsing of implicit options can now use the value from the next token.
" Since 1.59, unless the value of implicit option was specified in
" the same token as the option itself, the implicit value was used.
" That proved inconvenient, and now we again check the next token and
" use it as value if it's not an option itself. (<a href="https://github.com/boostorg/program_options/issues/25">#25</a>)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/smart_ptr/">Smart Pointers</a>:</span>
" <ul>
" <li>
" <div>
" New class template<code><span class="identifier">atomic_shared_ptr</span></code>,
" that provides thread-safe atomic pointer operations over <code><span class="identifier">shared_ptr</span></code>. (Peter Dimov)
" </div>
" </li>
" <li>
" <div>
" New class template <code><span class="identifier">local_shared_ptr</span></code>,
" where the reference count is updated with non-atomic operations.
" (Peter Dimov)
" </div>
" </li>
" <li>
" <div>
" More optimizations in <code><span class="identifier">allocate_shared</span></code>
" and <code><span class="identifier">make_shared</span></code> for
" arrays. (Glen Fernandes)
" </div>
" </li>
" <li>
" <div>
" Documentation has been completely rewritten in Asciidoc format.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/type_index/">TypeIndex</a>:</span>
" <ul>
" <li>
" <div>
" Include &lt;boost/functional/hash.hpp&gt; if required, thanks to
" Ed Catmur <a href="https://svn.boost.org/trac/boost/ticket/13009">#13009</a>.
" </div>
" </li>
" <li>
" <div>
" Use native <code><span class="identifier">hash_code</span><span class="special">()</span></code> when possible on GCC-like compilers
" <a href="https://svn.boost.org/trac/boost/ticket/13027">#13027</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
" <ul>
" <li>
" <div>
" Use the same data structure for <code><span class="identifier">unordered_set</span></code>
" and <code><span class="identifier">unordered_multiset</span></code>,
" and for<code><span class="identifier">unordered_map</span></code>
" and <code><span class="identifier">unordered_multimap</span></code>.
" This is required for C++17, so that nodes can be merged and extracted
" between compatible containers.
" </div>
" </li>
" <li>
" <div>
" Add deprecated attributes to long deprecated functions.
" </div>
" </li>
" <li>
" <div>
" Improved use of <code><span class="identifier">allocator_traits</span></code>
" <code><span class="identifier">construct</span></code> and <code><span class="identifier">destroy</span></code> on C++11 compilers, using
" piecewise pair construction when appropriate.
" </div>
" </li>
" <li>
" <div>
" Fewer workarounds on newer Oracle compilers.
" </div>
" </li>
" <li>
" <div>
" Avoid dereferencing pointers to uninitialized memory (<a href="https://github.com/boostorg/unordered/pull/5">PR
" #5</a>).
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
" <ul>
" <li>
" <div>
" r-value overload for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get</span></code>
" was added by Albert Sverdlov <a href="https://svn.boost.org/trac/boost/ticket/13018">#13018</a>.
" </div>
" </li>
" <li>
" <div>
" Missing include fro <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">variant</span><span class="special">/</span><span class="identifier">polymorphic_get</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
" header was added by Adam Badura <a href="https://svn.boost.org/trac/boost/ticket/13037">#13037</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_65_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
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 4.0.0
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++17: 7.1.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++1z: 6.3.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
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Clang: 8.1.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 8.1.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 8.1.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.6.4, 4.7.3, 4.8.1
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 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, 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
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang: 3.8.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.8.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.8.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.8.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" QNX:
" <ul>
" <li>
" <div>
" QCC, C++11: 4.7.3
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" SunOS:
" <ul>
" <li>
" <div>
" Oracle Solaris Studio: 12.5_next, 12.5
" </div>
" </li>
" <li>
" <div>
" Oracle Solaris Studio, C++11: 12.5_next, 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
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 4.0.0
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++17: 7.1.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++1z: 6.3.0
" </div>
" </li>
" <li>
" <div>
" Intel: 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++11: 16.0, 17.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++14: 16.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Clang: 8.1.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 8.1.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 8.1.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 8.1.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.6.4, 4.7.3, 4.8.1
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 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, 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
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang: 3.8.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.8.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.8.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 3.8.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" SunOS:
" <ul>
" <li>
" <div>
" Oracle Solaris Studio: 12.5_next, 12.5
" </div>
" </li>
" <li>
" <div>
" Oracle Solaris Studio, C++11: 12.5_next, 12.5
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_65_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
"fdee2d49102d052157a230156b445cf88b8533eb28688b4787ec02f3a3ca1f05
-id
"version_1_65_0
-notice_url
-notice_xml
-pub_date
-purpose_xml
"
" New Libraries: PolyCollection, Stacktrace. Updated Libraries: Context, Config,
" Core, Coroutine2, DLL, Fiber, Hash, Log, Predef, Program Options, Smart Pointers,
" TypeIndex, Unordered, Variant.
"
-title_xml
"Version 1.65.0
)
(feed/history/boost_1_66_0.qbk:1.66.0 beta1
-description_xhtml
"
"
"
" <div id="version_1_66_0.new_libraries">
" <h3><span class="link">New Libraries</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
" Portable HTTP, WebSocket,
" and network operations using only C++11 and Boost.Asio, from Vinnie Falco.
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/callable_traits/">CallableTraits</a>:</span>
" A spiritual
" successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only
" C++11 library for the compile-time inspection and manipulation of all 'callable'
" types. Additional support for C++17 features, from Barrett Adair.
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/mp11/">Mp11</a>:</span>
" A C++11 metaprogramming library,
" from Peter Dimov.
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_66_0.updated_libraries">
" <h3><span class="link">Updated Libraries</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/asio/">Asio</a>:</span>
" <ul>
" <li>
" <div>
" Implemented interface changes to reflect the Networking TS (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4656.pdf">N4656</a>).
" <ul>
" <li>
" <div>
" List of changes TBD.
" </div>
" </li>
" <li>
" <div>
" Functions and classes that have been superseded by Networking
" TS functionality have been deprecated.
" </div>
" </li>
" <li>
" <div>
" The service template parameters, and the corresponding classes,
" are disabled by default. For example, instead of <code><span class="identifier">basic_socket</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">,</span>
" <span class="identifier">SocketService</span><span class="special">&gt;</span></code>
" we now have simply <code><span class="identifier">basic_socket</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;</span></code>. The old interface can
" be enabled by defining the <code><span class="identifier">BOOST_ASIO_ENABLE_OLD_SERVICES</span></code>
" macro.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Removed previously deprecated functions.
" </div>
" </li>
" <li>
" <div>
" Added support for customised handler tracking.
" </div>
" </li>
" <li>
" <div>
" Added reactor-related (i.e. descriptor readiness) events to handler
" tracking.
" </div>
" </li>
" <li>
" <div>
" Added special "concurrency hint" values that may be used
" to disable locking on a per <code><span class="identifier">io_context</span></code>
" basis.
" </div>
" </li>
" <li>
" <div>
" Enabled perfect forwarding for the first <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;&gt;</span></code> constructor argument.
" </div>
" </li>
" <li>
" <div>
" Added ability to release ownership of the underlying native socket.
" (Requires Windows 8.1 or later when using the I/O completion port
" backend.)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
" <ul>
" <li>
" <div>
" Implemented a set of experimental extended atomic operations for
" integral types:
" <ul>
" <li>
" <div>
" <code><span class="identifier">fetch_negate</span></code>,
" <code><span class="identifier">fetch_complement</span></code>
" - atomically replaces the value with a negated or binary complemented
" value and returns the original value
" </div>
" </li>
" <li>
" <div>
" <code><span class="identifier">opaque_</span><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span></code>
" - equivalent to <code><span class="identifier">fetch_</span><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span></code> except that it doesn't
" return the original value
" </div>
" </li>
" <li>
" <div>
" <code><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span><span class="identifier">_and_test</span></code>
" - atomically applies <code><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span></code>
" and returns <code><span class="keyword">true</span></code>
" if the result is zero
" </div>
" </li>
" <li>
" <div>
" <code><span class="identifier">bit_test_and_set</span></code>,
" <code><span class="identifier">bit_test_and_reset</span></code>,
" <code><span class="identifier">bit_test_and_complement</span></code>
" - atomically sets, resets or complements the specified bit
" and returns the original value of the bit
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Following C++17 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0558r1.pdf">P0558R1</a>),
" arithmetic operations for pointers to non-object types are no longer
" provided.
" </div>
" </li>
" <li>
" <div>
" Also following C++17 exposed <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code>
" and <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">difference_type</span></code> member typedefs,
" where applicable, to the user's code.
" </div>
" </li>
" <li>
" <div>
" Improved compatibility with gcc 7. In particular, using 128-bit operations
" on x86-64 should no longer require linking with libatomic (the compiler-supplied
" library).
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/date_time/">DateTime</a>:</span>
" <ul>
" <li>
" <div>
" The library has been converted to use Boost.WinAPI as the abstraction
" layer for Windows SDK.
" </div>
" </li>
" <li>
" <div>
" Fixed an integral overflow that could cause incorrect results when
" adding or subtracting many years from a date (see <a href="https://stackoverflow.com/questions/45537280/boost-datetime-issue-with-adding-long-year-durations">here</a>).
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
" <ul>
" <li>
" <div>
" synchronization with CUDA streams
" </div>
" </li>
" <li>
" <div>
" synchronization with ROCm/HIP streams
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/format/">Format</a>:</span>
" <ul>
" <li>
" <div>
" Improvements:
" <ul>
" <li>
" <div>
" Accept new conversion specifiers:
" <ul>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/pull/41"><code><span class="identifier">a</span></code></a>: sets flags
" <code><span class="identifier">fixed</span> <span class="special">|</span> <span class="identifier">scientific</span></code>
" (i.e. <code><span class="identifier">hexfloat</span></code>)
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/pull/43"><code><span class="identifier">b</span></code></a>: sets flag
" <code><span class="identifier">boolalpha</span></code>
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/pull/41"><code><span class="identifier">A</span></code></a>: same as
" <code><span class="identifier">a</span></code> plus
" flag <code><span class="identifier">uppercase</span></code>
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/pull/41"><code><span class="identifier">F</span></code></a>: same as
" <code><span class="identifier">f</span></code> plus
" flag <code><span class="identifier">uppercase</span></code>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/pull/42">42</a>
" Accept new argument types <code><span class="identifier">j</span></code>
" and <code><span class="identifier">z</span></code> from
" ISO C99 (parsed and ignored like all others).
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/pull/44">44</a>
" Accept new argument types <code><span class="identifier">I</span></code>,
" <code><span class="identifier">I32</span></code>, <code><span class="identifier">I64</span></code>, and <code><span class="identifier">w</span></code>
" from Microsoft (parsed and ignored like all others).
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/issues/33">33</a>
" Added a development tool called <code><span class="identifier">format_matrix</span></code>
" that exercises as many different combinations of format strings
" as possible and logs them to a file:
" <ul>
" <li>
" <div>
" helps prevent regressions in between boost releases
" </div>
" </li>
" <li>
" <div>
" allows for comparison against <code><span class="identifier">snprintf</span></code>
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bugfixes:
" <ul>
" <li>
" <div>
" <a href="https://github.com/boostorg/format/issues/36">36</a>
" Safely allow volatile arguments to be used with operator%
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac10/ticket/4636">4636</a>
" Explicit clamping provided to allow MSVC /RTCc to succeed
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac10/ticket/7477">7477</a>
" Fix compatibility with MSVC /Za
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac10/ticket/10324">10324</a>
" Const-correct cast issue resolved
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac10/ticket/11632">11632</a>
" Fix <code><span class="special">-</span><span class="identifier">fsanitize</span><span class="special">=</span><span class="identifier">undefined</span></code>
" issue in <code><span class="identifier">alt_sstream</span><span class="special">.</span><span class="identifier">hpp</span></code>
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/fusion/">Fusion</a>:</span>
" <ul>
" <li>
" <div>
" <a href="https://github.com/boostorg/fusion/pull/149">PR#149</a>
" <code><span class="identifier">isspace</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
" is not a macro in Dinkum clib for VxWorks, thanks to Brian Kuhl(@kuhlenough).
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/fusion/pull/150">PR#150</a>
" Remove circular preprocessor include, thanks to Gregor Jasny(@gjasny).
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/fusion/pull/151">PR#151</a>
" Change base of <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span></code>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/fusion/pull/153">PR#153</a>
" Fixed compile error with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/fusion/pull/154">PR#154</a>
" Fixed bugs nesting and copying on c++03.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/iterator/">Iterator</a>:</span>
" <ul>
" <li>
" <div>
" <code><span class="identifier">next</span><span class="special">()</span></code>/<code><span class="identifier">prior</span><span class="special">()</span></code>
" functions now support user's iterators that don't specify nested
" types such as <code><span class="identifier">iterator_category</span></code>,
" <code><span class="identifier">difference_type</span></code>,
" etc. and instead specialize <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code>
" to define those types. The compiler must support C++17-compatible
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code> for this to work.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/log/">Log</a>:</span>
" <ul>
" <li>
" <div>
" Bug fixes:
" <ul>
" <li>
" <div>
" Fixed a bug in <code><span class="identifier">file_collector</span><span class="special">::</span><span class="identifier">scan_for_files</span></code>
" that could cause incorrectly named log files in the target
" directory after the user's application restart.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" See <a href="/libs/log/doc/html/log/changelog.html">changelog</a>
" for more details.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/multi_index/index.html">Multi-index Containers</a>:</span>
" <ul>
" <li>
" <div>
" Made <code><span class="identifier">modify</span></code> and
" <code><span class="identifier">modify_key</span></code> more robust
" so that the modified element is erased if the modifier throws or
" the rollback functor does not properly restore the element (full
" discussion at ticket <a href="https://svn.boost.org/trac/boost/ticket/12542">#12542</a>). This is technically backwards
" incompatible; for instance, the following code:
" </div>
"<pre><span class="identifier">c</span><span class="special">.</span><span class="identifier">modify</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),[](</span><span class="keyword">auto</span><span class="special">&amp;){</span><span class="keyword">throw</span> <span class="number">0</span><span class="special">;});</span>
"</pre>
" <div>
" keeps the container <code><span class="identifier">c</span></code>
" untouched in former versions of Boost whereas now <code><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code> is erased. Thanks to Jon Kalb for
" raising the issue.
" </div>
" </li>
" <li>
" <div>
" Maintenance fixes.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/optional/index.html">Optional</a>:</span>
" <ul>
" <li>
" <div>
" On newer compilers <code><span class="identifier">optional</span></code>
" is now trivially-copyable for scalar <code><span class="identifier">T</span></code>s.
" This uses a different storage (just <code><span class="identifier">T</span></code>
" rather than <code><span class="identifier">aligned_storage</span></code>).
" We require the compiler to support defaulted functions.
" </div>
" </li>
" <li>
" <div>
" Changed the implementation of <code><span class="keyword">operator</span><span class="special">==</span></code> to get rid of the <code><span class="special">-</span><span class="identifier">Wmaybe</span><span class="special">-</span><span class="identifier">uninitialized</span></code>
" false-positive warning from GCC.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
" <ul>
" <li>
" <div>
" Boost.PolyCollection has been backported to GCC 4.8 to 4.9 and Clang
" 3.3 to 3.6. The version of libstdc++-v3 shipped with GCC 4.8 (which
" can also be used by Clang) has deficiencies that result in the following
" limitations when using Boost.PolyCollection:
" <ul>
" <li>
" <div>
" Stateful allocators are not properly supported.
" </div>
" </li>
" <li>
" <div>
" Allocator-extended move construction decays to allocator-extended
" copy construction.
" </div>
" </li>
" <li>
" <div>
" Copy construction crashes if an exception is thrown during
" element copying.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Maintenance fixes.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
" <ul>
" <li>
" <div>
" Improved Windows Universal Platform detection. (from James E. King,
" III)
" </div>
" </li>
" <li>
" <div>
" Add detection for CloudABI with cloudlibc. (from James E. King, III)
" </div>
" </li>
" <li>
" <div>
" Various other bug fixes.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
" <ul>
" <li>
" <div>
" Now works out-of-the-box on MinGW-w64.
" </div>
" </li>
" <li>
" <div>
" Now works on MinGW (without <code><span class="special">-</span><span class="identifier">w64</span></code>) if <code><span class="identifier">libbacktrace</span></code>
" is properly installed. See "MinGW specific notes" section
" in documentation for more info.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/utility/">Utility</a>:</span>
" <ul>
" <li>
" <div>
" <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">next_prior</span><span class="special">.</span><span class="identifier">hpp</span></code> has been moved to Boost.Iterator.
" No changes needed to the user's code.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/uuid/">Uuid</a>:</span>
" <ul>
" <li>
" <div>
" Improvements:
" <ul>
" <li>
" <div>
" <a href="https://github.com/boostorg/uuid/issues/26">26</a>
" Refactored <code><span class="identifier">name_generator</span></code>
" to support a configurable hash provider concept and provide
" an optional MD5 hash implementation per RFC-4122. This will
" make it easier to support whatever becomes the next standard
" hash algorithm.
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/uuid/issues/34">34</a>
" Added RFC-4122 namespaces in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uuids</span><span class="special">::</span><span class="identifier">ns</span></code>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bugfixes:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac10/ticket/8630">8630</a>
" <a href="https://svn.boost.org/trac10/ticket/11482">11482</a>
" <a href="https://svn.boost.org/trac10/ticket/12253">12253</a>
" Various deficiencies in <code><span class="identifier">string_generator</span></code>
" were resolved.
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac10/ticket/10665">10665</a>
" <code><span class="identifier">name_generator</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> is now const, matching docs.
" </div>
" </li>
" <li>
" <div>
" Detail headers were moved into the detail subdirectory. No
" changes needed to user's code, however you may get build warnings
" if you use the old header location.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
" <ul>
" <li>
" <div>
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">apply_visitor</span></code> now does perfect
" forwarding of visitables <a href="https://svn.boost.org/trac/boost/ticket/6971">#6971</a>. Great thanks to Levon Tarakchyan
" for implementing this feature.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_66_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, 4.0.1, 5.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++0x: 3.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++17: 5.0.1
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++0x: 4.4.7
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.4.0, 7.1.0, 7.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.2.1
" </div>
" </li>
" <li>
" <div>
" GCC, C++17: 7.2.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++14: 1800
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Clang: 9.0.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
" </div>
" </li>
" <li>
" <div>
" GCC, C++0x: 4.6.4
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.7.3
" </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
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang: 4.0.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 4.0.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 4.0.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 4.0.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" QNX:
" <ul>
" <li>
" <div>
" QCC, C++0x: 4.4.2
" </div>
" </li>
" <li>
" <div>
" QCC, C++11: 4.7.3
" </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, 4.0.1, 5.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++0x: 3.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.1
" </div>
" </li>
" <li>
" <div>
" Clang, C++17: 5.0.1
" </div>
" </li>
" <li>
" <div>
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++0x: 4.4.7
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.2.1, 8.0.0
" </div>
" </li>
" <li>
" <div>
" GCC, C++17: 7.2.0
" </div>
" </li>
" <li>
" <div>
" Intel, C++14: 1800
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" OS X:
" <ul>
" <li>
" <div>
" Clang: 6.0.0, 9.0.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Windows:
" <ul>
" <li>
" <div>
" GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
" </div>
" </li>
" <li>
" <div>
" GCC, C++0x: 4.6.4
" </div>
" </li>
" <li>
" <div>
" GCC, C++11: 4.7.3, 4.8.1, 4.9.3
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 7.1.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
" </div>
" </li>
" <li>
" <div>
" GCC, C++14: 6.2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" FreeBSD:
" <ul>
" <li>
" <div>
" Clang: 4.0.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++11: 4.0.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++14: 4.0.0
" </div>
" </li>
" <li>
" <div>
" Clang, C++1z: 4.0.0
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" QNX:
" <ul>
" <li>
" <div>
" QCC, C++0x: 4.4.2
" </div>
" </li>
" <li>
" <div>
" QCC, C++11: 4.7.3
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_66_0.acknowledgements">
" <h3><span class="link">Acknowledgements</span></h3>
" <p>
" <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Daniel James,
" Vladimir Prus and Marshall Clow managed this release.
" </p>
" </div>
"
-hash
"794882fe0a7952e1739662d7170093911ad15948f5b66461d58a331fc86bc517
-id
"version_1_66_0
-notice_url
-notice_xml
-pub_date
-purpose_xml
"
" New Libraries: Besat, CallableTraits, Mp11. Updated Libraries: Asio, Atomic,
" DateTime, Fiber, Format, Fusion, Iterator, Log, Multi-index Containers, Optional,
" PolyCollection, Predef, Stacktrace, Utility, Uuid, Variant.
"
-title_xml
"Version 1.66.0
)