mirror of
https://github.com/boostorg/flyweight.git
synced 2026-01-19 04:12:09 +00:00
* resorted to P0522R0-compliant BOOST_FLYWEIGHT_NOT_A_PLACEHOLDER_EXPRESSION for Clang>=19 * (debugging) output __clang_major__ when available * unconditionally use P0522R0-compliant BOOST_FLYWEIGHT_NOT_A_PLACEHOLDER_EXPRESSION * reverted * added clang++-19 job * (debugging) output BOOST_MPL_LIMIT_METAFUNCTION_ARITY * (debugging) #defined BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS * expanded length of BOOST_FLYWEIGHT_NOT_A_PLACEHOLDER_EXPRESSION * tried alternative mechanism (draft) * refined alternative mechanism * documented not_placeholder_expr.hpp machinery * updated release notes
281 lines
7.9 KiB
HTML
281 lines
7.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
|
|
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
<title>Boost.Flyweight Documentation - Release notes</title>
|
|
<link rel="stylesheet" href="style.css" type="text/css">
|
|
<link rel="start" href="index.html">
|
|
<link rel="prev" href="future_work.html">
|
|
<link rel="up" href="index.html">
|
|
<link rel="next" href="acknowledgements.html">
|
|
</head>
|
|
|
|
<body>
|
|
<h1><img src="../../../boost.png" alt="Boost logo" align=
|
|
"middle" width="277" height="86">Boost.Flyweight Release notes</h1>
|
|
|
|
<div class="prev_link"><a href="future_work.html"><img src="prev.gif" alt="future work" border="0"><br>
|
|
Future work
|
|
</a></div>
|
|
<div class="up_link"><a href="index.html"><img src="up.gif" alt="index" border="0"><br>
|
|
Index
|
|
</a></div>
|
|
<div class="next_link"><a href="acknowledgements.html"><img src="next.gif" alt="acknowledgements" border="0"><br>
|
|
Acknowledgements
|
|
</a></div><br clear="all" style="clear: all;">
|
|
<br clear="all" style="clear: all;">
|
|
|
|
<hr>
|
|
|
|
<h2>Contents</h2>
|
|
|
|
<ul>
|
|
<li><a href="#boost_1_90">Boost 1.90 release</a></li>
|
|
<li><a href="#boost_1_87">Boost 1.87 release</a></li>
|
|
<li><a href="#boost_1_83">Boost 1.83 release</a></li>
|
|
<li><a href="#boost_1_82">Boost 1.82 release</a></li>
|
|
<li><a href="#boost_1_81">Boost 1.81 release</a></li>
|
|
<li><a href="#boost_1_74">Boost 1.74 release</a></li>
|
|
<li><a href="#boost_1_73">Boost 1.73 release</a></li>
|
|
<li><a href="#boost_1_71">Boost 1.71 release</a></li>
|
|
<li><a href="#boost_1_69">Boost 1.69 release</a></li>
|
|
<li><a href="#boost_1_60">Boost 1.60 release</a></li>
|
|
<li><a href="#boost_1_58">Boost 1.58 release</a></li>
|
|
<li><a href="#boost_1_57">Boost 1.57 release</a></li>
|
|
<li><a href="#boost_1_56">Boost 1.56 release</a></li>
|
|
<li><a href="#boost_1_55">Boost 1.55 release</a></li>
|
|
<li><a href="#boost_1_45">Boost 1.45 release</a></li>
|
|
<li><a href="#boost_1_44">Boost 1.44 release</a></li>
|
|
<li><a href="#boost_1_40">Boost 1.40 release</a></li>
|
|
<li><a href="#boost_1_39">Boost 1.39 release</a></li>
|
|
<li><a href="#boost_1_38">Boost 1.38 release</a></li>
|
|
</ul>
|
|
|
|
<h2><a name="boost_1_90">Boost 1.90 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Fixed compile errors in Clang 19 and later due to
|
|
<a href="https://wg21.link/p0522r0">P0522R0</a> support.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_87">Boost 1.87 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Added <a href="tutorial/configuration.html#concurrent_factory"><code>concurrent_factory</code></a>,
|
|
a factory based on a concurrent container from
|
|
<a href="../../unordered/index.html">Boost.Unordered</a>
|
|
that provides excellent performance in multithreaded scenarios.</li>
|
|
<li>Marked as <code>noexcept</code> those <code>boost::flyweight</code>
|
|
operations previously documented as not throwing
|
|
(<a href="https://github.com/boostorg/flyweight/issues/15">issue #15</a>).</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_83">Boost 1.83 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Added smart-pointer syntax to <code>boost::flyweight</code> (<code>operator*</code>
|
|
and <code>operator-></code> dereferencing to the underlying value).</li>
|
|
<li>Fixed a situation where the mutex used by
|
|
<a href="reference/locking.html#simple_locking_synopsis"><code>simple_locking</code></a>
|
|
was not recursive
|
|
(<a href="https://github.com/boostorg/flyweight/issues/12">issue #12</a>).</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_82">Boost 1.82 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance work.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_81">Boost 1.81 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance work.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_74">Boost 1.74 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance work.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_73">Boost 1.73 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance work.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_71">Boost 1.71 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance work.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_69">Boost 1.69 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Fixed some issues in GCC related to Boost.MPL placeholder expression handling.</li>
|
|
<li>Maintenance fixes.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_60">Boost 1.60 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance fixes.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_58">Boost 1.58 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Added hash support both with <code>std::hash</code> and
|
|
<a href="../../container_hash/index.html"><code>boost::hash</code></a>. This
|
|
can be optionally <a href="reference/flyweight.html#disable_hash_support">disabled</a>
|
|
to avoid clashes with legacy code where this support has already been defined by
|
|
the user.
|
|
</li>
|
|
<li>Maintenance fixes.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_57">Boost 1.57 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Added serialization support via
|
|
<a href="../../serialization/index.html">Boost Serialization</a>.
|
|
</li>
|
|
<li>
|
|
<code>flyweight</code> default constructor was made <code>explicit</code> in
|
|
Boost 1.56, which introduces a regression in some
|
|
<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1518">initialization
|
|
scenarios</a>. The former non-<code>explicit</code>
|
|
default constructor has been restored
|
|
(ticket <a href="https://svn.boost.org/trac/boost/ticket/10439">#10439</a>).
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_56">Boost 1.56 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>In compilers with variadic template support, <code>boost::flyweight<T></code> now provides
|
|
a perfectly forwarding constructor to <code>T::T</code> (previously an emulation
|
|
was used).</li>
|
|
<li><code>flyweight</code> now replicates the initializer-list constructors and assignment
|
|
operators of its underlying type.</li>
|
|
<li>Fixed intermodule static initialization problem
|
|
(ticket <a href="https://svn.boost.org/trac/boost/ticket/9553">#9553</a>).</li>
|
|
<li>Maintenance fixes.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_55">Boost 1.55 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance fixes.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_45">Boost 1.45 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Fixed a hanging problem with
|
|
<a href="tutorial/configuration.html#intermodule_holder"><code>intermodule_holder</code></a>
|
|
in Win32 platforms related to a Boost.Interprocess issue described at
|
|
ticket <a href="https://svn.boost.org/trac/boost/ticket/4606">#4606</a>.
|
|
</li>
|
|
<li>Removed an internal assertion incompatible with program termination
|
|
via <code>std::exit</code>.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_44">Boost 1.44 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Fixed an incorrect mode of usage of Boost.Variant in
|
|
<a href="examples.html#example3">one of the examples</a>.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_40">Boost 1.40 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Maintenance fixes.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_39">Boost 1.39 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li><a name="refcounted_bug">The <a href="tutorial/configuration.html#refcounted"><code>refcounted</code></a>
|
|
component was not thread-safe due to an incorrect implementation and could deadlock
|
|
under heavy usage conditions. This problem has been corrected.</a>
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h2><a name="boost_1_38">Boost 1.38 release</a></h2>
|
|
|
|
<p>
|
|
<ul>
|
|
<li>Initial release of Boost.Flyweight.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<hr>
|
|
|
|
<div class="prev_link"><a href="future_work.html"><img src="prev.gif" alt="future work" border="0"><br>
|
|
Future work
|
|
</a></div>
|
|
<div class="up_link"><a href="index.html"><img src="up.gif" alt="index" border="0"><br>
|
|
Index
|
|
</a></div>
|
|
<div class="next_link"><a href="acknowledgements.html"><img src="next.gif" alt="acknowledgements" border="0"><br>
|
|
Acknowledgements
|
|
</a></div><br clear="all" style="clear: all;">
|
|
<br clear="all" style="clear: all;">
|
|
|
|
<br>
|
|
|
|
<p>Revised September 20th 2025</p>
|
|
|
|
<p>© Copyright 2006-2025 Joaquín M López Muñoz.
|
|
Distributed under the Boost Software
|
|
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">
|
|
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
|
|
http://www.boost.org/LICENSE_1_0.txt</a>)
|
|
</p>
|
|
|
|
</body>
|
|
</html>
|