最終更新日時:
が更新

履歴 編集

class template
<istream>

std::basic_iostream

namespace std {
  template<class CharT, class Traits = char_traits<CharT>>
  class basic_iostream :
    public basic_istream<CharT, Traits>,
    public basic_ostream<CharT, Traits> { …… };

  using iostream  = basic_iostream<char>;
  using wiostream = basic_iostream<wchar_t>;
}

概要

basic_iostreamは、入出力両方が可能なストリームを表現するクラスである。 すなわち、rdbuf()が指し示すストリームバッファオブジェクトに対する読み取り操作・書き込み操作を提供する。 入力操作はbasic_istreamから、出力操作はbasic_ostreamから継承している。

テンプレートパラメータとして文字型を受け取るようになっており、使用を容易にするため、以下のパラメータ設定済みエイリアスが定義されている。 このエイリアスは<istream>ヘッダと<iosfwd>ヘッダで定義されている。

エイリアス 説明 対応バージョン
iostream char型。ASCII、UTF-8等のマルチバイト文字列や、バイナリデータとして使用する。
wiostream wchar_t型。ワイド文字列として使用する。

メンバ

基底クラスも参照のこと。

多重継承による曖昧さを解消するため、basic_iosと同じ内容でこのクラスでも定義されている。

名前 説明 対応バージョン
char_type テンプレート仮引数CharTの別名 C++11
int_type Traits::int_typeの別名 C++11
pos_type Traits::pos_typeの別名 C++11
off_type Traits::off_typeの別名 C++11
traits_type テンプレート仮引数Traitsの別名 C++11

構築・破棄

名前 説明 対応バージョン
(constructor) コンストラクタ
(destructor) デストラクタ
operator= ムーブ代入 C++11
swap 値の交換 C++11
  • コピーコンストラクタとコピー代入演算子はdelete定義されている。
  • ムーブコンストラクタ・ムーブ代入演算子とswapはprotectedで定義されている。

参照