Namespaces
Variants

std:: basic_stringbuf

From cppreference.net
< cpp ‎ | io
ヘッダーで定義 <sstream>
template <

class CharT,
class Traits = std:: char_traits < CharT > ,
class Allocator = std:: allocator < CharT >
> class basic_stringbuf

: public std:: basic_streambuf < CharT, Traits >

std::basic_stringbuf は、 std::basic_streambuf の派生クラスであり、関連付けられた文字シーケンスがメモリ内に存在する任意の文字のシーケンスです。このシーケンスは std::basic_string のインスタンスから初期化したり、インスタンスとして利用可能にすることができます。

std::basic_stringbuf の典型的な実装では、 std::basic_string 型のオブジェクト、または同等のリサイズ可能なシーケンスコンテナをデータメンバとして直接保持し、これを制御文字シーケンス( std::basic_streambuf の6つのポインタが指す配列)と関連文字シーケンス(すべての入力操作の文字ソースおよび出力のターゲット)の両方として使用します。

さらに、典型的な実装では、関連付けられたストリームのI/Oモード(入力専用、出力専用、入出力、末尾指定など)を示すために、 std::ios_base::openmode 型のデータメンバを保持します。

オーバーアロケーション戦略が overflow() で使用される場合、追加のハイウォーターマークポインタが格納され、最後に初期化された文字を追跡することがある。

(C++11以降)

一般的な文字型に対するいくつかのtypedefが提供されています:

定義済みヘッダー <sstream>
定義
std::stringbuf std :: basic_stringbuf < char >
std::wstringbuf std :: basic_stringbuf < wchar_t >

目次

メンバー型

メンバ型 定義
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
allocator_type Allocator

説明専用メンバ

buf 基盤となるバッファとして使用される std:: basic_string < CharT, Traits, Allocator >
( 説明専用メンバーオブジェクト* )
mode 関連付けられたストリームの std::ios_base::openmode
( 説明専用メンバーオブジェクト* )
入力シーケンスと出力シーケンスを初期化する
( 説明専用メンバー関数* )

パブリックメンバー関数

basic_stringbuf オブジェクトを構築する
(public member function)
(C++11)
basic_stringbuf オブジェクトを代入する
(public member function)
(C++11)
2つの basic_stringbuf オブジェクトを交換する
(public member function)
(destructor)
[virtual] (implicitly declared)
basic_stringbuf オブジェクトとそれが保持する文字列を破棄する
(virtual public member function)
関連付けられた文字列のコピーを取得または置換する
(public member function)
内部シーケンスコンテナに関連付けられたアロケータのコピーを取得する
(public member function)
(C++20)
基礎となる文字シーケンスに対するビューを取得する
(public member function)

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

[virtual]
入力シーケンスで利用可能な次の文字を返す
(仮想保護メンバ関数)
[virtual]
入力シーケンスに文字を戻す
(仮想保護メンバ関数)
[virtual]
出力シーケンスに文字を追加する
(仮想保護メンバ関数)
[virtual]
制御された文字シーケンスを配列で置き換えようとする
(仮想保護メンバ関数)
[virtual]
相対アドレッシングを使用して、入力シーケンス、出力シーケンス、または両方の次のポインタを再配置する
(仮想保護メンバ関数)
[virtual]
絶対アドレッシングを使用して、入力シーケンス、出力シーケンス、または両方の次のポインタを再配置する
(仮想保護メンバ関数)

非メンバー関数

std::swap アルゴリズムを特殊化
(関数テンプレート)

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メンバ関数)
(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> の仮想保護メンバー関数)