basic_streambuf Class
Viene descritta una classe base astratta per la derivazione di un buffer di flusso, che controlla la trasmissione di elementi da e verso una rappresentazione di un flusso specifica.
template<class Elem, class Tr = char_traits<Elem> >
class basic_streambuf;
Parametri
Elem
A char_type.Tr
Il carattere traits_type.
Note
La classe template viene descritta una classe base astratta per la derivazione di un buffer di flusso, che controlla la trasmissione di elementi da e verso una rappresentazione di un flusso specifica.Un oggetto della classe basic_streambuf consente di controllare un flusso con elementi di tipo Tr, noto anche come char_type, con caratteristiche di carattere sono determinate dalla classe char_traits, noto anche come traits_type.
Ogni buffer del flusso è concettualmente controlla due flussi indipendenti: uno per estrazioni (input) e uno per gli inserimenti (output).Una rappresentazione specifica può, tuttavia, rendere uno o entrambi questi flussi inaccessibile.In genere di mantenere una relazione tra i due flussi.Si inserisce nel flusso di output di un basic_stringbuf<Elem, Tr> oggetto, ad esempio, è ciò che è in seguito estrarre dal flusso di input.Quando si posiziona un flusso di un basic_filebuf<Elem, Tr> oggetto, si posiziona un altro flusso in parallelo.
L'interfaccia pubblica per la classe template basic_streambuf fornisce le operazioni che sono comuni a tutti i buffer del flusso, tuttavia specializzati.L'interfaccia protetta fornisce le operazioni necessarie per una rappresentazione di un flusso specifica per funzionare.Le funzioni membro virtuale protetto consentono di personalizzare il comportamento di un buffer di flusso derivata per una rappresentazione di un flusso specifico.Ogni buffer del flusso derivata in questa raccolta viene descritto come è specializzato il comportamento delle sue funzioni membro virtuale protetto.In questo argomento viene descritto il comportamento predefinito della classe base, è spesso per non eseguire alcuna operazione.
Il rimanente, protetto da copia in e da qualsiasi archiviazione fornito per le trasmissioni di buffer a e da flussi di controllo di membri funzioni.Un buffer di input, ad esempio, è caratterizzato da:
eback, un puntatore all'inizio del buffer.
gptr, un puntatore all'elemento successivo da leggere.
egptr, un puntatore immediatamente successivo alla fine del buffer.
Analogamente, un buffer di output è caratterizzato da:
pbase, un puntatore all'inizio del buffer.
pptr, un puntatore all'elemento successivo da scrivere.
epptr, un puntatore immediatamente successivo alla fine del buffer.
Per qualsiasi buffer viene utilizzato il protocollo seguente:
Se il puntatore del mouse è null, è presente alcun buffer.In caso contrario, tutti e tre i puntatori punto nella stessa sequenza.Essi possono essere confrontate in modo sicuro per ordine.
Per un buffer di output se il puntatore successivo confronto minore il puntatore di fine, è possibile memorizzare la posizione di scrittura designato dal puntatore del mouse avanti di un elemento.
Per un buffer di input, se il puntatore successivo confronto minore il puntatore di fine, è possibile leggere un elemento in corrispondenza della posizione di lettura designato da puntatore successivo.
Per un buffer di input, se il puntatore iniziale Confronta meno di puntatore successiva, è possibile inserire nuovamente un elemento nella posizione putback designata dal puntatore del mouse avanti decrementato.
Qualsiasi protetto funzioni membro virtual è scrivere per una classe derivata da basic_streambuf<Elem, Tr> deve collaborare nella gestione di questo protocollo.
An object of class basic_streambuf<Elem, Tr> memorizza i sei puntatori descritti in precedenza.Memorizza inoltre un oggetto locale in un oggetto di tipo locali per l'utilizzo potenziale da un buffer del flusso derivata.
Costruttori
Costruisce un oggetto di tipo basic_streambuf. |
Definizioni typedef
Associa un nome di tipo con il Elem parametro di template. |
|
Associa un nome di tipo all'interno di basic_streambuf con l'ambito di Elem parametro di template. |
|
Associa un nome di tipo all'interno di basic_streambuf con l'ambito di Elem parametro di template. |
|
Associa un nome di tipo all'interno di basic_streambuf con l'ambito di Elem parametro di template. |
|
Associa un nome di tipo con il Tr parametro di template. |
Funzioni membro
Una funzione protetta che restituisce un puntatore all'inizio del buffer di input. |
|
Una funzione protetta che restituisce un puntatore immediatamente successivo alla fine del buffer di input. |
|
Una funzione protetta che restituisce un puntatore immediatamente successivo alla fine del buffer di output. |
|
Una funzione protetta aggiunge _Count il puntatore successivo per il buffer di input. |
|
Ottiene il basic_streambuf delle impostazioni internazionali dell'oggetto. |
|
Una funzione protetta che restituisce un puntatore all'elemento successivo del buffer di input. |
|
A protetto, la funzione virtuale chiamata da pubimbue. |
|
Restituisce il numero di elementi che sono pronti per essere letti dal buffer. |
|
Una funzione virtuale protetta che può essere chiamata quando un nuovo carattere viene inserito in un buffer pieno. |
|
Una funzione membro virtuale protetto che tenta di ripristinare un elemento nel flusso di input, quindi rendere l'elemento corrente (a cui fa riferimento il puntatore del mouse). |
|
Una funzione protetta che restituisce un puntatore all'inizio del buffer di output. |
|
Una funzione protetta aggiunge count il puntatore successivo per il buffer di output. |
|
Una funzione protetta che restituisce un puntatore all'elemento successivo del buffer di output. |
|
Imposta il basic_streambuf delle impostazioni internazionali dell'oggetto. |
|
Chiamate seekoff, un protetto di funzione virtuale viene sottoposto a override in una classe derivata. |
|
Chiamate seekpos, un protetto di funzione virtuale che viene sottoposto a override in una classe derivata e reimposta la posizione corrente del puntatore. |
|
Chiamate setbuf, un protetto di funzione virtuale viene sottoposto a override in una classe derivata. |
|
Chiamate sync, un protetto di funzione virtuale viene sottoposto a override in una classe derivata e aggiorna il flusso esterno associato a questo buffer. |
|
Legge e restituisce l'elemento corrente, spostando il puntatore del flusso. |
|
La funzione membro virtuale protetto tenta di modificare le posizioni correnti per i flussi controllati. |
|
La funzione membro virtuale protetto tenta di modificare le posizioni correnti per i flussi controllati. |
|
La funzione membro virtuale protetto esegue una particolare operazione per ogni buffer del flusso derivata. |
|
Una funzione protetta che consente di memorizzare _Gbeg nel puntatore all'inizio, _Gnext nel puntatore avanti e _Gend il puntatore di fine per il buffer di input. |
|
Una funzione protetta che consente di memorizzare _Pbeg il puntatore di inizio e _Pend il puntatore di fine per il buffer di output. |
|
Restituisce l'elemento corrente senza modificare la posizione nel flusso. |
|
Restituisce il numero di elementi letti. |
|
Funzione membro virtuale protetto che restituisce un conteggio del numero di caratteri che possono essere estratti dal flusso di input e assicurarsi che il programma non sarà soggetto a un'attesa illimitata. |
|
Legge l'elemento corrente e restituisce l'elemento riportato di seguito. |
|
Inserisce un char_type nel flusso. |
|
Inserisce un carattere nel flusso. |
|
Inserisce una stringa di caratteri nel flusso. |
|
Proseguire l'elemento corrente nel flusso. |
|
Ottiene un carattere dal flusso. |
|
Scambia i valori in questo oggetto per i valori forniti basic_streambuf oggetto parametro. |
|
Una funzione virtuale protetta che tenta di sincronizzare i flussi controllati con i flussi esterni associati. |
|
Una funzione virtuale protetta che estrae l'elemento corrente dal flusso di input. |
|
Una funzione virtuale protetta che estrae l'elemento corrente dal flusso di input. |
|
Una funzione virtuale protetta che consente di estrarre gli elementi dal flusso di input. |
|
Una funzione virtuale protetta che consente di inserire elementi nel flusso di output. |
Operatori
Assegna i valori dell'oggetto da un altro basic_streambuf oggetto. |
Requisiti
Intestazione: <streambuf>
Spazio dei nomi: std
Vedere anche
Riferimenti
Thread safety della libreria C++ standard