Namespaces
Variants
Actions

Standard library header <strstream> (deprecated in C++98)(removed in C++26)

From cppreference.com
< cpp‎ | header
 
 
Standard library headers
 

This header is part of the Input/Output library.

(deprecated in C++98)(removed in C++26)
implements raw character array device
(class) [edit]
(deprecated in C++98)(removed in C++26)
implements character array input operations
(class) [edit]
(deprecated in C++98)(removed in C++26)
implements character array output operations
(class) [edit]
(deprecated in C++98)(removed in C++26)
implements character array input/output operations
(class) [edit]

[edit] Notes

<strstream> is deprecated in C++98 and removed in C++26 (see P2867R1).

The reason for removal is that C++20 and C++23 provide superior replacement facilities, such as the ability to move strings efficiently out of std::stringstream s (since C++20, see P0408R7), and the <spanstream> library (since C++23, see P0448R4).

[edit] Synopsis

namespace std {
 class strstreambuf;
 class istrstream;
 class ostrstream;
 class strstream;
}

[edit] Class std::strstreambuf

namespace std {
 class strstreambuf : public basic_streambuf<char> {
 public:
 strstreambuf() : strstreambuf(0) {}
 explicit strstreambuf(streamsize alsize_arg);
 strstreambuf(void* (*palloc_arg)(size_t), void (*pfree_arg)(void*));
 strstreambuf(char* gnext_arg, streamsize n, char* pbeg_arg = nullptr);
 strstreambuf(const char* gnext_arg, streamsize n);
 
 strstreambuf(signed char* gnext_arg, streamsize n,
 signed char* pbeg_arg = nullptr);
 strstreambuf(const signed char* gnext_arg, streamsize n);
 strstreambuf(unsigned char* gnext_arg, streamsize n,
 unsigned char* pbeg_arg = nullptr);
 strstreambuf(const unsigned char* gnext_arg, streamsize n);
 
 virtual ~strstreambuf();
 
 void freeze(bool freezefl = true);
 char* str();
 int pcount();
 
 protected:
 int_type overflow (int_type c = EOF ) override;
 int_type pbackfail(int_type c = EOF ) override;
 int_type underflow() override;
 pos_type seekoff(off_type off, ios_base::seekdir way,
 ios_base::openmode which = ios_base::in | ios_base::out) override;
 pos_type seekpos(pos_type sp,
 ios_base::openmode which = ios_base::in | ios_base::out) override;
 streambuf* setbuf(char* s, streamsize n) override;
 
 private:
 using strstate = /*bitmask type*/; // exposition only
 static const strstate allocated; // exposition only
 static const strstate constant; // exposition only
 static const strstate dynamic; // exposition only
 static const strstate frozen; // exposition only
 strstate strmode; // exposition only
 streamsize alsize; // exposition only
 void* (*palloc)(size_t); // exposition only
 void (*pfree)(void*); // exposition only
 };
}

[edit] Class std::istrstream

namespace std {
 class istrstream : public basic_istream<char> {
 public:
 explicit istrstream(const char* s);
 explicit istrstream(char* s);
 istrstream(const char* s, streamsize n);
 istrstream(char* s, streamsize n);
 virtual ~istrstream();
 
 strstreambuf* rdbuf() const;
 char* str();
 private:
 strstreambuf sb; // exposition only
 };
}

[edit] Class std::ostrstream

namespace std {
 class ostrstream : public basic_ostream<char> {
 public:
 ostrstream();
 ostrstream(char* s, int n, ios_base::openmode mode = ios_base::out);
 virtual ~ostrstream();
 
 strstreambuf* rdbuf() const;
 void freeze(bool freezefl = true);
 char* str();
 int pcount() const;
 private:
 strstreambuf sb; // exposition only
 };
}

[edit] Class std::strstream

namespace std {
 class strstream
 : public basic_iostream<char> {
 public:
 // types
 using char_type = char;
 using int_type = char_traits<char>::int_type;
 using pos_type = char_traits<char>::pos_type;
 using off_type = char_traits<char>::off_type;
 
 // constructors/destructor
 strstream();
 strstream(char* s, int n,
 ios_base::openmode mode = ios_base::in | ios_base::out);
 virtual ~strstream();
 
 // members
 strstreambuf* rdbuf() const;
 void freeze(bool freezefl = true);
 int pcount() const;
 char* str();
 
 private:
 strstreambuf sb; // exposition only
 };
}
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/header/strstream&oldid=170616"

AltStyle によって変換されたページ (->オリジナル) /