最終更新日時:
が更新

履歴 編集

class template
<ios>

std::basic_ios

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> で定義
}

概要

basic_ios は入出力に対する共通機能を提供するクラステンプレートである。
ios_base がロケールや文字型に依存しない書式の状態を保持するのに対して、本クラスはロケールや文字型に依存した書式の状態や、ストリームバッファとその状態を保持する。

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

エイリアス 説明 対応バージョン
ios char 型のストリーム
wios wchar_t 型のストリーム

メンバ関数

構築・破棄・代入

名前 説明 対応バージョン
(constructor) コンストラクタ
(destructor) デストラクタ
operator= 代入演算子

なお、コピーコンストラクタとコピー代入演算子はdelete定義されている。 C++03では、delete定義の代わりにprivateで宣言のみされていた。

状態ビット

名前 説明 対応バージョン
rdstate 状態ビットを読み取る
clear 状態ビットの初期化
setstate 状態ビットの設定
good 正常状態であるか否かの判定
eof eof状態であるか否かの判定
fail fail状態であるか否かの判定
bad bad状態であるか否かの判定
operator bool 正常状態であるか否かの判定 C++11
operator void* 正常状態であるか否かの判定 C++03 まで
operator! 異常状態であるか否かの判定
exceptions 特定の状態時に例外を投げる指定の設定・取得

ストリームバッファ

名前 説明 対応バージョン
rdbuf ストリームバッファオブジェクトの設定・取得
tie 同期する出力ストリームオブジェクトの設定・取得

書式化その他

名前 説明 対応バージョン
copyfmt 書式設定のコピー
fill フィールドの余白を埋める文字の取得・設定
imbue ロケールの設定

ワイド文字変換

名前 説明 対応バージョン
narrow char_type 型文字の char 型文字への変換
widen char 型文字の char_type 型文字への変換

protectedメンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ
init ストリームオブジェクトの初期化
move ムーブ C++11
swap 値の交換 C++11
set_rdbuf ストリームバッファの設定 C++11

メンバ型

名前 説明 対応バージョン
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 である場合の記載となっている。
これらのメンバ型がそれ以外の型の場合の挙動は実装依存である。

参照