Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can
Depends on D96742
Paths
| Differential D97162
[libcxx] adds std::ranges::swap, std::swappable, and std::swappable_with ClosedPublic Authored by cjdb on Feb 21 2021, 1:29 PM.
Details Summary Implements parts of:
Depends on D96742
Diff Detail
Event TimelineComment Actions I'm committing swappable independently from swappable_with so that I can get movable, copyable, semiregular and regular out first (all of which are arguably more important than swappable_with). Comment Actions I find the tests really hard to read and follow. I think giving the lambdas an explicit name would be really beneficial.
cjdb marked an inline comment as done. Comment Actions
Comment Actions Not a real review, just a couple drive-by comments. I'm unlikely to do a real review. :)
cjdb added inline comments.
tcanens added inline comments.
cjdb retitled this revision from [libcxx] adds std::ranges::swap and std::swappable to [libcxx] adds std::ranges::swap, std::swappable, and std::swappable_with. Comment Actionss/std::move/_VSTD::move/
Comment Actions Not a maintainer, but this looks good to me
Comment Actions LGTM assuming the inline comments get addressed.
This revision is now accepted and ready to land.Mar 4 2021, 2:26 PM ldionne added inline comments.
This revision now requires changes to proceed.Mar 4 2021, 2:46 PM This revision is now accepted and ready to land.Mar 4 2021, 3:04 PM cjdb marked 2 inline comments as done. Comment Actionsadds union to definition (and tests), uncomments tests, adds TODO
Closed by commit rGc7443327930d: [libcxx] adds std::ranges::swap, std::swappable, and std::swappable_with (authored by cjdb). · Explain WhyMar 5 2021, 7:04 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 327996 libcxx/include/concepts
libcxx/test/std/concepts/lang/swappable.h
libcxx/test/std/concepts/lang/swappable.pass.cpp
libcxx/test/std/concepts/lang/swappable_with.compile.pass.cpp
|
I think this is already covered by the explicit _Size parameter