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
a41b81f1c8
Added shared_array constructor from nullptr, per #8894 .
2013-12-12 01:22:51 +02: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
e8be24c003
Untabify.
...
[SVN r82188]
2012-12-23 16:05:00 +00:00
Glen Fernandes
66f34142be
Fix cxxflags in smart_ptr/test/Jamfile.v2
...
[SVN r82070]
2012-12-18 09:24:31 +00:00
Glen Fernandes
63834f7233
Specify gcc-4.6 instead of gcc-4.6.3 for toolset
...
[SVN r82038]
2012-12-16 23:03:30 +00:00
Glen Fernandes
bb700870c0
Specify <cxxflags>-fno-deduce-init-list for gcc-4.6.3 only.
...
[SVN r81950]
2012-12-14 20:05:03 +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
bbf0245248
Remove -fno-deduce-init-list for certain tests in Jamfile.v2
...
[SVN r81894]
2012-12-13 12:21:44 +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
ecceb710de
Add overloads of allocate_shared_noinit to complement make_shared_noinit
...
[SVN r81858]
2012-12-11 17:42:47 +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
Peter Dimov
7a4ad75f5d
Add more unique_ptr tests.
...
[SVN r81776]
2012-12-07 22:42:56 +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
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
5e5ff387fa
For fixed size arrays upon constructor exception thrown destroy correctly.
...
[SVN r81684]
2012-12-03 05:41:34 +00:00
Glen Fernandes
19283a3548
Move two tests for allocate_shared and make_shared within check for BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
...
[SVN r81669]
2012-12-02 10:17:05 +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
Peter Dimov
97d32745aa
Update shared_ptr casts.
...
[SVN r81463]
2012-11-21 17:43:48 +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
3b0b10d06d
Update Jamfile.v2 with two new smart_ptr tests for allocate_shared and make_shared
...
[SVN r81300]
2012-11-11 19:21:18 +00:00
Glen Fernandes
25e11b20d3
Update tests for make_shared and allocate_shared array forms, for normal case, initializer lists, variadic template arguments, for arrays and fixed size arrays.
...
[SVN r81299]
2012-11-11 19:14:50 +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
58a46f4e55
Add allocate_shared_array_args_test.cpp.
...
[SVN r81268]
2012-11-09 18:26:40 +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
c1f41aa925
Actually remove test cases from make_shared_array_create_test.cpp and allocate_shared_array_create_test.cpp that g++ does not handle.
...
[SVN r81262]
2012-11-09 16:35:18 +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
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
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
Glen Fernandes
c57245d710
Add tests for variadic template constructors overload of array forms of make_shared and allocate_shared for multidimensional arrays and up to 9 constructor arguments.
...
[SVN r81242]
2012-11-08 05:33:52 +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
Peter Dimov
e50c849ab3
Add sp_convertible_test.cpp.
...
[SVN r81234]
2012-11-07 15:33:44 +00:00
Peter Dimov
c06ba497a3
Rename sp_convertible_test.cpp to shared_ptr_convertible_test.cpp.
...
[SVN r81232]
2012-11-07 15:07:08 +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
6e873de0fa
Add make_shared_array_args_test.cpp.
...
[SVN r81226]
2012-11-06 17:31:15 +00:00
Glen Fernandes
e7d3987cfb
Update Jamfile.v2 to run make_shared array tests and allocate_shared array tests.
...
[SVN r81220]
2012-11-06 14:35:40 +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
2ba7b6b99b
Add catch(...) clauses to sp_array_test.cpp.
...
[SVN r81174]
2012-11-04 18:30:03 +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
0c22e55f3e
Add shared_ptr constructor taking std::unique_ptr. Refs #6625 .
...
[SVN r81131]
2012-10-31 22:16:20 +00:00
Peter Dimov
df364f37f2
std::move is in <utility>.
...
[SVN r76125]
2011-12-23 23:54:41 +00:00