Implement views::all and views::reverse#1229
Merged
CaseyCarter merged 11 commits intomicrosoft:masterfrom Sep 1, 2020
Merged
Conversation
Also, perma-workaround LLVM-37556.
StephanTLavavej
requested changes
Aug 25, 2020
... of the `CanBegin` etc. concepts now centralized in `<range_algorithm_support.hpp>`.
CaseyCarter
commented
Aug 25, 2020
CaseyCarter
commented
Aug 25, 2020
CaseyCarter
commented
Aug 25, 2020
CaseyCarter
commented
Aug 25, 2020
| STATIC_ASSERT(!CanBack<V const>); | ||
| STATIC_ASSERT(!CanIndex<V>); | ||
| STATIC_ASSERT(!CanIndex<V const>); | ||
| STATIC_ASSERT(!CanEmpty<V&>); |
Contributor
Author
There was a problem hiding this comment.
Sorry for this enormous set of mechanical changes. This is s/CanFront/CanMemberFront/g, s/CanBack/CanMemberBack/g, and tacking & onto every type argument. The "old" concepts in this file didn't care about value category - they forced all type parameters to lvalues - but the "new" concepts in <range_algorithms_support.hpp> do.
miscco
reviewed
Aug 25, 2020
miscco
reviewed
Aug 25, 2020
miscco
reviewed
Aug 25, 2020
miscco
reviewed
Aug 25, 2020
miscco
reviewed
Aug 25, 2020
miscco
reviewed
Aug 25, 2020
miscco
reviewed
Aug 25, 2020
Contributor
miscco
left a comment
There was a problem hiding this comment.
This is some super impressive engineering here. 👍
From miscco. Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
... which are a complicated spelling of `true`.
miscco
reviewed
Aug 25, 2020
Closed
StephanTLavavej
approved these changes
Aug 29, 2020
Member
StephanTLavavej
left a comment
There was a problem hiding this comment.
Looks good to me, some comments but nothing blocking.
CaseyCarter
commented
Aug 29, 2020
StephanTLavavej
approved these changes
Aug 31, 2020
cbezault
approved these changes
Aug 31, 2020
Contributor
Author
|
Thanks for contributing two range adaptors which are their own inverses! |
fengjixuchui
added a commit
to fengjixuchui/STL
that referenced
this pull request
Sep 1, 2020
Implement views::all and views::reverse (microsoft#1229)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Also, perma-workaround LLVM-37556 by pulling the
_Cposnamespace intostdwith a using-directive rather than making it an inline namespace.There are some related changes to
view_interfacein<xutility>and_String_view_iteratorin<xstring>to silence warnings about comparing integer types of different signed-ness.There are also changes to enable
test::rangeto modelviewfor use in testing range adaptors.Partially addresses #39.