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