Partager via


basic_streambuf Class

Décrit la classe de base abstraite pour dériver un mémoire tampon du flux, qui contrôle la transmission des éléments vers et à partir d'une représentation spécifique d'un flux de données.

template<class Elem, class Tr = char_traits<Elem> >
   class basic_streambuf;

Paramètres

Notes

La classe de modèle décrit une classe de base abstraite pour dériver un mémoire tampon du flux, qui contrôle la transmission des éléments vers et à partir d'une représentation spécifique d'un flux de données.Un objet de classe basic_streambuf permet de contrôler un flux avec des éléments de type Tr, également connu sous le nom char_type, dont traits de caractère sont déterminées par la classe char_traits, également connu sous le nom traits_type.

Chaque mémoire tampon du flux contrôle conceptuellement deux flux indépendants : une pour les extractions (entrée) et l'autre pour les insertions (sortie).Une représentation spécifique peut, toutefois, rendre un ou les deux de ces flux de données inaccessible.Il conserve généralement certaines relations entre les deux flux de données.Ce que vous insérez dans le flux de sortie d'un basic_stringbuf<Elem, Tr> objet, par exemple, est de vous extrayez ultérieurement à partir de son flux d'entrée.Lorsque vous positionnez un flux d'un basic_filebuf<Elem, Tr> l'objet, vous placez l'autre flux en tandem.

L'interface publique vers une classe de modèle basic_streambuf fournit les opérations qui sont communes à tous les tampons de flux de données, cependant spécialisés.L'interface protégé fournit les opérations nécessaires pour une représentation spécifique d'un flux de données pour effectuer son travail.Les fonctions de membre virtuel protégé vous permettent d'adapter le comportement d'une mémoire tampon du flux dérivée d'une représentation spécifique d'un flux de données.Chaque mémoire tampon du flux dérivée de cette bibliothèque décrit comment il spécialise le comportement de ses fonctions de membre virtuel protégé.Le comportement par défaut pour la classe de base, qui est souvent de ne rien faire, est décrite dans cette rubrique.

Le restant protégé contrôle des fonctions membres copie vers et à partir de n'importe quel stockage fourni à des transmissions de tampon à et de flux.Un tampon d'entrée, par exemple, se caractérise par :

  • eback, un pointeur vers le début de la mémoire tampon.

  • gptr, un pointeur vers l'élément suivant à lire.

  • egptr, un pointeur juste après la fin de la mémoire tampon.

De même, un mémoire tampon de sortie est caractérisé par :

  • pbase, un pointeur vers le début de la mémoire tampon.

  • pptr, un pointeur vers l'élément suivant à écrire.

  • epptr, un pointeur juste après la fin de la mémoire tampon.

Pour n'importe quel tampon, le protocole suivant est utilisé :

  • Si le pointeur suivante est null, aucune mémoire tampon n'existe.Dans le cas contraire, tous les trois pointeurs point dans la même séquence.Ils peuvent être comparés en toute sécurité pour la commande.

  • Pour un mémoire tampon de sortie, si le pointeur suivant compare moins que le pointeur de la fin, vous pouvez stocker un élément à la position d'écriture désignée par le pointeur suivant.

  • Pour une mémoire tampon d'entrée, si le pointeur suivant compare moins que le pointeur de la fin, vous pouvez lire un élément à la position de lecture désignée par le pointeur suivant.

  • Pour une mémoire tampon d'entrée, si le pointeur de début compare moins que le pointeur suivant, vous pouvez replacé un élément à la position putback désignée par le pointeur suivant décrémenté.

Tout protégé par les fonctions membres virtuelles vous écrivez pour une classe dérivée de basic_streambuf<Elem, Tr> doivent coopérer dans le maintien de ce protocole.

An object of class basic_streambuf<Elem, Tr> stocke les six pointeurs décrites précédemment.Il stocke également un objet de paramètres régionaux dans un objet de type paramètres régionaux pour une utilisation potentielle par un tampon de flux dérivée.

9h24a8cd.collapse_all(fr-fr,VS.110).gifConstructeurs

basic_streambuf

Construit un objet de type basic_streambuf.

9h24a8cd.collapse_all(fr-fr,VS.110).gifTypedef

char_type

Associe un nom de type avec le Elem paramètre de modèle.

int_type

Associe un nom de type dans basic_streambuf étendue avec les Elem paramètre de modèle.

off_type

Associe un nom de type dans basic_streambuf étendue avec les Elem paramètre de modèle.

pos_type

Associe un nom de type dans basic_streambuf étendue avec les Elem paramètre de modèle.

traits_type

Associe un nom de type avec le Tr paramètre de modèle.

9h24a8cd.collapse_all(fr-fr,VS.110).gifFonctions membres

eback

Une fonction protégée qui retourne un pointeur vers le début de la mémoire tampon d'entrée.

egptr

Une fonction protégée qui renvoie un pointeur juste après la fin de la mémoire tampon d'entrée.

epptr

Une fonction protégée qui renvoie un pointeur juste après la fin de la mémoire tampon de sortie.

gbump

Une fonction protégée qui ajoute _Count pour le pointeur suivant de la mémoire tampon d'entrée.

getloc

Obtient le basic_streambuf paramètres régionaux de l'objet.

gptr

Une fonction protégée qui retourne un pointeur vers l'élément suivant de la mémoire tampon d'entrée.

imbue

A protégé, une fonction virtuelle appelée par pubimbue.

in_avail

Renvoie le nombre d'éléments qui sont prêtes à être lues à partir de la mémoire tampon.

dépassement de capacité

Une fonction virtuelle protégée qui peut être appelée lorsqu'un nouveau caractère est inséré dans une mémoire tampon saturée.

pbackfail

Une fonction membre virtuel protégé qui tente d'être replacé un élément dans le flux d'entrée, puis le rendre l'élément en cours (indiqué par le pointeur suivant).

pbase

Une fonction protégée qui renvoie un pointeur vers le début de la mémoire tampon de sortie.

pbump

Une fonction protégée qui ajoute count pour le pointeur suivant de la mémoire tampon de sortie.

pptr

Une fonction protégée qui retourne un pointeur vers l'élément suivant de la mémoire tampon de sortie.

pubimbue

Jeux de la basic_streambuf paramètres régionaux de l'objet.

pubseekoff

Appels seekoff, un protégé par une fonction virtuelle de substitution dans une classe dérivée.

pubseekpos

Appels seekpos, un protégé par une fonction virtuelle qui est substituée dans une classe dérivée et réinitialise la position actuelle du pointeur.

pubsetbuf

Appels setbuf, un protégé par une fonction virtuelle de substitution dans une classe dérivée.

pubsync

Appels sync, un protégé par une fonction virtuelle qui est substituée dans une classe dérivée et met à jour du flux externe associé à cette mémoire tampon.

sbumpc

Lit et retourne l'élément en cours, en déplaçant le pointeur de flux.

seekoff

La fonction membre virtuel protégé tente de modifier les positions actuelles pour les flux contrôlés.

seekpos

La fonction membre virtuel protégé tente de modifier les positions actuelles pour les flux contrôlés.

setbuf

La fonction membre virtuel protégé effectue une opération notamment chaque tampon de flux dérivée.

setg

Une fonction protégée qui stocke les _Gbeg dans le pointeur de début, _Gnext dans le pointeur suivant, et _Gend dans le pointeur de la fin de la mémoire tampon d'entrée.

SETP

Une fonction protégée qui stocke les _Pbeg dans le pointeur de début et de _Pend dans le pointeur de la fin de la mémoire tampon de sortie.

sgetc

Renvoie l'élément en cours sans changer de position dans le flux.

sgetn

Renvoie le nombre d'éléments lus.

showmanyc

Fonction membre virtuel protégé qui retourne un décompte du nombre de caractères qui peuvent être extraites à partir du flux d'entrée et de s'assurer que le programme ne sera pas soumis à une attente indéfinie.

snextc

Lit l'élément actuel et retourne l'élément suivant.

sputbackc

Place un char_type dans le flux.

sputc

Insère un caractère dans le flux.

sputn

Place une chaîne de caractères dans le flux.

stossc

Déplacer au-delà de l'élément dans le flux actuel.

sungetc

Obtient un caractère à partir du flux.

swap

Échange les valeurs de cet objet pour les valeurs proposées basic_streambuf paramètre d'objet.

Sync

Une fonction virtuelle protégée qui essaie de synchroniser les flux contrôlés avec n'importe quel flux externes associés.

uflow

Une fonction virtuelle protégée qui extrait l'élément actuel à partir du flux d'entrée.

dépassement de capacité négatif

Une fonction virtuelle protégée qui extrait l'élément actuel à partir du flux d'entrée.

xsgetn

Une fonction virtuelle protégée qui extrait les éléments du flux d'entrée.

xsputn

Une fonction virtuelle protégée qui insère des éléments dans le flux de sortie.

9h24a8cd.collapse_all(fr-fr,VS.110).gifOpérateurs

operator=

Affecte les valeurs de cet objet à partir d'un autre basic_streambuf objet.

Configuration requise

En-tête : <streambuf>

Espace de noms : std

Voir aussi

Référence

Sécurité des threads dans la bibliothèque C++ standard

programmation iostream

conventions d'iostreams

Autres ressources

membres de basic_streambuf

<streambuf> membres