100 Commits
Author SHA1 Message Date
Peter Dimov f2ab3b21f0 Merge pull request #90 from fanquake/use_core_checked_delete
refactor: use boost/core/checked_delete.hpp over boost/checked_delete.hpp
2022-05-20 03:45:08 +03:00
Peter Dimov e04196b6a1 Update ci.yml 2022-05-20 01:35:15 +03:00
Peter Dimov 95eaa2d7c3 Update shared_ptr move constructors to improve codegen 2022-05-19 22:20:50 +03:00
Peter Dimov 2e31d0d633 Add ubuntu-22.04 to posix-cmake-test in ci.yml 2022-05-19 21:09:26 +03:00
Peter Dimov b8cb132ab4 Update ci.yml 2022-05-19 20:15:52 +03:00
Peter Dimov f12a33813d Remove msvc-14.2 (in GHA); use clang-win from 2019 2021-12-17 02:49:45 +02:00
Peter Dimov 8f40bff2f6 Remove cxxstd=2a from clang-8 2021-10-29 00:48:48 +03:00
Peter Dimov 1ef8f4e72d Remove 16.04 from ci.yml 2021-10-28 23:31:51 +03:00
Peter Dimov f651a49d96 Enable syntax hightlighting 2021-10-28 23:16:09 +03:00
Peter Dimov 598314b8e1 Add msvc-14.3 to ci.yml 2021-10-28 23:15:44 +03:00
Peter Dimov 72221d1da0 Update ci.yml 2021-06-08 18:59:28 +03:00
Peter Dimov 2cbeb5b185 Update ci.yml 2021-06-08 18:32:47 +03:00
Peter Dimov 67e657c228 Build CMake tests in .travis.yml 2021-06-08 08:18:47 +03:00
Peter Dimov eba3cf92e7 Disable failing tests on 4.4 in addition to 4.4.7 2021-06-08 05:58:06 +03:00
Peter Dimov 8340a13539 Merge branch 'feature/move-up-deleter' into feature/move-only-deleter 2021-05-11 18:03:35 +03:00
Peter Dimov 098d0f4ce3 Disable sp_unique_ptr_test2 on msvc-10.0 2021-05-11 15:54:21 +03:00
Peter Dimov fec5fb97c8 Enable move-only deleters in the nullptr_t constructors 2021-05-11 02:15:27 +03:00
Peter Dimov b52d7548b3 Enable move-only deleters in the allocator constructor 2021-05-11 02:05:28 +03:00
Peter Dimov 594c7485a5 Enable move-only deleters 2021-05-11 01:59:01 +03:00
Peter Dimov d751041fb9 Add more test cases to sp_unique_ptr_test2 2021-05-11 01:33:48 +03:00
Peter Dimov d41546ddce Move the unique_ptr deleter instead of copying it 2021-05-11 01:20:02 +03:00
Peter Dimov f3424e74e8 Update .github/workflows 2021-04-19 18:53:52 +03:00
Peter Dimov 0eee7efd54 Update .github/workflows 2021-04-19 18:18:38 +03:00
Peter Dimov dc2a127369 Update .travis.yml 2021-01-26 12:53:36 +02:00
Peter Dimov 64b2eac868 Add .github/workflows 2021-01-20 00:41:39 +02:00
Peter Dimov 856ed108e8 Update maintainer e-mail 2020-12-12 01:05:17 +02:00
Peter Dimov 678a544d27 Add cxxstd=latest to msvc-14.2 2020-11-14 21:42:09 +02:00
Peter Dimov f1b06df6f4 Use address-model=32 for msvc-9.0,10.0,11.0 2020-11-14 21:37:15 +02:00
Peter Dimov 620620df3d Merge branch 'develop' 2020-06-19 19:17:05 +03:00
Peter Dimov 0bd61c1089 Remove boost_install call from CMakeLists.txt 2020-06-17 19:36:01 +03:00
Peter Dimov d1295a9974 Remove boost_install call from CMakeLists.txt 2020-06-11 17:19:17 +03:00
Peter Dimov 6e8c15c02f Fix typo, trailing whitespace 2020-06-10 21:59:48 +03:00
Peter Dimov 7c0dcd338a Refactor yield_k.hpp 2020-06-10 18:58:08 +03:00
Peter Dimov 8d79ceaf8a Revert using a relaxed load before test_and_set; not necessary, and slower, with a proper yielding strategy as opposed to just pause-spinning 2020-06-10 18:20:33 +03:00
Peter Dimov d35cf29b99 Revert "Use a relaxed load before XCHG to not lock cache line on contention (AMD spinlock recommendation per <https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/>)"
This reverts commit 8afe162910.
2020-06-10 18:18:35 +03:00
Peter Dimov 72ca834ae8 Change yield_k to not use sp_thread_yield; using sp_thread_sleep is always strictly superior, at least on Windows 2020-06-07 21:24:21 +03:00
Peter Dimov 8afe162910 Use a relaxed load before XCHG to not lock cache line on contention (AMD spinlock recommendation per <https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/>) 2020-06-07 21:07:35 +03:00
Peter Dimov 5d31c1c443 Refactor yield_k.hpp 2020-06-07 20:40:41 +03:00
Peter Dimov 3db4ad9a15 Use a relaxed load before test_and_set to not lock cache line on contention (AMD spinlock recommendation per <https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/>) 2020-06-07 17:59:55 +03:00
Peter Dimov d0655ab145 Add atomic_count_gcc_atomic.hpp 2020-06-07 06:29:14 +03:00
Peter Dimov 7c01e640f7 Use int_least32_t in atomic_count_sync; prefer it to atomic_count_gcc_x86; mark latter obsolete 2020-06-07 06:05:17 +03:00
Peter Dimov 00db1e02c6 Add spinlock_gcc_atomic.hpp 2020-06-07 05:00:03 +03:00
Peter Dimov 914b93430a Change spinlock_sync.hpp to use a single byte 2020-06-07 04:10:49 +03:00
Peter Dimov 15ffd7852b Remove Clang C11 implementation; no longer used 2020-06-07 02:05:55 +03:00
Peter Dimov c66c4f5ed1 Mark platform-specific implementations as obsolete 2020-06-07 02:04:42 +03:00
Peter Dimov 7e9d8c39a3 Add sp_has_gcc_intrinsics.hpp, sp_counted_base_gcc_atomic.hpp 2020-06-06 20:43:08 +03:00
Peter Dimov a0d08b17e0 Fix include guards 2020-06-06 17:13:56 +03:00
Peter Dimov 108a86cdbd Rename sp_has_sync.hpp to sp_has_sync_intrinsics.hpp 2020-06-06 17:11:28 +03:00
Peter Dimov d08bdc86e5 Remove unused files 2020-06-06 16:59:36 +03:00
Peter Dimov f8dcf5f6f4 Use BOOST_SMT_PAUSE starting from the first iteration 2020-06-06 16:54:57 +03:00
Peter Dimov d38f64ded9 Update documentation 2020-06-06 00:35:12 +03:00
Peter Dimov b66fe51566 Avoid g++ 4.4 conflict between hash() and boost::hash 2020-06-06 00:15:58 +03:00
Peter Dimov 1b5568d585 Add sp_unordered_test 2020-06-05 18:54:44 +03:00
Peter Dimov fad0c20263 Add owner_hash 2020-06-05 18:45:00 +03:00
Peter Dimov 1c61e54b13 Update documentation 2020-06-05 18:12:59 +03:00
Peter Dimov a0fc1e6daa Add wp_unordered_test 2020-06-04 20:52:17 +03:00
Peter Dimov 5dd84ea389 Add .owner_hash_value to shared/weak_ptr, hash_value, std::hash/equal_to specializations for weak_ptr 2020-06-04 20:40:57 +03:00
Peter Dimov bc677e9098 Do not require boost::hash in the std::hash specializations 2020-06-03 17:38:03 +03:00
Peter Dimov 688cfed63e Add Boost::bind to CMake test dependencies 2020-06-03 07:38:07 +03:00
Peter Dimov c63dc266b9 Update submodule libs/bind on Travis/Appveyor 2020-06-02 21:51:00 +03:00
Peter Dimov 6c181a0707 When BOOST_SP_REPORT_IMPLEMENTATION is defined, report what platform-specific atomic implementation is used 2020-06-02 20:51:38 +03:00
Peter Dimov 4047290b85 Add multithreaded tests 2020-06-02 18:58:45 +03:00
Peter Dimov dc6c76d7e9 Move lightweight_thread.hpp to smart_ptr/detail 2020-06-02 17:55:15 +03:00
Peter Dimov 5a18ffdc56 Add std::hash specializations for shared_ptr, local_shared_ptr, intrusive_ptr 2020-06-02 05:59:23 +03:00
Peter Dimov 09fdd5ebfd Add FreeBSD to Travis 2020-06-01 18:18:57 +03:00
Peter Dimov 911874e139 Add gcc-10 to Travis 2020-06-01 18:18:12 +03:00
Peter Dimov c7c0eacb74 Add initializers to eq and lt 2020-06-01 15:08:53 +03:00
Peter Dimov 9ed9f43ca8 Document owner_less, owner_equal_to 2020-06-01 03:53:21 +03:00
Peter Dimov 0ddf990869 Add noexcept to owner_less, owner_equal_to 2020-06-01 03:44:41 +03:00
Peter Dimov a08a5f3d41 Update introduction 2020-06-01 03:26:02 +03:00
Peter Dimov 77c2d4cad7 Add owner_less_test2 2020-06-01 03:13:42 +03:00
Peter Dimov fd612dc114 Add owner_equal_to 2020-06-01 03:05:34 +03:00
Peter Dimov e67ebef9a7 Update changelog 2020-06-01 02:01:10 +03:00
Peter Dimov 6f5b9c7b37 Document local_shared_ptr::owner_equals 2020-06-01 01:59:40 +03:00
Peter Dimov 91f3aa0386 Add local_shared_ptr::owner_equals 2020-06-01 01:35:25 +03:00
Peter Dimov 686a354f21 Add lsp_owner_before_test 2020-06-01 01:16:46 +03:00
Peter Dimov efceb04665 Asciidoctor 2 fixes 2020-06-01 01:02:09 +03:00
Peter Dimov ca57860ae2 Update footer 2020-06-01 00:41:25 +03:00
Peter Dimov 9dcd05f918 Document owner_equals 2020-06-01 00:40:02 +03:00
Peter Dimov 4b724ab3f8 Add mixed shared_count/weak_count operator== overloads to avoid refcount manipulation 2020-05-31 22:07:36 +03:00
Peter Dimov 58915ca2fe Add owner_equals 2020-05-31 21:41:06 +03:00
Peter Dimov 62b0e5cdf4 Add mixed shared_count/weak_count operator< overloads to avoid refcount manipulation 2020-05-31 21:12:12 +03:00
Peter Dimov 951ff783b5 Add sp_owner_before_test 2020-05-31 20:33:24 +03:00
Peter Dimov 6421394e70 Fix msvc-8.0 failures 2020-05-31 20:14:25 +03:00
Peter Dimov 1e5df9d551 Merge pull request #79 from EugeneZelenko/use-boost-override
Fix Clang-tidy modernize-use-override warnings.
2020-05-19 01:58:20 +03:00
Peter Dimov 496127ab99 Merge pull request #77 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74
2020-05-19 01:57:37 +03:00
Peter Dimov 02cc561248 Only use warnings-as-errors on msvc, gcc, clang 2020-04-28 05:05:57 +03:00
Peter Dimov 066b398114 Disable -Wc11-extensions in sp_counted_base_clang.hpp 2020-04-27 00:50:15 +03:00
Peter Dimov 9c43c69c14 Add sp_pedantic_test 2020-04-26 19:57:05 +03:00
Peter Dimov eb8998cd91 Add Clang 10 to Travis 2020-04-26 18:27:35 +03:00
Peter Dimov 0ddfab493c Do not enable -Wsuggest-override in C++03 mode 2020-04-14 07:12:35 +03:00
Peter Dimov a2732e207a Add BOOST_OVERRIDE to sp_counted_impl.hpp 2020-04-14 00:55:52 +03:00
Peter Dimov 5be7523ebe Merge branch 'develop' into feature/suggest-override 2020-04-14 00:45:24 +03:00
Peter Dimov 2320dafc03 Add BOOST_OVERRIDE to bad_weak_ptr.hpp and local_counted_base.hpp 2020-04-14 00:42:57 +03:00
Peter Dimov 7ab4093f46 Use shared_ptr and make_shared in sp_override_test 2020-04-14 00:32:25 +03:00
Peter Dimov 296c203135 Rename sp_warning_test to sp_override_test 2020-04-14 00:15:32 +03:00
Peter Dimov 977544feda Add sp_warning_test 2020-04-08 21:25:36 +03:00
Peter Dimov 54b5498208 Manually convince clang-cl to fail shared_from_fail and weak_from_fail 2020-04-02 04:01:21 +03:00
Peter Dimov da81452f1f Make shared_from_this and weak_from_this private in enable_shared_from. Fixes #75. 2020-04-02 02:16:59 +03:00
Peter Dimov 7b9a969215 Add deduction guides to shared_ptr and weak_ptr. Fixes #73. 2020-04-02 00:28:02 +03:00