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
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
Ion Gaztañaga
7853a74c01
Avoid forceinline in old compilers due to bugs
2016-11-12 19:03:16 +01:00
Ion Gaztañaga
5c9f2d04cb
Add missing forceinlines
2016-11-12 19:02:46 +01:00
Ion Gaztañaga
bbb4f724d0
More documentation fixes in tree-based containers, to make root() documentation available.
2016-09-03 16:43:49 +02:00
Ion Gaztañaga
6d38384e36
Document root()/croot() functions in tree-based containers, and add a test case for them.
2016-09-03 13:28:44 +02:00
Ion Gaztañaga
9ac060a6ae
Fixed Trac #12432 ("Forced KeyOfValue creation when using custom compare on insert_check")
2016-09-03 00:01:55 +02:00
Ion Gaztañaga
36fb49abc9
Fix sg_[multi]set not working when merging from a set with a different comparison.
...
Update testcase to test merging from a different comparison.
2016-09-01 18:55:56 +02:00
Ion Gaztañaga
b2498a0da4
Reduce simbol length using alog_types instead of algorithms directly in generic_hook.
2016-09-01 00:59:18 +02:00
Ion Gaztañaga
21a2107d9a
* Implemented merge operations in ordered associative containers
2016-08-31 23:42:14 +02:00
Ion Gaztañaga
310ddc3485
Removed unneeded template parameters to tree_value_compare to reduce symbol length.
2016-08-29 16:52:31 +02:00
Ion Gaztañaga
2de5382dbb
Simplify tree_value_compare overloads to avoid compilation errors in some old GCC versions.
2016-08-29 00:03:46 +02:00
Ion Gaztañaga
5a7892a859
Document is_linked behaviour for slists with option linear<true>, as mentioned in Trac ticket #10328 ("is_linked is broken for linear slist")
2016-08-04 23:44:01 +02:00
Ion Gaztañaga
68c46450de
Fixed Trac ticket #11476 ("has_member_function_callable_with.hpp is massively broken with BOOST_NO_CXX11_DECLTYPE")
2016-08-04 23:22:29 +02:00
Ion Gaztañaga
e9e3f92427
Apply BOOST_INTRUSIVE_FORCEINLINE to some trivial functions.
2016-07-31 22:47:48 +02:00
Ion Gaztañaga
4546ffba1d
As suggested in Trac #12229 ("intrusive::unordered_set<T>::rehash() broken) a new "full rehash" function is added to force rehashing of existing elements when keys are changed but the new keys respect some hash and equality invariants.
2016-07-31 14:11:49 +02:00
Ion Gaztañaga
4014562502
Fixes Trac #11994 : Support intrusive container key extractors that return the key by value
...
Change tests to return key by value.
2016-07-04 22:11:52 +02:00
Ion Gaztañaga
56e2e4345a
Fixed Trac #12184 ("clang -Wdocumentation warning")
2016-07-02 23:10:03 +02:00
Ion Gaztañaga
2d55c66475
Remove static instances for size_holder, as it provokes false positives in thread debugging tools and simplify size_traits usage, specially in swaps.
2016-07-02 22:34:41 +02:00
Ion Gaztañaga
cd14ffcf1f
Fixed Boost Trac #12190
2016-05-13 01:01:42 +02:00
Ion Gaztañaga
4cf38987a8
Fixes Boost Trac #11992 : "Add an overload of insert_check taking a key_type"
2016-03-01 21:22:28 +01:00
Ion Gaztañaga
1986349a22
Merge branch 'fixes/ebo_functor_holder_compile_fix' of https://github.com/timblechmann/intrusive into timblechmann-fixes/ebo_functor_holder_compile_fix
2016-02-26 23:20:56 +01:00
Ion Gaztañaga
1c59efae73
Fixes Boost Trac #11865 : "Intrusive list explicit ctor error with Clang 3.6 (C++11/14)"
2016-02-26 23:08:21 +01:00
Ion Gaztañaga
72976d34f6
Fixes Boost Trac #11832 : "clang-cl + boost intrusive = miscompile"
2016-02-26 20:46:58 +01:00
Ion Gaztañaga
6a9fa390ae
Introduced BOOST_INTRUSIVE_FORCEINLINE, disabled by default until it's more tested
2015-12-24 10:29:09 +01:00