libstdc++
|
Performs setup work for input streams.
Objects of this class are created before all of the standard extractors are run. It is responsible for exception-safe prefix and suffix operations, although only prefix actions are currently required by the standard.
typedef _Traits std::basic_istream< _CharT, _Traits >::sentry::traits_type |
std::basic_istream< _CharT, _Traits >::sentry::sentry | ( | basic_istream< _CharT, _Traits > & | __is, |
bool | __noskipws = false |
||
) | [explicit] |
The constructor performs all the work.
__is | The input stream to guard. |
__noskipws | Whether to consume whitespace or not. |
If the stream state is good (__is.good() is true), then the following actions are performed, otherwise the sentry state is false (not okay) and failbit is set in the stream state.
The sentry's preparatory actions are:
is.tie()->flush()
is called to synchronize the output sequenceios_base::skipws
is set in is.flags()
, the sentry extracts and discards whitespace characters from the stream. The currently imbued locale is used to determine whether each character is whitespace.If the stream state is still good, then the sentry state becomes true (okay).
Definition at line 49 of file istream.tcc.
References std::basic_ios< _CharT, _Traits >::eof(), std::ios_base::eofbit, std::ios_base::failbit, std::ios_base::flags(), std::basic_ios< _CharT, _Traits >::good(), std::ios_base::goodbit, std::__ctype_abstract_base< _CharT >::is(), std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits >::setstate(), std::basic_streambuf< _CharT, _Traits >::sgetc(), std::ios_base::skipws, std::basic_streambuf< _CharT, _Traits >::snextc(), and std::basic_ios< _CharT, _Traits >::tie().
std::basic_istream< _CharT, _Traits >::sentry::operator bool | ( | ) | const [inline, explicit] |