次の方法で共有


basic_streambuf::underflow

入力ストリームの現在の要素を配置するために、プロテクト仮想関数。

virtual int_type underflow( );

戻り値

現在の要素。

解説

プロテクト仮想メンバー関数は、現在のストリーム内の位置を進めないで入力ストリームから現在の要素 ch を、配置するようにコミットし traits_type::to_int_typech () として返します。これはさまざまな方法で行うことがあります:

  • 読み取り位置が使用できる場合、は読み取り ch 位置に格納されている要素です。このの詳細については、basic_streambuf Classの " 解説 " を参照してください。

  • この例では、入力バッファーの新規またはディスク ストレージ機構を追加し、割り当てることで、一つ以上の要素を読み取る読み取り位置が、外部ソースから作成できます。このの詳細については、basic_streambuf Classの " 解説 " を参照してください。

関数が正常終了できない場合 traits_type::eof() を返すか、例外をスローします。それ以外の場合は、前に説明したように変換される入力ストリームの現在の要素を返します。既定の動作では、traits_type::eof() が返されます。

underflow の仮想関数は、同期します。オーバーフロー 関数と、streambufの特性派生クラスを定義します。各派生クラスは underflow を異なる方法で実装できますが、ストリーム クラスでインターフェイスは同じです。

underflow 関数は sgetcsgetn などの streambuf のパブリック関数によって最も頻繁に派生の空の領域が、他のクラスは、ストリーム クラス、underflow をいつでも呼び出すときに呼び出されます。

underflow の関数は、入力ソースから文字を取得の領域に指定します。Get 領域が文字が含まれている場合は、underflow は最初の文字を返します。Get 領域が空の場合、GET 領域を読み込み、(GET 領域に合わせる) 次の文字返します。これ以上の文字が利用できる状態でなければ、underflowEOF を返し、GET 領域を空になります。

strstreambuf のクラスでは、underflowoverflowの呼び出しによって動的に割り当てられたストレージにアクセス egptr のポインターを置いています。

必要条件

ヘッダー: <streambuf>

名前空間: std

参照

関連項目

basic_streambuf Class

入出力ストリームのプログラミング

入出力ストリームの規則