Commit Graph
625 Commits
Author SHA1 Message Date
Ion Gaztañaga ac7dfda17a Merge pull request #66 from jarekpelczar/develop
list_iterator: Fix declaration of node shadowing member
2021-11-17 15:54:08 +01:00
Ion Gaztañaga 20df102b2b Merge pull request #68 from theidexisted/patch-3
Fix typo in doc
2021-11-17 15:46:33 +01:00
Ion Gaztañaga 5c4d116b82 Support Clang's -Wconversion -Wfloat-conversion -Wsign-conversion with -Werror boost-1.78.0 boost-1.78.0.beta1 2021-10-20 00:17:13 +02:00
Ion Gaztañaga bc8d455437 Rename iterator_next with unsigned distance to iterator_unext 2021-10-18 17:31:00 +02:00
Ion Gaztañaga bd15948a5d Fix wrong #include <cstddef> place. 2021-10-18 17:17:41 +02:00
Ion Gaztañaga 2eeee6cb4c Support GCC's -Wconversion -Wfloat-conversion -Warith-conversion -Wsign-conversion warnings. 2021-10-16 15:56:54 +02:00
Ion Gaztañaga a4180b9e9f Remove GCC's -Wconversion warnings 2021-10-06 00:08:18 +02:00
theidexisted abf352b513 Fix typo in doc 2021-09-16 11:47:12 +08:00
Jarosław Pelczar 7f35d14d83 list_iterator: Fix declaration of node shadowing member
When code is compiled with -Wshadow (outside GCC's "system" include
paths), the compiler will complain:

warning: declaration of ‘node’ shadows a member of ‘boost::intrusive::list_iterator<ValueTraits, IsConst>’

Signed-off-by: Jarosław Pelczar <jarek@jpelczar.com>
2021-08-16 10:36:33 +02:00
Ion Gaztañaga f44b0102b4 Merge branch 'dmsteck-bugfix/node-swap' into develop boost-1.77.0.beta1 boost-1.77.0 2021-06-20 02:03:23 +02:00
Ion Gaztañaga 79d2a6df4b Put swap tests inside generic associative container tests so that they are executed for every tree type. 2021-06-20 02:01:20 +02:00
Ion Gaztañaga edb8f9e6fd Merge branch 'bugfix/node-swap' of https://github.com/dmsteck/intrusive into dmsteck-bugfix/node-swap 2021-06-19 20:49:07 +02:00
Ion Gaztañaga cbc81b9417 Fixes #63 ("nop splice removes element") 2021-06-19 19:39:40 +02:00
Ion Gaztañaga 8f7c32dd63 Merge pull request #62 from theidexisted/patch-1
Fix compile error in perf
2021-06-19 17:46:31 +02:00
Peter Dimov 44c9c59c52 Update CMakeLists.txt 2021-06-10 00:58:55 +03:00
theidexisted b194d34810 Fix compile error 2021-05-18 11:49:09 +08:00
Daniel Steck 8551b3958d C++03 2021-05-13 23:39:26 +01:00
Daniel Steck 300ffd2363 unintended whitespace change 2021-05-13 23:30:19 +01:00
Daniel Steck 8a652bd355 C++03 and (C) 2021-05-13 23:28:33 +01:00
Daniel Steck d4e76658a1 initial commit 2021-05-13 23:21:05 +01:00
Ion Gaztañaga a633906847 Fixes #59 ("Add noexcept support to the library"). 2021-04-19 11:17:48 +02:00
Ion Gaztañaga 1cec79608f Fixes #60 ("Licensing question for math.hpp"). Removes questioned, SO-based code since it was just an alternative version for non-MSVC/non-GCC compatible compilers. 2021-04-18 14:10:53 +02:00
Ion Gaztañaga 3c75cad9ab Add Pull #57 to the changelog 2021-04-18 14:05:14 +02:00
Ion Gaztañaga 8bb619caf7 Fix indentation 2021-04-18 14:04:53 +02:00
Ion Gaztañaga 8a4c55a56d Merge pull request #57 from ecatmur/patch-1
UB: comparing unrelated pointers
2021-04-18 14:00:00 +02:00
Ion Gaztañaga 4e8c9a8250 Merge pull request #55 from sdarwin/drone
Drone config
2021-04-18 13:47:26 +02:00
Ion Gaztañaga c6a4af8e9f Merge pull request #58 from sdarwin/githubactions
GitHub Actions config
2021-04-18 13:47:19 +02:00
Ion Gaztañaga c03b16b269 fast_log2: silence unused variable warning. 2021-03-14 08:15:33 +01:00
Ion Gaztañaga 45d6e4ee18 Merge pull request #56 from eldiener/develop
[skip ci] Add "cxxstd" json field
2021-03-14 08:11:28 +01:00
sdarwin dc5642d317 Add GitHub Actions config [ci skip] 2021-03-02 14:54:15 +00:00
Ed Catmur 39f7315a42 UB: comparing unrelated pointers
detected by gcc10 asan:

==13==ERROR: AddressSanitizer: invalid-pointer-pair: 0x612000031cc8 0x61d0000000d0
    #0 0x18f3270 in boost::intrusive::bucket_plus_vtraits<...>::priv_get_bucket_num_no_hash_store(boost::intrusive::slist_iterator<boost::intrusive::trivial_value_traits<boost::intrusive::slist_node_traits<void*>, (boost::intrusive::link_mode_type)0>, false>, boost::move_detail::bool_<false>) libs/intrusive/include/boost/intrusive/hashtable.hpp:935
    #1 0x18f3270 in boost::intrusive::hashtable_impl<...>::priv_get_bucket_num_hash_dispatch(boost::intrusive::slist_iterator<boost::intrusive::trivial_value_traits<boost::intrusive::slist_node_traits<void*>, (boost::intrusive::link_mode_type)0>, false>, boost::move_detail::bool_<false>) libs/intrusive/include/boost/intrusive/hashtable.hpp:3509
    #2 0x18f3270 in boost::intrusive::hashtable_impl<...>::priv_get_bucket_num(boost::intrusive::slist_iterator<boost::intrusive::trivial_value_traits<boost::intrusive::slist_node_traits<void*>, (boost::intrusive::link_mode_type)0>, false>) /home/edward.catmur/packages/boost/1.75.0-maven6/libs/intrusive/include/boost/intrusive/hashtable.hpp:3500
    #3 0x18f3270 in boost::move_detail::disable_if_convertible<...>::type boost::intrusive::hashtable_impl<...>::erase_and_dispose<...>(...) libs/intrusive/include/boost/intrusive/hashtable.hpp:2360
2021-02-15 10:42:25 +00:00
sdarwin c8b30d2e74 add drone config [ci skip] 2021-01-21 19:39:10 +00:00
Edward Diener c8a33bcbdc [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. 2021-01-19 23:02:17 -05:00
Ion Gaztañaga 5c5f596d12 twin: Add constructor from two objects boost-1.76.0.beta1 boost-1.76.0 2021-01-15 20:43:59 +01:00
Ion Gaztañaga f65f864f0e Include <stdlib.h> for _rotl in MSVC 2021-01-15 18:03:44 +01: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 c3ac8668ae Introduce a simplified hash_combine to avoid pulling STL dependencies from container_hash/hash.hpp for extremely simple cases. 2021-01-05 00:05:17 +01:00
Ion Gaztañaga 9c73691528 Update lightweight_test.hpp and hash.hpp references to the actual boost components. 2021-01-02 13:38:52 +01:00
Ion Gaztañaga 4d144d75da Fixes #54: ("set.rbegin() looks like O(log(N))") 2020-11-13 22:55:55 +01:00
Ion Gaztañaga cb3752dbb1 Use custom placement to avoid warning/errors when using -fno-exceptions. boost-1.75.0.beta1 boost-1.75.0 2020-10-22 01:11:05 +02:00
Ion Gaztañaga db19c478a7 Fix title in README 2020-10-20 12:27:54 +02:00
Ion Gaztañaga a0f886026c -Fix changelog typo
-Upload readme file
2020-10-20 12:25:23 +02:00
Ion Gaztañaga a054a02286 Update changelog with #48 and #49. 2020-10-19 13:39:43 +02:00
Ion Gaztañaga 77af03117e Merge pull request #48 from stellarscience/patch-1
MSVC "assignment within conditional" warning fix
2020-10-19 13:32:22 +02:00
Ion Gaztañaga 8879091c66 Merge pull request #49 from SiggyBar/develop
Fix empty control statement warnings.
2020-10-19 13:26:17 +02:00
Ion Gaztañaga fc05116510 Merge pull request #51 from camolezi/patch-1
Add missing include
2020-08-31 23:22:57 +02:00
Ion Gaztañaga d61acfb8cd Fixes #52: ("Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC") 2020-08-31 23:15:19 +02:00
Lucas Camolezi efb10791ca Add missing include
This patch makes the header able to be built standalone, making possible C++ clang modules builds.
2020-08-26 17:24:41 -03: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
Conrad Poelman b45a3b7cdd MSVC "assignment within conditional" warning fix
The latest MSVC 2019 issues a warning on this line. This change performs the assignment prior to the conditional.
2020-01-25 16:07:29 -05:00