- istream[meta header]
- std[meta namespace]
- class template[meta id-type]
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_istream[link basic_istream.md]
- basic_ostream[link ../ostream/basic_ostream.md]
- char_traits[link ../string/char_traits.md]
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で定義されている。