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

Constructor & Destructor Documentation

◆ sentry()

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

◆ ~sentry()

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

Member Function Documentation

◆ operator bool()

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


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