次の方法で共有


basic_iostream クラス

入力と出力の両方を行うことができるストリーム クラス。

構文

template <class Elem, class Tr = char_traits<Elem>>
class basic_iostream : public basic_istream<Elem, Tr>,
    public basic_ostream<Elem, Tr>
{
public:
    explicit basic_iostream(basic_streambuf<Elem, Tr>* strbuf);

    virtual ~basic_iostream();

};

解説

このクラス テンプレートは、基底クラス basic_ostream<Elem,Tr> を使用した挿入の制御、および基底クラス basic_istream<Elem, Tr> を使用した抽出の制御を行うオブジェクトを記述します。 2 つのオブジェクトは、仮想基底クラス basic_ios<Elem, Tr> を共有しています。 また、これらは共通のストリーム バッファーを管理します。このストリーム バッファーには、Elem 型の要素が含まれ、その文字特性は Tr クラスによって決定されます。 コンストラクターは basic_istream( strbuf) および basic_ostream( strbuf) を使用して基底クラスを初期化します。

コンストラクター

コンストラクター 説明
basic_iostream basic_iostream オブジェクトを作成します。

メンバー関数

メンバー関数 説明
スワップ 指定された basic_iostream オブジェクトの内容を、このオブジェクトの内容と交換します。

演算子

演算子 説明
operator= このオブジェクトに、指定された basic_iostream オブジェクトの値を代入します。 これは、rvalue が関係する移動代入で、コピーを残しません。

必要条件

ヘッダー:<istream>

名前空間: std

basic_iostream::basic_iostream

basic_iostream オブジェクトを作成します。

explicit basic_iostream(basic_streambuf<Elem, Tr>* strbuf);

basic_iostream(basic_iostream&& right);

basic_iostream();

パラメーター

strbuf
既存の basic_streambuf オブジェクトです。

right
新しい basic_iostream の構築に使用される既存の basic_iostream オブジェクト

解説

最初のコンストラクターが basic_istream(strbuf) および basic_ostream(strbuf) を使用してベース オブジェクトを初期化します。

2 番目のコンストラクターが move(right) を呼び出してベース オブジェクトを初期化します。

basic_iostream::operator=

このオブジェクトに、指定された basic_iostream オブジェクトの値を割り当てます。 これは、右辺値が関係する移動代入で、コピーを残しません。

basic_iostream& operator=(basic_iostream&& right);

パラメーター

right
割り当て元の basic_iostream オブジェクトへの rvalue 参照。

解説

このメンバー演算子は、swap(right) を呼び出します。

basic_iostream::swap

指定された basic_iostream オブジェクトの内容を、このオブジェクトの内容と交換します。

void swap(basic_iostream& right);

パラメーター

right
交換する basic_iostream オブジェクト。

解説

メンバー関数は、swap(right) を呼び出します。

関連項目

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