Commit Graph

309 Commits

Author SHA1 Message Date
Glen Fernandes
864a0c80dd Conditionally compile allocate_local_shared tests 2017-06-29 13:33:14 -04:00
Glen Fernandes
be736e5088 Implement allocate_local_shared for arrays
Also fix the local_shared_ptr constructor to use element_type
2017-06-29 13:05:03 -04:00
Peter Dimov
d031d4719f Check use counts in make_local_shared tests 2017-06-22 15:39:46 +03:00
Peter Dimov
c1979bcaf5 Check use counts in make_shared tests 2017-06-22 15:31:50 +03:00
Peter Dimov
ca7a01a593 Add more tests. Update Jamfile to new style. 2017-06-21 04:07:17 +03:00
Peter Dimov
314a6634d4 Merge branch 'feature/local_shared_ptr' into develop 2017-06-21 03:33:00 +03:00
Glen Fernandes
6cbc1e6775 Update allocate_shared array unit tests
Tests that do not always use allocator bound for element_type.
2017-06-20 20:06:59 -04:00
Peter Dimov
4e5d067ba8 Add local_sp_fn_test 2017-06-20 22:26:07 +03:00
Peter Dimov
827206ec57 Merge branch 'develop' into feature/local_shared_ptr 2017-06-20 22:07:53 +03:00
Peter Dimov
0cdad6421d Add shared_ptr_fn_test 2017-06-20 22:07:12 +03:00
Peter Dimov
fb17bf685e Add more tests; fix errors 2017-06-20 20:38:26 +03:00
Peter Dimov
052ebd1946 Merge branch 'develop' into feature/local_get_deleter 2017-06-20 19:35:23 +03:00
Peter Dimov
9fe6885078 Add more get_deleter tests 2017-06-20 19:18:30 +03:00
Peter Dimov
6e5a382b6b Start work on get_deleter for local_shared_ptr 2017-06-20 19:01:16 +03:00
Peter Dimov
87272703c2 Add get_deleter test with an incomplete class 2017-06-20 17:47:59 +03:00
Peter Dimov
1c097b5764 Add get_deleter test with an incomplete class 2017-06-20 17:47:17 +03:00
Peter Dimov
014181e1f9 Merge branch 'develop' into feature/local_shared_ptr 2017-06-20 06:25:56 +03:00
Peter Dimov
0b9547ddad Disable atomic_sp_constexpr_test on libc++ 2017-06-20 06:25:27 +03:00
Peter Dimov
2b5869882a Optimize make_local_shared to use a single allocation 2017-06-20 04:27:45 +03:00
Peter Dimov
1f86907a3d Add more tests 2017-06-20 02:00:19 +03:00
Peter Dimov
685b40cc1b Merge branch 'develop' into feature/local_shared_ptr 2017-06-20 01:49:04 +03:00
Peter Dimov
dcfb8489c6 Fix mistakes in atomic_sp_constexpr_test 2017-06-20 01:48:28 +03:00
Peter Dimov
6218c52c1a Add make_local_shared 2017-06-20 01:42:45 +03:00
Peter Dimov
68fb786d4d Add more tests 2017-06-19 17:36:13 +03:00
Peter Dimov
f7275b7f45 Add more tests 2017-06-19 02:30:54 +03:00
Peter Dimov
edf02ab0f9 Add more tests 2017-06-19 01:05:01 +03:00
Peter Dimov
6474847481 Make atomic_shared_ptr's default constructor constexpr 2017-06-18 07:56:42 +03:00
Peter Dimov
79e6fcdd61 Remove comment; C++11 does not guarantee this static init 2017-06-18 05:00:42 +03:00
Peter Dimov
4341446e04 #ifdef constexpr tests on msvc and clang c++11 2017-06-18 04:21:22 +03:00
Peter Dimov
0e78e219f5 Make default constructors constexpr 2017-06-18 02:43:20 +03:00
Peter Dimov
b8390aeffb Add more tests 2017-06-17 21:24:07 +03:00
Peter Dimov
7d51c868eb Add more tests 2017-06-17 01:34:58 +03:00
Peter Dimov
7484d4da41 Merge branch 'develop' into feature/local_shared_ptr 2017-06-16 18:40:01 +03:00
Peter Dimov
a7668291d2 Add atomic_shared_ptr 2017-06-16 18:26:17 +03:00
Peter Dimov
4dda1b5fbb Add lsp_array_* tests 2017-06-13 18:03:01 +03:00
Peter Dimov
1d314c5668 Make null unique_ptr convert to empty shared_ptr 2017-06-13 05:50:40 +03:00
Peter Dimov
8f2e6d04de Add more tests 2017-06-12 00:19:07 +03:00
Peter Dimov
8d9c4df71a Add more tests 2017-06-11 20:35:51 +03:00
Peter Dimov
b18f68324f Add more tests 2017-06-05 16:38:41 +03:00
Peter Dimov
aeadd6aeff Initial commit of local_shared_ptr 2017-06-04 21:24:20 +03:00
Glen Fernandes
33b18c7da0 Reformat (line wrap at 80 characters) 2017-05-02 08:12:25 -04:00
Peter Dimov
acb29ad6f3 Add lwm_win32_cs_test 2017-04-16 21:02:07 +03:00
Glen Fernandes
650537da60 Update unit tests for make_unique 2017-03-06 08:36:57 -05:00
Glen Fernandes
324347b9ec Update unit tests for shared array functions 2017-03-06 01:18:16 -05:00
Glen Fernandes
7570340d70 Add test for allocator construct usage 2017-03-01 13:03:14 -05:00
Peter Dimov
f8524c42a8 Add test for a MSVC parsing problem in make_shared 2017-03-01 12:02:30 +02:00
Peter Dimov
19147212a9 Merge pull request #29 from cdglove/rvalue_casts
Add rvalue versions of static_pointer_cast, const_pointer_cast, dynamic_pointer_cast, reinterpret_pointer_cast.
2016-12-12 05:45:17 +02:00
Chris Glover
9e568dad6e Add explicit tests for reinterpret_pointer_cast. Based on existing pointer_cast tests in shared_ptr_test.cpp 2016-12-11 22:18:57 -05:00
Chris Glover
ebd1788f2c Add test for rvalue reinterpret_pointer_cast. 2016-12-11 21:18:18 -05:00
Chris Glover
3e2ac10e94 Add rvalue versions of static_pointer_cast, const_pointer_cast, dynamic_pointer_cast, reinterpret_pointer_cast.
Aligns with proposed addition to std:: here: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0390r0.htm
2016-12-11 15:38:34 -05:00
Peter Dimov
61075bb9df Move extra files to extras/ as the src/ and test/ directories are scanned for dependencies 2016-11-10 15:04:21 +02:00
Peter Dimov
3e61a63f60 Use throw() in place of noexcept on msvc-11.0,12.0 for the standard nothrow traits 2016-11-08 18:42:51 +02:00
Peter Dimov
a7fbb0a841 Do not use components removed in C++17 (auto_ptr, binary_function) 2016-11-06 15:35:46 +02:00
Peter Dimov
94a04e57fb Merge branch 'develop' into feature/unique_ptr_casts 2016-09-10 20:28:14 +03:00
Peter Dimov
5595622c3e Relax dynamic_cast check; rephrase const_cast test to be more MSVC-friendly. 2016-09-10 20:18:37 +03:00
Peter Dimov
2ae3e4ba44 Remove static_pointer_cast restriction; test dynamic cross cast. 2016-09-10 20:07:47 +03:00
Giel van Schijndel
b5498d944e Add test for make_shared's move-emulation support
This tests the functionality added with PR boostorg/smart_ptr#24.

Specifically this tests that passing moveable-only types to
constructors is possible through make_shared. Note that real rvalue's
still cannot be passed that way on C++03 unfortunately because there's
no generic way of accomplishing that with current move emulation.
2016-09-10 18:38:37 +02:00
Peter Dimov
8fac3c9f2f Add one more dynamic_cast test, fold back _test3 into test2. 2016-09-10 19:15:47 +03:00
Peter Dimov
a14515a364 Add negative pointer cast tests. 2016-09-10 18:43:22 +03:00
Peter Dimov
190c06e25d Add tests for unique_ptr casts. 2016-09-10 17:55:14 +03:00
Karolin Varner
ce52fb1045 pointer_casts with move semantics for unique_ptr 2016-06-06 16:08:26 +02:00
Karolin Varner
6b787f1cec Add overloads for std::shared_ptr to pointer casts 2016-06-06 14:51:44 +02:00
Karolin Varner
6d5f554baa Reuse code for plain and shared in ptr cast tests 2016-06-05 23:32:45 +02:00
Peter Dimov
e52905cf3c Add intrusive_ptr converting move assignment. 2016-05-17 18:43:41 +03:00
Peter Dimov
b7f99ceba6 Update intrusive_ptr_move_test with converting move construction. 2016-05-17 18:36:50 +03:00
Peter Dimov
522f6c1869 Add more aliasing move test cases, add alias move reset 2016-04-13 14:31:43 +03:00
Peter Dimov
cd8de9d4a6 Merge branch 'move-alias' of https://github.com/uecasm/smart_ptr into develop 2016-04-13 13:29:50 +03:00
Peter Dimov
4473bf8ec2 Fix hash support for shared_ptr<T[]>, <T[N]> 2015-12-15 19:13:20 +02:00
Glen Fernandes
7a7ac4512e Fix formatting in headers and tests 2015-11-11 01:26:15 -05:00
Glen Fernandes
38b6334e36 Update unit tests for make_shared/allocate_shared for arrays
Before pending refactor of make_shared and allocate_shared for arrays.
2015-11-09 22:35:34 -05:00
Glen Fernandes
7af503d3bb Refactor make_unique implementations
Before the pending refactor of make_shared/allocate_shared for arrays.
2015-11-08 11:02:06 -05:00
Gavin Lambert
05d5a4e9a0 Added shared_ptr aliasing move constructor.
Signed-off-by: Gavin Lambert <github@mirality.co.nz>
2015-10-12 18:19:22 +13:00
Peter Dimov
d875a68ceb Add constructor/assignment taking boost::movelib::unique_ptr 2015-05-04 01:06:42 +03:00
Peter Dimov
e067fd2cfd Fix comment. 2015-01-28 13:03:23 +02:00
Peter Dimov
711c36958a Add an additional weak_from_raw test. 2015-01-28 12:52:10 +02:00
Peter Dimov
7104e7dc7e Add weak_from_this. 2015-01-25 20:10:57 +02:00
Peter Dimov
3fd53ced83 Make shared_from_raw and weak_from_raw return consistent values in a constructor, regardless of order, as suggested by Gavin Lambert in #8. 2015-01-22 20:47:01 +02:00
Peter Dimov
f65c57d9d2 Fix explicit instantiation regression 2014-11-12 19:04:29 +02:00
Peter Dimov
2a56c73924 Add weak_from_raw_test2.cpp. 2014-08-09 13:50:38 +03:00
Peter Dimov
720ce12a25 Add shared_from_raw_test6.cpp. 2014-08-09 13:42:51 +03:00
Peter Dimov
de10be8560 Fix sp_nullptr_test for compilers that don't define std::nullptr_t. 2014-08-09 12:28:28 +03:00
Peter Dimov
6b562cb5b1 Rename enable_shared_from_raw_test.cpp to weak_from_raw_test.cpp. 2014-08-08 21:28:15 +03:00
Peter Dimov
3d2c230623 Rename esft_constructor_test.cpp to shared_from_raw_test5.cpp. 2014-08-08 21:24:20 +03:00
Peter Dimov
bd4f9c239a Add shared_from_raw tests. 2014-08-06 21:07:52 +03:00
Peter Dimov
b550e028f5 Move boost/memory_order.hpp to Boost.Atomic 2014-05-20 23:33:03 +03:00
Peter Dimov
ed2eaddc5d Check BOOST_NO_CXX11_RVALUE_REFERENCES in tests that use std::unique_ptr. 2014-05-15 18:51:27 +03:00
Glen Fernandes
75add10b1d Simplify ms_allocator and as_allocator design 2014-02-28 10:19:50 -08:00
Peter Dimov
dcfa031de7 Do not include sp_interlocked.hpp when not on Windows 2014-02-13 12:51:23 +02:00
Peter Dimov
c003fba3a0 Renamed, cleaned up interlocked.hpp; added test 2014-02-12 20:48:35 +02:00
Glen Fernandes
e1f170cd49 Drop variadic templates in unit test for VC11 2014-02-06 17:09:27 -08:00
Glen Fernandes
5008957bd0 Remove type2 tests in a_s_construct_test 2014-02-05 09:10:45 -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
af5141d492 Merge commit 2014-02-05 00:32:36 +02:00
Peter Dimov
975d04ac62 Merge Jamfile.v2 on git's insistence 2014-02-05 00:29:18 +02:00
Peter Dimov
90e74511f7 Add support and tests for C++11 minimal allocators 2014-02-05 00:17:34 +02:00
Glen Fernandes
f27b780724 Add unit test for allocate_shared construct case 2014-02-04 13:17:49 -08:00
Glen Fernandes
aede0039bf make_unique tests run only for C++11 compilers 2014-01-31 11:01:37 -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
7806737b52 Add make_unique for arrays and objects 2014-01-28 03:58:51 -08:00