basic_streambuf Class
抽象基本クラスは派生ストリーム バッファーは、要素と、ストリームの特定表現の間の転送を制御することについて説明します。
template<class Elem, class Tr = char_traits<Elem> >
class basic_streambuf;
パラメーター
Elem
A char_type。Tr
文字 traits_type。
解説
テンプレート クラスは、抽象基本クラスは派生ストリーム バッファーは、要素と、ストリームの特定表現の間の転送を制御することを表します。クラスのオブジェクトをbasic_streambuf支援型の要素を持つストリームを制御するTr、別名 char_type、持つ文字の特徴クラスによって決まります char_traitsとも呼ばれます traits_type。
すべてストリーム バッファーは概念的には 2 つの独立したストリーム制御: 抽出 (入力) するときに、もう 1 つの挿入 (出力)。特定の表現は、ただし、これらのストリームのいずれか、または複数がアクセスできないように可能性があります。通常、2 つのストリームのいくつかの関係を維持します。出力ストリームに挿入すると、 basic_stringbuf<Elem、 Tr> どのような展開後は、入力ストリームからオブジェクトをなどです。1 つのストリームを配置するときは、 basic_filebuf<Elem、 Tr> オブジェクト、タンデムでのストリームの位置します。
テンプレート クラスのパブリック インターフェイスbasic_streambufただし、特化されたすべてのストリーム バッファーへの一般的な操作を提供します。保護されているインターフェイスは、その作業を行うために必要なストリームの特定の表示操作を提供します。保護された仮想メンバー関数、派生ストリーム バッファーは、ストリームの特定表現の動作を調整することができます。どのように、保護された仮想メンバー関数の動作を専門としていますこのライブラリ内の各派生ストリーム バッファーをについて説明します。ここでは何もしないが、基本クラスの既定の動作を説明します。
残りのメンバー関数のコントロールしてバッファーの送信を提供する任意のストレージ ストリームからからコピーを保護します。入力バッファーなどの特徴です。
同様に、出力バッファーによって特徴付けられます。
任意のバッファーには、次のプロトコルが使用されます。
次へのポインターが null の場合、バッファーは存在しません。それ以外の場合は、すべての 3 つのポインターは同じシーケンスにポイントします。ためには安全に比較できます。
出力バッファーには、次のポインター、終了ポインターより小さい場合は、次のポインターによって指定された書き込み位置に要素を格納できます。
次へのポインター、終了ポインターより小さい場合の入力バッファー、読み取り、次のポインターによって指定された位置に要素を読み取ることができます。
次へのポインターより低い先頭ポインターを比較する場合の入力バッファーを戻る要素減少の次のポインターによって指定された putback 位置に配置できます。
いずれかの保護された仮想メンバー関数を記述するクラスから派生のbasic_streambuf<Elem、 Tr> このプロトコルを維持するのには、協調動作する必要があります。
An object of class basic_streambuf<Elem, Tr> 前に説明した六つのポインターを格納します。型のオブジェクトでは、ロケール オブジェクトを格納ロケールの潜在的な使用は派生ストリーム バッファー。
コンストラクター
オブジェクトの型を構築するbasic_streambuf。 |
Typedef
型名とを関連付けます、 Elemテンプレート パラメーター。 |
|
内の型名を関連付けますbasic_streambufでスコープ、 Elemテンプレート パラメーター。 |
|
内の型名を関連付けますbasic_streambufでスコープ、 Elemテンプレート パラメーター。 |
|
内の型名を関連付けますbasic_streambufでスコープ、 Elemテンプレート パラメーター。 |
|
型名とを関連付けます、 Trテンプレート パラメーター。 |
メンバー関数
入力バッファーの先頭にポインターを返す保護されている関数です。 |
|
入力バッファーの終端を越えてだけのポインターを返す保護されている関数です。 |
|
出力バッファーの終端を越えてだけのポインターを返す保護されている関数です。 |
|
追加する保護された関数_Count入力バッファーの次のポインターへのポインター。 |
|
取得、 basic_streambufオブジェクトのロケール。 |
|
入力バッファーの次の要素へのポインターを返しますが保護されている関数です。 |
|
A 保護されている、仮想関数を呼び出すことによって pubimbue。 |
|
バッファーから読み取ることができる要素の数を返します。 |
|
バッファーがいっぱいに、新しい文字を挿入したときに呼び出すことができますは、保護された仮想関数です。 |
|
戻るを入力ストリームに要素を配置すると、保護された仮想メンバー関数、ください、(次へのポインターが指す) 現在の要素。 |
|
出力バッファーの先頭へのポインターを返しますが保護されている関数です。 |
|
追加する保護された関数count 、出力バッファーの次のポインターへのポインター。 |
|
出力バッファーの次の要素へのポインターを返しますが保護されている関数です。 |
|
セット、 basic_streambufオブジェクトのロケール。 |
|
コール seekoffは、派生クラスでオーバーライドする仮想関数を保護します。 |
|
コール seekpos、派生クラスでオーバーライドされ、現在のポインター位置がリセットされます、仮想関数を保護します。 |
|
コール setbufは、派生クラスでオーバーライドする仮想関数を保護します。 |
|
コール同期、派生クラスでオーバーライドされ、このバッファーに関連付けられた外部ストリームを更新する仮想関数を保護します。 |
|
読み取り、ストリームのポインターを移動、現在の要素を返します。 |
|
保護された仮想メンバー関数は、制御されたストリームの現在位置を変更しようとします。 |
|
保護された仮想メンバー関数は、制御されたストリームの現在位置を変更しようとします。 |
|
各派生ストリーム バッファーには、操作固有の保護された仮想メンバー関数を実行します。 |
|
格納する保護された関数_Gbeg 、先頭ポインターで_Gnext次のポインターでと_Gend入力バッファーを終了ポインターに。 |
|
保存は、保護された関数_Pbeg先頭ポインターと_Pend終了ポインターを出力バッファーにします。 |
|
ストリーム内の位置を変更することがなく、現在の要素を返します。 |
|
要素の読み取り数を返します。 |
|
保護された仮想メンバー関数は入力ストリームから抽出され、プログラムが無期限の待機にできないことを確認する文字数のカウントを返します。 |
|
現在の要素を読み込み、次の要素を返します。 |
|
配置は、 char_typeストリーム。 |
|
ストリームに文字を配置します。 |
|
ストリームに文字列を配置します。 |
|
過去のストリーム内の現在の要素に移動します。 |
|
ストリームから文字を取得します。 |
|
このオブジェクトの値で指定された値が交換basic_streambufパラメーター オブジェクトします。 |
|
関連付けられた外部ストリームと、制御されたストリームを同期しようとしています。 保護された仮想関数です。 |
|
入力ストリームから現在の要素を抽出する保護された仮想関数です。 |
|
入力ストリームから現在の要素を抽出する保護された仮想関数です。 |
|
入力ストリームから要素を抽出する保護された仮想関数です。 |
|
要素を出力ストリームに挿入する保護された仮想関数です。 |
演算子
このオブジェクトの値を割り当てますbasic_streambufオブジェクト。 |
必要条件
ヘッダー: <streambuf>
名前空間: std