Namespaces
Variants
Actions

Standard library header <streambuf>

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

This header is part of the Input/Output library.

Contents

Classes

abstracts a raw device
(class template)[edit]
streambufstd::basic_streambuf<char>
(typedef)
wstreambufstd::basic_streambuf<wchar_t>
(typedef)

[edit]Synopsis

namespace std {template<class CharT, class Traits = char_traits<CharT>>class basic_streambuf;using streambuf = basic_streambuf<char>;using wstreambuf = basic_streambuf<wchar_t>;}

[edit]Class template std::basic_streambuf

namespace std {template<class CharT, class Traits = char_traits<CharT>>class basic_streambuf {public:using char_type = CharT;using int_type =typename Traits::int_type;using pos_type =typename Traits::pos_type;using off_type =typename Traits::off_type;using traits_type = Traits;   virtual ~basic_streambuf();   // locales locale pubimbue(const locale& loc); locale getloc()const;   // buffer and positioning basic_streambuf* pubsetbuf(char_type* s, streamsize n); pos_type pubseekoff(off_type off, ios_base::seekdir way, ios_base::openmode which = ios_base::in| ios_base::out); pos_type pubseekpos(pos_type sp, ios_base::openmode which = ios_base::in| ios_base::out);int pubsync();   // get and put areas// get area streamsize in_avail(); int_type snextc(); int_type sbumpc(); int_type sgetc(); streamsize sgetn(char_type* s, streamsize n);   // putback int_type sputbackc(char_type c); int_type sungetc();   // put area int_type sputc(char_type c); streamsize sputn(const char_type* s, streamsize n);   protected: basic_streambuf(); basic_streambuf(const basic_streambuf& rhs); basic_streambuf& operator=(const basic_streambuf& rhs);   void swap(basic_streambuf& rhs);   // get area access char_type* eback()const; char_type* gptr()const; char_type* egptr()const;void gbump(int n);void setg(char_type* gbeg, char_type* gnext, char_type* gend);   // put area access char_type* pbase()const; char_type* pptr()const; char_type* epptr()const;void pbump(int n);void setp(char_type* pbeg, char_type* pend);   // virtual functions// localesvirtualvoid imbue(const locale& loc);   // buffer management and positioningvirtual basic_streambuf* setbuf(char_type* s, streamsize n);virtual pos_type seekoff(off_type off, ios_base::seekdir way, ios_base::openmode which = ios_base::in| ios_base::out);virtual pos_type seekpos(pos_type sp, ios_base::openmode which = ios_base::in| ios_base::out);virtualint sync();   // get areavirtual streamsize showmanyc();virtual streamsize xsgetn(char_type* s, streamsize n);virtual int_type underflow();virtual int_type uflow();   // putbackvirtual int_type pbackfail(int_type c = Traits::eof());   // put areavirtual streamsize xsputn(const char_type* s, streamsize n);virtual int_type overflow(int_type c = Traits::eof());};}

[edit]Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 56C++98 the return type of showmanyc of was int in the synopsis corrected to streamsize
close