24 Commits
Author SHA1 Message Date
Ion Gaztañaga 01b4f6264c Take all pointers by value to avoid aliasing issues in release mode 2021-12-29 14:02:03 +01:00
Ion Gaztañaga a633906847 Fixes #59 ("Add noexcept support to the library"). 2021-04-19 11:17:48 +02:00
SiggyBar 92d6e58bb7 Fix empty control statement warnings
This change replaces code like this:
      if(safemode_or_autounlink)
         BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert));

with:
      BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));

The reason for this change is that the first form generates
a warning for Visual C++ 14.1 in builds without asserts:
warning C4390: ';': empty controlled statement found; is this the intent?

Before this change the code was using a mix of the two forms
when invoking the BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT()
and BOOST_INTRUSIVE_INVARIANT_ASSERT() macros.  Now it
consistently uses the second form.
2020-02-07 10:46:55 +01:00
Ion Gaztañaga 3618260489 fix GitHub Issue #35 ("key_of_value on treap_set seems to be broken in 1.69") 2019-02-12 00:23:56 +01:00
Ion Gaztañaga 2ab3421b17 In functions that modify data structures, take pointers by value instead of by reference, to avoid aliasing issues. 2018-09-27 10:14:16 +02:00
Ion Gaztañaga 21a2107d9a * Implemented merge operations in ordered associative containers 2016-08-31 23:42:14 +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 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 e926491606 Added #pragma once to headers 2014-10-13 22:30:28 +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
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 68fa82e5e8 Reverted git mess. 2014-02-15 00:28:41 +01:00
Ion Gaztañaga fbba3159f0 Fixed some GCC warnings and errors
[SVN r85171]
2013-07-29 21:43:03 +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 6940fa1230 Remove dead comment
[SVN r84340]
2013-05-18 09:43:46 +00:00
Ion Gaztañaga 07b1322fa3 Added bounded_range function to trees
[SVN r79498]
2012-07-14 13:29:28 +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 8a53a5af27 Introducing allocator_traits and pointer_traits changes into several libraries.
[SVN r76106]
2011-12-22 20:08:24 +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
Ion Gaztañaga 0d754e6863 * New treap-based containers: treap, treap_set, treap_multiset.
*  Corrected compilation bug for Windows-based 64 bit compilers.
*  Corrected exception-safety bugs in container constructors.
*  Updated documentation to show rvalue-references funcions instead of emulation functions.

[SVN r50260]
2008-12-13 13:55:44 +00:00