Commit Graph
76 Commits
Author SHA1 Message Date
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