| I/O manipulators | ||||
| Print functions(C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
| Public member functions | ||||
(C++20) | ||||
(C++20) | ||||
basic_osyncstream::emit (C++20) |
void emit(); | ||
Emits all buffered output and executes any pending flushes, by callingemit() on the underlyingstd::basic_syncbuf.
(none)
#include <iostream>#include <syncstream> int main(){{std::osyncstream bout(std::cout); bout<<"Hello,"<<'\n';// no flush bout.emit();// characters transferred; cout not flushed bout<<"World!"<<std::endl;// flush noted; cout not flushed bout.emit();// characters transferred; cout flushed bout<<"Greetings."<<'\n';// no flush}// destructor calls emit(): characters transferred; cout not flushed // emit can be used for local exception-handling on the wrapped streamstd::osyncstream bout(std::cout); bout<<"Hello, "<<"World!"<<'\n';try{ bout.emit();}catch(...){// handle exceptions}}
Output:
Hello,World!Greetings.Hello, World!
destroys thebasic_osyncstream and emits its internal buffer(public member function)[edit] | |
| atomically transmits the entire internal buffer to the wrapped streambuf (public member function of std::basic_syncbuf<CharT,Traits,Allocator>)[edit] |