Files
flyweight/doc/release_notes.html
joaquintides 575a6852b9 fixed BOOST_FLYWEIGHT_NOT_A_PLACEHOLDER_EXPRESSION in the presence of P0522R0 (#23)
* 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
2025-09-20 12:39:43 +02:00

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-&gt;</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&lt;T&gt;</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>&copy; Copyright 2006-2025 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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>