1
0
forked from boostorg/move

210 Commits

Author SHA1 Message Date
Ion Gaztañaga
754eaae8e5 Default disable/enable_if to a nat type instead of void, as many SFINAE expressions in funcions default to void *values that are valid parameters. 2019-01-03 00:07:21 +01: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
aa04994c5b Improve adaptive_merge: reduce ranges before merging and optimize buffer usage. 2018-12-31 01:01:06 +01:00
Ion Gaztañaga
580ec87d09 Fix bug in merge_blocks_bufferless and improve bufer performance with buffer_and_update_key 2018-12-31 00:56:51 +01:00
Ion Gaztañaga
df08df2d9d Add merge_adaptive_ONlogN for tests 2018-12-31 00:52:38 +01:00
Ion Gaztañaga
fcd33baf1f Add stable_sort_adaptive_ONlogN2 for tests. 2018-12-31 00:51:49 +01:00
Ion Gaztañaga
3ce9452f93 Definitely disable MAY_ALIAS for emulation rv_ref except for GCC 4.4 2018-09-26 01:13:00 +02:00
Ion Gaztañaga
5e2e0f944e Use BOOST_MAY_ALIAS only for GCC 4.4, as other MSVC, GCC, and Clang don't seem to need it. 2018-09-15 00:54:16 +02:00
Ion Gaztañaga
e25607d88e Add additional nat types. 2018-09-09 00:24:00 +02:00
Ion Gaztañaga
ed05d54ebc Use unsigned chars as aligned data types. 2018-09-09 00:23:46 +02:00
Christopher Hunt
210da842d8 Move may_alias attribute for xlC++ compatibility.
This also aligns usage of the `may_alias` attribute with other boost libraries. Fixes #19.
2018-08-31 19:04:05 -04:00
Adam Shapiro
14f29a19f1 Corrected no_exceptions_support.hpp include.
This file appears to have been moved from the detail module to the
core module on 6/2014 in core commit 60c9a35d8 (detail commit
099854de). It appears that some package managers' Boost distributions
have duplicate copies of the file to work around the error.
2018-08-01 13:26:50 +00:00
Ion Gaztañaga
ddeb234127 Fix corner case when calculating whether external indexes can be used when merging. "supports_aligned_trailing" should not take into account that the first range includes n_keys. 2018-06-27 16:55:14 +02:00
Ion Gaztañaga
2063004f7b Use reinterpret-cats for rv-cast to avoid sanitizer errors. 2018-06-21 23:57:29 +02:00
Ion Gaztañaga
f76b4963b5 Optimize case with 256 keys or less. 2018-04-29 12:02:07 +02:00
Ion Gaztañaga
a296628ce3 Add member "data" char array to aligned_storage::type so that placement new does not break strict alignment 2018-01-30 14:18:45 +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
5c463507db Qualify boost::move calls to avoid ADL ambiguities 2017-12-26 21:55:14 +01:00
Ion Gaztañaga
72c3db3a8e Merge branch 'workaround-Wignored-attributes' of https://github.com/pgroke-dt/move into pgroke-dt-workaround-Wignored-attributes 2017-10-07 16:53:19 +02: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
Paul Groke
37d0a0bc04 Workaround for bogus [-Wignored-attributes] warning on GCC 6.x/7.x 2017-10-03 12:47:04 +02:00
Ion Gaztañaga
6cb4f456d1 Correct bug in op_buffered_partial_merge_to_range1_and_buffer which assumed first2 and *firstb are the same type. 2017-09-10 02:37:54 +02:00
Andrey Semashev
7aadf5c6c7 Use BOOST_MAY_ALIAS from Boost.Config.
This will add support for more compilers implementing the attribute.
2017-07-29 17:38:10 +03:00
Minmin Gong
cfffd3b6b3 Adds support for MSVC ARM64 target. 2017-06-01 00:12:42 -07: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
7c6e036240 Disable adl for iterator_to_raw_pointer 2017-04-07 16:02:33 +02:00
Ion Gaztañaga
a70bbaa0e0 Support non raw pointer auxiliary memory. 2017-04-06 22:53:10 +02:00
Ion Gaztañaga
21cb31ad71 New low-level utilities to deal with pointers and iterators 2017-04-06 22:51:10 +02:00
Ion Gaztañaga
a2d08c908d Add new macro that obtains the type of the last argument 2017-04-06 22:17:18 +02:00
Ion Gaztañaga
99f3f04d04 Add forceinline 2017-04-06 22:10:28 +02:00
Ion Gaztañaga
135e598bc4 Avoid reference to null errors in sanitizers 2016-11-12 23:54:22 +01:00
Ion Gaztañaga
de55af3cbb Fixed adaptive_sort/merge bugs for stability. 2016-11-12 18:58:16 +01:00
Ion Gaztañaga
10e4dab3ac Remove redundant macro 2016-08-29 00:02:44 +02:00
Ion Gaztañaga
2a0db1e85e Add new macro utilities useful for tuple and piecewise_construct emulation in Boost.Container (part 2) 2016-08-23 02:09:00 +02:00
Ion Gaztañaga
2ef181c9d9 Add new macro utilities useful for tuple and piecewise_construct emulation in Boost.Container. 2016-08-23 01:34:55 +02:00
Ion Gaztañaga
cfd6be4ab4 Documented limitations reported in Trac #12194 and Trac #12307 2016-07-29 11:55:10 +02:00
Ion Gaztañaga
1194a39ab3 Undo commit b474e8c28a as it breaks some Boost libraries. Emulation limitations will be documented. 2016-07-05 23:18:21 +02:00
Ion Gaztañaga
e7d24400cb Refactor trivial copy/assign traits. Assume intrinsics don't guarantee the copy constructor/assignment is callable. 2016-06-30 16:23:05 +02:00
Ion Gaztañaga
daabab5261 Add missing BOOST_MOVE_FORCEINLINE 2016-06-30 16:22:27 +02:00
Ion Gaztañaga
fec7e30d36 Use BOOST_MOVE_TO_RV_CAST in the newly fixed assignment operator.
Update changelog
2016-06-30 12:22:41 +02:00
Ion Gaztañaga
ce6eb5c73f Merge branch 'assignment' of https://github.com/Flamefire/move into Flamefire-assignment 2016-06-30 12:20:32 +02:00
Ion Gaztañaga
833e507326 Added cache usage to selection sort when external buffer is available. Refactored merge to right using reverse iterators. 2016-05-13 00:34:40 +02:00
Ion Gaztañaga
5a118de803 Added recursive inplace_stable_sort implementation 2016-05-13 00:28:29 +02:00
Ion Gaztañaga
75983a43ce Added "negate" functor and merge_bufferless_ONlogN implementation 2016-05-13 00:26:54 +02:00
Ion Gaztañaga
6e07bb846c Add three-way operations to move_op & swap_op 2016-05-13 00:22:20 +02:00
Ion Gaztañaga
94627830e6 Add reverse iterator to be used in sort algorithms 2016-05-13 00:19:37 +02:00
Flamefire
38d556a5bd Fix assignment of move-and-copy emulated classes 2016-05-12 13:30:08 +02:00
Ion Gaztañaga
122916d820 Removed tabs. 2016-03-23 22:11:25 +01:00
Ion Gaztañaga
cae8d2dda3 Refactored and documented the sort and merge algorithm 2016-03-23 22:11:06 +01:00