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
Ion Gaztañaga
015fdaf9c5
Add missing BOOST_INTRUSIVE_FORCEINLINE
2019-01-03 01:17:01 +01:00
Ion Gaztañaga
558a204832
Add null-pointer checks
2019-01-03 01:16:46 +01:00
Ion Gaztañaga
c6298131cb
Use voider to adapt "sqrt2_pow_max" to the new enable_if default type
2019-01-03 01:16:26 +01:00
Ion Gaztañaga
98e5f0ee09
Import "voider" from movelib
2019-01-03 01:14:53 +01:00
Andrey Semashev
f847bd57bf
Converted tabs to spaces.
2018-12-14 19:00:50 +03:00
Andrey Semashev
01d575bed4
Fix compilation in case if key is void*, again.
...
This commit fixes a compilation error with gcc 8.2 about ambiguous function
calls in tree_value_compare when the user specifies a key that has type void*.
The fix take approach similar to https://github.com/boostorg/intrusive/pull/21 .
2018-12-14 18:46:28 +03:00
Ion Gaztañaga
2ab3421b17
In functions that modify data structures, take pointers by value instead of by reference, to avoid aliasing issues.
2018-09-27 10:14:16 +02:00
Ion Gaztañaga
d94fbc76cc
Add customized return type for tree_value_compare
2018-09-15 00:58:43 +02:00