Commit Graph
53 Commits
Author SHA1 Message Date
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 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 e9e3f92427 Apply BOOST_INTRUSIVE_FORCEINLINE to some trivial functions. 2016-07-31 22:47:48 +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 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 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 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 cc9f99fc78 Added sanity debug checks to insert_unique_commit 2015-09-07 18:27:29 +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 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 4f20e7279d Add new clone_from overload to implement move semantics 2015-02-26 00:02:24 +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 10cb0bd206 Fixed "pointed to by pos" with "pointed to by i" 2015-01-19 22:34:52 +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
Ion Gaztañaga 614ce1b155 Reduced include dependencies 2015-01-02 18:41:20 +01:00
Ion Gaztañaga 12ee566796 Workaround for bugs #10771 and #6720. 2014-12-17 15:45:05 +01:00
Ion Gaztañaga adda517544 Use of boost::adl_move_swap.
Replaced <algorithm> with <functional> where needed
Added basic equal/lexicographical compare algorithms to avoid complex <algorithm> include and ADL problems in some compilers
2014-11-26 19:32:12 +01:00
Ion Gaztañaga 913f903d16 Avoid including <iterator>, use intrusive's own version to avoid ADL clashes and minimize some dependencies. 2014-11-25 18:43:16 +01:00
Ion Gaztañaga 2c13d5c7d9 Renamed get_less with get_compare 2014-11-09 14:15:14 +01:00
Ion Gaztañaga 2839598e85 get_header_holder_type used internally to shorten symbol length. 2014-11-01 19:59:03 +01:00
Ion Gaztañaga 414ca9f338 Break options.hpp dependencies, now hooks don't depend on heavy meta-machinery. 2014-10-18 17:02:23 +02:00
Ion Gaztañaga e926491606 Added #pragma once to headers 2014-10-13 22:30:28 +02:00
Ion Gaztañaga a2f5d31ad3 Split detail/utilities.hpp into 11 headers to minimize physical coupling and header dependencies 2014-10-13 21:46:47 +02:00
Ion Gaztañaga d25ae5748e Simplified include dependencies to avoid too many preprocessed source. 2014-10-10 18:21:18 +02:00
Ion Gaztañaga 7ae11c3444 Header dependency cleanup. Removed some standard includes, splitted large "utilities" headers, and minimized algorithm dependencies. 2014-10-04 07:55:02 +02:00
Ion Gaztañaga 303ac69794 Replaced boost/move/move.hpp with a more lightweight boost/move/utility_core.hpp 2014-09-25 17:12:55 +02:00
Matei David a684df24bd check const containers 2014-08-14 16:27:21 -04:00
Matei David 8d33637971 Merge branch 'develop' into node-checkers 2014-08-14 12:34:25 -04:00
Matei David 3ebd69f44e implemented container integrity checkers 2014-08-14 12:28:24 -04:00
Ion Gaztañaga ddafb2d4ef Use intrusive utilities instead of boost utilities to limit dependencies. 2014-08-02 10:13:54 +02:00
Ion Gaztañaga 563eca32de Added support for node and value pointers non-convertible from raw references 2014-06-12 11:49:42 +02:00
Matei David 54e9befe5f lib: core implementation of header_holder in bstbase3 2014-05-16 10:59:29 -04:00
Matei David 64f880c2d6 lib: removed some unused method bstbase3::priv_container_from_end_iterator 2014-05-16 10:25:09 -04:00
Matei David cdf32597ac lib: extra template parameter propagated to impl bases, not used yet 2014-05-15 16:10:22 -04:00
Matei David 3af2654eda lib: extra template parameter to containers & makers, not used yet 2014-05-15 13:54:53 -04:00
Matei David 11ec15f45a lib: default option for header_holder_type 2014-05-15 13:25:58 -04:00
Matei David b073cc379d Merge branch 'master' into no-const_cast 2014-04-25 15:10:43 -04:00
Ion Gaztañaga fc6d3cca5f Reverted wrong commit SHA-1: 62367b52e1 and removed include to recently deleted "detail/clear_on_destructor_base.hpp" file. 2014-04-25 18:32:40 +02:00
Ion Gaztañaga 62367b52e1 Fixed #9949 (clear header node hooks upon intrusive container destruction) 2014-04-25 18:18:37 +02:00
Matei David c928fde885 restore header hooks to unused state 2014-04-24 20:06:19 -04:00
Ion Gaztañaga d7212a1a7c Fixed #9940 ("bad bug in intrusive list with safe_link (or auto_unlink) hooks") 2014-04-24 10:47:20 +02:00
Matei David 1391668ed2 removed const_cast from bstree, list, and slist 2014-03-31 19:03:13 -04:00
Ion Gaztañaga 22973145aa Fixed stateful value traits and iterator_to. 2014-02-14 23:16:48 +01:00
Ion Gaztañaga 2ffe6b2f82 Fixed ABI regression introduced in Boost 1.55 2014-01-30 14:22:04 +01:00
Ion Gaztañaga f162078264 Implemented equal_range for unique associative containers using lower_bound_range. This might be a bit slower when comparison function is very lightweight, but shines when it's heavy as it just needs to perform a single additional comparison and a possible successor iteration. 2014-01-20 12:13:53 +01:00
Ion Gaztañaga 3c6f96a96a Improved "count" for unique associative containers. Instead of calling tree's count just use find() != end() to avoid iterations as there is only one potential key.
Fixed some typos.
2014-01-19 14:28:57 +01:00
Ion Gaztañaga ea126390a7 Changes for 1.56 made during Git transition:
*  Improved Doxygen generated reference and updated and fixed forward-declaration header.

*  Source breaking: Removed previously deprecated `xxx_dont_splay` functions from splay containers and removed `splay_set_base_hook` and `splay_set_member_hook`from splay containers.
2013-12-23 10:15:53 +01:00