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<ElemTrAlloc>のオブジェクトを返します。

解説

最初のメンバー関数は 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 の値を交換します。

関連項目

C++ 標準ライブラリ内のスレッド セーフ
iostream プログラミング
iostreams の規則