Commit Graph

57 Commits

Author SHA1 Message Date
Ion Gaztañaga
bfdfca0b88 Fixes Issue #25 2019-04-08 00:32:28 +02:00
Ion Gaztañaga
10074dc835 Optimize sequence generation and add STL-like adaptive algorithms to the benchmark. 2018-12-31 01:02:40 +01:00
Ion Gaztañaga
b0e0563fe4 Remove index warnings 2018-12-31 00:55:46 +01:00
Ion Gaztañaga
7dfabdf2d2 Improve randomness of random_shuffle 2018-12-31 00:55:28 +01:00
James E. King III
b88edb13b5 Add CI framework
- travis with valgrind, cppcheck, ubsan, codecov, covscan (future)
  - appveyor with MSVC 2010 through 2017, cygwin 32/64, mingw 32/64
  - README, LICENSE, etc.
2018-06-19 06:21:21 +00:00
Ion Gaztañaga
06e5c18802 Add std::sort to the benchmark 2018-01-30 14:19:13 +01:00
Ion Gaztañaga
e1eec15b1a - Add heap_sort and pdqsort to the benchmark.
- Refactor adaptive_sort and adaptive_merge.
2017-12-31 19:32:32 +01:00
Ion Gaztañaga
67d3dbe41b ADd new set_difference algorithm and tests. 2017-12-26 21:55:54 +01:00
Ion Gaztañaga
081236e9e0 Remove unneeded static requirement in Jamfile.v2 2017-11-07 00:37:44 +01:00
Ion Gaztañaga
fcf217b8ec Git Issue #15: Incorrect merge in adaptive_merge when the number of unique items is limited 2017-10-07 14:35:22 +02:00
Ion Gaztañaga
4939e1f652 Merge branch 'feature/remove-deprecated' of https://github.com/DanielaE/boost.move into DanielaE-feature/remove-deprecated 2017-04-13 12:31:52 +02:00
Daniela Engert
b2ed4b4521 replace 'std::random_shuffle' by '::random_shuffle'.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-04-12 19:35:58 +02:00
Ion Gaztañaga
1dbc7bab5c Fixed Trac #12920 ("movelib::unique_ptr: incorrect pointer type for nested array") 2017-04-09 13:44:08 +02:00
Ion Gaztañaga
de55af3cbb Fixed adaptive_sort/merge bugs for stability. 2016-11-12 18:58:16 +01:00
Ion Gaztañaga
664d99bdfd Added BENCH_SORT|MERGE_UNIQUE_VALUES to speed up regression tests 2016-05-13 00:35:44 +02:00
Ion Gaztañaga
122916d820 Removed tabs. 2016-03-23 22:11:25 +01:00
Ion Gaztañaga
f86a3a40bb Added adaptive merge test 2016-03-23 22:10:27 +01:00
Ion Gaztañaga
baa5f0bbe7 Added adaptive sort test and refactored utilities between adaptive benches and the new test 2016-03-19 12:20:15 +01:00
Ion Gaztañaga
499c5932bf Remove warnings due to size_t -> unsigned conversions 2016-02-24 23:25:56 +01:00
Ion Gaztañaga
d5981c52a9 Add experimental adaptive_merge/sort functions 2016-02-23 13:17:12 +01:00
Ion Gaztañaga
c4faf26527 Make memcpy volatile to make sure bytes are copied and not optimized out by the compiler. 2015-12-24 10:39:24 +01:00
Marshall Clow
c7295862bc Remove mentions of deprecated macros in documentation 2015-09-10 21:03:52 -07:00
Ion Gaztañaga
67bd18d04e Fix uninitialized variable warnings in GCC 4.9 2015-06-10 17:57:24 +02:00
Ion Gaztañaga
4a44ed3d26 Modify unique_ptr's constructor from convertible unique_ptr's to take the argument by value. This allows constructing unique_ptr from functions returning convertible unique_ptr's. See https://svn.boost.org/trac/boost/ticket/11259 for some details. 2015-05-06 12:32:11 +02:00
Ion Gaztañaga
69598a3d3f - Reworked some traits to refactor code
- is_trivially_copy_xxxxable updated to add is_pod
- Updated is_pod adding scalar and void as some compilers' __is_pod intrinsic doesn't work with scalars
- Added test for type_traits. Only a few tested, more to come.
2015-04-26 23:29:27 +02:00
Ion Gaztañaga
32f4d91cec Fixed Trac #11229: vector incorrectly copies move-only objects using memcpy 2015-04-25 11:36:36 +02:00
Ion Gaztañaga
a6d924e82e Fix memory leaks when testing "unique_ptr.release()" 2015-04-12 12:42:34 +02:00
Ion Gaztañaga
0bb4e06cff Removed commented code. 2015-01-08 16:03:04 +01:00
Ion Gaztañaga
ab39252039 Use lightweight test. 2015-01-04 02:11:09 +01:00
Ion Gaztañaga
8503b508e8 Reduced dependencies on other Boost libraries to make the library a bit more lightweight. 2015-01-02 18:34:14 +01:00
Ion Gaztañaga
910165c230 Added test for adl_move_swap.cpp
For move-emulation enabled types, if present, member swap is used, instead of the move-based swap.
2014-11-28 15:39:49 +01:00
Ion Gaztañaga
cbda10ecdd Added adl_move_swap utility 2014-11-26 19:27:40 +01:00
Ion Gaztañaga
e43819d1d2 Added nothrow variants to unique_ptr 2014-10-10 22:03:47 +02:00
Ion Gaztañaga
76ab7093ae Removed warnings in GCC 4.8 -Wall -pedantic 2014-09-25 16:45:22 +02:00
Ion Gaztañaga
4e7a046df2 Replaced <boost/move/utility.hpp> with <boost/move/utility_core.hpp> when possible to minimize dependencies. 2014-09-25 16:15:36 +02:00
Ion Gaztañaga
291a95c30a Reduced unused classes from meta_utiles and simplified the implementation of several traits classes to avoid inheritance from integral_constant
Moved declval to utility_core.hpp
2014-09-22 00:15:30 +02:00
Ion Gaztañaga
d4d08ec10e Remove non-move dependencies from headers to speed up compilations and avoid too many dependencies 2014-09-17 18:37:41 +02:00
Ion Gaztañaga
7349db265a Fixed typo in assignment test 2014-09-02 23:34:53 +02:00
Ion Gaztañaga
90be9ebe22 Extracted default_delete into its own header.
Extracted meta utilities used only by unique_ptr and friends to its own "unique_ptr_meta_utils.hpp" header.
2014-09-02 16:28:17 +02:00
Ion Gaztañaga
19d35253cf Added support for bounded arrays in unique_ptr. Splitted test in several subtests. 2014-09-01 23:59:10 +02:00
Ion Gaztañaga
738e360f40 Improved move-only deleters in C++03, now they can be caught as rvalues. 2014-08-29 10:28:09 +02:00
Ion Gaztañaga
364ee17476 Simplified and improved unique_ptr implementation:
- No array specialization to avoid code duplication
- Constructible and assignable from literal zero
2014-08-27 23:21:36 +02:00
Ion Gaztañaga
e1da7c5ca1 Added class unique_ptr under boost::movelib namespace. This could be lifted to ::boost namespace if the community agrees.
This unique_ptr implementation is based on C++14, including make_unique functions. Large parte of the testsuite is based on Howard Hinnant's unique_ptr emulation testsuite.
2014-08-22 18:34:34 +02:00
Ion Gaztañaga
cb06d13448 Copyright updates. 2014-08-22 18:34:19 +02:00
Ion Gaztañaga
3c56780e0e - Splitted utility.hpp into utility_core.hpp and utility.hpp. The first one implements move() and forward() minimizing external dependencies. utility.hpp includes utility_core.hpp and implemente move_if_noexcept.cpp
- Changed move_if_noexcept with a single function

- Changed test case to use boost/core/lightweight_test.hpp

- Added boost::is_nothrow_move_constructible<T>::value to  is_nothrow_move_constructible_or_uncopyable so types with only a non-throwing move constructor is forwarded with move_if_noexcept.

-
2014-08-18 02:03:35 +02:00
Ion Gaztañaga
bb00439e4f Resolved conflicts when merging move_if_noexcept implementation 2014-08-17 16:42:31 +02:00
Ion Gaztañaga
acbf002199 Tabs replaced with spaces. 2014-08-01 17:30:13 +02:00
Antony Polukhin
688c5726f8 Add tests for move_if_noexcept 2014-06-06 12:43:34 +04:00
Ion Gaztañaga
51c9e874a8 Fixes #8420 and some clang errors. 2014-02-24 08:29:31 +01:00
Ion Gaztañaga
062000ed68 Added BOOST_MOVE_RET 2014-02-15 23:04:15 +01:00