Manpages - std_basic_istream_sentry.3
Table of Contents
NAME
std::basic_istream< _CharT, _Traits >::sentry - Performs setup work for input streams.
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
Easy access to dependent types.
Public Member Functions
sentry (*basic_istream*< _CharT, _Traits > &__is, bool
__noskipws=false)
The constructor performs all the work.
operator bool () const
Quick status checking.
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.
Definition at line 686 of file istream.
Member Typedef Documentation
template<typename _CharT , typename _Traits > typedef
__istream_type::__ctype_type std::basic_istream*< _CharT, _Traits >::*sentry::__ctype_type Definition at line 696 of file istream.
template<typename _CharT , typename _Traits > typedef
_Traits::int_type std::basic_istream*< _CharT, _Traits >::sentry::__int_type Definition at line *697 of file istream.
template<typename _CharT , typename _Traits > typedef
basic_istream*<_CharT, _Traits> *std::basic_istream*< _CharT, _Traits >::*sentry::__istream_type Definition at line 695 of file istream.
template<typename _CharT , typename _Traits > typedef
basic_streambuf*<_CharT, _Traits> *std::basic_istream*< _CharT, _Traits >::*sentry::__streambuf_type Definition at line 694 of file istream.
template<typename _CharT , typename _Traits > typedef _Traits
std::basic_istream*< _CharT, _Traits >::*sentry::traits_type Easy access to dependent types.
Definition at line 693 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:
- if the stream is tied to an output stream,
is.tie()->flush()
is called to synchronize the output sequence - if __noskipws is false, and
ios_base::skipws
is set inis.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 46 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 > *std::basic_istream*<
_CharT, _Traits >::sentry::operator bool () const= [inline]=, = [explicit]= 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 734 of file istream.
Author
Generated automatically by Doxygen for libstdc++ from the source code.