Commit Graph
272 Commits
Author SHA1 Message Date
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
Tim Blechmann 95a5a56bc0 ebo_functor_holder: compile fix for copy constructor 2015-12-17 23:49:01 +01:00
Ion Gaztañaga 259e4a939f Fix Trac #11765 ("sgtree.hpp:830: bad if test?") 2015-10-31 00:53:10 +01:00
Ion Gaztañaga 7de667ed5e Fix undefined behaviour with default casting implementations. Null pointers can't be dereferenced, so return a value constructed smart pointer in those cases. 2015-10-18 21:30:10 +02:00
Ion Gaztañaga ea47994cc0 Minimize ifdef-ed code for BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN 2015-10-17 10:18:51 +02:00
Ion Gaztañaga a91afcbde4 Use BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN as some compilers prefer return type SFINAE while others don't support it. 2015-10-17 09:39:34 +02:00
Ion Gaztañaga e8f649d474 Added new asserts in rebalancing code 2015-10-17 00:14:46 +02:00
Ion Gaztañaga 2208226d2c Use uinptr_t instead of size_t, only the former is guaranteed to be able to hold a pointer 2015-10-17 00:13:38 +02:00
Ion Gaztañaga ff9a968958 Add some default constructor declarations, as GCC 3.4 seems to need them in is_constructible 2015-10-12 22:12:41 +02:00
Ion Gaztañaga 11280a0e29 Add support for GCC 3.4 2015-10-12 16:29:38 +02:00
Ion Gaztañaga bba1782654 Fixes for advanced lookup and insertions documentation. 2015-10-08 11:11:29 +02:00
Ion Gaztañaga b11720f527 Advanced lookup and insertions in ordered associative containers now support comparison functions that are not required to offer the same strict weak ordering as key_compare, the container must be partitioned in regards to the passed comparison object. This fixed Boost Trac #11701 ("Regression in boost::intrusive::set::equal_range") 2015-10-07 23:28:03 +02:00