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