std::ios_base
From cppreference.com
| ヘッダ <ios>で定義 |
||
| class ios_base; |
||
クラス ios_base は、すべての I/O ストリームクラスの基底クラスとして機能する多目的クラスです。いくつかの種類のデータを保持します。
1) 状態情報: ストリームステータスフラグ。
2) 制御情報: 入力および出力シーケンスのフォーマットと設定されたロケールを制御するフラグ。
3) プライベートストレージ: long および void* メンバーの両方を許可するインデックス付きの拡張可能なデータ構造。これは、2つの任意の長さの配列、または2要素構造体の単一の配列、または別のコンテナとして実装される場合があります。
典型的な実装では、以下に示す fmtflags、iostate、openmode、および seekdir のすべての値に対応するメンバー定数、現在の精度、幅、およびフォーマットフラグ、例外マスク、バッファエラー状態、コールバックを保持するサイズ変更可能なコンテナ、現在設定されているロケール、プライベートストレージ、および xalloc() の静的整数変数を保持します。
目次 |
[編集] メンバ関数
| オブジェクトを構築する (protected メンバ関数) | |
| [virtual] |
オブジェクトを破棄する (virtual public メンバ関数) |
| ストリームに代入する (public メンバ関数) | |
書式化 | |
| 書式フラグを管理する (public メンバ関数) | |
| 特定の書式フラグを設定する (public メンバ関数) | |
| 特定の書式フラグをクリアする (public メンバ関数) | |
| 浮動小数点数操作の小数点以下の精度を管理する (public メンバ関数) | |
| フィールド幅を管理する (public メンバ関数) | |
ロケール | |
| ロケールを設定する (public メンバ関数) | |
| 現在のロケールを返す (public メンバ関数) | |
内部拡張可能配列 | |
| [static] |
pword() と iword() のインデックスとして安全に使用できる、プログラム全体で一意な整数を返す (public static メンバ関数) |
| 必要に応じてプライベートストレージのサイズを変更し、指定されたインデックスの long 要素にアクセスする (public メンバ関数) | |
| 必要に応じてプライベートストレージのサイズを変更し、指定されたインデックスの void* 要素にアクセスする (public メンバ関数) | |
その他 | |
| イベントコールバック関数を登録する (public メンバ関数) | |
| [static] |
C++ と C の I/O ライブラリが相互運用可能かどうかを設定する (public static メンバ関数) |
メンバクラス | |
| ストリーム例外 (public メンバクラス) | |
| 標準ストリームオブジェクトを初期化する (public メンバクラス) | |
メンバ型と定数 | |||||||||||||||||||||||||||||||||||||||
| 型 | 説明 | ||||||||||||||||||||||||||||||||||||||
| ストリームオープンモードの型 以下の定数も定義される
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 書式化フラグの型 以下の定数も定義される
(typedef) | |||||||||||||||||||||||||||||||||||||||
| ストリームの状態の型 以下の定数も定義される
(typedef) | |||||||||||||||||||||||||||||||||||||||
| シーク方向の型 以下の定数も定義される
(typedef) | |||||||||||||||||||||||||||||||||||||||
| イベントの種類を指定する (enum) | |||||||||||||||||||||||||||||||||||||||
| コールバック関数の型 (typedef) | |||||||||||||||||||||||||||||||||||||||
|
(C++17まで) | ||||||||||||||
[編集] 欠陥報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 1357 (N3110) |
C++98 | std::ios_base は、openmode、fmtflags、および iostate 型に対して operator~、operator&、および operator| を定義しており、BitmaskType[1] の要件に違反していた |
これらの定義は削除された |
- ↑ BitmaskType は、それ自身のビット演算をサポートする必要があります。ビット演算のサポートは外部から提供されるべきではありません。
[編集] 参照
| 任意のストリームバッファを管理する (クラステンプレート) |