-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
P2165R4: Compatibility Between tuple
, pair
, And tuple-like Objects (changes to pair
only)
#3323
Conversation
* Implement pair-like concept * Change header dependency -> now `<utility>` includes `<__msvc_iter_core.hpp>`, not the other way around * Move `tuple_size`, `tuple_element` and some internal machinery to `<__msvc_iter_core.hpp>` * `<tuple>` and `<xutility>` headers include `<utility>` now (not `<__msvc_iter_core.hpp>`) * Relocate some more stuff inside of `<utility>` header and add `pair` forward declaration * Move `_Different_from` concept from `<xutility>` to `<utility> * Move `_Is_subrange` variable from `<ranges>` to `<utility>` and rename it to `_Is_subrange_v` * Move `_Is_std_array_v` variable from `<span>` to `<utility>`
… from new forward declarations
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'm afraid that changing header depencendy might damage throughput (although perhaps slightly).
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.
This looks great! One minor change requested - can you drop the strict requirement on the test?
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.
😻
Thanks - flawless product code as far as I can tell! 😻 I pushed a commit to drop |
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Thanks again for implementing more of this C++23 feature! 😻 📉 🎉 |
Towards #2917. Implements changes to [pairs] section.
The other goal of this PR is to move around some stuff, so that implementation of
tuple-like
concept is possible:_Different_from
concept from<xutility>
to<utility>
,_Is_subrange
variable template from<ranges>
to<utility>
and rename it to_Is_subrange_v
,_Is_std_array_v
variable from<span>
to<utility>
,