Michael Schellenberger Costa
fc3df2f5b1
Modernize ranges::all_of and friends ( #1061 )
2020-07-27 11:34:50 -07:00
Michael Schellenberger Costa
5ada43e908
Modernize ranges::for_each ( #1060 )
2020-07-27 11:33:40 -07:00
Michael Schellenberger Costa
98f37c302a
Modernize the ranges::find family ( #1058 )
...
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-07-27 11:28:04 -07:00
Michael Schellenberger Costa
99241dce6d
Implement ranges::sample and ranges::shuffle ( #1052 )
...
Co-authored-by: statementreply <statementreply@gmail.com>
2020-07-27 11:25:42 -07:00
Michael Schellenberger Costa
28efc70584
Implement ranges::unique family ( #1039 )
...
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2020-07-27 11:22:29 -07:00
statementreply
8e8770cb16
<random>: Fix discrete_distribution result out of range ( #1025 )
...
Mathematically, `_Par0._Pcdf.back()` should be one. However, when it is
actually slightly smaller than one due to rounding error, there is a
small probability that `_Px > _Par0._Pcdf.back()` and the original code
returns the invalid value of `_Par0._Pcdf.size()`.
2020-07-27 11:17:11 -07:00
pawREP
1555e0b861
Vectorize reverse_copy() ( #804 )
...
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-07-27 11:06:41 -07:00
Alex Guteniev
c10ae01b4d
Atomic CAS with pad ( #23 , P0528R3) ( #1029 )
...
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Casey Carter <cartec69@gmail.com>
2020-07-21 01:00:51 -07:00
Billy O'Neal
6c044964f8
<system_error> Enable [[msvc::noop_dtor]] from Visual Studio 2019 version 16.8. ( #1016 )
...
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-07-21 00:55:06 -07:00
Casey Carter
7930d3512f
<compare>: Fix 0 <=> partial_ordering::unordered ( #1049 )
...
* Break <compare> ABI again, and fix #1050 .
* Remove obsolete conditional compilation from <compare>.
Co-authored-by: statementreply <statementreply@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-07-20 16:54:04 -07:00
Casey Carter
4f949afa0e
Implement ranges::reverse ( #1028 )
...
Co-authored-by: Ahana Mukhopadhyay <t-ahmukh@microsoft.com>
2020-07-20 16:45:04 -07:00
Casey Carter
21acd23ad8
Implement ranges::copy_backward ( #1026 )
...
* Implement ranges::copy_backward
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-07-16 22:10:13 -07:00
Christian Fersch
0965adad9a
Use permissive wide-to-narrow transcoding in filesystem_error ( #1010 )
2020-07-16 22:06:09 -07:00
Michael Schellenberger Costa
16db9931be
Implement ranges::remove family ( #1005 )
2020-07-16 22:03:12 -07:00
Michael Schellenberger Costa
002cdc65a9
Implement ranges::transform ( #941 )
...
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-07-16 21:54:37 -07:00
Stephan T. Lavavej
8fcc25fe97
Update vcpkg to 2020.06. ( #1042 )
2020-07-14 15:24:09 -07:00
Michael Schellenberger Costa
f357e2c3cb
Implement ranges::replace, ranges::replace_copy, ranges::replace_copy_if ( #983 )
...
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-07-11 16:59:25 -07:00
Stephan T. Lavavej
294355d4fa
Provide comparison operators for map/set/etc. instead of _Tree ( #1022 )
...
Fixes #215 .
2020-07-11 15:42:17 -07:00
Stephan T. Lavavej
a09bfc7696
Code cleanup: Brace for impact ( #1020 )
...
* Change meow<>() to meow<>{}.
* Change meow<>{} to meow{} when C++17 has CTAD.
2020-07-11 15:39:24 -07:00
Casey Carter
6d441a10f4
Implement most ranges partition algorithms ( #976 )
...
Includes `ranges::is_partitioned`, `ranges::partition`, `ranges::partition_copy`, and `ranges::partition_point`.
2020-07-11 15:30:17 -07:00
Michael Schellenberger Costa
672bcb29a6
Modernize ranges::count_if ( #975 )
2020-07-11 15:05:45 -07:00
Michael Schellenberger Costa
c99a4f32d7
Modernize ranges::count ( #974 )
...
Co-authored-by: Casey Carter <cartec69@gmail.com>
2020-07-11 14:56:07 -07:00
Michael Schellenberger Costa
1f0f88f946
Modernize ranges::move ( #970 )
...
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-07-11 14:52:39 -07:00
Michael Schellenberger Costa
215ec06bf6
Modernize ranges::copy_if ( #958 )
...
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-07-11 14:47:22 -07:00
Michael Schellenberger Costa
d31b0c7bdb
Remove invalid overload of ranges::copy_n ( #957 )
...
Co-authored-by: Casey Carter <cartec69@gmail.com>
2020-07-11 14:38:25 -07:00
Michael Schellenberger Costa
d1cae3aeef
Modernize ranges::copy ( #956 )
...
Co-authored-by: Casey Carter <Casey@Carter.net>
2020-07-11 14:26:56 -07:00
ahanamuk
ee6019de81
Implement ranges::generate and ranges::generate_n ( #905 )
...
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-07-11 14:20:10 -07:00
Stephan T. Lavavej
8ead4f61b5
Disable /analyze in concepts_matrix.lst. ( #1031 )
...
This is a temporary workaround for #1030 to unblock ranges PRs.
2020-07-11 14:11:30 -07:00
Casey Carter
550713eba2
Update VM Scale Set to VS 2019 Preview 3 ( #1015 )
...
* Update the Azure VM Scale Set that runs the CI pipeline to VS 2019 Preview 3
* Install the `psutil` python module while provisioning VMs (Fixes #773 )
Co-authored-by: Curtis Jacques Bezault <curtbezault@gmail.com>
2020-07-08 16:46:25 -07:00
Casey Carter
d531112e1e
Correct naked `if constexpr` in C++14 mode ( #1011 )
...
Fixes VSO-1152720.
2020-07-07 14:25:22 -07:00
Casey Carter
896e137c52
Style cleanup of requires\s*\( ( #999 )
...
* Style cleanup of `requires\s*\(`
To consistently follow the guidelines established in #982 .
Fixes #982 .
2020-07-07 14:24:04 -07:00
God-father1
89c3b4910c
Update _MSVC_STL_UPDATE for July 2020 ( #989 )
2020-07-07 14:21:55 -07:00
Alex Guteniev
7253921718
Use new 64-bit interlocked intrinsics on x86 ( #986 )
...
* Use new 64-bit interlocked intrinsics on x86
Resolves #965 .
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-07-07 14:15:51 -07:00
Michael Schellenberger Costa
aac7b3fbb1
Implement ranges::replace_if ( #984 )
2020-07-07 14:11:49 -07:00
Michael Schellenberger Costa
ed5698b003
Avoid name ambiguities in Ranges test machinery ( #979 )
...
We get errors due to ambiguous symbols of `test::iterator` and `std::iterator` (thanks `using namespace std;`!)
Explicitly pull in `test::iterator` and `test::range` as well for good measure.
2020-07-07 14:11:08 -07:00
Stephan T. Lavavej
06827feb4c
Code cleanups: remove workarounds, use braces ( #978 )
...
* Fix #433 : Warnings C4472 and C4571 were removed in VS 2019 16.6.
* Fix #693 : Remove workarounds now that we require VS 2019 16.7.
* Use braces to construct tags (especially `_Iter_cat_t`), function objects, and empty `shared_ptr`s.
2020-07-07 14:08:27 -07:00
Casey Carter
37f5689197
Cleanup `using _Pred` and `using operator<` comments ( #977 )
...
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2020-07-07 14:05:59 -07:00
Alex Guteniev
5be7d49c24
Revert #653 "<chrono>: Cache QPF() and divide just once" ( #972 )
...
This reverts commit ad1a26ad97
which was later modified by #694 .
Fixes #971 .
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2020-07-02 18:52:44 -07:00
Casey Carter
43851a5892
Updates to Ranges test machinery ( #959 )
...
* Replace "base" member of test::iterator and test::sentinel with "peek"
* The point is to break the abstraction and provide access to the internal pointer. There's no reason to mimic the behavior of iterator/sentinel adaptors, it just makes the test tool harder to use.
* Enforce that `begin` is called at most once in `test::range::_Unchecked_begin`
* Remove default arguments to the `test_meow` functions in `<range_algorithm_support.hpp>`.
* ...and swap_ranges, of course.
2020-07-02 18:40:21 -07:00
Adam Bucior
98a10bf2e2
P1065R2 constexpr INVOKE ( #703 )
...
Fixes #51 .
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
Co-authored-by: Casey Carter <Casey@Carter.net>
2020-07-02 18:28:50 -07:00
Casey Carter
585583b54c
Implement ranges heap algorithms ( #930 )
...
`ranges::is_heap`, `ranges::is_heap_until`, `ranges::make_heap`, `ranges::push_heap`, `ranges::pop_heap`, and `ranges::sort_heap`.
2020-07-02 07:36:30 -07:00
DailyShana
3d7fa78426
Implement LWG-3070 ( #923 )
2020-07-02 07:29:34 -07:00
ahanamuk
9b248c7041
Implement ranges::swap_ranges ( #918 )
2020-07-02 07:27:54 -07:00
ahanamuk
123b2b2bfa
Implement ranges::fill and ranges::fill_n ( #904 )
2020-07-02 07:24:14 -07:00
Charlie Barto
5e3423a377
MSVC <bit> ( #795 )
...
Adds MSVC support to the `<bit>` functions.
2020-07-01 20:27:49 -07:00
Stephan T. Lavavej
afcf7b608d
Implement noop_coroutine(). ( #961 )
2020-07-01 18:29:27 -07:00
Charlie Barto
5ef22f2a88
update cgmanifest.json ( #936 )
...
Co-authored-by: Charles Barto <barto.charlie@gmail.com>
2020-06-30 11:45:00 -07:00
Casey Carter
3f6c715563
Cleanup: remove unneeded [[maybe_unused]] annotations ( #920 )
...
... from variables that are used only on some `if constexpr` branches.
2020-06-29 22:40:14 -07:00
Casey Carter
ac5c8b006a
Implement the "binary search" ranges algorithm family ( #917 )
...
Includes `ranges::lower_bound`, `ranges::upper_bound`, `ranges::equal_range`, and `ranges::binary_search`.
2020-06-29 22:40:00 -07:00
Casey Carter
c114d51fd1
Implement ranges min/max/minmax algorithms ( #916 )
...
* `ranges::min` (direct, `range`, and `initializer_list` overloads)
* `ranges::max` (direct, `range`, and `initializer_list` overloads)
* `ranges::minmax` (direct, `range`, and `initializer_list` overloads)
* `ranges::min_element` (`range` only)
* `ranges::max_element` (`range` only)
* `ranges::minmax_element` (`range` only)
* `ranges::clamp` (direct only)
Implements concept `indirectly_copyable_storable`, and adds test coverage for both that concept and `indirectly_movable_storable`.
2020-06-29 22:39:38 -07:00