Peter Dimov
2ae3e4ba44
Remove static_pointer_cast restriction; test dynamic cross cast.
2016-09-10 20:07:47 +03:00
Peter Dimov
a14515a364
Add negative pointer cast tests.
2016-09-10 18:43:22 +03:00
Peter Dimov
190c06e25d
Add tests for unique_ptr casts.
2016-09-10 17:55:14 +03:00
Peter Dimov
62a8a9d6cc
Merge branch 'karo/unique_ptr_casts' of https://github.com/koraa/smart_ptr into feature/unique_ptr_casts
2016-09-10 14:48:26 +03:00
Peter Dimov
48401806f4
Merge branch 'make_shared-constructor-forwarding' of https://github.com/muggenhor/boost-smart_ptr into develop
2016-09-10 14:24:52 +03:00
Peter Dimov
02de302774
Merge branch 'suppress-weak-vtables-warning' of https://github.com/Kojoley/smart_ptr into develop
2016-09-10 13:55:20 +03:00
Peter Dimov
840e9fc96e
Apply MIPS16 patch from ticket #12418
2016-09-02 20:13:15 +03:00
Nikita Kniazev
70367e848e
Suppress weak vtables warnings
2016-08-31 17:32:09 +03:00
Peter Dimov
20fedcff2c
Use <atomic> by default when BOOST_NO_CXX11_HDR_ATOMIC is not defined
2016-08-28 21:28:21 +03:00
Giel van Schijndel
de38a735ea
boost::make_shared: use Constructor Forwarding on C++03
...
Use Boost.Move's move emulation and documented Constructor Forwarding
technique to provide (partial) constructor forwarding on compilers that
don't support r-value references.
This allows constructing types taking movable-but-not-copyable types as
constructor arguments. Additionally it's generally more efficient for
movable-and-copyable types, but that's just a nice-to-have.
2016-07-25 15:02:57 +02:00
Karolin Varner
ce52fb1045
pointer_casts with move semantics for unique_ptr
2016-06-06 16:08:26 +02:00
Karolin Varner
6b787f1cec
Add overloads for std::shared_ptr to pointer casts
2016-06-06 14:51:44 +02:00
Peter Dimov
e52905cf3c
Add intrusive_ptr converting move assignment.
2016-05-17 18:43:41 +03:00
Peter Dimov
a7ade6f062
Remove unnecessary #ifdef
2016-05-17 18:34:18 +03:00
Peter Dimov
097d2e9bf9
Merge branch 'intrusive_ptr_move' of https://github.com/jtwang83/smart_ptr into develop
2016-05-17 18:29:29 +03:00
Peter Dimov
582eb63cb3
Merge pull request #18 from joachim-faulhaber/smart_ptr_patches_1_59_0
...
Warning fixes: Conversion and unused parameter warnings
2016-05-17 18:07:32 +03:00
Peter Dimov
da8de3e95b
Merge pull request #19 from Lastique/patch-4
...
Make the default intrusive_ptr constructor constexpr
2016-05-17 17:59:10 +03: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
Glen Fernandes
427124543b
Use remove_reference in make_unique implementation
2016-02-19 08:09:25 -05:00
Peter Dimov
4473bf8ec2
Fix hash support for shared_ptr<T[]>, <T[N]>
2015-12-15 19:13:20 +02:00
Glen Fernandes
7a7ac4512e
Fix formatting in headers and tests
2015-11-11 01:26:15 -05:00
Glen Fernandes
7af503d3bb
Refactor make_unique implementations
...
Before the pending refactor of make_shared/allocate_shared for arrays.
2015-11-08 11:02:06 -05:00
Ion Gaztañaga
3f17244225
Removed the intrin.h-related part
...
Removed the commented part as the comment clearly says that VC9 has problems when intrin.h is included.
2015-10-18 19:44:17 +02:00
Ion Gaztañaga
ca93749614
Support MSVC-7.1/ intrin.h available >= MSVC-8.0
...
-> MSVC 7.1 has no intrin.h and needs to use "#pragma intrinsic".
-> intrin.h available since Visual 2005
2015-10-18 12:51:13 +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
Andrey Semashev
970a179ac2
Make the default constructor constexpr
2015-10-05 18:24:52 +03:00
Joachim Faulhaber
fd543d3292
Warning fixes: Conversion and unused parameter warnings
2015-09-24 14:53:40 +02:00
Peter Dimov
df90496583
Disable deprecation warnings on g++/clang
2015-09-10 23:45:47 +03:00
jzmaddock
abbe975e8f
Disable explicit operator bool on Oracle C++
...
Although Oracle supports this syntax, advanced usage such as:
if(my_shared_ptr && x)
Fail. Attempts to wokaround by adding additional operator overloads have so far failed.
2015-08-18 18:14:50 +01:00
Edward Diener
686efe100b
Updated Sleep declaration only includes _mingw.h when needed.
2015-07-22 18:23:43 -04:00
Edward Diener
acb880d8c2
Change to Sleep declaration for clang on Windows to match Windows implementation being used
2015-07-22 06:51:49 -04:00
Edward Diener
1712b87cb6
Added __declspec(dllimport) for Sleep using clang on Windows.
2015-07-21 15:41:35 -04:00
Peter Dimov
a42dda0af4
Apply fix for errata 754327 for ARM Cortex-A9 suggested in ticket #11362
2015-06-06 01:40:01 +03:00
Peter Dimov
d875a68ceb
Add constructor/assignment taking boost::movelib::unique_ptr
2015-05-04 01:06:42 +03:00
Jörg Böhme
94824c807f
Add missing std:: namespace
2015-03-20 00:23:58 +01:00
Jonathan Wang
334654de06
intrusive_ptr: add converting ctor for intrusive_ptr<U> with move semantics. Analagous to
...
template <class U> intrusive_ptr(intrusive_ptr<U> const&)
2015-03-15 20:17:55 -04:00
Fedor Sergeev
99762e7dde
Add <cstddef> include. fixes #11066
2015-03-01 23:14:28 +04:00
Peter Dimov
7104e7dc7e
Add weak_from_this.
2015-01-25 20:10:57 +02:00
Peter Dimov
3fd53ced83
Make shared_from_raw and weak_from_raw return consistent values in a constructor, regardless of order, as suggested by Gavin Lambert in #8 .
2015-01-22 20:47:01 +02:00
Peter Dimov
75de3dbcf1
Add clang-specific sp_counted_base.
2015-01-22 05:13:27 +02:00
Peter Dimov
7faec4265b
Fix conflicts with the I macro in <complex.h>.
2015-01-21 19:55:42 +02:00
Peter Dimov
a74329794c
Fix ambiguous 'detail' errors under msvc-8.0.
2015-01-16 20:53:27 +02:00
Peter Dimov
f65c57d9d2
Fix explicit instantiation regression
2014-11-12 19:04:29 +02:00
Peter Dimov
7b71068b52
Extend nullptr_t workaround to Intel C++.
2014-08-09 00:26:00 +03:00
Peter Dimov
8de3e84021
Fix shared_from_raw_test4 failures.
2014-08-06 21:28:03 +03:00
Peter Dimov
528195233b
Merge branch 'aix_fix' of https://github.com/ibmsoe/smart_ptr into develop
2014-07-30 17:51:32 +03:00
Axel Ismirlian
8c49f5a637
Avoid potential conflict between AIX's and Lambda's var.
...
In ../boost/lambda/detail/lambda_functor_base.hpp there is variable called var that conflicts with an AIX system variable. The entire file (sched.h) does not need to be included only the one function it uses (sched_yield).
2014-07-30 09:23:21 -05:00
Glen Fernandes
88f0a98d71
Rename member because _CRTDBG_MAP_ALLOC in VS does not allow it
...
_CRTDBG_MAP_ALLOC has issues with member functions named "free".
2014-07-25 20:33:29 -07:00
Andrey Semashev
40387ef654
Fix compilation problems with clang
...
Apparently, clang presents itself as gcc 4.2 even though it supports the final version of rvalue references. Restrict the workaround to gcc only.
2014-07-16 16:43:35 +04:00