]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/include/std/sstream
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / include / std / sstream
index 4f0c50fcc8a7499cb4395426115a3eadb770caf9..dda7096afe407f19c36a20d7d3460309531fe1b7 100644 (file)
@@ -1,6 +1,6 @@
 // String based streams -*- C++ -*-
 
-// Copyright (C) 1997-2023 Free Software Foundation, Inc.
+// Copyright (C) 1997-2024 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 
 #if __cplusplus > 201703L && _GLIBCXX_USE_CXX11_ABI
 # define _GLIBCXX_LVAL_REF_QUAL &
+# define _GLIBCXX_SSTREAM_ALWAYS_INLINE
 #else
 # define _GLIBCXX_LVAL_REF_QUAL
+// For symbols that are not exported from libstdc++.so for the COW string ABI.
+# define _GLIBCXX_SSTREAM_ALWAYS_INLINE [[__gnu__::__always_inline__]]
 #endif
 
+
+
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -251,7 +256,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
        return __ret;
       }
 
-#if __cplusplus > 201703L && _GLIBCXX_USE_CXX11_ABI
+#if __cplusplus > 201703L
+#if _GLIBCXX_USE_CXX11_ABI
 #if __cpp_concepts
       template<__allocator_like _SAlloc>
        basic_string<_CharT, _Traits, _SAlloc>
@@ -275,7 +281,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
        _M_sync(_M_string.data(), 0, 0);
        return __str;
       }
+#endif // cxx11 ABI
 
+      _GLIBCXX_SSTREAM_ALWAYS_INLINE
       basic_string_view<char_type, traits_type>
       view() const noexcept
       {
@@ -698,7 +706,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
       str() const _GLIBCXX_LVAL_REF_QUAL
       { return _M_stringbuf.str(); }
 
-#if __cplusplus > 201703L && _GLIBCXX_USE_CXX11_ABI
+#if __cplusplus > 201703L
+#if _GLIBCXX_USE_CXX11_ABI
 #if __cpp_concepts
       template<__allocator_like _SAlloc>
        basic_string<_CharT, _Traits, _SAlloc>
@@ -709,11 +718,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
       __string_type
       str() &&
       { return std::move(_M_stringbuf).str(); }
+#endif // cxx11 ABI
 
+      _GLIBCXX_SSTREAM_ALWAYS_INLINE
       basic_string_view<char_type, traits_type>
       view() const noexcept
       { return _M_stringbuf.view(); }
-#endif
+#endif // C++20
 
       /**
        *  @brief  Setting a new buffer.
@@ -919,7 +930,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
       str() const _GLIBCXX_LVAL_REF_QUAL
       { return _M_stringbuf.str(); }
 
-#if __cplusplus > 201703L && _GLIBCXX_USE_CXX11_ABI
+#if __cplusplus > 201703L
+#if _GLIBCXX_USE_CXX11_ABI
 #if __cpp_concepts
       template<__allocator_like _SAlloc>
        basic_string<_CharT, _Traits, _SAlloc>
@@ -930,11 +942,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
       __string_type
       str() &&
       { return std::move(_M_stringbuf).str(); }
+#endif // cxx11 ABI
 
+      _GLIBCXX_SSTREAM_ALWAYS_INLINE
       basic_string_view<char_type, traits_type>
       view() const noexcept
       { return _M_stringbuf.view(); }
-#endif
+#endif // C++20
 
       /**
        *  @brief  Setting a new buffer.
@@ -1138,7 +1152,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
       str() const _GLIBCXX_LVAL_REF_QUAL
       { return _M_stringbuf.str(); }
 
-#if __cplusplus > 201703L && _GLIBCXX_USE_CXX11_ABI
+#if __cplusplus > 201703L
+#if _GLIBCXX_USE_CXX11_ABI
 #if __cpp_concepts
       template<__allocator_like _SAlloc>
        basic_string<_CharT, _Traits, _SAlloc>
@@ -1149,11 +1164,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
       __string_type
       str() &&
       { return std::move(_M_stringbuf).str(); }
+#endif // cxx11 ABI
 
+      _GLIBCXX_SSTREAM_ALWAYS_INLINE
       basic_string_view<char_type, traits_type>
       view() const noexcept
       { return _M_stringbuf.view(); }
-#endif
+#endif // C++20
 
       /**
        *  @brief  Setting a new buffer.
@@ -1215,6 +1232,7 @@ _GLIBCXX_END_NAMESPACE_CXX11
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
+#undef _GLIBCXX_SSTREAM_ALWAYS_INLINE
 #undef _GLIBCXX_LVAL_REF_QUAL
 
 #include <bits/sstream.tcc>