Commit Graph
246 Commits
Author SHA1 Message Date
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
Ion Gaztañaga dda91f0e00 Return tree_iterator reference in tree traversal functions to allow easy chaining (e.g. i.go_parent().go_left().go_right()) 2015-09-18 14:30:15 +02:00
Ion Gaztañaga 6fd1452c2b Use newly refactored move/detail/std_fwd_xxx.hpp headers 2015-09-14 22:37:37 +02:00
Ion Gaztañaga cc9f99fc78 Added sanity debug checks to insert_unique_commit 2015-09-07 18:27:29 +02:00
Ion Gaztañaga 7c36efbaa9 Added assignment and explicit copy constructor 2015-09-07 18:26:53 +02:00
Ion Gaztañaga 1e4a830323 Added move semantics to ebo_functor_holder 2015-09-07 18:25:36 +02:00
Ion Gaztañaga 79272de8ba Added is_pow2/static_is_pow2/ceil_pow2/previous_or_equal_pow2 2015-09-07 18:25:08 +02:00
Ion Gaztañaga 0f2714b8e8 BOOST_INTRUSIVE_MSVC_ABI_PTR_TO_MEMBER was incorrectly undefined so no virtual inheritance was tested in compilers that theoretically support it. 2015-09-07 18:24:16 +02:00
Ion Gaztañaga 3587a6f470 Fix bug that could lead to uninitialized memory reads and rare errors when cloning 2015-06-09 14:24:00 +02:00
Ion Gaztañaga ebf117f1ff Support clang with gcc in std predeclarations 2015-06-09 14:22:57 +02:00
Ion Gaztañaga 51de75799b - Implemented map and multimap-like interfaces.
-  Refactored hashtable containers to reduce template instantiations.
2015-06-04 11:16:21 +02:00
Ion Gaztañaga 0b5ebe6cdd Make some typedefs private instead of protected (these iterators are not designed to be base classes). 2015-04-14 14:58:11 +02:00
Ion Gaztañaga 9e326ac254 Use iterator_arrow_result to support raw pointers as iterators. 2015-04-14 14:57:33 +02:00
Ion Gaztañaga eebabce934 Avoid inheritance 2015-04-14 14:56:38 +02:00
Ion Gaztañaga bb95a6f8cf Avoid unused variables warnings in release mode 2015-04-14 14:56:07 +02:00
Ion Gaztañaga 1e4b94b32a Add iterator_arrow_result utility 2015-04-14 14:55:39 +02:00
Ion Gaztañaga 1614d58b74 hashtable_node: change pointer and references types from raw to those specified in value_traits. 2015-04-14 14:54:53 +02:00
Ion Gaztañaga dd385e0ec5 -> Use new Boost.Move meta utilities to avoid compilation errors in old compilers.
-> Implement equality operators as friend functions to make code clearer.
2015-04-12 12:56:04 +02:00
Ion Gaztañaga 1231ddd0e1 Fix error in reverse_iterator::operator[] 2015-04-04 22:53:28 +02:00
Ion Gaztañaga 4f20e7279d Add new clone_from overload to implement move semantics 2015-02-26 00:02:24 +01:00
Ion Gaztañaga b5fd69e628 Add support for GCC versioned std namespaces 2015-02-26 00:00:58 +01:00
Ion Gaztañaga b9aa032d98 any_xxx_node_traits must return pointers by value to avoid aliasing problems, as done long time ago with other traits. 2015-02-02 17:12:18 +01:00
Ion Gaztañaga 667ec0bdfc Make sure boost/config.hpp is included before pragma once. 2015-02-01 23:15:14 +01:00
Ion Gaztañaga ccd980d1f4 Additional checks for red-black trees, make sure root is black and the number of black nodes is equal in the left and right subtrees. 2015-02-01 23:14:27 +01:00
Ion Gaztañaga 10cb0bd206 Fixed "pointed to by pos" with "pointed to by i" 2015-01-19 22:34:52 +01:00
Ion Gaztañaga 2b714f7e04 Remove redundant "struct" keyword 2015-01-14 15:46:54 +01:00
Ion Gaztañaga a55b2d824d Replaced _MSC_VER with BOOST_HAS_PRAGMA_ONCE before #pragma once. 2015-01-10 12:49:46 +01:00