68 Commits

Author SHA1 Message Date
joaquintides fcd6671d97 fixed compatibility with multi_index 1.91 (#25)
* stopped assuming multi_index_container's index specifier list is a MPL sequence
* updated CI
2025-12-21 13:15:09 +01:00
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
joaquintides 468161b7ba replaced #include <boost/detail/...> where possible 2024-09-26 19:25:47 +02:00
joaquintides 0d8e4da52e Feature/concurrent_factory (#17)
* added concurrent_factory

* fixed friend declaration

* avoided static constexpr definition fiasco

* prevented spurious instantiations of concurrent_factory with placeholder params

* worked around spurious std::hash instantiation in msvc 14.0

* extended previous workaround

* refactored to ensure synced key_value construction with concurrent_factory,
plus fixed concurrent_factory_detail::refcounted_entry move ctor
2024-09-26 19:18:54 +02:00
joaquintides 1e86cd666f Feature/noexcept annotate (#16)
* marked boost::flyweight ops as noexcept where applicable

* noexcept-annotated flyweight_core to see if it helps with msvc 14.2 spurious error

* reverted

* temporarily dropped one BOOST_NOEXCEPT specifier

* restored noexcept and rmoved usage of boost::addressof

* restored boost::addressof and bypassed use of get() in operator==

* consolidated previous commit as a workaround
2024-09-15 12:23:13 +02:00
Andrey Semashev 805e8d5384 Switch to boost::core::invoke_swap.
boost::swap is deprecated and will be removed. Use boost::core::invoke_swap
as a replacement.
2023-09-03 00:21:16 +03:00
joaquintides 3dc485bfe8 used std::recursive_mutex when <mutex> provided (fixes #12) 2023-06-30 11:17:08 +02:00
joaquintides 652b741fa6 Revert "Revert "added smart-pointer syntax to boost::flyweight (#11)""
This reverts commit e97cafcd4a.
2023-04-17 18:22:56 +02:00
joaquintides e97cafcd4a Revert "added smart-pointer syntax to boost::flyweight (#11)"
This reverts commit 0b5dd8c943.
2023-03-28 17:41:06 +02:00
joaquintides 0b5dd8c943 added smart-pointer syntax to boost::flyweight (#11) 2023-03-17 09:46:47 +01:00
joaquintides 1a1411e9d4 updated (C) year, editorial 2023-02-26 19:33:29 +01:00
Peter Dimov c15f7f021a Remove serialization includes 2023-02-21 08:01:24 +02:00
joaquintides 11028b6c14 updated copyright dates and release notes 2022-08-30 20:53:14 +02:00
fanquake 837ec8aae1 refactor use core/enable_if.hpp over enable_if.hpp 2022-08-30 17:41:16 +01:00
fanquake 03cc00c74f refactor use core/swap.hpp over swap.hpp 2022-08-30 17:40:50 +01:00
joaquintides e5bfb689b3 replaced deprecated #include 2020-05-10 18:56:12 +02:00
joaquintides 4c1e74ffa1 extended workaround 2019-06-25 10:18:12 +02:00
joaquintides 0ce2a43087 shut down unused param warnings 2018-08-15 09:46:00 +02:00
joaquintides 0d6ca71afa shut down unused var warnings 2018-08-15 09:40:48 +02:00
joaquintides c9c6cd8943 handled GCC 7+ resolution of CWG DR 150 2018-08-10 12:28:17 +02:00
joaquintides 44d400b2fd reverted 1399fa2488. 2018-08-09 15:00:16 +02:00
joaquintides 1399fa2488 fwd declared in-class-defined operator== 2018-08-07 10:04:26 +02:00
joaquintides adda32bfa9 suppressed trivial warnings 2015-11-10 08:01:19 +01:00
joaquintides ad69c21e22 fixed std::hash-related fix at 1e6454f226 2015-07-29 07:53:44 +02:00
joaquintides 1e6454f226 added workaround for Dinkumware 5.20's declaring std::hash as class rather than struct 2015-07-27 08:50:45 +02:00
joaquintides 095dcfb812 reverted previous fix in favor of a warning disabling #pragma 2014-12-05 08:07:45 +01:00
joaquintides 8f5bbd5d57 fixed https://svn.boost.org/trac/boost/ticket/10844 2014-12-04 21:26:24 +01:00
joaquintides e9b0660a70 used BOOST_FLYWEIGHT[_TYPENAME]_TEMPL_ARGS for consistency with the rest of code 2014-10-18 19:15:39 +02:00
joaquintides 06b7163869 avoided std::hash fwd decl as per http://lists.boost.org/Archives/boost/2011/02/177218.php 2014-10-18 00:46:46 +02:00
joaquintides bd22b50b8c added missing namespace qualifier 2014-10-16 08:20:21 +02:00
joaquintides 028d850fc1 added hash support 2014-10-15 21:53:19 +02:00
joaquintides 86ff5cab90 stopped explicitly providing serialization helper support instance id: this is consistent with the current state of Boost.Serialization in master branch *and* its planned evolution in develop branch (which will be eventually merged here, hopefully in time for Boost 1.57) 2014-10-11 12:48:09 +02:00
joaquintides 20230d9669 fixed https://svn.boost.org/trac/boost/ticket/10439 2014-09-04 18:33:13 +02:00
joaquintides 66fe601f30 matched changes in in-development version of helper support API 2014-09-02 17:13:34 +02:00
joaquintides 6b26fc69ec added serialization capabilities 2014-09-01 17:24:12 +02:00
joaquintides 67f2df39f5 cosmetic reformatting 2014-07-20 16:00:56 +02:00
joaquintides 09b74a0d9d completed previous fix 2014-07-20 16:00:29 +02:00
joaquintides 8ad10f9c19 fixed previous fix 2014-07-19 19:41:40 +02:00
joaquintides 13f19f14a0 tentative workaround for a GCC 4.4.2 problem with variadic template ctors 2014-07-18 18:45:28 +02:00
joaquintides 9eac47cd01 added experimental std::initializer_list support 2014-01-30 23:48:33 +01:00
joaquintides b624826542 refactored perfect fwd / rvalue ref scaffolding 2014-01-29 22:14:31 +01:00
joaquintides b666ee2000 fixed interferences between rvalue ref compiler support and perfect fwd ctor and used move semantics where possible to the extent that the library now --unofficially-- supports move-only key_type's and value_type's 2014-01-24 19:58:41 +01:00
joaquintides 6f2d4196bb added perfect forwarding ctor to boost::flyweight 2014-01-19 18:50:51 +01:00
joaquintides 7e984210f2 fixed #9553 2014-01-15 20:15:56 +01:00
Stephen Kelly 38c1292334 Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Joaquín M López Muñoz 4aa17c9b16 fixed #8914
[SVN r85302]
2013-08-11 15:27:10 +00:00
Joaquín M López Muñoz b65c71fdc2 avoided potential clash with Apple macro
[SVN r85225]
2013-08-06 17:19:47 +00:00
Joaquín M López Muñoz b93967a9a7 fixed swap lookup problem in MSVC 9.0 and prior
[SVN r85209]
2013-08-04 14:45:37 +00:00
Joaquín M López Muñoz c8d8a98d24 removed unnecessary header
[SVN r75466]
2011-11-12 18:50:46 +00:00
Joaquín M López Muñoz c9142cd874 synced up change of namespace in Boost.Interprocess
[SVN r75464]
2011-11-12 18:46:12 +00:00