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

Performs setup work for output streams. More...

List of all members.

Public Member Functions

 sentry (basic_ostream< _CharT, _Traits > &__os)
 The constructor performs preparatory work.

 ~sentry ()
 Possibly flushes the stream.

 operator bool () const
 Quick status checking.


Private Attributes

bool _M_ok
basic_ostream< _CharT, _Traits > & _M_os


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." Additional actions may be added by the implementation, and we list them in http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/howto.html#5 under [27.6] notes.

Definition at line 375 of file ostream.


Constructor & Destructor Documentation

template<typename _CharT, typename _Traits>
std::basic_ostream< _CharT, _Traits >::sentry::sentry basic_ostream< _CharT, _Traits > &  __os  )  [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 46 of file ostream.tcc.

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

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

References std::uncaught_exception().


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


Member Data Documentation

template<typename _CharT, typename _Traits>
bool std::basic_ostream< _CharT, _Traits >::sentry::_M_ok [private]
 

Definition at line 378 of file ostream.

template<typename _CharT, typename _Traits>
basic_ostream<_CharT,_Traits>& std::basic_ostream< _CharT, _Traits >::sentry::_M_os [private]
 

Definition at line 379 of file ostream.


The documentation for this class was generated from the following files:
Generated on Tue Jan 30 17:32:18 2007 for GNU C++ STL by doxygen 1.3.6