Scroll to navigation

std::basic_ostream::sentry(3) Library Functions Manual std::basic_ostream::sentry(3)

NAME

std::basic_ostream::sentry -

Performs setup work for output streams.

SYNOPSIS

Public Member Functions


operator bool () const
sentry (basic_ostream< _CharT, _Traits > &__os)
~sentry ()

Detailed Description

template<typename _CharT, typename _Traits> class std::basic_ostream< _CharT, _Traits >::sentry

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.

Constructor & Destructor Documentation

template<typename _CharT, typename _Traits> std::basic_ostream< _CharT, _Traits >::sentry::sentry (basic_ostream< _CharT, _Traits > & __os) [inline, explicit]

The constructor performs preparatory work. Parameters:

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.

template<typename _CharT, typename _Traits> 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().

Member Function Documentation

template<typename _CharT, typename _Traits> std::basic_ostream< _CharT, _Traits >::sentry::operator bool () const [inline]

Quick status checking. Returns:

The sentry state.

For ease of use, sentries may be converted to booleans. The return value is that of the sentry state (true == okay).

Definition at line 423 of file ostream.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

19 Jun 2018 libstdc++