basic_streambuf (Clase)
Describe una clase base abstracta para derivar un búfer de secuencia, que controla la transmisión de 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
Elem
char_type.Tr
El carácter traits_type.
Comentarios
La clase de plantilla describe una clase base abstracta para derivar un búfer de secuencia, que controla la transmisión de elementos a y desde una representación específica de una secuencia. Un objeto de ayuda de basic_streambuf de la clase controla una secuencia con los elementos de Trescrito, también conocidos como char_type, cuyos rasgos de carácter se determinan mediante la clase char_traits, también conocido como traits_type.
Cada búfer de secuencia controla conceptual dos secuencias independientes: uno para las extracciones (entrada) y uno para las inserciones (salida). Una representación concreta puede, sin embargo, crear una o en ambas secuencias inaccesibles. Mantiene normalmente algún relación entre las dos secuencias. Qué se inserta en el flujo de salida de basic_stringbuf<Elem, objeto> de Tr, por ejemplo, es lo que se extraen posterior del flujo de entrada. Cuando coloca una secuencia de basic_filebuf<Elem, objeto> de Tr, puede colocar la otra secuencia en tándem.
La interfaz pública fuentes de basic_streambuf de la clase de plantilla que las operaciones que son comunes a toda la secuencia almacenan en búfer, al menos especializado. Las fuentes protegidas de interfaz que las operaciones necesarios para una representación específica de una secuencia realizar su trabajo. Las funciones virtuales protegidas miembro permiten personalizar el comportamiento de un búfer derivado de la secuencia para una representación específica de una secuencia. Cada búfer derivado de la secuencia en esta biblioteca describe cómo especial el comportamiento de las funciones virtuales protegidas del miembro. El comportamiento predeterminado para la clase base, que a menudo no hacer nada, se describe en este tema.
Restantes las funciones protegidas miembro controlan copiar a y desde cualquier almacenamiento proporcionado a las transmisiones de búfer a y desde flujos. Un búfer de entrada, por ejemplo, se caracteriza por:
eback, un puntero al principio del búfer.
gptr, un puntero al elemento siguiente a la lectura.
egptr, un último de puntero simplemente el fin del búfer.
Igualmente, un búfer de salida se caracteriza por:
pbase, un puntero al principio del búfer.
pptr, un puntero al elemento siguiente a escribir.
epptr, un último de puntero simplemente el fin del búfer.
Para cualquier búfer, se utiliza el protocolo siguiente:
Si el puntero siguiente es null, ningún búfer existe. Si no, el punto de tres punteros en la misma secuencia. Pueden compararse con seguridad para el pedido.
Para un búfer de salida, si el puntero siguiente compara menos que el puntero de fin, puede almacenar un elemento en la posición de escritura designada por el puntero siguiente.
Para un búfer de entrada, si el puntero siguiente compara menos que el puntero de fin, puede leer un elemento en la posición de lectura indica el puntero siguiente.
Para un búfer de entrada, si el puntero de principio a menos que el puntero siguiente, puede colocar la reproducción que un elemento en la posición de putback que el puntero siguiente disminuido.
Cualquier función virtual protegida de miembro escribir para una clase derivada de basic_streambuf<Elem, Tr> debe cooperar en mantener este protocolo.
Un objeto de clase basic_streambuf<Elem, Tr> almacena los seis punteros descritos previamente. También almacena un objeto de la configuración regional en un objeto de configuración regional escrito para el uso potencial por un búfer derivado de la secuencia.
Constructores
Construye un objeto de tipo basic_streambuf. |
Typedefs
Asocia un nombre de tipo al parámetro de plantilla de Elem . |
|
Asocia un nombre de tipo dentro del ámbito de basic_streambuf al parámetro de plantilla de Elem . |
|
Asocia un nombre de tipo dentro del ámbito de basic_streambuf al parámetro de plantilla de Elem . |
|
Asocia un nombre de tipo dentro del ámbito de basic_streambuf al parámetro de plantilla de Elem . |
|
Asocia un nombre de tipo al parámetro de plantilla de Tr . |
Funciones miembro
Una función protegida que devuelve un puntero al inicio del búfer de entrada. |
|
Una función protegida que devuelve un último de puntero simplemente el fin del búfer de entrada. |
|
Una función protegida que devuelve un último de puntero simplemente el fin del búfer de salida. |
|
Una función protegida que agrega _Count el puntero siguiente para el búfer de entrada. |
|
Obtiene la configuración regional del objeto de basic_streambuf . |
|
Una función protegida que devuelve un puntero al elemento siguiente del búfer de entrada. |
|
Una función protegida, virtual denominada por pubimbue. |
|
Devuelve el número de elementos que están listos para ser leído desde el búfer. |
|
Una función virtual protegida que puede llamar cuando un nuevo carácter se incrusta en un búfer completo. |
|
Una función virtual protegida de miembro que intentan colocar la reproducción de un elemento en el flujo de entrada, se le hace que el elemento actual (indicado por el puntero siguiente). |
|
Una función protegida que devuelve un puntero al principio del búfer de salida. |
|
Una función protegida que agrega count el puntero siguiente para el búfer de salida. |
|
Una función protegida que devuelve un puntero al elemento siguiente del búfer de salida. |
|
Establece la configuración regional del objeto de basic_streambuf . |
|
Llama a seekoff, una función virtual protegida que se invalide en una clase derivada. |
|
Llama a seekpos, una función virtual protegida que se invalide en una clase derivada y restablece la posición actual del puntero. |
|
Llama a setbuf, una función virtual protegida que se invalide en una clase derivada. |
|
Llama a sincronización, una función virtual protegida que se invalide en una clase derivada y actualiza la secuencia externa asociada a este búfer. |
|
Lee y devuelven el elemento actual, al mover el puntero de secuencia. |
|
La función virtual protegida de miembro intenta modificar los cargos actuales para las secuencias controladas. |
|
La función virtual protegida de miembro intenta modificar los cargos actuales para las secuencias controladas. |
|
La función virtual protegida de miembro realiza un detalle de la operación a cada búfer derivado de la secuencia. |
|
Una función protegida que almacena el puntero de _Gbeg al principio, _Gnext en el puntero siguiente, y _Gend en el puntero de fin del búfer de entrada. |
|
Una función protegida que almacena el puntero y _Pend de _Pbeg el principio del puntero de fin del búfer de salida. |
|
Devuelve el elemento actual sin cambiar la posición en la secuencia. |
|
Devuelve el número de elementos. |
|
Función virtual protegida de miembro que devuelve un recuento del número de caracteres que se extraen del flujo de entrada y garantizar que el programa no estará bajo una espera definida. |
|
Lee el elemento actual y devuelve el siguiente elemento. |
|
Coloca char_type en la secuencia. |
|
Coloca un carácter en la secuencia. |
|
Coloca una cadena de caracteres de la secuencia. |
|
Pase el elemento actual de la secuencia. |
|
Obtiene un carácter de la secuencia. |
|
Cambie los valores de este objeto por los valores del parámetro de objeto proporcionado de basic_streambuf . |
|
Una función virtual protegida que intenta sincronizar las secuencias controladas con cualquier secuencia externa asociada. |
|
Una función virtual protegida que extrae el elemento actual del flujo de entrada. |
|
Una función virtual protegida que extrae el elemento actual del flujo de entrada. |
|
Una función virtual protegida que extrae los elementos del flujo de entrada. |
|
Una función virtual protegida que inserta elementos en el flujo de salida. |
Operadores
Asigna los valores de este objeto de otro objeto de basic_streambuf . |
Requisitos
streambuf <deEncabezado: >
Espacio de nombres: std
Vea también
Referencia
Seguridad para subprocesos en la biblioteca estándar de C++