Namespaces
Variants

std:: strstreambuf

From cppreference.net
< cpp ‎ | io
Definido en el encabezado <strstream>
class strstreambuf : public std:: basic_streambuf < char >
(obsoleto en C++98)
(eliminado en C++26)

std::strstreambuf es un std::basic_streambuf cuya secuencia de caracteres asociada es un array de caracteres, que puede ser constante (por ejemplo, un literal de cadena), modificable pero no dinámico (por ejemplo, un array asignado en la pila), o dinámico, en cuyo caso el std::strstreambuf puede tener permitido reasignar el array según sea necesario para acomodar la salida (por ejemplo, llamando a delete [ ] y new [ ] o funciones proporcionadas por el usuario).

Implementación típica de un std::strstreambuf mantiene cuatro miembros de datos privados:

1) estado de búfer, un tipo de máscara de bits que puede representar cualquier combinación de los cuatro valores "allocated" (el destructor desasignará), "constant" (salida no permitida), "dynamic" (la salida puede reasignar), o "frozen" (no se permiten la desasignación ni la reasignación)
2) tamaño del búfer asignado (el inicio del búfer no necesita un miembro de datos especial, puede almacenarse en el puntero heredado eback() )
3) puntero a la función de asignación proporcionada por el usuario
4) puntero a la función de desasignación proporcionada por el usuario.

Contenidos

Notas

Después de cualquier llamada a str() en un flujo con un búfer dinámico, se requiere una llamada a freeze(false) para permitir que el destructor de strstreambuf desasigne el búfer cuando sea necesario.

strstreambuf ha sido obsoleto desde C++98 y eliminado desde C++26 . El reemplazo recomendado es std::spanbuf (desde C++23) .

Funciones miembro

Funciones miembro públicas

construye un objeto strstreambuf
(función miembro pública)
[virtual]
destruye un objeto strstreambuf , opcionalmente desasignando el array de caracteres
(función miembro pública virtual)
establece/limpia el estado congelado del buffer
(función miembro pública)
marca el buffer como congelado y devuelve el puntero inicial de la secuencia de entrada
(función miembro pública)
devuelve el puntero siguiente menos el puntero inicial en la secuencia de salida: el número de caracteres escritos
(función miembro pública)

Funciones miembro protegidas

[virtual]
lee un carácter de la secuencia de entrada sin avanzar el puntero siguiente
(función miembro protegida virtual)
[virtual]
retrocede la secuencia de entrada para devolver un carácter
(función miembro protegida virtual)
[virtual]
añade un carácter a la secuencia de salida, puede realocar o asignar inicialmente el buffer si es dinámico y no está congelado
(función miembro protegida virtual)
[virtual]
intenta reemplazar la secuencia de caracteres controlada con un array
(función miembro protegida virtual)
[virtual]
repositiona el puntero siguiente en la secuencia de entrada, secuencia de salida, o ambas, usando direccionamiento relativo
(función miembro protegida virtual)
[virtual]
repositiona el puntero siguiente en la secuencia de entrada, secuencia de salida, o ambas usando direccionamiento absoluto
(función miembro protegida virtual)

Heredado de std:: basic_streambuf

Tipos de miembros

Tipo de miembro Definición
char_type CharT
traits_type Traits ; el programa está mal formado si Traits::char_type no es CharT .
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Funciones miembro

[virtual]
destruye el objeto basic_streambuf
(función miembro pública virtual de std::basic_streambuf<CharT,Traits> )
Locales
cambia la configuración regional asociada e invoca imbue ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
obtiene una copia de la configuración regional asociada
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Posicionamiento
invoca setbuf ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca seekoff ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca seekpos ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca sync ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Área de obtención
obtiene el número de caracteres inmediatamente disponibles en el área de obtención
(función miembro pública de std::basic_streambuf<CharT,Traits> )
avanza la secuencia de entrada, luego lee un carácter sin avanzar nuevamente
(función miembro pública de std::basic_streambuf<CharT,Traits> )
(eliminado en C++17)
lee un carácter de la secuencia de entrada y avanza la secuencia
(función miembro pública de std::basic_streambuf<CharT,Traits> )
lee un carácter de la secuencia de entrada sin avanzar la secuencia
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca xsgetn ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Área de escritura
escribe un carácter en el área de escritura y avanza el siguiente puntero
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca xsputn ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Reinserción
devuelve un carácter a la secuencia de entrada
(función miembro pública de std::basic_streambuf<CharT,Traits> )
mueve el siguiente puntero en la secuencia de entrada hacia atrás una posición
(función miembro pública de std::basic_streambuf<CharT,Traits> )

Funciones miembro protegidas

construye un objeto basic_streambuf
(función miembro protegida)
(C++11)
reemplaza un basic_streambuf object
(función miembro protegida)
(C++11)
intercambia dos objetos basic_streambuf
(función miembro protegida)
Configuraciones Regionales
[virtual]
reacciona a un cambio de la configuración regional asociada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
Posicionamiento
[virtual]
reemplaza el búfer con un arreglo definido por el usuario, si está permitido
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas, usando direccionamiento relativo
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas usando direccionamiento absoluto
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
sincroniza los búferes con la secuencia de caracteres asociada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
Obtener área
[virtual]
obtiene el número de caracteres disponibles para entrada en la secuencia de entrada asociada, si se conoce
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
lee caracteres de la secuencia de entrada asociada al área de obtención
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
lee caracteres de la secuencia de entrada asociada al área de obtención y avanza el puntero siguiente
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
lee múltiples caracteres de la secuencia de entrada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
devuelve un puntero al inicio, al carácter actual y al final del área de obtención
(función miembro protegida)
avanza el siguiente puntero en la secuencia de entrada
(función miembro protegida)
reposiciona los punteros de inicio, siguiente y fin de la secuencia de entrada
(función miembro protegida)
Área de put
[virtual]
escribe múltiples caracteres en la secuencia de salida
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
escribe caracteres a la secuencia de salida asociada desde el área de escritura
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
devuelve un puntero al inicio, al carácter actual y al final del área de escritura
(función miembro protegida)
avanza el puntero siguiente de la secuencia de salida
(función miembro protegida)
reposiciona los punteros de inicio, siguiente y fin de la secuencia de salida
(función miembro protegida)
Putback
[virtual]
coloca un carácter de vuelta en la secuencia de entrada, posiblemente modificando la secuencia de entrada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )