Commit Graph
65 Commits
Author SHA1 Message Date
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 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 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 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 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 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 702ae47424 Fixed #10469: Erasing from intrusive unordered_multiset with optimize_multikey goes into an infinite loop 2014-10-01 00:01:41 +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 3ebd69f44e implemented container integrity checkers 2014-08-14 12:28:24 -04: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
Ion Gaztañaga 29aa25d8e9 * Deleted dependencies with <boost/pointer_cast.hpp> and <boost/pointer_to_other.hpp>. pointer_traits is used to obtain pointer-related types and operations.
* Added examples for derivation_value_traits and member_value_traits and updated configuration.
2014-06-05 23:35:43 +02: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
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 d7212a1a7c Fixed #9940 ("bad bug in intrusive list with safe_link (or auto_unlink) hooks") 2014-04-24 10:47:20 +02:00
Ion Gaztañaga 6c623e8d16 Fixed #8468. Added 64 bit prime values. 2014-03-18 17:06:38 +01:00
Ion Gaztañaga 68fa82e5e8 Reverted git mess. 2014-02-15 00:28:41 +01:00
Ion Gaztañaga 9f636d5bb1 Merge branch 'develop' 2014-02-14 23:11:21 +01:00
Ion Gaztañaga ebdea17f28 Fixed errors when running MSVC x64 tests. 2014-02-08 18:27:24 +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 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 436cbd447d Fixed error when clear_on_destroy was made configurable. hashtable always needs to clear the bucket array to be able to reuse buckets.
[SVN r85310]
2013-08-11 22:17:14 +00: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 fbd8e26461 * Big refactoring in order to reduce template and debug symbol bloat.
* Fixes #8698
* Implemented SCARY iterators

[SVN r85165]
2013-07-28 22:10:37 +00:00
Ion Gaztañaga 9847a9f626 * Fixed GCC -Wshadow warnings.
*  Added missing `explicit` keyword in several intrusive container constructors.
*  Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros.

[SVN r81516]
2012-11-24 21:05:58 +00:00
Jeffrey Lee Hellrung, Jr. 0bc6901c0d refs #7531 (variable shadowing in container and intrusive)
[SVN r81050]
2012-10-23 12:56:01 +00:00
Ion Gaztañaga 9fa6fbd3a0 Added "this->" to improve readability
[SVN r80191]
2012-08-25 08:23:03 +00:00
Ion Gaztañaga 30215558ae Updated copyright and fixed trailing whitespaces
[SVN r79434]
2012-07-12 07:15:40 +00:00
Ion Gaztañaga ad82973cc5 Trailing whitespaces
[SVN r78517]
2012-05-20 09:57:59 +00:00
Ion Gaztañaga 73963d75af Code simplification to support gcc-3.4 & gcc-4.0
[SVN r76226]
2011-12-30 09:03:45 +00:00
Ion Gaztañaga 8a53a5af27 Introducing allocator_traits and pointer_traits changes into several libraries.
[SVN r76106]
2011-12-22 20:08:24 +00:00
Ion Gaztañaga 514e48a9d3 Added experimental move semantics to containers. Undocumented
[SVN r70299]
2011-03-21 08:58:28 +00:00
Ion Gaztañaga b9dce1daae Ticket #5183
[SVN r70063]
2011-03-17 16:19:41 +00:00
Ion Gaztañaga 4df2673851 More changes for Boost 1.45
[SVN r64985]
2010-08-24 17:26:36 +00:00
Ion Gaztañaga 90d4ec5289 Interprocess:
[@https://svn.boost.org/trac/boost/ticket/3439 #3439],
  [@https://svn.boost.org/trac/boost/ticket/3846 #3846],
  [@https://svn.boost.org/trac/boost/ticket/3947 #3947],
  [@https://svn.boost.org/trac/boost/ticket/3985 #3985].
Intrusive:
  [@https://svn.boost.org/trac/boost/ticket/3668 #3668],
  [@https://svn.boost.org/trac/boost/ticket/3339 #3688],
  [@https://svn.boost.org/trac/boost/ticket/3698 #3698],
  [@https://svn.boost.org/trac/boost/ticket/3706 #3706],
  [@https://svn.boost.org/trac/boost/ticket/3721 #3721].
  [@https://svn.boost.org/trac/boost/ticket/3729 #3729],
  [@https://svn.boost.org/trac/boost/ticket/3746 #3746],
  [@https://svn.boost.org/trac/boost/ticket/3781 #3781],
  [@https://svn.boost.org/trac/boost/ticket/3829 #3829],
  [@https://svn.boost.org/trac/boost/ticket/3840 #3840],
  [@https://svn.boost.org/trac/boost/ticket/3339 #3339],
  [@https://svn.boost.org/trac/boost/ticket/3419 #3419],
  [@https://svn.boost.org/trac/boost/ticket/3431 #3431],

[SVN r60514]
2010-03-12 13:18:29 +00:00
Ion Gaztañaga 8c6f93eae0 Fixes for 1.41
[SVN r56817]
2009-10-14 11:59:32 +00:00
Christopher Hite b36ec05d0a merged sandbox-branches/intrusive_fix_SunCC (r55765 and r55775) fixing intrusive for Sun CC (#3339)
[SVN r55784]
2009-08-26 08:59:34 +00:00