Namespaces
Variants

std:: strstreambuf

From cppreference.net
< cpp ‎ | io
定義済みヘッダー <strstream>
class strstreambuf : public std:: basic_streambuf < char >
(C++98で非推奨)
(C++26で削除)

std::strstreambuf は、関連付けられた文字シーケンスが文字配列である std::basic_streambuf です。この配列は、定数(例:文字列リテラル)、変更可能だが動的ではない(例:スタック割り当て配列)、または動的であり、その場合 std::strstreambuf は出力に対応するために必要に応じて配列の再割り当てが許可される場合があります(例: delete [ ] および new [ ] の呼び出し、またはユーザー提供の関数による)。

典型的な std::strstreambuf の実装は、4つのプライベートデータメンバを保持します:

1) buffer state、4つの値「allocated」(デストラクタが解放する)、「constant」(出力不可)、「dynamic」(出力が再割り当てされる可能性あり)、または「frozen」(解放と再割り当てが不可)の任意の組み合わせを表現可能なビットマスク型
2) 割り当てられたバッファサイズ(バッファの先頭は特別なデータメンバーを必要とせず、継承されたポインタ eback() に格納される可能性があります)
3) ユーザー提供のアロケーション関数へのポインタ
4) ユーザー提供の解放関数へのポインタ。

目次

注記

動的バッファを持つストリームにおいて、 str() を呼び出した後は、必要に応じて strstreambuf デストラクタがバッファを解放できるようにするために、 freeze(false) の呼び出しが必要です。

strstreambuf はC++98以降非推奨となり、C++26以降削除されました 。推奨される代替は std::spanbuf (C++23以降) です。

メンバー関数

公開メンバ関数

strstreambuf オブジェクトを構築する
(公開メンバ関数)
[virtual]
strstreambuf オブジェクトを破棄し、オプションで文字配列を解放する
(仮想公開メンバ関数)
バッファの凍結状態を設定/解除する
(公開メンバ関数)
バッファを凍結状態にし、入力シーケンスの先頭ポインタを返す
(公開メンバ関数)
出力シーケンスにおける次のポインタから先頭ポインタを引いた値(書き込まれた文字数)を返す
(公開メンバ関数)

保護メンバ関数

[virtual]
次のポインタを進めずに入力シーケンスから文字を読み取る
(仮想保護メンバ関数)
[virtual]
文字をアンゲットするために入力シーケンスをバックアウトする
(仮想保護メンバ関数)
[virtual]
出力シーケンスに文字を追加し、動的かつ凍結されていない場合、バッファの再割り当てまたは初期割り当てを行う
(仮想保護メンバ関数)
[virtual]
制御された文字シーケンスを配列で置き換えようとする
(仮想保護メンバ関数)
[virtual]
相対アドレッシングを使用して、入力シーケンス、出力シーケンス、または両方の次のポインタを再配置する
(仮想保護メンバ関数)
[virtual]
絶対アドレッシングを使用して、入力シーケンス、出力シーケンス、または両方の次のポインタを再配置する
(仮想保護メンバ関数)

std:: basic_streambuf から継承

メンバー型

メンバー型 定義
char_type CharT
traits_type Traits ; プログラムは、 Traits::char_type CharT でない場合、不適格となる。
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

メンバー関数

basic_streambuf オブジェクトを破棄する
( std::basic_streambuf<CharT,Traits> の仮想公開メンバ関数)
ロケール
関連付けられたロケールを変更し、 imbue ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
関連付けられたロケールのコピーを取得する
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
位置決め
setbuf ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
seekoff ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
seekpos ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
sync ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
取得領域
取得領域で直ちに利用可能な文字数を取得する
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
入力シーケンスを進め、再度進めずに1文字を読み込む
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
(C++17で削除)
入力シーケンスから1文字を読み込み、シーケンスを進める
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
入力シーケンスからシーケンスを進めずに1文字を読み込む
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
xsgetn ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
格納領域
格納領域に1文字を書き込み、次のポインタを進める
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
xsputn ( ) を呼び出す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
プットバック
入力シーケンスに1文字を戻す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)
入力シーケンスの次のポインタを1つ戻す
( std::basic_streambuf<CharT,Traits> の公開メンバ関数)

プロテクテッドメンバー関数

basic_streambuf オブジェクトを構築する
(protectedメンバ関数)
(C++11)
basic_streambuf オブジェクトを置換する
(protected member function)
(C++11)
2つの basic_streambuf オブジェクトを交換する
(protected member function)
ロケール
[virtual]
関連付けられたロケールの変更に反応する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
配置
[virtual]
ユーザー定義の配列でバッファを置き換える(許可されている場合)
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
入力シーケンス、出力シーケンス、またはその両方の次のポインタを相対アドレッシングを使用して再配置する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)
[virtual]
入力シーケンス、出力シーケンス、またはその両方の次のポインタを絶対アドレス指定を使用して再配置する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
関連する文字シーケンスとバッファを同期する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
エリア取得
[virtual]
関連付けられた入力シーケンスで利用可能な文字数を取得する(既知の場合)
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)
[virtual]
関連付けられた入力シーケンスから文字を読み取り、ゲット領域に格納する
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)
[virtual]
入力関連シーケンスから文字を読み取り、ゲット領域に格納し、次のポインタを進める
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
入力シーケンスから複数の文字を読み込む
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
入力エリアの先頭、現在の文字、および終端へのポインタを返す
(protected member function)
入力シーケンスの次ポインタを進める
(protected member function)
入力シーケンスの開始、次、終了ポインタの位置を再設定する
(protected member function)
Putエリア
[virtual]
出力シーケンスに複数の文字を書き込む
( std::basic_streambuf<CharT,Traits> の仮想保護メンバー関数)
[virtual]
出力領域から関連付けられた出力シーケンスへ文字を書き込む
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)
出力領域の先頭、現在の文字、および終端へのポインタを返す
(protected member function)
出力シーケンスの次ポインタを進める
(protected member function)
出力シーケンスの先頭、次、および終了ポインタを再配置する
(protected member function)
Putback
[virtual]
入力シーケンスに文字を戻し、入力シーケンスを変更する可能性がある
( std::basic_streambuf<CharT,Traits> の仮想保護メンバ関数)