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
Elem
A char_type.Tr
Karakter traits_type.
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.
Oluşturucular
Türünde bir nesne yapıları basic_streambuf. |
TypeDef
Bir tür adıyla ilişkilendirir Elem şablon parametresi. |
|
Tür adı içinde associates basic_streambuf ile kapsam Elem şablon parametresi. |
|
Tür adı içinde associates basic_streambuf ile kapsam Elem şablon parametresi. |
|
Tür adı içinde associates basic_streambuf ile kapsam Elem şablon parametresi. |
|
Bir tür adıyla ilişkilendirir Tr şablon parametresi. |
Üye işlevleri
Giriş arabelleği başına bir işaretçi döndürür korumalı bir işlevdir. |
|
Giriş arabelleği sonunu sadece bir işaretçi döndürür korumalı bir işlevdir. |
|
Çıkış arabelleği sonunu sadece bir işaretçi döndürür korumalı bir işlevdir. |
|
Ekler korumalı bir işlev _Count sonraki fare işaretçisini giriş arabelleği için. |
|
Alır basic_streambuf nesnenin yerel. |
|
Giriş arabelleği İleri öğesine bir işaretçi döndürür korumalı bir işlevdir. |
|
A korunan, sanal işlevi çağıran pubimbue. |
|
Arabelleğinden okumaya hazır olan öğelerin sayısını verir. |
|
Yeni bir karakter tam arabelleğine eklendiğinde çağrılabilir bir korumalı sanal işlevi. |
|
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. |
|
Çıkış arabelleği başına bir işaretçi döndürür korumalı bir işlevdir. |
|
Ekler korumalı bir işlev count sonraki fare işaretçisini Çıktı arabelleği için. |
|
Çıkış arabelleği İleri öğesine bir işaretçi döndürür korumalı bir işlevdir. |
|
Ayarlar basic_streambuf nesnenin yerel. |
|
Çağrı seekoff, bir türetilmiş sınıfta geçersiz kılınmış sanal işlevi korumalı. |
|
Ç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ı. |
|
Çağrı setbuf, bir türetilmiş sınıfta geçersiz kılınmış sanal işlevi korumalı. |
|
Ç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ı. |
|
Okur ve akış işaretçiyi taşıyarak geçerli öğeyi döndürür. |
|
Denetlenen akışları için geçerli konumlarını değiştirmek korumalı sanal üye işlevi çalışır. |
|
Denetlenen akışları için geçerli konumlarını değiştirmek korumalı sanal üye işlevi çalışır. |
|
Her türetilmiş Akış Arabellek işlemi belirli bir sanal korunan üye işlevi gerçekleştirir. |
|
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. |
|
Depolar korumalı bir işlev _Pbeg başlangıcı işaretçisi, ve _Pend çıkış arabelleği sonu işaretçisi olarak. |
|
Akış içindeki konumunu değiştirmeden geçerli öğeyi döndürür. |
|
Okuma öğelerin sayısını verir. |
|
Korunan sanal üye işlev girdiden ayıklanır ve program belirsiz bir bekleme tabi olmayacak emin karakter sayısını verir. |
|
Geçerli öğe okur ve aşağıdaki öğeyi döndürür. |
|
Koyan bir char_type akış. |
|
Bir karakter akışı koyar. |
|
Bir karakter dizesi akımına koyar. |
|
Geçerli öğe akışındaki önceki taşıyın. |
|
Bir karakter akışından alır. |
|
Bu nesne için değerleri sağlanan değerleri kullanmaz basic_streambuf parametre nesnesi. |
|
Denetlenen akışları ile ilişkili herhangi bir dış akışları eşitlemeye çalışır korumalı sanal işlevi. |
|
Geçerli öğe girdiden ayıklar korumalı sanal işlevi. |
|
Geçerli öğe girdiden ayıklar korumalı sanal işlevi. |
|
Girdiden öğeleri ayıklar korumalı sanal işlevi. |
|
Çıktı akımına öğeleri ekler korumalı sanal işlevi. |
İşleçler
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