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

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

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

- ostream
- ostream.tcc