mirror of
https://github.com/boostorg/website.git
synced 2026-02-02 21:32:11 +00:00
14898 lines
574 KiB
Plaintext
14898 lines
574 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<> 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<> 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<> 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<> 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 <boost/functional/hash.hpp> 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"><</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">></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.note_about_the_new_visual_studio">
|
|
" <h3><span class="link">Note about
|
|
" the new Visual Studio release</span></h3>
|
|
" <p>
|
|
" Visual Studio 15.5 was released too late for us to test this release with it.
|
|
" </p>
|
|
" </div>
|
|
" <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>
|
|
" See the <a href="/doc/libs/1_66_0/doc/html/boost_asio/net_ts.html">list</a>
|
|
" of new interfaces and, where applicable, the corresponding
|
|
" old interfaces that have been superseded.
|
|
" </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"><</span><span class="identifier">Protocol</span><span class="special">,</span>
|
|
" <span class="identifier">SocketService</span><span class="special">></span></code>
|
|
" we now have simply <code><span class="identifier">basic_socket</span><span class="special"><</span><span class="identifier">Protocol</span><span class="special">></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"><></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"><</span><span class="identifier">op</span><span class="special">></span></code>
|
|
" - equivalent to <code><span class="identifier">fetch_</span><span class="special"><</span><span class="identifier">op</span><span class="special">></span></code> except that it doesn't
|
|
" return the original value
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="special"><</span><span class="identifier">op</span><span class="special">></span><span class="identifier">_and_test</span></code>
|
|
" - atomically applies <code><span class="special"><</span><span class="identifier">op</span><span class="special">></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"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
|
|
" and <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</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/geometry/">Geometry</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improvements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Add distance for geographic PointLike/AnyGeometry.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bugfixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixes in results of union/intersection/difference which could
|
|
" be incorrect in very complex cases
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixes in validity of union/intersection/difference/buffer
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixes in set and relational operations for non-cartesian coordinate
|
|
" systems.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </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/math/">Math</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" New Features:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Add Gauss and Gauss-Kronrod quadrature routines.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add double-exponential (tanh-sinh, exp-sinh and sinh-sinh)
|
|
" quadrature routines.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add Chebyshev polynomial evaluation, roots, integration, differentiation,
|
|
" and interpolation routines.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </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">&){</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/regex/">Regex</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Numerous small fixes for security issues discovered by de-fuzzing.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </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/thread/">Thread</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Bugs Fixes
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/12323">#12323</a>
|
|
" windows - boost/thread/win32/mfc_thread_init.hpp has wrong
|
|
" signature for _pRawDllMainOrig
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/12730">#12730</a>
|
|
" windows - static threads library is incompatible with MSVC
|
|
" 2017 RC
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/12976">#12976</a>
|
|
" Boost Thread Executors documentation mistakes
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/12949">#12949</a>
|
|
" using sleep_for in a thread context without including boost/thread/thread.hpp
|
|
" yields incorrect behaviour when BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC
|
|
" is defined
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/13019">#13019</a>
|
|
" ABI compatibility for BOOST_THREAD_PROVIDES_INTERRUPTIONS incomplete
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/13069">#13069</a>
|
|
" Boost unit test "sync_pq_multi_thread_p_lib.exe"
|
|
" hung in thread library
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/13163">#13163</a>
|
|
" boost::detail::heap_new does not have a variadic variant
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="http://svn.boost.org/trac/boost/ticket/13226">#13226</a>
|
|
" getpagesize() is deprecated since 199506L
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/132">#132</a>
|
|
" VS 2017.4 Preview deadlocks on Test 10964
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/133">#133</a>
|
|
" windows - Spurious timing test failures on windows
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/134">#134</a>
|
|
" VS 2017.4 Preview deadlock in sync_pq_multi_thread_p_lib.exe
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/135">#135</a>
|
|
" VS 2017.4 Preview test_scheduled_tp_p.exe deadlock
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/136">#136</a>
|
|
" VS 2017.4 Preview test_scheduler_p.exe deadlock
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/137">#137</a>
|
|
" VS 2017.4 Preview executor_ex.exe deadlock
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/143">#143</a>
|
|
" Failures on msvc-12.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/145">#145</a>
|
|
" Clang build error with BOOST_THREAD_ATTRIBUTE_MAY_ALIAS
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New Experimental Feature
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/thread/issues/116">#116</a>
|
|
" [Proposal] Add APIs for deferred set_value/exception
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </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: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Clang: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++1z: 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: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Clang: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++1z: 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
|
|
"3288c0fc455e8ee3c342cd5e1963272c67262aca25b439907e992bb5a04f43f2
|
|
-id
|
|
"version_1_66_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Beast, CallableTraits, Mp11. Updated Libraries: Asio, Atomic,
|
|
" DateTime, Fiber, Format, Fusion, Geometry, Iterator, Log, Multi-index Containers,
|
|
" Optional, PolyCollection, Predef, Stacktrace, Thread, Utility, Uuid, Variant.
|
|
"
|
|
-title_xml
|
|
"Version 1.66.0
|
|
)
|
|
(feed/history/boost_1_67_0.qbk:1.67.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_67_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/contract/">Contract</a>:</span>
|
|
" Contract programming
|
|
" for C++. All contract programming features are supported: Subcontracting,
|
|
" class invariants, postconditions (with old and return values), preconditions,
|
|
" customizable actions on assertion failure (e.g., terminate or throw), optional
|
|
" compilation and checking of assertions, etc, from Lorenzo Caminiti.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/hof/">HOF</a>:</span>
|
|
" Higher-order functions for C++,
|
|
" from Paul Fultz II.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_67_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>
|
|
" Added missing const qualifier to <code><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">get_option</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Worked around a parsing error that occurs with some versions of gcc.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed broken code samples in tutorial.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added new experimental features. (Note that "experimental"
|
|
" features may be changed without notice in subsequent releases.)
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">detached</span></code>
|
|
" completion token.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">redirect_error</span></code>
|
|
" completion token.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">co_spawn</span></code>
|
|
" facility for integration with the coroutines technical specification.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking change:</strong> Changed the result
|
|
" of the <code><span class="special">(</span><span class="identifier">op</span><span class="special">)</span><span class="identifier">_and_test</span></code>
|
|
" operations added in Boost 1.66 to the opposite - the functions now
|
|
" return <code><span class="keyword">true</span></code> if the operation
|
|
" result is non-zero. This is consistent with other <code><span class="identifier">test</span></code>
|
|
" methods in Boost.Atomic and the C++ standard library. Users can define
|
|
" <code><span class="identifier">BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST</span></code>
|
|
" when compiling their code to emit warnings on every use of the changed
|
|
" functions. This way users can locate the code that needs to be updated.
|
|
" (<a href="https://github.com/boostorg/atomic/issues/11">#11</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update for C++2a. On C++11 compilers that support scoped enums, the
|
|
" <code><span class="identifier">memory_order</span></code> enumeration
|
|
" is now scoped and contains constants with shorter names like <code><span class="identifier">acquire</span></code>, <code><span class="identifier">release</span></code>
|
|
" or <code><span class="identifier">seq_cst</span></code> (i.e.
|
|
" users can use <code><span class="identifier">memory_order</span><span class="special">::</span><span class="identifier">acquire</span></code>
|
|
" instead of <code><span class="identifier">memory_order_acquire</span></code>).
|
|
" The old constants are also provided for backward compatibility. (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0439r0.html">P0439R0</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update for C++2a. Added experimental support for atomic operations
|
|
" on floating point types. In addition to general operations, <code><span class="identifier">add</span></code>, <code><span class="identifier">sub</span></code>,
|
|
" <code><span class="identifier">negate</span></code> operations
|
|
" and their <code><span class="identifier">fetch_</span><span class="special">(</span><span class="identifier">op</span><span class="special">)</span></code> and <code><span class="identifier">opaque_</span><span class="special">(</span><span class="identifier">op</span><span class="special">)</span></code> versions are supported. Lock-free
|
|
" property can be tested with the new macros <code><span class="identifier">BOOST_ATOMIC_FLOAT</span><span class="special">/</span><span class="identifier">DOUBLE</span><span class="special">/</span><span class="identifier">LONG_DOUBLE_LOCK_FREE</span></code>.
|
|
" The support for floating point types is optional and can be disabled
|
|
" by defining <code><span class="identifier">BOOST_ATOMIC_NO_FLOATING_POINT</span></code>.
|
|
" (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html">P0020R6</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added new experimental operations:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">negate_and_test</span></code>
|
|
" and <code><span class="identifier">complement_and_test</span></code>
|
|
" which perform negation or bitwise complement and return <code><span class="keyword">true</span></code> if the result is not zero.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">add</span></code>, <code><span class="identifier">sub</span></code>, <code><span class="identifier">negate</span></code>,
|
|
" <code><span class="identifier">bitwise_and</span></code>,
|
|
" <code><span class="identifier">bitwise_or</span></code>,
|
|
" <code><span class="identifier">bitwise_xor</span></code>,
|
|
" <code><span class="identifier">bitwise_complement</span></code>
|
|
" operations which perform the operation and return its result.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" For generic <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> specialization, the default constructor
|
|
" is now trivial if <code><span class="identifier">T</span></code>'s
|
|
" default constructor is.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The internal implementation of <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> has been updated to avoid undefined
|
|
" behavior that stems from signed integer overflows. As required by
|
|
" the C++ standard, the library uses two's complement representation
|
|
" of signed integers internally and accroding rules of overflow. Currently,
|
|
" the library requires the native signed integer types to also use
|
|
" two's complement representation (but no defined overflow semantics).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved Clang support. In particular, fixed DCAS not being lock-free
|
|
" and fixed possible incorrect code generated on 32-bit x86.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved MinGW support. For gcc versions up to 4.6, fixed compilation
|
|
" of DCAS on x86.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In x86 PIE code, asm blocks now preserve <code><span class="identifier">ebx</span></code>
|
|
" value.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This version fixes significant defects in <code><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span></code>
|
|
" which can lead to asserts or undefined behavior. Users are encouraged
|
|
" to update to the latest Boost release.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" For a complete list of changes, please view the official <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/container_hash/">ContainerHash</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Extracted from the functional module to break a dependency cycle.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Moved headers to new location to reflect name change, the old include
|
|
" paths will still work.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>,
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_condition</span></code>
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">optional</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span></code>,
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">monostate</span></code> where available.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" More detail in the <a href="/doc/html/hash/changes.html#hash.changes.boost_1_67_0">library
|
|
" change log</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/context/">Context</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/62">#62</a>/<a href="https://github.com/boostorg/context/pull/64">PR#64</a>: fix i386/macho routines to correctly
|
|
" return transfer_t in EAX/EDX
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/65">#65</a>: <code><span class="identifier">__sanitizer_finish_switch_fiber</span></code>
|
|
" should be called directly after context switch
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/66">#66</a>: Clang on Windows : error: No best alternative for libs/context/build/asm_sources
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/73">#73</a>: fixing C2492 for execution_context (v1)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" known bug: including all.hpp + <context-impl>ucontext/winfib
|
|
" causes error 'forced_unwind: is not a member of boost::context::detail'
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/coroutine2/">Coroutine2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/coroutine2/issues/13">#13</a>: Pull coroutine does not rethrow an exception if
|
|
" it is thrown on the first entry
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/date_time/">DateTime</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed various year 2038 (32-bit) issues (<a href="https://svn.boost.org/trac/boost/ticket/2818">#2818</a>) (<a href="https://svn.boost.org/trac/boost/ticket/2819">#2819</a>) (<a href="https://svn.boost.org/trac/boost/ticket/3487">#3487</a>)
|
|
" (<a href="https://svn.boost.org/trac/boost/ticket/4543">#4543</a>) (<a href="https://svn.boost.org/trac/boost/ticket/8450">#8450</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9158">#9158</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9489">#9489</a>) (<a href="https://svn.boost.org/trac/boost/ticket/10570">#10570</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12609">#12609</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a binary serialization regression introduced in 1.66.0 (<a href="https://github.com/boostorg/date_time/issues/56">#56</a>)
|
|
" (<a href="https://github.com/boostorg/date_time/pull/58">PR#58</a>) (<a href="https://github.com/boostorg/date_time/pull/70">PR#70</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Updated the timezone database file (<a href="https://svn.boost.org/trac/boost/ticket/4430">#4430</a>) (<a href="https://svn.boost.org/trac/boost/ticket/10087">#10087</a>) (<a href="https://github.com/boostorg/date_time/pull/68">PR#68</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Enhanced <code><span class="identifier">from_iso_string</span></code>
|
|
" so it can read output of <code><span class="identifier">to_iso_string</span></code>
|
|
" for special values (<a href="https://svn.boost.org/trac/boost/ticket/1078">#1078</a>) (<a href="https://github.com/boostorg/date_time/pull/69">PR#69</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed maximum supported year from 10000 to 9999 to resolve various
|
|
" issues (<a href="https://svn.boost.org/trac/boost/ticket/13159">#13159</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12630">#12630</a>) (<a href="https://github.com/boostorg/date_time/pull/71">PR#71</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">period_parser</span><span class="special">::</span><span class="identifier">delimiter_strings</span></code> did nothing (<a href="https://svn.boost.org/trac/boost/ticket/11142">#11142</a>)
|
|
" (<a href="https://github.com/boostorg/date_time/pull/63">PR#63</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Ensure special values are not automatically translated to integral
|
|
" types (<a href="https://svn.boost.org/trac/boost/ticket/11168">#11168</a>) (<a href="https://github.com/boostorg/date_time/pull/64">PR#64</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">int_adapter</span><span class="special">::</span><span class="identifier">is_signed</span></code> should be const (<a href="https://svn.boost.org/trac/boost/ticket/12363">#12363</a>)
|
|
" (<a href="https://github.com/boostorg/date_time/pull/60">PR#60</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">time_input_facet</span></code> throws when using
|
|
" <code><span class="special">%</span><span class="identifier">j</span></code>
|
|
" alone (<a href="https://svn.boost.org/trac/boost/ticket/12910">#12910</a>) (<a href="https://github.com/boostorg/date_time/pull/59">PR#59</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Time input facet is not able to parse <code><span class="special">%</span><span class="identifier">e</span></code> day (<a href="https://svn.boost.org/trac/boost/ticket/13194">#13194</a>) (<a href="https://github.com/boostorg/date_time/pull/54">PR#54</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved Github CI build environment for better project metrics and
|
|
" quality (<a href="https://github.com/boostorg/date_time/pull/52">PR#52</a>) (<a href="https://github.com/boostorg/date_time/pull/72">PR#72</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed various compiler warnings (<a href="https://svn.boost.org/trac/boost/ticket/3606">#3606</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9882">#9882</a>) (<a href="https://github.com/boostorg/date_time/pull/62">PR#62</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixes for calling functions on dirty <code><span class="identifier">GetLastError</span><span class="special">()</span></code> <a href="https://github.com/boostorg/dll/issues/16">#16</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/128">#128</a>: Assertion "! ctx->ready_is_linked()" when
|
|
" using condition_variable::wait_for
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/132">#132</a>: fatal error: 'stdexception' file not found
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/141">#141</a>: boost::fibers::async problem
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/146">#146</a>: remove unecessary lock of remote-ready-queue spinlock
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/153">#153</a>: docu: replace set_ready() by schedule()
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/154">#154</a>: Document iterators on channels
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/155">#155</a>: this_fiber is wrongly documented as being a member
|
|
" of boost::fibers
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/156">#156</a>: Many examples are using their own barrier.hpp
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/158">#158</a>: add BOOST_FIBERS_DECL to work_stealing class
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/162">#162</a>: remove use-coutner increment for timed wait ops
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/166">#166</a>: remove assertion for wait_is_linked() in schedule()
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/167">#167</a>: call shared_state::owner_destroyed() only if future
|
|
" was created from
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/168">#168</a>: fiber/doc/installing.qbk not not up to date
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fix static initialization issue that caused a crash if path operations
|
|
" were used before main() (<a href="https://github.com/boostorg/filesystem/pull/62">PR#62</a>, <a href="https://github.com/boostorg/filesystem/pull/43">PR#43</a>, <a href="https://github.com/boostorg/filesystem/pull/50">PR#50</a>,
|
|
" <a href="https://github.com/boostorg/filesystem/pull/59">PR#59</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/fusion/">Fusion</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Switch to SFINAE in template parameters on <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>
|
|
" to fix compile error on newer MSVC 2017. (<a href="https://github.com/boostorg/fusion/pull/164">PR#164</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix for compilers not compatible with CWG defect 945 on <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span></code>. (<a href="https://github.com/boostorg/fusion/pull/166">PR#166</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added limits precheck on sequence converter to make error message
|
|
" clearer. (<a href="https://github.com/boostorg/fusion/pull/168">PR#168</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Allow incomplete types in <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tag_of</span></code>
|
|
" and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">is_native_fusion_sequence</span></code>. Note
|
|
" that this changes no behaviour from previous release, but compliant
|
|
" to TypeTraits's change. (<a href="https://github.com/boostorg/fusion/pull/171">PR#171</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/locale/">Locale</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added support of <code><span class="identifier">unique_ptr</span></code>
|
|
" interface in addition to C++2003 <code><span class="identifier">auto_ptr</span></code>
|
|
" - in order to support C++2017, now you can use <code><span class="identifier">BOOST_LOCALE_HIDE_AUTO_PTR</span></code>
|
|
" definiton to remove <code><span class="identifier">auto_ptr</span></code>
|
|
" from the interfaces and prevent deprecated watnings.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed test problem with ICU >60.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix of solaris build
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed wired FreeBSD/clang issue on optimized build. Probably compiler
|
|
" workaround
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added workaround for failing MSVC tests due to 932 codepage codecvt
|
|
" issue
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed bugs 6851, 12572, 12453
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed missing throw in case of failure in <code><span class="identifier">icu</span><span class="special">/</span><span class="identifier">date_time</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed build agains Boost.Thread v4
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed Year of week instead of year ICU backend formatting
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed formatting test for ICU 56.1 and above
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/log/">Log</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improved compatibility with C++17: use <code><span class="identifier">allocator_traits</span></code>
|
|
" to work with allocators instead of directly accessing its members.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved compatibility with gcc 7 and later by updating library ABI
|
|
" namespace definition.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added documentation for the "Append" config file parameter
|
|
" for "TextFile" sinks. The parameter was supported previously,
|
|
" only the documentation was missing.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/math/index.html">Math</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Add naive Monte Carlo integration support.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add Chebyshev interpolation routines.
|
|
" </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>
|
|
" Elements with overloaded <code><span class="keyword">operator</span><span class="special">&</span></code> are now fully accepted (ticket
|
|
" <a href="https://svn.boost.org/trac/boost/ticket/13307">#13307</a>). Thanks to Daniel Frey for his updating <a href="/libs/utility/operators.htm#deref">Boost.Operators</a>
|
|
" to help fix this issue.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Avoided usage of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>
|
|
" members deprecated in C++17. Contributed by Daniela Engert.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance fixes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multiprecision/index.html">Multiprecision</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking Change:</strong> When converting
|
|
" a multiprecision integer to a narrower type, if the value is too
|
|
" large (or negative) to fit in the smaller type, then the result is
|
|
" either the maximum (or minimum) value of the target type. This was
|
|
" always the intended behaviour, but was somewhat haphazardly enforced
|
|
" before. If you really do want just the low order N bits of a value,
|
|
" then you will need to mask these out prior to the case, for example:
|
|
" <code><span class="keyword">static_cast</span><span class="special"><</span><span class="keyword">unsigned</span><span class="special">>(~</span><span class="keyword">static_cast</span><span class="special"><</span><span class="keyword">unsigned</span><span class="special">>(</span><span class="number">0</span><span class="special">)</span> <span class="special">&</span> <span class="identifier">my_value</span><span class="special">)</span></code>. Note that technically (to avoid
|
|
" undefined behaviour) you should do the same thing with built in integer
|
|
" types too. See <a href="https://svn.boost.org/trac/boost/ticket/13109">#13109</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix bug in conversion of decimal to rational types (zero needs special
|
|
" handling), see <a href="https://svn.boost.org/trac/boost/ticket/13148">#13148</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix conversion from cpp_bin_float to a wider built in integer type,
|
|
" see <a href="https://svn.boost.org/trac/boost/ticket/13301">#13301</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improve performance heurists used in cpp_bin_float exp function.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix bug in floor/ceil and cpp_bin_float when the exponent type is
|
|
" wider than an int, see <a href="https://svn.boost.org/trac/boost/ticket/13264">#13264</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Disable explicit conversion operator when the target type is already
|
|
" constructible from this type, see <a href="https://github.com/boostorg/multiprecision/issues/30">#30</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix support for changes new to MPIR-3.0, see <a href="https://svn.boost.org/trac/boost/ticket/13124">#13124</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/optional/index.html">Optional</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed issue <a href="https://github.com/boostorg/optional/issues/46">#46</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="special">-</span><span class="identifier">Wzero</span><span class="special">-</span><span class="identifier">as</span><span class="special">-</span><span class="identifier">null</span><span class="special">-</span><span class="identifier">pointer</span><span class="special">-</span><span class="identifier">constant</span></code>
|
|
" warnings.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/phoenix/">Phoenix</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Correct documentation and example code. (<a href="https://svn.boost.org/trac/boost/ticket/8187">#8187</a>, <a href="https://github.com/boostorg/phoenix/pull/56">PR#56</a>,
|
|
" <a href="https://github.com/boostorg/phoenix/pull/57">PR#57</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed bug with initializing phoenix lazy from array types in C++11.
|
|
" (<a href="https://svn.boost.org/trac/boost/ticket/12733">#12733</a>, <a href="https://github.com/boostorg/phoenix/pull/58">PR#58</a>, <a href="https://github.com/boostorg/phoenix/pull/61">PR#61</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use proto subscript and assignment overload operators buildins to
|
|
" fix compile error with some lambda experssions on recent MSVC. (<a href="https://github.com/boostorg/phoenix/issues/62">#62</a>,
|
|
" <a href="https://github.com/boostorg/phoenix/pull/64">PR#64</a>, <a href="https://github.com/boostorg/phoenix/pull/66">PR#66</a>, <a href="https://github.com/boostorg/phoenix/pull/67">PR#67</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Remove use of deprecated <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iteratror</span></code>.
|
|
" Thanks to Daniela Engert. (<a href="https://github.com/boostorg/phoenix/pull/59">PR#59</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance fixes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/python/">Python</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The library name now includes the version suffix of the Python version
|
|
" used to compile it. For example, a variant compiled with Python 2.7
|
|
" will produce library names <code><span class="identifier">boost_python27</span></code>
|
|
" and <code><span class="identifier">boost_numpy27</span></code>,
|
|
" etc.. Combined with a related fix in Boost.Build, this means that
|
|
" it is now possible to build variants for multiple Python versions
|
|
" in a single build process.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/spirit/">Spirit</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Spirit.X3:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking change:</strong> Removed
|
|
" <code><span class="identifier">with_context</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/239">#239</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added noexcept to <code><span class="identifier">x3</span><span class="special">::</span><span class="identifier">variant</span></code>
|
|
" and <code><span class="identifier">forward_ast</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/241">#241</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" CR+LF lines wrongly counted in <code><span class="identifier">error_handler</span><span class="special">::</span><span class="identifier">position</span><span class="special">()</span></code> (<a href="https://github.com/boostorg/spirit/issues/248">#248</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">unused_type</span></code>
|
|
" attribute case in <code><span class="identifier">parse_into_container</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/266">#266</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed parsing into associative containers (<a href="https://github.com/boostorg/spirit/issues/289">#289</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed overflow problem in <code><span class="identifier">uint_parser</span><span class="special"><</span><span class="keyword">signed</span>
|
|
" <span class="identifier">T</span><span class="special">></span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/297">#297</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added VS2015 Update 3 support by using workarounds (<a href="https://github.com/boostorg/spirit/issues/308">#308</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed include guard names collision with Qi (<a href="https://github.com/boostorg/spirit/issues/313">#313</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added parsing into range (<a href="https://github.com/boostorg/spirit/issues/316">#316</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12928">#12928</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed iterator concept static assert from <code><span class="identifier">ForwardIterator</span></code>
|
|
" to <code><span class="identifier">ReadableIteratorConcept</span></code>
|
|
" && <code><span class="identifier">ForwardTraversalConcept</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/320">#320</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Reenabled <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>
|
|
" support (<a href="https://github.com/boostorg/spirit/issues/330">#330</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">string</span><span class="special">(</span><span class="string">"..."</span><span class="special">)</span></code> and <code><span class="identifier">attr</span><span class="special">(</span><span class="string">"..."</span><span class="special">)</span></code> to single item sequence (<a href="https://github.com/boostorg/spirit/issues/337">#337</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Dereference a single item view instead of unwrapping sequence
|
|
" (<a href="https://github.com/boostorg/spirit/issues/340">#340</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Prevent <code><span class="identifier">parse_nan</span></code>
|
|
" from dereferencing out of range iterator (<a href="https://github.com/boostorg/spirit/issues/351">#351</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use traits to test if container is empty (<a href="https://github.com/boostorg/spirit/issues/355">#355</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit V2
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed keyword directives compilation on C++11 (<a href="https://github.com/boostorg/spirit/issues/256">#256</a>)
|
|
" (<a href="https://svn.boost.org/trac/boost/ticket/11493">#11493</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed subrules compilation (<a href="https://github.com/boostorg/spirit/issues/279">#279</a>) (<a href="https://github.com/boostorg/spirit/issues/259">#259</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed subrules use after scope bug (<a href="https://github.com/boostorg/spirit/issues/284">#284</a>) (<a href="https://svn.boost.org/trac/boost/ticket/5270">#5270</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed undefined behavior in sequential or operator. Underlying
|
|
" parsers order of execution was dependent on compiler (<a href="https://github.com/boostorg/spirit/issues/310">#310</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit was accidentally relaying on <code><span class="identifier">types</span></code>
|
|
" typedef of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>.
|
|
" The typedef was removed in the new optional implementation
|
|
" (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12349">#12349</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed problems with <code><span class="identifier">BOOST_SPIRIT_NO_PREDEFINED_TERMINALS</span></code>
|
|
" (<code><span class="identifier">attr_cast</span></code>,
|
|
" <code><span class="identifier">confix</span></code>, <code><span class="identifier">distinct</span></code>, <code><span class="identifier">keywords</span></code>,
|
|
" and <code><span class="identifier">flush_multi_pass</span></code>)
|
|
" (<a href="https://github.com/boostorg/spirit/issues/314">#314</a>) (<a href="https://svn.boost.org/trac/boost/ticket/13311">#13311</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added missing copy assignment operator to <code><span class="identifier">hold_any</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/361">#361</a>) (<a href="https://svn.boost.org/trac/boost/ticket/8268">#8268</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit.Qi:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed alternate operator (<a href="https://github.com/boostorg/spirit/issues/201">#201</a>) (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12349">#12349</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed signed integer overflow in real parser (<a href="https://github.com/boostorg/spirit/issues/245">#245</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed overflow problem in <code><span class="identifier">uint_parser</span><span class="special"><</span><span class="keyword">signed</span>
|
|
" <span class="identifier">T</span><span class="special">></span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/297">#297</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">get_current_line</span></code>,
|
|
" <code><span class="identifier">get_line_start</span></code>,
|
|
" and added <code><span class="identifier">get_line_end</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/304">#304</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Permutations parser were always initializing optionals (<a href="https://github.com/boostorg/spirit/issues/319">#319</a>)
|
|
" (<a href="https://svn.boost.org/trac/boost/ticket/12473">#12473</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed iterator concept static assert from <code><span class="identifier">ForwardIterator</span></code>
|
|
" to <code><span class="identifier">ReadableIteratorConcept</span></code>
|
|
" && <code><span class="identifier">ForwardTraversalConcept</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/320">#320</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added assertations to real parsers to ensure that the <code><span class="identifier">parse_frac_n</span></code> from user defined
|
|
" real policy does not return negative values and also to prevent
|
|
" static analyzers false-positives (<a href="https://github.com/boostorg/spirit/issues/358">#358</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit.Karma:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed alternate operator (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">no_buffering_policy</span></code>
|
|
" missing copy constructor (<a href="https://github.com/boostorg/spirit/issues/261">#261</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The <code><span class="identifier">ostream_iterator</span></code>
|
|
" was inheriting <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
|
" which is deprecated in C++17 (<a href="https://github.com/boostorg/spirit/issues/345">#345</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit.Lex:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Store id as promoted type to allow out-of-enum values (<a href="https://github.com/boostorg/spirit/issues/247">#247</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed C2001 'newline in constant' warning in generated lexers
|
|
" (<a href="https://github.com/boostorg/spirit/issues/324">#324</a>) (<a href="https://svn.boost.org/trac/boost/ticket/11540">#11540</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit.Classic:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">remove_reference</span></code>
|
|
" usage without a namespace in Phoenix (<a href="https://github.com/boostorg/spirit/issues/274">#274</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code> usage without the
|
|
" include (<a href="https://github.com/boostorg/spirit/issues/273">#273</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation of <code><span class="identifier">match</span><span class="special"><</span><span class="identifier">T</span>
|
|
" <span class="special">&></span></code> (<a href="https://github.com/boostorg/spirit/issues/275">#275</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation with <code><span class="identifier">BOOST_DISABLE_THREADS</span></code>
|
|
" defined (<a href="https://github.com/boostorg/spirit/issues/323">#323</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12639">#12639</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Increment scanner through iterator policy (<a href="https://github.com/boostorg/spirit/issues/336">#336</a>) (<a href="https://svn.boost.org/trac/boost/ticket/7371">#7371</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed deprecated in C++17 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
|
" usage (<a href="https://github.com/boostorg/spirit/issues/345">#345</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Async safe dumping into files on Windows OS was causing hangs on
|
|
" some platforms and now is disabled <a href="https://github.com/boostorg/stacktrace/issues/33">#33</a>. Users are encouraged
|
|
" to update to the latest Boost release.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="/libs/container_hash/">ContainerHash</a> library
|
|
" is now used to reduce dependencies.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Minor fixes (including <a href="https://github.com/boostorg/stacktrace/issues/31">#31</a>, <a href="https://github.com/boostorg/stacktrace/issues/38">#38</a>, <a href="https://github.com/boostorg/stacktrace/issues/39">#39</a>,
|
|
" <a href="https://github.com/boostorg/stacktrace/issues/40">#40</a>, <a href="https://github.com/boostorg/stacktrace/issues/42">#42</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/test/">Test</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Boost.test v3.7 see the <a href="/doc/libs/1_67_0/libs/test/doc/html/boost_test/change_log.html">Changes
|
|
" log</a> for more details.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Breaking changes
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Adding test cases with the same name to the same test suite
|
|
" is now reported as an error. See the changes log for more details.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New feature:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Colour output on by default and available on Windows,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved and clearer command line help
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">BOOST_AUTO_TEST_CASE_TEMPLATE</span></code>
|
|
" now accepts a sequence of types in an <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes and pull requests:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/12092">#12092</a>, <a href="https://svn.boost.org/trac/boost/ticket/12596">#12596</a>, <a href="https://svn.boost.org/trac/boost/ticket/12597">#12597</a>, <a href="https://svn.boost.org/trac/boost/ticket/12969">#12969</a>,
|
|
" <a href="https://svn.boost.org/trac/boost/ticket/13058">#13058</a>, <a href="https://svn.boost.org/trac/boost/ticket/13149">#13149</a>, <a href="https://svn.boost.org/trac/boost/ticket/13170">#13170</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/13181">#13181</a>, <a href="https://svn.boost.org/trac/boost/ticket/13371">#13371</a>, <a href="https://svn.boost.org/trac/boost/ticket/13387">#13387</a>, <a href="https://svn.boost.org/trac/boost/ticket/13398">#13398</a>,
|
|
" <a href="https://svn.boost.org/trac/boost/ticket/13407">#13407</a>, <a href="https://svn.boost.org/trac/boost/ticket/13435">#13435</a>, <a href="https://svn.boost.org/trac/boost/ticket/13443">#13443</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Pull requests: <a href="https://github.com/boostorg/test/issues/112">#112</a>, <a href="https://github.com/boostorg/test/issues/118">#118</a>, <a href="https://github.com/boostorg/test/issues/118">#118</a>, <a href="https://github.com/boostorg/test/issues/121">#121</a>,
|
|
" <a href="https://github.com/boostorg/test/issues/122">#122</a>, <a href="https://github.com/boostorg/test/issues/125">#125</a>, <a href="https://github.com/boostorg/test/issues/127">#127</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>
|
|
" <a href="/libs/container_hash/">ContainerHash</a> library
|
|
" is now used to reduce dependencies.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Minor fixes (including <a href="https://github.com/boostorg/type_index/issues/17">#17</a>)
|
|
" </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">detected</span></code>,
|
|
" <code><span class="identifier">detected_or</span></code>, <code><span class="identifier">is_detected</span></code>, <code><span class="identifier">is_detected_convertible</span></code>,
|
|
" <code><span class="identifier">is_detected_exact</span></code>,
|
|
" <code><span class="identifier">is_complete</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added greatly improved code for detecting binary operators.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add assertions for completeness to traits which require complete
|
|
" types as arguments: this prevents various traits from giving eroneous
|
|
" results from incomplete types.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix minor issue with mpl compatibility, see <a href="https://svn.boost.org/trac/boost/ticket/12212">#12212</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add macro to indicate when <code><span class="identifier">is_constructible</span></code>
|
|
" is fully implemented, see <a href="https://svn.boost.org/trac/boost/ticket/12003">#12003</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update <code><span class="identifier">is_function</span></code>
|
|
" and <code><span class="identifier">is_member_function_pointer</span></code>
|
|
" to work correctly with C++17 noexcept specifications.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add workaround for <code><span class="identifier">is_default_constructible</span></code>
|
|
" and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added fallback for <code><span class="identifier">is_nothrow_swappable</span></code>
|
|
" on pre-C++11 compilers.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/utility/">Utility</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking change:</strong> <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
" header no longer includes <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">next</span></code>
|
|
" and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">prior</span></code> as they have been moved to
|
|
" the iterator module. Instead include <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">next_prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
|
|
" Other uses of <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> are discouraged, it's better
|
|
" to use the header for the specific functionality instead.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Template deduction guides.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Standard conforming <code><span class="keyword">noexcept</span></code>
|
|
" specifications for <code><span class="identifier">swap</span></code>,
|
|
" <code><span class="keyword">operator</span><span class="special">=</span></code>
|
|
" and node handles.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add <code><span class="identifier">element_type</span></code>
|
|
" to iterators, so that <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pointer_traits</span></code>
|
|
" will work.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">piecewise_construct</span></code> on recent Visual
|
|
" C++ and Dinkumware libraries.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code> rather than the
|
|
" boost iterator traits in order to remove dependency on Boost.Iterator.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Iterators no longer inherit from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>,
|
|
" as it's deprecated (<a href="https://github.com/boostorg/unordered/pull/7">PR#7</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" More detail in the <a href="/doc/html/unordered/changes.html#unordered.changes.boost_1_67_0">library
|
|
" change log</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/units/">Units</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fix sqrt for scaled units <a href="https://svn.boost.org/trac/boost/ticket/10270">#10270</a> <a href="https://github.com/boostorg/units/issues/27">#27</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add constexpr support <a href="https://github.com/boostorg/units/issues/22">#22</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" minor documentation fixes
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/uuid/">Uuid</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking change:</strong> random_generator
|
|
" is no longer copyable (<a href="https://github.com/boostorg/uuid/issues/61">#61</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Optimized random_generator to use OS-provided entropy directly (<a href="https://github.com/boostorg/uuid/pull/53">PR#53</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Provide <code><span class="identifier">random_generator_mt19937</span></code>
|
|
" for bulk UUID generation
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Handle entropy acquisition errors instead of ignoring them
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support for Windows UWP (<a href="https://github.com/boostorg/uuid/issues/24">#24</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support for CloudABI
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Substitute function arguments on compilers with variadic templates
|
|
" support and do not generate substitution metafunctions using preprocessor
|
|
" <a href="https://github.com/boostorg/variant/issues/42">#42</a>, <a href="https://github.com/boostorg/variant/issues/46">#46</a>. Many thanks to Nikita Kniazev for providing
|
|
" an initial fix.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Perfect forwarding for passing visitor in apply_visitor <a href="https://github.com/boostorg/variant/issues/40">#40</a>,
|
|
" <a href="https://svn.boost.org/trac/boost/ticket/13288">#13288</a>. Many thanks to Paweł Dac!
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Minor fixes (including <a href="https://github.com/boostorg/variant/issues/41">#41</a>, <a href="https://github.com/boostorg/variant/issues/44">#44</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_67_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, 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.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.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.2.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Intel, C++14: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Clang: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++1z: 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>
|
|
" </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, 4.9.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.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.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.2.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Intel, C++14: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Clang: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++1z: 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>
|
|
" 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>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_67_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
|
|
"808e772df89b5b17f8bd47a5f32143a7d97d29142973ea04a707abdaebac1c79
|
|
-id
|
|
"version_1_67_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Contract, HOF. Updated Libraries: Asio, Atomic, Beast, Container
|
|
" Hash, Context, Coroutine2, DateTime, DLL, Fiber, Filesystem, Fusion, Locale,
|
|
" Log, Math, Multi-index Containers, Multiprecision, Optional, Phoenix, PolyCollection,
|
|
" Python, Spirit, Stacktrace, Test, TypeIndex, TypeTraits, Unordered, Units,
|
|
" Uuid, Utility, Variant.
|
|
"
|
|
-title_xml
|
|
"Version 1.67.0
|
|
)
|
|
(feed/history/boost_1_68_0.qbk:1.68.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_68_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/yap/">YAP</a>:</span> An expression template library
|
|
" for C++14 and later, from Zach Laine.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_68_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This version fixes a missing executor work guard in all composed
|
|
" operations used in the implementation. Users who are experiencing
|
|
" crashes related to asynchronous completion handlers are encouraged
|
|
" to upgrade.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" For a complete list of changes, please view the official <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/170">#170</a>: buffered_channel::try_push has incorrect documentation
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/172: WIN64">#172: WIN64</a>: 'invalid conversion from 'HANDLE' to
|
|
" 'std::thread::native_handle_type' errors for builds using mingw-w64
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/175">#175</a>: throw exception "Operation not permitted"
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" NUMA support moved to extra library (fiber-numa); enabled via property
|
|
" numa (numa=on)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/coroutine2/">Coroutine2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/coroutine2/issues/14">#14</a>: crash while stack unwinding
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/coroutine2/issues/18">#18</a>: some guidance on why to use coroutine2
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/coroutine2/issues/20">#20</a>: failes to compile test in due to the error C2039
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/coroutine2/issues/22">#22</a>: undefined behaviour documentation
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/context/">Context</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/78">#78</a>: Linker error with <code><span class="identifier">context</span><span class="special">-</span><span class="identifier">impl</span><span class="special">=</span><span class="identifier">ucontext</span></code>:
|
|
" multiple definition of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">current_rec</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/gil/">GIL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The I/O extensions have been entirely rewritten.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The library now requires a C++11-compliant compiler.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Documentation has been reformatted and updated.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/graph/">Graph</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Conditionally replace deprecated/removed C++98 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind1st</span></code>
|
|
" by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span></code>
|
|
" by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">unique_ptr</span></code>, and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">random_shuffle</span></code>
|
|
" by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shuffle</span></code>. (<a href="https://github.com/boostorg/graph/pull/89">PR#89</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix compiler error with release builds on VS2015 (<a href="https://github.com/boostorg/graph/pull/84">PR#84</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix the Stanford GraphBase examples (<a href="https://github.com/boostorg/graph/pull/87">PR#87</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix friend declarations for iterator_core_access (<a href="https://github.com/boostorg/graph/pull/103">PR#103</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add missing <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> include (<a href="https://github.com/boostorg/graph/pull/104">PR#104</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Avoid an unused variable warning (<a href="https://github.com/boostorg/graph/pull/90">PR#90</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix some typos in documentation (<a href="https://github.com/boostorg/graph/pull/88">PR#88</a>, <a href="https://github.com/boostorg/graph/pull/98">PR#98</a>, <a href="https://github.com/boostorg/graph/pull/102">PR#102</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix some issues in tests and examples (<a href="https://github.com/boostorg/graph/pull/85">PR#85</a>, <a href="https://github.com/boostorg/graph/pull/105">PR#105</a>)
|
|
" </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>
|
|
" Containers of moveable but non-copyable elements can now be serialized
|
|
" (ticket <a href="https://svn.boost.org/trac/boost/ticket/13478">#13478</a>). Thanks to Sébastien Paris for the report.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">multi_index_container</span></code>'s
|
|
" default constructor is no longer <code><span class="keyword">explicit</span></code>
|
|
" (ticket <a href="https://svn.boost.org/trac/boost/ticket/13518">#13518</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/optional/">Optional</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added member function <code><span class="identifier">has_value</span><span class="special">()</span></code> for compatibility with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">optional</span></code> (<a href="https://github.com/boostorg/optional/issues/52">issue
|
|
" #52</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added member function <code><span class="identifier">map</span><span class="special">()</span></code> for transforming <code><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
|
|
" into <code><span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span></code>
|
|
" using a function of type <code><span class="identifier">T</span>
|
|
" <span class="special">-></span> <span class="identifier">U</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added member function <code><span class="identifier">flat_map</span><span class="special">()</span></code> for transforming <code><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
|
|
" into <code><span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span></code>
|
|
" using a function of type <code><span class="identifier">T</span>
|
|
" <span class="special">-></span> <span class="identifier">optonal</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/program_options/">Program Options</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Support for multiple long names for an option, thanks to Eyal Rozenberg
|
|
" (<a href="https://github.com/boostorg/program_options/pull/53">PR#53</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/math/">Math</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Support for arbitrary precision complex valued quadrature and hence
|
|
" contour integration
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improve performance of polynomial addition
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multiprecision">Multiprecision</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Support for multiprecision complex numbers
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/python/">Python</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes to correct autolink support (Windows) (<a href="https://github.com/boostorg/python/issues/193">#193</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/rational/">Rational</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed undefined behavior in normalize() (<a href="https://github.com/boostorg/rational/pull/19">PR#19</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added pow method (<a href="https://github.com/boostorg/rational/pull/21">PR#21</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/uuid/">Uuid</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking change:</strong> sha1 detail namespace
|
|
" header redirection for backwards compatibility was removed (<a href="https://github.com/boostorg/uuid/pull/69">PR#69</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added support for std::hash (<a href="https://github.com/boostorg/uuid/pull/67">PR#67</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added support for move semantics on random generators (<a href="https://github.com/boostorg/uuid/pull/74">PR#74</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Properly handle EINTR when acquiring entropy (<a href="https://github.com/boostorg/uuid/pull/74">PR#74</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use getrandom(2) instead of getentropy(3) on linux (<a href="https://github.com/boostorg/uuid/pull/75">PR#75</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Add support for __ARM_ARCH macro. (from Tim Blechmann)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add detection for PTX architecture. (from Benjamin Worpitz)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add nvcc compiler detection. (from Benjamin Worpitz)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add support for detecting CUDA. (from Benjamin Worpitz)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Remove reference to obsolete BOOST_ARCH_AMD64. (from Peter Kolbus)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_68_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, 6.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, 6.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.2,
|
|
" 6.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 5.0.2, 6.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++0x: 4.4.7
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.3.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Intel, C++14: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Clang: 9.0.0, 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 9.0.0, 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 9.0.0, 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++1z: 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
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
" 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>
|
|
" </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, 4.0.1, 5.0.2, 6.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, 6.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.2,
|
|
" 6.0.1, 7.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 5.0.2, 6.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++0x: 4.4.7
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.3.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Intel, C++14: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Clang: 9.0.0, 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 9.0.0, 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 9.0.0, 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 9.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++1z: 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
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
" 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>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_68_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"2ba287bf70cafe6d8b8f9fdab228bb0c42678a18319eebf0e563bfa0befa1646
|
|
-id
|
|
"version_1_68_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.68.0
|
|
)
|
|
(feed/history/boost_1_69_0.qbk:1.69.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_69_0.notes_for_non_windows_users">
|
|
" <h3><span class="link">Notes for non-Windows
|
|
" users</span></h3>
|
|
" <p>
|
|
" Boost build system now supports visibilities and builds shared libraries with
|
|
" hidden visibility by default. As a result Boost shared libraries become smaller,
|
|
" load faster and have less chances to get a symbol collision.
|
|
" </p>
|
|
" <p>
|
|
" See <a href="/build/manual/develop/index.html#bbv2.builtin.features.visibility">Boost.Build
|
|
" visibility and local-visibility</a> for more info.
|
|
" </p>
|
|
" <p>
|
|
" To disable that feature use <code><span class="special">./</span><span class="identifier">b2</span> <span class="identifier">visibility</span><span class="special">=</span><span class="identifier">global</span></code> like
|
|
" command during build.
|
|
" </p>
|
|
" </div>
|
|
" <div id="version_1_69_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_69_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>
|
|
" Fixed issue with visibility. Now <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">any</span></code>
|
|
" variables constructed in one shared library with hidden visibility
|
|
" could be used and destroyed in other shared library with hidden visibility.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance: dropped some dependencies on other Boost libraries,
|
|
" fixes for docs.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This version fixes some issues in the examples, and provides a new
|
|
" experimental socket which supports built-in timeouts on asynchronous
|
|
" operations.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New CppCon 2018 <a href="https://www.boost.org/doc/libs/master/libs/beast/doc/html/beast/examples.html#beast.examples.cppcon_2018">websocket
|
|
" chat example</a> and <a href="https://www.youtube.com/watch?v=7FQwAjELMek">presentation
|
|
" video</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" For a complete list of changes, please view the official <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/circular_buffer/">CircularBuffer</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Use the empty base optimization for storing allocators that are empty
|
|
" and not final (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">boost</span><span class="special">::</span><span class="identifier">empty_value</span></code>,
|
|
" for library authors to conveniently leverage the Empty Base Optimization
|
|
" to store objects of potentially empty types (Glen Fernandes). This
|
|
" facility is now used in Boost.Beast, Boost.CircularBuffer, Boost.MultiArray,
|
|
" and more.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Implemented <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">quick_exit</span></code>
|
|
" to provide the C++11 standard library facility <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">quick_exit</span></code>
|
|
" functionality (Peter Dimov).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Reduced the number of statics in Lightweight Test, and employ lighter
|
|
" abort behavior for MSVC compilers upon failure to call <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">report_errors</span></code> (Glen Fernandes).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Resolved link issues with the smart library <a href="https://github.com/boostorg/dll/issues/20">#20</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance: fixes for docs and tests.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/181">#181</a>: unbuffered_channel push not return
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/182">#182</a>: Remove UTF-8 BOM at begining of the file
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/fiber/issues/183">#183</a>: Fix boost-install use; should only be issued once
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Don't use <code><span class="identifier">readdir_r</span></code>
|
|
" on Linux and Android since the <code><span class="identifier">readdir</span></code>
|
|
" function is already thread-safe. (<a href="https://github.com/boostorg/filesystem/pull/68">PR#68</a>, <a href="https://github.com/boostorg/filesystem/issues/72">#72</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed crashes in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">copy</span></code>
|
|
" due to undefined behavior in the implementation. (<a href="https://github.com/boostorg/filesystem/pull/71">PR#71</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed undefined behavior in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">directory_iterator</span></code>
|
|
" implementation. (<a href="https://github.com/boostorg/filesystem/pull/77">PR#77</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation errors when using directory iterators with <code><span class="identifier">BOOST_FOREACH</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed workarounds for older PGI C++ compiler versions to fix compilation
|
|
" on the newer ones. (<a href="https://github.com/boostorg/filesystem/pull/49">PR#49</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed MSVC warnings about narrowing conversions. (<a href="https://github.com/boostorg/filesystem/pull/44">PR#44</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/flyweight/index.html">Flyweight</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed some issues in GCC related to Boost.MPL placeholder expression
|
|
" handling.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance fixes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/integer/">Integer</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">pending</span><span class="special">/</span><span class="identifier">integer_log2</span><span class="special">.</span><span class="identifier">hpp</span></code> header is deprecated and will
|
|
" be removed in future releases. Use <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">integer_log2</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" instead.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/iterator/">Iterator</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation problems with ambiguous unqualified calls to <code><span class="identifier">advance</span></code> and <code><span class="identifier">distance</span></code>
|
|
" on iterators whose types involve types in the namespace <code><span class="identifier">boost</span></code>. (<a href="https://github.com/boostorg/iterator/issues/43">#43</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/lexical_cast/">LexicalCast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed sign-conversion warnings <a href="https://svn.boost.org/trac/boost/ticket/8991">#8991</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance: dropped some dependencies on other Boost libraries,
|
|
" fixed build system warnings.
|
|
" </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>
|
|
" Updated syslog sink backend to avoid using deprecated Boost.ASIO
|
|
" interfaces. (<a href="https://github.com/boostorg/log/issues/59">#59</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a possible incorrect estimation of the total size of
|
|
" rotated files in the target directory of a text file sink in
|
|
" some cases.
|
|
" </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/mp11/">Mp11</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implemented the <code><span class="identifier">mp_starts_with</span></code>
|
|
" facility (Glen Fernandes).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multi_array/">MultiArray</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improve C++11 allocator model support including: Support for C++11
|
|
" minimal allocators, support for stateful allocators, using the allocator
|
|
" for construction and destruction of the value type, and using the
|
|
" empty base optimization for storing empty or stateless allocators
|
|
" (Glen Fernandes).
|
|
" </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>
|
|
" Introduced an alternative <a href="/libs/multi_index/doc/tutorial/key_extraction.html#key">terse
|
|
" key specification syntax</a> for C++17 compliant environments.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added Bost.PolyCollection-specific versions of algorithms <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each_n</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">sample</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/preprocessor/">Preprocessor</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Supports the new C++ standard conforming preprocessor in VC++ 14.1,
|
|
" which is currently enabled by using the /experimental:preprocessor
|
|
" switch, in Visual Studio 2017 15.8 on up.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/spirit/">Spirit</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Spirit.X3:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Drop own FP routines in favor of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/392">#392</a>) (<a href="https://svn.boost.org/trac/boost/ticket/13531">#13531</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Missing visibility mark on exception types (<a href="https://github.com/boostorg/spirit/issues/409">#409</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" to_utf8: Fixed wchar_t handling on Windows (<a href="https://github.com/boostorg/spirit/issues/413">#413</a>)
|
|
" (<a href="https://github.com/boostorg/spirit/issues/395">#395</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit V2
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Drop own FP routines in favor of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>
|
|
" (<a href="https://github.com/boostorg/spirit/issues/392">#392</a>) (<a href="https://svn.boost.org/trac/boost/ticket/13531">#13531</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Missing visibility mark on exception types (<a href="https://github.com/boostorg/spirit/issues/409">#409</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed transform_attribute ambiguity (<a href="https://github.com/boostorg/spirit/issues/407">#407</a>) (<a href="https://github.com/boostorg/spirit/issues/396">#396</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" to_utf8: Fixed wchar_t handling on Windows (<a href="https://github.com/boostorg/spirit/issues/413">#413</a>)
|
|
" (<a href="https://github.com/boostorg/spirit/issues/395">#395</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spirit.Classic:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Missing visibility mark on exception types (<a href="https://github.com/boostorg/spirit/issues/409">#409</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">libbacktrace</span></code> usage
|
|
" was significantly improved. <code><span class="identifier">BOOST_STACKTRACE_USE_BACKTRACE</span></code>
|
|
" or <code><span class="identifier">boost_stacktrace_backtrace</span></code>
|
|
" users are encouraged to update:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Memory consumprion dropped down.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Stack capturing became faster by an order of magnitude.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">syminfo</span></code> fallback
|
|
" enabled to provide information for visible symbols even without
|
|
" debug information (thanks to github user driesdeschout!)<a href="https://github.com/boostorg/stacktrace/issues/60">#60</a>,
|
|
" <a href="https://github.com/boostorg/stacktrace/issues/61">#61</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Exact location of the <code><span class="identifier">backtrace</span><span class="special">.</span><span class="identifier">h</span></code>
|
|
" header now can be specified via <code><span class="identifier">BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE</span></code>,
|
|
" to allow <code><span class="identifier">backtrace</span><span class="special">.</span><span class="identifier">h</span></code>
|
|
" header usage on platforms and compilers where that header is
|
|
" unreachable otherwise (for example Ubuntu Xenial + Clang) <a href="https://github.com/boostorg/stacktrace/issues/59">#59</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Optimized stack capturing if <code><span class="identifier">max_depth</span></code>
|
|
" is set (thanks to Jan Eisenhauer for the PR!) <a href="https://github.com/boostorg/stacktrace/issues/67">#67</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">to_string</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">stacktrace</span><span class="special">&</span> <span class="special">)</span></code>
|
|
" functions for fast conversion of stacktraces to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>
|
|
" <a href="https://github.com/boostorg/stacktrace/issues/57">#57</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance: updated docs <a href="https://github.com/boostorg/stacktrace/issues/62">#62</a>, tests updated.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/system/">System</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Boost.System is now header-only. A stub library is still built for
|
|
" compatibility, but linking to it is no longer necessary.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Even more functions have been marked <code><span class="keyword">constexpr</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The destructor of <code><span class="identifier">error_category</span></code>
|
|
" is now <code><span class="keyword">protected</span></code> and
|
|
" no longer <code><span class="keyword">virtual</span></code>. This
|
|
" is a potentially breaking change, but its impact is expected to be
|
|
" limited.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">error_category</span></code> now
|
|
" has a constructor that accepts a 64 bit identifier, enabling distinct
|
|
" category objects to compare equal.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The constructors of <code><span class="identifier">error_category</span></code>
|
|
" are now <code><span class="keyword">protected</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" A non-allocating, nonthrowing overload of <code><span class="identifier">message</span></code>
|
|
" has been added.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" A virtual function <code><span class="identifier">failed</span></code>
|
|
" has been added, allowing categories for which success is not synonymous
|
|
" with 0.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The deprecated <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
|
|
" object has been removed.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">throws</span><span class="special">()</span></code>
|
|
" is now deprecated and its use is discouraged.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The constructor of <code><span class="identifier">system_error</span></code>
|
|
" taking a single <code><span class="identifier">error_code</span></code>
|
|
" argument is now <code><span class="keyword">explicit</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">system_error</span><span class="special">::</span><span class="identifier">code</span><span class="special">()</span></code>
|
|
" now returns by value.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/test/">Test</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Boost.test v3.9 see the <a href="libs/test/doc/html/boost_test/change_log.html">Changes
|
|
" log</a> for more details.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New feature:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Official support of header-only variant of Boost.Test with
|
|
" multiple translation units.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Now possible to manually add a test case by specifying its
|
|
" name, with <code><span class="identifier">BOOST_TEST_CASE_NAME</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Better support of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">exception</span></code>
|
|
" in the logs
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes and pull requests:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/13380">#13380</a>, <a href="https://svn.boost.org/trac/boost/ticket/13625">#13625</a>, <a href="https://svn.boost.org/trac/boost/ticket/13637">#13637</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GitHub Issues: <a href="https://github.com/boostorg/test/issues/149">#149</a>, <a href="https://github.com/boostorg/test/issues/150">#150</a>, <a href="https://github.com/boostorg/test/issues/156">#156</a>, <a href="https://github.com/boostorg/test/issues/158">#158</a>,
|
|
" <a href="https://github.com/boostorg/test/issues/163">#163</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GitHub Pull Requests: <a href="https://github.com/boostorg/test/pull/147">PR#147</a>, <a href="https://github.com/boostorg/test/pull/148">PR#148</a>, <a href="https://github.com/boostorg/test/pull/151">PR#151</a>,
|
|
" <a href="https://github.com/boostorg/test/pull/154">PR#154</a>, <a href="https://github.com/boostorg/test/pull/161">PR#161</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>
|
|
" Fix the regression and speed up parsing of the <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" header by 30% (thanks to Nikita Kniazev for the PR!) <a href="https://github.com/boostorg/type_index/issues/21">#21</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/utility/">Utility</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added support for non-inheritable empty types to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">compressed_pair</span></code>
|
|
" by avoiding the empty base optimization for types which are declared
|
|
" as final (Glen Fernandes).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed issue with visibility. Now <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bad_visit</span></code>
|
|
" exception could cross the boundaries of shared library with hidden
|
|
" visibility and could be catched in other shared library with hidden
|
|
" visibility.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/yap/">YAP</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Minor changes to support MSVC++ version 14.15 (Visual Studio 2017
|
|
" version 15.8).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Doc fixes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_69_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_69_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"84e4e09aeb52fd7a14cfcde723133f0eaf75160a3302d46e5e2ce42df9eba295
|
|
-id
|
|
"version_1_69_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.69.0
|
|
)
|
|
(feed/history/boost_1_70_0.qbk:1.70.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_70_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/outcome/">Outcome</a>:</span> A set of tools for reporting
|
|
" and handling function failures in contexts where <em>directly</em>
|
|
" using C++ exception handling is unsuitable, from Niall Douglas.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/histogram/">Histogram</a>:</span> Fast and extensible
|
|
" multi-dimensional histograms with convenient interface for C++14, from
|
|
" Hans Dembinski.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_70_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <strong><em>BIG Update!!!</em></strong> The <a href="/libs/beast/doc/html/beast/quickref.html">reference</a>
|
|
" shows a star <em>★</em> next to each new item.
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Beast needs your help!
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Tell
|
|
" Us</a> how you or your company use Beast
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Please <a href="https://github.com/boostorg/beast/issues/new">report</a>
|
|
" any bugs, feature requests, or general feedback
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Join the <a href="https://cppalliance.org/slack/"><strong>C++ Slack Workspace</strong></a> for free
|
|
" and chat with us in the #beast and #boost channels
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Don't forget to <a href="https://github.com/boostorg/beast">star
|
|
" the repository</a> ⭐!
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" More tutorials, code like the pros!
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="/libs/beast/doc/html/beast/using_io/asio_refresher.html">Networking
|
|
" Refresher</a> teaches you from the ground up.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Updated <a href="/libs/beast/doc/html/beast/using_io/writing_composed_operations/echo.html">Asynchronous
|
|
" Echo</a> example
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Updated <a href="/libs/beast/doc/html/beast/using_io/writing_composed_operations/detect_ssl.html"><strong>Detect SSL</strong></a> composed operation
|
|
" tutorial
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="/libs/beast/example/websocket/server/chat-multi">websocket-chat-multi</a>
|
|
" threaded chat server with a JavaScript <a href="/libs/beast/example/websocket/server/chat-multi/chat_client.html">browser
|
|
" client</a>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="/libs/beast/doc/html/beast/ref/boost__beast__basic_stream.html"><code><span class="identifier">basic_stream</span></code></a> and <a href="/libs/beast/doc/html/beast/ref/boost__beast__tcp_stream.html"><code><span class="identifier">tcp_stream</span></code></a> offer:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Timeouts: <code><span class="identifier">async_read_some</span></code>,
|
|
" <code><span class="identifier">async_write_some</span></code>
|
|
" complete with <a href="/libs/beast/doc/html/beast/ref/boost__beast__error.html"><code><span class="identifier">error</span><span class="special">::</span><span class="identifier">timeout</span></code></a> on expiration!
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Traffic-shaping policies <a href="/libs/beast/doc/html/beast/ref/boost__beast__simple_rate_policy.html"><code><span class="identifier">simple</span></code></a> and <a href="/libs/beast/doc/html/beast/ref/boost__beast__unlimited_rate_policy.html"><code><span class="identifier">unlimited</span></code></a>, or a user-defined
|
|
" <a href="/libs/beast/doc/html/beast/concepts/RatePolicy.html"><em>RatePolicy</em></a>!
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Put the strand directly on the socket using <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html">P1322R0</a>,
|
|
" no more <code><span class="identifier">bind_executor</span></code>
|
|
" at call sites!
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Base classes <a href="/libs/beast/doc/html/beast/ref/boost__beast__async_base.html"><code><span class="identifier">async_base</span></code></a> and <a href="/libs/beast/doc/html/beast/ref/boost__beast__stable_async_base.html"><code><span class="identifier">stable_async_base</span></code></a> and handle
|
|
" all composed operation boilerplate for you.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="/libs/beast/doc/html/beast/ref/boost__beast__ssl_stream.html"><code><span class="identifier">ssl_stream</span></code></a> provides a movable,
|
|
" assignable SSL stream with a flat write optimization.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" All asynchronous operations use Asio's <code><span class="identifier">async_initiate</span></code>
|
|
" for efficient integration with Coroutines TS.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" ⚡ <strong><em>faster compilation</em></strong>,
|
|
" define <code><span class="identifier">BOOST_BEAST_SPLIT_COMPILATION</span></code>
|
|
" and <code><span class="preprocessor">#include</span> <span class="special"><</span></code><a href="/boost/beast/src.hpp"><code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">beast</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">hpp</span></code></a><code><span class="special">></span></code> in one of your .cpp files!
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" New macro <a href="/libs/dll/BOOST_DLL_USE_STD_FS.html">BOOST_DLL_USE_STD_FS</a>.
|
|
" Define it to <code><span class="number">1</span></code> to make
|
|
" the Boost.DLL use C++17's <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span></code>,
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">system_error</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code> (<a href="https://github.com/boostorg/dll/issues/21">#21</a>). Note that
|
|
" exception types change from <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span></code>
|
|
" to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">system_error</span></code>, so make sure to update
|
|
" <code><span class="keyword">catch</span></code>es.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Significant rewrite of the dynamic loadable detection and decoration
|
|
" logic. More precise errors are now reported in case of loading failures.
|
|
" Added <code><span class="identifier">shared_library</span><span class="special">::</span><span class="identifier">decorate</span><span class="special">()</span></code> function that returns a decorated
|
|
" path to the library without doing any platform related queries and
|
|
" detections. Prefer using <code><span class="identifier">shared_library</span><span class="special">::</span><span class="identifier">load</span></code>
|
|
" and <code><span class="identifier">shared_library</span></code>
|
|
" constructors for better results (many thanks to Loïc Touraine for
|
|
" the work <a href="https://github.com/boostorg/dll/pull/23">PR#23</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" CI hardening, docs updates, typos fixes, cleanups and many portability
|
|
" fixes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dynamic_bitset/">Dynamic Bitset</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Disabled hardware-assisted popcount (added in 1.69.0) on MSVC due
|
|
" to undefined behavior on older CPUs. (<a href="https://github.com/boostorg/dynamic_bitset/issues/33">#33</a> <a href="https://github.com/boostorg/dynamic_bitset/pull/35">PR#35</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a few instances of dereferencing <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">end</span><span class="special">()</span></code> in <code><span class="identifier">path</span></code>
|
|
" implementation.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed program termination in case of out of memory condition in directory
|
|
" iterators constructors and operations accepting a reference to <code><span class="identifier">error_code</span></code>. (<a href="https://github.com/boostorg/filesystem/issues/58">#58</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed possible linking errors caused by missing definitions of static
|
|
" members of <code><span class="identifier">path</span></code>.
|
|
" (<a href="https://svn.boost.org/trac/boost/ticket/12759">#12759</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed possible use of uninitialized data in directory iterator increment
|
|
" operation on Linux.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added support for movability to directory iterators.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added file status query overloads for <code><span class="identifier">directory_entry</span></code>.
|
|
" This avoids a relatively expensive OS query when file status is requested
|
|
" for a result of dereferencing a directory iterator. (<a href="https://github.com/boostorg/filesystem/pull/55">PR#55</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Reworked <code><span class="identifier">current_path</span></code>
|
|
" and <code><span class="identifier">read_symlink</span></code>
|
|
" implementation to avoid possible memory exhaustion on broken or tampered
|
|
" with filesystems. The functions now have an internal limit of the
|
|
" path size they will accept from the OS, which is currently 16 MiB.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Increased the size of the internal buffer used by <code><span class="identifier">copy_file</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/integer/">Integer</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added Extended Euclidean Algorithm and Modular Multiplicative Inverse
|
|
" function. (Nick Thompson, <a href="https://github.com/boostorg/integer/pull/11">PR#11</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/log/">Log</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" New features:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added support for generating another log file name before collecting
|
|
" the file in the text file sink backend. This allows to combine
|
|
" appending to an existing log file with timestamps and file
|
|
" counters in log filenames, and, consequently, file collection
|
|
" in general.
|
|
" </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/mp11/">Mp11</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Renamed <code><span class="identifier">mp_invoke</span></code>
|
|
" to <code><span class="identifier">mp_invoke_q</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_similar</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_set_union</span></code>,
|
|
" <code><span class="identifier">mp_set_intersection</span></code>,
|
|
" <code><span class="identifier">mp_set_difference</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_not_fn</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_transform_first</span></code>,
|
|
" <code><span class="identifier">mp_transform_second</span></code>,
|
|
" <code><span class="identifier">mp_transform_third</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_filter</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_eval_if_not</span></code>,
|
|
" <code><span class="identifier">mp_eval_or</span></code>, <code><span class="identifier">mp_valid_q</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_back</span></code>, <code><span class="identifier">mp_pop_back</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multi_index/">Multi-index Containers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">size_type</span></code> and <code><span class="identifier">difference_type</span></code> are now defined
|
|
" as the allocator's same-named types. This will not make any difference
|
|
" in the vast majority of cases, but allows for some degree of control
|
|
" of resulting internal structures via user-defined allocator types
|
|
" (see issue <a href="https://github.com/boostorg/multi_index/issues/17">#17</a> for motivation). For the moment being,
|
|
" this change is not documented in the reference section (i.e., it
|
|
" has semi-official status).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improved handling of stateful allocators and allocator propagation
|
|
" traits, after an error reported by Billy O'Neal (<a href="https://github.com/boostorg/poly_collection/pull/9">PR#9</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a potentially serious bug with an internal cache structure.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Build fix for iOS 32-bit ARM (many thanks to Ivan Ponomarev for providing
|
|
" the fix <a href="https://github.com/boostorg/stacktrace/pull/70">PR#70</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed multiple typos, warnings and updated the docs.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/test/">Test</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Boost.test v3.10 see the <a href="libs/test/doc/html/boost_test/change_log.html">Changes
|
|
" log</a> for more details.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Breaking changes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Boost.Test <code><span class="identifier">minimal</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" is now showing a deprecation warning,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Change in floating point comparison may fail tests that were
|
|
" silently not using the floating point comparison logic prior
|
|
" to this release,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Internal API change to <code><span class="identifier">unit_test_log_formatter</span></code>,
|
|
" see detailed change log,
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New feature:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Floating point comparison has been extended to capture non-floating
|
|
" point and arithmetic operands: expressions like <code><span class="identifier">BOOST_TEST</span><span class="special">(</span><span class="number">3.0001</span> <span class="special">==</span>
|
|
" <span class="number">3</span><span class="special">)</span></code>
|
|
" now use floating point support of Boost.Test,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Custom datasets are not required to declare the <code><span class="identifier">sample</span></code> type field anymore,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Extending template test cases from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code>
|
|
" to any variadic definition,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Windows support for timed tests,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Timed test on test-suites,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed dependency to Boost.Timer,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New macro <code><span class="identifier">BOOST_TEST_INFO_SCOPE</span></code>
|
|
" for scoped context declaration,
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved <code><span class="identifier">BOOST_TEST_CONTEXT</span></code>
|
|
" syntax
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes and pull requests:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/7397">#7397</a>, <a href="https://svn.boost.org/trac/boost/ticket/9434">#9434</a>, <a href="https://svn.boost.org/trac/boost/ticket/13106">#13106</a>, <a href="https://svn.boost.org/trac/boost/ticket/13418">#13418</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GitHub Issues: <a href="https://github.com/boostorg/test/issues/133">#133</a>, <a href="https://github.com/boostorg/test/issues/138">#138</a>, <a href="https://github.com/boostorg/test/issues/141">#141</a>, <a href="https://github.com/boostorg/test/issues/157">#157</a>,
|
|
" <a href="https://github.com/boostorg/test/issues/160">#160</a>, <a href="https://github.com/boostorg/test/issues/174">#174</a>, <a href="https://github.com/boostorg/test/issues/176">#176</a>, <a href="https://github.com/boostorg/test/issues/177">#177</a>, <a href="https://github.com/boostorg/test/issues/180">#180</a>,
|
|
" <a href="https://github.com/boostorg/test/issues/181">#181</a>, <a href="https://github.com/boostorg/test/issues/194">#194</a>, <a href="https://github.com/boostorg/test/issues/196">#196</a>, <a href="https://github.com/boostorg/test/issues/198">#198</a>, <a href="https://github.com/boostorg/test/issues/199">#199</a>,
|
|
" <a href="https://github.com/boostorg/test/issues/202">#202</a>, <a href="https://github.com/boostorg/test/issues/203">#203</a>, <a href="https://github.com/boostorg/test/issues/204">#204</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GitHub Pull Requests: <a href="https://github.com/boostorg/test/pull/171">PR#171</a>, <a href="https://github.com/boostorg/test/pull/172">PR#172</a>, <a href="https://github.com/boostorg/test/pull/182">PR#182</a>,
|
|
" <a href="https://github.com/boostorg/test/pull/183">PR#183</a>, <a href="https://github.com/boostorg/test/pull/184">PR#184</a>, <a href="https://github.com/boostorg/test/pull/190">PR#190</a>, <a href="https://github.com/boostorg/test/pull/195">PR#195</a>,
|
|
" <a href="https://github.com/boostorg/test/pull/195">PR#195</a>, <a href="https://github.com/boostorg/test/pull/197">PR#197</a>, <a href="https://github.com/boostorg/test/pull/205">PR#205</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>
|
|
" Support for the GHS C++ compiler added (many thanks to Brandon Castellano
|
|
" for providing the patch <a href="https://github.com/boostorg/type_index/pull/28">PR#28</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Optimized string and type comparisons (many thanks to Andrey Semashev
|
|
" for providing the patch <a href="https://github.com/boostorg/type_index/pull/23">PR#23</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed clang-win compilation (many thanks to Peter Dimov for providing
|
|
" the patch <a href="https://github.com/boostorg/type_index/pull/25">PR#25</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" CI hardening.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Many cleanups and internal improvements, many thanks to Nikita Kniazev
|
|
" (<a href="https://github.com/boostorg/variant/pull/55">PR#55</a>, <a href="https://github.com/boostorg/variant/pull/56">PR#56</a>, <a href="https://github.com/boostorg/variant/pull/57">PR#57</a>) and Louis Dionne
|
|
" (<a href="https://github.com/boostorg/variant/pull/51">PR#51</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" CI hardening.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_70_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_70_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"37686422bfd07d60988b34d0f2153c7d293ac3bc80ff872110c350ea364ef476
|
|
-id
|
|
"version_1_70_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Outcome, Histogram. Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.70.0
|
|
)
|
|
(feed/history/boost_1_72_0.qbk:1.72.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_72_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_72_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added a workaround for <code><span class="identifier">__float128</span></code>
|
|
" not being considered as a floating point type by some versions of
|
|
" libstdc++.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved compatibility with clang-win compiler.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This is a maintenance update containing bug fixes, and updates to
|
|
" use the new features delivered in Boost.Asio.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" We'd love to know how you or your company use Beast, consider adding
|
|
" an entry to the <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Companies
|
|
" and Individuals Using Beast</a> list.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/circular_buffer/">Circular Buffer</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fix issue <a href="https://github.com/boostorg/circular_buffer/issues/29">#29</a>: <code><span class="identifier">max_size</span><span class="special">()</span></code> now takes the allocator's <code><span class="identifier">max_size</span><span class="special">()</span></code>
|
|
" into account. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/context/">Context</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" architecture s390x supported
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" execution_context removed
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/endian/">Endian</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Made <code><span class="identifier">endian_reverse</span></code>,
|
|
" <code><span class="identifier">conditional_reverse</span></code>
|
|
" and <code><span class="special">\*\</span><span class="identifier">_to_</span><span class="special">*</span></code> <code><span class="keyword">constexpr</span></code>
|
|
" on GCC and Clang
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added convenience load and store functions
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added floating point convenience typedefs
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a non-const overload of <code><span class="identifier">data</span><span class="special">()</span></code>; changed its return type to <code><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">__int128</span></code> support
|
|
" to <code><span class="identifier">endian_reverse</span></code>
|
|
" when available
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a convenience header <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">endian</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Extracted <code><span class="identifier">filesystem_error</span></code>
|
|
" to <code><span class="identifier">exception</span><span class="special">.</span><span class="identifier">hpp</span></code>; <code><span class="identifier">file_status</span></code>
|
|
" and associated enums and functions to <code><span class="identifier">file_status</span><span class="special">.</span><span class="identifier">hpp</span></code>;
|
|
" <code><span class="identifier">directory_entry</span></code>,
|
|
" <code><span class="identifier">directory_iterator</span></code>
|
|
" and <code><span class="identifier">recursive_directory_iterator</span></code>
|
|
" to <code><span class="identifier">directory</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Deprecated:</strong> For backward compatibility
|
|
" <code><span class="identifier">operations</span><span class="special">.</span><span class="identifier">hpp</span></code> still includes the new headers
|
|
" <code><span class="identifier">exception</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code><span class="identifier">file_status</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" and <code><span class="identifier">directory</span><span class="special">.</span><span class="identifier">hpp</span></code>, unless <code><span class="identifier">BOOST_FILESYSTEM_NO_DEPRECATED</span></code>
|
|
" macro is defined. These implicit includes are considered deprecated
|
|
" and will be removed in a future release. Users are encouraged to
|
|
" include the new headers directly or include <code><span class="identifier">filesystem</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The <code><span class="identifier">filesystem_error</span></code>
|
|
" exception is now implemented in the compiled library of Boost.Filesystem.
|
|
" Users may need to add linking with Boost.Filesystem library in their
|
|
" projects.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On POSIX.1-2008 platforms, use <code><span class="identifier">utimensat</span></code>
|
|
" instead of <code><span class="identifier">utime</span></code>.
|
|
" <code><span class="identifier">utime</span></code> is declared
|
|
" obsolete in POSIX.1-2008 and can be disabled e.g. in uClibc-ng. (<a href="https://github.com/boostorg/filesystem/pull/115">PR#115</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">directory_iterator</span></code>
|
|
" is now left in the end state on memory allocation errors.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">directory_iterator</span></code>
|
|
" on POSIX systems, support for <code><span class="identifier">readdir</span></code>/<code><span class="identifier">readdir_r</span></code> has been reworked to
|
|
" avoid memory allocations for <code><span class="identifier">dirent</span></code>
|
|
" structures when <code><span class="identifier">readdir</span></code>
|
|
" is used. This reduces memory consumption and eliminates the possibility
|
|
" of buffer overruns in case if <code><span class="identifier">readdir</span></code>
|
|
" produces a very long directory name.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, use Boost.WinAPI to select the target Windows version.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added <code><span class="identifier">directory_options</span></code>
|
|
" enum, which reflects the same named enum from C++20. The enum is
|
|
" supported in <code><span class="identifier">directory_iterator</span></code>
|
|
" and <code><span class="identifier">recursive_directory_iterator</span></code>
|
|
" to customize iteration behavior. In particular, the iterators now
|
|
" support skipping directories that can't be opened due to insufficient
|
|
" permissions. The <code><span class="identifier">symlink_option</span></code>
|
|
" enum is now deprecated and should be replaced with <code><span class="identifier">directory_options</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" By default, <code><span class="identifier">recursive_directory_iterator</span></code>
|
|
" is now reset to the end state in case of errors, as required by C++20.
|
|
" (<a href="https://github.com/boostorg/filesystem/issues/112">#112</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added <code><span class="identifier">directory_options</span><span class="special">::</span><span class="identifier">pop_on_error</span></code>
|
|
" option, which configures <code><span class="identifier">recursive_directory_iterator</span></code>
|
|
" so that it attempts to recover from iteration errors by repeatedly
|
|
" invoking <code><span class="identifier">pop</span><span class="special">()</span></code>
|
|
" until it succeeds or the end state is reached. (<a href="https://github.com/boostorg/filesystem/issues/113">#113</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added <code><span class="identifier">directory_options</span><span class="special">::</span><span class="identifier">skip_dangling_symlinks</span></code>
|
|
" option, which configures <code><span class="identifier">recursive_directory_iterator</span></code>
|
|
" so that it doesn't follow dangling directory symlinks and continues
|
|
" iteration instead of reporting an error.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Deprecated:</strong> The following members
|
|
" of <code><span class="identifier">recursive_directory_iterator</span></code>
|
|
" are now marked as deprecated: <code><span class="identifier">level</span><span class="special">()</span></code>, <code><span class="identifier">no_push_pending</span><span class="special">()</span></code>, <code><span class="identifier">no_push_request</span><span class="special">()</span></code>, <code><span class="identifier">no_push</span><span class="special">()</span></code>. Users are advised to replace their
|
|
" use with the standard counterparts: <code><span class="identifier">depth</span><span class="special">()</span></code>, <code><span class="identifier">recursion_pending</span><span class="special">()</span></code>, <code><span class="identifier">disable_recursion_pending</span><span class="special">()</span></code>. Note that <code><span class="identifier">recursion_pending</span><span class="special">()</span></code> has the opposite meaning compared
|
|
" to <code><span class="identifier">no_push_pending</span><span class="special">()</span></code> and <code><span class="identifier">no_push_request</span><span class="special">()</span></code>. Deprecated methods will be removed
|
|
" in a future release.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">lexically_relative</span></code> (and any dependent
|
|
" algorithms) to correctly handle empty, dot and dot-dot path elements
|
|
" in its argument. The behavior is made closer to C++17 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">path</span><span class="special">::</span><span class="identifier">lexically_relative</span></code> in that empty
|
|
" and dot path elements are ignored and dot-dot path elements are accounted
|
|
" by decreasing the number of dot-dot path elements to generate in
|
|
" the resulting relative path. (<a href="https://github.com/boostorg/filesystem/issues/76">#76</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/functional/factory/">Functional/Factory</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Glen Fernandes rewrote the implementations of <code><span class="identifier">factory</span></code>
|
|
" and <code><span class="identifier">value_factory</span></code>
|
|
" to provide the following features:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Support r-value arguments when possible
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support arbitrary number of arguments via variadic templates
|
|
" when possible
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support allocators that are final
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support allocators that use fancy pointers
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support for disabled exceptions (<code><span class="identifier">BOOST_NO_EXCEPTIONS</span></code>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved compilation times
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The following features have been removed:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Increasing limits for C++03 compilers through <code><span class="identifier">BOOST_FUNCTIONAL_VALUE_FACTORY_MAX_ARITY</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Using <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none_t</span></code>
|
|
" in place of <code><span class="keyword">void</span></code>
|
|
" through <code><span class="identifier">BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/gil/">GIL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Lanczos resampling for image down scaling (<a href="https://github.com/boostorg/gil/pull/309">PR #309</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Methods for binary thresholding, inverted binary
|
|
" thresholding and truncation thresholding (<a href="https://github.com/boostorg/gil/pull/313">PR
|
|
" #313</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Otsu thresholding method (<a href="https://github.com/boostorg/gil/pull/314">PR
|
|
" #314</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Adaptive thresholding using mean or gaussian-weighted
|
|
" sum of the neighbourhood area (<a href="https://github.com/boostorg/gil/pull/315">PR
|
|
" #315</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Harris response calculation (corner detector without
|
|
" non-maximum filtering) (<a href="https://github.com/boostorg/gil/pull/350">PR
|
|
" #350</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Hessian corner detector (<a href="https://github.com/boostorg/gil/pull/364">PR
|
|
" #364</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Types for defining 2D kernel, <code><span class="identifier">kernel_2d</span></code>
|
|
" and <code><span class="identifier">kernel_2d_fixed</span></code>,
|
|
" in Numeric extension (<a href="https://github.com/boostorg/gil/pull/361">PR
|
|
" #361</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Implementation of 2D convolution as new function
|
|
" <code><span class="identifier">convolve_2d</span></code>
|
|
" (<a href="https://github.com/boostorg/gil/pull/367">PR #367</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Box filtering using the average filter (<a href="https://github.com/boostorg/gil/pull/383">PR
|
|
" #383</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Blur function based on normalized mean filter (<a href="https://github.com/boostorg/gil/pull/383">PR #383</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Sobel and Scharr operators (<a href="https://github.com/boostorg/gil/pull/392">PR
|
|
" #392</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GSoC 2019: Median filter to remove noise from image (<a href="https://github.com/boostorg/gil/pull/393">PR #393</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Continued adding new test cases and significantly improved
|
|
" overall test coverage.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Documented purpose of <code><span class="identifier">cached_location_t</span></code>
|
|
" (<a href="https://github.com/boostorg/gil/pull/287">PR #287</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Function <code><span class="identifier">convolve_1d</span></code>
|
|
" in Numeric extension for convenient use of <code><span class="identifier">convolve_rows</span></code>
|
|
" and <code><span class="identifier">convolve_cols</span></code>
|
|
" (<a href="https://github.com/boostorg/gil/pull/347">PR #347</a>)
|
|
" and <a href="https://github.com/boostorg/gil/pull/367">PR
|
|
" #367</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Function <code><span class="identifier">extend_boundary</span></code>
|
|
" in Numeric extension to perform image boundary extension (<a href="https://github.com/boostorg/gil/pull/386">PR #386</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Project release notes maintained in Markdown file <code><span class="identifier">RELEASES</span><span class="special">.</span><span class="identifier">md</span></code> (<a href="https://github.com/boostorg/gil/pull/404">PR
|
|
" #404</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Move all tests, core features and extensions, inside <code><span class="identifier">test</span><span class="special">/</span></code>
|
|
" directory (<a href="https://github.com/boostorg/gil/pull/302">PR
|
|
" #302</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Dropped support for GCC <= 4.8 (<a href="https://github.com/boostorg/gil/pull/296">PR
|
|
" #296</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Replace Boost.MPL with Boost.MP11 (<a href="https://github.com/boostorg/gil/pull/274">PR
|
|
" #274</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed use of Boost.TypeTraits (<a href="https://github.com/boostorg/gil/pull/274">PR
|
|
" #274</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Undetermined value of default-initialized channel and pixel
|
|
" objects (<a href="https://github.com/boostorg/gil/pull/273">PR
|
|
" #273</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Undefined behaviour due to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">is_trivially_default_constructible</span></code>
|
|
" specializations (<a href="https://github.com/boostorg/gil/pull/284">PR
|
|
" #284</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Crash when reading PNG files with an invalid header (<a href="https://github.com/boostorg/gil/pull/385">PR #385</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Applied the Rule of Three for numerous types.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed uses of deprecated implicit definition of defaulted
|
|
" copy assignment operator or copy constructor.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/histogram/">Histogram</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Several new features and performance improvements, some bug-fixes
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/histogram/doc/html/histogram/history.html">Release
|
|
" Notes</a> for a complete list of changes
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/log/">Log</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improved compatibility with clang-win compiler.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/mpi/">MPI</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Documentation clarifications.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed scatterv bug when using explicit input buffer offsets.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Enable usage of MPI_Probe and friend with Intel MPI >= 2019.4
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Symbol visibility on Windows
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/outcome/">Outcome</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Enhancements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Standalone outcome is now <code><span class="identifier">make</span>
|
|
" <span class="identifier">install</span></code>-able, and
|
|
" cmake <code><span class="identifier">find_package</span><span class="special">()</span></code> can find it. Note that you
|
|
" must separately install and <code><span class="identifier">find_package</span><span class="special">()</span></code> Outcome's dependency, quickcpplib,
|
|
" else <code><span class="identifier">find_package</span><span class="special">()</span></code> of Outcome will fail.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The git submodule mechanism used by standalone Outcome of specifying
|
|
" dependent libraries has been replaced with a cmake superbuild
|
|
" of dependencies mechanism instead. Upon cmake configure, an
|
|
" internal copy of quickcpplib will be git cloned, built and
|
|
" installed into the build directory from where an internal
|
|
" <code><span class="identifier">find_package</span><span class="special">()</span></code> uses it. This breaks the
|
|
" use of the unconfigured Outcome repo as an implementation of
|
|
" Outcome, one must now do one of: 1. Add Outcome as subdirectory
|
|
" to cmake build. 2. Use cmake superbuild (i.e. <code><span class="identifier">ExternalProject_Add</span><span class="special">()</span></code>)
|
|
" to build and install Outcome into a local installation. 3.
|
|
" Use one of the single header editions.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" For standalone Outcome, the current compiler is now checked
|
|
" for whether it will compile code containing C++ Concepts, and
|
|
" if it does, all cmake consumers of Outcome will enable C++
|
|
" Concepts. Set the cmake variable <code><span class="identifier">CXX_CONCEPTS_FLAGS</span></code>
|
|
" to an empty string to prevent auto detection and enabling of
|
|
" C++ Concepts support occurring.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">OUTCOME_TRY</span></code>
|
|
" operation now hints to the compiler that operation will be
|
|
" successful. [P1886 <strong>Error speed benchmarking</strong>](https://wg21.link/P1886)
|
|
" showed that there is considerable gain in very small functions
|
|
" by hinting to the compiler whether the expression is expected
|
|
" to be successful or not. <code><span class="identifier">OUTCOME_TRY</span></code>
|
|
" previously did not hint to the compiler at all, but now it
|
|
" does. A new suite of macros <code><span class="identifier">OUTCOME_TRY_FAILURE_LIKELY</span></code>
|
|
" hint to the compiler that failure is expected. If you wish
|
|
" to return to the previously unhinted behaviour, define <code><span class="identifier">OUTCOME_TRY_LIKELY</span><span class="special">(</span><span class="identifier">expr</span><span class="special">)</span></code>
|
|
" to <code><span class="special">(!!</span><span class="identifier">expr</span><span class="special">)</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/ned14/outcome/issues/199">#199</a>
|
|
" Support for C++ Coroutines has been added. This comes in two
|
|
" parts, firstly there is now an <code><span class="identifier">OUTCOME_CO_TRY</span><span class="special">()</span></code> operation suitable for performing
|
|
" the <code><span class="identifier">TRY</span></code> operation
|
|
" from within a C++ Coroutine. Secondly, in the header <code><span class="identifier">outcome</span><span class="special">/</span><span class="identifier">coroutine_support</span><span class="special">.</span><span class="identifier">hpp</span></code> there are implementations
|
|
" of <code><span class="identifier">eager</span><span class="special"><</span><span class="identifier">OutcomeType</span><span class="special">></span></code>
|
|
" and <code><span class="identifier">lazy</span><span class="special"><</span><span class="identifier">OutcomeType</span><span class="special">></span></code>
|
|
" which let you more naturally and efficiently use <code><span class="identifier">basic_result</span></code> or <code><span class="identifier">basic_outcome</span></code> from within
|
|
" C++ Coroutines -- specifically, if the result or outcome will
|
|
" construct from an exception pointer, exceptions thrown in the
|
|
" coroutine return an errored or excepted result with the thrown
|
|
" exception instead of throwing the exception through the coroutine
|
|
" machinery (which in current compilers, has a high likelihood
|
|
" of blowing up the program). Both <code><span class="identifier">eager</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> and <code><span class="identifier">lazy</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> can accept any <code><span class="identifier">T</span></code> as well. Both have been
|
|
" tested and found working on VS2019 and clang 9.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/ned14/outcome/issues/210">#210</a>
|
|
" <code><span class="identifier">make_error_code</span><span class="special">()</span></code> and <code><span class="identifier">make_exception_ptr</span><span class="special">()</span></code> are now additionally considered
|
|
" for compatible copy and move conversions for <code><span class="identifier">basic_result</span><span class="special"><></span></code>.
|
|
" This lets you construct a <code><span class="identifier">basic_result</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">E</span><span class="special">></span></code> into a <code><span class="identifier">basic_result</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">error_code</span><span class="special">></span></code>, where <code><span class="identifier">E</span></code>
|
|
" is a custom type which has implemented the ADL discovered free
|
|
" function <code><span class="identifier">error_code</span>
|
|
" <span class="identifier">make_error_code</span><span class="special">(</span><span class="identifier">E</span><span class="special">)</span></code>,
|
|
" but is otherwise unrelated to <code><span class="identifier">error_code</span></code>.
|
|
" The same availability applies for <code><span class="identifier">exception_ptr</span></code>
|
|
" with <code><span class="identifier">make_exception_ptr</span><span class="special">()</span></code> being the ADL discovered
|
|
" free function. <code><span class="identifier">basic_outcome</span><span class="special"><></span></code> has less support for
|
|
" this than <code><span class="identifier">basic_result</span><span class="special"><></span></code> in order to keep constructor
|
|
" count down, but it will accept via this mechanism conversions
|
|
" from <code><span class="identifier">basic_result</span><span class="special"><></span></code> and <code><span class="identifier">failure_type</span><span class="special"><></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/ned14/outcome/issues/184">#184</a>
|
|
" The detection of <code><span class="special">[[</span><span class="identifier">nodiscard</span><span class="special">]]</span></code>
|
|
" support in the compiler was very mildly broken.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/preprocessor/">Preprocessor</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Topic added which discusses emptiness
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support for the C++20 <code><span class="identifier">__VA_OPT__</span></code>
|
|
" construct
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">BOOST_PP_VARIADIC_HAS_OPT</span></code>
|
|
" whether <code><span class="identifier">__VA_OPT__</span></code>
|
|
" is supported at the C++20 level
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">BOOST_PP_CHECK_EMPTY</span></code>
|
|
" test for emptiness using <code><span class="identifier">__VA_OPT__</span></code>
|
|
" at the C++20 level
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">BOOST_PP_VA_OPT</span></code>
|
|
" more flexible alternative to <code><span class="identifier">__VA_OPT__</span></code>
|
|
" at the C++20 level
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/smart_ptr/">Smart Pointers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implemented <code><span class="identifier">allocate_unique</span></code>
|
|
" for scalars and arrays. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/vmd/">VMD</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">BOOST_VMD_IS_EMPTY</span></code>
|
|
" updated to use <code><span class="identifier">__VA_OPT__</span></code>
|
|
" at the C++20 level has 100% reliability
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_72_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, 6.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, 6.0.1, 7.0.0, 8.0.0
|
|
" </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.2,
|
|
" 6.0.1, 7.0.0, 8.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++0x: 4.4.7
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.3.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Intel, C++14: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++17: 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++1z: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++2a: 10.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
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
" 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>
|
|
" </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, 4.0.1, 5.0.2, 6.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, 6.0.1, 7.0.0, 8.0.0
|
|
" </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.2,
|
|
" 6.0.1, 7.0.0, 8.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++0x: 4.4.7
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.3.0, 8.0.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Intel, C++14: 18.0
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++17: 9.1.0, 10.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++1z: 9.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++2a: 10.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
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
" 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>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_72_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" Marshall Clow and Michael Caisse managed this release.
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"a7f3b6812e1c43129aa128e77206b3db90ace8149841f1eb21387258ab2861f0
|
|
-id
|
|
"version_1_72_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.72.0
|
|
)
|
|
(feed/history/boost_1_73_0.qbk:1.73.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_73_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/nowide/">Nowide</a>:</span> Standard library functions
|
|
" with UTF-8 API on Windows, from Artyom Beilis.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_73_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/any/">Any</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Speedup compilation by not including <code><span class="special"><</span><span class="identifier">algorithm</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work, including CI hardening.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/assert/">Assert</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">source_location</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implemented C++20 <code><span class="identifier">atomic_ref</span></code>.
|
|
" See <a href="/libs/atomic/doc/html/atomic/interface.html#atomic.interface.interface_atomic_ref">docs</a>
|
|
" and especially the <a href="/libs/atomic/doc/html/atomic/interface.html#atomic.interface.interface_atomic_ref.caveats">caveats</a>
|
|
" section.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Implemented <code><span class="identifier">atomic_flag</span><span class="special">::</span><span class="identifier">test</span></code>
|
|
" operation, which was introduced in C++20.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
|
|
" should now take into account alignment requirements of <code><span class="identifier">T</span></code>, which makes a difference if
|
|
" those requirements are higher than that of the internal storage of
|
|
" <code><span class="identifier">atomic</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added static asserts enforcing the requirements on the value type
|
|
" <code><span class="identifier">T</span></code> used with <code><span class="identifier">atomic</span></code> and <code><span class="identifier">atomic_ref</span></code>.
|
|
" This should prohibit invalid types from being used as atomics.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved internal lock pool implementation. The pool is larger, and
|
|
" lock selection accounts for atomic object alignment, which should
|
|
" reduce the potential of thread contention.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed incorrect x86 code generated for <code><span class="identifier">bit_test_and_</span><span class="special">*</span></code> operations on 8 and 16-bit arguments.
|
|
" Other architectures are not affected.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a possible unaligned memory access in <code><span class="identifier">compare_exchange_</span><span class="special">*</span></code> operations, if alignment requirements
|
|
" of <code><span class="identifier">value_type</span></code> are
|
|
" less than that of the internal storage of <code><span class="identifier">atomic</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">atomic</span><span class="special">/</span><span class="identifier">atomic</span><span class="special">.</span><span class="identifier">hpp</span></code> no longer includes <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">atomic</span><span class="special">/</span><span class="identifier">atomic_flag</span><span class="special">.</span><span class="identifier">hpp</span></code> and <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">atomic</span><span class="special">/</span><span class="identifier">fences</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" and only defines the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">atomic</span></code>
|
|
" class template and related typedefs. Include the other headers explicitly
|
|
" or use <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">atomic</span><span class="special">.</span><span class="identifier">hpp</span></code> to include all parts of Boost.Atomic.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">storage</span><span class="special">()</span></code>
|
|
" accessor and associated <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">storage_type</span></code>
|
|
" type are deprecated. Instead, users are advised to use <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span><span class="special">()</span></code>
|
|
" and <code><span class="identifier">atomic</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>, respectively. Users
|
|
" can define <code><span class="identifier">BOOST_ATOMIC_SILENCE_STORAGE_DEPRECATION</span></code>
|
|
" to disable deprecation warnings for the time of transition. The deprecated
|
|
" pieces will be removed in a future release.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed support for <code><span class="identifier">BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST</span></code>.
|
|
" This macro was used as a helper for transition to the updated returned
|
|
" values of <code><span class="special">*</span><span class="identifier">_and_test</span></code>
|
|
" operations in Boost.Atomic 1.67, which was released 2 years before
|
|
" 1.73.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This is a maintenance update.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Nested <code><span class="identifier">mutable_data_type</span></code>
|
|
" in Beast dynamic buffers is deprecated.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" We'd love to know how you or your company use Beast, consider adding
|
|
" an entry to the <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Companies
|
|
" and Individuals Using Beast</a> list.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/context/">Context</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/133">#133</a>: IBM Z: Fix fcontext routines
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/132">#132</a>: mips64/n64: .align 3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/131">#131</a>: Use OSPLAT MIPS32/MIPS64 to set different ABI
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/context/issues/129">#129</a>: Fix non-PIC in RISC-V assembly
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/conversion/">Conversion</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">polymorphic_downcast</span></code> for references
|
|
" (thanks to Julien Delacroix for the patch).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Significant docs update.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixes and tests for demangling in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">smart_library</span></code>
|
|
" (thanks to Ramil Gauss for <a href="https://github.com/boostorg/dll/issues/35">#35</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Make UB sanitizers happy with <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">load_mode</span><span class="special">::</span><span class="identifier">type</span></code>
|
|
" <a href="https://github.com/boostorg/dll/issues/30">#30</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Ceased dependence on MPL improving compile times (thanks to Nikita
|
|
" Kniazev for <a href="https://github.com/boostorg/dll/issues/34">#34</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang and ICC on Windows fixes and CI support for those platforms
|
|
" (thanks to Nikita Kniazev <a href="https://github.com/boostorg/dll/issues/33">#33</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work, including CI hardening and tests improving.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/flyweight/index.html">Flyweight</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/gil/">GIL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added move constructor and move assignment operator to <code><span class="identifier">image</span></code> class (<a href="https://github.com/boostorg/gil/pull/457">PR#457</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New member function <code><span class="identifier">size</span><span class="special">()</span></code> in <code><span class="identifier">any_image_view</span></code>
|
|
" class (<a href="https://github.com/boostorg/gil/pull/456">PR#456</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Replace Boost.Test with Boost.LightweightTest as the only test
|
|
" framework used in GIL (<a href="https://github.com/boostorg/gil/pull/459">PR#459</a>) and (<a href="https://github.com/boostorg/gil/pull/464">PR#464</a>). This
|
|
" also restructured the <code><span class="identifier">test</span><span class="special">/</span><span class="identifier">extension</span><span class="special">/</span><span class="identifier">io</span><span class="special">/</span></code> sub-tree and targets in related
|
|
" <code><span class="identifier">Jamfile</span></code>-s.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed remaining uses of Boost.MPL (<a href="https://github.com/boostorg/gil/pull/459">PR#459</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Renamed all macros using <code><span class="identifier">BOOST_GIL_</span></code>
|
|
" prefix (<a href="https://github.com/boostorg/gil/pull/411">PR#411</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Renamed all CMake configuration options using <code><span class="identifier">BOOST_GIL_</span></code> prefix (<a href="https://github.com/boostorg/gil/pull/419">PR#419</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Removed <code><span class="identifier">extension</span><span class="special">/</span><span class="identifier">dynamic_image</span><span class="special">/</span><span class="identifier">reduce</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" as unused and possibly unfinished (<a href="https://github.com/boostorg/gil/pull/466">PR#466</a>). An implementation
|
|
" attempt of techniques described in the paper [Efficient Run-Time
|
|
" Dispatching in Generic Programming with Minimal Code Bloat](http://lubomir.org/academic/MinimizingCodeBloat.pdf)
|
|
" by Lubomir Bourdev, Jaakko Jarvi.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed direct dependency on Boost.MPL, Boost.System and Boost.Test.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Started removing public macros for compile-time configuration
|
|
" of I/O extension tests, i.e. <code><span class="identifier">BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES</span></code>
|
|
" and <code><span class="identifier">BOOST_GIL_IO_TEST_ALLOW_WRITING_IMAGES</span></code>.
|
|
" Instead, if a test target is built, it builds all its test
|
|
" cases unconditionally.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Avoid <code><span class="identifier">longjmp</span></code>
|
|
" interaction during destruction of I/O extension objects (<a href="https://github.com/boostorg/gil/pull/433">PR#433</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed missing alignment default value in constructor of <code><span class="identifier">image</span></code> class (<a href="https://github.com/boostorg/gil/pull/429">PR#429</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed segmentation fault when reading corrupted PNG file (<a href="https://github.com/boostorg/gil/pull/414">PR#414</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed illegal initialization of return values in the old IOv1
|
|
" interface of I/O extension (<a href="https://github.com/boostorg/gil/pull/409">PR#409</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Acknowledgements
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Samuel Debionne, Thiago Henrique Hüpner, Pranam Lashkari,
|
|
" Mateusz Loskot, Debabrata Mandal, Olzhas Zhumabek
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/io/">IO</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Made all the IOS state saver classes non-copyable. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correctly handle error upon first read from the input stream when
|
|
" reading a quoted string. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Implemented <code><span class="identifier">ostream_joiner</span></code>
|
|
" for delimiter based joining. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Relocated <code><span class="identifier">ostream_string</span></code>
|
|
" from the Utility library to the IO library as <code><span class="identifier">ostream_put</span></code>.
|
|
" (Glen Fernandes implemented this facility when optimizing the output
|
|
" of string views to write directly to the stream buffer).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Glen Fernandes became the maintainer of the IO library.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/lexical_cast/">LexicalCast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work, including CI hardening and better workarounds for
|
|
" broken standard libraries (thanks to Nikita Kniazev <a href="https://github.com/boostorg/lexical_cast/issues/31">#31</a>,
|
|
" <a href="https://github.com/boostorg/lexical_cast/issues/32">#32</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/log/">Log</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" New Features:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Default sink used in trivial logging, when no sinks are registered
|
|
" in the logging core, now automatically flushes output after
|
|
" each log record. (<a href="https://github.com/boostorg/log/issues/103">#103</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">core</span><span class="special">::</span><span class="identifier">flush</span></code> now performs a flush
|
|
" on the default sink used for trivial logging, when no sinks
|
|
" are registered.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added a workaround for some syslog API implementations (e.g.
|
|
" glibc), which do not save the application identification string
|
|
" in <code><span class="identifier">openlog</span></code>
|
|
" call. Such implementations could access already freed memory
|
|
" on each <code><span class="identifier">syslog</span></code>
|
|
" call, resulting in undefined behavior. (<a href="https://github.com/boostorg/log/issues/97">#97</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed that log file rotation on a specific day of month (e.g.
|
|
" <code><span class="identifier">rotation_at_time_point</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">greg_day</span><span class="special">(</span><span class="number">1</span><span class="special">))</span></code>) could be silently ignored
|
|
" and not happen. (<a href="https://github.com/boostorg/log/issues/98">#98</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed that <code><span class="identifier">text_file_backend</span><span class="special">::</span><span class="identifier">rotate_file</span></code>
|
|
" could throw if there were no log records written yet and target
|
|
" file name pattern was set.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Ported various components of the library to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator_traits</span></code>
|
|
" to improve compatibility with C++20 allocators.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation errors when building in MSYS2 Cygwin environment.
|
|
" (<a href="https://github.com/boostorg/log/issues/102">#102</a>)
|
|
" </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/mp11/">Mp11</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_unique_if</span></code>
|
|
" (contributed by Kris Jusiak)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_flatten</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_rotate_left</span></code>,
|
|
" <code><span class="identifier">mp_rotate_right</span></code> (contributed
|
|
" by Duncan Barber)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_compose</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_power_set</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_partial_sum</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_iterate</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multi_index/">Multi-index Containers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">multi_index_container</span></code>
|
|
" is now <a href="https://en.cppreference.com/w/cpp/named_req/AllocatorAwareContainer"><code><span class="identifier">AllocatorAware</span></code></a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Swapping of internal <code><span class="identifier">KeyFromValue</span></code>,
|
|
" <code><span class="identifier">Compare</span></code>, <code><span class="identifier">Hash</span></code> and <code><span class="identifier">Pred</span></code>
|
|
" objects now selects the appropriate <code><span class="identifier">swap</span></code>
|
|
" function between <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code>
|
|
" and ADL candidates, in accordance with standard specifications in
|
|
" <strong>[swappable.requirements]</strong> (issue
|
|
" <a href="https://github.com/boostorg/multi_index/issues/29">#29</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Provided some internal copy constructors and assignment operators
|
|
" whose default implicit definition is deprecated in C++11 onwards
|
|
" (<strong>[depr.impldec]</strong>), which was warned
|
|
" about on some compilers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/outcome/">Outcome</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Enhancements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Performance of Outcome-based code compiled by clang has been
|
|
" greatly improved. The previous implementation of Outcome's
|
|
" status bitfield confused clang's optimiser, which caused low
|
|
" quality codegen. Unlike most codegen issues, this was noticeably
|
|
" in empirical benchmarks of real world code, as was shown by
|
|
" <a href="https://wg21.link/P1886">P1886 <strong>Error
|
|
" speed benchmarking</strong></a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The safe part of the <a href="https://github.com/ned14/outcome/tree/better_optimisation"><code><span class="identifier">better_optimisation</span></code></a>
|
|
" Outcome v2.2.0 future branch was merged to Outcome v2.1.3 which
|
|
" includes a new status bitfield implementation. This appears
|
|
" to not confuse clang's optimiser, and clang 9 produces code
|
|
" which routinely beats GCC 9's code for various canned use cases.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Installability is now CI tested per commit. Due to installability
|
|
" of standalone Outcome (e.g. <code><span class="identifier">make</span>
|
|
" <span class="identifier">install</span></code>) breaking
|
|
" itself rather more frequently than is ideal, installability
|
|
" is now tested on CI per commit.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/ned14/outcome/issues/214">#214</a>
|
|
" Newer Concepts implementing compilers were unhappy with the
|
|
" early check for destructibility of <code><span class="identifier">T</span></code>
|
|
" and <code><span class="identifier">E</span></code>, so removed
|
|
" template constraints, falling back to static assert which runs
|
|
" later in the type instantiation sequence.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/ned14/outcome/issues/220">#220</a>
|
|
" A false positive undefined behaviour sanitiser failure in some
|
|
" use cases of Experimental Outcome was worked around to avoid
|
|
" the failure message.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Suppressed a potential redundant move warning in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">poly_collection</span><span class="special">::</span><span class="identifier">for_each</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a bug by which elements were copied rather than moved in allocator-extended
|
|
" move construction and move assigment between collections with non-propagating,
|
|
" unequal allocators.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Allocator-extended move construction no longer decays to allocator-extended
|
|
" copy construction for the legacy version of libstdc++-v3 shipped
|
|
" with GCC 4.8 (which can also be used by Clang).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added documentation on distribution of PDBs <a href="https://github.com/boostorg/stacktrace/issues/55">#55</a>, <a href="https://github.com/boostorg/stacktrace/issues/47">#47</a> (thanks
|
|
" to emptyVoid and Roger Orr for information and to zlojvavan for testing).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed msvc-9 build
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work, including test fixes <a href="https://github.com/boostorg/stacktrace/issues/86">#86</a>, fixing typos
|
|
" <a href="https://github.com/boostorg/stacktrace/issues/84">#84</a>, CI improvements and hardening, inspect tool fixes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/throw_exception/">ThrowException</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added an overload of <code><span class="identifier">throw_exception</span></code>
|
|
" that takes a <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">source_location</span></code>
|
|
" object.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" NOTE: Projects using <code><span class="identifier">BOOST_THROW_EXCEPTION</span></code>
|
|
" with exceptions disabled will need to add a definition of this new
|
|
" overload.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/type_index/">TypeIndex</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work, including CI integration with inspect tool.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/utility/">Utility</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The <code><span class="identifier">ostream_string</span></code>
|
|
" facility has moved from the Utility library to the IO library as
|
|
" <code><span class="identifier">ostream_put</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Removed unused includes (thanks to Nikita Kniazev <a href="https://github.com/boostorg/variant/issues/74">#74</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed zero-as-null-pointer-constat warnings (thanks to Bart Siwek
|
|
" <a href="https://github.com/boostorg/variant/issues/77">#77</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work, including typo fixes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant2/">Variant2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">hash</span></code>,
|
|
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">variant</span><span class="special"><</span><span class="identifier">T</span><span class="special">...></span></code>
|
|
" is now trivial when all types in <code><span class="identifier">T</span><span class="special">...</span></code> are trivial. This improves performance
|
|
" by enabling it to be passed to, and returned from, functions in registers.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/winapi/">WinAPI</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Headers in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">winapi</span></code>
|
|
" are deprecated and will be removed in a future release.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Boost.WinAPI headers no longer include <code><span class="identifier">winerror</span><span class="special">.</span><span class="identifier">h</span></code>.
|
|
" Include <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">winapi</span><span class="special">/</span><span class="identifier">error_codes</span><span class="special">.</span><span class="identifier">hpp</span></code> to get Windows error codes.
|
|
" (<a href="https://github.com/boostorg/winapi/issues/81">#81</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_73_0.updated_tools">
|
|
" <h3><span class="link">Updated Tools</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/tools/build/">B2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Includes release <a href="https://github.com/boostorg/build/releases/tag/4.2.0">4.2.0</a>
|
|
" of B2.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" WARNING: Since version 4.0.0 B2 requires a capable C++11 compiler
|
|
" to bootstrap. This is only needed to build B2 itself not to build
|
|
" Boost for your use.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_73_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_73_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"47ea8e51579cb641e8cb3873e0472239f498d0399baeee956b1b066b58e58416
|
|
-id
|
|
"version_1_73_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Nowide Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.73.0
|
|
)
|
|
(feed/history/boost_1_74_0.qbk:1.74.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_74_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/stl_interfaces/">STLInterfaces</a>:</span> A library
|
|
" of CRTP bases to ease the writing of STL views, iterators, and sequence
|
|
" containers, from Zach Laine.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_74_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>
|
|
" Added an implementation of the proposed standard executors (<a href="http://wg21.link/P0443r13">P0443r13</a>, <a href="http://wg21.link/P1348r0">P1348r0</a>,
|
|
" and <a href="http://wg21.link/P1393r0">P1393r0</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added support for the proposed standard executors to Asio's I/O facilities.
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The supplied executors now meet the requirements for the proposed
|
|
" standard executors. These classes also continue to meet the
|
|
" existing requirements for the Networking TS model of executors.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" All I/O objects, asynchronous operations, and utilities will
|
|
" interoperate with both new proposed standard executors, and
|
|
" with existing Networking TS executors.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The <code><span class="identifier">any_io_executor</span></code>
|
|
" type alias has been introduced as the default runtime-polymorphic
|
|
" executor for all I/O objects. This defaults to the <code><span class="identifier">execution</span><span class="special">::</span><span class="identifier">any_executor</span><span class="special"><></span></code>
|
|
" template. If required for backward compatibility, <code><span class="identifier">BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT</span></code>
|
|
" can be defined to use the old <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">executor</span></code>
|
|
" polymorphic wrapper instead.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support for the existing Networking TS model of executors can
|
|
" be disabled by defining <code><span class="identifier">BOOST_ASIO_NO_TS_EXECUTORS</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added converting move construction and assignment to <code><span class="identifier">basic_waitable_timer</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Enabled C++20 coroutine support when using <tt>gcc</tt>
|
|
" 10.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added overloads of <code><span class="identifier">co_spawn</span></code>
|
|
" that launch an awaitable.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a new constructor overload to <code><span class="identifier">use_awaitable_t</span></code>'s
|
|
" default executor adapter, to enable conversion between executor types.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added support for using <code><span class="identifier">detached_t</span></code>
|
|
" as a default completion token, by adding members <code><span class="identifier">as_default_on</span><span class="special">()</span></code> and <code><span class="identifier">as_default_on_t</span><span class="special"><></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a move constructor to <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special"><></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special"><></span></code>
|
|
" write operations to linearise gather-write buffer sequences.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added compile-time detection of the deprecated <code><span class="identifier">asio_handler_invoke</span></code>,
|
|
" <code><span class="identifier">asio_handler_allocate</span></code>,
|
|
" and <code><span class="identifier">asio_handler_deallocate</span></code>
|
|
" hooks, when <code><span class="identifier">BOOST_ASIO_NO_DEPRECATED</span></code>
|
|
" is defined.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Implemented a number of performance optimisations.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added source location support to handler tracking.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Implemented various improvements to the <tt>handlerviz.pl</tt>
|
|
" tool.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added the <tt>handlerlive.pl</tt> tool, which processes
|
|
" handler tracking output to produce a list of "live" handlers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added the <tt>handlertree.pl</tt> tool, which filters handler
|
|
" tracking output to include only those events in the tree that produced
|
|
" the nominated handlers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added changes for clang-based Embarcadero C++ compilers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a deadlock that can occur when multiple threads concurrently
|
|
" initialise the Windows I/O completion port backend.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">async_compose</span></code>
|
|
" to work with copyable handlers when passed by lvalue.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed completion signature deduction in <code><span class="identifier">co_spawn</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed a spurious <code><span class="identifier">Executor</span></code>
|
|
" base class from the <code><span class="identifier">executor_binder</span></code>
|
|
" implementation.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Various fixes and improvements in the documentation and examples.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Consult the <a href="/doc/libs/1_74_0/doc/html/boost_asio/history.html">Revision
|
|
" History</a> for further details.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This update brings bug fixes and support for the following changes
|
|
" changes in Boost.Asio:
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Beast supports <code><span class="identifier">BOOST_ASIO_NO_DEPRECATED</span></code>.
|
|
" Define this to help identify areas of your Beast and Asio code which
|
|
" use deprecated Asio interfaces.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Beast also supports <code><span class="identifier">BOOST_ASIO_NO_TS_EXECUTORS</span></code>.
|
|
" Define this to identify uses of executors from the now potentially
|
|
" outdated <a href="https://cplusplus.github.io/networking-ts/draft.pdf">Networking
|
|
" TS</a>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Asio will use the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0443r11.html">Standard
|
|
" Executors</a> model by default. You can prevent this behaviour
|
|
" by defining <code><span class="identifier">BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT</span></code>
|
|
" in which the Networking TS model will be used by default. Setting
|
|
" this flag does not prevent a program from using executors from the
|
|
" Standard Executors model explicitly.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" We'd love to know how you or your company use Beast, consider adding
|
|
" an entry to the <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Companies
|
|
" and Individuals Using Beast</a> list.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/bimap/">Bimap</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/config/">Config</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implement <code><span class="identifier">BOOST_NO_CXX11_OVERRIDE</span></code>
|
|
" and <code><span class="identifier">BOOST_OVERRIDE</span></code>.
|
|
" (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/core/">Core</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implemented the allocator access utilities which provide a replacement
|
|
" for <code><span class="identifier">allocator_traits</span></code>
|
|
" with individual traits and functions for each facility. They support
|
|
" the C++11 allocator model when possible and provide a fallback for
|
|
" C++98 compatibility. These are now used in Circular_Buffer, Wave,
|
|
" Lockfree, Heap, Smart_Ptr, Dynamic_Bitset, Format, Bimap and more.
|
|
" (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Multiple fixes for the <code><span class="identifier">library_info</span></code>
|
|
" work on empty shared objects.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Compilation fixes for C++98 and C++11 modes (<a href="https://github.com/boostorg/dll/issues/28">#28</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixes for <code><span class="identifier">smart_library</span></code>
|
|
" manglings (thanks to XiaLiChao82 <a href="https://github.com/boostorg/dll/issues/37">#37</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/endian/">Endian</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Enabled scoped enumeration types in <code><span class="identifier">endian_reverse</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Enabled <code><span class="keyword">bool</span></code>, <code><span class="keyword">enum</span></code>, <code><span class="keyword">float</span></code>,
|
|
" <code><span class="keyword">double</span></code> in <code><span class="identifier">endian_reverse_inplace</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added an overload of <code><span class="identifier">endian_reverse_inplace</span></code>
|
|
" for arrays.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/flyweight/index.html">Flyweight</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/format/">Format</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/gil/">GIL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added new constructor initializing <code><span class="identifier">any_image</span></code>
|
|
" from r-value reference to any image (<a href="https://github.com/boostorg/gil/pull/486">PR#486</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Implemented mechanism to reverse <code><span class="identifier">kernel_2d</span></code>
|
|
" (<a href="https://github.com/boostorg/gil/pull/489">PR#489</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Replace Boost.Variant with Boost.Variant2 (<a href="https://github.com/boostorg/gil/pull/474">PR#474</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use perfect forwarding from apply_operation to visit (<a href="https://github.com/boostorg/gil/pull/491">PR#491</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Removed dependency on Boost.Variant
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed invalid conversion from RGB8 to CMYK32 due to overflow
|
|
" (<a href="https://github.com/boostorg/gil/pull/470">PR#470</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">image</span></code>
|
|
" constructor from other image (<a href="https://github.com/boostorg/gil/pull/477">PR#477</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed error <code><span class="identifier">plane_view_t</span></code>
|
|
" is not a class or namespace name (<a href="https://github.com/boostorg/gil/pull/481">PR#481</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed <code><span class="identifier">interleaved_view</span></code>
|
|
" factory using <code><span class="identifier">point</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span><span class="special">></span></code> for dimension (<a href="https://github.com/boostorg/gil/pull/487">PR#487</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed documentation replacing uses MPL with MP11 in tutorial
|
|
" (<a href="https://github.com/boostorg/gil/pull/494">PR#494</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed missing header in <code><span class="identifier">numeric</span><span class="special">/</span><span class="identifier">kernel</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" to make it self-contained (<a href="https://github.com/boostorg/gil/pull/502">PR#502</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Acknowledgements
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Samuel Debionne, Pranam Lashkari, Mateusz Loskot, Debabrata
|
|
" Mandal
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/heap/">Heap</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Correct destruction of top node in <code><span class="identifier">skew_heap</span></code>.
|
|
" (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct and simplify allocator use. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/lexical_cast/">LexicalCast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed warnings on missing <code><span class="identifier">override</span></code>
|
|
" (thanks to EugeneZelenko <a href="https://github.com/boostorg/lexical_cast/issues/35">#35</a>, <a href="https://github.com/boostorg/lexical_cast/issues/34">#34</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixes for the the Embarcadero compilers (thanks to Edward Diener).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/mp11/">Mp11</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improved compilation performance of <code><span class="identifier">mp_with_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span></code> for large <code><span class="identifier">N</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">tuple_transform</span></code>
|
|
" (contributed by Hans Dembinski.)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multi_index/">Multi-index Containers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <a href="/libs/multi_index/doc/tutorial/basics.html#node_handling">node
|
|
" extraction and insertion</a> following the analogous interface
|
|
" of associative containers as introduced in C++17. This feature has
|
|
" also been extended to non key-based indices, in contrast to C++ standard
|
|
" library sequence containers, which do not provide such functionality.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clarified documentation on read/write key extractors (issue <a href="https://github.com/boostorg/multi_index/issues/32">#32</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/nowide/">Nowide</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The library now requires a C++11-compliant compiler and stdlib
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" LFS: Add support for files > 2 GB where the underlying system
|
|
" supports it
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Generic UTF conversion functions are now available in the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">nowide</span><span class="special">::</span><span class="identifier">utf</span> <span class="keyword">namespace</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add support for <code><span class="identifier">stat</span></code>
|
|
" with UTF-8 paths
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/outcome/">Outcome</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Announcements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The v2.1 branch is expected to be retired end of 2020, with
|
|
" the v2.2 branch becoming the default. You can use the future
|
|
" v2.2 branch now using <a href="https://github.com/ned14/outcome/tree/better_optimisation"><code><span class="identifier">better_optimisation</span></code></a>.
|
|
" This branch has a number of major breaking changes to Outcome
|
|
" v2.1, see the front page for details.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Enhancements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" BREAKING CHANGE <code><span class="keyword">void</span></code>
|
|
" results and outcomes no longer default construct types during
|
|
" explicit construction. Previously if you explicitly constructed
|
|
" a <code><span class="identifier">result</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
|
|
" from a non-errored <code><span class="identifier">result</span><span class="special"><</span><span class="keyword">void</span><span class="special">></span></code>, it default constructed
|
|
" <code><span class="identifier">T</span></code>. This was
|
|
" found to cause unhelpful surprise, so it has been disabled.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New macro <code><span class="identifier">OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</span></code>.
|
|
" The macro <code><span class="identifier">OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</span></code>
|
|
" can be used to enable aliasing of older naming and features
|
|
" to newer naming and features when using a newer version of
|
|
" Outcome.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Concepts now have snake case style naming instead of camel
|
|
" case style. When Outcome was first implemented, it was thought
|
|
" that C++ 20 concepts were going to have camel case style. This
|
|
" was changed before the C++ 20 release, and Outcome's concepts
|
|
" have been renamed similarly. This won't break any code in Outcome
|
|
" v2.1, as compatibility aliases are provided. However code compiled
|
|
" against Outcome v2.2 will need to be upgraded, unless <code><span class="identifier">OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</span></code>
|
|
" is set to <code><span class="number">210</span></code> or
|
|
" lower.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Concepts now live in <code><span class="identifier">OUTCOME_V2_NAMESPACE</span><span class="special">::</span><span class="identifier">concepts</span></code>
|
|
" namespace. Previously concepts lived in the <code><span class="identifier">convert</span></code>
|
|
" namespace, now they live in their own namespace.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New concepts <code><span class="identifier">basic_result</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> and <code><span class="identifier">basic_outcome</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> added. End users were finding
|
|
" an unhelpful gap in between <code><span class="identifier">is_basic_result</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> and <code><span class="identifier">value_or_error</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> where they wanted a concept
|
|
" that matched types which were <code><span class="identifier">basic_result</span></code>,
|
|
" but not exactly one of those. Concepts filling that gap were
|
|
" added.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Operation <code><span class="identifier">TRY</span></code>
|
|
" works differently from Outcome v2.2 onwards. This is a severely
|
|
" code breaking change which change the syntax of how one uses
|
|
" <code><span class="identifier">OUTCOME_TRY</span><span class="special">()</span></code>. A regular expression suitable
|
|
" for upgrading code can be found in the list of changes between
|
|
" Outcome v2.1 and v2.2.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/ned14/outcome/issues/224">#224</a>
|
|
" The clang Apple ships in Xcode 11.4 (currently the latest)
|
|
" has not been patched with the fixes to LLVM clang that fix
|
|
" <code><span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">is_constructible</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span>
|
|
" <span class="keyword">void</span><span class="special">>)</span></code>
|
|
" failing to compile which I originally submitted years ago.
|
|
" So give up waiting on Apple to fix their clang, add a workaround
|
|
" to Outcome.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Spare storage could not be used from within no-value policy
|
|
" classes. Due to an obvious brain fart when writing the code
|
|
" at the time, the spare storage APIs had the wrong prototype
|
|
" which prevented them working from within policy classes. Sorry.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed internal ambiguity problem between <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_erasure</span><span class="special">::</span><span class="identifier">any</span></code>
|
|
" and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">any</span></code> (issue <a href="https://github.com/boostorg/poly_collection/issues/17">#17</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/polygon/">Polygon</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" C++20 fixed for <code><span class="identifier">event_comparison_type</span></code>,
|
|
" <code><span class="identifier">vertex_equality_predicate_type</span></code>,
|
|
" and <code><span class="identifier">voronoi_predicates</span></code>.
|
|
" (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/smart_ptr/">SmartPtr</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">owner_equals</span></code>
|
|
" to <code><span class="identifier">shared_ptr</span></code>, <code><span class="identifier">weak_ptr</span></code>, <code><span class="identifier">local_shared_ptr</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">owner_hash_value</span></code>
|
|
" to <code><span class="identifier">shared_ptr</span></code>, <code><span class="identifier">weak_ptr</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">owner_equal_to</span></code>,
|
|
" <code><span class="identifier">owner_hash</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">hash</span></code> specializations for <code><span class="identifier">shared_ptr</span></code>, <code><span class="identifier">local_shared_ptr</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span></code> support to, and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">hash</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">equal_to</span></code>
|
|
" specializations for, <code><span class="identifier">weak_ptr</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a build error when compiled with <code><span class="special">-</span><span class="identifier">fno</span><span class="special">-</span><span class="identifier">exceptions</span></code> (thanks to Jeremiah
|
|
" Rodriguez <a href="https://github.com/boostorg/stacktrace/issues/91">#91</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/system/">System</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="keyword">operator</span> <span class="keyword">bool</span><span class="special">()</span></code> now returns <code><span class="identifier">failed</span><span class="special">()</span></code> instead of <code><span class="identifier">value</span><span class="special">()</span> <span class="special">!=</span> <span class="number">0</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/type_traits/">Type_Traits</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implemented <code><span class="identifier">conjunction</span></code>,
|
|
" <code><span class="identifier">disjunction</span></code>, <code><span class="identifier">negation</span></code>, <code><span class="identifier">is_trivially_copyable</span></code>,
|
|
" <code><span class="identifier">is_scoped_enum</span></code>, and
|
|
" <code><span class="identifier">is_unscoped_enum</span></code>.
|
|
" (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed warnings on missing <code><span class="identifier">override</span></code>
|
|
" (thanks to EugeneZelenko <a href="https://github.com/boostorg/variant/issues/78">#78</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixes for the the Embarcadero compilers (thanks to Edward Diener
|
|
" <a href="https://github.com/boostorg/variant/issues/79">#79</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Updated header locations to avoid warnings about using deprecated
|
|
" headers (thanks to Andrey Semashev <a href="https://github.com/boostorg/variant/issues/80">#80</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant2/">Variant2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added support for derived types in <code><span class="identifier">visit</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved compilation performance for many (hundreds of) alternatives.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added support for <code><span class="identifier">visit</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/wave/">Wave</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implement C++20 features for variadics, including <code><span class="identifier">__VA_OPT__</span></code>
|
|
" (<a href="https://github.com/boostorg/wave/pull/75">PR#75</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Implement <code><span class="identifier">__has_include</span></code>
|
|
" (<a href="https://github.com/boostorg/wave/pull/102">PR#102</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Introduce new sample: <code><span class="identifier">check_macro_naming</span></code>,
|
|
" useful with Boost itself (<a href="https://github.com/boostorg/wave/pull/97">PR#97</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix compilation issue caused by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>
|
|
" member removal in C++20 (<a href="https://github.com/boostorg/wave/pull/72">PR#72</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Repair Xpressive lexer and <code><span class="identifier">token_statistics</span></code>
|
|
" sample (<a href="https://github.com/boostorg/wave/pull/79">PR#79</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Repair lexertl lexer (<a href="https://github.com/boostorg/wave/pull/78">PR#78</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Ensure hooks are run on predefined macros as well (<a href="https://github.com/boostorg/wave/pull/87">PR#87</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Various minor bug fixes
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" C++98/03 support is now deprecated and will be removed in 1.77
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/yap/">YAP</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation errors for placeholders; they now work in the general
|
|
" case, and in particular work with yap::print().
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" constexpr all the YAP.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix printing of correct value category in yap::print().
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Doc clarification.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_74_0.updated_tools">
|
|
" <h3><span class="link">Updated Tools</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/tools/boostbook/">Boostbook</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Change encoding of generated documentation from US-ASCII to UTF-8.
|
|
" (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_74_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_74_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"3e3e51344dae0cb78f361401a4f28128cdd73370f6af1e3106375fed2b67dee5
|
|
-id
|
|
"version_1_74_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.74.0
|
|
)
|
|
(feed/history/boost_1_75_0.qbk:1.75.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_75_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/json/">JSON</a>:</span> JSON parsing, serialization,
|
|
" and DOM in C++11, from Vinnie Falco and Krystian Stasiowski.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/leaf/">LEAF</a>:</span> A lightweight error-handling
|
|
" library for C++11, from Emil Dotchevski.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/pfr/">PFR</a>:</span> Basic reflection without macro
|
|
" or boilerplate code for user defined types, from Antony Polukhin.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_75_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Implemented SSE2 and SSE4.1 versions of address lookup algorithm,
|
|
" which is used in the internal lock pool implementation. This may
|
|
" improve performance of waiting and notifying operations in heavily
|
|
" contended cases.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/container/">Container</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" New <code>devector</code>
|
|
" container.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed bugs/issues:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/152">#152</a> Tree-based containers have troubles with move-only
|
|
" types.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/156">#156</a> Compile error with vector.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/pull/157">PR#157</a> Add missing include.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/159">#159</a>: pmr::monotonic_buffer_resource crashes on
|
|
" large single allocations.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/160">#160</a>: Usage of uses_allocator needs a remove_cvref_t.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/162">#162</a>: small_vector on MSVC x86 call-by-value crash.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/161">#161</a>: polymorphic_allocator(memory_resource*) non-standard
|
|
" extension causes headache.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/pull/163">PR#163</a>: container_rebind for small_vector with
|
|
" options.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/165">#165</a>: Link error with shared library and memory_resource
|
|
" inline members.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/pull/166">PR#166</a>: Fix encoding error in copyright headers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/pull/167">PR#167</a>: error: the address of 'msg' will always
|
|
" evaluate as 'true' warning with GCC 4.4.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/container/issues/169">#169</a>: flood of warnings building dlmalloc_ext_2_8_6.c
|
|
" on clang11.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/endian/">Endian</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">endian_arithmetic</span></code>
|
|
" no longer inherits from <code><span class="identifier">endian_buffer</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" When <code><span class="identifier">BOOST_ENDIAN_NO_CTORS</span></code>
|
|
" is defined, the unaligned <code><span class="identifier">endian_buffer</span></code>
|
|
" and <code><span class="identifier">endian_arithmetic</span></code>
|
|
" are C++03 PODs, to enable use of <code><span class="identifier">__attribute__</span><span class="special">((</span><span class="identifier">packed</span><span class="special">))</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added <code><span class="identifier">creation_time</span></code>
|
|
" operation, which allows to obtain file creation time. (Inspired by
|
|
" <a href="https://github.com/boostorg/filesystem/pull/134">PR#134</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The returned value of <code><span class="identifier">last_write_time</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">)</span></code> operation in case of failure has
|
|
" been changed to a minimal value representable by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">time_t</span></code>
|
|
" instead of -1.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The returned value of <code><span class="identifier">hard_link_count</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">)</span></code> operation in case of failure has
|
|
" been changed to <code><span class="keyword">static_cast</span><span class="special"><</span><span class="identifier">uintmax_t</span><span class="special">>(-</span><span class="number">1</span><span class="special">)</span></code> instead of 0.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On POSIX systems, <code><span class="identifier">file_size</span></code>
|
|
" will now indicate error code <code><span class="identifier">errc</span><span class="special">::</span><span class="identifier">function_not_supported</span></code>
|
|
" if the path resolves to a non-regular file. Previously, <code><span class="identifier">errc</span><span class="special">::</span><span class="identifier">operation_not_permitted</span></code> was reported.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Linux, many operations now use <code><span class="identifier">statx</span></code>
|
|
" system call internally, when possible, which allows to reduce the
|
|
" amount of information queried from the filesystem and potentially
|
|
" improve performance. The <code><span class="identifier">statx</span></code>
|
|
" system call was introduced in Linux kernel 4.11.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed <code><span class="keyword">const</span></code>-qualification
|
|
" from return types of some <code><span class="identifier">path</span></code>
|
|
" methods. This could prevent move construction and move assignment
|
|
" at the call site in some cases. (<a href="https://github.com/boostorg/filesystem/issues/160">#160</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On OpenBSD 4.4 and newer, use <code><span class="identifier">statvfs</span></code>
|
|
" system call to obtain filesystem space information. (Inspired by
|
|
" <a href="https://github.com/boostorg/filesystem/pull/162">PR#162</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/gil/">GIL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" BREAKING: In next release, we are going to drop support for GCC 5.
|
|
" We may also change the required minimum C++ version from C++11 to
|
|
" C++14.
|
|
" </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://github.com/boostorg/interprocess/issues/127">#127</a>: static assertion failure with boost interprocess
|
|
" 1.74 and basic_managed_shared_memory.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </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://github.com/boostorg/intrusive/pull/48">PR#48</a>: MSVC "assignment within conditional"
|
|
" warning fix.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/intrusive/pull/49">PR#49</a>: Fix empty control statement warnings.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/intrusive/issues/52">#52</a>: Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </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>
|
|
" Corrected the file counter that would be used in <code><span class="identifier">text_file_backend</span></code> when generating
|
|
" the target file name (based on the pattern set by <code><span class="identifier">set_target_file_name_pattern</span></code>
|
|
" method) when the log file is rotated. (<a href="https://github.com/boostorg/log/issues/125">#125</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Replaced a volatile version counter in <code><span class="identifier">basic_sink_frontend</span></code>
|
|
" with an atomic. (<a href="https://github.com/boostorg/log/issues/128">#128</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In the <code><span class="identifier">asynchronous_sink</span></code>
|
|
" frontend, resolved a possible conflict between <code><span class="identifier">flush</span></code> and <code><span class="identifier">run</span></code>
|
|
" methods, if <code><span class="identifier">run</span></code>
|
|
" is called from a user's thread instead of the internal dedicated
|
|
" thread spawned by the frontend. (<a href="https://github.com/boostorg/log/issues/131">#131</a>)
|
|
" </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/move/">Move</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed bugs:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/move/issues/30">#30</a>: (void) C-cast is a non-portable way of suppressing
|
|
" compiler warnings.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/mp11/">Mp11</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_pairwise_fold</span></code>
|
|
" (suggested by Barry Revzin)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed <code><span class="identifier">mp_invoke</span></code>
|
|
" (use <code><span class="identifier">mp_invoke_q</span></code>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/polygon/">Polygon</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" C++20 fixes for <code><span class="identifier">event_comparison_type</span></code>,
|
|
" <code><span class="identifier">vertex_equality_predicate_type</span></code>,
|
|
" and <code><span class="identifier">voronoi_predicates</span></code>.
|
|
" (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/outcome/">Outcome</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Announcements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" After a year and three major Boost releases announcing this
|
|
" upcoming change, this is the FINAL RELEASE of the v2.1 branch.
|
|
" From Boost 1.76 onwards, the v2.2 branch becomes the default.
|
|
" This branch has a number of major breaking changes to Outcome
|
|
" v2.1, see the documentation for details.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Enhancements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The ADL discovered event hooks have been replaced with policy-specified
|
|
" event hooks instead. This is due to brittleness (where hooks
|
|
" would quietly self-disable if somebody changed something),
|
|
" compiler bugs (a difference in compiler settings causes the
|
|
" wrong hooks, or some but not all hooks, to get discovered),
|
|
" and end user difficulty in using them at all. The policy-specified
|
|
" event hooks can be told to default to ADL discovered hooks
|
|
" for backwards compatibility: set <code><span class="identifier">OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</span></code>
|
|
" to less than <code><span class="number">220</span></code>
|
|
" to enable emulation.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improve configuring <code><span class="identifier">OUTCOME_GCC6_CONCEPT_BOOL</span></code>.
|
|
" Older GCCs had boolean based concepts syntax, whereas newer
|
|
" GCCs are standards conforming. However the precise logic of
|
|
" when to use legacy and conforming syntax was not well understood,
|
|
" which caused Outcome to fail to compile depending on what options
|
|
" you pass to GCC. The new logic always uses the legacy syntax
|
|
" if on GCC 8 or older, otherwise we use conforming syntax if
|
|
" and only if GCC is in C++ 20 mode or later. This hopefully
|
|
" will resolve the corner case build failures on GCC.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Boost.Outcome should now compile with <code><span class="identifier">BOOST_NO_EXCEPTIONS</span></code>
|
|
" defined. Thanks to Emil, maintainer of Boost.Exception, making
|
|
" a change for me, Boost.Outcome should now compile with C++
|
|
" exceptions globally disabled. You won't be able to use <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">exception_ptr</span></code> as it can't
|
|
" be included if C++ exceptions are globally disabled.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/ned14/outcome/issues/236">#236</a>
|
|
" In the Coroutine support the <code><span class="identifier">final_suspend</span><span class="special">()</span></code> was not <code><span class="keyword">noexcept</span></code>,
|
|
" despite being required to be so in the C++ 20 standard. This
|
|
" has been fixed, but only if your compiler implements <code><span class="identifier">noop_coroutine</span></code>. Additionally,
|
|
" if <code><span class="identifier">noop_coroutine</span></code>
|
|
" is available, we use the much more efficient coroutine handle
|
|
" returning variant of <code><span class="identifier">await_suspend</span><span class="special">()</span></code> which should significantly
|
|
" improve codegen and context switching performance.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/preprocessor/">Preprocessor</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" When variadic data is empty in C++20 mode with __VA_OPT__ support
|
|
" the variadic size has been corrected to be 0. This also means that
|
|
" in this C++20 mode it is now valid to convert to and from empty arrays
|
|
" and lists and variadic data. The end-user can read the "C++20
|
|
" Support For Variadic Macros" part of the "variadic macros"
|
|
" topic for more information about empty variadic data in the library.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" A number of the limits defined in the config/limits.hpp can now be
|
|
" changed to higher amounts for a TU. The end-user should read the
|
|
" "limitations" topic to understand how and which limits
|
|
" can be changed.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The library has been upgraded to assume variadic macro support for
|
|
" any compiler working with the library. Ostensibly this means that
|
|
" the library is now a C++11 on up library, yet most of the major compilers,
|
|
" including gcc, clang, and VC++, also support variadic macros in C++98/C++03
|
|
" mode as long as strict compliance to C++98/C++03 is not turned on
|
|
" when using one of those compilers.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/system/">System</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The platform-specific headers <code><span class="identifier">windows_error</span><span class="special">.</span><span class="identifier">hpp</span></code>,
|
|
" <code><span class="identifier">linux_error</span><span class="special">.</span><span class="identifier">hpp</span></code>, and <code><span class="identifier">cygwin_error</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" emit deprecation messages and are slated for removal.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The old names for <code><span class="identifier">generic_category</span><span class="special">()</span></code> and <code><span class="identifier">system_category</span><span class="special">()</span></code> emit deprecation messages and are
|
|
" slated for removal.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">error_condition</span><span class="special">::</span><span class="identifier">failed</span></code> is deprecated and is slated
|
|
" for removal. <code><span class="keyword">operator</span> <span class="keyword">bool</span><span class="special">()</span></code>
|
|
" for <code><span class="identifier">error_condition</span></code>
|
|
" has been reverted to its old meaning of <code><span class="identifier">value</span><span class="special">()</span> <span class="special">!=</span> <span class="number">0</span></code>. This is done for compatibility with
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_condition</span></code> as the next release
|
|
" is expected to improve interoperability with <code><span class="special"><</span><span class="identifier">system_error</span><span class="special">></span></code>
|
|
" even further. <em>Note that this does not
|
|
" affect</em> <code><span class="identifier">error_code</span><span class="special">::</span><span class="identifier">failed</span></code>,
|
|
" which is still alive and well.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The overload of <code><span class="identifier">error_condition</span><span class="special">::</span><span class="identifier">message</span></code>
|
|
" that takes a buffer is deprecated and is slated for removal, for
|
|
" the same reasons. <em>Note that this does
|
|
" not affect</em> <code><span class="identifier">error_code</span><span class="special">::</span><span class="identifier">message</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/vmd/">VMD</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The VMD number parsing has been upgraded to support the ability for
|
|
" the end-user to change the number limits in the Preprocessor library.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The macro BOOST_VMD_IS_GENERAL_IDENTIFIER has been added to support
|
|
" the parsing of input that represents a preprocessor token which matches
|
|
" the VMD identifier syntax, without having to register the identifier
|
|
" as a specific identifier.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_75_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_75_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"1605b9df261192a63e698d941c4850773e7a65a61a46bb9d507f21ceff9bd0f0
|
|
-id
|
|
"version_1_75_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.75.0
|
|
)
|
|
(feed/history/boost_1_76_0.qbk:1.76.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_76_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_76_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/bind/">Bind</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Add support for using the standard C++11 placeholders with <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">apply</span></code> to use variadic templates
|
|
" and perfect forwarding.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This update brings minor bug fixes and revamped CI reporting.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" We'd love to know how you or your company use Beast, consider adding
|
|
" an entry to the <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Companies
|
|
" and Individuals Using Beast</a> list.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/math/">Math</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking Change:</strong> C++03 support is
|
|
" now removed, a C++11 or later conformant compiler is now required
|
|
" to use this library.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <span class="link">Z-test</span>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added execution policy support to univariate and bivariate statistics:
|
|
" enables parallel execution (requires C++17 and <code><span class="special"><</span><span class="identifier">execution</span><span class="special">></span></code>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Big update/improvement on CI testing.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bivariate statistics now have integer support.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" T-Test now has integer support.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Linear regression now has integer support.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct PDF of the beta distribution at the endpoints.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct use of Stirling's approximation in certain multiprecision
|
|
" cases, fixes <a href="https://github.com/boostorg/math/issues/396">#396</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Eliminate -Wimplicit-int-float-conversion on clang.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix some constexpr issues in quaternion/octonion.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Minor performance fix to tanh_sinh integration.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update hypergeometric functions internal scaling to allow for 64-bit
|
|
" (long long) exponents with multiprecision types.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multiprecision/">Multiprecision</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>BREAKING CHANGE</strong>: Massive refactoring
|
|
" and code simpification makes C++11 an absolute requirement.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use BOOST_TRY/CATCH in headers so code can be used in exception-free
|
|
" environments.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct corner case in pow, fixes <a href="https://github.com/boostorg/multiprecision/issues/277">#277</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct exception type thrown to match docs in lsb/msb: fixes <a href="https://github.com/boostorg/multiprecision/issues/257">#257</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Allow moves and operators between related but different types (ie
|
|
" types with the same allocator), fixes <a href="https://github.com/boostorg/multiprecision/issues/278">#278</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/gil/">GIL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" BREAKING: In next release, we are going to drop support for GCC 5.
|
|
" We will also change the required minimum C++ version from C++11 to
|
|
" C++14.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/outcome/">Outcome</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Announcements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" BREAKING CHANGE: After a year and three major Boost releases
|
|
" announcing this upcoming change, this is the FIRST RELEASE
|
|
" of the v2.2 branch. This branch has a number of major breaking
|
|
" changes to the Outcome v2.1 which shipped in Boost 1.75 and
|
|
" earlier, see the documentation for details.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Enhancements:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" VS2019.8 changed how to enable Coroutines, which caused Outcome
|
|
" to not compile on that compiler.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" If on C++ 20, we now use C++ 20 <code><span class="special">[[</span><span class="identifier">likely</span><span class="special">]]</span></code>
|
|
" instead of compiler-specific markup to indicate when TRY has
|
|
" likely success or failure.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" BREAKING CHANGE: Previously the value of <code><span class="identifier">spare_storage</span><span class="special">(</span><span class="keyword">const</span>
|
|
" <span class="identifier">basic_result</span><span class="special">|</span><span class="identifier">basic_outcome</span> <span class="special">*)</span>
|
|
" <span class="keyword">noexcept</span></code> was not propagated
|
|
" over <code><span class="identifier">BOOST_OUTCOME_TRY</span></code>,
|
|
" which causes things like stack backtraces captured at the point
|
|
" of construction of an errored result to get dropped at every
|
|
" <code><span class="identifier">TRY</span></code> point.
|
|
" This has been fixed by adding an optional <code><span class="identifier">spare_storage</span></code>
|
|
" to <code><span class="identifier">success_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> and <code><span class="identifier">failure_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>, as well as to <code><span class="keyword">auto</span> <span class="identifier">success</span><span class="special">(</span><span class="identifier">T</span>
|
|
" <span class="special">&&,</span> <span class="special">...)</span></code>
|
|
" and <code><span class="keyword">auto</span> <span class="identifier">failure</span><span class="special">(</span><span class="identifier">T</span>
|
|
" <span class="special">&&,</span> <span class="special">...)</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Boost.Outcome should now compile with <code><span class="identifier">BOOST_NO_EXCEPTIONS</span></code>
|
|
" defined. Thanks to Emil, maintainer of Boost.Exception, making
|
|
" a change for me, Boost.Outcome should now compile with C++
|
|
" exceptions globally disabled. You won't be able to use <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">exception_ptr</span></code> as it can't
|
|
" be included if C++ exceptions are globally disabled.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" BREAKING CHANGE <a href="https://github.com/ned14/outcome/issues/244">#244</a>
|
|
" It came as a shock to learn that <code><span class="identifier">BOOST_OUTCOME_TRY</span></code>
|
|
" had been broken since the inception of this library for certain
|
|
" corner case code, which required a breaking change in how TRY
|
|
" works. See <a href="https://boostorg.github.io/outcome/changelog.html">the
|
|
" changelog in the documentation for more detail</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/json/">Json</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Several bug fixes.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/json/doc/html/json/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Worked around <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95888">GCC
|
|
" bug</a> affecting GCC versions 9.3-10.2 (issue <a href="https://github.com/boostorg/poly_collection/issues/20">#20</a>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Version 1.13
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add <code><span class="identifier">ARCH_PPC_64</span></code> predef.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix <code><span class="identifier">ARCH_WORD_BITS</span><span class="special">*</span></code> redefinition warnings/errors.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add <code><span class="identifier">ARCH_E2K</span></code>, Elbrus
|
|
" 2000, architecture from Konstantin Ivlev.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix not handling recent C++ version that go above 10.x version.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Version 1.12
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Switch to using the endian.h header on OpenBSD. (Brad Smith)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix not handling recent versions of stdcxx that go above version
|
|
" 9.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix including sub-BSD OS headers directly causing redef warnings.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add CI testing of direct inclusion of all headers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add CI testing on FreeBSD for clang and gcc.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add <code><span class="identifier">WORD_BITS</span></code> set
|
|
" of predefs to detect the architecture word size. Initial implementation
|
|
" inspired by submission from Mikhail Komarov.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add CI testing for Cygwin 32 and 64.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/regex/">Regex</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Regex is now header only except in C++03 mode.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Support for C++03 is now deprecated.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The library can now be used "standalone" without the rest
|
|
" of Boost being present.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/type_traits/">Type Traits</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fix for Visual Studio managed code projects.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant2/">Variant2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improved generated code for the double buffered case.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_76_0.updated_tools">
|
|
" <h3><span class="link">Updated Tools</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/tools/build/">Build</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Includes release of <a href="/tools/build/doc/html/#_version_4_4_1">B2
|
|
" version 4.4.1</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_76_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_76_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"e65e1407a2271f01d6dc2a63e9c6fb886f25c314d61ea2b5b8c9439040fe2609
|
|
-id
|
|
"version_1_76_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.76.0
|
|
)
|
|
(feed/history/boost_1_77_0.qbk:1.77.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_77_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/describe/">Describe</a>:</span> A C++14 reflection
|
|
" library, from Peter Dimov. Provides macros for describing enumerators and
|
|
" struct/class members, and primitives for querying this information.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/lambda2/">Lambda2</a>:</span> A C++14, dependency-free,
|
|
" single header lambda library, from Peter Dimov. Allows simple function
|
|
" objects to be constructed via expressions such as <code><span class="identifier">_1</span>
|
|
" <span class="special">+</span> <span class="number">5</span></code>,
|
|
" <code><span class="identifier">_1</span> <span class="special">%</span>
|
|
" <span class="number">2</span> <span class="special">==</span> <span class="number">0</span></code>, <code><span class="identifier">_1</span>
|
|
" <span class="special">></span> <span class="identifier">_2</span></code>,
|
|
" or <code><span class="identifier">_1</span> <span class="special">==</span>
|
|
" <span class="char">' '</span> <span class="special">||</span> <span class="identifier">_1</span> <span class="special">==</span> <span class="char">'\t'</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_77_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>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">anys</span><span class="special">::</span><span class="identifier">basic_any</span></code> - a data type with customizable
|
|
" Small Object Optimization whose instances can hold instances of any
|
|
" type that satisfies ValueType requirements (many thanks to Ruslan
|
|
" Arutyunyan @rarutyun). If you are not sure that you really need it,
|
|
" then use <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">any</span></code> instead.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Started using GithubActions CI for additional testing
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">make_atomic_ref</span></code>
|
|
" and <code><span class="identifier">make_ipc_atomic_ref</span></code>
|
|
" factory functions for constructing atomic reference objects.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added C++17 template argument deduction guides for <code><span class="identifier">atomic_ref</span></code> and <code><span class="identifier">ipc_atomic_ref</span></code>
|
|
" to allow omitting template arguments when they can be deduced from
|
|
" constructor arguments.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/conversion/">Conversion</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">implicit_cast</span></code> is now <code><span class="keyword">constexpr</span></code> (<a href="https://github.com/boostorg/conversion/issues/25">#25</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed broken links (<a href="https://github.com/boostorg/conversion/pull/23">PR#23</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Started using GithubActions CI for additional testing
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/core/">Core</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">uncaught_exceptions</span><span class="special">.</span><span class="identifier">hpp</span></code> has been modified for compatibility
|
|
" with Mac OS 10.4 and older. (<a href="https://github.com/boostorg/core/pull/92">PR#92</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" More runtime checks for malformed ELFs in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">library_info</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">library_info</span></code> use info from <code><span class="special">.</span><span class="identifier">dynsym</span></code>
|
|
" ELF section if <code><span class="special">.</span><span class="identifier">symtab</span></code>
|
|
" is empty or missing
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" List protected ELF symbols in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">library_info</span></code>
|
|
" as they are available for import (<a href="https://github.com/boostorg/dll/issues/50">#50</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Remove unneeded convert from <code><span class="keyword">wchar_t</span></code>
|
|
" to char on POSIX environment, thanks to Vladislav Shchapov (<a href="https://github.com/boostorg/dll/pull/49">PR#49</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Started using GithubAction CI for additional testing
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Introducing Boost.Filesystem v4.</strong>
|
|
" This new version of the library removes all deprecated features of
|
|
" v3 and also makes a number of breaking API changes intended to make
|
|
" Boost.Filesystem more compatible with std::filesystem introduced
|
|
" in C++17. The differences are described in the release notes and
|
|
" documentation using <strong>v3</strong> and <strong>v4</strong> tags and are also summarised in a separate
|
|
" section. Users can select Boost.Filesystem version by defining <code><span class="identifier">BOOST_FILESYSTEM_VERSION</span></code> macro
|
|
" to either 3 or 4 when compiling their code. There is no need to separately
|
|
" compile Boost.Filesystem for each library version - a single binary
|
|
" supports both v3 and v4. Users should avoid using both v3 and v4
|
|
" in the same application as this can lead to subtle bugs. Currently,
|
|
" v3 is the default. In a future release v4 will become the default,
|
|
" and eventually v3 will be removed. v4 is functional, but it is still
|
|
" a work in progress and there may be breaking API changes in the future.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>v4:</strong> <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">filename</span></code>,
|
|
" <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">stem</span></code> and <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">extension</span></code>
|
|
" no longer consider root name or root directory of the path as a filename
|
|
" if the path only consists of those components. For example, on Windows
|
|
" <code><span class="identifier">path</span><span class="special">(</span><span class="string">"C:"</span><span class="special">).</span><span class="identifier">filename</span><span class="special">()</span></code>
|
|
" used to return "C:" and <code><span class="identifier">path</span><span class="special">(</span><span class="string">"C:\\"</span><span class="special">).</span><span class="identifier">filename</span><span class="special">()</span></code> used to return "\" and
|
|
" both will return an empty path now. (<a href="https://github.com/boostorg/filesystem/issues/88">#88</a>, <a href="https://github.com/boostorg/filesystem/issues/194">#194</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>v4:</strong> <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">stem</span></code>
|
|
" and <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">extension</span></code> no longer treat a filename
|
|
" that starts with a dot and has no other dots as an extension. Filenames
|
|
" starting with a dot are commonly treated as filenames with an empty
|
|
" extension. The leading dot is used to indicate a hidden file on most
|
|
" UNIX-like systems. (<a href="https://github.com/boostorg/filesystem/issues/88">#88</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Improved support for various
|
|
" path prefixes on Windows. Added support for local device prefix ("\.")
|
|
" and experimental support for NT path prefix ("??"). The
|
|
" prefixes will be included in the root name of a path. Note that using
|
|
" the prefixes with Boost.Filesystem v3 can lead to surprising results
|
|
" (e.g. <code><span class="identifier">path</span><span class="special">(</span><span class="string">"\\\\.\\"</span><span class="special">).</span><span class="identifier">stem</span><span class="special">()</span>
|
|
" <span class="special">==</span> <span class="string">"\\\\"</span></code>).
|
|
" It is recommended to use the prefixes only with Boost.Filesystem
|
|
" v4.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Reworked <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">lexically_normal</span></code> implementation
|
|
" to eliminate some cases of duplicate dot (".") elements
|
|
" in the normalized paths.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added runtime detection of
|
|
" the <code><span class="identifier">statx</span></code> and <code><span class="identifier">getrandom</span></code> system calls on Linux.
|
|
" This can be useful if the syscall is present at compile time but
|
|
" fails with <code><span class="identifier">ENOSYS</span></code>
|
|
" at run time (for example, in Docker containers that restrict the
|
|
" syscall, even if available on the host). (<a href="https://github.com/boostorg/filesystem/issues/172">#172</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added support for disabling
|
|
" usage of various system APIs at library build time. This can be useful
|
|
" when a certain API is detected as present by the library configuration
|
|
" scripts but must not be used for some reason (for example, when runtime
|
|
" detection does not work on the target system). See the description
|
|
" of configuration macros in the library documentationfor for more
|
|
" details.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added <code><span class="identifier">copy_options</span><span class="special">::</span><span class="identifier">synchronize_data</span></code>
|
|
" and <code><span class="identifier">copy_options</span><span class="special">::</span><span class="identifier">synchronize</span></code>
|
|
" options for the <code><span class="identifier">copy_file</span></code>
|
|
" operation. These options allow to synchronize the written data and
|
|
" attributes with the permanent storage. These options are expensive
|
|
" in terms of performance, but allow to ensure reliability of the copied
|
|
" data. Note that <code><span class="identifier">copy_file</span></code>
|
|
" performed implicit data synchronization on POSIX systems since Boost.Filesystem
|
|
" 1.74.0. This release adds support for more platforms and disables
|
|
" data synchronization by default while allowing the caller to explicitly
|
|
" request it. (<a href="https://github.com/boostorg/filesystem/issues/186">#186</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added handling of <code><span class="identifier">EINTR</span></code>
|
|
" error code on POSIX systems for some system calls issued internally.
|
|
" In particular, <code><span class="identifier">EINTR</span></code>
|
|
" could have been ignored on <code><span class="identifier">close</span></code>,
|
|
" which on HP-UX would result in a leaked file descriptor.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In the <code><span class="identifier">copy_file</span></code>
|
|
" implementations based on Linux <code><span class="identifier">sendfile</span></code>
|
|
" and <code><span class="identifier">copy_file_range</span></code>
|
|
" system calls, added handling of error codes indicating that a particular
|
|
" filesystem does not support the system call and fall back to the
|
|
" generic <code><span class="identifier">read</span></code>/<code><span class="identifier">write</span></code> loop. This should fix <code><span class="identifier">copy_file</span></code> failing on <a href="https://www.ecryptfs.org/">eCryptFS</a>
|
|
" and possibly other filesystems. (<a href="https://github.com/boostorg/filesystem/issues/184">#184</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The <code><span class="identifier">copy_file_range</span></code>
|
|
" system call is now used since Linux kernel 4.5, whereas previously
|
|
" it was only enabled since 5.3. The <code><span class="identifier">copy_file</span></code>
|
|
" implementation will fall back to <code><span class="identifier">sendfile</span></code>
|
|
" or <code><span class="identifier">read</span></code>/<code><span class="identifier">write</span></code> loop if <code><span class="identifier">copy_file_range</span></code>
|
|
" fails to copy a given file across filesystems.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The <code><span class="identifier">copy_file</span></code> implementations
|
|
" based on Linux <code><span class="identifier">sendfile</span></code>
|
|
" and <code><span class="identifier">copy_file_range</span></code>
|
|
" system calls will not be used on filesystems that are known to contain
|
|
" files with generated content. These system calls are incompatible
|
|
" with such files, and copying them would result in zero-sized files.
|
|
" The generic <code><span class="identifier">read</span></code>/<code><span class="identifier">write</span></code> loop will be used instead.
|
|
" Currently, the blacklisted filesystems are: procfs, sysfs, tracefs
|
|
" and debugfs.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In the <code><span class="identifier">copy_file</span></code>
|
|
" implementation based on <code><span class="identifier">read</span></code>/<code><span class="identifier">write</span></code> loop, increased the maximum
|
|
" size of the buffer used for temporary storage and take into account
|
|
" the target filesystem block size for more optimal performance.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows CE, calling <code><span class="identifier">current_path</span></code>
|
|
" to obtain the current path for a process will now fail with an error
|
|
" instead of returning successfully with a root path. This platform
|
|
" does not support current directory. Changing the current path was
|
|
" already failing similarly in previous releases of Boost.Filesystem.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">canonical</span></code>, fixed
|
|
" the check for a symlink referencing a directory above root, if an
|
|
" earlier symlink was resolved to an absolute path with a different
|
|
" root from the original path.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">canonical</span></code>, added
|
|
" a limit for the maximum number of symlinks that can be resolved during
|
|
" the call. The limit is currently at least 40 symlinks.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, <code><span class="identifier">canonical</span></code>
|
|
" and <code><span class="identifier">weakly_canonical</span></code>
|
|
" will now use <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">preferred_separator</span></code>
|
|
" for the root directory separator in the resulting paths. This fixes
|
|
" "file not found" errors caused by Windows API not handling
|
|
" generic separators in UNC paths and paths that start with the Win32
|
|
" filesystem prefix ("\?"). (<a href="https://github.com/boostorg/filesystem/issues/87">#87</a>, <a href="https://github.com/boostorg/filesystem/issues/187">#187</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>New:</strong> Added <code><span class="identifier">weakly_canonical</span></code>
|
|
" overloads taking <code><span class="identifier">base</span></code>
|
|
" path as an argument.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">read_symlink</span></code> on
|
|
" Windows, corrected reparse point handling. The operation would return
|
|
" an empty path for some mount points (for example, created by <a href="https://www.box.com/">Box</a> cloud storage driver) and
|
|
" directory junction points that had empty print names. The new implementation
|
|
" now parses substitute name of the reparse point and attempts to reconstruct
|
|
" a Win32 path from it. (<a href="https://github.com/boostorg/filesystem/issues/187">#187</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, file streams provided in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">fstream</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" will use wide character paths on libc++ versions 7.0 and higher,
|
|
" when the standard library supports opening files with wide character
|
|
" paths. (<a href="https://github.com/boostorg/filesystem/issues/181">#181</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, creating symlinks should no longer require elevated privileges,
|
|
" if Windows is configured in <a href="https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development">Developer
|
|
" mode</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" With some compilers, global objects used internally in Boost.Filesystem
|
|
" are now destroyed after user's global destructors are called. This
|
|
" allows to call Boost.Filesystem methods during the program termination
|
|
" stage. In particular, this concerns the path locale that is used
|
|
" for character code conversion and can be installed by calling <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">imbue</span></code>. The supported compilers
|
|
" include MSVC, GCC and Clang, as well as other compilers that support
|
|
" customizing program initialization order through <code><span class="preprocessor">#pragma</span>
|
|
" <span class="identifier">section</span></code> (for MSVC-compatible
|
|
" compilers) or <code><span class="identifier">__attribute__</span>
|
|
" <span class="special">((</span><span class="identifier">init_priority</span><span class="special">))</span></code> (for GCC-compatible compilers).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/lexical_cast/">LexicalCast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed assignment to an int of a floating point value that is out
|
|
" of representable range for int.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Started using GithubActions CI for additional testing
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/log/">Log</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation for riscv32 target. (<a href="https://github.com/boostorg/log/pull/150">PR#150</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/mp11/">Mp11</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">mp_intersperse</span></code>,
|
|
" <code><span class="identifier">mp_split</span></code>, <code><span class="identifier">mp_join</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/pfr/">PFR</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" A MurMur Hash based implementation of hash_combine() is now used
|
|
" to reduce collisions count and improve quality of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">pfr</span><span class="special">::</span><span class="identifier">hash_value</span><span class="special">()</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Visual Studio 2017 now supported in C++14 mode (thanks to Denis Mikhailov
|
|
" aka @denzor200)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Issues found by inspect tool were fixed
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed some warnings, including removal of extra semicolons in include/boost/pfr/detail/fields_count.hpp
|
|
" (<a href="https://github.com/boostorg/pfr/issues/72">#72</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a compile time assert for inherited types (thanks to Denis
|
|
" Mikhailov aka @denzor200)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Reflection of aggregates with non movable fields is now possible
|
|
" if guaranteed copy elision is on
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed spelling issues
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Started using GithubActions CI for additional testing
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/system/">System</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The conversion operator from <code><span class="identifier">error_category</span></code>
|
|
" to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_category</span></code> has been improved
|
|
" and no longer requires <code><span class="special"><</span><span class="identifier">map</span><span class="special">></span></code>
|
|
" or <code><span class="special"><</span><span class="identifier">mutex</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The comparison operators of <code><span class="identifier">error_category</span></code>
|
|
" are now inline friends instead of member functions (a side effect
|
|
" of the previous change.)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">error_condition</span></code> now
|
|
" defers calling <code><span class="identifier">generic_category</span><span class="special">()</span></code> to avoid instantiating the object
|
|
" until it's actually needed.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">error_condition</span><span class="special">::</span><span class="identifier">failed</span></code> and <code><span class="identifier">error_condition</span><span class="special">::</span><span class="identifier">message</span></code>
|
|
" have been undeprecated, and <code><span class="keyword">operator</span>
|
|
" <span class="keyword">bool</span><span class="special">()</span></code>
|
|
" now once again returns <code><span class="identifier">failed</span><span class="special">()</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The system category now doesn't call <code><span class="identifier">generic_category</span><span class="special">()</span></code>, to avoid instantiating the object.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The return value of <code><span class="identifier">default_error_condition</span></code>
|
|
" changes in some cases into an <code><span class="identifier">error_condition</span></code>
|
|
" from the generic category, instead of from the system category. This
|
|
" happens on POSIX when the input <code><span class="identifier">error_code</span></code>
|
|
" is from the system category and does not correspond to any <code><span class="identifier">errc_t</span></code> value.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The interoperability of <code><span class="identifier">error_code</span></code>
|
|
" and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code> has been improved substantially.
|
|
" It is now possible to construct <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span></code>
|
|
" from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code>, and it's possible to
|
|
" pass <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span></code> to functions taking
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" A stream insertion operator for <code><span class="identifier">error_condition</span></code>
|
|
" has been added.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/uuid/">Uuid</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">to_chars</span></code> for
|
|
" writing uuid strings without allocating (<a href="https://github.com/boostorg/uuid/pull/116">PR#116</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_77_0.updated_tools">
|
|
" <h3><span class="link">Updated Tools</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/tools/build/">Build</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Includes release of <a href="/tools/build/doc/html/#_version_4_6_1">B2
|
|
" version 4.6.1</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_77_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.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 3.4, 11.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++20: 11.0.0, 12.0.0, 13.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC: 4.6.3, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++11: 4.7.3, 4.8.5, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++20: 8.0.1, 9.1.0, 10, 11
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++11: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++14: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++17: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++20: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Windows:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" </div>
|
|
" <div id="version_1_77_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" Marshall Clow, Michael Caisse and Glen Fernandes managed this release.
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"1deb07865df1bb560e08a6ed4823f6858298c022db332ea85e8a393c02453c82
|
|
-id
|
|
"version_1_77_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.77.0
|
|
)
|
|
(feed/history/boost_1_78_0.qbk:1.78.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_78_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" No new libraries.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_78_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/assert/">Assert</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">source_location</span><span class="special">::</span><span class="identifier">to_string</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" This maintenance update brings minor bug fixes and updated CI reporting.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed security vulnerability CVE-2016-9840 in zlib implementation.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed WebSocket permessage_deflate implementation. This should result
|
|
" in an increase in compression performance when using Beast WebSockets.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed the test stream and test framework's dependency on RTTI.
|
|
" You can now use our handy test stream to check your embedded asynchronous
|
|
" communications code!
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" We'd love to know how you or your company use Beast, consider adding
|
|
" an entry to the <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Companies
|
|
" and Individuals Using Beast</a> list.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/core/">Core</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added a generic implementation to <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">cmath</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>,
|
|
" enabled when <code><span class="identifier">BOOST_CORE_USE_GENERIC_CMATH</span></code>
|
|
" is defined or when the platform does not provide the necessary facilities
|
|
" in <code><span class="special"><</span><span class="identifier">cmath</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">core</span><span class="special">::</span><span class="identifier">type_name</span></code>, a utility function that
|
|
" returns the name of a type as a string.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">span</span></code>, a C++11 implementation of
|
|
" C++20's <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">span</span></code> (Glen Fernandes).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/describe/">Describe</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">has_describe_enumerators</span></code>,
|
|
" <code><span class="identifier">has_describe_bases</span></code>,
|
|
" <code><span class="identifier">has_describe_members</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">enum_to_string</span></code>,
|
|
" <code><span class="identifier">enum_from_string</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added relational and stream insertion operators.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">descriptor_by_name</span></code>,
|
|
" <code><span class="identifier">descriptor_by_pointer</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed missing #include, thanks to Denis Blank (<a href="https://github.com/boostorg/dll/pull/54">PR#54</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Dropped TravisCI in favor of GithubAction CI
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/json/">JSON</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Standalone mode of the library is deprecated.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Allow external libraries to forward declare <code><span class="identifier">value_to</span></code>
|
|
" and <code><span class="identifier">value_from</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed signed integer overflow in number parsing.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add support for <code><span class="special">/</span><span class="identifier">Zc</span><span class="special">:</span><span class="identifier">implicitNoexcept</span><span class="special">-</span></code> on MSVC.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/lambda2/">Lambda2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added special cases in <code><span class="keyword">operator</span><span class="special"><<</span></code> and <code><span class="keyword">operator</span><span class="special">>></span></code> when the first argument is
|
|
" a stream, to allow <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
|
|
" <span class="special"><<</span> <span class="identifier">_1</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="keyword">operator</span><span class="special">->*</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">first</span></code>, <code><span class="identifier">second</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/math/">Math</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Add support for cubic roots.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add support for <code><span class="keyword">constexpr</span></code>
|
|
" versions of various standard library math routines.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add support for Bezier polynomials.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improve worst-case tanh-sinh integration performance.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Disable inadvertant use of integral types in integration routines.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Minor update for erf approximations when the result is with 2ulp
|
|
" of 1.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Allow Bernoulli code to be used on platforms with no atomic integers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improve the mode of the non-central Chi Squared distribution.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improve certain edge cases for <cstdfloat> complex-valued elementary
|
|
" functions, see <a href="https://github.com/boostorg/math/issues/507">#507</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multi_index/">Multi-index Containers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">contains</span></code> to
|
|
" key-based indices (issue <a href="https://github.com/boostorg/multi_index/issues/35">#35</a>).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">merge</span></code> operations
|
|
" to key-based indices. The functionality goes beyond the standard
|
|
" specification for (unordered) associative containers in a number
|
|
" of ways, most notably:
|
|
" </div>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" The source index can be of any type, including non key-based
|
|
" indices.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Partial merge is provided: for instance, <code><span class="identifier">x</span><span class="special">.</span><span class="identifier">merge</span><span class="special">(</span><span class="identifier">y</span><span class="special">,</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">)</span></code> merges only the elements of
|
|
" <code><span class="identifier">y</span></code> within [<code><span class="identifier">first</span></code>,<code><span class="identifier">last</span></code>).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Previous versions of <code><span class="identifier">splice</span></code>
|
|
" for sequenced and random access indices were destructive, i.e. elements
|
|
" were copy-inserted into the destination and then erased from the
|
|
" source. Now, <code><span class="identifier">splice</span></code>
|
|
" is based on node transfer much as <code><span class="identifier">merge</span></code>
|
|
" in key-based indices, and has been similarly extended to accept source
|
|
" indices of any type: in fact, <code><span class="identifier">splice</span></code>
|
|
" can be regarded as a frontend to the same functionality provided
|
|
" by <code><span class="identifier">merge</span></code> in key-based
|
|
" indices. For reasons of backwards compatibility, the destructive
|
|
" behavior of <code><span class="identifier">splice</span></code>
|
|
" has been retained in the case that the source and destination containers
|
|
" have unequal allocators.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" The fact has been documented that index iterator types do only depend
|
|
" on <code><span class="identifier">node_type</span></code> and
|
|
" the position of the index in its <code><span class="identifier">multi_index_container</span></code>,
|
|
" (except for hashed indices, where uniqueness/non-uniqueness is also
|
|
" a dependency). This has implications on the validity of iterators
|
|
" to elements transferred by <code><span class="identifier">merge</span></code>
|
|
" or <code><span class="identifier">splice</span></code>. This property
|
|
" is a variant of what has been called <a href="https://wg21.link/n2980">SCARY
|
|
" iterators</a> in the C++ standard mailing lists. SCARYness is
|
|
" currently (August 2021) not mandated for standard containers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Iterator SCARYness is now also preserved in <a href="/libs/multi_index/doc/tutorial/debug.html#safe_mode">safe
|
|
" mode</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/multiprecision/">Multiprecision</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Rework rational_adaptor to remove dependency on Boost.Rational and
|
|
" improve performance.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix issue with type_traits and clang, see <a href="https://github.com/boostorg/multiprecision/issues/383">#383</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed buggy Lehmer's GCD routine, see <a href="https://github.com/boostorg/multiprecision/issues/370">#370</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix mpc_complex constructors so that lossy conversions are explicit,
|
|
" see <a href="https://github.com/boostorg/multiprecision/issues/363">#363</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct miscellaneous configuration issues (Intel intrinsic usage
|
|
" and Apple clang).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct some iostream operators for unsigned char types.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Correct mpq_rational conversions to integer types, see <a href="https://github.com/boostorg/multiprecision/issues/342">#342</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/pfr/">PFR</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added missing <code><span class="preprocessor">#include</span>
|
|
" <span class="special"><</span><span class="identifier">memory</span><span class="special">></span></code> for inclusion of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">addressof</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed -Wzero-length-array warning when dealing with empty aggregates
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation on msvc compilers <= 1920 (thanks to Alexey
|
|
" Romanov aka @alexey-romanov)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added basic CMakeLists.txt support (thanks to @pdimov aka Peter Dimov)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Multiple improvements for docs, including links to https://github.com/apolukhin/pfr_non_boost
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added misc/strip_boost_namespace.sh script to remove <code><span class="identifier">boost</span><span class="special">::</span></code>
|
|
" and <code><span class="identifier">BOOST_</span></code> prefixes
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Version 1.13.1
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix spelling of "epoch".
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add missing parenthesis in sparc.h (from tkoecker).
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update documentation to use Rouge code styling and Amber general
|
|
" style.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/regex/">Regex</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking Change:</strong> Change \B to be
|
|
" the opposite of \b as per Perl behaviour.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Change w32_regex_traits.hpp so that windows.h is no longer included.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fxed fuzzing related issues <a href="https://github.com/boostorg/regex/issues/156">#151</a>,
|
|
" <a href="https://github.com/boostorg/regex/issues/156">#152</a>,
|
|
" <a href="https://github.com/boostorg/regex/issues/156">#153</a>,
|
|
" <a href="https://github.com/boostorg/regex/issues/156">#156</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/system/">System</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added support for source locations to <code><span class="identifier">error_code</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">error_code</span><span class="special">::</span><span class="identifier">to_string</span></code>,
|
|
" <code><span class="identifier">error_condition</span><span class="special">::</span><span class="identifier">to_string</span></code>, <code><span class="identifier">error_code</span><span class="special">::</span><span class="identifier">what</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">system_error</span><span class="special">::</span><span class="identifier">what</span><span class="special">()</span></code>
|
|
" now contains the source location, if present.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">result</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">E</span> <span class="special">=</span> <span class="identifier">error_code</span><span class="special">></span></code>,
|
|
" a class holding either a value or an error, defined in <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">system</span><span class="special">/</span><span class="identifier">result</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant2/">Variant2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">variant2</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">unsafe_get</span><span class="special"><</span><span class="identifier">I</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">visit_by_index</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="keyword">operator</span><span class="special"><<</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_78_0.updated_tools">
|
|
" <h3><span class="link">Updated Tools</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/tools/build/">Build</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Includes release of <a href="/tools/build/doc/html/#_version_4_7_1">B2
|
|
" version 4.7.1</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_78_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.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 3.4, 11.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++20: 11.0.0, 12.0.0, 13.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC: 4.6.3, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++11: 4.7.3, 4.8.5, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++20: 8.0.1, 9.1.0, 10, 11
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++11: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++14: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++17: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++20: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Windows:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_78_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" Marshall Clow, Michael Caisse and Glen Fernandes managed this release.
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"81764d1e12e4efaacd0273a45cd5f805ff242ac671e2c8c1b280488d3741ce40
|
|
-id
|
|
"version_1_78_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.78.0
|
|
)
|
|
(feed/history/boost_1_79_0.qbk:1.79.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_79_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_79_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/assert/">Assert</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">source_location</span><span class="special">().</span><span class="identifier">file_name</span><span class="special">()</span></code>
|
|
" and <code><span class="identifier">source_location</span><span class="special">().</span><span class="identifier">function_name</span><span class="special">()</span></code> now return <code><span class="string">""</span></code>
|
|
" instead of <code><span class="string">"(unknown)"</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a <code><span class="identifier">source_location</span></code>
|
|
" constructor from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">source_location</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed <code><span class="identifier">BOOST_CURRENT_LOCATION</span></code>
|
|
" to more closely match the behavior of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">source_location</span><span class="special">::</span><span class="identifier">current</span><span class="special">()</span></code>, such as being usable at top level
|
|
" or as a default function argument.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation for Universal Windows Platform (UWP). (<a href="https://github.com/boostorg/atomic/issues/54">#54</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">BOOST_ATOMIC_NO_DARWIN_ULOCK</span></code>
|
|
" configuration macro. The macto affects compilation on Darwin systems
|
|
" and disables <code><span class="identifier">ulock</span></code>-based
|
|
" implementation of waiting and notifying operations. This may be useful
|
|
" to comply with Apple App Store requirements. (<a href="https://github.com/boostorg/atomic/issues/55">#55</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/core/">Core</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Made <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">pointer_traits</span></code> SFINAE friendly,
|
|
" addressing LWG3545. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">allocator_traits</span></code> that uses the
|
|
" individual allocator access traits. This implementation supports
|
|
" C++03 and above. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Updated the allocator access traits to support most of the C++11
|
|
" allocator model in C++03. (Glen Fernandes)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">.</span><span class="identifier">hpp</span></code> is deprecated and will be removed
|
|
" in a future release. The header defines <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
|
" template, which is equivalent to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
|
" in <code><span class="special"><</span><span class="identifier">iterator</span><span class="special">></span></code> header. However, since <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code> is itself deprecated in
|
|
" C++17, users are advised to remove <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
|
" or <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code> use from their code.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">core</span><span class="special">::</span><span class="identifier">verbose_terminate_handler</span></code>, a utility
|
|
" function intended to be passed to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">set_terminate</span></code>
|
|
" that prints information about the uncaught exception to <code><span class="identifier">stderr</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/describe/">Describe</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Enabled unions in <code><span class="identifier">BOOST_DESCRIBE_STRUCT</span></code>
|
|
" and updated examples to check <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">is_union</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added example of defining a <code><span class="identifier">fmtlib</span></code>
|
|
" class formatter.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added example of defining a <code><span class="identifier">fmtlib</span></code>
|
|
" enum formatter.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added example of printing pointers to members.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <strong>v3:</strong> <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">replace_extension</span></code>
|
|
" now works in terms of <strong>v3</strong> definition
|
|
" of <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">extension</span></code> rather than <strong>v4</strong>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation of path appending and concatenation operators with
|
|
" arguments of types convertible to <code><span class="identifier">path</span></code>
|
|
" or compatible string type. (<a href="https://github.com/boostorg/filesystem/issues/223">#223</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On POSIX systems that support <code><span class="identifier">fdopendir</span></code>
|
|
" and <code><span class="identifier">O_NOFOLLOW</span></code> and
|
|
" on Windows, <code><span class="identifier">remove_all</span></code>
|
|
" is now protected against <a href="https://www.cve.org/CVERecord?id=CVE-2022-21658">CVE-2022-21658</a>.
|
|
" The vulnerability is a race condition that allows a third party process
|
|
" to replace a directory that is being concurrently processed by <code><span class="identifier">remove_all</span></code> with a directory symlink
|
|
" and cause <code><span class="identifier">remove_all</span></code>
|
|
" to follow the symlink and remove files in the linked directory instead
|
|
" of removing the symlink itself. (<a href="https://github.com/boostorg/filesystem/issues/224">#224</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, in <code><span class="identifier">remove</span></code>
|
|
" and <code><span class="identifier">remove_all</span></code> implementation,
|
|
" use POSIX semantics for file removal, when supported by the OS (Windows
|
|
" 10 1709 and later). When POSIX semantics is supported, the file name
|
|
" is removed from the filesystem namespace as soon as the file is marked
|
|
" for deletion, even if it is still open and in use. With legacy Windows
|
|
" semantics, the file name remains present in the the filesystem namespace
|
|
" until the last file handle to the file is closed, which allows the
|
|
" file marked for deletion to be opened and prevents creating new files
|
|
" with the same name. (<a href="https://github.com/boostorg/filesystem/issues/216">#216</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, <code><span class="identifier">remove</span></code>
|
|
" and <code><span class="identifier">remove_all</span></code> now
|
|
" support deleting read-only directories. Support for removing read-only
|
|
" non-directory files was added previously.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, <code><span class="identifier">directory_iterator</span></code>
|
|
" internal implementation has been reworked to better utilize modern
|
|
" Windows APIs, which may improve performance while handling symlinks.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, initialize internal WinAPI function pointers early, if
|
|
" possible, to allow Boost.Filesystem operations to be invoked in global
|
|
" constructors. This is only supported on MSVC, GCC, Clang and compatible
|
|
" compilers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, <code><span class="identifier">resize_file</span></code>
|
|
" should no longer fail with an error if the file to be resized is
|
|
" opened.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Disabled use of the <code><span class="identifier">statx</span></code>
|
|
" syscall on Android prior to 11.0 (API version 30). The syscall is
|
|
" blacklisted by seccomp and causes process termination in runtime.
|
|
" (<a href="https://github.com/boostorg/filesystem/issues/229">#229</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Deprecated:</strong> <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">string_file</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" header is deprecated and will be removed in a future release. The
|
|
" header is no longer included by <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">filesystem</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
" by default. Users are advised to implement the functionality themselves
|
|
" or migrate to other implementations.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Deprecated:</strong> Windows CE support is
|
|
" deprecated and will be removed in a future release. Windows CE has
|
|
" been untested for many years and is likely non-functional.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/integer/">Integer</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Optimized <code><span class="identifier">integer_log2</span></code>
|
|
" implementation to use bit operations internally. This allows to employ
|
|
" bit instructions available on most modern CPUs. (<a href="https://github.com/boostorg/integer/issues/31">#31</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/io/">IO</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">io</span><span class="special">::</span><span class="identifier">basic_nullbuf</span></code>, a null stream buffer,
|
|
" and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">basic_onullstream</span></code>, a null output
|
|
" stream (Glen Fernandes).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/iterator/">Iterator</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">counting_iterator</span></code>,
|
|
" added support for built-in 128-bit integer types supported by gcc
|
|
" and clang and compatible compilers on some target platforms.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Silenced gcc warnings about deprecated implicit copy assignment operator
|
|
" in <code><span class="identifier">counting_iterator</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/json/">JSON</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Standalone mode of the library is removed. Users who wish to continue
|
|
" using standalone JSON can switch to <a href="https://github.com/CPPAlliance/standalone-json.git">the
|
|
" C++ Alliance fork</a>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code> overloads.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">source_location</span></code> to <code><span class="identifier">error_codes</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add support for JSON Pointer.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Naturally grow string during serialization.
|
|
" </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>
|
|
" In <code><span class="identifier">text_file_backend</span></code>,
|
|
" added support for appending to a previously written log file,
|
|
" when file rotation is used and log file names use file counters.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <strong>Breaking change:</strong> The <code><span class="identifier">file_collector</span></code> interface
|
|
" has changed:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">scan_for_files</span></code>
|
|
" method returns a <code><span class="identifier">scan_result</span></code>
|
|
" structure that contains information collected during
|
|
" the scan;
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">is_in_storage</span></code>
|
|
" method added for testing if a path refers to a file within
|
|
" the target storage directory.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a new <code><span class="identifier">invoke_manip</span></code>
|
|
" stream manipulator that can be used for injecting user's function
|
|
" into a stream output expression.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Bug fixes:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fixed file counter being set to zero if the user calls <code><span class="identifier">text_file_backend</span><span class="special">::</span><span class="identifier">scan_for_files</span></code> multiple times,
|
|
" and the second and the following calls don't find any new files.
|
|
" (<a href="https://github.com/boostorg/log/issues/179">#179</a>)
|
|
" </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/">Multi-index Containers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improved the efficiency of <code><span class="identifier">count</span></code>
|
|
" operations in ranked indices from <code><span class="identifier">O</span><span class="special">(</span><span class="identifier">log</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">count</span><span class="special">)</span></code>
|
|
" to <code><span class="identifier">O</span><span class="special">(</span><span class="identifier">log</span><span class="special">(</span><span class="identifier">n</span><span class="special">))</span></code>.
|
|
" Contributed by Damian Sawicki.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/nowide/">Nowide</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fix compilation issues on some platforms (e.g. GCC 11 on MinGW-w64
|
|
" and Cygwin)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix missing include when using <code><span class="identifier">BOOST_USE_WINDOWS_H</span></code>
|
|
" and <code><span class="identifier">WIN32_LEAN_AND_MEAN</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add sanity check when using <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">nowide</span><span class="special">::</span><span class="identifier">stat</span></code>
|
|
" with <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">nowide</span><span class="special">::</span><span class="identifier">stat_t</span></code>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Version 1.14.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add detection of LoongArch (from Zhang Na).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/smart_ptr/">Smart Pointers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get_allocator_pointer</span></code> to obtain
|
|
" the Allocator pointer from the result of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">allocate_unique</span></code>
|
|
" (Glen Fernandes).
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/system/">System</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added a <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">source_location</span></code> parameter to <code><span class="identifier">throw_exception_from_error</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">throw_exception_from_error</span></code>
|
|
" overloads for <code><span class="identifier">errc</span><span class="special">::</span><span class="identifier">errc_t</span></code>,
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">errc</span></code>,
|
|
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception_ptr</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">result</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code> now automatically supplies
|
|
" <code><span class="identifier">BOOST_CURRENT_LOCATION</span></code>
|
|
" to <code><span class="identifier">throw_exception_from_error</span></code>
|
|
" via a default argument.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added an <code><span class="identifier">errc</span><span class="special">::</span><span class="identifier">make_error_code</span></code> overload taking
|
|
" a source location.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/throw_exception/">ThrowException</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">throw_with_location</span></code>, a more lightweight
|
|
" alternative of <code><span class="identifier">BOOST_THROW_EXCEPTION</span></code>
|
|
" for programs that do not use Boost.Exception.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" All containers have been updated to support heterogeneous <code><span class="identifier">count</span></code>, <code><span class="identifier">equal_range</span></code>
|
|
" and <code><span class="identifier">find</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" All containers now implement the member function <code><span class="identifier">contains</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <code><span class="identifier">erase_if</span></code> has been
|
|
" implemented for all containers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" All containers have been updated to support heterogeneous <code><span class="identifier">erase</span></code> and <code><span class="identifier">extract</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Changed behavior of <code><span class="identifier">reserve</span></code>
|
|
" to eagerly allocate.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Various warning fixes in the test suite.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update code to internally use <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">allocator_traits</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Switch to Fibonacci hashing.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update documentation to be written in AsciiDoc instead of QuickBook.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/variant2/">Variant2</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="keyword">operator</span><span class="special"><<</span></code>
|
|
" for <code><span class="identifier">monostate</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/wave/">Wave</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" C++11 now required for building Wave itself
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed bugs:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/wave/issues/135">#135</a>: Comma operators in array subscripts are deprecated
|
|
" in C++20
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/wave/issues/137">#137</a>: Simple unknown directive => found_unknown_directive
|
|
" is not called, stripped of pound.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/wave/issues/138">#138</a>: Empty ifdef block does not emit line directive
|
|
" for missing whitespace
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/wave/issues/143">#143</a>: Parsing __has_include() fails with trailing tokens
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/wave/issues/145">#145</a>: Sanitizer complains about reset_version()
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <a href="https://github.com/boostorg/wave/issues/147">#147</a>: bitwise operations between different enumeration
|
|
" types are deprecated
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/leaf/">LEAF</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Support for FreeRTOS and other embedded platforms
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved diagnostic information
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved configuration macros
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" BOOST_LEAF_CHECK using statement expressions under __GNUC__
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed symbol demangling bug
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/qvm/">QVM</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Added constexpr under C++17
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improved single header distribution
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_79_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" <p>
|
|
" Boost's additional test compilers include:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <em>TODO</em>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_79_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" <em>TODO</em>
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"8a281b859b7eaaaadde19837dfc56a1bfeddf1ede537294b158e659a3d1e4ea2
|
|
-id
|
|
"version_1_79_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.79.0
|
|
)
|
|
(feed/history/boost_1_80_0.qbk:1.80.0 beta1
|
|
-description_xhtml
|
|
"
|
|
"
|
|
"
|
|
" <div id="version_1_80_0.new_libraries">
|
|
" <h3><span class="link">New Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" No new libraries.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_80_0.updated_libraries">
|
|
" <h3><span class="link">Updated Libraries</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Improved portability of endianness checks on ARM, AArch32 and AArch64
|
|
" targets. (<a href="https://github.com/boostorg/atomic/issues/59">#59</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed compilation with MSVC 14.0 (Visual Studio 2015) in C++17 mode.
|
|
" (<a href="https://github.com/boostorg/atomic/issues/61">#61</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/beast/">Beast</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fix CVE-2018-25032 in zlib streams
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add <code><span class="identifier">http</span><span class="special">::</span><span class="identifier">message_generator</span></code>: a type-erased
|
|
" buffers generator for <code><span class="identifier">http</span><span class="special">::</span><span class="identifier">message</span></code>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Improve interoperability with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
|
|
" by using <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">core</span><span class="special">::</span><span class="identifier">string_view</span></code> (API change)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use <code><span class="identifier">span</span></code> from Boost.Core
|
|
" (API change)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Use <code><span class="identifier">static_string</span></code>
|
|
" from Boost.StaticString (API change)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
|
|
" Notes</a> for a complete list of changes.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, added a fallback implementation for querying file attributes
|
|
" in case if the file cannot be opened with <code><span class="identifier">ERROR_ACCESS_DENIED</span></code>
|
|
" error. This may allow <code><span class="identifier">status</span></code>
|
|
" and <code><span class="identifier">symlink_status</span></code>
|
|
" to succeed for system files and directories that are not reparse
|
|
" points or symlinks. (<a href="https://github.com/boostorg/filesystem/issues/234">#234</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" On Windows, added a workaround for FAT/exFAT filesystems that produce
|
|
" <code><span class="identifier">ERROR_INVALID_PARAMETER</span></code>
|
|
" when querying file attributes. This affected <code><span class="identifier">status</span></code>
|
|
" and <code><span class="identifier">symlink_status</span></code>,
|
|
" which reported that files do not exist, and directory iterators,
|
|
" which failed to construct, as well as other dependent operations.
|
|
" (<a href="https://github.com/boostorg/filesystem/issues/236">#236</a>, <a href="https://github.com/boostorg/filesystem/issues/237">#237</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/iterator/">Iterator</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" For C++11 and later, added support for perfect forwarding of values
|
|
" written to <code><span class="identifier">function_output_iterator</span></code>.
|
|
" (<a href="https://github.com/boostorg/iterator/pull/73">PR#73</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added protection against writing to <code><span class="identifier">function_output_iterator</span></code>
|
|
" a result of dereferencing another <code><span class="identifier">function_output_iterator</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/leaf/">LEAF</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" API breaking change: throw leaf::exception(....) now becomes leaf::throw_exception(....)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed a bug in support for a rare build configuration (exception
|
|
" handling enabled, diagnostics disabled)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Using nullptr instead of 0 throughout
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fixed pedantic warnings
|
|
" </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 binding incorrect local address in UDP socket-based
|
|
" <code><span class="identifier">syslog_backend</span></code>
|
|
" when IPv6 address is used for the syslog server. (<a href="https://github.com/boostorg/log/issues/181">#181</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a workaround for a <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105857">bug</a>
|
|
" in libstdc++ from gcc 11.2. When <code><span class="identifier">max_size_decor</span></code>
|
|
" was used on a formatting stream, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">codecvt</span><span class="special">::</span><span class="identifier">do_length</span></code>
|
|
" incorrectly accessed the input buffer and caused a buffer overflow.
|
|
" </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/">Multi-index Containers</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Maintenance work.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/stl_interfaces/">STLInterfaces</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Fix <a href="https://github.com/boostorg/stl_interfaces/issues/53">#53</a>: "missing 'typename' prior to dependent
|
|
" type name 'C::const_iterator'"
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Fix <a href="https://github.com/boostorg/stl_interfaces/issues/54">#54</a>: "Concept check fails on .data() of
|
|
" a view on contiguous iterator_interface instantiations"
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" New additions to make it easy to write views and view adaptors that
|
|
" work like, and interoperate with, the ones in the standard library:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Add workalikes for C++23's <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind_back</span><span class="special">()</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">range_adaptor_closure</span></code>
|
|
" for pre-C++23 code.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Add templates <code><span class="identifier">closure</span></code>
|
|
" and <code><span class="identifier">adaptor</span></code>
|
|
" to make writing view adaptors easier, following the examples
|
|
" in <a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2387r3.html">P2387</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/system/">System</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" When an <code><span class="identifier">error_code</span></code>
|
|
" is converted to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code>
|
|
" and then back to <code><span class="identifier">error_code</span></code>,
|
|
" the original is now restored, if possible.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Reworked the conversion from <code><span class="identifier">error_category</span></code>
|
|
" to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_category</span></code> to avoid the one-time
|
|
" allocation that shows up on leak checkers.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a constructor that allows replacing the source location of
|
|
" an <code><span class="identifier">error_code</span></code>, and
|
|
" a corresponding <code><span class="identifier">assign</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added a converting constructor to <code><span class="identifier">result</span></code>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
|
|
" Major update:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <a href="/libs/unordered/doc/html/unordered.html#buckets_fast_closed_addressing_implementation">Refactor</a>
|
|
" internal implementation to be dramatically faster
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Allow <code><span class="identifier">final</span></code> <code><span class="identifier">Hasher</span></code> and <code><span class="identifier">KeyEqual</span></code>
|
|
" objects
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Update documentation, adding benchmark graphs and notes on the new
|
|
" internal data structures
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/libs/utility/">Utility</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">string_view</span></code>/<code><span class="identifier">string_ref</span></code>, fixed <code><span class="identifier">max_size</span></code> returning incorrect value.
|
|
" (<a href="https://github.com/boostorg/utility/issues/91">#91</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Removed <code><span class="keyword">noexcept</span></code> specifier
|
|
" from <code><span class="identifier">string_view</span><span class="special">::</span><span class="identifier">compare</span></code>
|
|
" as it may throw on some input arguments. (<a href="https://github.com/boostorg/utility/issues/94">#94</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" In <code><span class="identifier">string_view</span></code>/<code><span class="identifier">string_ref</span></code>, added support for calling
|
|
" <code><span class="identifier">substr</span></code> with no arguments.
|
|
" (<a href="https://github.com/boostorg/utility/issues/96">#96</a>)
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Added <code><span class="identifier">string_view</span><span class="special">::</span><span class="identifier">contains</span></code>
|
|
" methods that were introduced in C++23. (<a href="https://github.com/boostorg/utility/issues/93">#93</a>)
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_80_0.updated_tools">
|
|
" <h3><span class="link">Updated Tools</span></h3>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" <span class="library"><a href="/tools/build/">Build</a>:</span>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Includes release of <a href="/tools/build/doc/html/#_version_4_9_2">B2
|
|
" version 4.9.2</a>.
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_80_0.compilers_tested">
|
|
" <h3><span class="link">Compilers Tested</span></h3>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <p>
|
|
" Boost's primary test compilers are:
|
|
" </p>
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Linux:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Clang: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++11: 3.4, 11.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Clang, C++20: 11.0.0, 12.0.0, 13.0.0
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC: 4.6.3, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++11: 4.7.3, 4.8.5, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" GCC, C++20: 8.0.1, 9.1.0, 10, 11
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" OS X:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++11: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++14: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++17: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Apple Clang, C++20: 11.0.3
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" <li>
|
|
" <div>
|
|
" Windows:
|
|
" <ul>
|
|
" <li>
|
|
" <div>
|
|
" Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" </li>
|
|
" </ul>
|
|
" </div>
|
|
" <div id="version_1_80_0.acknowledgements">
|
|
" <h3><span class="link">Acknowledgements</span></h3>
|
|
" <p>
|
|
" Marshall Clow, Michael Caisse and Glen Fernandes managed this release.
|
|
" </p>
|
|
" </div>
|
|
"
|
|
-hash
|
|
"e157eb34ec268352bf792e5c1cbb38d227c7ce8dd33d8a036d86819775a99f5e
|
|
-id
|
|
"version_1_80_0
|
|
-notice_url
|
|
-notice_xml
|
|
-pub_date
|
|
-purpose_xml
|
|
"
|
|
" New Libraries: Updated Libraries:
|
|
"
|
|
-title_xml
|
|
"Version 1.80.0
|
|
)
|