std:: basic_osyncstream
|
Definido en el encabezado
<syncstream>
|
||
|
template
<
class
CharT,
|
(desde C++20) | |
La plantilla de clase
std::basic_osyncstream
es un envoltorio de conveniencia para
std::basic_syncbuf
. Proporciona un mecanismo para sincronizar hilos que escriben en el mismo flujo.
Se puede utilizar con una variable nombrada:
así como con un temporal:
std::osyncstream(std::cout) << "Hola, " << "Mundo!" << '\n';
Proporciona la garantía de que toda la salida dirigida al mismo búfer de destino final (
std::cout
en los ejemplos anteriores) estará libre de carreras de datos y no se intercalará o corromperá de ninguna manera, siempre que cada escritura a ese búfer de destino final se realice a través de (posiblemente diferentes) instancias de
std::basic_osyncstream
.
Implementación típica de
std::basic_osyncstream
contiene solo un miembro: el
std::basic_syncbuf
envuelto.
Diagrama de herencia
Se proporcionan varios typedefs para tipos de caracteres comunes:
|
Definido en el encabezado
<syncstream>
|
|
| Tipo | Definición |
std::osyncstream
|
std :: basic_osyncstream < char > |
std::wosyncstream
|
std :: basic_osyncstream < wchar_t > |
Contenidos |
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
|
allocator_type
|
Allocator
|
streambuf_type
|
std:: basic_streambuf < CharT, Traits > |
syncbuf_type
|
std:: basic_syncbuf < CharT, Traits, Allocator > |
Funciones miembro
construye un objeto
basic_osyncstream
(función miembro pública) |
|
asigna un objeto
basic_osyncstream
(función miembro pública) |
|
destruye el
basic_osyncstream
y emite su búfer interno
(función miembro pública) |
|
obtiene un puntero al
basic_syncbuf
subyacente
(función miembro pública) |
|
|
obtiene un puntero al búfer de flujo de destino final
(función miembro pública) |
|
llama a
emit()
en el
basic_syncbuf
subyacente para transmitir sus datos internos al destino final
(función miembro pública) |
Heredado de std:: basic_ostream
Funciones miembro
Salida formateada |
|
|
inserta datos formateados
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
Salida sin formato |
|
|
inserta un carácter
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
|
inserta bloques de caracteres
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
Posicionamiento |
|
|
devuelve el indicador de posición de salida
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
|
establece el indicador de posición de salida
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
Misceláneos |
|
|
sincroniza con el dispositivo de almacenamiento subyacente
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
Clases miembro
|
implementa la lógica básica para la preparación del flujo para operaciones de salida
(clase miembro pública de
std::basic_ostream<CharT,Traits>
)
|
Heredado de std:: basic_ios
Tipos de miembro
| Tipo de 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 que no ha ocurrido ningún error, es decir, las operaciones de E/S están disponibles
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
verifica si se ha alcanzado el fin de archivo
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
verifica si ha ocurrido un error
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
verifica si ha ocurrido un error irrecuperable
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
verifica si ha ocurrido un error (sinónimo de
fail()
)
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
verifica que no ha ocurrido ningún error (sinónimo de
!
fail()
)
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
devuelve las banderas de estado
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
establece las banderas de estado
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
modifica las banderas de estado
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
Formato |
|
|
copia la información de formato
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
gestiona el carácter de relleno
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
Misceláneos |
|
|
gestiona la máscara de excepciones
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
establece la configuración regional
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
gestiona el búfer de flujo asociado
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
gestiona el flujo vinculado
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
reduce caracteres
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
|
amplía caracteres
(función miembro pública de
std::basic_ios<CharT,Traits>
)
|
|
Heredado de std:: ios_base
Funciones miembro
Formato |
|
|
gestiona los indicadores de formato
(función miembro pública de
std::ios_base
)
|
|
|
establece un indicador de formato específico
(función miembro pública de
std::ios_base
)
|
|
|
limpia un indicador de formato específico
(función miembro pública de
std::ios_base
)
|
|
|
gestiona la precisión decimal de operaciones de punto flotante
(función miembro pública de
std::ios_base
)
|
|
|
gestiona el ancho de campo
(función miembro pública de
std::ios_base
)
|
|
Configuraciones regionales |
|
|
establece la configuración regional
(función miembro pública de
std::ios_base
)
|
|
|
devuelve la configuración regional actual
(función miembro pública de
std::ios_base
)
|
|
Arreglo extensible interno |
|
|
[static]
|
devuelve un entero único a nivel de programa que es seguro usar como índice para
pword()
y
iword()
(función miembro estática pública de
std::ios_base
)
|
|
redimensiona el almacenamiento privado si es necesario y accede al elemento
long
en el índice dado
(función miembro pública de
std::ios_base
)
|
|
|
redimensiona el almacenamiento privado si es necesario y accede al elemento
void
*
en el índice dado
(función miembro pública de
std::ios_base
)
|
|
Misceláneos |
|
|
registra función de callback de eventos
(función miembro pública de
std::ios_base
)
|
|
|
[static]
|
establece si las bibliotecas de E/S de C++ y C son interoperables
(función miembro estática pública de
std::ios_base
)
|
Clases miembro |
|
|
excepción de flujo
(clase miembro pública de
std::ios_base
)
|
|
|
inicializa objetos de flujo estándar
(clase miembro pública de
std::ios_base
)
|
|
Tipos de miembros y constantes |
|||||||||||||||||||||||||||||||||||||||
| Tipo | Explicación | ||||||||||||||||||||||||||||||||||||||
|
tipo de modo de apertura de flujo
También se definen las siguientes constantes:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
tipo de banderas de formato
También se definen las siguientes constantes:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
tipo de estado del flujo
También se definen las siguientes constantes:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
tipo de dirección de búsqueda
También se definen las siguientes constantes:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
especifica el tipo de evento
(enum) |
|||||||||||||||||||||||||||||||||||||||
|
tipo de función de callback
(typedef) |
|||||||||||||||||||||||||||||||||||||||
Notas
| Macro de prueba de características | Valor | Estándar | Característica |
|---|---|---|---|
__cpp_lib_syncbuf
|
201803L
|
(C++20) |
Flujo de salida con búfer sincronizado (
std::osyncstream
,
std::syncbuf
) y manipuladores
|