-
- Downloads
libstdc++: Add comparison operators for string and regex types
Some more C++20 changes from P1614R2, "The Mothership has Landed". This adds three-way comparison support to std::char_traits, std::basic_string, std::basic_string_view, and std::sub_match. * include/bits/basic_string.h (basic_string): Define operator<=> and remove redundant comparison operators for C++20. * include/bits/char_traits.h (__gnu_cxx::char_traits, char_traits): Add comparison_category members. (__detail::__char_traits_cmp_cat): New helper to get comparison category from char traits class. * include/bits/regex.h (regex_traits::_RegexMask::operator!=): Do not define for C++20. (sub_match): Define operator<=> and remove redundant comparison operators for C++20. (match_results): Remove redundant operator!= for C++20. * include/std/string_view (basic_string_view): Define operator<=> and remove redundant comparison operators for C++20. * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: New test. * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: New test. * testsuite/21_strings/basic_string_view/operations/copy/char/ constexpr.cc: Initialize variable. * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/ constexpr.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/char/2.cc: Add dg-do directive and remove comments showing incorrect signatures. * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: New test. * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: New test. * testsuite/28_regex/sub_match/compare_c++20.cc: New test.
Showing
- libstdc++-v3/ChangeLog 33 additions, 0 deletionslibstdc++-v3/ChangeLog
- libstdc++-v3/include/bits/basic_string.h 42 additions, 12 deletionslibstdc++-v3/include/bits/basic_string.h
- libstdc++-v3/include/bits/char_traits.h 40 additions, 0 deletionslibstdc++-v3/include/bits/char_traits.h
- libstdc++-v3/include/bits/regex.h 87 additions, 1 deletionlibstdc++-v3/include/bits/regex.h
- libstdc++-v3/include/std/string_view 17 additions, 0 deletionslibstdc++-v3/include/std/string_view
- libstdc++-v3/testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc 194 additions, 0 deletions...suite/21_strings/basic_string/operators/char/cmp_c++20.cc
- libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc 194 additions, 0 deletions...te/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc
- libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc 1 addition, 1 deletion...rings/basic_string_view/operations/copy/char/constexpr.cc
- libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc 1 addition, 1 deletion...gs/basic_string_view/operations/copy/wchar_t/constexpr.cc
- libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/2.cc 2 additions, 91 deletions...estsuite/21_strings/basic_string_view/operators/char/2.cc
- libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc 340 additions, 0 deletions.../21_strings/basic_string_view/operators/char/cmp_c++20.cc
- libstdc++-v3/testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc 2 additions, 91 deletions...suite/21_strings/basic_string_view/operators/wchar_t/2.cc
- libstdc++-v3/testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc 340 additions, 0 deletions..._strings/basic_string_view/operators/wchar_t/cmp_c++20.cc
- libstdc++-v3/testsuite/28_regex/sub_match/compare_c++20.cc 335 additions, 0 deletionslibstdc++-v3/testsuite/28_regex/sub_match/compare_c++20.cc
Loading
Please register or sign in to comment