Espacios de nombres
Variantes
Acciones

std::basic_osyncstream

De cppreference.com
< cpp‎ | io
 
 
Biblioteca de E/S
Manipuladores de E/S
E/S estilo C
Búferes
(en desuso en C++98)
Flujos
Abstracciones
E/S de archivos
E/S de cadenas
E/S de arrays
(en desuso en C++98)
(en desuso en C++98)
(en desuso en C++98)
Salida sincronizada
basic_osyncstream
(C++20)
Tipos
Interfaz de categoría de error
(C++11)
 
 
Definido en el archivo de encabezado <syncstream>
template<

    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>

> class basic_osyncstream: public std::basic_ostream<CharT, Traits>
(desde C++20)

La plantilla de clase std::basic_osyncstream es un contenedor conveniente para std::basic_syncbuf. Proporciona un mecanismo para sincronizar hilos que escriben en el mismo flujo.

Se puede usar con una variable nombrada:

{
    std::osyncstream synced_out(std::cout); // envoltorio sincronizado para std::cout
    synced_out << "¡Hola, ";
    synced_out << "mundo!";
    synced_out << std::endl; // se anota la descarga, pero aún no se ha realizado
    synced_out << "¡y más!\n";
} // los caracteres se transfieren y std::cout se descarga

así como con un temporal:

std::osyncstream(std::cout) << "¡Hola, " << "mundo!" << '\n';

Proporciona la garantía de que todos los resultados realizados en el mismo búfer de destino final (std::cout en los ejemplos anteriores) estarán libres de carreras de datos y no se intercalarán ni distorsionarán de ninguna manera, siempre que cada escritura en ese búfer de destino final se cree a través de instancias (posiblemente diferentes) de std::basic_osyncstream.

La implementación típica de std::basic_osyncstream contiene solo un miembro: el std::basic_syncbuf envuelto.

cpp/io/ios basecpp/io/basic ioscpp/io/basic ostreamstd-basic osyncstream-inheritance.svg
Acerca de esta imagen

Inheritance diagram

También se definen dos especializaciones para tipos de caracteres comunes:

Definido en el archivo de encabezado <syncstream>
Tipo Definición
osyncstream basic_osyncstream<char>
wosyncstream basic_osyncstream<wchar_t>

Contenido

[editar] Tipos miembro

Tipo miembro Definición
char_type CharT[editar]
traits_type Traits; el programa está mal formado si Traits::char_type

no es CharT. [editar]

int_type Traits::int_type[editar]
pos_type Traits::pos_type[editar]
off_type Traits::off_type[editar]
allocator_type Allocator
streambuf_type std::basic_streambuf<CharT, Traits>
syncbuf_type std::basic_syncbuf<CharT, Traits, Allocator>

[editar] Funciones miembro

Construye un objeto basic_osyncstream.
(función miembro pública) [editar]
Asigna un objeto basic_osyncstream.
(función miembro pública) [editar]
Destruye el objeto basic_osyncstream y emite su búfer interno.
(función miembro pública) [editar]
Obtiene un puntero al objeto basic_syncbuf subyacente.
(función miembro pública) [editar]
Obtiene un puntero al búfer del flujo de destino final.
(función miembro pública) [editar]
Llama a emit en el objeto basic_syncbuf subyacente para transmitir sus datos internos al destino final.
(función miembro pública) [editar]

Heredado de std::basic_ostream

Funciones miembro

Salida con formato
Inserta datos con formato.
(función miembro pública de std::basic_ostream<CharT,Traits>) [editar]
Salida sin formato
Inserta un carácter.
(función miembro pública de std::basic_ostream<CharT,Traits>) [editar]
Inserta un bloque de caracteres.
(función miembro pública de std::basic_ostream<CharT,Traits>) [editar]
Posicionamiento
Devuelve el indicador de la posición de salida.
(función miembro pública de std::basic_ostream<CharT,Traits>) [editar]
Establece el indicador de la posición de salida.
(función miembro pública de std::basic_ostream<CharT,Traits>) [editar]
Misceláneas

(función miembro pública de std::basic_ostream<CharT,Traits>) [editar]

Clases miembro

Implementa lógica básica para la preparación de las operaciones de salida del flujo.
(clase miembro pública de std::basic_ostream<CharT,Traits>) [editar]

Heredado de std::basic_ios

Tipos miembro

Tipo miembro Definición
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Funciones miembro

Funciones de estado
Verifica si no ha ocurrido ningún error; es decir, las operaciones de E/S se encuentran disponibles.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Verifica si se ha alcanzado el fin de archivo.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Verifica si ha ocurrido un error.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Verifica si ha ocurrido un error irrecuperable.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Verifica si ha ocurrido un error (sinónimo de fail()).
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
(hasta C++11)(desde C++11)
Verifica si no se ha producido ningún error (sinónimo de !fail()).
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Devuelve los indicadores de estado.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Establece los indicadores de estado.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Modifica indicadores de estado.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Formato
Copia información de formato.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Gestiona el carácter de relleno.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Misceláneas
Gestiona la máscara de excepciones.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Establece la configuración regional.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Gestiona el búfer del flujo asociado.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Gestiona el flujo enlazado.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Estrecha caracteres.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]
Ensancha caracteres.
(función miembro pública de std::basic_ios<CharT,Traits>) [editar]

Heredado de std::ios_base

Funciones miembro

Formato
Gestiona los indicadores de formato.
(función miembro pública de std::ios_base) [editar]
Establece un indicador de formato específico.
(función miembro pública de std::ios_base) [editar]
Borra el indicador de formato específico.
(función miembro pública de std::ios_base) [editar]
Gestiona la precisión decimal de las operaciones de punto flotante.
(función miembro pública de std::ios_base) [editar]
Gestiona la anchura de campo.
(función miembro pública de std::ios_base) [editar]
Configuración regional
Establece la configuración regional.
(función miembro pública de std::ios_base) [editar]
Devuelve la configuración regional actual.
(función miembro pública de std::ios_base) [editar]
Array extensible interno
[estático]
Devuelve un entero único para todo el programa que es seguro de usar como índice para pword() e iword()
(función miembro estática pública de std::ios_base) [editar]
Cambia el tamaño del almacenamiento privado si es necesario y accede al elemento long en el índice dado.
(función miembro pública de std::ios_base) [editar]
Cambia el tamaño del almacenamiento privado si es necesario y el acceso al elemento void* en el índice dado.
(función miembro pública de std::ios_base) [editar]
Misceláneas
Registra la función de devolución de llamada de un evento.
(función miembro pública de std::ios_base) [editar]
[estático]
Establece si las bibliotecas de E/S de C++ y de C son interoperables.
(función miembro estática pública de std::ios_base) [editar]
Clases miembro
Excepción de flujo.
(clase miembro pública de std::ios_base) [editar]
Inicializa los objetos flujo estándar.
(clase miembro pública de std::ios_base) [editar]

Tipos miembro y constantes

Tipo Explicación
Tipo del modo de apertura del flujo.

También se definen las siguientes constantes:

Constante Explicación[editar]
app Busca hasta al final del flujo antes de cada escritura. [editar]
binary Abrir en modo binario. [editar]
in Abrir para lectura. [editar]
out Abrir para escritura. [editar]
trunc Descartar el contenido del flujo al abrir. [editar]
ate Busca hasta al final del flujo inmediatamente después de abrirlo. [editar]
noreplace (C++23) Abrir en modo exclusivo. [editar]

(typedef) [editar]
Tipo de los indicadores de formato.

También se definen las siguientes constantes:

Constante Explicación[editar]
dec Usar base decimal para E/S de enteros. Véase std::dec. [editar]
oct Usar base octal para E/S de enteros. Véase std::oct. [editar]
hex Usar base hexadecimal para E/S de enteros. Véase std::hex. [editar]
basefield dec|oct|hex. Útil para operaciones de enmascaramiento. [editar]
left Ajuste a la izquierda (agrega caracteres de relleno a la derecha). Véase std::left. [editar]
right Ajuste a la derecha (agrega caracteres de relleno a la izquierda). Véase std::right. [editar]
internal Ajuste interno (agrega caracteres de relleno al punto interno designado). Véase std::internal. [editar]
adjustfield left|right|internal. Útil para operaciones de enmascaramiento. [editar]
scientific Generar tipos de punto flotante usando notación científica, o notación hexadecimal si se combina con fixed. Véase std::scientific. [editar]
fixed Generar tipos de punto flotante usando notación fija o notación hexadecimal si se combina con scientific. Véase std::fixed. [editar]
floatfield scientific|fixed. Útil para operaciones de enmascaramiento. [editar]
boolalpha Insertar y extraer el tipo bool en formato alfanumérico. Véase std::boolalpha. [editar]
showbase Generar un prefijo indicando la base numérica para salida de enteros. Requiere el indicador de moneda en E/S monetaria. Véase std::showbase. [editar]
showpoint Generar un carácter de punto decimal incondicionalmente para salida de números de punto flotante. Véase std::showpoint. [editar]
showpos Generar un carácter + para salida numérica no negativa. Véase std::showpos. [editar]
skipws Omitir los espacios en blanco iniciales antes de ciertas operaciones de entrada. Véase std::skipws. [editar]
unitbuf Descargar la salida después de cada operación de salida. Véase std::unitbuf. [editar]
uppercase Reemplazar ciertas letras minúsculas con sus equivalentes en mayúsculas
en ciertas operaciones de salida. Véase std::uppercase. [editar]

(typedef) [editar]
Estado del tipo de flujo.

También se definen las siguientes constantes:

Constante Explicación[editar]
goodbit No hay error. [editar]
badbit Error de flujo no recuperable. [editar]
failbit Operación de entrada/salida fallida (error de formateo o extracción). [editar]
eofbit La secuencia de entrada asociada ha alcanzado el fin de archivo. [editar]

(typedef) [editar]
El tipo de la dirección de búsqueda.

También se definen las siguientes constantes:

Constante Explicación[editar]
beg El comienzo de un flujo.[editar]
end El final de un flujo[editar]
cur La posición actual del indicador de posición del flujo[editar]

(typedef) [editar]
Especifica el tipo de evento.
(enum) [editar]
Tipo de la función de devolución de llamada.
(typedef) [editar]