Performs setup work for output streams. More...
Performs setup work for output streams.
Objects of this class are created before all of the standard inserters are run. It is responsible for "exception-safe prefix and suffix operations."
Definition at line 377 of file ostream.
std::basic_ostream< _CharT, _Traits >::sentry::sentry | ( | basic_ostream< _CharT, _Traits > & | __os | ) | [inline, explicit] |
The constructor performs preparatory work.
os | The output stream to guard. |
If the stream state is good (os.good() is true), then if the stream is tied to another output stream, is.tie()->flush()
is called to synchronize the output sequences.
If the stream state is still good, then the sentry state becomes true ("okay").
Definition at line 47 of file ostream.tcc.
std::basic_ostream< _CharT, _Traits >::sentry::~sentry | ( | ) | [inline] |
Possibly flushes the stream.
If ios_base::unitbuf
is set in os.flags()
, and std::uncaught_exception()
is true, the sentry destructor calls flush()
on the output stream.
Definition at line 405 of file ostream.
References std::uncaught_exception(), and std::unitbuf().
std::basic_ostream< _CharT, _Traits >::sentry::operator bool | ( | ) | const [inline] |