Condividi tramite


basic_streambuf::underflow

Protetto, funzione virtuale per disegnare l'elemento corrente dal flusso di input.

virtual int_type underflow( );

Valore restituito

L'elemento corrente.

Note

La funzione membro virtuale protetta tenta di disegnare l'elemento corrente ch dal flusso di input, senza avanzamento la posizione corrente del flusso e restituisce il valore come traits_type::to_int_type(ch). È possibile farlo in diversi modi:

  • Se una posizione lettura è disponibile, ch è l'elemento archiviato nel percorso lettura. Per ulteriori informazioni, vedere la sezione relativa alle osservazioni di Classe basic_streambuf.

  • Può rendere una posizione lettura allocando la nuova o archiviazione aggiuntiva per il buffer di input, quindi lettura in, da un'origine esterna, uno o più elementi. Per ulteriori informazioni, vedere la sezione relativa alle osservazioni di Classe basic_streambuf.

Se la funzione potrebbe non riuscire, restituisce traits_type::EOF() o genera un'eccezione. In caso contrario, restituisce l'elemento corrente nel flusso di input, convertito come descritto in precedenza. Il comportamento predefinito restituisce traits_type::eof().

La funzione virtuale di underflow, con le funzioni di overflow e di sincronizzazione, che definisce le caratteristiche di streambuf- classe derivata. Ogni classe derivata potrebbe implementare underflow in modo diverso, mentre l'interfaccia con la classe chiamante del flusso è identica.

La funzione di underflow il più delle volte viene chiamata da funzioni pubbliche di streambuf come sgetc e sgetn quando l'area get è vuota, ma altre classi, incluse le classi di flusso, possono chiamare in qualsiasi momento underflow.

La funzione di underflow modo l'area get con i caratteri dall'origine di input. Se l'area di ottenere contiene caratteri, underflow restituisce il primo carattere. Se l'area get è vuota, riempie l'area di ottenere e restituisce il carattere successivo (che consente all'area get). Se non ci sono più caratteri disponibili, quindi underflow restituisce EOF e dall'area di ottenere vuota.

Nella classe di strstreambuf, underflow regola il puntatore di egptr per accedere all'archiviazione che sono state allocate in modo dinamico da una chiamata a overflow.

Requisiti

streambuf <diIntestazione: >

Spazio dei nomi: std

Vedere anche

Riferimenti

Classe basic_streambuf

Programmazione di iostream

Convenzioni di iostream