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
Peter Dimov
bf3e9cc7af
-Wshadow fixes.
2014-07-12 20:35:14 +03:00
Peter Dimov
d6841e6d71
Remove trailing whitespace.
2014-06-11 22:29:15 +03:00
Peter Dimov
56ae9f86c1
Merge pull request #4 from stgates/winrt
...
[winrt support] Replacing banned APIs Sleep and InitializeCriticalSection
2014-06-11 22:12:25 +03:00
Steve Gates
1a74757cfa
Adding missing include for boost\predef.h.
2014-06-11 11:44:25 -07:00
Steve Gates
07e222217b
Updating to use BOOST_PLAT_WINDOWS_RUNTIME based on review feedback.
2014-06-11 11:33:03 -07:00
Steve Gates
71c9165119
Replacing banned APIs Sleep and InitializeCriticalSection for Windows store and phone.
2014-06-10 22:07:51 -07:00
Peter Dimov
f32669400c
Remove headers moved into core.
2014-06-03 20:25:38 +03:00
Peter Dimov
b550e028f5
Move boost/memory_order.hpp to Boost.Atomic
2014-05-20 23:33:03 +03:00
Glen Fernandes
d523c3423e
Use Boost.Align for alignment
2014-05-04 08:20:37 -07:00
Glen Fernandes
1968d17d2f
Use add_rvalue_reference in make_unique overload
2014-03-12 20:27:36 -07:00
Andrey Semashev
d586469d60
Fix warnings about struct/class mismatch
...
ms_allocator_state template was declared as class but its specializations were as structs. This caused Clang 3.2 warnings. The commit changes ms_allocator_state declaration to struct to fix that.
2014-03-08 18:31:31 +03:00
Peter Dimov
fbb851097f
Disable the std::atomic spinlock implementation on Clang
2014-03-01 02:14:56 +02:00
Glen Fernandes
75add10b1d
Simplify ms_allocator and as_allocator design
2014-02-28 10:19:50 -08:00
Peter Dimov
3e625c07e8
Switch to sp_interlocked.hpp
2014-02-25 01:32:19 +02:00
Glen Fernandes
75cab39801
Drop the BOOST_NO_CXX11_STD_ALIGN-undefined path
...
Until the merge of Boost.Config develop to master
2014-02-24 08:35:59 -08:00
Glen Fernandes
38cb523713
Derive empty base optimization from rebound allocator
2014-02-18 00:16:57 -08:00
Glen Fernandes
5f1d4eae4f
Factor out alignment code into sp_align
2014-02-16 12:15:29 -08:00
Glen Fernandes
adc0cdddff
Make as_allocator::deallocate consistent
2014-02-14 18:31:52 -08:00
Glen Fernandes
8c9e8b5556
Further simplification of ms_allocator
2014-02-12 22:15:15 -08:00
Glen Fernandes
d9333e5375
Simplify array_allocator; update documentation
2014-02-12 19:34:56 -08:00
Glen Fernandes
3d279e6c6d
Save additional sizeof(void*) bytes for arrays
2014-02-12 13:52:58 -08:00
Peter Dimov
c003fba3a0
Renamed, cleaned up interlocked.hpp; added test
2014-02-12 20:48:35 +02:00
Peter Dimov
0c29e86728
Add spinlock_std_atomic.hpp
2014-02-12 20:20:56 +02:00
Glen Fernandes
016af907bd
Make sp_counted_impl_ specialization more generic
2014-02-12 08:46:59 -08:00
Peter Dimov
0337743c8c
Revert "Remove obsolete MSVC check from pragma guard"
...
This reverts commit b7ee788845
.
2014-02-12 16:57:45 +02:00
Peter Dimov
208bfd78f9
Move interlocked.hpp to smart_ptr/detail
2014-02-12 16:42:24 +02:00
Peter Dimov
2c32bf91b7
Add BOOST_USE_INTRIN_H support; remove #pragma intrinsic, not needed and not supported on Intel.
...
[SVN r85994]
2014-02-12 16:41:23 +02:00
Stephen Kelly
b7ee788845
Remove obsolete MSVC check from pragma guard
...
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq
is now clean.
[SVN r85952]
2014-02-12 16:41:22 +02:00
Andrey Semashev
a56378ee35
Enabled #pragma once for all compilers that support it, not only MSVC.
...
[SVN r85866]
2014-02-12 16:41:22 +02:00
Andrey Semashev
443302306e
Fixed compilation problems with MinGW-w64.
...
[SVN r85865]
2014-02-12 16:41:21 +02:00
Peter Dimov
f5402a937e
Fix the _WIN32_WCE >= 0x600 case.
...
[SVN r80935]
2014-02-12 16:41:21 +02:00
Jürgen Hunold
fe04bea979
Fix: intrin.h is available in msvc-9.0 (_MSC_VER 1500)
...
[SVN r80626]
2014-02-12 16:41:21 +02:00
Vicente J. Botet Escriba
8fbb5e9e7f
Thread: Try again to fix 5431
...
[SVN r80127]
2014-02-12 16:41:20 +02:00
Vicente J. Botet Escriba
0401afc106
Thread: Rollback last modification as it breaks regression test VeecoFTC/msvc-9.0~wm5~stlport5.2
...
[SVN r80067]
2014-02-12 16:41:20 +02:00
Vicente J. Botet Escriba
b69ca7aaa5
Thread: Try to fix 5431
...
[SVN r80042]
2014-02-12 16:41:19 +02:00
Peter Dimov
dffbf7c931
Use <intrin.h> for VS2010+. Refs #4678 .
...
[SVN r75396]
2014-02-12 16:41:19 +02:00
Anthony Williams
5dabdf635c
Applied patch from issue #4849
...
[SVN r70383]
2014-02-12 16:41:19 +02:00
Anthony Williams
3dbde36076
Applied patch from issue #3377
...
[SVN r62509]
2014-02-12 16:41:18 +02:00
Peter Dimov
97a9aac5f0
Fix interlocked.hpp to compile under /clr:pure. Refs #3378 .
...
[SVN r57958]
2014-02-12 16:41:17 +02:00
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