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