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 関数は sgetc と sgetn などの streambuf のパブリック関数によって最も頻繁に派生の空の領域が、他のクラスは、ストリーム クラス、underflow をいつでも呼び出すときに呼び出されます。
underflow の関数は、入力ソースから文字を取得の領域に指定します。Get 領域が文字が含まれている場合は、underflow は最初の文字を返します。Get 領域が空の場合、GET 領域を読み込み、(GET 領域に合わせる) 次の文字返します。これ以上の文字が利用できる状態でなければ、underflow は EOF を返し、GET 領域を空になります。
strstreambuf のクラスでは、underflow は overflowの呼び出しによって動的に割り当てられたストレージにアクセス egptr のポインターを置いています。
必要条件
ヘッダー: <streambuf>
名前空間: std