名前空間
変種
操作

名前付き要件: FormattedInputFunction

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
基本
レイアウト
ライブラリ全体
コンテナ
コンテナの要素
イテレータ
ストリーム入出力
FormattedInputFunction
乱数
並行処理
(C++11)

(C++11)
(C++11)
その他
 

[編集] 要件

FormattedInputFunction は以下の動作を行うストリーム入力関数です。

  • 自動記憶域期間を持つ basic_istream::sentry 型のオブジェクトを noskipws 引数を false に設定して構築します。 これは以下の動作を行います。
  • 入力ストリームに eofbit または badbit がセットされている場合、 failbit も同様にセットし、さらに、この入力ストリームの例外マスクで failbit に対する例外が有効な場合、 ios_base::failure を投げます。
  • 適用可能であれば、 tie() されている出力ストリームをフラッシュします。
  • この入力ストリームに ios_base::skipws フラグがセットされている場合、以下のいずれかが真になるまで入力ストリームから文字を抽出して破棄します。
  • 入力ストリームの次の利用可能な文字が、このストリームに現在設定されているロケールの std::ctype ファセットによって判定されるところによれば、ホワイトスペース文字でない。 非ホワイトスペース文字は抽出されません。
  • ストリームの終端に達した。 この場合、 failbiteofbit がセットされ、さらにこれらのビットのいずれかに対する例外が有効な場合、 ios_base::failure が投げられます。
  • sentry::operator bool() を呼んだかのように sentry の状態を確認します。 これは basic_ios::good と同等です。
  • sentry が false を返した、または sentry のコンストラクタが例外を投げた場合、入力は行われません。
  • sentry が true を返した場合、 rdbuf()->sbumpc() または rdbuf()->sgetc() を呼んだかのように入力が行われます。
  • ストリームの終端に達した (rdbuf()->sbumpc() または rdbuf()->sgetc() の呼び出しが Traits::eof() を返した) 場合、 eofbit をセットします。 このストリームの例外マスクで eofbit に対する例外が有効な場合、 ios_base::failure を投げます。
  • 入力中に例外が投げられた場合、入力ストリームの badbit をセットします。 このストリームの例外マスクで badbit に対する例外が有効な場合、その例外が投げ直されます。
  • 例外が投げられなかった場合、 *this を返します。
  • いかなる出来事が発生しても、例外によって終了したか戻ったかにかかわらず、この関数を抜ける前に sentry のデストラクタが呼ばれます。

[編集] 標準ライブラリ

以下の標準ライブラリの関数は FormattedInputFunction です。