共用方式為


basic_streambuf 類別

描述衍生自資料流緩衝區的抽象基底類別,將資料流的特定表示控制項項目傳輸。

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

參數

備註

樣板類別描述衍生自資料流緩衝區的抽象基底類別,將資料流的特定表示控制項項目傳輸。 類別 basic_streambuf 物件說明控制與 Tr型別,也稱為 char_type的項目的資料流,類別取決於性格特性 char_traits,也稱為 traits_type

每一個資料流緩衝區概念上控制兩個獨立資料流:一個擷取 (項目) 和一個插入 (輸出)。 特定表示可能,然而,不能進入任一或兩個資料流。 它通常會維護兩資料流之間的特定關聯性。 例如,要插入 basic_stringbuf<Elem, Tr> 物件的輸出資料流為要從它的輸入資料流的最新擷取。 當您將 basic_filebuf<Elem, Tr> 物件的資料流時,您可以串聯放置另一個資料流。

對樣板類別 basic_streambuf 的公用介面提供對所有資料流緩衝區是常見的作業,特定的。 受保護的介面提供資料流的特定表示需要的作業完成其工作。 受保護的虛擬成員函式讓您可以衍生自資料流緩衝區的行為資料流的特定表示。 每個衍生自資料流緩衝區在此程式庫中描述如何進行特製化其受保護的虛擬成員函式行為。 基底類別的預設行為,通常是沒有作用,本主題中說明。

保持保護的成員複製到與所有儲存體的函式控制提供給緩衝區傳送至資料流。 輸入緩衝區,例如,被 Draw 供:

  • eback,對緩衝區開頭的指標。

  • gptr,要讀取的下一個項目的指標。

  • egptr,指標超出緩衝區尾端。

同樣地,輸出緩衝區的 ShapeElement 供:

  • pbase,對緩衝區開頭的指標。

  • pptr,要寫入的下一個項目的指標。

  • epptr,指標超出緩衝區尾端。

對於所有緩衝區,使用下列通訊協定:

  • 如果下指標是空的,緩衝區不存在。 否則,所有三分球指向相同的順序。 它們可以為命令安全地進行比較。

  • 對輸出緩衝區,則為,如果下指標比較小於 End 指標,您可以將項目在下指標指定的寫入位置。

  • 對於輸入緩衝區,則為,如果下指標比較小於 End 指標,您可將項目在下指標所指派這個讀取位置。

  • 對於輸入緩衝區,則為,如果啟動指標比較少於下指標,可以放回項目在遞減的下指標指定的放回位置。

您為衍生自 basic_streambuf<的類別寫入Elem的所有受保護的虛擬成員函式, Tr> 在維護必須合作這個通訊協定。

類別 basic_streambuf<Elem, Tr> 物件儲存前述的六個指標。 它在 地區設定 型別的物件也會儲存一個地區設定物件為可能的使用由衍生自資料流緩衝區。

建構函式

basic_streambuf

建構屬於 basic_streambuf 類型的物件。

Typedef

char_type

使型別名稱與 Elem 樣板參數。

int_type

使 basic_streambuf 範圍內的型別名稱與 Elem 樣板參數。

off_type

使 basic_streambuf 範圍內的型別名稱與 Elem 樣板參數。

pos_type

使 basic_streambuf 範圍內的型別名稱與 Elem 樣板參數。

traits_type

使型別名稱與 Tr 樣板參數。

成員函式

eback

將指標傳回輸入緩衝區的開頭的受保護的函式。

egptr

傳回指標傳遞輸入緩衝區的結尾的受保護的函式。

epptr

傳回的指標傳送輸出緩衝區的結尾的受保護的函式。

gbump

將 _Count 加入至輸入緩衝區中的下一個指標的受保護的函式。

getloc

加入至 basic_streambuf 物件的地區設定。

gptr

將指標傳回輸入緩衝區中的下一個項目的受保護的函式。

灌輸出

pubimbue呼叫的保護,虛擬函式。

in_avail

傳回已從緩衝區讀取項目的數目。

Overflow - 溢位

可以呼叫的受保護虛擬函式,當新的字元插入的緩衝區。

pbackfail

嘗試回復項目輸入資料流的受保護的虛擬成員函式,然後再讓它目前項目 (指向下指標)。

pbase

將指標傳回輸出緩衝區的開頭的受保護的函式。

pbump

將 count 加入至輸出緩衝區中的下一個指標的受保護的函式。

pptr

將指標傳回輸出緩衝區中的下一個項目的受保護的函式。

pubimbue

設定 basic_streambuf 物件的地區設定。

pubseekoff

呼叫 seekoff,在衍生類別中覆寫的受保護虛擬函式。

pubseekpos

呼叫 seekpos,在衍生類別中覆寫的受保護虛擬函式並重設指標目前的位置。

pubsetbuf

呼叫 setbuf,在衍生類別中覆寫的受保護虛擬函式。

pubsync

呼叫 同步處理,在衍生類別中覆寫的受保護虛擬函式並更新外部資料流與這個緩衝區。

sbumpc

讀取並傳回目前項目,移動資料流指標。

seekoff

受保護的虛擬成員函式嘗試修改控制項資料流中目前的位置。

seekpos

受保護的虛擬成員函式嘗試修改控制項資料流中目前的位置。

setbuf

受保護的虛擬成員函式執行這類作業專屬的每一個衍生自資料流緩衝區。

setg

在下一個指標第一次儲存 _Gbeg 指標、位置指標的 _Gnext 和 _Gend 輸入緩衝區的受保護的函式。

setp

在輸出緩衝區的結尾指標第一次儲存 _Pbeg 指標和 _Pend 的保護的函式。

sgetc

沒有變更的位置傳回目前項目在資料流。

sgetn

傳回讀取的元素數目。

showmanyc

傳回字元數目計數可從輸入資料流擷取並確定的受保護的虛擬成員函式程式不會受不定的時間限制。

snextc

讀取目前的項目並傳回下列項目。

sputbackc

在資料流的 char_type

sputc

將字元寫入至資料流。

sputn

將字串寫入至資料流。

stossc

若移動超過資料流中的目前項目。

sungetc

從資料流取得字元。

交換

為提供的 basic_streambuf 物件參數的值以便在這個物件值的深層複本。

同步處理

嘗試同步處理與所有相關聯的外部資料流的控制流程的受保護虛擬函式。

uflow

從輸入資料流擷取目前項目的受保護虛擬函式。

反向溢位

從輸入資料流擷取目前項目的受保護虛擬函式。

xsgetn

這個受保護的虛擬函式從輸入資料流擷取項目。

xsputn

這個受保護的虛擬函式插入項目至輸出資料流。

運算子

operator=

將這個物件的值是從另一個 basic_streambuf 物件的。

需求

標題: <streambuf>

命名空間: std

請參閱

參考

C++ 標準程式庫中的執行緒安全

iostream 程式設計

iostreams 慣例

其他資源

basic_streambuf 成員

<streambuf> 成員