Share via


basic_streambuf Class

Describe una clase base abstracta para derivar un búfer de la secuencia, que controla la transmisión de los elementos a y desde una representación específica de una secuencia.

template<class Elem, class Tr = char_traits<Elem> >
   class basic_streambuf;

Parámetros

Comentarios

La clase de plantilla describe una clase base abstracta para derivar un búfer de la secuencia, que controla la transmisión de los elementos a y desde una representación específica de una secuencia.Un objeto de clase basic_streambuf ayuda a controla un objeto stream con los elementos de tipo Tr, también conocido como char_type, cuyos rasgos de carácter se determinan mediante la clase char_traits, también conocido como traits_type.

Conceptualmente, cada búfer de secuencia controla dos secuencias independientes: uno para las extracciones (entrada) y otro para las inserciones (salida).Una representación específica puede, sin embargo, inaccesible una o ambas de estas secuencias.Normalmente mantiene alguna relación entre las dos secuencias.¿Qué se inserta en la secuencia de salida de un basic_stringbuf<Elem, Tr> objeto, por ejemplo, es lo más adelante extrae de su secuencia de entrada.Cuando se coloca una secuencia de un basic_filebuf<Elem, Tr> objeto, coloque la otra secuencia en tándem.

La interfaz pública para la clase de plantilla basic_streambuf suministra las operaciones que son comunes a todos los búferes de secuencia, sin embargo especializados.La interfaz protegida proporciona las operaciones necesarias para obtener una representación específica de una secuencia para realizar su trabajo.Las funciones de miembro virtual protegido le permiten personalizar el comportamiento de un búfer de secuencia derivada de una representación específica de una secuencia.Cada búfer de secuencia derivada de esta biblioteca describe cómo su especialidad es el comportamiento de sus funciones miembro virtual protegido.El comportamiento predeterminado de la clase base, que a menudo es no hacer nada, se describe en este tema.

Los restantes protección copiar a y desde cualquier almacenamiento de información proporcionado a las transmisiones de búfer a y desde las secuencias de control de las funciones de miembros.Un búfer de entrada, por ejemplo, se caracteriza por:

  • eback, un puntero al principio del búfer.

  • gptr, un puntero al siguiente elemento para leer.

  • egptr, un puntero inmediatamente después del final del búfer.

De forma similar, un búfer de salida se caracteriza por:

  • pbase, un puntero al principio del búfer.

  • pptr, un puntero para el elemento siguiente que se va a escribir.

  • epptr, un puntero inmediatamente después del final del búfer.

Para cualquier búfer, se utiliza el protocolo siguiente:

  • Si el siguiente puntero es null, no existe ningún búfer.De lo contrario, todos los tres punteros punto de la misma secuencia.Se puede comparar con seguridad por orden.

  • Un búfer de salida, si el puntero siguiente compara menos que el puntero final, puede almacenar un elemento en la posición de escritura designado por el puntero siguiente.

  • Para un búfer de entrada, si el puntero siguiente compara menos que el puntero final, se puede leer un elemento en la posición de lectura designado por el puntero siguiente.

  • Para un búfer de entrada, si el puntero de inicio compara menos que el puntero siguiente puede poner atrás un elemento en la posición de fue designada por el puntero siguiente disminuye.

Cualquiera protegido escribir para una clase derivada de las funciones miembro virtuales basic_streambuf<Elem, Tr> debe cooperar en el mantenimiento de este protocolo.

An object of class basic_streambuf<Elem, Tr> almacena los seis punteros que se ha descrito anteriormente.También almacena un objeto de configuración regional en un objeto de tipo Configuración regional para uso potencial de un búfer de secuencia derivada.

9h24a8cd.collapse_all(es-es,VS.110).gifConstructores

basic_streambuf

Construye un objeto de tipo basic_streambuf.

9h24a8cd.collapse_all(es-es,VS.110).gifTypedefs

char_type

Asocia un nombre de tipo con el Elem parámetro de plantilla.

int_type

Asocia un nombre de tipo dentro de basic_streambuf de ámbito con el Elem parámetro de plantilla.

off_type

Asocia un nombre de tipo dentro de basic_streambuf de ámbito con el Elem parámetro de plantilla.

pos_type

Asocia un nombre de tipo dentro de basic_streambuf de ámbito con el Elem parámetro de plantilla.

traits_type

Asocia un nombre de tipo con el Tr parámetro de plantilla.

9h24a8cd.collapse_all(es-es,VS.110).gifFunciones miembro

eback

Una función protegida que devuelve un puntero al principio del búfer de entrada.

egptr

Una función protegida que devuelve un puntero inmediatamente después del final del búfer de entrada.

epptr

Una función protegida que devuelve un puntero inmediatamente después del final del búfer de salida.

gbump

Una función protegida que añade _Count en el siguiente puntero para el búfer de entrada.

getloc

Obtiene el basic_streambuf configuración regional del objeto.

gptr

Una función protegida que devuelve un puntero al siguiente elemento del búfer de entrada.

impregnar

A protegido, función virtual que se llama a pubimbue.

in_avail

Devuelve el número de elementos que están listos para ser leídos desde el búfer.

desbordamiento

Una función virtual protegida que se puede llamar cuando se inserta un nuevo carácter en un búfer completo.

pbackfail

Una función miembro virtual protegido que intenta colocar un elemento en la secuencia de entrada, a continuación, convertirlo en el elemento actual (señalado por el puntero siguiente).

pbase

Una función protegida que devuelve un puntero al principio del búfer de salida.

pbump

Una función protegida que añade count en el siguiente puntero para el búfer de salida.

pptr

Una función protegida que devuelve un puntero al siguiente elemento del búfer de salida.

pubimbue

Conjuntos de la basic_streambuf configuración regional del objeto.

pubseekoff

Las llamadas seekoff, un protegido función virtual que se reemplaza en una clase derivada.

pubseekpos

Las llamadas seekpos, un protegido función virtual que se reemplaza en una clase derivada y restablece la posición actual del puntero.

pubsetbuf para

Las llamadas setbuf, un protegido función virtual que se reemplaza en una clase derivada.

pubsync

Las llamadas sync, un protegido función virtual que se reemplaza en una clase derivada y actualizaciones de la secuencia externa asociada a este búfer.

sbumpc

Lee y devuelve el elemento actual, moviendo el puntero de una secuencia.

seekoff

La función miembro virtual protegido intenta modificar las posiciones actuales de las secuencias controladas.

seekpos

La función miembro virtual protegido intenta modificar las posiciones actuales de las secuencias controladas.

setbuf

La función miembro virtual protegido realiza un particular de operación para cada búfer de secuencia derivada.

setg

Una función protegida que almacena _Gbeg en el puntero de inicio, _Gnext en el siguiente puntero, y _Gend en el puntero de final para el búfer de entrada.

config.

Una función protegida que almacena _Pbeg en el puntero del principio y _Pend en el puntero de final para el búfer de salida.

sgetc

Devuelve el elemento actual sin cambiar la posición en la secuencia.

sgetn

Devuelve el número de elementos de lectura.

showmanyc

Función miembro virtual protegido que devuelve un recuento del número de caracteres que se pueden extraer de la secuencia de entrada y asegúrese de que el programa no estará sujeto a una espera indefinida.

snextc

Lee el elemento actual y devuelve el siguiente elemento.

sputbackc

Pone un char_type en la secuencia.

sputc

Coloca un carácter en la secuencia.

sputn

Coloca una cadena de caracteres en la secuencia.

stossc

Pasar el elemento actual en la secuencia.

sungetc

Obtiene un carácter de la secuencia.

swap

Intercambia los valores de este objeto para los valores de los basic_streambuf parámetro de objeto.

sincronización

Una función virtual protegida que intenta sincronizar las secuencias controladas con cualquier flujo externo asociado.

uflow

Una función virtual protegida que extrae el elemento actual de la secuencia de entrada.

subdesbordamiento

Una función virtual protegida que extrae el elemento actual de la secuencia de entrada.

xsgetn

Una función virtual protegida que extrae los elementos de la secuencia de entrada.

xsputn

Una función virtual protegida que inserta elementos en la secuencia de salida.

9h24a8cd.collapse_all(es-es,VS.110).gifOperadores

operator=

Asigna los valores de este objeto desde otro basic_streambuf objeto.

Requisitos

Encabezado: <streambuf>

Espacio de nombres: std

Vea también

Referencia

Seguridad para subprocesos de la biblioteca estándar de C++

programación iostream

convenciones de iostreams

Otros recursos

miembros de basic_streambuf

miembros de <streambuf>