ReactOS 0.4.15-dev-7906-g1b85a5f
_istream.h File Reference
#include <stl/_ios.h>
#include <stl/_ostream.h>
#include <stl/_istreambuf_iterator.h>
#include <stl/_ctraits_fns.h>
Include dependency graph for _istream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _No_Skip_WS
 
class  basic_istream< _CharT, _Traits >
 
class  basic_istream< _CharT, _Traits >::sentry
 
class  basic_iostream< _CharT, _Traits >
 

Functions

template<class _CharT , class _Traits >
bool _M_init_skip (basic_istream< _CharT, _Traits > &__istr)
 
template<class _CharT , class _Traits >
bool _M_init_noskip (basic_istream< _CharT, _Traits > &__istr)
 
template<class _CharT , class _Traits >
basic_istream< _CharT, _Traits > &_STLP_CALL operator>> (basic_istream< _CharT, _Traits > &__in_str, _CharT &__c)
 
template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> (basic_istream< char, _Traits > &__in_str, unsigned char &__c)
 
template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> (basic_istream< char, _Traits > &__in_str, signed char &__c)
 
template<class _CharT , class _Traits >
basic_istream< _CharT, _Traits > &_STLP_CALL operator>> (basic_istream< _CharT, _Traits > &__in_str, _CharT *__s)
 
template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> (basic_istream< char, _Traits > &__in_str, unsigned char *__s)
 
template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> (basic_istream< char, _Traits > &__in_str, signed char *__s)
 
template<class _CharT , class _Traits >
basic_istream< _CharT, _Traits > &_STLP_CALL ws (basic_istream< _CharT, _Traits > &__istr)
 
template<class _CharT , class _Traits >
basic_streambuf< _CharT, _Traits > *_STLP_CALL _M_get_istreambuf (basic_istream< _CharT, _Traits > &__istr)
 

Function Documentation

◆ _M_get_istreambuf()

template<class _CharT , class _Traits >
basic_streambuf< _CharT, _Traits > *_STLP_CALL _M_get_istreambuf ( basic_istream< _CharT, _Traits > &  __istr)

Definition at line 346 of file _istream.h.

347{ return __istr.rdbuf(); }
basic_streambuf< _CharT, _Traits > * rdbuf() const
Definition: _ios.h:72

Referenced by istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator().

◆ _M_init_noskip()

template<class _CharT , class _Traits >
bool _M_init_noskip ( basic_istream< _CharT, _Traits > &  __istr)
inline

Definition at line 310 of file _istream.h.

310 {
311 if (__istr.good()) {
312 if (__istr.tie())
313 __istr.tie()->flush();
314
315 if (!__istr.rdbuf())
316 __istr.setstate(ios_base::badbit);
317 }
318 else
319 __istr.setstate(ios_base::failbit);
320 return __istr.good();
321}
basic_ostream< _CharT, _Traits > * tie() const
Definition: _ios.h:62
void setstate(iostate __state)
Definition: _ios.h:95
bool good() const
Definition: _ios_base.h:172

◆ _M_init_skip()

template<class _CharT , class _Traits >
bool _M_init_skip ( basic_istream< _CharT, _Traits > &  __istr)
inline

Definition at line 294 of file _istream.h.

294 {
295 if (__istr.good()) {
296 if (__istr.tie())
297 __istr.tie()->flush();
298
299 __istr._M_skip_whitespace(true);
300 }
301
302 if (!__istr.good()) {
303 __istr.setstate(ios_base::failbit);
304 return false;
305 } else
306 return true;
307}
void _M_skip_whitespace(bool __set_failbit)
Definition: _istream.c:1186

◆ operator>>() [1/6]

template<class _CharT , class _Traits >
basic_istream< _CharT, _Traits > &_STLP_CALL operator>> ( basic_istream< _CharT, _Traits > &  __in_str,
_CharT &  __c 
)
inline

Definition at line 238 of file _istream.h.

238 {
239 __in_str._M_formatted_get(__c);
240 return __in_str;
241}
void _M_formatted_get(_CharT &__c)
Definition: _istream.c:530
#define __c
Definition: schilyio.h:209

◆ operator>>() [2/6]

template<class _CharT , class _Traits >
basic_istream< _CharT, _Traits > &_STLP_CALL operator>> ( basic_istream< _CharT, _Traits > &  __in_str,
_CharT *  __s 
)
inline

Definition at line 259 of file _istream.h.

259 {
260 __in_str._M_formatted_get(__s);
261 return __in_str;
262}

◆ operator>>() [3/6]

template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> ( basic_istream< char, _Traits > &  __in_str,
signed char __c 
)
inline

Definition at line 252 of file _istream.h.

252 {
253 __in_str._M_formatted_get(__REINTERPRET_CAST(char&,__c));
254 return __in_str;
255}
#define __REINTERPRET_CAST(__x, __y)
Definition: features.h:586

◆ operator>>() [4/6]

template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> ( basic_istream< char, _Traits > &  __in_str,
signed char __s 
)
inline

Definition at line 273 of file _istream.h.

273 {
274 __in_str._M_formatted_get(__REINTERPRET_CAST(char*,__s));
275 return __in_str;
276}

◆ operator>>() [5/6]

template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> ( basic_istream< char, _Traits > &  __in_str,
unsigned char __c 
)
inline

Definition at line 245 of file _istream.h.

245 {
246 __in_str._M_formatted_get(__REINTERPRET_CAST(char&,__c));
247 return __in_str;
248}

◆ operator>>() [6/6]

template<class _Traits >
basic_istream< char, _Traits > &_STLP_CALL operator>> ( basic_istream< char, _Traits > &  __in_str,
unsigned char __s 
)
inline

Definition at line 266 of file _istream.h.

266 {
267 __in_str._M_formatted_get(__REINTERPRET_CAST(char*,__s));
268 return __in_str;
269}

◆ ws()

template<class _CharT , class _Traits >
basic_istream< _CharT, _Traits > &_STLP_CALL ws ( basic_istream< _CharT, _Traits > &  __istr)

Definition at line 282 of file _istream.h.

282 {
283 if (!__istr.eof()) {
284 typedef typename basic_istream<_CharT, _Traits>::sentry _Sentry;
285 _Sentry __sentry(__istr, _No_Skip_WS()); // Don't skip whitespace.
286 if (__sentry)
287 __istr._M_skip_whitespace(false);
288 }
289 return __istr;
290}
bool eof() const
Definition: _ios_base.h:173