Namespaces
Variants

std:: basic_ios

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

class CharT,
class Traits = std:: char_traits < CharT >
> class basic_ios

: public std:: ios_base

std::basic_ios クラスは、 std::basic_streambuf インターフェースを持つオブジェクトとの連携機能を提供します。複数の std::basic_ios オブジェクトが、単一の実際の std::basic_streambuf オブジェクトを参照することが可能です。

cpp/io/ios base std-basic ios-inheritance.svg

継承図

一般的な文字型に対するいくつかのtypedefが提供されています:

定義済みヘッダー <ios>
定義
std::ios std :: basic_ios < char >
std::wios std :: basic_ios < wchar_t >

目次

メンバー型

メンバー型 定義
char_type CharT
traits_type Traits ; プログラムは、 Traits::char_type CharT でない場合、不適格となる。
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

パブリックメンバー関数

オブジェクトを構築する
(public member function)
[virtual]
オブジェクトを破棄する
(virtual public member function)
operator=
コピー代入演算子は削除されている
(public member function)
状態関数
エラーが発生していないか(つまりI/O操作が利用可能か)をチェックする
(public member function)
ファイル終端に達したかどうかをチェックする
(public member function)
エラーが発生したかどうかをチェックする
(public member function)
回復不可能なエラーが発生したかどうかをチェックする
(public member function)
エラーが発生したかどうかをチェックする( fail() の同義語)
(public member function)
エラーが発生していないかどうかをチェックする( ! fail() の同義語)
(public member function)
状態フラグを返す
(public member function)
状態フラグを設定する
(public member function)
状態フラグを変更する
(public member function)
フォーマット
フォーマット情報をコピーする
(public member function)
埋め文字を管理する
(public member function)
その他
例外マスクを管理する
(public member function)
ロケールを設定する
(public member function)
関連付けられたストリームバッファを管理する
(public member function)
関連付けられたストリームを管理する
(public member function)
文字をナロー化する
(public member function)
文字をワイド化する
(public member function)

プロテクテッドメンバー関数

デフォルト構築された std::basic_ios を初期化する
(protected member function)
(C++11)
別の std::basic_ios から移動する( rdbuf を除く)
(protected member function)
(C++11)
別の std::basic_ios と交換する( rdbuf を除く)
(protected member function)
rdbuf を置き換える(エラー状態はクリアしない)
(protected member function)

std:: std:: ios_base から継承

メンバー関数

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

メンバー型と定数

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

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

定数 説明
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)

注記

std::basic_ios の素直な実装では、以下のメンバーのみを格納します(これらはすべてテンプレートパラメータに依存するため、 std::ios_base の一部とはなりません):

  • フィル文字( fill() を参照)
  • 接続されたストリームポインタ( tie() を参照)
  • 関連付けられたストリームバッファポインタ( rdbuf() を参照)。

実際の実装は様々です:

Microsoft Visual Studioはこれら3つのメンバーのみを格納します。

LLVM libc++は1つ少ないメンバーを保持します:それは rdbuf ポインタを void * 型のメンバーとして ios_base 内に維持します。

GNU libstdc++は4つの追加メンバーを格納します:キャッシュされた3つのファセットと、fillが初期化されたことを示すフラグです。