Namespaces
Variants

std:: ios_base

From cppreference.net
< cpp ‎ | io
ヘッダーで定義 <ios>
class ios_base ;

クラス ios_base は、すべてのI/Oストリームクラスの基底クラスとして機能する多目的クラスです。これは以下の種類のデータを維持します:

1) 状態情報: ストリームステータスフラグ。
2) 制御情報: 入力および出力シーケンスのフォーマットと設定されたロケールを制御するフラグ。
3) プライベートストレージ: インデックス付き拡張可能データ構造で、 long および void * メンバーの両方を許可する。これは2つの任意長配列、または2要素構造体の単一配列、あるいは別のコンテナとして実装可能。
4) callbacks: imbue() std::basic_ios::copyfmt() ~ios_base() から呼び出される任意の数のユーザー定義関数。

典型的な実装では、以下の fmtflags iostate openmode 、および seekdir のすべての値に対応するメンバー定数、現在の精度、幅、フォーマットフラグを維持するメンバー変数、例外マスク、バッファエラー状態、コールバックを保持するサイズ変更可能なコンテナ、現在組み込まれているロケール、プライベートストレージ、および xalloc() のための静的整数変数が保持されます。

目次

メンバー関数

オブジェクトを構築する
(protected member function)
[virtual]
オブジェクトを破棄する
(virtual public member function)
ストリームに代入する
(public member function)
フォーマット
フォーマットフラグを管理する
(public member function)
特定のフォーマットフラグを設定する
(public member function)
特定のフォーマットフラグをクリアする
(public member function)
浮動小数点演算の10進精度を管理する
(public member function)
フィールド幅を管理する
(public member function)
ロケール
ロケールを設定する
(public member function)
現在のロケールを返す
(public member function)
内部拡張可能配列
[static]
プログラム全体で一意の整数を返し、 pword() および iword() のインデックスとして安全に使用できる
(public static member function)
必要に応じてプライベートストレージをリサイズし、指定されたインデックスの long 要素にアクセスする
(public member function)
必要に応じてプライベートストレージをリサイズし、指定されたインデックスの void * 要素にアクセスする
(public member function)
その他
イベントコールバック関数を登録する
(public member function)
C++とCのI/Oライブラリが相互運用可能かどうかを設定する
(public static member function)

メンバークラス

ストリーム例外
(public member class)
標準ストリームオブジェクトを初期化する
(public member class)

メンバー型と定数

説明
ストリームオープンモード型

以下の定数も定義されています:

定数 説明
app 各書き込み前にストリームの終端へシーク
binary バイナリモード でオープン
in 読み取り用にオープン
out 書き込み用にオープン
trunc オープン時にストリームの内容を破棄
ate オープン直後にストリームの終端へシーク
noreplace (C++23) 排他モードでオープン

(typedef)
書式フラグ型

以下の定数も定義されています:

定数 説明
dec 整数I/Oで10進基数を使用:参照 std::dec
oct 整数I/Oで8進基数を使用:参照 std::oct
hex 整数I/Oで16進基数を使用:参照 std::hex
basefield dec | oct | hex 。マスキング操作に有用
left 左揃え(右側に埋め文字を追加):参照 std::left
right 右揃え(左側に埋め文字を追加):参照 std::right
internal 内部揃え(内部指定点に埋め文字を追加):参照 std::internal
adjustfield left | right | internal 。マスキング操作に有用
scientific 浮動小数点型を指数表記で生成、または fixed と組み合わせた場合は16進表記:参照 std::scientific
fixed 浮動小数点型を固定小数点表記で生成、または scientific と組み合わせた場合は16進表記:参照 std::fixed
floatfield scientific | fixed 。マスキング操作に有用
boolalpha bool 型を英数字形式で挿入・抽出:参照 std::boolalpha
showbase 整数出力で数値基数を示す接頭辞を生成、通貨I/Oで通貨インジケータを要求:参照 std::showbase
showpoint 浮動小数点数出力で小数点文字を無条件に生成:参照 std::showpoint
showpos 非負数値出力で + 文字を生成:参照 std::showpos
skipws 特定の入力操作前に先頭の空白をスキップ:参照 std::skipws
unitbuf 各出力操作後に出力をフラッシュ:参照 std::unitbuf
uppercase 特定の出力操作で特定の小文字を大文字に置換:参照 std::uppercase

(typedef)
ストリームの状態を表す型

以下の定数も定義されています:

定数 説明
goodbit エラーなし
badbit 回復不可能なストリームエラー
failbit 入出力操作の失敗(書式化または抽出エラー)
eofbit 関連付けられた入力シーケンスがファイル終端に到達

(typedef)
シーク方向の型

以下の定数も定義されています:

定数 説明
beg ストリームの先頭
end ストリームの末尾
cur ストリーム位置指示子の現在位置

(typedef)
イベントタイプを指定
(列挙型)
コールバック関数型
(typedef)
非推奨メンバ型
説明
io_state (非推奨) iostate のように使用できる整数型
open_mode (非推奨) openmode のように使用できる整数型
seek_dir (非推奨) seekdir のように使用できる整数型
streamoff (非推奨) off_type のように使用できる未規定の型(必ずしも std::streamoff ではない)
streampos (非推奨) pos_type のように使用できる未規定の型(必ずしも std::streampos ではない)
(C++17まで)

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 1357
( N3110 )
C++98 std::ios_base operator~ operator &
および operator | を型 openmode fmtflags および
iostate に対して定義しており、 BitmaskType の要件に違反 [1]
これらの定義を削除
  1. BitmaskType は自身でビット演算をサポートする必要があります。ビット演算のサポートは外部から提供されるべきではありません。

関連項目

任意のストリームバッファを管理する
(クラステンプレート)