Język C++
basic_streambuf::underflow
[metoda] Odczytuje znaki z powiązanej sekwencji wejściowej do obszaru pobierania danych.Składnia
#include <streambuf>
namespace std
{
template < class CharT, class Traits = std::char_traits < CharT > >
class basic_streambuf
{
protected:
virtual int_type underflow();
};
}
Zwracana wartość
Funkcja zwraca wartość znaku wskazywanego przez wskaźnik odczytywania danych (rzutowanego na typ
int_type
przez wywołanie
Traits::to_int_type( c )
). W przypadku błędu oraz w klasie bazowej zwracaną wartością jest
Traits::eof()
.
Opis szczegółowy
Wersja tej funkcji występująca w klasie bazowej nie wykonuje żadnych działań. Klasy dziedziczące mogą przysłaniać tą funkcję, aby pozwolić na aktualizacje obszaru pobierania danych w przypadku ich wyczerpania. Funkcja gwarantuje, że przynajmniej jeden znak jest dostępny w obszarze pobierania danych. Jeśli jest to potrzebne, funkcja może zaktualizować stan obszaru pobierania danych i odczytać większą ilość danych z sekwencji wejściowej, a także zaktualizować wartości wskaźników zwracanych przez funkcje
gptr()
,
egptr()
i
eback()
(aby określić położenie odczytanych danych).
Dodatkowe informacje
Publiczne funkcje klasy
streambuf wywołują tą funkcję tylko, jeśli wyrażenie
( gptr() == nullptr ) ||( gptr() >= egptr() )
zwróci wartość
true
(funkcja gwarantuje to w przypadku błędu).
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.