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
SiggyBar
92d6e58bb7
Fix empty control statement warnings
...
This change replaces code like this:
if(safemode_or_autounlink)
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert));
with:
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));
The reason for this change is that the first form generates
a warning for Visual C++ 14.1 in builds without asserts:
warning C4390: ';': empty controlled statement found; is this the intent?
Before this change the code was using a mix of the two forms
when invoking the BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT()
and BOOST_INTRUSIVE_INVARIANT_ASSERT() macros. Now it
consistently uses the second form.
2020-02-07 10:46:55 +01:00
Conrad Poelman
b45a3b7cdd
MSVC "assignment within conditional" warning fix
...
The latest MSVC 2019 issues a warning on this line. This change performs the assignment prior to the conditional.
2020-01-25 16:07:29 -05: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
Ion Gaztañaga
3b5001f22f
Fixes #42 ("Documentation does not describe treap priority_of_value changes")
2019-06-09 01:01:49 +02: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
Jeff Snyder
b795de217b
Allow void as an option with BOOST_INTRUSIVE_VARIADIC_TEMPLATES enabled
2019-05-09 05:17:28 +01:00
Ion Gaztañaga
215ef2617e
Fix #34 ("-Wdeprecated-copy on gcc9)
2019-03-05 11:26:29 +01:00
Marcel Raad
4a254f5ebf
Fix -Wextra-semi clang warnings
...
Remove superfluous semicola.
2019-02-25 10:55:25 +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
Ion Gaztañaga
b9c3b34651
Merge branch 'fix_voidptr_keys' of https://github.com/Lastique/intrusive into Lastique-fix_voidptr_keys
2019-01-02 02:17:16 +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
bad-ed
cbf83bbebb
hashtable: fixed build with BOOST_INTRUSIVE_VARIADIC_TEMPLATES defined
2018-10-10 17:14:50 +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
Ion Gaztañaga
fa3a6af325
Add BOOST_INTRUSIVE_FORCEINLINE to unordered_multiset constructors
2018-09-15 00:58:21 +02:00
Ion Gaztañaga
d7b0d7c1e4
Silence unharmful -Wmaybe-uninitialized warning
2018-06-22 00:00:56 +02:00
Ion Gaztañaga
00efc25144
Reorder disabled warnings for clarity
2017-12-10 23:34:48 +01:00
Ion Gaztañaga
53b1aef2da
Refactor suggested_upper_bucket_count/suggested_lower_bucket_count to be independent of the hashtable.
2017-12-09 13:01:49 +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
Ion Gaztañaga
1ad2b26ee4
Avoid using external reference in loop to avoid aliasing pesimization.
2017-11-07 00:46:23 +01:00
Oliver Kowalke
f4047cd759
fix null_node construction form default ctor
...
- NVCC fails parsing null_node((node_ptr()))
2017-10-31 15:54:01 +01:00
Louis Dionne
80c22df9dc
[hashtable] Fix typo in documentation
2017-10-16 09:18:13 +09:00
Ion Gaztañaga
a10de1bd60
Closes #25 in GitHub ("Document the behavior of move constructor for slist")
2017-10-14 12:06:21 +02:00
Ion Gaztañaga
7f5caca12e
Extract BOOST_INTRUSIVE_HAS_TYPE trait
2017-09-07 20:17:05 +02:00
Ion Gaztañaga
ac718c54ed
Fix call to intrinsic is_convertible with incomplete types in MSVC 14.1
2017-06-08 21:51:53 +02:00
Ion Gaztañaga
db14782f0f
Boost Trac #12698
...
GitHub Pull #23
GitHub Pull #24
2017-06-08 14:02:21 +02:00
Minmin Gong
b6cd6e26ad
Adds support for MSVC ARM64 target.
2017-06-01 00:11:06 -07:00
Ion Gaztañaga
4b44049e22
Merge branch 'patch-1' of https://github.com/Lastique/intrusive into Lastique-patch-1
2017-04-08 14:05:58 +02:00
Ion Gaztañaga
018a39c433
Use directly boost::movelib::pointer_element/to_raw_pointer
2017-04-07 16:05:44 +02:00
Ion Gaztañaga
db15ff6c08
Allow non std::size_t size_type.
2017-04-06 23:32:39 +02:00
Ion Gaztañaga
9268e2a3d8
Reuse utilities from Boost.Move
2017-04-06 23:32:15 +02:00
Andrey Semashev
140613d1ba
Fix a typo in the docs
2017-04-04 15:45:11 +03:00
Ion Gaztañaga
b25ab5112a
Fixed typo in swap function
2017-03-02 09:15:55 +01: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
95bba145ea
Remove maybe uninitialized warnings when using insert_commit_data_t
2017-02-23 19:55:07 +01:00
Andrey Semashev
b1da5c25b4
Fix compilation in case if key is void*
...
If key type is `void*`, wrong `operator()` is chosen because of the dummy argument that is used for SFINAE. As a result the key comparison adapter invokes the user's predicate with only one argument, which fails to compile.
Use a more distict type for SFINAE in the dummy arguments. Fixes ticket #12745 .
2017-01-14 15:33:01 +03:00
Ion Gaztañaga
1a6bbccf5d
Fixes Ticket #12556 : member_value_traits.hpp has a missing #include
2016-11-13 00:16:10 +01:00