名前空間
変種
操作

std::basic_stringbuf

From cppreference.com
< cpp‎ | io
 
 
入出力ライブラリ
I/Oマニピュレータ
出力関数 (C++23)
C形式I/O
バッファ
basic_stringbuf
(C++98/26*)
ストリーム
抽象化
ファイルI/O
文字列I/O
配列I/O
(C++98/26*)
(C++98/26*)
(C++98/26*)
同期出力
エラーカテゴリインターフェース
(C++11)
 
 
ヘッダ <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_typeCharT でない場合、プログラムは不適格となる。[編集]
int_type Traits::int_type[編集]
pos_type Traits::pos_type[編集]
off_type Traits::off_type[編集]
allocator_type Allocator[編集]

[編集] Exposition-only メンバ

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

[編集] public メンバ関数

basic_stringbuf オブジェクトを構築する
(public メンバ関数) [編集]
(C++11)
basic_stringbuf オブジェクトを代入する
(public メンバ関数) [編集]
(C++11)
2つの basic_stringbuf オブジェクトをスワップする
(public メンバ関数) [編集]
(デストラクタ)
[仮想] (暗黙的に宣言される)
basic_stringbuf オブジェクトとそれが保持する文字列を破棄する
(仮想 public メンバ関数) [編集]
関連する文字文字列のコピーを置き換える、または取得する
(public メンバ関数) [編集]
内部シーケンスコンテナに関連付けられたアロケータのコピーを取得する
(public メンバ関数) [編集]
(C++20)
基底文字シーケンスのビューを取得する
(public メンバ関数) [編集]

[編集] protected メンバ関数

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

[編集] 非メンバ関数

std::swap アルゴリズムを特殊化する
(関数テンプレート) [編集]

std::basic_streambuf から継承

メンバ型

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

メンバ関数

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

Protected member functions

basic_streambuf オブジェクトを構築する
(protected メンバ関数) [編集]
(C++11)
basic_streambuf オブジェクトを置き換える
(protected メンバ関数) [編集]
(C++11)
2つの basic_streambuf オブジェクトをスワップする
(protected メンバ関数) [編集]
ロケール
[virtual]
関連するロケールの変更に対応する
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
位置付け
[virtual]
許可されていれば、バッファをユーザー定義配列で置き換える
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
[virtual]
入力シーケンス、出力シーケンス、またはその両方で、相対アドレス指定を使用して次のポインタを再配置する
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
[virtual]
入力シーケンス、出力シーケンス、またはその両方で、絶対アドレス指定を使用して次のポインタを再配置する
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
[virtual]
バッファを関連付けられた文字シーケンスと同期する
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
取得領域
[virtual]
分かっていれば、関連付けられた入力シーケンスで入力に利用可能な文字数を取得する
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
[virtual]
関連付けられた入力シーケンスから取得領域に文字を読み込む
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
[virtual]
関連付けられた入力シーケンスから取得領域に文字を読み込み、次のポインタを進める
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
[virtual]
入力シーケンスから複数の文字を読み込む
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
取得領域の先頭、現在の文字、および末尾へのポインタを返す
(protected メンバ関数) [編集]
入力シーケンスの次のポインタを進める
(protected メンバ関数) [編集]
入力シーケンスの先頭、次、および末尾のポインタを再配置する
(protected メンバ関数) [編集]
配置領域
[virtual]
出力シーケンスに複数の文字を書き込む
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
[virtual]
関連付けられた出力シーケンスに、配置領域から文字を書き込む
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
配置領域の先頭、現在の文字、および末尾へのポインタを返す
(protected メンバ関数) [編集]
出力シーケンスの次のポインタを進める
(protected メンバ関数) [編集]
出力シーケンスの先頭、次、および末尾のポインタを再配置する
(protected メンバ関数) [編集]
戻し
[virtual]
入力シーケンスに1文字を戻す (入力シーケンスを変更する可能性あり)
(std::basic_streambuf<CharT,Traits> の仮想 protected メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)