Peter Dimov
bd5b684fd3
Move smart_ptr into boost/smart_ptr/*.hpp (refs #2239 ).
...
[SVN r51509]
2014-02-12 16:41:17 +02:00
Peter Dimov
6ede4ec4c6
Factored out boost/detail/lightweight_thread.hpp.
...
[SVN r44638]
2014-02-12 16:41:16 +02:00
Peter Dimov
aab1328e06
spinlock_nt.hpp added, Cygwin fixes.
...
[SVN r44055]
2014-02-12 16:41:16 +02:00
Anthony Williams
451c71c1bd
Added changes from David Deakins to enable compilation on Windows CE
...
[SVN r40679]
2014-02-12 16:41:16 +02:00
Peter Dimov
6341b8802a
Windows CE patch by Michael Fink
...
[SVN r33986]
2014-02-12 16:41:15 +02:00
Anthony Williams
e274885fd2
Win32 implementation of boost::timed_mutex
...
[SVN r33272]
2014-02-12 16:41:15 +02:00
Peter Dimov
82fe5f5095
Fixed a couple of syntax errors (reported by Juergen Hunold)
...
[SVN r31946]
2014-02-12 16:41:14 +02:00
Peter Dimov
8c50214e3f
Fixed bug #1370716 , static shared_ptr instances not working w/ quick_allocator
...
[SVN r31931]
2014-02-12 16:41:14 +02:00
Anthony Williams
21198d07fd
Moved BOOST_INTERLOCKED_READ stuff into its own header
...
[SVN r31098]
2014-02-12 16:41:14 +02:00
Anthony Williams
b4c8cf3958
Removed :: qualification on _Interlocked functions
...
[SVN r31097]
2014-02-12 16:41:13 +02:00
Anthony Williams
77aeaee7a7
Added BOOST_INTERLOCKED_EXCHANGE_POINTER in all branches of the #if
...
[SVN r31012]
2014-02-12 16:41:13 +02:00
Anthony Williams
677a0777d2
Added InterlockedExchangePointer
...
[SVN r31010]
2014-02-12 16:41:12 +02:00
Anthony Williams
7c7250379b
InterlockedCompareExchangePointer is only intrinsic on 64 bit platforms, otherwise it's just a synonym for InterlockedCompareExchange
...
[SVN r30951]
2014-02-12 16:41:12 +02:00
Anthony Williams
142eb95986
Added interlocked compare/exchange for pointers, and interlocked_read for values and pointers
...
[SVN r30941]
2014-02-12 16:41:11 +02:00
Anthony Williams
d9f24f882e
New version of call_once for win32
...
[SVN r30847]
2014-02-12 16:41:11 +02:00
Peter Dimov
0fd3947e19
<intrin.h> appears broken.
...
[SVN r27737]
2014-02-12 16:41:10 +02:00
Peter Dimov
43bc30e576
Split sp_counted_base into no threads (nt), win32 lock-free (w32) and pthreads (pt)
...
[SVN r27729]
2014-02-12 16:41:10 +02:00
Douglas Gregor
e0ec2a0aaa
Converted to Boost Software License, Version 1.0
...
[SVN r24055]
2014-02-12 16:41:10 +02:00
Peter Dimov
5320981cbb
_MSC_VER use clarified.
...
[SVN r20992]
2014-02-12 16:41:09 +02:00
Peter Dimov
d676bac36a
-Wundef fixes.
...
[SVN r18788]
2014-02-12 16:41:09 +02:00
Peter Dimov
ec1c6ed414
Fixes for Comeau with Borland as backend.
...
[SVN r17588]
2014-02-12 16:41:08 +02:00
Peter Dimov
ce36b11fd5
Made the default page size 512 (g++ 2.96 on Red Hat 7.2 dislikes 496.)
...
[SVN r17272]
2014-02-12 16:41:08 +02:00
Peter Dimov
eee70bdcab
Added BOOST_QA_PAGE_SIZE.
...
[SVN r17270]
2014-02-12 16:41:07 +02:00
Peter Dimov
97eed20d9b
Quick_allocator updates.
...
[SVN r17267]
2014-02-12 16:41:07 +02:00
Peter Dimov
6b6b63ef37
Dave's quick_allocator added, #define BOOST_SP_USE_QUICK_ALLOCATOR to make shared_ptr use it.
...
[SVN r17087]
2014-02-12 16:41:07 +02:00
Glen Fernandes
7ce5b6b2a9
Fix use of ms_init in no C++11 allocator case
2014-02-11 08:39:52 -08:00
Glen Fernandes
7e3ae44bc2
Fix use of size in make_shared for arrays
2014-02-10 21:09:13 -08:00
Glen Fernandes
57dc400fbf
Cosmetic changes in make_shared and make_unique
2014-02-10 21:04:41 -08:00
Glen Fernandes
5f485c2952
Spatial optimization for make_shared for arrays
...
Saves up to sizeof(void*) + sizeof(size_t) bytes for make_shared and saves
sizeof(void*) + sizeof(size_t) + sizeof(A) bytes for allocate_shared where A is the
supplied allocator type.
2014-02-10 20:54:48 -08:00
Glen Fernandes
54fb49a5be
Use typedef A1 (warnings about unused typedefs)
2014-02-09 11:27:22 -08:00
Glen Fernandes
c23bd41c44
Refactor make_shared for arrays
...
Refactor implementation to later simplify making an optimization [for the C++11
allocator case] for when sp_counted_impl_pda destruction invokes the
allocator's destroy function instead of the type's destructor.
2014-02-07 08:03:47 -08:00
Peter Dimov
a64cc5c41c
Use allocator)traits<>::destroy in sp_counted_impl_pda::destroy
2014-02-07 17:37:00 +02:00
Glen Fernandes
d46e3c7cbd
Simplify/tidy array_allocator and array_deleter
2014-02-06 01:38:58 -08:00
Glen Fernandes
6d73b4aa54
Work around VC11 which has broken rebind_traits
...
VC11 has only partial support for C++11 allocators. For example it has a
non-conforming rebind_alloc and rebind_traits in std::allocator_traits
because it does not support C++11 template aliases.
2014-02-04 23:56:34 -08:00
Peter Dimov
9f5822f427
Add support and test for C++11 construct/destroy in allocate_shared
2014-02-05 02:31:33 +02:00
Peter Dimov
d229ae870c
Subsume zero-argument overload into the variadic one
2014-02-05 01:04:20 +02:00
Glen Fernandes
3ac6dbbf08
Make detail::as_allocator template C++11 friendly
2014-02-04 15:00:24 -08:00
Peter Dimov
af5141d492
Merge commit
2014-02-05 00:32:36 +02:00
Peter Dimov
90e74511f7
Add support and tests for C++11 minimal allocators
2014-02-05 00:17:34 +02:00
Glen Fernandes
51ab46a07d
Fix use of rebind_traits and rebind_alloc
2014-02-04 12:42:10 -08:00
Glen Fernandes
e8595a05af
Fix use of rebind_traits and rebind_alloc
2014-02-04 08:43:36 -08:00
Glen Fernandes
154a274916
Update make_shared for arrays to address 2070
...
This updates make_shared and allocate_shared for arrays in accordance with
report 2070 which requires that allocator_traits<A2>::construct(a2, ptr,
...) is used for construction and allocator_traits<A2>::destroy(a2, ptr)
is used for destruction instead of placement new and destructor
invocation.
2014-02-04 04:46:03 -08:00
Glen Fernandes
63a05a3576
Refactor make_array_helper and array_deleter
...
Reduce the amount of code in allocate_array_helper, make_array_helper, and
array_deleter using the empty base class optimization technique.
2014-02-03 07:28:01 -08:00
Glen Fernandes
72e5fb6fd7
Add fourth form of make_unique for objects
...
To support initialization syntax that Args&&... cannot forward perfectly.
2014-01-29 17:16:01 -08:00
Glen Fernandes
7fef3bb40b
Add top-level make_unique.hpp and documentation
2014-01-29 07:25:30 -08:00
Glen Fernandes
7806737b52
Add make_unique for arrays and objects
2014-01-28 03:58:51 -08:00
Glen Fernandes
87e5debdc2
Minor cosmetic changes in make_shared for arrays
2014-01-28 03:40:54 -08:00
Glen Fernandes
630e4f49f3
Update make_shared for arrays to conform to N3870
...
Update make_shared and allocate_shared for arrays to be confined to the
set of overloads specified in N3870.
2014-01-23 20:40:46 -08:00
Peter Dimov
4de3f36839
Add add_ref parameter to intrusive_ptr::reset, add tests for reset.
2013-12-26 18:47:05 +02:00
Avi Kivity
73153d5797
Add intrusive_ptr<>::detach()
...
This provides a way to escape from automatic reference counting, and taking
manual control of the reference. Useful when interfacing to a C API that
expects a pointer with an elevated reference count.
Similar to std::unique_ptr<>::release().
2013-12-26 17:47:28 +02:00
Peter Dimov
d7fa365843
Remove obsolete _nmt headers.
2013-12-14 00:15:51 +02:00
Peter Dimov
6e0ee30543
Update atomic_count.hpp to match sp_counted_base.hpp.
2013-12-14 00:01:01 +02:00
Peter Dimov
fed15ad8c5
Add support for BOOST_SP_USE_STD_ATOMIC
2013-12-13 22:58:09 +02:00
Peter Dimov
bba3b446bd
Check return values of pthread_* calls with BOOST_VERIFY, per #8898
2013-12-12 02:36:33 +02:00
Peter Dimov
4c8a558982
Check return values of pthread_* calls with BOOST_VERIFY, per #8904 .
2013-12-12 01:42:16 +02:00
Peter Dimov
a41b81f1c8
Added shared_array constructor from nullptr, per #8894 .
2013-12-12 01:22: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
832ed079b9
Revert "Revert MSC_VER changes."
...
This reverts commit 382fb54a52
.
2013-12-07 19:24:44 +02:00
Peter Dimov
d9b29beebe
Revert "Remove obsolete MSVC check from pragma guard"
...
This reverts commit e4f24e4d3d
.
2013-12-07 19:22:43 +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
Peter Dimov
fa91b7d020
Remove #pragma intrinsic( _mm_pause ); not needed, not supported on Intel. Refs #6646 , #7318 .
...
[SVN r85995]
2013-09-29 11:31:17 +00:00
Peter Dimov
382fb54a52
Revert MSC_VER changes.
...
[SVN r85993]
2013-09-29 10:43:15 +00:00
Stephen Kelly
e4f24e4d3d
Remove obsolete MSVC check from pragma guard
...
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq
is now clean.
[SVN r85952]
2013-09-26 13:02:51 +00:00
Stephen Kelly
7d1c527ac0
SmartPtr: Remove obsolete MSVC version checks.
...
[SVN r85929]
2013-09-26 09:39:50 +00:00
Andrey Semashev
0dc1faa6d3
Disabled bogus MSVC warning.
...
[SVN r85575]
2013-09-05 17:23:33 +00:00
Andrey Semashev
7b9354fcf3
Changed intrusive_ref_counter to follow CRTP design.
...
[SVN r85547]
2013-09-01 21:05:14 +00:00
Andrey Semashev
a7d96b4762
Extracted intrusive_ref_counter from Boost.Log. The extracted version supports customizing the reference counter nature, two policies provided: thread_unsafe_counter and thread_safe_counter.
...
[SVN r85535]
2013-08-31 19:54:11 +00:00
Peter Dimov
82e178f043
Avoid stack overflow in make_shared. Refs #4256 .
...
[SVN r83198]
2013-02-28 08:02:09 +00:00
Glen Fernandes
46d119c385
Identifier renaming in allocate_array_helper, array_deleter, make_array_helper
...
function parameters to satisfy higher warning levels.
[SVN r82971]
2013-02-18 09:33:18 +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
Glen Fernandes
32a28ec462
Support BOOST_NO_EXCEPTIONS in detail/array_utility.hpp to allow use when exceptions are disabled
...
[SVN r82408]
2013-01-08 21:39:54 +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
Glen Fernandes
e36689bd5e
Correct call to init_list in make_shared and allocate_shared. Move g++ failing case into separate test to not mask other issues.
...
[SVN r81905]
2012-12-13 18:02:25 +00:00
Peter Dimov
1c070b3a32
Replace use of BOOST_HAS_VARIADIC_TMPL with !BOOST_NO_CXX11_VARIADIC_TEMPLATES.
...
[SVN r81901]
2012-12-13 16:57:55 +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
Glen Fernandes
619b168614
Two detail utility functions identifier renaming reverted
...
[SVN r81887]
2012-12-13 04:20:23 +00:00
Glen Fernandes
4ba8d879f1
Use BOOST_NO_CXX11_RVALUE_REFERENCES and BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of the legacy macros. Rename identifiers of detail utility functions.
...
[SVN r81886]
2012-12-13 04:04:23 +00:00
Glen Fernandes
db542de908
Use _internal_get_untyped_deleter in allocate_shared_array and make_shared_array
...
[SVN r81865]
2012-12-11 20:51:05 +00:00
Peter Dimov
67f5e9825e
Add allocate_shared_noinit.
...
[SVN r81861]
2012-12-11 18:32:24 +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
Glen Fernandes
6e269872df
Explicitly name detail array construct overloads for different parameter types.
...
[SVN r81859]
2012-12-11 18:04:09 +00:00
Glen Fernandes
ecceb710de
Add overloads of allocate_shared_noinit to complement make_shared_noinit
...
[SVN r81858]
2012-12-11 17:42:47 +00:00
Glen Fernandes
6b0d96af96
Convert function parameter for inner array size into template parameter and make identifiers in array_deleter consistent with those in array_utility
...
[SVN r81782]
2012-12-08 05:25:50 +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
Glen Fernandes
f390d9e265
Change ordering of overload definitions in array_utility.hpp
...
[SVN r81759]
2012-12-07 16:40:20 +00:00
Glen Fernandes
ea22982865
Correctly use r-value reference semantics for Args and T in array utilities
...
[SVN r81752]
2012-12-07 07:42:42 +00:00
Glen Fernandes
09e77bc8df
Optimization in initialization overload of array_construct for compilers to optimize it into the equivalent of a memset
...
[SVN r81750]
2012-12-07 06:45:26 +00:00
Glen Fernandes
b3f2ebedbc
Special case array construction for trivially default-constructible types and array destruction for trivially-destroyable types.
...
[SVN r81749]
2012-12-07 03:10:22 +00:00
Glen Fernandes
1209531fe0
Refactoring in detail array_deleter before adding support for special-casing trivially default-constructible construction and trivially destroyable destruction.
...
[SVN r81748]
2012-12-07 01:53:35 +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
Glen Fernandes
2d3cc0db7d
Update documentation and remove unused code.
...
[SVN r81703]
2012-12-04 11:21:24 +00:00
Glen Fernandes
188602581d
Add overloads of make_shared and allocate_shared for arrays for E&& where E is typename boost::detail::array_base<T>::type
...
[SVN r81700]
2012-12-04 06:06:23 +00:00
Glen Fernandes
1adf546ddb
Minor cosmetic change in detail array_deleter
...
[SVN r81685]
2012-12-03 05:56:17 +00:00
Glen Fernandes
5e5ff387fa
For fixed size arrays upon constructor exception thrown destroy correctly.
...
[SVN r81684]
2012-12-03 05:41:34 +00:00
Glen Fernandes
500913db6d
Make specializations of detail array_deleter consistent.
...
[SVN r81681]
2012-12-02 22:05:31 +00:00
Glen Fernandes
cfd4152291
Change make_shared and allocate_shared array form overload for size and inner array initialization list to use const T(&)[N] instead of std::initializer_list<T>.
...
[SVN r81658]
2012-12-01 22:43:57 +00:00
Glen Fernandes
f5adfb0963
Code consistency: Use the same style of #if conditional compilation checks in allocate_shared_array.hpp and make_shared_array.hpp.
...
[SVN r81643]
2012-12-01 05:40:06 +00:00
Glen Fernandes
8597433028
Use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead for certain overloads of make_shared and allocate_shared
...
[SVN r81642]
2012-12-01 05:23:37 +00:00
Glen Fernandes
4da0e2b7fc
Use const T (&)[N] for fixed size arrays instead of std::initializer<T> in overloads of make_shared and allocate_shared for arrays.
...
[SVN r81641]
2012-12-01 04:36:41 +00:00
Glen Fernandes
39ff002d2e
More consistency in type parameters in helper details of allocate_shared and make_shared.
...
[SVN r81610]
2012-11-28 07:32:30 +00:00
Glen Fernandes
fceea2e584
Consistent formatting across overloads of make_shared and allocate_shared (array forms).
...
[SVN r81609]
2012-11-28 06:26:50 +00:00
Glen Fernandes
b17205ded7
Optimization: Add specializations of make_array_helper, allocate_array_helper, and array_deleter for fixed size arrays to avoid storing size.
...
[SVN r81608]
2012-11-28 06:07:45 +00:00
Peter Dimov
d74c09dd5a
Apply patch from #7722 . Refs #7722 .
...
[SVN r81488]
2012-11-22 17:39:27 +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
Glen Fernandes
ddfcc5f417
Make make_shared_array.hpp and allocate_shared_array.hpp consistent with namespace qualification in rest of smart_ptr.
...
[SVN r81409]
2012-11-18 02:51:06 +00:00
Glen Fernandes
79b229adcd
Cosmetic changes in make_shared_array.hpp and allocate_shared_array.hpp
...
[SVN r81407]
2012-11-17 22:20:32 +00:00
Peter Dimov
94b6487ca1
Replace std::forward with detail::sp_forward.
...
[SVN r81399]
2012-11-17 16:21:41 +00:00
Peter Dimov
cf769b94a7
Apply BOOST_NOEXCEPT patch. Refs #7523 .
...
[SVN r81368]
2012-11-16 15:05:25 +00:00
Peter Dimov
7adb1cc1ec
Reorder HP aCC and g++ #ifdefs. Refs #7693 .
...
[SVN r81348]
2012-11-14 18:24:05 +00:00
Glen Fernandes
da9524d637
Minor style change: Fix indentation in allocate_shared_array.hpp and make_shared_array.hpp
...
[SVN r81342]
2012-11-14 15:33:30 +00:00
Glen Fernandes
6b2556edfb
Add additional overload for allocate_shared and make_shared array forms that take initializer list of T for the array types T[M][N]
...
[SVN r81341]
2012-11-14 15:18:50 +00:00
Glen Fernandes
fa513340d7
Tidy long line formatting in allocate_shared_array.hpp and make_shared_array.hpp
...
[SVN r81277]
2012-11-10 02:33:48 +00:00
Glen Fernandes
0e90213746
Change traits for initializer list for g++
...
[SVN r81276]
2012-11-10 02:17:02 +00:00
Glen Fernandes
980070e63f
Add final overload of make_shared and allocate_shared (array forms) for T[][N] with C++11 initializer lists.
...
[SVN r81275]
2012-11-10 01:33:29 +00:00
Peter Dimov
5bdde37414
Updated shared_array to match shared_ptr. Refs #1113 .
...
[SVN r81272]
2012-11-10 00:04:49 +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
Glen Fernandes
8cc50a5ce9
Add assertion to overload of make_shared and allocate_shared for T[N] with initializer lists. Rename detail type to be more intuitive.
...
[SVN r81267]
2012-11-09 18:01:39 +00:00
Glen Fernandes
2731957b5b
Add additional overload for make_shared and allocate_shared for arrays for fixed size arrays and initializer lists.
...
[SVN r81266]
2012-11-09 17:30:07 +00:00
Glen Fernandes
fe06c120b9
Add overloads to support fixed size arrays, T[N], to allocate_shared (variadic) and make_shared (variadic) and make_shared_noinit.
...
[SVN r81265]
2012-11-09 17:12:56 +00:00
Glen Fernandes
ffa3327817
For allocate_shared and make_shared: Separate test case that g++ does support yet. Remove macros testing for no partial specialization in traits. Add additional traits.
...
[SVN r81261]
2012-11-09 16:06:48 +00:00
Peter Dimov
999c284109
Disable make_shared for arrays when the compiler doesn't support partial specialization or SFINAE.
...
[SVN r81260]
2012-11-09 12:37:03 +00:00
Glen Fernandes
d512eaaa0f
Change make_shared and allocate_shared array form semantics with initializer lists overload that takes no size.
...
[SVN r81259]
2012-11-09 10:14:55 +00:00
Glen Fernandes
730980f3ee
Clean up code in allocate_shared_array.hpp and make_shared_array.hpp
...
[SVN r81258]
2012-11-09 09:14:23 +00:00
Glen Fernandes
3d50db11b9
Add C++11 initializer list support for make_shared and allocate_shared array forms.
...
[SVN r81257]
2012-11-09 06:17:05 +00:00
Peter Dimov
aa7562c3e5
Add support for shared_ptr<X[N>.
...
[SVN r81253]
2012-11-08 18:07:49 +00:00
Peter Dimov
945c013a12
Fix typo.
...
[SVN r81239]
2012-11-07 23:45:31 +00:00
Peter Dimov
df544871d7
Add missing semicolon.
...
[SVN r81238]
2012-11-07 23:41:52 +00:00
Glen Fernandes
89190ca17e
Simplify array_deleter interface
...
[SVN r81237]
2012-11-07 18:58:41 +00:00
Glen Fernandes
5d9312239c
Update allocate_shared and make_shared to treat multidimensional array as single dimension. Remove detail array_helper. Add detail array traits. Update tests.
...
[SVN r81236]
2012-11-07 18:37:17 +00:00
Glen Fernandes
93b5cace12
Fix array_helper (create_noinit and use of args...).
...
[SVN r81235]
2012-11-07 15:36:15 +00:00
Glen Fernandes
dbea328b8b
Don't treat array_helper create and create_noinit for array types as a special case.
...
[SVN r81233]
2012-11-07 15:25:55 +00:00
Glen Fernandes
734b5d1354
Update smart_ptr/detail/array_helper to have create and create_noinit for non-array case.
...
[SVN r81231]
2012-11-07 15:04:04 +00:00
Peter Dimov
0467af1b83
Fix sp_convertible<T const[], T const[]>.
...
[SVN r81230]
2012-11-07 15:00:24 +00:00
Glen Fernandes
dc5406aa5a
Add support for make_shared of array of arrays. Correctly destroy elements and construct elements for the variadic template constructor variants.
...
[SVN r81229]
2012-11-07 14:42:10 +00:00
Peter Dimov
322bcd7efa
Rename make_shared.hpp to make_shared_object.hpp, include from make_shared.hpp.
...
[SVN r81224]
2012-11-06 16:29:56 +00:00
Peter Dimov
bb72e0a092
Add specialization of sp_if_not_array<T[N]>.
...
[SVN r81223]
2012-11-06 16:23:09 +00:00
Peter Dimov
d8eb2fc105
Fix g++ issues.
...
[SVN r81222]
2012-11-06 15:10:32 +00:00
Glen Fernandes
6662ae7242
Add allocate_shared and make_shared for shared_ptr arrays of runtime size. Fulfills need for allocate_shared_array and make_shared_array.
...
[SVN r81219]
2012-11-06 14:17:32 +00:00
Peter Dimov
a30e291022
Disable make_shared<T> overloads when T is Q[].
...
[SVN r81171]
2012-11-04 14:53:51 +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
03ae5cdbc6
Add back _AIX-specific #ifdef that was mistakenly removed. Refs #6308 . Refs #6667 .
...
[SVN r81134]
2012-11-01 17:50:41 +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
10dcb8db7c
Define BOOST_SP_HAS_SYNC when __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 is set. Refs #7141 .
...
[SVN r81128]
2012-10-31 20:37:21 +00:00
Peter Dimov
f2d4b67a48
Enable __sync primitives on VACPP. Refs #6901 .
...
[SVN r81127]
2012-10-31 20:30:27 +00:00
Peter Dimov
16084637a6
Do not use sp_counted_base_gcc_ppc on AIX. Refs #6996 .
...
[SVN r81126]
2012-10-31 20:16:56 +00:00
Peter Dimov
3e447c919c
Add get_pointer overloads for std::unique_ptr, std::shared_ptr. Refs #4185 .
...
[SVN r81125]
2012-10-31 20:04:14 +00:00
Peter Dimov
b0f72d7b3d
Add check for __ARM_ARCH_7S__. Refs #7599 .
...
[SVN r81119]
2012-10-31 16:04:03 +00:00
Bryce Adelstein-Lelbach
4c98df7c57
Update smart_ptr for the latest version of the PathScale compiler.
...
[SVN r80988]
2012-10-14 23:06:12 +00:00
Peter Dimov
1029ae0ea5
Apply patches from #6667 . Refs #6667 .
...
[SVN r77316]
2012-03-12 17:33:50 +00:00
Peter Dimov
27a312228c
Apply patch from #5331 . Refs #5331 .
...
[SVN r77315]
2012-03-12 17:31:21 +00:00
Peter Dimov
2c29f1e5a9
Warning 4284 is obsolete. Refs #6332 . See also #4433 .
...
[SVN r76219]
2011-12-29 22:27:37 +00:00
Peter Dimov
33ba2c4722
sp_counted_base_aix.hpp: switch to lwsync and builtins. Refs #6308 .
...
[SVN r76123]
2011-12-23 23:10:37 +00:00
Peter Dimov
faf212f4aa
Add memory barriers to sp_counted_base_aix.hpp. Refs #6308 .
...
[SVN r76119]
2011-12-23 15:03:39 +00:00
Peter Dimov
57a5441ebf
Creatively apply patch from #2603 . Refs #2603 .
...
[SVN r76111]
2011-12-23 03:00:05 +00:00
Peter Dimov
017ab7e2ee
Apply AIX patch from #6308 . Refs #6308 .
...
[SVN r76086]
2011-12-21 00:36:55 +00:00
Peter Dimov
e4cb5e131f
Add hash_value for intrusive_ptr. Refs #6087 .
...
[SVN r75392]
2011-11-07 18:46:46 +00:00
Peter Dimov
fbe4ddf4a2
Add get_deleter for shared_array. Refs #4493 .
...
[SVN r75390]
2011-11-07 18:19:24 +00:00
Peter Dimov
288fb7efcf
Add ARM memory barriers. Refs #5372 .
...
[SVN r75389]
2011-11-07 17:50:31 +00:00
Peter Dimov
9d9e6350f2
Apply patch from #6099 . Refs #6099 .
...
[SVN r75385]
2011-11-07 15:03:44 +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
Emil Dotchevski
b4b415553c
Lock-free sp_counted_base for SNC/PS3, thanks Peter Dimov
...
[SVN r72437]
2011-06-06 18:56:07 +00:00
Peter Dimov
f76a8d95d8
Apply suggested patch. Refs #5327 .
...
[SVN r70452]
2011-03-23 00:29:22 +00:00
Peter Dimov
634866c28a
Honor BOOST_SP_USE_PTHREADS. Refs #5018 .
...
[SVN r69262]
2011-02-24 23:35:22 +00:00
Peter Dimov
b18b47770d
Add support for BOOST_SP_NO_SYNC. Refs #5019 .
...
[SVN r69261]
2011-02-24 23:30:22 +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
e3d2f2ee6b
Apply suggested fix. Refs #4127 .
...
[SVN r69251]
2011-02-24 22:05:04 +00:00
Peter Dimov
593093e46d
Fix make_shared to not copy the deleter. Refs #4256 . Refs #3875 .
...
[SVN r69250]
2011-02-24 21:51:21 +00:00
Peter Dimov
9196247dea
Apply patch. Refs #4478 .
...
[SVN r69246]
2011-02-24 20:53:46 +00:00
Peter Dimov
53d5d086ea
Warning 4284 is obsolete. Refs #4433 .
...
[SVN r69245]
2011-02-24 20:48:17 +00:00
Peter Dimov
1426b0bbdd
Apply patch to allow perfect forwarding without variadics. Refs #4892 .
...
[SVN r69244]
2011-02-24 20:41:29 +00:00
Peter Dimov
4fabf9b352
Add include guards, make_shared.hpp to smart_ptr.hpp. Refs #4288 . Refs #5189 .
...
[SVN r69242]
2011-02-24 20:29:38 +00:00
Bryce Adelstein-Lelbach
a2fc6e12da
Intel 11.0 doesn't provide __sync intrinsics - this is added in Intel 11.1.
...
[SVN r69019]
2011-02-19 01:33:46 +00:00
Bryce Adelstein-Lelbach
c3b51e201b
Pathscale-4.0 configuration code/workarounds.
...
[SVN r68142]
2011-01-14 02:59:34 +00:00
Hartmut Kaiser
825786d59a
Re-added sunpro specific initialization
...
[SVN r66091]
2010-10-19 13:33:00 +00:00
Hartmut Kaiser
37f10d500d
Fixing sp_typeinfo for clang and gcc 4.5.1
...
[SVN r66031]
2010-10-17 02:24:40 +00:00
Peter Dimov
3c84388186
Resolve the ambiguity between the zero argument make_shared and the variadic one. Refs #3856 .
...
[SVN r62248]
2010-05-26 18:18:10 +00:00
Peter Dimov
a46d405778
DWORD is unsigned long, not unsigned int. Refs #4217 .
...
[SVN r62246]
2010-05-26 17:49:37 +00:00
Peter Dimov
2e53b1eb38
Applied patch for Sun C++. Refs #4199 .
...
[SVN r62245]
2010-05-26 17:43:58 +00:00
Peter Dimov
7aac2f3263
Fix detail::forward to work with rvalue references v2.
...
[SVN r61574]
2010-04-26 12:16:55 +00:00
Steven Watanabe
458dffdab9
Work around over-eager ADL with msvc-10.0. Refs #4108
...
[SVN r61344]
2010-04-17 20:13:27 +00:00
Peter Dimov
f7919f0b9f
Borland 6.21 still needs the workaround. Refs #4067 .
...
[SVN r61074]
2010-04-05 18:53:58 +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
1b91c1dbea
Avoid static destruction order issues with quick_allocator.
...
[SVN r58275]
2009-12-10 20:34:46 +00:00
Peter Dimov
577528812a
Fix sp_typeinfo to match the interface of std::type_info.
...
[SVN r58127]
2009-12-03 20:31:01 +00:00
Peter Dimov
3824a6b156
Add memory_order_consume.
...
[SVN r58094]
2009-12-02 11:47:58 +00:00
Peter Dimov
b691be0af9
Remove std::move references. Refs #3570 .
...
[SVN r57957]
2009-11-26 21:20:47 +00:00
Peter Dimov
fa597b877e
Extend Borland workaround to 6.2.
...
[SVN r57955]
2009-11-26 21:04:36 +00:00
Peter Dimov
d0a9d76494
Add error checking to lwm_pthreads.hpp. Refs #2681 .
...
[SVN r57953]
2009-11-26 20:55:05 +00:00
Peter Dimov
979e76b7e0
Enable __sync use on Intel 11.0 or later. Refs #3351 .
...
[SVN r57951]
2009-11-26 20:17:55 +00:00
Peter Dimov
030a848c5f
Fix SPARC asm operand failure. Refs #3678 . Refs #3341 .
...
[SVN r57949]
2009-11-26 18:21:21 +00:00
Frank Mori Hess
18bfaea996
Fixed perfect forwarding for make_shared() in trunk, and added
...
corresponding test. Refs #2962 .
[SVN r57520]
2009-11-09 18:12:35 +00:00
Frank Mori Hess
502de325ee
Fixed access to enable_shared_from_raw::weak_this_ when
...
BOOST_NO_MEMBER_TEMPLATE_FRIENDS is defined.
[SVN r57518]
2009-11-09 16:33:35 +00:00
Frank Mori Hess
9f49538b37
Added weak_from_raw(), for use in conjunction with
...
enable_shared_from_raw base class.
[SVN r57423]
2009-11-05 21:41:38 +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
Gennadiy Rozental
28d7e348c1
avoid C style casts
...
[SVN r53672]
2009-06-06 09:44:36 +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
4b4a62513f
Make ++a, where a is an atomic_count, return the new value.
...
[SVN r52456]
2009-04-17 20:24:01 +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
David Deakins
3dacec8e1d
Have config/select_stdlib_config.hpp and config/stdlib/stlport.hpp use <cstddef> instead of <utility> to determine which standard library is in use. For std lib implementations that rely on Boost components like TypeTraits, Bind, Function, or SmartPtr, this helps to avoid circular header dependency issues, since <cstddef> is much less likely to pull in Boost libraries than <utility>.
...
In get_pointer.hpp, switched to using <boost/config/no_tr1/memory.hpp> instead of using <memory> directly. As above, this helps avoid circular header dependency issues in Boost-supplemented std libs (specifically it avoids issues when <memory> pulls in pieces of Boost.SmartPtr).
These two changes were made in response to testing done with STLport 5.2.1 using the _STLP_USE_BOOST_SUPPORT option.
[SVN r52104]
2009-04-01 14:42:11 +00:00
Peter Dimov
5758e51948
Fix sp_typeinfo.hpp include. Refs #2885 .
...
[SVN r51985]
2009-03-26 12:47:24 +00:00
Peter Dimov
287d329276
Added g++/MIPS support submitted by David Joyner. Refs #2885 .
...
[SVN r51978]
2009-03-26 00:17:57 +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
Peter Dimov
6f2bdddfa0
Delete enable_shared_from_this2.hpp from boost/.
...
[SVN r51910]
2009-03-22 20:14:13 +00:00
Peter Dimov
9227371881
Move enable_shared_from_this2.hpp to boost/smart_ptr.
...
[SVN r51909]
2009-03-22 20:13:16 +00:00
Peter Dimov
e88dd9fc77
Bring back the new enable_shared_from_this.
...
[SVN r51908]
2009-03-22 20:08:39 +00:00
Peter Dimov
0610947c4a
De-optimize assignment into this_type(r).swap(*this) - turns out that they were not equivalent, leading to leaks in contrived cases. Refs #2813 .
...
[SVN r51643]
2009-03-07 22:21:56 +00:00
Peter Dimov
9c55fbc6c2
Fix enable_shared_from_this-related tickets in trunk. Refs #2126 . Refs #2584 .
...
[SVN r51581]
2009-03-03 19:25:26 +00:00
Peter Dimov
a378c8c278
Refs #2814 (fixed in trunk.)
...
[SVN r51518]
2009-03-01 18:42:44 +00:00
Peter Dimov
905a3711db
Refs #2525 (fixed in trunk.)
...
[SVN r51517]
2009-03-01 18:01:19 +00:00
Peter Dimov
ed32efcc51
Refs #2662 (applied to trunk.)
...
[SVN r51516]
2009-03-01 17:27:35 +00:00
Peter Dimov
eb0ff40d62
Refs #2675 (fixed in trunk.)
...
[SVN r51515]
2009-03-01 17:18:17 +00:00
Peter Dimov
ad1b344405
Refs #2394 (fixed in trunk.)
...
[SVN r51514]
2009-03-01 17:10:49 +00:00
Peter Dimov
0da6902267
Move smart_ptr into boost/smart_ptr/*.hpp (refs #2239 ).
...
[SVN r51509]
2009-03-01 16:00:42 +00:00
Peter Dimov
13f91c15f0
Sync enable_shared_from_this.hpp and shared_ptr.hpp with release.
...
[SVN r51485]
2009-02-28 20:02:12 +00:00
Nicola Musatti
ed79000ea8
Patch from Ticket #2342
...
[SVN r49153]
2008-10-06 20:17:18 +00:00
Peter Dimov
774332f85a
Fix #2263 . See also [48835].
...
[SVN r48838]
2008-09-17 22:53:53 +00:00
Peter Dimov
f5990cab65
Fix #1758 . V9 is the default for g++ 4.2 or later, on 4.1 and earlier do not attempt to use CAS on V8.
...
[SVN r48837]
2008-09-17 22:49:18 +00:00
Peter Dimov
6175baf858
Fix #2000 .
...
[SVN r48836]
2008-09-17 22:43:14 +00:00
Peter Dimov
2fb567b3f2
Fix #2336 .
...
[SVN r48835]
2008-09-17 22:37:13 +00:00
Peter Dimov
2b25579338
Fix #2310 .
...
[SVN r48834]
2008-09-17 22:31:13 +00:00
Peter Dimov
a97cd2d0cc
Fix #2337 .
...
[SVN r48833]
2008-09-17 22:21:56 +00:00
Peter Dimov
77ab953171
Updated atomic access syntax to match N2674 and the WD.
...
[SVN r47357]
2008-07-12 16:07:20 +00:00
Peter Dimov
2a92df56f2
#include <ia64intrin.h> in spinlock_sync.hpp as well.
...
[SVN r46055]
2008-06-02 20:01:30 +00:00
Peter Dimov
366472fc35
Fix #1938 in trunk
...
[SVN r45690]
2008-05-23 20:29:14 +00:00
Peter Dimov
2bfe13c9c4
Renamed CRITICAL_SECTION to critical_section to avoid ambiguity.
...
[SVN r45545]
2008-05-19 15:09:54 +00:00
John Maddock
83e2510ce5
Use the "no_tr1" version of <functional>: addition of Boost.Exception support to throw_exception has created new cyclic dependencies with Boost.TR1.
...
[SVN r45422]
2008-05-16 11:12:32 +00:00
Peter Dimov
31685fe551
Updated Borland workaround to properly use BOOST_NO_MEMBER_TEMPLATE_FRIENDS.
...
[SVN r45347]
2008-05-14 00:21:28 +00:00
Peter Dimov
05e050abe0
Disable sp_convertible for Borland 5.x.
...
[SVN r45346]
2008-05-13 23:53:12 +00:00
Ion Gaztañaga
d52878df88
Replaced non-ascii characters, ticket 1736
...
[SVN r45224]
2008-05-08 19:08:38 +00:00
Peter Dimov
4b0490c0ae
Fix sp_convertible_test.cpp failure in C++0x mode.
...
[SVN r45194]
2008-05-07 10:15:16 +00:00
Peter Dimov
2f1b1acc7a
Fix g++ 3.2 regression.
...
[SVN r45177]
2008-05-06 18:58:15 +00:00
Peter Dimov
efdc390bc9
intrusive_ptr::reset() added.
...
[SVN r45089]
2008-05-03 20:12:25 +00:00
Peter Dimov
d13f1d8694
More fixes for MSVC 6.0.
...
[SVN r45086]
2008-05-03 19:43:52 +00:00
Peter Dimov
83c43617af
Fixes for MSVC 6.0.
...
[SVN r45085]
2008-05-03 19:29:01 +00:00
Peter Dimov
da323af72d
Fixes for old compilers.
...
[SVN r45069]
2008-05-03 15:33:06 +00:00
Peter Dimov
0c4aaef77c
Fix #1106 .
...
[SVN r45068]
2008-05-03 15:07:58 +00:00
Ralf W. Grosse-Kunstleve
440fcb7ba0
missing workaround.hpp include added
...
[SVN r45040]
2008-05-02 19:44:56 +00:00