basic_istringstream クラス
クラス basic_stringbuf<Elem, Tr, Alloc
> のストリーム バッファーからの、要素とエンコードされたオブジェクトの抽出を制御するオブジェクトを記述します。
構文
template <class Elem, class Tr = char_traits<Elem>, class Alloc = allocator<Elem>>
class basic_istringstream : public basic_istream<Elem, Tr>
パラメーター
Alloc
アロケーター クラス。
Elem
文字列の基本要素の型。
Tr
文字列の基本要素に特化した文字の特徴。
解説
このクラス テンプレートは、Elem 型の要素を含む basic_stringbuf<Elem, Tr, Alloc
> クラスのストリーム バッファーから要素とエンコードされたオブジェクトを抽出する際の、抽出を制御するオブジェクトを記述します。Elem 型の文字特性は Tr クラスによって決められ、その要素は Alloc クラスのアロケーターによって割り当てられます。 このオブジェクトは、クラス basic_stringbuf<Elem, Tr, Alloc
> のオブジェクトを格納します。
コンストラクター
コンストラクター | 説明 |
---|---|
basic_istringstream | basic_istringstream 型のオブジェクトを構築します。 |
Typedefs
型名 | 説明 |
---|---|
allocator_type | この型は、テンプレート パラメーター Alloc のシノニムです。 |
メンバー関数
メンバー関数 | 説明 |
---|---|
rdbuf | 型 pointer の格納されたストリーム バッファーのアドレスを basic_stringbuf<Elem , Tr , Alloc > に返します。 |
str | 文字列バッファー内のテキストを設定または取得します。書き込み位置は変更しません。 |
スワップ | 指定したオブジェクトに対して、この basic_istringstream オブジェクトの値を交換します。 |
演算子
演算子 | 説明 |
---|---|
operator= | オブジェクト パラメーターの値をこの basic_istringstream オブジェクトに代入します。 |
要件
ヘッダー:<sstream>
名前空間: std
basic_istringstream::allocator_type
この型は、テンプレート パラメーター Alloc
のシノニムです。
typedef Alloc allocator_type;
basic_istringstream::basic_istringstream
basic_istringstream
型のオブジェクトを構築します。
explicit basic_istringstream(
ios_base::openmode _Mode = ios_base::in);
explicit basic_istringstream(
const basic_string<Elem, Tr, Alloc>& str,
ios_base::openmode _Mode = ios_base::in);
basic_istringstream(
basic_istringstream&& right);
パラメーター
_Mode
ios_base::openmode の列挙値のうちの 1 つ。
str
basic_string
型オブジェクト。
right
basic_istringstream
オブジェクトの右辺値参照。
解説
最初のコンストラクターは、basic_istream]( sb )
を呼び出すことで基底クラスを初期化します。ここで、sb
はクラス basic_stringbuf< Elem, Tr, Alloc>
の格納されているオブジェクトです。 また、basic_stringbuf< Elem, Tr, Alloc >( _Mode | ios_base::in )
を呼び出すことで sb
の初期化もします。 詳細については、次のトピックを参照してください。 basic_istream
および basic_stringbuf
2 番目のコンストラクターが basic_istream( sb )
を呼び出して基底クラスを初期化します。 また、basic_stringbuf< Elem, Tr, Alloc >( str, _Mode | ios_base::in )
を呼び出すことで sb
の初期化もします。
3 番目のコンストラクターは、rvalue 参照として扱われる right のコンテンツでオブジェクトを初期化します。
basic_istringstream::operator=
オブジェクト パラメーターの値をこの basic_istringstream
オブジェクトに代入します。
basic_istringstream& operator=(basic_istringstream&& right);
パラメーター
right
basic_istringstream
オブジェクトへの右辺値参照。
解説
メンバー演算子は rvalue 参照の移動代入として処理され、このオブジェクトの内容が right の内容で置き換えられます。
basic_istringstream::rdbuf
型 pointer
の格納されたストリーム バッファーのアドレスを basic_stringbuf<Elem, Tr, Alloc
> に返します。
basic_stringbuf<Elem, Tr, Alloc> *rdbuf() const;
戻り値
型 pointer
の格納されたストリーム バッファーの basic_stringbuf<Elem, Tr, Alloc
> へのアドレス。
例
rdbuf
の使用例については、「basic_filebuf::close」を参照してください。
basic_istringstream::str
文字列バッファー内のテキストを設定または取得します。書き込み位置は変更しません。
basic_string<Elem, Tr, Alloc> str() const;
void str(
const basic_string<Elem, Tr, Alloc>& _Newstr);
パラメーター
_Newstr
新しい文字列。
戻り値
被制御シーケンスが*this
によって制御されるシーケンスのコピーであるクラス basic_string<Elem、Tr、Alloc
>のオブジェクトを返します。
解説
最初のメンバー関数は rdbuf ->str を返します。 2 番目のメンバー関数は rdbuf
->str( _Newstr
) を呼び出します。
例
str
の使用例については、「basic_stringbuf::str」を参照してください。
basic_istringstream::swap
2 つの basic_istringstream
オブジェクトの値を交換します。
void swap(basic_istringstream& right);
パラメーター
right
basic_istringstream
オブジェクトへの左辺値参照。
解説
メンバー関数は、このオブジェクトの値と right の値を交換します。