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