man std::basic_istream_sentry (Fonctions bibliothèques) - Performs setup work for input streams.
NAME
std::basic_istream::sentry - Performs setup work for input streams.
SYNOPSIS
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
Detailed Description
template<typename CharT, typename Traits> 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. 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 579 of file istream.
Member Typedef Documentation
template<typename CharT, typename Traits> typedef Traits std::basic_istream< CharT, Traits >::sentry::traits_type
Easy access to dependant types.
Definition at line 583 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:
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:
- 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::eofbit, std::ios_base::flags(), std::basic_ios< CharT, Traits >::good(), std::ios_base::goodbit, std::basic_ios< CharT, Traits >::rdbuf(), std::ios_base::skipws, ctype_base::space, and std::basic_ios< CharT, Traits >::tie().
Member Function Documentation
template<typename CharT, typename Traits> std::basic_istream< 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 620 of file istream.
Author
Generated automatically by Doxygen for libstdc++-v3 Source from the source code.