Archivo de encabezado de la biblioteca estándar <streambuf>
De cppreference.com
Este archivo de encabezado es parte de la biblioteca de Entrada/Salida.
Clases | |
| Abstrae un dispositivo puro. (plantilla de clase) | |
streambuf
|
std::basic_streambuf<char>(typedef) |
wstreambuf
|
std::basic_streambuf<wchar_t>(typedef) |
Sinopsis
namespace std {
template<class CharT, class Traits = char_traits<CharT>>
class basic_streambuf;
using streambuf = basic_streambuf<char>;
using wstreambuf = basic_streambuf<wchar_t>;
}
Plantilla de clase 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();
// localizaciones
locale pubimbue(const locale& loc);
locale getloc() const;
// búfer y posicionamiento
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();
// áreas para captar y poner
// área de captación
streamsize in_avail();
int_type snextc();
int_type sbumpc();
int_type sgetc();
streamsize sgetn(char_type* s, streamsize n);
// devolución
int_type sputbackc(char_type c);
int_type sungetc();
// área para poner
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);
// acceso al área de captación
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);
// acceso al área para poner
char_type* pbase() const;
char_type* pptr() const;
char_type* epptr() const;
void pbump(int n);
void setp(char_type* pbeg, char_type* pend);
// funciones virtuales
// localizaciones
virtual void imbue(const locale& loc);
// gestión de búfer y posicionamiento
virtual 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);
virtual int sync();
// área de captación
virtual streamsize showmanyc();
virtual streamsize xsgetn(char_type* s, streamsize n);
virtual int_type underflow();
virtual int_type uflow();
// devolución
virtual int_type pbackfail(int_type c = Traits::eof());
// área para poner
virtual streamsize xsputn(const char_type* s, streamsize n);
virtual int_type overflow(int_type c = Traits::eof());
};
}