Ion Gaztañaga
ff11320469
Reduce the usage of BOOST_INTRUSIVE_FORCEINLINE due to unwanted side effects in some compilers
2023-05-02 01:30:31 +02:00
Ion Gaztañaga
4a1f695906
Fixes #77 ("Suppress unused variable warnings on node_count (clang 15)")
2022-12-11 00:29:53 +01:00
Ion Gaztañaga
ba298c775e
Add BOOST_INTRUSIVE_FORCEINLINE to some trivial functions
2022-05-04 23:16:16 +02:00
Ion Gaztañaga
afe294063b
Remove some forceinline attributes that might be counter-productive and add noexcept to others.
2022-01-04 00:34:33 +01:00
Ion Gaztañaga
01b4f6264c
Take all pointers by value to avoid aliasing issues in release mode
2021-12-29 14:02:03 +01:00
Tim Blechmann
d5b9a4eac0
list: fix remove / remove_and_dispose
...
`value_equal` is a simple wrapper to `operator==`, but does not bind the
argument to a predicate
2021-12-22 22:57:32 +08:00
Ion Gaztañaga
a633906847
Fixes #59 ("Add noexcept support to the library").
2021-04-19 11:17:48 +02:00
Ion Gaztañaga
547c964381
- Reduced compile-time dependencies:
...
- linear_slist_algorithms use a simple node_ptr instead of std::pair on return.
- list/slist use operator </operator == instead of std::equal_to/std::less.
2021-01-05 10:09:38 +01:00
Ion Gaztañaga
911774278a
Declare more BOOST_INTRUSIVE_FORCEINLINE functions in tree and list containers.
2019-02-11 10:49:55 +01: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
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
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
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
667ec0bdfc
Make sure boost/config.hpp is included before pragma once.
2015-02-01 23:15:14 +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
a4f0c0c7b3
Reduced compile-time dependencies, headers, and the use of Boost.Preprocessor, specially for hooks and iterators.
2014-12-08 15:48:08 +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
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
a35a01058a
Removed duplicated includes.
2014-10-05 20:11:40 +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
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
0a03aa599a
Reimplemented remove family for lists using new stable_partition algorithm. This allows less code duplication between lists with different options (constant_time_size, cache_list, safe/non-safe hooks, etc.).
2014-08-14 00:22:19 +02: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
7be8c2521b
lib: core implementation of header_holder in list_impl
2014-05-15 18:55:56 -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
Ion Gaztañaga
7fc779ff0d
Fixed #9948 : remove use of const_cast in intrusive containers.
...
Added tests for [s_]iterator_to.
2014-05-01 16:19:42 +02: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
abb8a78a75
Fixes #9520
2013-12-24 17:10:24 +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
Ion Gaztañaga
b85b40e851
Marked some constructor as explicit and fixed trivial documentation issues
...
[SVN r85307]
2013-08-11 21:33:51 +00:00
Ion Gaztañaga
fbba3159f0
Fixed some GCC warnings and errors
...
[SVN r85171]
2013-07-29 21:43:03 +00:00