• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    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で定義されている。

    参照