function
<ios> <iostream>
std::nounitbuf
ios_base& nounitbuf (ios_base& str);
Do not force flushes after insertions
Clears the unitbuf "format" flag for the str stream.
When the unitbuf flag is not set, the associated buffer is not forced to be flushed after every insertion operation.
This flag can be set with the unitbuf manipulator, forcing flushes after every insertion.
For standard streams, the unitbuf flag is not set on initialization.
Parameters
- str
- Stream object whose format flag is affected.
Because this function is a manipulator, it is designed to be used alone with no arguments in conjunction with the insertion (<<
) and extraction (>>
) operations on streams (see example below).
Return Value
Argument str.
Example
1 2 3 4 5 6 7 8 9 10
|
// modify unifbuf flag
#include <ios> // std::unitbuf
#include <fstream> // std::ofstream
int main () {
std::ofstream outfile ("test.txt");
outfile << std::unitbuf << "Test " << "file" << '\n'; // flushed three times
outfile.close();
return 0;
}
|
Data races
Modifies str. Concurrent access to the same stream object may cause data races.
Exception safety
Basic guarantee: if an exception is thrown, str is in a valid state.