cpp/named req/FormattedOutputFunction

Requirements
A is a stream output function that performs the following:


 * Constructs an object of type with automatic storage duration, which performs the following
 * if or  are set on the output stream, sets the  as well, and if exceptions on  are enabled in this output stream's exception mask, throws.
 * flushes the tie'd output stream, if applicable.


 * Checks the status of the sentry by calling, which is equivalent to.
 * If the sentry returned or sentry's constructor threw an exception, no output takes place
 * If the sentry returned, attempts to perform the desired output by inserting the characters into the output stream as if by calling . Other public members of std may also be used, but virtual members of except ,  and  will never be called.
 * If the output could not be generated, sets . If exceptions on are enabled in this stream's exception mask, throws.
 * if an exception is thrown during output, sets in the output stream. If exceptions on  are enabled in this stream's exception mask, the exception is also rethrown.
 * If no exception was thrown, returns.


 * 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 s.


 * , when called on the return value of std
 * , when called on the return value of std
 * , when called on the return value of std
 * , when called on the return value of std
 * , when called on the return value of std
 * , when called on the return value of std