Requirements
A FormattedOutputFunction
is a stream output function that performs the following:
- Constructs an object of type
basic_ostream::sentry
with automatic storage duration, which performs the following- if
eofbit
orbadbit
are set on the output stream, sets thefailbit
as well, and if exceptions on failbit are enabled in this output stream's exception mask, throwsios_base::failure
. - flushes the tie()'d output stream, if applicable.
- if
- Checks the status of the sentry by calling
sentry::operator bool()
, which is equivalent tobasic_ios::good
. - If the sentry returned
false
or sentry's constructor threw an exception, no output takes place - If the sentry returned
true
, attempts to perform the desired output by inserting the characters into the output stream as if by callingrdbuf()->sputc()
orrdbuf()->xsputn()
. Additionally,rdbuf()->overflow()
andrdbuf()->sync()
may be called, but no other virtual member function ofstd::basic_streambuf
.- If the output could not be generated, sets
failbit
, If exceptions on failbit are enabled in this stream's exception mask, throwsios_base::failure
. - if an exception is thrown during output, sets
badbit
in the output stream. If exceptions on badbit are enabled in this stream's exception mask, the exception is also rethrown. - If no exception was thrown, returns
*this
.
- If the output could not be generated, sets
- In any event, whether terminating by exception or returning, the sentry's destructor is called before leaving this function.
Standard library
The following standard library functions are FormattedOutputFunction
s.
Please login to continue.