78 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
95eaa2d7c3 Update shared_ptr move constructors to improve codegen 2022-05-19 22:20:50 +03:00
fanquake
f4d7116241 refactor: use core/checked_delete.hpp over checked_delete.hpp
boost/checked_delete.hpp has been deprecated.
2022-04-03 16:49:10 +01: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
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
5a18ffdc56 Add std::hash specializations for shared_ptr, local_shared_ptr, intrusive_ptr 2020-06-02 05:59:23 +03:00
Peter Dimov
58915ca2fe Add owner_equals 2020-05-31 21:41:06 +03:00
Edward Diener
df06c324a7 Merge branch 'develop' of https://github.com/boostorg/smart_ptr into cppbuilder 2020-04-19 02:49:06 -04:00
Peter Dimov
7b9a969215 Add deduction guides to shared_ptr and weak_ptr. Fixes #73. 2020-04-02 00:28:02 +03:00
Edward Diener
cd562eb053 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-26 17:17:22 -04:00
Glen Fernandes
43d1fe12c5 Include lightweight_test from core and workaround from config 2020-01-01 08:31:25 -05:00
Peter Dimov
e306b30dcf Use a private detail/sp_typeinfo header instead of the deprecated Core one 2019-04-22 05:25:07 +03:00
Peter Dimov
51d8167fbf Add more BOOST_SP_NOEXCEPT 2019-01-28 18:46:39 +02:00
Peter Dimov
4025698fe8 Change atomic operations to take an arbitrary MemoryOrder type, to fix test breakage caused by transition to scoped enum in Boost.Atomic, tracking C++20 2018-02-07 17:45:07 +02:00
Peter Dimov
f901988e57 Store shared_count in local_counted_base, not shared_ptr 2017-06-20 21:38:03 +03:00
Peter Dimov
6e5a382b6b Start work on get_deleter for local_shared_ptr 2017-06-20 19:01:16 +03:00
Peter Dimov
7ed8583a9c Document shared_ptr atomic access functions 2017-06-18 15:24:00 +03:00
Peter Dimov
0e78e219f5 Make default constructors constexpr 2017-06-18 02:43:20 +03:00
Peter Dimov
1cae5c5696 Fix documentation links in headers 2017-06-17 00:13:21 +03:00
Peter Dimov
1d314c5668 Make null unique_ptr convert to empty shared_ptr 2017-06-13 05:50:40 +03:00
Peter Dimov
52d976fde2 Use BOOST_SP_NOEXCEPT, BOOST_SP_NOEXCEPT_WITH_ASSERT 2017-06-12 18:06:54 +03:00
Chris Glover
3e2ac10e94 Add rvalue versions of static_pointer_cast, const_pointer_cast, dynamic_pointer_cast, reinterpret_pointer_cast.
Aligns with proposed addition to std:: here: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0390r0.htm
2016-12-11 15:38:34 -05:00
Peter Dimov
3e61a63f60 Use throw() in place of noexcept on msvc-11.0,12.0 for the standard nothrow traits 2016-11-08 18:42:51 +02:00
Peter Dimov
522f6c1869 Add more aliasing move test cases, add alias move reset 2016-04-13 14:31:43 +03:00
Peter Dimov
cd8de9d4a6 Merge branch 'move-alias' of https://github.com/uecasm/smart_ptr into develop 2016-04-13 13:29:50 +03:00
Peter Dimov
4473bf8ec2 Fix hash support for shared_ptr<T[]>, <T[N]> 2015-12-15 19:13:20 +02:00
Gavin Lambert
05d5a4e9a0 Added shared_ptr aliasing move constructor.
Signed-off-by: Gavin Lambert <github@mirality.co.nz>
2015-10-12 18:19:22 +13:00
Peter Dimov
df90496583 Disable deprecation warnings on g++/clang 2015-09-10 23:45:47 +03:00
Peter Dimov
d875a68ceb Add constructor/assignment taking boost::movelib::unique_ptr 2015-05-04 01:06:42 +03:00
Peter Dimov
f65c57d9d2 Fix explicit instantiation regression 2014-11-12 19:04:29 +02:00
Peter Dimov
8de3e84021 Fix shared_from_raw_test4 failures. 2014-08-06 21:28:03 +03:00
Peter Dimov
b550e028f5 Move boost/memory_order.hpp to Boost.Atomic 2014-05-20 23:33:03 +03:00
Peter Dimov
d7fa365843 Remove obsolete _nmt headers. 2013-12-14 00:15:51 +02:00
Peter Dimov
a4f853bfbc Revert "SmartPtr: Remove obsolete MSVC version checks."
This reverts commit 7d1c527ac0.
2013-12-07 19:25:05 +02:00
Peter Dimov
182452e057 Revert "Remove use of obsolete BOOST_NO_TEMPLATED_STREAMS macro."
This reverts commit 14be9eb90f.
2013-12-07 19:21:31 +02:00
Peter Dimov
5f69684c8f Revert "SmartPointer: Remove obsolete GCC version checks."
This reverts commit 0e6ddb843e.
2013-12-07 19:21:06 +02:00
Peter Dimov
70ffd2921f Revert "Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION"
This reverts commit 8767b9580e.
2013-12-07 19:20:36 +02:00
Peter Dimov
00aee2c7dc Revert "Simplify multi-component ifdefs containing BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION"
This reverts commit f5e6e4063e.
2013-12-07 19:20:12 +02:00
Peter Dimov
85d8056368 Revert "Remove remaining occurances of BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION"
This reverts commit 56b0853887.
2013-12-07 19:19:46 +02:00
Stephen Kelly
56b0853887 Remove remaining occurances of BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
These evaded scripting.

[SVN r86249]
2013-10-11 23:22:36 +00:00
Stephen Kelly
f5e6e4063e Simplify multi-component ifdefs containing BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
[SVN r86248]
2013-10-11 23:20:59 +00:00
Stephen Kelly
8767b9580e Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifndef...#endif conditions.

[SVN r86244]
2013-10-11 23:15:00 +00:00
Stephen Kelly
0e6ddb843e SmartPointer: Remove obsolete GCC version checks.
[SVN r86063]
2013-09-30 15:57:14 +00:00
Stephen Kelly
14be9eb90f Remove use of obsolete BOOST_NO_TEMPLATED_STREAMS macro.
It was only defined for no-longer-supported-gcc.

[SVN r86062]
2013-09-30 15:56:52 +00:00
Stephen Kelly
7d1c527ac0 SmartPtr: Remove obsolete MSVC version checks.
[SVN r85929]
2013-09-26 09:39:50 +00:00
Peter Dimov
e5950adc43 Check for BOOST_NO_CXX11_RVALUE_REFERENCES in addition to BOOST_NO_CXX11_SMART_PTR. Refs #8055.
[SVN r82927]
2013-02-16 17:18:17 +00:00
Peter Dimov
ef817e91d2 Replace std::nullptr_t with boost::detail::sp_nullptr_t.
[SVN r82351]
2013-01-04 15:41:13 +00:00