libreria <streambuf>
Clase tampón Base para los flujos
- streambuf
- filebufstringbuf
Esta plantilla está diseñada como base de clase virtual para todos tampón corriente clases que manejan caracteres estrechos (de tipo Char ). Se trata de una instancia de
basic_streambuf con los siguientes parámetros de plantilla:
parámetro de plantilla
|
definición
|
comentarios
|
tabla
|
Char
|
Alias como miembro char_type
|
rasgos
|
char_traits <char>
|
Alias como miembro traits_type
|
Un búfer de la secuencia es un objeto encargado de realizar las operaciones de lectura y escritura de la corriente de objeto que se asocia con: los delegados de transmisión en todas las operaciones a su asociado búfer de la secuencia objeto, que es un intermediario entre la corriente y su entrada controlada y salida secuencias . Todos los arroyos objetos, no importa si tamponado o sin búfer, tienen un asociado búfer de la secuencia : Algunos tampón corriente tipos pueden entonces ajustarse para cualquiera que use un intermedio tampón . o no de amortiguamiento Stream objetos mantener internamente, al menos:
- La lugar objeto,
que se utiliza para las operaciones de configuración regional dependiente.
- Un
conjunto de indicadores internos para mantener un buffer de entrada: eback, GPTR, egptr.
- Un
conjunto de indicadores internos para mantener un búfer de salida: pbase, PPTR, epptr.
Internamente, el streambufclase es una clase base elaborada diseñado para proporcionar una interfaz pública uniforme para todas las clases derivadas: Estas funciones públicas llaman a los miembros protegidos virtuales que derivan clases pueden anular para implementar un comportamiento específico. Estas funciones virtuales anulados tienen acceso a la parte interna de lastreambuf clase por medio de un conjunto de funciones protegidas (véase más adelante).
Programacion en c ++:
Escribiendo directamente de un streambuf a un enchufe:
impulsar :: asio :: streambuf b ; std :: ostream os (y b ); os << "Hola, mundo! \ n" ; // Intente enviar algunos datos de la secuencia de entrada size_t n = calcetín . enviar ( b . de datos ()); b . consume ( n ); // datos enviados se elimina de secuencia de entrada
La lectura de un enchufe directamente en una streambuf:
impulsar :: asio :: streambuf b ; // Reserva 512 bytes en la secuencia de salida de impulso :: asio :: streambuf :: mutable_buffers_type bufs = b . preparar ( 512 ); size_t n = calcetín . recibirá ( bufs ); // De datos recibido es "comprometida" de secuencia de salida de secuencia de entrada b . cometer ( n ); std :: istream es (y b ); std :: string s ; se >> s ;
https://drive.google.com/file/d/0B7vmWFRW6C_Ca1RFWmRjZ184Yms/view?usp=sharing
No hay comentarios.:
Publicar un comentario