141 Commits

Author SHA1 Message Date
Ion Gaztañaga
410f7a631b Fixes #99 ("some intrusive containers are not trivially destructible when possible")
Enables conditional triviality with C++20 concepts, introducing defaulted destructors and constructors for hooks and
containers using `normal_link`.
2025-12-08 21:31:48 +01:00
Ion Gaztañaga
c5f99d6890 Clarify that Boost.Intrusive containers don't support incomplete types. 2025-11-03 21:51:16 +01:00
Ion Gaztañaga
2e134cbee8 Fixes #92 ("C++26 errors: omission of ',' before varargs '...' is deprecated") 2025-05-18 22:33:14 +02:00
Rene Rivera
fc83819554 Sync from upstream. 2024-08-12 20:33:57 -05:00
Ion Gaztañaga
5a67b76b0d Add BOOST_INTRUSIVE_NO_DANGLING ([[gnu::no_dangling]]) to avoid false positives on GCC 14 on container_from functions. 2024-08-11 21:34:29 +02:00
Rene Rivera
3b3ba3d41e Adjust doc build to avoid boost-root references. 2024-07-28 11:07:54 -05:00
Ion Gaztañaga
b9b83bd9e6 Fixes #86 ("Invalid UTF-8 character in comment") 2024-07-18 12:51:56 +02:00
Ion Gaztañaga
07ba0e3761 Update changelog for Boost 1.85 2024-03-23 23:05:33 +01:00
Ion Gaztañaga
1c1144c505 Fixes #83 ("Index is missing") 2024-03-17 23:55:50 +01:00
Ion Gaztañaga
dc4f1665b6 Update Boost 1.85 release notes 2024-01-02 14:14:18 +01:00
Ion Gaztañaga
6464d0e083 Implement new hashing protocol now that Boost.ContainerHash requires C++11:
- Hashes trivially scalar types
- For the non scalar types calls unqualified hash_value activating ADL (boost::hash protocol)
- If ADL does not find a viable candidate, a boost::hash direct call is performed via a forward declaration, so that additional candidates are looked up if the user has included boost/container_hash/hash.hpp.

This maintains a high level of compatibility with boost::hash but making Boost.Intrusive independent from Boost.ContainerHash, so that different C++ standard levels can be used and users using different hash functions don't need direct and indirect dependencies brought by Boost.ContainerHash.
2024-01-01 00:02:45 +01:00
Ion Gaztañaga
4a1f695906 Fixes #77 ("Suppress unused variable warnings on node_count (clang 15)") 2022-12-11 00:29:53 +01:00
Ion Gaztañaga
f439778dc7 Update changelog for 1.80 2022-06-25 18:36:22 +02:00
Ion Gaztañaga
3c5c8cec3f Rewritten hash semi-intrusive containers to improve compilation times and runtime performance. Added experimental "linear_buckets" option. 2022-05-04 23:36:34 +02:00
Ion Gaztañaga
71a9ef5341 Fix typos 2022-05-03 23:01:03 +02:00
Ion Gaztañaga
691154b887 Changes to support -Wcast-align=strict 2021-12-28 15:09:07 +01:00
Ion Gaztañaga
25f8052670 Updated release notes for version 1.79 2021-12-26 17:06:04 +01:00
theidexisted
abf352b513 Fix typo in doc 2021-09-16 11:47:12 +08:00
Ion Gaztañaga
79d2a6df4b Put swap tests inside generic associative container tests so that they are executed for every tree type. 2021-06-20 02:01:20 +02:00
Ion Gaztañaga
cbc81b9417 Fixes #63 ("nop splice removes element") 2021-06-19 19:39:40 +02:00
Ion Gaztañaga
a633906847 Fixes #59 ("Add noexcept support to the library"). 2021-04-19 11:17:48 +02:00
Ion Gaztañaga
1cec79608f Fixes #60 ("Licensing question for math.hpp"). Removes questioned, SO-based code since it was just an alternative version for non-MSVC/non-GCC compatible compilers. 2021-04-18 14:10:53 +02:00
Ion Gaztañaga
3c75cad9ab Add Pull #57 to the changelog 2021-04-18 14:05:14 +02:00
Ion Gaztañaga
547c964381 - Reduced compile-time dependencies:
- linear_slist_algorithms use a simple node_ptr instead of std::pair on return.
  - list/slist use operator </operator == instead of std::equal_to/std::less.
2021-01-05 10:09:38 +01:00
Ion Gaztañaga
4d144d75da Fixes #54: ("set.rbegin() looks like O(log(N))") 2020-11-13 22:55:55 +01:00
Ion Gaztañaga
a0f886026c -Fix changelog typo
-Upload readme file
2020-10-20 12:25:23 +02:00
Ion Gaztañaga
a054a02286 Update changelog with #48 and #49. 2020-10-19 13:39:43 +02:00
Ion Gaztañaga
d61acfb8cd Fixes #52: ("Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC") 2020-08-31 23:15:19 +02:00
Ion Gaztañaga
d8761780b0 Fixes #46: ("UB due to union based type punning") 2020-01-16 16:10:03 +01:00
Ion Gaztañaga
3b5001f22f Fixes #42 ("Documentation does not describe treap priority_of_value changes") 2019-06-09 01:01:49 +02:00
Ion Gaztañaga
7a9e358788 Update changelog with #45 ("Disable variadic templates for MSVC-12 to avoid ICEs") 2019-06-08 23:15:33 +02:00
Ion Gaztañaga
2af47857f4 Update changelog with #43
Fix BOOST_INTRUSIVE_VARIADIC_TEMPLATES detection
2019-05-10 23:50:53 +02:00
Ion Gaztañaga
215ef2617e Fix #34 ("-Wdeprecated-copy on gcc9) 2019-03-05 11:26:29 +01:00
Ion Gaztañaga
7afa686df2 Update changelog with #39 2019-02-27 00:14:00 +01:00
Ion Gaztañaga
9137a38982 Fixes #38 2019-02-12 23:20:49 +01:00
Ion Gaztañaga
3618260489 fix GitHub Issue #35 ("key_of_value on treap_set seems to be broken in 1.69") 2019-02-12 00:23:56 +01:00
Ion Gaztañaga
9d6bba4a68 Update changelog with Pull #33 2019-01-03 01:21:49 +01:00
Ion Gaztañaga
c02f485281 Added compiler deprecation warning. 2018-11-10 11:00:57 +01:00
Ion Gaztañaga
71317671ec Add GCC's "-Wuninitialized" workaround. When initializing the pointer of flags part of an uninitialized pointer plus bit object, the other part is used uninitialized. It's harmless warning but annoying for the user. 2017-12-09 13:01:02 +01:00
Louis Dionne
972e9871ba Fix typo in documentation for the Node Algorithm concept 2017-10-11 11:33:09 +09:00
Ion Gaztañaga
b6f688321c Fix outdated limitations in std containers. 2017-09-07 20:16:48 +02:00
Ion Gaztañaga
db14782f0f Boost Trac #12698
GitHub Pull #23
GitHub Pull #24
2017-06-08 14:02:21 +02:00
Ion Gaztañaga
b3166148a7 Merge branch 'patch-1' of https://github.com/slymz/intrusive into slymz-patch-1 2017-04-09 22:12:04 +02:00
Ion Gaztañaga
3bf6ff9c30 Fix Trac ticket #12762: "Incorrect documentation for boost::intrusive::size_type<typename>" 2017-04-09 22:09:51 +02:00
Ion Gaztañaga
6510ac498e Fixed ticket #12761 ("intrusive::set::swap doesn't swap the comparison function") 2017-03-02 08:29:55 +01:00
Ion Gaztañaga
6fe1181578 Fix documentation to indicate key extractors can return the key by value 2017-02-06 13:20:58 +01:00
Ion Gaztañaga
47c8a19cfd Documented null-forward iterators. 2017-02-06 12:20:17 +01:00
Ion Gaztañaga
286f597606 Update 1.64 changelog with Boost Trac #12745. 2017-01-16 00:41:09 +01:00
slymz
497ea88336 Update intrusive.qbk
Minor but subtle (for beginners) correction.
2016-12-27 17:04:39 -05:00
Ion Gaztañaga
190900e1b0 Update changelog for 1.63 2016-11-13 17:48:11 +01:00