Paul Groke
3bb4e4d2df
don't define BOOST_SP_HAS_SYNC for z/OS XL C/C++ compiler
2017-02-25 05:44:04 +01:00
Minmin Gong
d718d21d6b
Fix compiling problems under ClangC2.
2017-02-05 15:51:42 -08: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
a7fbb0a841
Do not use components removed in C++17 (auto_ptr, binary_function)
2016-11-06 15:35:46 +02: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
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
Andrey Semashev
b1beb11a45
Fix warnings on gcc 4.4
...
Added a special version of sp_forward for an outdated version of rvalue references supported by gcc 4.4. The compiler would create a temporary and return an rvalue reference to it in the original code. This resulted in warnings about 'returning reference to temporary'.
The added version is similar to std::forward on that compiler, except it doesn't prohibit template argument deduction (which is in line with the original sp_forward).
2014-07-14 22:33:16 +04:00