Partager via


basic_streambuf::underflow

Protégé, fonction virtuelle pour extraire l'élément actuel du flux d'entrée.

virtual int_type underflow( );

Valeur de retour

l'élément actuel.

Notes

La fonction membre virtuelle protégée essaie de récupérer l'élément actuel ch du flux d'entrée, sans avancer la position actuelle de flux, et la retourne comme traits_type::to_int_type(ch).Il peut le faire de différentes manières :

  • Si une position de lecture est disponible, ch est l'élément stocké dans la position de lecture.Pour plus d'informations sur ce sujet, consultez la section Notes de basic_streambuf Class.

  • Elle peut rendre une position de lecture disponible en allouant nouveau ou le stockage supplémentaire pour la mémoire tampon d'entrée, lisant ensuite dans, d'une certaine source externe, un ou plusieurs éléments.Pour plus d'informations sur ce sujet, consultez la section Notes de basic_streambuf Class.

Si la fonction ne peut pas réussir, elle retourne traits_type::EOF() ou lève une exception.Sinon, elle retourne l'élément actuel dans le flux d'entrée, converti comme décrit précédemment.Le comportement par défaut consiste à retourner traits_type::eof().

La fonction virtuelle d' underflow , avec les fonctions de synchronisation et de dépassement , définit les caractéristiques d' streambufclasse dérivée.Chaque classe dérivée peut implémenter underflow différemment, mais l'interface avec la classe d'appel de flux est identique.

La fonction d' underflow le plus souvent est appelée par les fonctions publiques d' streambuf comme sgetc et sgetn lorsque la zone get est vide, mais d'autres classes, notamment les classes de flux, peuvent appeler underflow à tout moment.

La fonction d' underflow fournit la zone get avec des caractères de la source d'entrée.Si la zone get contient des caractères, underflow retourne le premier caractère.Si la zone get est vide, elle remplit la zone get et retourne le caractère suivant (qu'elle laisse dans la zone get).S'il ne reste plus de caractères disponibles, tandis underflow retourne EOF et laisse la zone get vide.

Dans la classe d' strstreambuf , underflow règle le pointeur d' egptr pour accéder à la mémoire qui a été allouée dynamiquement par un appel à overflow.

Configuration requise

en-tête : <streambuf>

l'espace de noms : DST

Voir aussi

Référence

basic_streambuf Class

programmation iostream

conventions d'iostreams