Sdílet prostřednictvím


basic_streambuf – třída

Abstraktní základní třídu pro odvození datového proudu vyrovnávací paměti řídí přenos prvky z konkrétní reprezentace datového proudu a popisuje.

template<class Elem, class Tr = char_traits<Elem> >
   class basic_streambuf;

Parametry

Poznámky

Třída šablony popisuje abstraktní základní třídu pro odvození datového proudu vyrovnávací paměti řídí přenos prvky z konkrétní reprezentace datového proudu a.Objekt třídy basic_streambuf usnadňuje řízení proudu s prvky typu Tr, také známý jako char_type, jehož znak znaky jsou určeny třídy char_traits, také známý jako traits_type.

Každé vyrovnávací paměti datového proudu řídí koncepčně dvěma nezávislými datovými proudy: jeden pro extrakce (vstup) a jeden pro vložení (výstup).Zvláštních vyobrazení, mohou však provádět jednu nebo obě tyto proudy nepřístupné.Obvykle udržuje určitý vztah mezi dvěma datovými proudy.Vložit do výstupního proudu basic_stringbuf<Elem, Tr> objekt, například je, co později extrahujete z jeho vstupní datový proud.Když umístíte jeden datový proud basic_filebuf<Elem, Tr> objektu, umístěte do datového proudu v tandem.

Veřejné rozhraní třídy šablony basic_streambuf operací, které jsou společné pro všechny vyrovnávací paměti datového proudu, ale specializované dodávky.Chráněné rozhraní poskytuje operace potřebné pro konkrétní vyjádření proudu ke své práci.Chráněné virtuální členská funkce umožňují přizpůsobit chování vyrovnávací paměti odvozené datový proud pro konkrétní reprezentace datového proudu.Každé vyrovnávací paměti odvozené datový proud v této knihovně popisuje, jak se specializuje chování jeho chráněné virtuální členská funkce.Výchozí chování pro základní třídy, která je často Neprovádět žádnou akci, je popsán v tomto tématu.

Zbývající chráněn členské funkce řízení kopírování do a z jakékoliv skladovací dodaná vyrovnávací paměť přenosech a datové proudy.Vstupní vyrovnávací paměti, například je charakterizována:

  • eback, ukazatel na začátek vyrovnávací paměti.

  • gptr, ukazatel na další prvek, který chcete číst.

  • egptr, ukazatel pouze za konec vyrovnávací paměti.

Podobně je vyrovnávací paměť výstupu charakterizována:

  • pbase, ukazatel na začátek vyrovnávací paměti.

  • pptr, ukazatel na další element pro zápis.

  • epptr, ukazatel pouze za konec vyrovnávací paměti.

Všechny vyrovnávací paměti pro tento protokol slouží:

  • Pokud další ukazatel hodnotu null, neexistuje žádná vyrovnávací paměť.Jinak všechny tři ukazatele přejděte do stejné sekvence.Můžete bezpečně neporovnávají pro objednávku.

  • Pro vyrovnávací paměti výstupu pokud méně než koncový ukazatel porovnává další ukazatele lze uložit prvek na pozici zápis určí další ukazatele.

  • Vstupní vyrovnávací paměti Pokud další ukazatele porovnává méně než koncový ukazatel můžete číst prvek čtení v poloze určené další ukazatele.

  • Vstupní vyrovnávací paměti Pokud méně než další ukazatele porovnává ukazatel na začátek můžete umístit zpět prvku putback v poloze určené snížena další ukazatele.

Některé chráněné virtuální členská funkce zápisu pro třídy odvozené z basic_streambuf<Elem, Tr> musí spolupracovat při zachování tohoto protokolu.

Objekt třídy basic_streambuf<Elem, Tr> ukládá šest ukazatelů popsaných výše.Také uloží objekt národního prostředí objekt typu národního pro potenciální použití vyrovnávací paměti odvozené datový proud.

Konstruktory

basic_streambuf

Vytvoří objekt typu basic_streambuf.

Typedefs

char_type

Přiřadí název typu se Elem parametr šablony.

int_type

Přiřadí název typu v basic_streambuf oboru se Elem parametr šablony.

off_type

Přiřadí název typu v basic_streambuf oboru se Elem parametr šablony.

pos_type

Přiřadí název typu v basic_streambuf oboru se Elem parametr šablony.

traits_type

Přiřadí název typu se Tr parametr šablony.

Členské funkce

eback

Chráněné funkce, která vrací ukazatel na začátek vstupní vyrovnávací paměti.

egptr

Chráněné funkce, která vrací ukazatel těsně za koncem vstupní vyrovnávací paměti.

epptr

Chráněné funkce, která vrací ukazatel pouze za konec vyrovnávací paměti výstupu.

gbump

Chráněné funkci, která přidává _Count na další ukazatel pro vstupní vyrovnávací paměti.

getloc

Získá basic_streambuf objektu národního prostředí.

gptr

Chráněné funkce, která vrací ukazatel na další prvek vstupní vyrovnávací paměti.

imbue

A chráněné virtuální funkci pubimbue.

in_avail

Vrátí počet prvků, které jsou připraveny ke čtení z vyrovnávací paměti.

overflow

Chráněné virtuální funkce, která může být volána, když nový znak je vložen do plné vyrovnávací paměti.

pbackfail

Chráněné virtuální členská funkce, která se pokusí vrátit prvek do vstupního datového proudu, proveďte jeho aktuální prvek (ukazující na další ukazatel).

pbase

Chráněné funkce, která vrací ukazatel na začátek výstupní vyrovnávací paměť.

pbump

Chráněné funkci, která přidává count na další ukazatel pro výstupní vyrovnávací paměť.

pptr

Chráněné funkce, která vrací ukazatel na další prvek výstupní vyrovnávací paměť.

pubimbue

Sady basic_streambuf objektu národního prostředí.

pubseekoff

Volání seekoff, chráněné virtuální funkce, která je přepsán v odvozené třídě.

pubseekpos

Volání seekpos, chráněné virtuální funkce, která je přepsán v odvozené třídě a obnoví aktuální pozice ukazatele myši.

pubsetbuf

Volání setbuf, chráněné virtuální funkce, která je přepsán v odvozené třídě.

pubsync

Volání synchronizace, chráněné virtuální funkce, která je přepsán v odvozené třídě a aktualizuje externí datový proud přidružené k této vyrovnávací paměti.

sbumpc

Přečte a vrátí aktuální prvek ukazatele datového proudu.

seekoff

Chráněné virtuální členskou funkci se pokusí změnit aktuální umístění pro řízené proudy.

seekpos

Chráněné virtuální členskou funkci se pokusí změnit aktuální umístění pro řízené proudy.

setbuf

Chráněné virtuální členskou funkci provede operace specifické pro každé vyrovnávací paměti odvozené datový proud.

setg

Chráněné funkce, která ukládá _Gbeg v ukazatel začátek _Gnext v další ukazatel, a _Gend v koncové ukazatel pro vstupní vyrovnávací paměti.

setp

Chráněné funkce, která ukládá _Pbeg v ukazatel na začátek a _Pend v konce ukazatel pro výstupní vyrovnávací paměť.

sgetc

Vrátí aktuální prvek beze změny pozice v datovém proudu.

sgetn

Vrátí počet prvků číst.

showmanyc

Chráněné virtuální členskou funkci, která vrátí počet znaků, které lze extrahovat ze vstupního datového proudu a zajistily, že program nebude za neomezené čekání.

snextc

Načte aktuální prvek a vrátí následující element.

sputbackc

Vloží char_type v datovém proudu.

sputc

Vloží znak do datového proudu.

sputn

Převede řetězec znaků do datového proudu.

stossc

Přesun za aktuální prvek v datovém proudu.

sungetc

Získá znak z datového proudu.

zaměnit

Výměny hodnot v tomto objektu pro hodnoty v poskytované basic_streambuf parametru objektu.

synchronizace

Chráněné virtuální funkce, která se pokusí synchronizovat řízené proudy se všechny přidružené externí datové proudy.

uflow

Chráněné virtuální funkce, která vybere aktuální prvek od vstupního datového proudu.

podtečení

Chráněné virtuální funkce, která vybere aktuální prvek od vstupního datového proudu.

xsgetn

Chráněné virtuální funkce, která extrahuje prvky ze vstupního datového proudu.

xsputn

Chráněné virtuální funkce, která se vloží prvky do výstupního datového proudu.

Operátory

operátor =

Přiřadí hodnoty tohoto objektu z jiného basic_streambuf objektu.

Požadavky

Záhlaví:<streambuf>

Obor názvů: std

Viz také

Referenční dokumentace

Bezpečný přístup z více vláken ve standardní knihovně C++

iostream – programování

iostreams – konvence

Další zdroje

basic_streambuf členů

<streambuf> Členové