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
Glen Fernandes
3ac6dbbf08
Make detail::as_allocator template C++11 friendly
2014-02-04 15:00:24 -08:00
Glen Fernandes
51ab46a07d
Fix use of rebind_traits and rebind_alloc
2014-02-04 12:42:10 -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
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
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
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
6e269872df
Explicitly name detail array construct overloads for different parameter types.
...
[SVN r81859]
2012-12-11 18:04:09 +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
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
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
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
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
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
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
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
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
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
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
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