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 426 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

  __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.

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

Referenced by std::basic_ostream< char >::operator<<(), std::basic_ostream< char >::put(), and std::basic_ostream< char >::write().

## ~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 454 of file ostream.

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

## Member Function Documentation

## operator bool()

template<typename _CharT, typename _Traits>

std::basic_ostream< _CharT, _Traits >::sentry::operator bool | ( |  | ) | const

inline explicit

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

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

- ostream
- ostream.tcc