Commit Graph

54 Commits

Author SHA1 Message Date
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
Peter Dimov
e8be24c003 Untabify.
[SVN r82188]
2012-12-23 16:05:00 +00:00
Peter Dimov
647f67aabf Replace use of BOOST_HAS_RVALUE_REFS with !BOOST_NO_CXX11_RVALUE_REFERENCES.
[SVN r81900]
2012-12-13 16:48:57 +00:00
Peter Dimov
fd52dbc411 Change make_shared to use the new _internal_get_untyped_deleter. Refs #6830.
[SVN r81860]
2012-12-11 18:21:29 +00:00
Peter Dimov
8093967da7 Use explicit operator bool when available; add nullptr support to shared_ptr. Refs #4116.
[SVN r81780]
2012-12-08 00:51:59 +00:00
Peter Dimov
7a733263da Fix get_pointer for the array case, add operator= for unique_ptr, update auto_ptr signatures to use rvalue reference when available.
[SVN r81730]
2012-12-06 03:18:54 +00:00
Peter Dimov
97d32745aa Update shared_ptr casts.
[SVN r81463]
2012-11-21 17:43:48 +00:00
Peter Dimov
7835914d83 Borland fixes.
[SVN r81437]
2012-11-20 15:22:19 +00:00
Peter Dimov
cf769b94a7 Apply BOOST_NOEXCEPT patch. Refs #7523.
[SVN r81368]
2012-11-16 15:05:25 +00:00
Peter Dimov
2aaa913b11 Keep old definition of sp_assert_convertible when BOOST_SP_NO_SP_CONVERTIBLE is set.
[SVN r81271]
2012-11-09 23:27:02 +00:00
Peter Dimov
aa7562c3e5 Add support for shared_ptr<X[N>.
[SVN r81253]
2012-11-08 18:07:49 +00:00
Peter Dimov
0b6cab9f2f Fix shared_ptr<T[]> EDG issues.
[SVN r81159]
2012-11-03 14:49:45 +00:00
Peter Dimov
8c15401ea7 Implement shared_ptr<X[]>, weak_ptr<X[]>. Refs #1113.
[SVN r81149]
2012-11-02 17:41:33 +00:00
Peter Dimov
0c22e55f3e Add shared_ptr constructor taking std::unique_ptr. Refs #6625.
[SVN r81131]
2012-10-31 22:16:20 +00:00
Peter Dimov
57a5441ebf Creatively apply patch from #2603. Refs #2603.
[SVN r76111]
2011-12-23 03:00:05 +00:00
Peter Dimov
7e9664396a Add copy constructor/assignment - in C++0x, move disables implicit copy.
[SVN r73202]
2011-07-17 20:35:44 +00:00
Peter Dimov
69aa01ec00 Add hash_value for shared_ptr; prevents hash_value( bool ) from being used. Refs #5216.
[SVN r69260]
2011-02-24 23:24:54 +00:00
Peter Dimov
53d5d086ea Warning 4284 is obsolete. Refs #4433.
[SVN r69245]
2011-02-24 20:48:17 +00:00
Peter Dimov
ae34be773f Qualify detail:: references. Detabify sp_typeinfo_test.cpp.
[SVN r58306]
2009-12-11 22:36:35 +00:00
Peter Dimov
b691be0af9 Remove std::move references. Refs #3570.
[SVN r57957]
2009-11-26 21:20:47 +00:00
Frank Mori Hess
2ee5eb70f3 Brought back code which fixes get_deleter when it is called on a deleter
which has been wrapped inside a deleter_wrapper by "shared_from_raw() in 
constructors" support.


[SVN r57206]
2009-10-28 22:42:21 +00:00
Frank Mori Hess
32eb028e13 Renamed enable_shared_from_this2 to enable_shared_from_raw and
added shared_from_raw free function.  These changes fix the pointer 
value in shared_ptr which were obtained before an external shared_ptr has
taken ownership of the object (for example when a shared_ptr to
this is obtained in an object's constructor).



[SVN r57197]
2009-10-28 19:10:47 +00:00
Timothy Zachary Laine
fc12543814 Merged in smart_ptr changes from the sandbox/boost0x branch created for
BoostCon '09.  This adds move semantics to weak_ptr and intrusive_ptr.


[SVN r52937]
2009-05-12 16:18:15 +00:00
Peter Dimov
0368a37fde Bring back "explicit" on the auto_ptr rvalue constructor. Refs #2951.
[SVN r52454]
2009-04-17 19:51:18 +00:00
Peter Dimov
d34d638998 Bring back the constructor-enabled enable_shared_from_this as enable_shared_from_this2.
[SVN r51912]
2009-03-22 21:11:17 +00:00