Public Types | |
typedef _Traits | traits_type |
Easy access to dependant types. | |
typedef basic_streambuf< _CharT, _Traits > | __streambuf_type |
typedef basic_istream< _CharT, _Traits > | __istream_type |
typedef __istream_type::__ctype_type | __ctype_type |
typedef _Traits::int_type | __int_type |
Public Member Functions | |
sentry (basic_istream< _CharT, _Traits > &__is, bool __noskipws=false) | |
The constructor performs all the work. | |
operator bool () const | |
Quick status checking. | |
Private Attributes | |
bool | _M_ok |
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. 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 622 of file istream.
typedef __istream_type::__ctype_type std::basic_istream< _CharT, _Traits >::sentry::__ctype_type |
typedef _Traits::int_type std::basic_istream< _CharT, _Traits >::sentry::__int_type |
typedef basic_istream<_CharT, _Traits> std::basic_istream< _CharT, _Traits >::sentry::__istream_type |
typedef basic_streambuf<_CharT, _Traits> std::basic_istream< _CharT, _Traits >::sentry::__streambuf_type |
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. |
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 52 of file istream.tcc.
References std::__check_facet(), std::basic_ios< _CharT, _Traits >::_M_ctype, std::basic_istream< _CharT, _Traits >::sentry::_M_ok, 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(), ctype_base::space, and std::basic_ios< _CharT, _Traits >::tie().
std::basic_istream< _CharT, _Traits >::sentry::operator bool | ( | ) | const [inline] |
bool std::basic_istream< _CharT, _Traits >::sentry::_M_ok [private] |
Definition at line 666 of file istream.
Referenced by std::basic_istream< _CharT, _Traits >::sentry::sentry().