basic_streambuf クラス
ストリームの特定の表現との間で要素の送信を制御するストリーム バッファーを派生するための抽象基本クラスについて説明します。
template<class Elem, class Tr = char_traits<Elem> >
class basic_streambuf;
パラメーター
Elem
たとえば。Tr
文字 traits_type。
解説
このテンプレート クラスは、ストリームの特定の表現との間で要素の送信を制御するストリーム バッファーを派生するための抽象基本クラスについて説明します。 クラスの basic_streambuf のオブジェクトは型の特性がクラス char_traitsで決められたエイリアス たとえば、型 Tr要素を含むストリームを (traits_type制御します。
ストリームのバッファーで概念的には 2 種類の独立したストリームを制御する: 抽出 (入力) の 1 および挿入 (出力) の場合は 1。 ただし、特定の表現はストリーム アクセスのいずれか、または両方を行う場合があります。 これは通常、2 個のストリームの関係を維持します。 たとえば basic_stringbuf<Elemの Tr> オブジェクトの出力ストリームに挿入する内容を入力ストリームから新しい抽出数です。 basic_filebuf<Elemの Trオブジェクトの 1 つがストリームを配置すると、> 他のストリームを連携して配置します。
テンプレート クラス basic_streambuf へのパブリック インターフェイスは、すべてのストリーム バッファーに共通のない特化した操作を提示します。 保護されたなインターフェイスは、作業を行うためにストリームの特定の表示のために必要な操作を提供します。 プロテクト仮想メンバー関数関数は、ストリームの特定の表現の派生のストリーム バッファーの動作をすることができます。 このライブラリの各派生のストリーム バッファーはプロテクト仮想メンバー関数関数の動作をどのように特化した方法について説明します。 頻繁に何もせずに基本クラスの既定の動作では、このトピックで説明します。
残りのプロテクト メンバー関数でストリームへの送信してバッファーに指定されたストレージとの間でコピーを制御します。 入力バッファーは、以下で識別されます:
同様に、出力バッファーは、で識別されます:
任意のバッファーに対して、次のプロトコルが使用されています:
通常ポインタが NULL の場合、バッファーはありません。 それ以外の場合は、すべてのスリーポイントの三つのポインターを同じ順序で示します。 これらは順序に安全に比較できます。
出力バッファーについて、正常ポインタが最後のポインター未満を比較する場合、通常ポインタで指定された書位置の要素を格納できます。
入力バッファーについて、正常ポインタが最後のポインター未満を比較する場合、通常ポインタで指定された入力位置の要素を読み取ることができます。
入力バッファーの場合、最初のポインターが正方向ポインタ未満を比較する場合、デクリメントされた通常ポインタで指定された putback の位置の要素を返すことができます。
ユーザーが basic_streambuf<Elem、Tr> から派生したクラスに作成するプロテクト仮想メンバー関数関数がこのプロトコルを保持共同で作業する必要があります。
クラス basic_streambuf<Elem、Tr> オブジェクトは、前に説明した 6 個のポインターを格納します。 また、派生のストリーム バッファーによって潜在的な使用の型 ロケール オブジェクトにロケール オブジェクトを格納します。
コンストラクター
basic_streambuf 型のオブジェクトを構築します。 |
Typedef
Elem テンプレート パラメーターに型名を関連付けます。 |
|
Elem のテンプレート パラメーターと basic_streambuf のスコープ内の型名を関連付けます。 |
|
Elem のテンプレート パラメーターと basic_streambuf のスコープ内の型名を関連付けます。 |
|
Elem のテンプレート パラメーターと basic_streambuf のスコープ内の型名を関連付けます。 |
|
Tr テンプレート パラメーターに型名を関連付けます。 |
メンバー関数
入力バッファーの先頭へのポインターを返す保護されたな関数。 |
|
入力バッファーの末尾を超えるポインターだけを返す保護されたな関数。 |
|
出力バッファーの末尾を超えるポインターだけを返す保護されたな関数。 |
|
入力バッファーの正常ポインタに _Count を追加する保護されたな関数。 |
|
basic_streambuf オブジェクトのロケールを取得します。 |
|
入力バッファー内の次の要素へのポインターを返す保護されたな関数。 |
|
保護されたの pubimbueで呼び出される仮想関数です。 |
|
バッファーから読み取られる準備ができている要素の数を返します。 |
|
新しい文字が完全なバッファーに挿入されたときに呼び出すことができる保護されたな仮想関数です。 |
|
入力ストリームに要素を返す必要がありますプロテクト仮想メンバー関数関数とは、現在の要素を (通常ポインタが指す)。 |
|
出力バッファーの先頭へのポインターを返す保護されたな関数。 |
|
出力バッファーの正常ポインタに count を追加する保護されたな関数。 |
|
出力バッファー内の次の要素へのポインターを返す保護されたな関数。 |
|
basic_streambuf オブジェクトのロケールを設定します。 |
|
seekoffの派生クラスでオーバーライドされた保護されたな仮想関数を呼び出します。 |
|
seekposの派生クラスでオーバーライドされた呼び出し、現在のポインターの位置をリセットします保護されたな仮想関数を示します。 |
|
setbufの派生クラスでオーバーライドされた保護されたな仮想関数を呼び出します。 |
|
同期の派生クラスでオーバーライドされた呼び出し、このバッファーに関連付けられている外部ストリームを更新します保護されたな仮想関数を示します。 |
|
ストリーム ポインターを移動すると、現在の要素を返します。 |
|
プロテクト仮想メンバー関数関数はステートメント ストリームの現在位置を変更します。 |
|
プロテクト仮想メンバー関数関数はステートメント ストリームの現在位置を変更します。 |
|
プロテクト仮想メンバー関数関数は、各派生のストリーム バッファーに操作の両方を実行します。 |
|
先頭ポインターで _Gbeg、正常ポインタの _Gnext、入力バッファーの末尾のポインターの _Gend を格納する保護されたな関数。 |
|
先頭ポインターで _Pbeg と出力バッファーの末尾ポインターで _Pend を格納する保護されたな関数。 |
|
ストリームの変更なしで現在位置の要素を返します。 |
|
読み取り要素数を返します。 |
|
入力ストリームから取得され、プログラムは無期限に待機が適用されないようにする文字数を返すプロテクト仮想メンバー関数関数。 |
|
現在の要素を読み、次の要素を返します。 |
|
ストリームに char_type を配置します。 |
|
ストリームに文字を取得します。 |
|
ストリームに文字列を送信します。 |
|
ストリームの現在の要素まで移動します。 |
|
ストリームから文字を取得します。 |
|
basic_streambuf オブジェクトに指定されたパラメーターの値としてこのオブジェクトの値を交換します。 |
|
、関連する外部ストリームとステートメント ストリームを同期しようと保護されたな仮想関数です。 |
|
保護されたな仮想関数を入力ストリームから抽出現在の要素。 |
|
保護されたな仮想関数を入力ストリームから抽出現在の要素。 |
|
保護されたな仮想関数を入力ストリームから抽出要素。 |
|
出力ストリームに要素を挿入する保護されたな仮想関数です。 |
演算子
basic_streambuf の別のオブジェクトのオブジェクトの値を割り当てます。 |
必要条件
ヘッダー: の <streambuf>
名前空間: std