Udostępnij za pośrednictwem


basic_streambuf — Klasa

W tym artykule opisano abstrakcyjna klasa podstawowa dla wyprowadzania buforze strumienia, która steruje transmisją elementy do i od szczególnych reprezentacji strumienia.

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

Parametry

Uwagi

Klasa szablon opisuje abstrakcyjna klasa podstawowa dla wyprowadzania buforze strumienia, która steruje transmisją elementy do i od szczególnych reprezentacji strumienia.Obiekt klasy basic_streambuf ułatwia kontrolowanie strumienia z elementami typu Tr, znany również jako char_type, których cechy charakteru są określane przez klasę char_traits, znany również jako traits_type.

Bufor każdego strumienia koncepcyjnie kontroluje dwa niezależne strumienie: jedną do ekstrakcji (wejścia) i jedną dla wstawienia (wyjście).Przedstawienie konkretnych może jednakże, zrobić jednej lub obu tych strumieni niedostępne.Utrzymuje on zwykle jakiś związek między dwoma strumieniami.Wstaw do strumienia wyjściowego basic_stringbuf<Elem, Tr> obiektu, na przykład to, co później wyodrębniony z jego strumień wejściowy.Kiedy umieść jeden strumień z basic_filebuf<Elem, Tr> obiektu, umieść innych strumienia w parze.

Interfejs publiczny do szablonu klasy basic_streambuf dostarcza operacje, które są wspólne dla wszystkie bufory strumienia, jednak wyspecjalizowane.Interfejs chroniony dostaw operacje przedstawienie konkretnych strumienia, do wykonania swojej pracy.Funkcji chronionych wirtualnych elementów członkowskich pozwalają dostosować zachowanie buforu pochodne strumienia dla szczególnych reprezentacji strumienia.Poszczególnych buforach strumienia pochodnych w tej bibliotece w tym artykule opisano sposób specjalizuje się na zachowanie jego funkcji wirtualnych członek chroniony.Zachowanie domyślne dla klasy podstawowej, która jest często, aby nic nie rób, jest opisana w tym temacie.

Pozostałe chronione kontroli funkcji Kopiowanie do i z miejsca na przechowywanie danych dostarczonych do buforu transmisji do i ze strumieni.Bufor wejściowy, na przykład, charakteryzuje się:

  • eback, wskaźnik na początek buforu.

  • gptr, wskaźnik do następnego elementu do odczytu.

  • egptr, wskaźnik tuż obok końca buforu.

Podobnie bufor wyjściowy charakteryzuje się:

  • pbase, wskaźnik na początek buforu.

  • pptr, wskaźnik do następnego elementu do zapisu.

  • epptr, wskaźnik tuż obok końca buforu.

Wszelkie buforu służy następującym protokołem:

  • Jeśli wskaźnik dalej jest null, bez buforowania nie istnieje.W przeciwnym wypadku wszystkie trzy wskaźniki punktu w tej samej kolejności.Mogą być bezpiecznie porównywane dla zamówienia.

  • Dla bufor wyjściowy Jeśli wskaźnik dalej porównuje mniej niż wskaźnik końca można przechowywać element na wyznaczone przez następne wskaźnik pozycji zapisu.

  • Dla buforu wejściowego Jeśli wskaźnik dalej porównuje mniej niż wskaźnik końca może odczytywać element w miejscu odczytu wyznaczone przez następne wskaźnik.

  • Dla buforu wejściowego czy wskaźnik początku porównuje mniej niż wskaźnik dalej, można umieścić powrót element w miejscu putback wyznaczone przez wskaźnik dalej zmniejszany.

Chronione żadnego członka wirtualnego funkcji zapisu dla Klasa pochodna od basic_streambuf<Elem, Tr> muszą współpracować w utrzymaniu niniejszego protokołu.

Obiekt klasy basic_streambuf<Elem, Tr> przechowuje wskaźniki sześć to zostało wcześniej opisane.Również przechowuje obiekt ustawień regionalnych w obiekt typu ustawień regionalnych do wykorzystania potencjalnych przez bufor pochodne strumienia.

Konstruktorów

basic_streambuf

Obiekt obiekt typu basic_streambuf.

Typedefs

char_type

Kojarzy nazwę typu z Elem parametr szablonu.

int_type

Kojarzy Nazwa typu w basic_streambuf z zakresu Elem parametr szablonu.

off_type

Kojarzy Nazwa typu w basic_streambuf z zakresu Elem parametr szablonu.

pos_type

Kojarzy Nazwa typu w basic_streambuf z zakresu Elem parametr szablonu.

traits_type

Kojarzy nazwę typu z Tr parametr szablonu.

Funkcje członkowskie

eback

Chronione funkcji, która zwraca wskaźnik na początek buforu wejściowego.

egptr

Chronione funkcji, która zwraca wskaźnik po prostu poza koniec buforu wejściowego.

epptr

Chronione funkcji, która zwraca wskaźnik po prostu poza koniec buforu wyjściowego.

gbump

Funkcja chronionych, która dodaje _Count do następnego wskaźnik do buforu wejściowego.

getloc

Pobiera basic_streambuf obiektu ustawień regionalnych.

gptr

Chronione funkcji, która zwraca wskaźnik do następnego elementu w buforze wejściowym.

Nasycić

A chroniony, wirtualny funkcja wywoływana przez pubimbue.

in_avail

Zwraca liczbę elementów, które są gotowe do odczyt z bufora.

przepełnienie

Chronione funkcji wirtualnych może być wywoływana po wstawieniu nowego znaku do pełnego buforu.

pbackfail

Funkcja chroniony członek wirtualnego, która stara się umieścić element z powrotem w strumieniu wejściowym następnie sprawiają, że bieżący element (wskazywany przez następne wskaźnik).

pbase

Chronione funkcji, która zwraca wskaźnik na początek buforu wyjściowego.

pbump

Funkcja chronionych, która dodaje count do następnego wskaźnik do buforu wyjściowego.

pptr

Chronione funkcji, która zwraca wskaźnik do następnego elementu buforu wyjściowego.

pubimbue

Zestawy basic_streambuf obiektu ustawień regionalnych.

pubseekoff

Wywołania seekoff, chronione funkcji wirtualnych, który jest zastąpiony w klasie pochodnej.

pubseekpos

Wywołania seekpos, chronione funkcji wirtualnych, który jest zastąpiony w klasie pochodnej i resetuje bieżącą pozycję wskaźnika.

pubsetbuf

Wywołania setbuf, chronione funkcji wirtualnych, który jest zastąpiony w klasie pochodnej.

pubsync

Wywołania sync, chronione funkcji wirtualnych, który jest zastąpiony w klasie pochodnej i aktualizuje zewnętrznego strumienia skojarzone z tego buforu.

sbumpc

Odczytuje i zwraca bieżący element, przesuwając wskaźnik strumienia.

seekoff

Funkcja chroniony członek wirtualnego próbuje alter aktualnej pozycji dla kontrolowanego strumieni.

seekpos

Funkcja chroniony członek wirtualnego próbuje alter aktualnej pozycji dla kontrolowanego strumieni.

setbuf

Funkcja chroniony członek wirtualnego wykonuje zwłaszcza operacji do poszczególnych buforach strumienia pochodnej.

setg

Chronione funkcji, która przechowuje _Gbeg w wskaźnik początek _Gnext w następnym wskaźnik, i _Gend w kursor końca buforu wejściowego.

setp

Funkcja chronionych, która przechowuje _Pbeg w wskaźnik początku i _Pend w końcu wskaźnik do buforu wyjściowego.

sgetc

Zwraca bieżący element bez zmiany pozycji w strumieniu.

sgetn

Zwraca liczbę elementów odczytu.

showmanyc

Chronione funkcji członka wirtualnego, która zwraca liczbę liczbę znaków, które mogą być pozyskiwane z strumień wejściowy i upewnij się, że program nie będzie podlegał nieokreślony oczekiwania.

snextc

Odczytuje bieżącego elementu i zwraca następujący element.

sputbackc

Przełączenie char_type w strumieniu.

sputc

Umieszcza znak w strumieniu.

sputn

Przełącza ciąg znaków w strumieniu.

stossc

Przenieść przeszłość bieżący element w strumieniu.

sungetc

Pobiera znak ze strumienia.

swap

Wymienia wartości w tym obiekcie dla wartości w dołączonym basic_streambuf obiekt parametru.

Synchronizacja

Chronione funkcji wirtualnych próbę synchronizacji kontrolowanego strumieni z skojarzone strumienie zewnętrznych.

uflow

Chronione funkcji wirtualnych wyodrębnia bieżącego elementu z strumień wejściowy.

niedopełnienie

Chronione funkcji wirtualnych wyodrębnia bieżącego elementu z strumień wejściowy.

xsgetn

Chronione funkcji wirtualnych wyodrębnia elementy z strumień wejściowy.

xsputn

Chronione funkcji wirtualnych Wstawia elementy do strumienia wyjściowego.

Operatory

operator=

Przypisuje wartości tego obiektu z innego basic_streambuf obiektu.

Wymagania

Nagłówek:<streambuf>

Przestrzeń nazw: std

Zobacz też

Informacje

Bezpieczeństwo wątku w standardowej bibliotece C++

iostream Programming

Konwencje iostream

Inne zasoby

basic_streambuf członkowie

<streambuf> Członkowie