basic_streambuf::overflow
Chráněné virtuální funkce, která může být vyvolána při nový znak je vložen v celé vyrovnávací paměti.
virtual int_type overflow(
int_type _Meta = traits_type::eof( )
);
Parametry
- _Meta
Znak vložit do vyrovnávací paměti, nebo traits_type::eof.
Vrácená hodnota
Pokud funkce nemůže úspěšně, vrátí traits_type::eof nebo vyvolá výjimku.Jinak vrací traits_type::not_eof(_Meta).Výchozí chování je vrátíte traits_type::eof.
Poznámky
Pokud _Meta neporovnává rovno traits_type::eof, endeavors chráněné virtuální členské funkce Vložit prvek traits_type::to_char_type(_Meta) do výstupního proudu.Můžete tak učinit různými způsoby:
Pokud write position je k dispozici, může uložení prvku do pozice zápisu a zvýšit další ukazatele pro výstupní vyrovnávací paměť.
Jej zpřístupnit zápis pozice přidělením nové nebo dodatečné úložiště pro výstupní vyrovnávací paměť.
Jej zpřístupnit zápis pozice tak psaní out, na některých externích cílů, některé nebo všechny prvky mezi počáteční a další ukazatele pro výstupní vyrovnávací paměť.
Funkce virtuální přetečení společně s synchronizace a podtečení funkce, definuje vlastnosti třídy odvozené streambuf.Odvozené třídy implementovat přetečení odlišně, ale rozhraní s volání třídy datového proudu je stejný.
overflow Funkce se nazývá nejčastěji veřejností streambuf funguje jako sputc a sputn při zaplnění put oblasti, ale můžete volat jiných tříd včetně třídy datového proudu overflow kdykoli.
Funkce spotřebovává znaků v oblasti mezi put pbase a pptr ukazatele a poté nové inicializaci put oblasti.overflow Funkce také musí spotřebovat nCh (Pokud nCh není EOF), nebo může být zvolte umístit, vložit znak v nové oblasti tak, že bude v příští volání spotřebovány.
Definice consume liší odvozené třídy.Například filebuf třídy zapíše do souboru jeho znaků, zatímco strstreambuf třídy ponechá je ve vyrovnávací paměti a (Pokud je označen jako dynamickou vyrovnávací paměti) rozšiřuje na výzvy k přetečení vyrovnávací paměti.Toto rozšíření je dosáhnout uvolnění starých vyrovnávací paměti a jeho nahrazení jednu novou, větší.Ukazatelů jsou upraveny podle potřeby.
Požadavky
Záhlaví: <streambuf>
Obor názvů: std