std::basic_stringbuf
來自 cppreference.com
定義於標頭檔案 <sstream> |
||
template< class CharT, |
||
std::basic_stringbuf
是 std::basic_streambuf,其關聯字元序列是記憶體中的任意字元序列,可以從 std::basic_string 的例項初始化或作為其例項提供。
std::basic_stringbuf
的典型實現將型別為 std::basic_string 或等效的可變大小序列容器物件直接作為資料成員,並將其用作受控字元序列(std::basic_streambuf 的六個指標所指向的陣列)和關聯字元序列(所有輸入操作的字元源和輸出的目標)。
此外,典型實現還包含一個型別為 std::ios_base::openmode 的資料成員,用於指示關聯流的 I/O 模式(僅輸入、僅輸出、輸入/輸出、在末尾等)。
如果 overflow() 使用過度分配策略,則可以儲存額外的“高水位”指標以跟蹤最後一個已初始化的字元。 |
(C++11 起) |
提供了用於常見字元型別的幾個 typedef
定義於標頭檔案
<sstream> | |
型別 | 定義 |
std::stringbuf
|
std::basic_stringbuf<char> |
std::wstringbuf
|
std::basic_stringbuf<wchar_t> |
目錄 |
[編輯] 成員型別
成員型別 | 定義 |
char_type
|
CharT |
traits_type
|
Traits ;如果 Traits::char_type 不是 CharT ,則程式格式錯誤。 |
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
allocator_type
|
Allocator |
[編輯] 僅用於說明的成員
buf |
用作底層緩衝區的 std::basic_string<CharT, Traits, Allocator> (僅用於闡釋的成員物件*) |
mode |
關聯流的 std::ios_base::openmode (僅用於闡釋的成員物件*) |
初始化輸入和輸出序列 (僅用於說明的成員函式*) |
[編輯] 公有成員函式
構造 basic_stringbuf 物件(公有成員函式) | |
(C++11) |
賦值一個 basic_stringbuf 物件(公有成員函式) |
(C++11) |
交換兩個 basic_stringbuf 物件(公有成員函式) |
(解構函式) [virtual] (隱式宣告) |
銷燬 basic_stringbuf 物件及其持有的字串(虛公有成員函式) |
替換或獲取關聯字元字串的副本 (公有成員函式) | |
(C++20) |
獲取與內部序列容器關聯的分配器的副本 (公有成員函式) |
(C++20) |
獲取底層字元序列的檢視 (公有成員函式) |
[編輯] 受保護的成員函式
[virtual] |
返回輸入序列中下一個可用的字元 (虛受保護成員函式) |
[virtual] |
將一個字元放回輸入序列 (虛受保護成員函式) |
[virtual] |
將一個字元附加到輸出序列 (虛受保護成員函式) |
[virtual] |
嘗試用陣列替換受控字元序列 (虛受保護成員函式) |
[virtual] |
使用相對定址重新定位輸入序列、輸出序列或兩者的下一個指標 (虛受保護成員函式) |
[virtual] |
使用絕對定址重新定位輸入序列、輸出序列或兩者的下一個指標 (虛受保護成員函式) |
[編輯] 非成員函式
特化 std::swap 演算法 (函式模板) |
繼承自 std::basic_streambuf
成員型別
成員型別 | 定義 |
char_type
|
CharT |
traits_type
|
Traits ;如果 Traits::char_type 不是 CharT ,則程式格式錯誤。 |
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
成員函式
[virtual] |
銷燬 basic_streambuf 物件( std::basic_streambuf<CharT,Traits> 的虛公有成員函式) |
區域設定 | |
更改關聯的區域設定並呼叫 imbue() ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
獲取關聯區域設定的副本 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
定位 | |
呼叫 setbuf() ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
呼叫 seekoff() ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
呼叫 seekpos() ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
呼叫 sync() ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
獲取區 | |
獲取獲取區中立即可用的字元數 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
推進輸入序列,然後讀取一個字元而不再次推進 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
(C++17 中移除) |
從輸入序列中讀取一個字元並推進序列 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) |
從輸入序列中讀取一個字元而不推進序列 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
呼叫 xsgetn() ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
放置區 | |
將一個字元寫入放置區並推進下一個指標 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
呼叫 xsputn() ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
回放 | |
將一個字元放回輸入序列 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) | |
將輸入序列中的下一個指標後退一個位置 ( std::basic_streambuf<CharT,Traits> 的公有成員函式) |
受保護的成員函式
構造 basic_streambuf 物件(受保護成員函式) | |
(C++11) |
替換 basic_streambuf 物件(受保護成員函式) |
(C++11) |
交換兩個 basic_streambuf 物件(受保護成員函式) |
區域設定 | |
[virtual] |
響應關聯區域設定的更改 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
定位 | |
[virtual] |
如果允許,用使用者定義的陣列替換緩衝區 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
[virtual] |
使用相對定址重新定位輸入序列、輸出序列或兩者的下一個指標 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
[virtual] |
使用絕對定址重新定位輸入序列、輸出序列或兩者的下一個指標 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
[virtual] |
將緩衝區與關聯的字元序列同步 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
獲取區 | |
[virtual] |
如果已知,獲取關聯輸入序列中可用於輸入的字元數 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
[virtual] |
從關聯輸入序列中讀取字元到獲取區 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
[virtual] |
從關聯輸入序列中讀取字元到獲取區並推進下一個指標 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
[virtual] |
從輸入序列中讀取多個字元 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
返回獲取區起始、當前字元和結尾的指標 (受保護成員函式) | |
推進輸入序列中的下一個指標 (受保護成員函式) | |
重新定位輸入序列的起始、下一個和結束指標 (受保護成員函式) | |
放置區 | |
[virtual] |
向輸出序列寫入多個字元 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
[virtual] |
從放置區向關聯輸出序列寫入字元 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |
返回放置區起始、當前字元和結尾的指標 (受保護成員函式) | |
推進輸出序列的下一個指標 (受保護成員函式) | |
重新定位輸出序列的起始、下一個和結束指標 (受保護成員函式) | |
回放 | |
[virtual] |
將一個字元放回輸入序列,可能會修改輸入序列 ( std::basic_streambuf<CharT,Traits> 的虛受保護成員函式) |