msvcp90: Added std::ws(basic_istream) implementation.
This commit is contained in:
parent
edea44f0ff
commit
69e12a9ae9
|
@ -7519,6 +7519,32 @@ basic_istream_char* __thiscall basic_istream_char_ignore(basic_istream_char *thi
|
|||
return this;
|
||||
}
|
||||
|
||||
/* ?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z */
|
||||
/* ?ws@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
|
||||
basic_istream_char* __cdecl ws_basic_istream_char(basic_istream_char *istream)
|
||||
{
|
||||
basic_ios_char *base = basic_istream_char_get_basic_ios(istream);
|
||||
int ch = '\n';
|
||||
|
||||
TRACE("(%p)\n", istream);
|
||||
|
||||
if(basic_istream_char_sentry_create(istream, TRUE)) {
|
||||
basic_streambuf_char *strbuf = basic_ios_char_rdbuf_get(base);
|
||||
const ctype_char *ctype = ctype_char_use_facet(strbuf->loc);
|
||||
|
||||
for(ch = basic_streambuf_char_sgetc(strbuf); ctype_char_is_ch(ctype, _SPACE, ch);
|
||||
ch = basic_streambuf_char_snextc(strbuf)) {
|
||||
if(ch == EOF)
|
||||
break;
|
||||
}
|
||||
}
|
||||
basic_istream_char_sentry_destroy(istream);
|
||||
|
||||
if(ch == EOF)
|
||||
basic_ios_char_setstate(base, IOSTATE_eofbit);
|
||||
return istream;
|
||||
}
|
||||
|
||||
/* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
|
||||
/* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
|
||||
DEFINE_THISCALL_WRAPPER(basic_istream_char_peek, 4)
|
||||
|
@ -8750,6 +8776,34 @@ basic_istream_wchar* __thiscall basic_istream_wchar_ignore(basic_istream_wchar *
|
|||
return this;
|
||||
}
|
||||
|
||||
/* ?ws@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
|
||||
/* ?ws@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
|
||||
/* ?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z */
|
||||
/* ?ws@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
|
||||
basic_istream_wchar* __cdecl ws_basic_istream_wchar(basic_istream_wchar *istream)
|
||||
{
|
||||
basic_ios_wchar *base = basic_istream_wchar_get_basic_ios(istream);
|
||||
unsigned short ch = '\n';
|
||||
|
||||
TRACE("(%p)\n", istream);
|
||||
|
||||
if(basic_istream_wchar_sentry_create(istream, TRUE)) {
|
||||
basic_streambuf_wchar *strbuf = basic_ios_wchar_rdbuf_get(base);
|
||||
const ctype_wchar *ctype = ctype_wchar_use_facet(strbuf->loc);
|
||||
|
||||
for(ch = basic_streambuf_wchar_sgetc(strbuf); ctype_wchar_is_ch(ctype, _SPACE, ch);
|
||||
ch = basic_streambuf_wchar_snextc(strbuf)) {
|
||||
if(ch == WEOF)
|
||||
break;
|
||||
}
|
||||
}
|
||||
basic_istream_wchar_sentry_destroy(istream);
|
||||
|
||||
if(ch == WEOF)
|
||||
basic_ios_wchar_setstate(base, IOSTATE_eofbit);
|
||||
return istream;
|
||||
}
|
||||
|
||||
/* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
|
||||
/* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
|
||||
/* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
|
||||
|
|
|
@ -5711,12 +5711,12 @@
|
|||
@ cdecl -arch=win64 ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z(ptr wstr long) basic_ostream_wchar_write
|
||||
@ thiscall -arch=win32 ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PB_WH@Z(ptr wstr long) basic_ostream_wchar_write
|
||||
@ cdecl -arch=win64 ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEB_W_J@Z(ptr wstr long) basic_ostream_wchar_write
|
||||
@ stub -arch=win32 ?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z
|
||||
@ stub -arch=win64 ?ws@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@@Z
|
||||
@ stub -arch=win32 ?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z
|
||||
@ stub -arch=win64 ?ws@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@@Z
|
||||
@ stub -arch=win32 ?ws@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AAV21@@Z
|
||||
@ stub -arch=win64 ?ws@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z
|
||||
@ cdecl -arch=win32 ?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z(ptr) ws_basic_istream_char
|
||||
@ cdecl -arch=win64 ?ws@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@@Z(ptr) ws_basic_istream_char
|
||||
@ cdecl -arch=win32 ?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z(ptr) ws_basic_istream_wchar
|
||||
@ cdecl -arch=win64 ?ws@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@@Z(ptr) ws_basic_istream_wchar
|
||||
@ cdecl -arch=win32 ?ws@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AAV21@@Z(ptr) ws_basic_istream_wchar
|
||||
@ cdecl -arch=win64 ?ws@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z(ptr) ws_basic_istream_wchar
|
||||
@ cdecl ?xalloc@ios_base@std@@SAHXZ() ios_base_xalloc
|
||||
@ thiscall -arch=win32 ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z(ptr ptr long) basic_streambuf_char_xsgetn
|
||||
@ cdecl -arch=win64 ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z(ptr ptr long) basic_streambuf_char_xsgetn
|
||||
|
|
Loading…
Reference in New Issue