std::basic_istream< _CharT, _Traits >::sentry(3) | Library Functions Manual | std::basic_istream< _CharT, _Traits >::sentry(3) |
NAME¶
std::basic_istream< _CharT, _Traits >::sentry -
SYNOPSIS¶
Public Types¶
typedef
__istream_type::__ctype_type __ctype_type"
typedef _Traits::int_type __int_type
typedef basic_istream< _CharT,
_Traits > __istream_type"
typedef basic_streambuf
< _CharT, _Traits > __streambuf_type"
typedef _Traits traits_type
Public Member Functions¶
sentry (basic_istream< _CharT, _Traits >
&__is, bool __noskipws=false)
operator bool () const
Detailed Description¶
template<typename _CharT, typename _Traits = char_traits<_CharT>>class std::basic_istream< _CharT, _Traits >::sentry¶
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.
Definition at line 657 of file istream.
Member Typedef Documentation¶
template<typename _CharT, typename _Traits = char_traits<_CharT>> typedef _Traits std::basic_istream< _CharT, _Traits >::sentry::traits_type¶
Easy access to dependent types.
Definition at line 664 of file istream.
Constructor & Destructor Documentation¶
template<typename _CharT, typename _Traits> std::basic_istream< _CharT, _Traits >::sentry::sentry (basic_istream< _CharT, _Traits > &__is, bool__noskipws = false) [explicit]¶
The constructor performs all the work.
Parameters:
__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:
- 1.
- if the stream is tied to an output stream, is.tie()->flush() is called to synchronize the output sequence
- 2.
- if __noskipws is false, and ios_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 47 of file istream.tcc.
References std::ios_base::badbit, 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().
Member Function Documentation¶
template<typename _CharT, typename _Traits = char_traits<_CharT>> std::basic_istream< _CharT, _Traits >::sentry::operator bool () const [inline], [explicit]¶
Quick status checking.
Returns:
For ease of use, sentries may be converted to booleans. The return value is that of the sentry state (true == okay).
Definition at line 705 of file istream.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
Tue Sep 29 2020 | libstdc++ |