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
Elem
A char_type.Tr
Le caractère traits_type.
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.
Constructeurs
Construit un objet de type basic_streambuf. |
Typedef
Associe un nom de type avec le Elem paramètre de modèle. |
|
Associe un nom de type dans basic_streambuf étendue avec les Elem paramètre de modèle. |
|
Associe un nom de type dans basic_streambuf étendue avec les Elem paramètre de modèle. |
|
Associe un nom de type dans basic_streambuf étendue avec les Elem paramètre de modèle. |
|
Associe un nom de type avec le Tr paramètre de modèle. |
Fonctions membres
Une fonction protégée qui retourne un pointeur vers le début de la mémoire tampon d'entrée. |
|
Une fonction protégée qui renvoie un pointeur juste après la fin de la mémoire tampon d'entrée. |
|
Une fonction protégée qui renvoie un pointeur juste après la fin de la mémoire tampon de sortie. |
|
Une fonction protégée qui ajoute _Count pour le pointeur suivant de la mémoire tampon d'entrée. |
|
Obtient le basic_streambuf paramètres régionaux de l'objet. |
|
Une fonction protégée qui retourne un pointeur vers l'élément suivant de la mémoire tampon d'entrée. |
|
A protégé, une fonction virtuelle appelée par pubimbue. |
|
Renvoie le nombre d'éléments qui sont prêtes à être lues à partir de la mémoire tampon. |
|
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. |
|
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). |
|
Une fonction protégée qui renvoie un pointeur vers le début de la mémoire tampon de sortie. |
|
Une fonction protégée qui ajoute count pour le pointeur suivant de la mémoire tampon de sortie. |
|
Une fonction protégée qui retourne un pointeur vers l'élément suivant de la mémoire tampon de sortie. |
|
Jeux de la basic_streambuf paramètres régionaux de l'objet. |
|
Appels seekoff, un protégé par une fonction virtuelle de substitution dans une classe dérivée. |
|
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. |
|
Appels setbuf, un protégé par une fonction virtuelle de substitution dans une classe dérivée. |
|
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. |
|
Lit et retourne l'élément en cours, en déplaçant le pointeur de flux. |
|
La fonction membre virtuel protégé tente de modifier les positions actuelles pour les flux contrôlés. |
|
La fonction membre virtuel protégé tente de modifier les positions actuelles pour les flux contrôlés. |
|
La fonction membre virtuel protégé effectue une opération notamment chaque tampon de flux dérivée. |
|
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. |
|
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. |
|
Renvoie l'élément en cours sans changer de position dans le flux. |
|
Renvoie le nombre d'éléments lus. |
|
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. |
|
Lit l'élément actuel et retourne l'élément suivant. |
|
Place un char_type dans le flux. |
|
Insère un caractère dans le flux. |
|
Place une chaîne de caractères dans le flux. |
|
Déplacer au-delà de l'élément dans le flux actuel. |
|
Obtient un caractère à partir du flux. |
|
Échange les valeurs de cet objet pour les valeurs proposées basic_streambuf paramètre d'objet. |
|
Une fonction virtuelle protégée qui essaie de synchroniser les flux contrôlés avec n'importe quel flux externes associés. |
|
Une fonction virtuelle protégée qui extrait l'élément actuel à partir du flux d'entrée. |
|
Une fonction virtuelle protégée qui extrait l'élément actuel à partir du flux d'entrée. |
|
Une fonction virtuelle protégée qui extrait les éléments du flux d'entrée. |
|
Une fonction virtuelle protégée qui insère des éléments dans le flux de sortie. |
Opérateurs
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