-
Notifications
You must be signed in to change notification settings - Fork 1.6k
P1614R2 Adding Spaceship <=> To The Library #1678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P1614R2 Adding Spaceship <=> To The Library #1678
Conversation
feature/spaceship: Merge microsoft#1049 (fix <compare> and simplify guards)
Co-authored-by: Casey Carter <[email protected]> Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge VS 2019 16.8 Preview 1 toolset update
feature/spaceship: Merge Standard_D16as_v4 VM update
Co-authored-by: Casey Carter <[email protected]> Co-authored-by: Curtis Bezault <[email protected]>
feature/spaceship: Merge fix for test timing assumption
feature/spaceship: Merge VS 2019 16.8 Preview 2 toolset update
Co-authored-by: Ahana Mukhopadhyay <[email protected]> Co-authored-by: Casey Carter <[email protected]> Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge toolset update
feature/spaceship: Merge CI changes to pick up microsoft#1337. This is a clean merge with no additional edits.
feature/spaceship: Merge toolset update
feature/spaceship: Merge toolset update
feature/spaceship: Merge toolset update
feature/spaceship: Merge toolset update
feature/spaceship: Merge CI update
feature/spaceship: Merge toolset update
Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge LLVM update
Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge toolset update
NOTE: there was much complicated conflict resolution in `<vector>` to reconcile the work on this branch with the `constexpr vector` work from main.
Feature/spaceship: Merge VMSS update
Co-authored-by: Anju Del Moral Gonzalez <[email protected]> Co-authored-by: Casey Carter <[email protected]> Co-authored-by: Stephan T. Lavavej <[email protected]>
Co-authored-by: Stephan T. Lavavej <[email protected]>
Co-authored-by: Casey Carter <[email protected]> Co-authored-by: Stephan T. Lavavej <[email protected]>
…icrosoft#1665) Co-authored-by: Stephan T. Lavavej <[email protected]>
…oft#1660) Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge duration/time_point tests from main
Co-authored-by: Stephan T. Lavavej <[email protected]>
Co-authored-by: Ahana Mukhopadhyay <[email protected]> Co-authored-by: Casey Carter <[email protected]> Co-authored-by: Curtis Bezault <[email protected]> Co-authored-by: Stephan T. Lavavej <[email protected]>
|
Mirrored to internal MSVC-PR-306138 after I had a successful x86chk build and |
|
I checked that all my work was correctly merged and it looks it is, with a small minor exception. |
mnatsuhara
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only comments I could find were pathetic whitespace issues - feel free to ignore to avoid rerunning the tests! A monumental amount of work - looks good to me!
| _NODISCARD strong_ordering operator<=>(const shared_ptr<_Ty1>& _Left, const shared_ptr<_Ty2>& _Right) noexcept { | ||
| return _Left.get() <=> _Right.get(); | ||
| } | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just so I can comment on something, do we need this blank line here? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll remove these lines in a followup PR 😺
| _NODISCARD strong_ordering operator<=>(const shared_ptr<_Ty>& _Left, nullptr_t) noexcept { | ||
| return _Left.get() <=> static_cast<typename shared_ptr<_Ty>::element_type*>(nullptr); | ||
| } | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto!
|
Thanks everyone - we're now a warp-capable civilization! 🚀 🛸 ☄️ |
Fixes #62.
This merges
feature/spaceshipintomainwith one additional commit. That commit fixes the default template argument oftake_view::sentinelto follow WG21-N4878 [range.take.sentinel], which was the only remaining work for Clause 24 Ranges. (Note thattake_while_view::sentinelwas already doing the right thing.)I plan to mark this feature as complete after merging this PR, with a small amount of remaining work tracked by various issues:
constexpr std::string; it will need to be extended to applyconstexprtostd::stringandstd::string::iterator's spaceships, or we'll need to file a tracking issue.<chrono>spaceships.constexpr std::vectorspaceships (when compiler fixes are available)This feature sets a record for the largest number of contributors in the STL's history! (The previous record-holder was C++17
<filesystem>.) Thanks to everyone who implemented spaceship machinery:🚀 🛸 🪐