We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
<algorithm>
lexicographical_compare_three_way
There is a Mandates in [alg.three.way], which seems to be missing in the MSVC-STL implementation:
Mandates: decltype(comp(*b1, *b2)) is a comparison category type.
decltype(comp(*b1, *b2))
#include <algorithm> struct Hack { Hack(auto); bool operator==(int) const; }; struct Cmp { Hack operator()(const auto&, const auto&) const; }; int main() { int x[] = {42}; auto r = std::lexicographical_compare_three_way(x, x+1, x, x+1, Cmp{}); // only ok in MSVC-STL }
https://godbolt.org/z/P6jPedes9
The text was updated successfully, but these errors were encountered:
Enforce [alg.three.way]/2 mandate
c15a57d
Fixes microsoft#4877
Successfully merging a pull request may close this issue.
There is a Mandates in [alg.three.way], which seems to be missing in the MSVC-STL implementation:
https://godbolt.org/z/P6jPedes9
The text was updated successfully, but these errors were encountered: