From: Jonathan Wakely Date: Sat, 12 Jul 2025 12:12:09 +0000 (+0100) Subject: libstdc++: Use basic_string_view for std::bitset deduced types X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c3081960922d9bd3ea81a9f8ca6e00c23170a2b;p=thirdparty%2Fgcc.git libstdc++: Use basic_string_view for std::bitset deduced types This change was part of by P2697R1 (Interfacing bitset with string_view) and should be slightly cheaper to instantiate. We should consider using basic_string_view for C++17, C++20, and C++23 as well. This patch just conservatively changes it for C++26 to match the working draft. It's conceivable that a program-defined specialization of basic_string<_CharT> or basic_string_view<_CharT> will observe a difference and be affected by this change. libstdc++-v3/ChangeLog: * include/std/bitset (__bitset::__string) [__cpp_lib_bitset]: Change alias to refer to basic_string_view instead. Reviewed-by: Tomasz KamiƄski --- diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset index 1c1e1670c33..93a03f6b5d7 100644 --- a/libstdc++-v3/include/std/bitset +++ b/libstdc++-v3/include/std/bitset @@ -720,7 +720,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER namespace __bitset { -#if _GLIBCXX_HOSTED +#ifdef __cpp_lib_bitset // ...construct from string_view + template + using __string = std::basic_string_view<_CharT>; +#elif _GLIBCXX_HOSTED template using __string = std::basic_string<_CharT>; #else