Język C++
basic_streambuf::overflow
[metoda] Wysyła znaki z obszaru zapisywania na wyjście.Składnia
#include <streambuf>
namespace std
{
template < class CharT, class Traits = std::char_traits < CharT > >
class basic_streambuf
{
protected:
virtual int_type overflow( int_type ch = traits::eof() );
};
}
Argumenty
Zwracana wartość
W klasie bazowej oraz w przypadku błędu funkcja zwraca wartość
Traits::eof()
, inne zwracane wartości oznaczają sukces.
Dodatkowe informacje
Funkcja
sputc()
oraz
sputn()
wywołuje tą funkcję, gdy wartość wyrażenia
(( pptr() == nullptr ) ||( pptr() >= epptr() ) )
wynosi
true
.
Opis szczegółowy
Funkcja zapewnia miejsce na przechowywanie przynajmniej jednego znaku przez wysłanie części danych na wyjście i aktualizację wartości wskaźników (jeśli jest to potrzebne). Nowy znak może zostać wysłany na wyjście lub umieszczony w obszarze zapisywania gdy jego wartość nie wynosi
Traits::eof()
. Funkcja może zaktualizować wartości wskaźników zwracanych przez funkcje
pptr,
epptr i
pbase, aby określić obszar do zapisywania większej ilości danych. W przypadku błędu funkcja gwarantuje, że wyrażenie
(( pptr() == nullptr ) ||( pptr() == epptr() ) )
zwróci wartość
true
. Wersja tej funkcji występująca w klasie bazowej nie wykonuje żadnych działań. Klasy dziedziczące po niej mogą przeciążać tą funkcję, aby aktualizować stan obszaru zapisywania w przypadku wyczerpania miejsca na dane.
Zagadnienia powiązane
underflow | Odczytuje znaki z powiązanej sekwencji wejściowej do obszaru pobierania danych. (metoda) |
---|
uflow | Odczytuje znaki z powiązanej sekwencji wejściowej do obszaru pobierania i zwiększa wartość następnego wskaźnika. (metoda) |
---|
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.