std::basic_osyncstream
來自 cppreference.com
定義於標頭檔案 <syncstream> |
||
template< class CharT, |
(C++20 起) | |
類模板 std::basic_osyncstream
是 std::basic_syncbuf 的一個便捷包裝器。它提供了一種機制來同步寫入同一流的執行緒。
它可以與命名變數一起使用
也可以與臨時變數一起使用
std::osyncstream(std::cout) << "Hello, " << "World!" << '\n';
它保證所有寫入到同一最終目標緩衝區(上述示例中的 std::cout)的輸出都不會發生資料競爭,並且不會以任何方式交錯或損壞,只要每次寫入該最終目標緩衝區都透過(可能是不同的)std::basic_osyncstream
例項進行。
std::basic_osyncstream
的典型實現只包含一個成員:包裝的 std::basic_syncbuf。
繼承圖
提供了用於常見字元型別的幾個 typedef
定義於標頭檔案
<syncstream> | |
型別 | 定義 |
std::osyncstream
|
std::basic_osyncstream<char> |
std::wosyncstream
|
std::basic_osyncstream<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
|
streambuf_type
|
std::basic_streambuf<CharT, Traits> |
syncbuf_type
|
std::basic_syncbuf<CharT, Traits, Allocator> |
[編輯] 成員函式
構造一個 basic_osyncstream 物件(public member function) | |
賦值一個 basic_osyncstream 物件(public member function) | |
銷燬 basic_osyncstream 併發出其內部緩衝區(public member function) | |
獲取指向底層 basic_syncbuf 的指標(public member function) | |
獲取指向最終目標流緩衝區的指標 (public member function) | |
呼叫底層 basic_syncbuf 上的 emit() 以將其內部資料傳輸到最終目標(public member function) |
繼承自 std::basic_ostream
成員函式
格式化輸出 | |
插入格式化資料 ( std::basic_ostream<CharT,Traits> 的公共成員函式) | |
非格式化輸出 | |
插入一個字元 ( std::basic_ostream<CharT,Traits> 的公共成員函式) | |
插入字元塊 ( std::basic_ostream<CharT,Traits> 的公共成員函式) | |
定位 | |
返回輸出位置指示器 ( std::basic_ostream<CharT,Traits> 的公共成員函式) | |
設定輸出位置指示器 ( std::basic_ostream<CharT,Traits> 的公共成員函式) | |
雜項 | |
與底層儲存裝置同步 ( std::basic_ostream<CharT,Traits> 的公共成員函式) |
成員類
實現流為輸出操作準備的基本邏輯 ( std::basic_ostream<CharT,Traits> 的公共成員類) |
繼承自 std::basic_ios
成員型別
成員型別 | 定義 |
char_type
|
CharT
|
traits_type
|
特性
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
成員函式
狀態函式 | |
檢查是否沒有發生錯誤,即 I/O 操作可用 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
檢查是否已到達檔案末尾 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
檢查是否發生錯誤 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
檢查是否發生不可恢復的錯誤 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
檢查是否發生錯誤(fail() 的同義詞) ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
檢查是否沒有發生錯誤(! fail() 的同義詞)( std::basic_ios<CharT,Traits> 的公共成員函式) | |
返回狀態標誌 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
設定狀態標誌 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
修改狀態標誌 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
格式化 | |
複製格式化資訊 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
管理填充字元 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
雜項 | |
管理異常掩碼 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
設定區域設定 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
管理關聯的流緩衝區 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
管理繫結的流 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
窄化字元 ( std::basic_ios<CharT,Traits> 的公共成員函式) | |
寬化字元 ( std::basic_ios<CharT,Traits> 的公共成員函式) |
繼承自 std::ios_base
成員函式
格式化 | |
管理格式標誌 ( std::ios_base 的公共成員函式) | |
設定特定格式標誌 ( std::ios_base 的公共成員函式) | |
清除特定格式標誌 ( std::ios_base 的公共成員函式) | |
管理浮點運算的十進位制精度 ( std::ios_base 的公共成員函式) | |
管理欄位寬度 ( std::ios_base 的公共成員函式) | |
區域設定 | |
設定區域設定 ( std::ios_base 的公共成員函式) | |
返回當前區域設定 ( std::ios_base 的公共成員函式) | |
內部可擴充套件陣列 | |
[靜態] |
返回一個程式範圍內的唯一整數,可安全用作 pword() 和 iword() 的索引 ( std::ios_base 的公共靜態成員函式) |
如有必要,調整私有儲存的大小,並訪問給定索引處的 long 元素 ( std::ios_base 的公共成員函式) | |
如有必要,調整私有儲存的大小,並訪問給定索引處的 void* 元素 ( std::ios_base 的公共成員函式) | |
雜項 | |
註冊事件回撥函式 ( std::ios_base 的公共成員函式) | |
[靜態] |
設定 C++ 和 C I/O 庫是否可互操作 ( std::ios_base 的公共靜態成員函式) |
成員類 | |
流異常 ( std::ios_base 的公共成員類) | |
初始化標準流物件 ( std::ios_base 的公共成員類) |
成員型別和常量 | |||||||||||||||||||||||||||||||||||||||
型別 | 解釋 | ||||||||||||||||||||||||||||||||||||||
流開啟模式型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
格式化標誌型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
流狀態型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
定位方向型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
指定事件型別 (enum) | |||||||||||||||||||||||||||||||||||||||
回撥函式型別 (typedef) |
[編輯] 註釋
特性測試宏 | 值 | 標準 | 特性 |
---|---|---|---|
__cpp_lib_syncbuf |
201803L |
(C++20) | 同步緩衝輸出流(std::osyncstream ,std::syncbuf)和操縱符 |