33 #ifndef _GLIBCXX_ISTREAM 
   34 #define _GLIBCXX_ISTREAM 1 
   36 #pragma GCC system_header 
   41 namespace std _GLIBCXX_VISIBILITY(default)
 
   43 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   57   template<
typename _CharT, 
typename _Traits>
 
   58     class basic_istream : 
virtual public basic_ios<_CharT, _Traits>
 
   62       typedef _CharT                    char_type;
 
   63       typedef typename _Traits::int_type        int_type;
 
   64       typedef typename _Traits::pos_type        pos_type;
 
   65       typedef typename _Traits::off_type        off_type;
 
   66       typedef _Traits                   traits_type;
 
   69       typedef basic_streambuf<_CharT, _Traits>      __streambuf_type;
 
   70       typedef basic_ios<_CharT, _Traits>        __ios_type;
 
   71       typedef basic_istream<_CharT, _Traits>        __istream_type;
 
   72       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
 
   74       typedef ctype<_CharT>                 __ctype_type;
 
  121       { 
return __pf(*
this); }
 
  169       { 
return _M_extract(__n); }
 
  176       { 
return _M_extract(__n); }
 
  183       { 
return _M_extract(__n); }
 
  187       { 
return _M_extract(__n); }
 
  191       { 
return _M_extract(__n); }
 
  193 #ifdef _GLIBCXX_USE_LONG_LONG 
  196       { 
return _M_extract(__n); }
 
  200       { 
return _M_extract(__n); }
 
  215       { 
return _M_extract(__f); }
 
  219       { 
return _M_extract(__f); }
 
  223       { 
return _M_extract(__f); }
 
  236       { 
return _M_extract(__p); }
 
  343       get(char_type* __s, 
streamsize __n, char_type __delim);
 
  355       { 
return this->
get(__s, __n, this->
widen(
'\n')); }
 
  377       get(__streambuf_type& __sb, char_type __delim);
 
  388       { 
return this->
get(__sb, this->
widen(
'\n')); }
 
  602       seekg(off_type, ios_base::seekdir);
 
  610       template<
typename _ValueT>
 
  612     _M_extract(_ValueT& __v);
 
  631 #ifdef _GLIBCXX_USE_WCHAR_T 
  633     basic_istream<wchar_t>&
 
  638     basic_istream<wchar_t>&
 
  643     basic_istream<wchar_t>&
 
  656   template<
typename _CharT, 
typename _Traits>
 
  668       typedef typename _Traits::int_type        __int_type;
 
  702 #if __cplusplus >= 201103L 
  705       operator bool()
 const 
  721   template<
typename _CharT, 
typename _Traits>
 
  725   template<
class _Traits>
 
  728     { 
return (__in >> reinterpret_cast<char&>(__c)); }
 
  730   template<
class _Traits>
 
  731     inline basic_istream<char, _Traits>&
 
  733     { 
return (__in >> reinterpret_cast<char&>(__c)); }
 
  763   template<
typename _CharT, 
typename _Traits>
 
  764     basic_istream<_CharT, _Traits>&
 
  765     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s);
 
  770     operator>>(basic_istream<char>& __in, 
char* __s);
 
  772   template<
class _Traits>
 
  773     inline basic_istream<char, _Traits>&
 
  775     { 
return (__in >> reinterpret_cast<char*>(__s)); }
 
  777   template<
class _Traits>
 
  778     inline basic_istream<char, _Traits>&
 
  780     { 
return (__in >> reinterpret_cast<char*>(__s)); }
 
  794   template<
typename _CharT, 
typename _Traits>
 
  796     : 
public basic_istream<_CharT, _Traits>,
 
  797       public basic_ostream<_CharT, _Traits>
 
  803       typedef _CharT                    char_type;
 
  804       typedef typename _Traits::int_type        int_type;
 
  805       typedef typename _Traits::pos_type        pos_type;
 
  806       typedef typename _Traits::off_type        off_type;
 
  807       typedef _Traits                   traits_type;
 
  810       typedef basic_istream<_CharT, _Traits>        __istream_type;
 
  811       typedef basic_ostream<_CharT, _Traits>        __ostream_type;
 
  831       : __istream_type(), __ostream_type() { }
 
  854   template<
typename _CharT, 
typename _Traits>
 
  855     basic_istream<_CharT, _Traits>&
 
  856     ws(basic_istream<_CharT, _Traits>& __is);
 
  858 #if __cplusplus >= 201103L 
  870   template<
typename _CharT, 
typename _Traits, 
typename _Tp>
 
  871     inline basic_istream<_CharT, _Traits>&
 
  873     { 
return (__is >> __x); }
 
  876 _GLIBCXX_END_NAMESPACE_VERSION
 
__istream_type & unget()
Unextracting the previous character. 
 
basic_istream(__streambuf_type *__sb)
Base constructor. 
 
__istream_type & operator>>(__ios_type &(*__pf)(__ios_type &))
Interface for manipulators. 
 
_Traits traits_type
Easy access to dependent types. 
 
Primary class template ctype facet.This template class defines classification and conversion function...
 
Performs setup work for input streams. 
 
streamsize gcount() const 
Character counting. 
 
The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that ...
 
__istream_type & operator>>(unsigned long long &__n)
Integer arithmetic extractors. 
 
basic_istream< _CharT, _Traits > & ws(basic_istream< _CharT, _Traits > &__is)
Quick and easy way to eat whitespace. 
 
__istream_type & seekg(pos_type)
Changing the current read position. 
 
__istream_type & operator>>(float &__f)
Floating point arithmetic extractors. 
 
__istream_type & operator>>(bool &__n)
Integer arithmetic extractors. 
 
__istream_type & operator>>(unsigned long &__n)
Integer arithmetic extractors. 
 
__istream_type & getline(char_type *__s, streamsize __n)
String extraction. 
 
__istream_type & operator>>(ios_base &(*__pf)(ios_base &))
Interface for manipulators. 
 
__istream_type & operator>>(long &__n)
Integer arithmetic extractors. 
 
void init(basic_streambuf< _CharT, _Traits > *__sb)
All setup is performed here. 
 
__istream_type & operator>>(long double &__f)
Floating point arithmetic extractors. 
 
virtual ~basic_iostream()
Destructor does nothing. 
 
__istream_type & getline(char_type *__s, streamsize __n, char_type __delim)
String extraction. 
 
__istream_type & read(char_type *__s, streamsize __n)
Extraction without delimiters. 
 
pos_type tellg()
Getting the current read position. 
 
__istream_type & ignore()
Simple extraction. 
 
Template class basic_iostream. 
 
virtual ~basic_istream()
Base destructor. 
 
__istream_type & operator>>(long long &__n)
Integer arithmetic extractors. 
 
char_type widen(char __c) const 
Widens characters. 
 
__istream_type & putback(char_type __c)
Unextracting a single character. 
 
int_type peek()
Looking ahead in the stream. 
 
bitset< _Nb > operator>>(size_t __position) const noexcept
Self-explanatory. 
 
__istream_type & operator>>(void *&__p)
Basic arithmetic extractors. 
 
__istream_type & operator>>(__istream_type &(*__pf)(__istream_type &))
Interface for manipulators. 
 
basic_iostream(basic_streambuf< _CharT, _Traits > *__sb)
Constructor does nothing. 
 
__istream_type & operator>>(unsigned int &__n)
Integer arithmetic extractors. 
 
ptrdiff_t streamsize
Integral type for I/O operation counts and buffer sizes. 
 
__istream_type & operator>>(double &__f)
Floating point arithmetic extractors. 
 
int sync()
Synchronizing the stream buffer. 
 
__istream_type & operator>>(unsigned short &__n)
Integer arithmetic extractors. 
 
streamsize readsome(char_type *__s, streamsize __n)
Extraction until the buffer is exhausted, but no more.