Namespaces
Variants

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

From cppreference.net
bool emit ( ) ;

Transmet atomiquement toute sortie en attente vers le flux encapsulé.

Tous les appels emit ( ) transférant des caractères vers le même objet tampon de flux encapsulé semblent s'exécuter dans un ordre total, où chaque appel emit ( ) se synchronise avec les appels emit ( ) ultérieurs dans cet ordre total, même si ces appels sont effectués via différentes instances de std::basic_syncbuf / std::basic_osyncstream . En pratique, cela signifie que emit() acquiert un verrou associé de manière unique à l'objet flux encapsulé : par exemple, il pourrait être conservé dans une table de hachage statique où l'adresse du flux encapsulé est utilisée comme clé.

Si un appel avait été fait à sync depuis le dernier appel à emit ( ) , alors vide également le flux encapsulé en appelant pubsync() sur celui-ci.

Table des matières

Paramètres

(aucun)

Valeur de retour

true si toutes les conditions suivantes sont vraies :

  • il existe un flux encapsulé (le pointeur du streambuf encapsulé n'est pas nul)
  • tous les caractères du stockage temporaire ont été envoyés avec succès dans le flux encapsulé
  • l'appel à pubsync() , si demandé, s'est également terminé avec succès.

Retourne false sinon.

Notes

Normalement appelé par le destructeur ou l'affectation de déplacement du std::basic_osyncstream propriétaire, ou par std::basic_osyncstream::emit .

Exemple

Voir aussi

détruit le basic_osyncstream et émet son tampon interne
(fonction membre publique de std::basic_osyncstream<CharT,Traits,Allocator> )
appelle emit() sur le basic_syncbuf sous-jacent pour transmettre ses données internes vers la destination finale
(fonction membre publique de std::basic_osyncstream<CharT,Traits,Allocator> )
construit un objet basic_syncbuf
(fonction membre publique)