- ios[meta header]
- std[meta namespace]
- class template[meta id-type]
namespace std {
template<class CharT, class Traits = char_traits<CharT> >
class basic_ios : public ios_base { …… };
using ios = basic_ios<char>; // <iosfwd> で定義
using wios = basic_ios<wchar_t>; // <iosfwd> で定義
}
- ios_base[link ios_base.md]
- char_traits[link ../string/char_traits.md]
basic_ios
は入出力に対する共通機能を提供するクラステンプレートである。
ios_base
がロケールや文字型に依存しない書式の状態を保持するのに対して、本クラスはロケールや文字型に依存した書式の状態や、ストリームバッファとその状態を保持する。
テンプレートパラメータとして文字型と文字特性型を受け取るようになっており、使用を容易にするため、以下のパラメータ設定済みエイリアスが定義されている。
このエイリアスは <iosfwd>
ヘッダで定義されている。
エイリアス |
説明 |
対応バージョン |
ios |
char 型のストリーム |
|
wios |
wchar_t 型のストリーム |
|
なお、コピーコンストラクタとコピー代入演算子はdelete定義されている。
C++03では、delete定義の代わりにprivate
で宣言のみされていた。
名前 |
説明 |
対応バージョン |
rdbuf |
ストリームバッファオブジェクトの設定・取得 |
|
tie |
同期する出力ストリームオブジェクトの設定・取得 |
|
名前 |
説明 |
対応バージョン |
narrow |
char_type 型文字の char 型文字への変換 |
|
widen |
char 型文字の char_type 型文字への変換 |
|
名前 |
説明 |
対応バージョン |
char_type |
テンプレート仮引数CharT |
|
int_type |
Traits::int_type |
|
pos_type |
Traits::pos_type |
|
off_type |
Traits::off_type |
|
traits_type |
テンプレート仮引数Traits |
|
本クラス、および、本クラスを継承したクラスの説明については、上記にあるメンバ型 pos_type
、および、off_type
がそれぞれ streampos
、および、streamoff
である場合の記載となっている。
これらのメンバ型がそれ以外の型の場合の挙動は実装依存である。