aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2025-07-12 13:12:09 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2025-07-16 13:10:30 +0100
commit7c3081960922d9bd3ea81a9f8ca6e00c23170a2b (patch)
treeb35a327b7a99a9a69d0ff480bc94c057db78fa39
parent4a0967f7509b5fad1c9bda432f71deb0d342a879 (diff)
downloadgcc-7c3081960922d9bd3ea81a9f8ca6e00c23170a2b.zip
gcc-7c3081960922d9bd3ea81a9f8ca6e00c23170a2b.tar.gz
gcc-7c3081960922d9bd3ea81a9f8ca6e00c23170a2b.tar.bz2
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 <tkaminsk@redhat.com>
-rw-r--r--libstdc++-v3/include/std/bitset5
1 files changed, 4 insertions, 1 deletions
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index 1c1e167..93a03f6 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<typename _CharT>
+ using __string = std::basic_string_view<_CharT>;
+#elif _GLIBCXX_HOSTED
template<typename _CharT>
using __string = std::basic_string<_CharT>;
#else