Namespaces
Variants

std::basic_syncbuf<CharT,Traits,Allocator>:: emit

From cppreference.net
bool emit ( ) ;

Transmite atómicamente toda la salida pendiente al flujo envuelto.

Todas las llamadas emit ( ) que transfieren caracteres al mismo objeto de búfer de flujo envuelto parecen ejecutarse en un orden total, donde cada llamada emit ( ) sincroniza-con las llamadas posteriores emit ( ) en ese orden total, incluso si estas llamadas se realizan a través de diferentes instancias de std::basic_syncbuf / std::basic_osyncstream . En la práctica, esto significa que emit() adquiere un bloqueo exclusivamente asociado con el objeto de flujo envuelto: por ejemplo, podría mantenerse en un mapa hash estático donde la dirección del flujo envuelto se utiliza como clave.

Si se había realizado una llamada a sync desde la última llamada a emit ( ) , entonces también vacía el flujo subyacente llamando a pubsync() sobre él.

Contenidos

Parámetros

(ninguno)

Valor de retorno

true si todo lo siguiente es verdadero:

  • hay un flujo envuelto (el puntero del streambuf envuelto no es nulo)
  • todos los caracteres del almacenamiento temporal se enviaron exitosamente al flujo envuelto
  • la llamada a pubsync() , si se solicitó, también se completó exitosamente.

Devuelve false en caso contrario.

Notas

Normalmente llamado por el destructor o la asignación de movimiento del std::basic_osyncstream propietario, o por std::basic_osyncstream::emit .

Ejemplo

Véase también

destruye el basic_osyncstream y emite su buffer interno
(función miembro pública de std::basic_osyncstream<CharT,Traits,Allocator> )
llama a emit() en el basic_syncbuf subyacente para transmitir sus datos internos al destino final
(función miembro pública de std::basic_osyncstream<CharT,Traits,Allocator> )
construye un objeto basic_syncbuf
(función miembro pública)