Ion Gaztañaga
cfc6b4e510
Add workaround for MSVC 14-0 bad code generation in slist_test
2023-05-04 23:12:23 +02:00
Ion Gaztañaga
ff11320469
Reduce the usage of BOOST_INTRUSIVE_FORCEINLINE due to unwanted side effects in some compilers
2023-05-02 01:30:31 +02:00
Ion Gaztañaga
aec1f8a15e
Disable forceinline with Clang, see https://github.com/llvm/llvm-project/issues/62202
2023-04-18 22:23:12 +02:00
Ion Gaztañaga
1014e97fb2
Simplify intrusive dependencies dropping Boost.Core
2023-02-01 21:35:40 +01:00
Ion Gaztañaga
e4ec3fb937
Add missing boost/assert.hpp or boost/static_assert.hpp
2023-01-18 22:28:56 +01:00
Ion Gaztañaga
e41303a26b
Disable forceinline with MinGw, as it has bugs
2022-08-24 14:30:23 +02:00
Ion Gaztañaga
c0377800b2
Fix -Wshadow warnings in GCC renaming "node" arguments with "n".
2022-08-23 07:58:45 +02:00
Ion Gaztañaga
bf072b5f24
Add make_iterator_advance make_iterator_uadvance
2022-08-21 02:21:04 +02:00
Ion Gaztañaga
05bb58091e
Add experimental fastmod_buckets option
2022-06-13 00:42:58 +02:00
Ion Gaztañaga
466ff07d15
Add operator!
2022-06-13 00:41:49 +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
d376c8b453
Added BOOST_INTRUSIVE_FORCEINLINE to constructor
2022-05-04 23:34:47 +02:00
Ion Gaztañaga
482c0cfe83
Add pointer specialization for value_less
2022-05-04 22:55:51 +02:00
Ion Gaztañaga
1d6576e6d5
Add simple constructor for stateless slist_iterator
2022-05-04 22:55:24 +02:00
Ion Gaztañaga
d70f8667e1
Add unlink_after_and_dispose and detach_and_dispose functions
2022-05-04 22:52:15 +02:00
Ion Gaztañaga
06d74a1709
Inject new Boost.Move iterator functions.
2022-01-12 00:58:41 +01:00
Ion Gaztañaga
afe294063b
Remove some forceinline attributes that might be counter-productive and add noexcept to others.
2022-01-04 00:34:33 +01:00
Ion Gaztañaga
64743a7158
Increase minimum version for forceinline usage in MSVC as bad code generation was detected in some cases
2022-01-04 00:23:58 +01:00
Ion Gaztañaga
af99d7be6a
Activate BOOST_MOVE_FORCEINLINE with GCC > 5, since some code generation problems were detected in tests executed under MingW.
2022-01-02 00:27:28 +01:00
Ion Gaztañaga
0be2758375
Convert boost::iterator traversal tags into std tags to avoid unneeded overloads that confuse some older compilers like MSVC 12
2021-12-30 23:08:53 +01:00
Ion Gaztañaga
01b4f6264c
Take all pointers by value to avoid aliasing issues in release mode
2021-12-29 14:02:03 +01:00
Ion Gaztañaga
691154b887
Changes to support -Wcast-align=strict
2021-12-28 15:09:07 +01:00
Ion Gaztañaga
87081669c3
Avoid -Wshadow warning
2021-12-27 00:45:36 +01:00
Ion Gaztañaga
ac7dfda17a
Merge pull request #66 from jarekpelczar/develop
...
list_iterator: Fix declaration of node shadowing member
2021-11-17 15:54:08 +01:00
Ion Gaztañaga
bc8d455437
Rename iterator_next with unsigned distance to iterator_unext
2021-10-18 17:31:00 +02:00
Ion Gaztañaga
2eeee6cb4c
Support GCC's -Wconversion -Wfloat-conversion -Warith-conversion -Wsign-conversion warnings.
2021-10-16 15:56:54 +02:00
Jarosław Pelczar
7f35d14d83
list_iterator: Fix declaration of node shadowing member
...
When code is compiled with -Wshadow (outside GCC's "system" include
paths), the compiler will complain:
warning: declaration of ‘node’ shadows a member of ‘boost::intrusive::list_iterator<ValueTraits, IsConst>’
Signed-off-by: Jarosław Pelczar <jarek@jpelczar.com >
2021-08-16 10:36:33 +02: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
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
8bb619caf7
Fix indentation
2021-04-18 14:04:53 +02:00
Ion Gaztañaga
c03b16b269
fast_log2: silence unused variable warning.
2021-03-14 08:15:33 +01:00
Ion Gaztañaga
5c5f596d12
twin: Add constructor from two objects
2021-01-15 20:43:59 +01:00
Ion Gaztañaga
f65f864f0e
Include <stdlib.h> for _rotl in MSVC
2021-01-15 18:03:44 +01: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
c3ac8668ae
Introduce a simplified hash_combine to avoid pulling STL dependencies from container_hash/hash.hpp for extremely simple cases.
2021-01-05 00:05:17 +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
cb3752dbb1
Use custom placement to avoid warning/errors when using -fno-exceptions.
2020-10-22 01:11:05 +02:00
Ion Gaztañaga
fc05116510
Merge pull request #51 from camolezi/patch-1
...
Add missing include
2020-08-31 23:22:57 +02:00
Ion Gaztañaga
d61acfb8cd
Fixes #52 : ("Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC")
2020-08-31 23:15:19 +02:00
Lucas Camolezi
efb10791ca
Add missing include
...
This patch makes the header able to be built standalone, making possible C++ clang modules builds.
2020-08-26 17:24:41 -03: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
c66d25859b
Add some missing forceinlines
2020-01-16 16:09:11 +01:00
Andrey Semashev
5852698f7a
Disable variadic templates for MSVC-12 to avoid ICEs.
...
Fixes https://github.com/boostorg/intrusive/issues/44 .
2019-05-26 19:55:43 +03: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
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
911774278a
Declare more BOOST_INTRUSIVE_FORCEINLINE functions in tree and list containers.
2019-02-11 10:49:55 +01:00
Ion Gaztañaga
962eed5edb
Rollback to previous tree_value_compare SFINAE, as enable_if imported from movelib now defaults to a sfinae-friendly type
2019-01-03 01:17:50 +01:00