std::basic_osyncstream
| 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.
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>
|
Tipos miembro
| Tipo miembro | Definición |
char_type
|
CharT
|
traits_type
|
Traits; el programa está mal formado si Traits::char_type
no es |
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 objeto basic_osyncstream y emite su búfer interno. (función miembro pública) | |
Obtiene un puntero al objeto basic_syncbuf subyacente. (función miembro pública) | |
| Obtiene un puntero al búfer del flujo de destino final. (función miembro pública) | |
Llama a emit en el objeto basic_syncbuf subyacente para transmitir sus datos internos al destino final. (función miembro pública) |
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>)
| |
Salida sin formato | |
| Inserta un carácter. (función miembro pública de std::basic_ostream<CharT,Traits>)
| |
| Inserta un bloque de caracteres. (función miembro pública de std::basic_ostream<CharT,Traits>)
| |
Posicionamiento | |
| Devuelve el indicador de la posición de salida. (función miembro pública de std::basic_ostream<CharT,Traits>)
| |
| Establece el indicador de la posición de salida. (función miembro pública de std::basic_ostream<CharT,Traits>)
| |
Misceláneas | |
(función miembro pública de std::basic_ostream<CharT,Traits>)
| |
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>)
|
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>)
| |
| 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 std::basic_ios::fail). (función miembro pública de std::basic_ios<CharT,Traits>)
| |
(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>)
|
| Devuelve los indicadores de estado. (función miembro pública de std::basic_ios<CharT,Traits>)
| |
| Establece los indicadores de estado. (función miembro pública de std::basic_ios<CharT,Traits>)
| |
| Modifica indicadores de estado. (función miembro pública de std::basic_ios<CharT,Traits>)
| |
Formato | |
| Copia 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áneas | |
| 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 del flujo asociado. (función miembro pública de std::basic_ios<CharT,Traits>)
| |
| Gestiona el flujo enlazado. (función miembro pública de std::basic_ios<CharT,Traits>)
| |
| Estrecha caracteres. (función miembro pública de std::basic_ios<CharT,Traits>)
| |
| Ensancha 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)
| |
| Borra el indicador de formato específico. (función miembro pública de std::ios_base)
| |
| Gestiona la precisión decimal de las operaciones de punto flotante. (función miembro pública de std::ios_base)
| |
| Gestiona la anchura de campo. (función miembro pública de std::ios_base)
| |
Configuración regional | |
| 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)
| |
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)
|
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)
| |
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)
| |
Misceláneas | |
| Registra la función de devolución de llamada de un evento. (función miembro pública de std::ios_base)
| |
[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)
|
Clases miembro | |
| Excepción de flujo. (clase miembro pública de std::ios_base)
| |
| Inicializa los objetos flujo estándar. (clase miembro pública de std::ios_base)
| |
Tipos miembro y constantes | |||||||||||||||||||||||||||||||||||||||
| Tipo | Explicación | ||||||||||||||||||||||||||||||||||||||
| Tipo del modo de apertura del flujo.
También se definen las siguientes constantes:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| Tipo de los indicadores de formato.
También se definen las siguientes constantes:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| Estado del tipo de flujo.
También se definen las siguientes constantes:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| El tipo de la dirección de búsqueda.
También se definen las siguientes constantes:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| Especifica el tipo de evento. (enum) | |||||||||||||||||||||||||||||||||||||||
| Tipo de la función de devolución de llamada. (typedef) | |||||||||||||||||||||||||||||||||||||||