std::basic_syncbuf<CharT,Traits,Allocator>::emit
來自 cppreference.com
< cpp | io | basic syncbuf
bool emit(); |
||
原子地將所有待處理的輸出傳輸到被包裝的流。
所有將字元傳輸到同一被包裝流緩衝物件的 emit() 呼叫,表現為以一個總序執行,其中每個 emit() 呼叫與該總序中的後續 emit() 呼叫同步於(synchronizes-with),即使這些呼叫是透過 std::basic_syncbuf/std::basic_osyncstream 的不同例項進行的。實踐中,這意味著 emit() 獲取一個與被包裝流物件唯一關聯的鎖:例如,該鎖可以儲存在一個靜態雜湊表中,其中被包裝流的地址被用作鍵。
如果自上次呼叫 emit() 以來,曾呼叫過 sync,那麼還會透過在其上呼叫 pubsync() 來沖洗被包裝的流。
目錄 |
[編輯] 引數
(無)
[編輯] 返回值
若以下所有條件均為 true,則返回 true
- 存在一個被包裝的流(被包裝的 streambuf 指標不為空)
- 臨時儲存中的所有字元都成功傳送到被包裝的流中
- 對 pubsync() 的呼叫(如果請求)也成功完成。
否則返回 false。
[編輯] 注意
通常由所屬的 std::basic_osyncstream 的解構函式或移動賦值運算子呼叫,或由 std::basic_osyncstream::emit 呼叫。
[編輯] 示例
本節不完整 原因:無示例 |
[編輯] 參閱
銷燬 basic_osyncstream 併發出其內部緩衝區( std::basic_osyncstream<CharT,Traits,Allocator> 的公開成員函式) | |
在底層的 basic_syncbuf 上呼叫 emit(),將其內部資料傳輸到最終目的地( std::basic_osyncstream<CharT,Traits,Allocator> 的公開成員函式) | |
構造 basic_syncbuf 物件(公開成員函式) |