Aracılığıyla paylaş


basic_streambuf Class

Öğeleri belirli bir akış gösterimi gelen ve iletimini denetleyen bir akış arabellek türeyen bir soyut temel sınıf tanımlar.

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

Parametreler

Notlar

Şablon sınıfı öğeleri belirli bir akış gösterimi gelen ve iletimini denetleyen bir akış arabellek türeyen bir soyut temel sınıf tanımlar. Sınıfın bir nesnesi basic_streambuf yardımcı türündeki öğeleri içeren bir akış denetimi Trolarak da bilinir, char_type, karakter olan nitelikler sınıfı tarafından belirlenir char_traitsolarak da bilinir, traits_type.

Her Akış Arabellek kavramsal olarak iki bağımsız akışlarını kontrol: biri ayıklamaları (giriş) için ve biri için eklemeler (çıkış). Belirli bir gösterim ancak bu akışları etkinleştirebilir ya da erişilemez hale getirebilir. Genellikle, iki akışları arasındaki bazı ilişkileri korur. Çıktı akımına eklemek bir basic_stringbuf<Elem, Tr> Örneğin, ne, daha sonra kendi giriş akışından ayıklamak nesnesidir. Bir akışı getirin, bir basic_filebuf<Elem, Tr> Nesne iki kişilik diğer akış getirin.

Ortak arabirim için şablon sınıfı basic_streambuf ancak özelleştirilmiş tüm akış arabellekleri, ortak işlemler sağlar. Belirli bir akış gösterimi için işini yapmak için gerekli işlemleri korumalı arabirim sağlar. Korunan sanal üye işlevleri belirli bir akış gösterimi için türetilmiş akım arabelleği davranışı uyarlamanıza olanak sağlar. Bu kitaplıktaki her türetilmiş Akış Arabellek nasıl korumalı sanal üye işlevleri davranışını uzmanlaşmış açıklar. Bu konuda genellikle bir şey yapmak için temel sınıfı için varsayılan davranış açıklanır.

Kalan üye işlevler denetim için sağlanan arabellek iletimleri için herhangi bir depolama ve akış kopyalamayı korumalı. Bir giriş arabellek, örneğin tarafından belirlenir:

  • eback, arabellek başına bir işaretçi.

  • gptr, sonraki öğeyi okumak için bir işaretçi.

  • egptr, yalnızca arabelleğin sonunu gösteren bir işaretçi.

Benzer şekilde, çıkış arabelleği tarafından belirlenir:

  • pbase, arabellek başına bir işaretçi.

  • pptr, sonraki öğeyi yazmak için bir işaretçi.

  • epptr, yalnızca arabelleğin sonunu gösteren bir işaretçi.

Aşağıdaki protokol için herhangi bir arabellek kullanılır:

  • Sonraki işaretçi null ise, hiçbir arabellek bulunmaktadır. Aksi halde, tüm üç işaretçiler aynı sıra üzerine gelin. Bunlar, sipariş için güvenle karşılaştırılabilir.

  • Çıkış arabelleği son işaretçinin daha az sonraki işaretçi karşılaştırır, sonraki işaretçi belirlenmiş yazma konumunda bir öğe saklayabilirsiniz.

  • Bir giriş arabellek için sonraki işaretçi son işaretçi küçük karşılaştırır, sonraki işaretçi belirlenmiş okuma konumunda bir öğe okuyabilir.

  • Başına imleci sonraki işaretçi küçük karşılaştırır, bir giriş arabellek için geri bir öğe indirildiği düğümlerde sonraki işaretçi tarafından belirlenen putback konumundaki koyabilirsiniz.

Sanal üye işlevler türetilmiş bir sınıf için yazma korumalı herhangi basic_streambuf<Elem, Tr> Bu protokol bakımıyla işbirliği gerekir.

An object of class basic_streambuf<Elem, Tr> Yukarıda açıklanan altı işaretçiler depolar. Bu da yerel nesne türünde bir nesne depolar yerel türetilmiş Akış Arabellek olası kullanım için.

9h24a8cd.collapse_all(tr-tr,VS.110).gifOluşturucular

basic_streambuf

Türünde bir nesne yapıları basic_streambuf.

9h24a8cd.collapse_all(tr-tr,VS.110).gifTypeDef

char_type

Bir tür adıyla ilişkilendirir Elem şablon parametresi.

int_type

Tür adı içinde associates basic_streambuf ile kapsam Elem şablon parametresi.

off_type

Tür adı içinde associates basic_streambuf ile kapsam Elem şablon parametresi.

pos_type

Tür adı içinde associates basic_streambuf ile kapsam Elem şablon parametresi.

traits_type

Bir tür adıyla ilişkilendirir Tr şablon parametresi.

9h24a8cd.collapse_all(tr-tr,VS.110).gifÜye işlevleri

eback

Giriş arabelleği başına bir işaretçi döndürür korumalı bir işlevdir.

egptr

Giriş arabelleği sonunu sadece bir işaretçi döndürür korumalı bir işlevdir.

epptr

Çıkış arabelleği sonunu sadece bir işaretçi döndürür korumalı bir işlevdir.

gbump

Ekler korumalı bir işlev _Count sonraki fare işaretçisini giriş arabelleği için.

getloc

Alır basic_streambuf nesnenin yerel.

gptr

Giriş arabelleği İleri öğesine bir işaretçi döndürür korumalı bir işlevdir.

imbue

A korunan, sanal işlevi çağıran pubimbue.

in_avail

Arabelleğinden okumaya hazır olan öğelerin sayısını verir.

taşma

Yeni bir karakter tam arabelleğine eklendiğinde çağrılabilir bir korumalı sanal işlevi.

pbackfail

Bir öğe giriş akımına geri koymak için çalışır bir korumalı sanal üye işlev sonra yapmak (sonraki işaretçi işaret) geçerli öğe.

pbase

Çıkış arabelleği başına bir işaretçi döndürür korumalı bir işlevdir.

pbump

Ekler korumalı bir işlev count sonraki fare işaretçisini Çıktı arabelleği için.

pptr

Çıkış arabelleği İleri öğesine bir işaretçi döndürür korumalı bir işlevdir.

pubimbue

Ayarlar basic_streambuf nesnenin yerel.

pubseekoff

Çağrı seekoff, bir türetilmiş sınıfta geçersiz kılınmış sanal işlevi korumalı.

pubseekpos

Çağrı seekpos, bir türetilmiş sınıfta geçersiz kılınır ve geçerli işaretçi konumunu sıfırlar sanal işlevi korumalı.

pubsetbuf

Çağrı setbuf, bir türetilmiş sınıfta geçersiz kılınmış sanal işlevi korumalı.

pubsync

Çağrı eşitleme, bir türetilmiş sınıfta geçersiz kılınır ve bu arabellek ile ilişkili dış akış güncelleştirmelerini sanal işlevi korumalı.

sbumpc

Okur ve akış işaretçiyi taşıyarak geçerli öğeyi döndürür.

seekoff

Denetlenen akışları için geçerli konumlarını değiştirmek korumalı sanal üye işlevi çalışır.

seekpos

Denetlenen akışları için geçerli konumlarını değiştirmek korumalı sanal üye işlevi çalışır.

setbuf

Her türetilmiş Akış Arabellek işlemi belirli bir sanal korunan üye işlevi gerçekleştirir.

setg

Depolar korumalı bir işlev _Gbeg başlangıcı işaretçisi, _Gnext sonraki işaretçi, ve _Gend , giriş arabelleği sonu işaretçisi.

setp

Depolar korumalı bir işlev _Pbeg başlangıcı işaretçisi, ve _Pend çıkış arabelleği sonu işaretçisi olarak.

sgetc

Akış içindeki konumunu değiştirmeden geçerli öğeyi döndürür.

sgetn

Okuma öğelerin sayısını verir.

showmanyc

Korunan sanal üye işlev girdiden ayıklanır ve program belirsiz bir bekleme tabi olmayacak emin karakter sayısını verir.

snextc

Geçerli öğe okur ve aşağıdaki öğeyi döndürür.

sputbackc

Koyan bir char_type akış.

sputc

Bir karakter akışı koyar.

sputn

Bir karakter dizesi akımına koyar.

stossc

Geçerli öğe akışındaki önceki taşıyın.

sungetc

Bir karakter akışından alır.

takas

Bu nesne için değerleri sağlanan değerleri kullanmaz basic_streambuf parametre nesnesi.

Eşitleme

Denetlenen akışları ile ilişkili herhangi bir dış akışları eşitlemeye çalışır korumalı sanal işlevi.

uflow

Geçerli öğe girdiden ayıklar korumalı sanal işlevi.

Yetersizlik durumu

Geçerli öğe girdiden ayıklar korumalı sanal işlevi.

xsgetn

Girdiden öğeleri ayıklar korumalı sanal işlevi.

xsputn

Çıktı akımına öğeleri ekler korumalı sanal işlevi.

9h24a8cd.collapse_all(tr-tr,VS.110).gifİşleçler

operator =

Bu nesnenin değerlerini başka atar basic_streambuf nesnesi.

Gereksinimler

Başlık: <streambuf>

Namespace: std

Ayrıca bkz.

Başvuru

Standart C++ Kitaplığı'nda iş parçacığı güvenliği

iostream programlama

iostreams kuralları

Diğer Kaynaklar

basic_streambuf üyeleri

<streambuf> Üyeler