libstdc++
std::basic_ostream< _CharT, _Traits >::sentry Class Reference

Public Member Functions

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

Detailed Description

template<typename _CharT, typename _Traits = char_traits<_CharT>>
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 379 of file ostream.

Constructor & Destructor Documentation

template<typename _CharT, typename _Traits = char_traits<_CharT>>
std::basic_ostream< _CharT, _Traits >::sentry::sentry ( basic_ostream< _CharT, _Traits > &  __os)
explicit

The constructor performs preparatory work.

Parameters
osThe 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 49 of file ostream.tcc.

References std::ios_base::failbit, std::basic_ios< _CharT, _Traits >::good(), std::basic_ios< _CharT, _Traits >::setstate(), and std::basic_ios< _CharT, _Traits >::tie().

template<typename _CharT, typename _Traits = char_traits<_CharT>>
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 407 of file ostream.

References std::ios_base::badbit, std::uncaught_exception(), and std::ios_base::unitbuf.

Member Function Documentation

template<typename _CharT, typename _Traits = char_traits<_CharT>>
std::basic_ostream< _CharT, _Traits >::sentry::operator bool ( ) const
inlineexplicit

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 428 of file ostream.


The documentation for this class was generated from the following files: