A list of valid replacements is as follows:
Use: Instead of:
- <sstream>, basic_stringbuf <strstream>, strstreambuf
- <sstream>, basic_istringstream <strstream>, istrstream
- <sstream>, basic_ostringstream <strstream>, ostrstream
- <sstream>, basic_stringstream <strstream>, strstream
+ <sstream>, stringbuf
+ or <spanstream>, spanbuf <strstream>, strstreambuf
+ <sstream>, istringstream
+ or <spanstream>, ispanstream <strstream>, istrstream
+ <sstream>, ostringstream
+ or <spanstream>, ospanstream <strstream>, ostrstream
+ <sstream>, stringstream
+ or <spanstream>, spanstream <strstream>, strstream
<unordered_set>, unordered_set <ext/hash_set>, hash_set
<unordered_set>, unordered_multiset <ext/hash_set>, hash_multiset
<unordered_map>, unordered_map <ext/hash_map>, hash_map
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
+#if __glibcxx_spanstream
+# define _GLIBCXX_STRSTREAM_DEPR(A, B) _GLIBCXX_DEPRECATED_SUGGEST(A "' or '" B)
+#else
+# define _GLIBCXX_STRSTREAM_DEPR(A, B) _GLIBCXX_DEPRECATED_SUGGEST(A)
+#endif
+
// Class strstreambuf, a streambuf class that manages an array of char.
// Note that this class is not a template.
class strstreambuf : public basic_streambuf<char, char_traits<char> >
bool _M_dynamic : 1;
bool _M_frozen : 1;
bool _M_constant : 1;
- };
+ } _GLIBCXX_STRSTREAM_DEPR("std::stringbuf", "std::spanbuf");
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
// Class istrstream, an istream that manages a strstreambuf.
class istrstream : public basic_istream<char>
private:
strstreambuf _M_buf;
- };
+ } _GLIBCXX_STRSTREAM_DEPR("std::istringstream", "std::ispanstream");
// Class ostrstream
class ostrstream : public basic_ostream<char>
private:
strstreambuf _M_buf;
- };
+ } _GLIBCXX_STRSTREAM_DEPR("std::ostringstream", "std::ospanstream");
// Class strstream
class strstream : public basic_iostream<char>
private:
strstreambuf _M_buf;
- };
+ } _GLIBCXX_STRSTREAM_DEPR("std::stringstream", "std::spanstream");
+
+#undef _GLIBCXX_STRSTREAM_DEPR
+#pragma GCC diagnostic pop
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace