2 * Copyright 2011 Piotr Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
27 #include "wine/debug.h"
28 WINE_DEFAULT_DEBUG_CHANNEL(msvcp90
);
31 IOSTATE_goodbit
= 0x00,
32 IOSTATE_eofbit
= 0x01,
33 IOSTATE_failbit
= 0x02,
34 IOSTATE_badbit
= 0x04,
35 IOSTATE__Hardfail
= 0x10,
40 FMTFLAG_skipws
= 0x0001,
41 FMTFLAG_unitbuf
= 0x0002,
42 FMTFLAG_uppercase
= 0x0004,
43 FMTFLAG_showbase
= 0x0008,
44 FMTFLAG_showpoint
= 0x0010,
45 FMTFLAG_showpos
= 0x0020,
46 FMTFLAG_left
= 0x0040,
47 FMTFLAG_right
= 0x0080,
48 FMTFLAG_internal
= 0x0100,
52 FMTFLAG_scientific
= 0x1000,
53 FMTFLAG_fixed
= 0x2000,
54 FMTFLAG_hexfloat
= 0x3000,
55 FMTFLAG_boolalpha
= 0x4000,
56 FMTFLAG_stdio
= 0x8000,
57 FMTFLAG_adjustfield
= FMTFLAG_left
|FMTFLAG_right
|FMTFLAG_internal
,
58 FMTFLAG_basefield
= FMTFLAG_dec
|FMTFLAG_oct
|FMTFLAG_hex
,
59 FMTFLAG_floadfield
= FMTFLAG_scientific
|FMTFLAG_fixed
,
63 typedef struct _iosarray
{
64 struct _iosarray
*next
;
77 typedef void (CDECL
*IOS_BASE_event_callback
)(IOS_BASE_event
, struct _ios_base
*, int);
78 typedef struct _fnarray
{
79 struct _fnarray
*next
;
81 IOS_BASE_event_callback event_handler
;
84 /* ?_Index@ios_base@std@@0HA */
85 int ios_base_Index
= 0;
86 /* ?_Sync@ios_base@std@@0_NA */
87 MSVCP_bool ios_base_Sync
= FALSE
;
89 typedef struct _ios_base
{
90 const vtable_ptr
*vtable
;
97 IOS_BASE_iosarray
*arr
;
98 IOS_BASE_fnarray
*calls
;
104 __int64
DECLSPEC_ALIGN(8) pos
;
108 static inline const char* debugstr_fpos_int(fpos_int
*fpos
)
110 return wine_dbg_sprintf("fpos(%lu %s %d)", fpos
->off
, wine_dbgstr_longlong(fpos
->pos
), fpos
->state
);
114 const vtable_ptr
*vtable
;
129 } basic_streambuf_char
;
132 const vtable_ptr
*vtable
;
147 } basic_streambuf_wchar
;
151 basic_streambuf_char
*strbuf
;
152 struct _basic_ostream_char
*stream
;
158 /*basic_streambuf_wchar*/void *strbuf
;
159 /*basic_ostream_wchar*/void *stream
;
163 typedef struct _basic_ostream_char
{
166 } basic_ostream_char
;
168 extern const vtable_ptr MSVCP_iosb_vtable
;
170 /* ??_7ios_base@std@@6B@ */
171 extern const vtable_ptr MSVCP_ios_base_vtable
;
173 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
174 extern const vtable_ptr MSVCP_basic_ios_char_vtable
;
176 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
177 extern const vtable_ptr MSVCP_basic_ios_wchar_vtable
;
179 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
180 extern const vtable_ptr MSVCP_basic_streambuf_char_vtable
;
182 /* ??_7?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@6B@ */
183 extern const vtable_ptr MSVCP_basic_streambuf_wchar_vtable
;
185 /* ??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ */
186 extern const vtable_ptr MSVCP_basic_streambuf_short_vtable
;
188 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
189 extern const vtable_ptr MSVCP_basic_ostream_char_vtable
;
191 DEFINE_RTTI_DATA(iosb
, 0, 0, NULL
, NULL
, NULL
, ".?AV?$_Iosb@H@std@@");
192 DEFINE_RTTI_DATA(ios_base
, 0, 1, &iosb_rtti_base_descriptor
, NULL
, NULL
, ".?AV?$_Iosb@H@std@@");
193 DEFINE_RTTI_DATA(basic_ios_char
, 0, 2, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
194 NULL
, ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@");
195 DEFINE_RTTI_DATA(basic_ios_wchar
, 0, 2, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
196 NULL
, ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@");
197 DEFINE_RTTI_DATA(basic_streambuf_char
, 0, 0, NULL
, NULL
, NULL
,
198 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@");
199 DEFINE_RTTI_DATA(basic_streambuf_wchar
, 0, 0, NULL
, NULL
, NULL
,
200 ".?AV?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@");
201 DEFINE_RTTI_DATA(basic_streambuf_short
, 0, 0, NULL
, NULL
, NULL
,
202 ".?AV?$basic_streambuf@GU?$char_traits@G@std@@@std@@");
203 DEFINE_RTTI_DATA(basic_ostream_char
, 4, 3, &basic_ios_char_rtti_base_descriptor
, &ios_base_rtti_base_descriptor
,
204 &iosb_rtti_base_descriptor
, ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@");
207 void __asm_dummy_vtables(void) {
209 __ASM_VTABLE(iosb
, "");
210 __ASM_VTABLE(ios_base
, "");
211 __ASM_VTABLE(basic_ios_char
, "");
212 __ASM_VTABLE(basic_ios_wchar
, "");
213 __ASM_VTABLE(basic_streambuf_char
,
214 VTABLE_ADD_FUNC(basic_streambuf_char_overflow
)
215 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail
)
216 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
217 VTABLE_ADD_FUNC(basic_streambuf_char_underflow
)
218 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
219 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
220 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
221 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
222 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff
)
223 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos
)
224 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
225 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
226 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
227 __ASM_VTABLE(basic_streambuf_wchar
,
228 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
229 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
230 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
231 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
232 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
233 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
234 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
235 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
236 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
237 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
238 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
239 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
240 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
241 __ASM_VTABLE(basic_streambuf_short
,
242 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
243 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
244 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
245 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
246 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
247 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
248 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
249 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
250 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
251 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
252 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
253 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
254 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
255 __ASM_VTABLE(basic_ostream_char
, "");
260 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
261 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
262 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next
, 16)
263 void __thiscall
basic_streambuf_char_setp_next(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
265 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
269 this->wsize
= last
-next
;
272 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
273 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
274 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp
, 12)
275 void __thiscall
basic_streambuf_char_setp(basic_streambuf_char
*this, char *first
, char *last
)
277 basic_streambuf_char_setp_next(this, first
, first
, last
);
280 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
281 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
282 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg
, 16)
283 void __thiscall
basic_streambuf_char_setg(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
285 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
289 this->rsize
= last
-next
;
292 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
293 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
294 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty
, 4)
295 void __thiscall
basic_streambuf_char__Init_empty(basic_streambuf_char
*this)
297 TRACE("(%p)\n", this);
299 this->prbuf
= &this->rbuf
;
300 this->pwbuf
= &this->wbuf
;
301 this->prpos
= &this->rpos
;
302 this->pwpos
= &this->wpos
;
303 this->prsize
= &this->rsize
;
304 this->pwsize
= &this->wsize
;
306 basic_streambuf_char_setp(this, NULL
, NULL
);
307 basic_streambuf_char_setg(this, NULL
, NULL
, NULL
);
310 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
311 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
312 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized
, 8)
313 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor_uninitialized(basic_streambuf_char
*this, int uninitialized
)
315 TRACE("(%p %d)\n", this, uninitialized
);
316 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
317 mutex_ctor(&this->lock
);
321 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
322 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
323 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor
, 4)
324 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor(basic_streambuf_char
*this)
326 TRACE("(%p)\n", this);
328 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
329 mutex_ctor(&this->lock
);
330 this->loc
= MSVCRT_operator_new(sizeof(locale
));
331 locale_ctor(this->loc
);
332 basic_streambuf_char__Init_empty(this);
337 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
338 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
339 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor
, 4)
340 void __thiscall
basic_streambuf_char_dtor(basic_streambuf_char
*this)
342 TRACE("(%p)\n", this);
344 mutex_dtor(&this->lock
);
345 locale_dtor(this->loc
);
346 MSVCRT_operator_delete(this->loc
);
349 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_char_vector_dtor
, 8)
350 basic_streambuf_char
* __thiscall
MSVCP_basic_streambuf_char_vector_dtor(basic_streambuf_char
*this, unsigned int flags
)
352 TRACE("(%p %x)\n", this, flags
);
354 /* we have an array, with the number of elements stored before the first object */
355 int i
, *ptr
= (int *)this-1;
357 for(i
=*ptr
-1; i
>=0; i
--)
358 basic_streambuf_char_dtor(this+i
);
359 MSVCRT_operator_delete(ptr
);
361 basic_streambuf_char_dtor(this);
363 MSVCRT_operator_delete(this);
369 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
370 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
371 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnavail
, 4)
372 streamsize __thiscall
basic_streambuf_char__Gnavail(const basic_streambuf_char
*this)
374 TRACE("(%p)\n", this);
375 return *this->prpos
? *this->prsize
: 0;
378 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
379 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
380 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec
, 4)
381 char* __thiscall
basic_streambuf_char__Gndec(basic_streambuf_char
*this)
383 TRACE("(%p)\n", this);
389 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
390 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
391 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc
, 4)
392 char* __thiscall
basic_streambuf_char__Gninc(basic_streambuf_char
*this)
394 TRACE("(%p)\n", this);
396 return (*this->prpos
)++;
399 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
400 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
401 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnpreinc
, 4)
402 char* __thiscall
basic_streambuf_char__Gnpreinc(basic_streambuf_char
*this)
404 TRACE("(%p)\n", this);
410 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
411 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
412 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init
, 28)
413 void __thiscall
basic_streambuf_char__Init(basic_streambuf_char
*this, char **gf
, char **gn
, int *gc
, char **pf
, char **pn
, int *pc
)
415 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
425 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
426 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
427 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock
, 4)
428 void __thiscall
basic_streambuf_char__Lock(basic_streambuf_char
*this)
430 TRACE("(%p)\n", this);
431 mutex_lock(&this->lock
);
434 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
435 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
436 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pnavail
, 4)
437 streamsize __thiscall
basic_streambuf_char__Pnavail(const basic_streambuf_char
*this)
439 TRACE("(%p)\n", this);
440 return *this->pwpos
? *this->pwsize
: 0;
443 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
444 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
445 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc
, 4)
446 char* __thiscall
basic_streambuf_char__Pninc(basic_streambuf_char
*this)
448 TRACE("(%p)\n", this);
450 return (*this->pwpos
)++;
453 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
454 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
455 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow
, 4)
456 #define call_basic_streambuf_char_underflow(this) CALL_VTBL_FUNC(this, 16, \
457 int, (basic_streambuf_char*), (this))
458 int __thiscall
basic_streambuf_char_underflow(basic_streambuf_char
*this)
460 TRACE("(%p)\n", this);
464 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
465 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
466 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow
, 4)
467 #define call_basic_streambuf_char_uflow(this) CALL_VTBL_FUNC(this, 20, \
468 int, (basic_streambuf_char*), (this))
469 int __thiscall
basic_streambuf_char_uflow(basic_streambuf_char
*this)
473 TRACE("(%p)\n", this);
475 if(call_basic_streambuf_char_underflow(this)==EOF
)
484 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
485 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
486 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s
, 16)
487 #define call_basic_streambuf_char__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
488 streamsize, (basic_streambuf_char*, char*, MSVCP_size_t, streamsize), (this, ptr, size, count))
489 streamsize __thiscall
basic_streambuf_char__Xsgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
491 streamsize copied
, chunk
;
493 TRACE("(%p %p %lu %lu)\n", this, ptr
, size
, count
);
495 for(copied
=0; copied
<count
&& size
;) {
496 chunk
= basic_streambuf_char__Gnavail(this);
497 if(chunk
> count
-copied
)
498 chunk
= count
-copied
;
501 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
502 *this->prpos
+= chunk
;
503 *this->prsize
-= chunk
;
506 }else if((ptr
[copied
] = call_basic_streambuf_char_uflow(this)) != EOF
) {
517 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
518 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
519 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s
, 16)
520 streamsize __thiscall
basic_streambuf_char__Sgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
522 TRACE("(%p %p %lu %lu)\n", this, ptr
, size
, count
);
523 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, size
, count
);
526 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
527 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
528 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock
, 4)
529 void __thiscall
basic_streambuf_char__Unlock(basic_streambuf_char
*this)
531 TRACE("(%p)\n", this);
532 mutex_unlock(&this->lock
);
535 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
536 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
537 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback
, 4)
538 char* __thiscall
basic_streambuf_char_eback(const basic_streambuf_char
*this)
540 TRACE("(%p)\n", this);
544 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
545 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
546 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr
, 4)
547 char* __thiscall
basic_streambuf_char_gptr(const basic_streambuf_char
*this)
549 TRACE("(%p)\n", this);
553 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
554 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
555 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr
, 4)
556 char* __thiscall
basic_streambuf_char_egptr(const basic_streambuf_char
*this)
558 TRACE("(%p)\n", this);
559 return *this->prpos
+*this->prsize
;
562 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
563 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
564 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr
, 4)
565 char* __thiscall
basic_streambuf_char_epptr(const basic_streambuf_char
*this)
567 TRACE("(%p)\n", this);
568 return *this->pwpos
+*this->pwsize
;
571 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
572 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
573 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump
, 8)
574 void __thiscall
basic_streambuf_char_gbump(basic_streambuf_char
*this, int off
)
576 TRACE("(%p %d)\n", this, off
);
578 *this->prsize
-= off
;
581 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
582 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
583 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc
, 8)
584 locale
* __thiscall
basic_streambuf_char_getloc(const basic_streambuf_char
*this, locale
*ret
)
586 TRACE("(%p)\n", this);
587 return locale_copy_ctor(ret
, this->loc
);
590 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
591 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
592 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue
, 8)
593 #define call_basic_streambuf_char_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
594 void, (basic_streambuf_char*, const locale*), (this, loc))
595 void __thiscall
basic_streambuf_char_imbue(basic_streambuf_char
*this, const locale
*loc
)
597 TRACE("(%p %p)\n", this, loc
);
600 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
601 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
602 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow
, 8)
603 #define call_basic_streambuf_char_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
604 int, (basic_streambuf_char*, int), (this, ch))
605 int __thiscall
basic_streambuf_char_overflow(basic_streambuf_char
*this, int ch
)
607 TRACE("(%p %d)\n", this, ch
);
611 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
612 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
613 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail
, 8)
614 #define call_basic_streambuf_char_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
615 int, (basic_streambuf_char*, int), (this, ch))
616 int __thiscall
basic_streambuf_char_pbackfail(basic_streambuf_char
*this, int ch
)
618 TRACE("(%p %d)\n", this, ch
);
622 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
623 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
624 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase
, 4)
625 char* __thiscall
basic_streambuf_char_pbase(const basic_streambuf_char
*this)
627 TRACE("(%p)\n", this);
631 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
632 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
633 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump
, 8)
634 void __thiscall
basic_streambuf_char_pbump(basic_streambuf_char
*this, int off
)
636 TRACE("(%p %d)\n", this, off
);
638 *this->pwsize
-= off
;
641 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
642 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
643 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr
, 4)
644 char* __thiscall
basic_streambuf_char_pptr(const basic_streambuf_char
*this)
646 TRACE("(%p)\n", this);
650 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
651 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
652 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue
, 12)
653 locale
* __thiscall
basic_streambuf_char_pubimbue(basic_streambuf_char
*this, locale
*ret
, const locale
*loc
)
655 TRACE("(%p %p)\n", this, loc
);
656 memcpy(ret
, this->loc
, sizeof(locale
));
657 call_basic_streambuf_char_imbue(this, loc
);
658 locale_copy_ctor(this->loc
, loc
);
662 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
663 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
664 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff
, 20)
665 #define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
666 fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
667 fpos_int
* __thiscall
basic_streambuf_char_seekoff(basic_streambuf_char
*this,
668 fpos_int
*ret
, streamoff off
, int way
, int mode
)
670 TRACE("(%p %lu %d %d)\n", this, off
, way
, mode
);
677 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
678 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
679 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff
, 20)
680 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff(basic_streambuf_char
*this,
681 fpos_int
*ret
, streamoff off
, int way
, int mode
)
683 TRACE("(%p %lu %d %d)\n", this, off
, way
, mode
);
684 return call_basic_streambuf_char_seekoff(this, ret
, off
, way
, mode
);
687 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
688 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
689 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old
, 20)
690 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff_old(basic_streambuf_char
*this,
691 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
693 TRACE("(%p %lu %d %d)\n", this, off
, way
, mode
);
694 return basic_streambuf_char_pubseekoff(this, ret
, off
, way
, mode
);
697 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
698 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
699 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos
, 36)
700 #define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
701 fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
702 fpos_int
* __thiscall
basic_streambuf_char_seekpos(basic_streambuf_char
*this,
703 fpos_int
*ret
, fpos_int pos
, int mode
)
705 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
712 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
713 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
714 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos
, 36)
715 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos(basic_streambuf_char
*this,
716 fpos_int
*ret
, fpos_int pos
, int mode
)
718 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
719 return call_basic_streambuf_char_seekpos(this, ret
, pos
, mode
);
722 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
723 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
724 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old
, 36)
725 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos_old(basic_streambuf_char
*this,
726 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
728 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
729 return basic_streambuf_char_pubseekpos(this, ret
, pos
, mode
);
732 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
733 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
734 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf
, 12)
735 #define call_basic_streambuf_char_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
736 basic_streambuf_char*, (basic_streambuf_char*, char*, streamsize), (this, buf, count))
737 basic_streambuf_char
* __thiscall
basic_streambuf_char_setbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
739 TRACE("(%p %p %lu)\n", this, buf
, count
);
743 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
744 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
745 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf
, 12)
746 basic_streambuf_char
* __thiscall
basic_streambuf_char_pubsetbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
748 TRACE("(%p %p %lu)\n", this, buf
, count
);
749 return call_basic_streambuf_char_setbuf(this, buf
, count
);
752 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
753 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
754 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync
, 4)
755 #define call_basic_streambuf_char_sync(this) CALL_VTBL_FUNC(this, 48, \
756 int, (basic_streambuf_char*), (this))
757 int __thiscall
basic_streambuf_char_sync(basic_streambuf_char
*this)
759 TRACE("(%p)\n", this);
763 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
764 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
765 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync
, 4)
766 int __thiscall
basic_streambuf_char_pubsync(basic_streambuf_char
*this)
768 TRACE("(%p)\n", this);
769 return call_basic_streambuf_char_sync(this);
772 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
773 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
774 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn
, 12)
775 streamsize __thiscall
basic_streambuf_char_sgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
777 TRACE("(%p %p %lu)\n", this, ptr
, count
);
778 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
781 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
782 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
783 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc
, 4)
784 #define call_basic_streambuf_char_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
785 streamsize, (basic_streambuf_char*), (this))
786 streamsize __thiscall
basic_streambuf_char_showmanyc(basic_streambuf_char
*this)
788 TRACE("(%p)\n", this);
792 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
793 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
794 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail
, 4)
795 streamsize __thiscall
basic_streambuf_char_in_avail(basic_streambuf_char
*this)
799 TRACE("(%p)\n", this);
801 ret
= basic_streambuf_char__Gnavail(this);
802 return ret
? ret
: call_basic_streambuf_char_showmanyc(this);
805 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
806 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
807 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc
, 8)
808 int __thiscall
basic_streambuf_char_sputbackc(basic_streambuf_char
*this, char ch
)
810 TRACE("(%p %d)\n", this, ch
);
811 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
817 return call_basic_streambuf_char_pbackfail(this, ch
);
820 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
821 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
822 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc
, 8)
823 int __thiscall
basic_streambuf_char_sputc(basic_streambuf_char
*this, char ch
)
825 TRACE("(%p %d)\n", this, ch
);
826 return basic_streambuf_char__Pnavail(this) ?
827 (*basic_streambuf_char__Pninc(this) = ch
) :
828 call_basic_streambuf_char_overflow(this, ch
);
831 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
832 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
833 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc
, 4)
834 int __thiscall
basic_streambuf_char_sungetc(basic_streambuf_char
*this)
836 TRACE("(%p)\n", this);
837 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
840 return **this->prpos
;
843 return call_basic_streambuf_char_pbackfail(this, EOF
);
846 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
847 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
848 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc
, 4)
849 void __thiscall
basic_streambuf_char_stossc(basic_streambuf_char
*this)
851 TRACE("(%p)\n", this);
852 if(basic_streambuf_char__Gnavail(this))
853 basic_streambuf_char__Gninc(this);
855 call_basic_streambuf_char_uflow(this);
858 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
859 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
860 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc
, 4)
861 int __thiscall
basic_streambuf_char_sbumpc(basic_streambuf_char
*this)
863 TRACE("(%p)\n", this);
864 return basic_streambuf_char__Gnavail(this) ?
865 *basic_streambuf_char__Gninc(this) : call_basic_streambuf_char_uflow(this);
868 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
869 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
870 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc
, 4)
871 int __thiscall
basic_streambuf_char_sgetc(basic_streambuf_char
*this)
873 TRACE("(%p)\n", this);
874 return basic_streambuf_char__Gnavail(this) ?
875 *basic_streambuf_char_gptr(this) : call_basic_streambuf_char_underflow(this);
878 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
879 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
880 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc
, 4)
881 int __thiscall
basic_streambuf_char_snextc(basic_streambuf_char
*this)
883 TRACE("(%p)\n", this);
885 if(basic_streambuf_char__Gnavail(this) > 1)
886 return *basic_streambuf_char__Gnpreinc(this);
887 return basic_streambuf_char_sbumpc(this)==EOF
?
888 EOF
: basic_streambuf_char_sgetc(this);
891 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
892 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
893 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn
, 12)
894 #define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
895 streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
896 streamsize __thiscall
basic_streambuf_char_xsgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
898 TRACE("(%p %p %lu)\n", this, ptr
, count
);
899 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
902 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
903 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
904 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn
, 12)
905 #define call_basic_streambuf_char_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
906 streamsize, (basic_streambuf_char*, const char*, streamsize), (this, ptr, count))
907 streamsize __thiscall
basic_streambuf_char_xsputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
909 streamsize copied
, chunk
;
911 TRACE("(%p %p %lu)\n", this, ptr
, count
);
913 for(copied
=0; copied
<count
;) {
914 chunk
= basic_streambuf_char__Pnavail(this);
915 if(chunk
> count
-copied
)
916 chunk
= count
-copied
;
919 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
920 *this->pwpos
+= chunk
;
921 *this->pwsize
-= chunk
;
923 }else if(call_basic_streambuf_char_overflow(this, ptr
[copied
]) != EOF
) {
933 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
934 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
935 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn
, 12)
936 streamsize __thiscall
basic_streambuf_char_sputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
938 TRACE("(%p %p %lu)\n", this, ptr
, count
);
939 return call_basic_streambuf_char_xsputn(this, ptr
, count
);
942 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
943 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
944 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
945 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
946 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp_next
, 16)
947 void __thiscall
basic_streambuf_wchar_setp_next(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
949 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
953 this->wsize
= last
-next
;
956 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W0@Z */
957 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z */
958 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z */
959 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z */
960 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp
, 12)
961 void __thiscall
basic_streambuf_wchar_setp(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *last
)
963 basic_streambuf_wchar_setp_next(this, first
, first
, last
);
966 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
967 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
968 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
969 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
970 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setg
, 16)
971 void __thiscall
basic_streambuf_wchar_setg(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
973 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
977 this->rsize
= last
-next
;
980 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXXZ */
981 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXXZ */
982 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
983 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
984 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init_empty
, 4)
985 void __thiscall
basic_streambuf_wchar__Init_empty(basic_streambuf_wchar
*this)
987 TRACE("(%p)\n", this);
989 this->prbuf
= &this->rbuf
;
990 this->pwbuf
= &this->wbuf
;
991 this->prpos
= &this->rpos
;
992 this->pwpos
= &this->wpos
;
993 this->prsize
= &this->rsize
;
994 this->pwsize
= &this->wsize
;
996 basic_streambuf_wchar_setp(this, NULL
, NULL
);
997 basic_streambuf_wchar_setg(this, NULL
, NULL
, NULL
);
1000 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1001 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1002 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor_uninitialized
, 8)
1003 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1005 TRACE("(%p %d)\n", this, uninitialized
);
1006 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1007 mutex_ctor(&this->lock
);
1011 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1012 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1013 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor_uninitialized
, 8)
1014 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1016 TRACE("(%p %d)\n", this, uninitialized
);
1017 basic_streambuf_wchar_ctor_uninitialized(this, uninitialized
);
1018 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1022 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
1023 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
1024 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor
, 4)
1025 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor(basic_streambuf_wchar
*this)
1027 TRACE("(%p)\n", this);
1029 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1030 mutex_ctor(&this->lock
);
1031 this->loc
= MSVCRT_operator_new(sizeof(locale
));
1032 locale_ctor(this->loc
);
1033 basic_streambuf_wchar__Init_empty(this);
1038 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ */
1039 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ */
1040 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor
, 4)
1041 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor(basic_streambuf_wchar
*this)
1043 TRACE("(%p)\n", this);
1044 basic_streambuf_wchar_ctor(this);
1045 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1049 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
1050 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
1051 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
1052 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
1053 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_dtor
, 4)
1054 void __thiscall
basic_streambuf_wchar_dtor(basic_streambuf_wchar
*this)
1056 TRACE("(%p)\n", this);
1058 mutex_dtor(&this->lock
);
1059 locale_dtor(this->loc
);
1060 MSVCRT_operator_delete(this->loc
);
1063 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_wchar_vector_dtor
, 8)
1064 basic_streambuf_wchar
* __thiscall
MSVCP_basic_streambuf_wchar_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1066 TRACE("(%p %x)\n", this, flags
);
1068 /* we have an array, with the number of elements stored before the first object */
1069 int i
, *ptr
= (int *)this-1;
1071 for(i
=*ptr
-1; i
>=0; i
--)
1072 basic_streambuf_wchar_dtor(this+i
);
1073 MSVCRT_operator_delete(ptr
);
1075 basic_streambuf_wchar_dtor(this);
1077 MSVCRT_operator_delete(this);
1083 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_short_vector_dtor
, 8)
1084 basic_streambuf_wchar
* __thiscall
MSVCP_basic_streambuf_short_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1086 TRACE("(%p %x)\n", this, flags
);
1087 return MSVCP_basic_streambuf_wchar_vector_dtor(this, flags
);
1090 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1091 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1092 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1093 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1094 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnavail
, 4)
1095 streamsize __thiscall
basic_streambuf_wchar__Gnavail(const basic_streambuf_wchar
*this)
1097 TRACE("(%p)\n", this);
1098 return *this->prpos
? *this->prsize
: 0;
1101 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1102 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1103 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1104 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1105 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gndec
, 4)
1106 wchar_t* __thiscall
basic_streambuf_wchar__Gndec(basic_streambuf_wchar
*this)
1108 TRACE("(%p)\n", this);
1111 return *this->prpos
;
1114 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1115 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1116 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1117 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1118 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gninc
, 4)
1119 wchar_t* __thiscall
basic_streambuf_wchar__Gninc(basic_streambuf_wchar
*this)
1121 TRACE("(%p)\n", this);
1123 return (*this->prpos
)++;
1126 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1127 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1128 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1129 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1130 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnpreinc
, 4)
1131 wchar_t* __thiscall
basic_streambuf_wchar__Gnpreinc(basic_streambuf_wchar
*this)
1133 TRACE("(%p)\n", this);
1136 return *this->prpos
;
1139 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPAPA_W0PAH001@Z */
1140 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAPEA_W0PEAH001@Z */
1141 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z */
1142 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z */
1143 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init
, 28)
1144 void __thiscall
basic_streambuf_wchar__Init(basic_streambuf_wchar
*this, wchar_t **gf
, wchar_t **gn
, int *gc
, wchar_t **pf
, wchar_t **pn
, int *pc
)
1146 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1156 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1157 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1158 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1159 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1160 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Lock
, 4)
1161 void __thiscall
basic_streambuf_wchar__Lock(basic_streambuf_wchar
*this)
1163 TRACE("(%p)\n", this);
1164 mutex_lock(&this->lock
);
1167 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1168 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1169 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1170 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1171 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pnavail
, 4)
1172 streamsize __thiscall
basic_streambuf_wchar__Pnavail(const basic_streambuf_wchar
*this)
1174 TRACE("(%p)\n", this);
1175 return *this->pwpos
? *this->pwsize
: 0;
1178 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1179 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1180 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1181 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1182 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pninc
, 4)
1183 wchar_t* __thiscall
basic_streambuf_wchar__Pninc(basic_streambuf_wchar
*this)
1185 TRACE("(%p)\n", this);
1187 return (*this->pwpos
)++;
1190 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1191 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1192 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1193 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1194 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_underflow
, 4)
1195 #define call_basic_streambuf_wchar_underflow(this) CALL_VTBL_FUNC(this, 16, \
1196 unsigned short, (basic_streambuf_wchar*), (this))
1197 unsigned short __thiscall
basic_streambuf_wchar_underflow(basic_streambuf_wchar
*this)
1199 TRACE("(%p)\n", this);
1203 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1204 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1205 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1206 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1207 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_uflow
, 4)
1208 #define call_basic_streambuf_wchar_uflow(this) CALL_VTBL_FUNC(this, 20, \
1209 unsigned short, (basic_streambuf_wchar*), (this))
1210 unsigned short __thiscall
basic_streambuf_wchar_uflow(basic_streambuf_wchar
*this)
1214 TRACE("(%p)\n", this);
1216 if(call_basic_streambuf_wchar_underflow(this)==WEOF
)
1219 ret
= **this->prpos
;
1225 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WIH@Z */
1226 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
1227 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
1228 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
1229 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s
, 16)
1230 #define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1231 streamsize, (basic_streambuf_wchar*, wchar_t*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1232 streamsize __thiscall
basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1234 streamsize copied
, chunk
;
1236 TRACE("(%p %p %lu %lu)\n", this, ptr
, size
, count
);
1238 for(copied
=0; copied
<count
&& size
;) {
1239 chunk
= basic_streambuf_wchar__Gnavail(this);
1240 if(chunk
> count
-copied
)
1241 chunk
= count
-copied
;
1244 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
1245 *this->prpos
+= chunk
;
1246 *this->prsize
-= chunk
;
1249 }else if((ptr
[copied
] = call_basic_streambuf_wchar_uflow(this)) != WEOF
) {
1260 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
1261 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
1262 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
1263 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
1264 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Sgetn_s
, 16)
1265 streamsize __thiscall
basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1267 TRACE("(%p %p %lu %lu)\n", this, ptr
, size
, count
);
1268 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, size
, count
);
1271 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1272 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1273 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1274 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1275 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Unlock
, 4)
1276 void __thiscall
basic_streambuf_wchar__Unlock(basic_streambuf_wchar
*this)
1278 TRACE("(%p)\n", this);
1279 mutex_unlock(&this->lock
);
1282 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1283 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1284 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1285 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1286 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_eback
, 4)
1287 wchar_t* __thiscall
basic_streambuf_wchar_eback(const basic_streambuf_wchar
*this)
1289 TRACE("(%p)\n", this);
1290 return *this->prbuf
;
1293 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1294 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1295 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1296 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1297 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gptr
, 4)
1298 wchar_t* __thiscall
basic_streambuf_wchar_gptr(const basic_streambuf_wchar
*this)
1300 TRACE("(%p)\n", this);
1301 return *this->prpos
;
1304 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1305 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1306 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1307 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1308 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_egptr
, 4)
1309 wchar_t* __thiscall
basic_streambuf_wchar_egptr(const basic_streambuf_wchar
*this)
1311 TRACE("(%p)\n", this);
1312 return *this->prpos
+*this->prsize
;
1315 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1316 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1317 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1318 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1319 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_epptr
, 4)
1320 wchar_t* __thiscall
basic_streambuf_wchar_epptr(const basic_streambuf_wchar
*this)
1322 TRACE("(%p)\n", this);
1323 return *this->pwpos
+*this->pwsize
;
1326 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1327 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1328 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1329 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1330 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gbump
, 8)
1331 void __thiscall
basic_streambuf_wchar_gbump(basic_streambuf_wchar
*this, int off
)
1333 TRACE("(%p %d)\n", this, off
);
1334 *this->prpos
+= off
;
1335 *this->prsize
-= off
;
1338 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QBE?AVlocale@2@XZ */
1339 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEBA?AVlocale@2@XZ */
1340 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QBE?AVlocale@2@XZ */
1341 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEBA?AVlocale@2@XZ */
1342 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_getloc
, 8)
1343 locale
* __thiscall
basic_streambuf_wchar_getloc(const basic_streambuf_wchar
*this, locale
*ret
)
1345 TRACE("(%p)\n", this);
1346 return locale_copy_ctor(ret
, this->loc
);
1349 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
1350 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
1351 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
1352 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
1353 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue
, 8)
1354 #define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
1355 void, (basic_streambuf_wchar*, const locale*), (this, loc))
1356 void __thiscall
basic_streambuf_wchar_imbue(basic_streambuf_wchar
*this, const locale
*loc
)
1358 TRACE("(%p %p)\n", this, loc
);
1361 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1362 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1363 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1364 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1365 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_overflow
, 8)
1366 #define call_basic_streambuf_wchar_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1367 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1368 unsigned short __thiscall
basic_streambuf_wchar_overflow(basic_streambuf_wchar
*this, unsigned short ch
)
1370 TRACE("(%p %d)\n", this, ch
);
1374 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1375 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1376 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1377 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1378 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbackfail
, 8)
1379 #define call_basic_streambuf_wchar_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1380 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1381 unsigned short __thiscall
basic_streambuf_wchar_pbackfail(basic_streambuf_wchar
*this, unsigned short ch
)
1383 TRACE("(%p %d)\n", this, ch
);
1387 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1388 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1389 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1390 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1391 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbase
, 4)
1392 wchar_t* __thiscall
basic_streambuf_wchar_pbase(const basic_streambuf_wchar
*this)
1394 TRACE("(%p)\n", this);
1395 return *this->pwbuf
;
1398 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1399 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1400 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1401 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1402 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbump
, 8)
1403 void __thiscall
basic_streambuf_wchar_pbump(basic_streambuf_wchar
*this, int off
)
1405 TRACE("(%p %d)\n", this, off
);
1406 *this->pwpos
+= off
;
1407 *this->pwsize
-= off
;
1410 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1411 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1412 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1413 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1414 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pptr
, 4)
1415 wchar_t* __thiscall
basic_streambuf_wchar_pptr(const basic_streambuf_wchar
*this)
1417 TRACE("(%p)\n", this);
1418 return *this->pwpos
;
1421 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1422 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1423 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1424 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1425 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubimbue
, 12)
1426 locale
* __thiscall
basic_streambuf_wchar_pubimbue(basic_streambuf_wchar
*this, locale
*ret
, const locale
*loc
)
1428 TRACE("(%p %p)\n", this, loc
);
1429 memcpy(ret
, this->loc
, sizeof(locale
));
1430 call_basic_streambuf_wchar_imbue(this, loc
);
1431 locale_copy_ctor(this->loc
, loc
);
1435 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1436 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1437 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1438 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1439 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff
, 20)
1440 #define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
1441 fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1442 fpos_int
* __thiscall
basic_streambuf_wchar_seekoff(basic_streambuf_wchar
*this,
1443 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1445 TRACE("(%p %lu %d %d)\n", this, off
, way
, mode
);
1452 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1453 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1454 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1455 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1456 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff
, 20)
1457 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff(basic_streambuf_wchar
*this,
1458 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1460 TRACE("(%p %lu %d %d)\n", this, off
, way
, mode
);
1461 return call_basic_streambuf_wchar_seekoff(this, ret
, off
, way
, mode
);
1464 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1465 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1466 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1467 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1468 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old
, 20)
1469 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
*this,
1470 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
1472 TRACE("(%p %lu %d %d)\n", this, off
, way
, mode
);
1473 return basic_streambuf_wchar_pubseekoff(this, ret
, off
, way
, mode
);
1476 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1477 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1478 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1479 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1480 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekpos
, 36)
1481 #define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
1482 fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1483 fpos_int
* __thiscall
basic_streambuf_wchar_seekpos(basic_streambuf_wchar
*this,
1484 fpos_int
*ret
, fpos_int pos
, int mode
)
1486 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1493 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1494 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1495 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1496 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1497 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos
, 36)
1498 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar
*this,
1499 fpos_int
*ret
, fpos_int pos
, int mode
)
1501 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1502 return call_basic_streambuf_wchar_seekpos(this, ret
, pos
, mode
);
1505 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1506 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1507 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1508 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1509 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos_old
, 36)
1510 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar
*this,
1511 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
1513 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1514 return basic_streambuf_wchar_pubseekpos(this, ret
, pos
, mode
);
1517 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEPAV12@PA_WH@Z */
1518 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV12@PEA_W_J@Z */
1519 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
1520 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
1521 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf
, 12)
1522 #define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
1523 basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
1524 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_setbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
1526 TRACE("(%p %p %lu)\n", this, buf
, count
);
1530 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PA_WH@Z */
1531 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEA_W_J@Z */
1532 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z */
1533 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z */
1534 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsetbuf
, 12)
1535 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_pubsetbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
1537 TRACE("(%p %p %lu)\n", this, buf
, count
);
1538 return call_basic_streambuf_wchar_setbuf(this, buf
, count
);
1541 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
1542 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
1543 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
1544 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
1545 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync
, 4)
1546 #define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 48, \
1547 int, (basic_streambuf_wchar*), (this))
1548 int __thiscall
basic_streambuf_wchar_sync(basic_streambuf_wchar
*this)
1550 TRACE("(%p)\n", this);
1554 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
1555 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
1556 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
1557 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ */
1558 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsync
, 4)
1559 int __thiscall
basic_streambuf_wchar_pubsync(basic_streambuf_wchar
*this)
1561 TRACE("(%p)\n", this);
1562 return call_basic_streambuf_wchar_sync(this);
1565 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
1566 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
1567 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
1568 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
1569 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn
, 12)
1570 streamsize __thiscall
basic_streambuf_wchar_sgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
1572 TRACE("(%p %p %lu)\n", this, ptr
, count
);
1573 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
1576 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
1577 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JXZ */
1578 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
1579 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JXZ */
1580 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_showmanyc
, 4)
1581 #define call_basic_streambuf_wchar_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
1582 streamsize, (basic_streambuf_wchar*), (this))
1583 streamsize __thiscall
basic_streambuf_wchar_showmanyc(basic_streambuf_wchar
*this)
1585 TRACE("(%p)\n", this);
1589 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
1590 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JXZ */
1591 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
1592 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ */
1593 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_in_avail
, 4)
1594 streamsize __thiscall
basic_streambuf_wchar_in_avail(basic_streambuf_wchar
*this)
1598 TRACE("(%p)\n", this);
1600 ret
= basic_streambuf_wchar__Gnavail(this);
1601 return ret
? ret
: call_basic_streambuf_wchar_showmanyc(this);
1604 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
1605 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
1606 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
1607 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
1608 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputbackc
, 8)
1609 unsigned short __thiscall
basic_streambuf_wchar_sputbackc(basic_streambuf_wchar
*this, wchar_t ch
)
1611 TRACE("(%p %d)\n", this, ch
);
1612 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
1618 return call_basic_streambuf_wchar_pbackfail(this, ch
);
1621 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
1622 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
1623 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
1624 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHG@Z */
1625 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputc
, 8)
1626 unsigned short __thiscall
basic_streambuf_wchar_sputc(basic_streambuf_wchar
*this, wchar_t ch
)
1628 TRACE("(%p %d)\n", this, ch
);
1629 return basic_streambuf_wchar__Pnavail(this) ?
1630 (*basic_streambuf_wchar__Pninc(this) = ch
) :
1631 call_basic_streambuf_wchar_overflow(this, ch
);
1634 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1635 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1636 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1637 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1638 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sungetc
, 4)
1639 unsigned short __thiscall
basic_streambuf_wchar_sungetc(basic_streambuf_wchar
*this)
1641 TRACE("(%p)\n", this);
1642 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
1645 return **this->prpos
;
1648 return call_basic_streambuf_wchar_pbackfail(this, WEOF
);
1651 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1652 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1653 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1654 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1655 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_stossc
, 4)
1656 void __thiscall
basic_streambuf_wchar_stossc(basic_streambuf_wchar
*this)
1658 TRACE("(%p)\n", this);
1659 if(basic_streambuf_wchar__Gnavail(this))
1660 basic_streambuf_wchar__Gninc(this);
1662 call_basic_streambuf_wchar_uflow(this);
1665 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1666 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1667 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1668 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1669 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sbumpc
, 4)
1670 unsigned short __thiscall
basic_streambuf_wchar_sbumpc(basic_streambuf_wchar
*this)
1672 TRACE("(%p)\n", this);
1673 return basic_streambuf_wchar__Gnavail(this) ?
1674 *basic_streambuf_wchar__Gninc(this) : call_basic_streambuf_wchar_uflow(this);
1677 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1678 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1679 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1680 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1681 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetc
, 4)
1682 unsigned short __thiscall
basic_streambuf_wchar_sgetc(basic_streambuf_wchar
*this)
1684 TRACE("(%p)\n", this);
1685 return basic_streambuf_wchar__Gnavail(this) ?
1686 *basic_streambuf_wchar_gptr(this) : call_basic_streambuf_wchar_underflow(this);
1689 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1690 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1691 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1692 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1693 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_snextc
, 4)
1694 unsigned short __thiscall
basic_streambuf_wchar_snextc(basic_streambuf_wchar
*this)
1696 TRACE("(%p)\n", this);
1698 if(basic_streambuf_wchar__Gnavail(this) > 1)
1699 return *basic_streambuf_wchar__Gnpreinc(this);
1700 return basic_streambuf_wchar_sbumpc(this)==WEOF
?
1701 WEOF
: basic_streambuf_wchar_sgetc(this);
1704 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
1705 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
1706 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
1707 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
1708 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn
, 12)
1709 #define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
1710 streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
1711 streamsize __thiscall
basic_streambuf_wchar_xsgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
1713 TRACE("(%p %p %lu)\n", this, ptr
, count
);
1714 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
1717 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
1718 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
1719 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
1720 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
1721 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn
, 12)
1722 #define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
1723 streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
1724 streamsize __thiscall
basic_streambuf_wchar_xsputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
1726 streamsize copied
, chunk
;
1728 TRACE("(%p %p %lu)\n", this, ptr
, count
);
1730 for(copied
=0; copied
<count
;) {
1731 chunk
= basic_streambuf_wchar__Pnavail(this);
1732 if(chunk
> count
-copied
)
1733 chunk
= count
-copied
;
1736 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
1737 *this->pwpos
+= chunk
;
1738 *this->pwsize
-= chunk
;
1740 }else if(call_basic_streambuf_wchar_overflow(this, ptr
[copied
]) != WEOF
) {
1750 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z */
1751 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEB_W_J@Z */
1752 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z */
1753 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z */
1754 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputn
, 12)
1755 streamsize __thiscall
basic_streambuf_wchar_sputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
1757 TRACE("(%p %p %lu)\n", this, ptr
, count
);
1758 return call_basic_streambuf_wchar_xsputn(this, ptr
, count
);
1761 /* ??0ios_base@std@@IAE@XZ */
1762 /* ??0ios_base@std@@IEAA@XZ */
1763 DEFINE_THISCALL_WRAPPER(ios_base_ctor
, 4)
1764 ios_base
* __thiscall
ios_base_ctor(ios_base
*this)
1766 TRACE("(%p)\n", this);
1767 this->vtable
= &MSVCP_ios_base_vtable
;
1771 /* ??0ios_base@std@@QAE@ABV01@@Z */
1772 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
1773 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor
, 8)
1774 ios_base
* __thiscall
ios_base_copy_ctor(ios_base
*this, const ios_base
*copy
)
1776 TRACE("(%p %p)\n", this, copy
);
1778 this->vtable
= &MSVCP_ios_base_vtable
;
1782 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
1783 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
1784 DEFINE_THISCALL_WRAPPER(ios_base_Callfns
, 8)
1785 void __thiscall
ios_base_Callfns(ios_base
*this, IOS_BASE_event event
)
1787 IOS_BASE_fnarray
*cur
;
1789 TRACE("(%p %x)\n", this, event
);
1791 for(cur
=this->calls
; cur
; cur
=cur
->next
)
1792 cur
->event_handler(event
, this, cur
->index
);
1795 /* ?_Tidy@ios_base@std@@AAAXXZ */
1796 /* ?_Tidy@ios_base@std@@AEAAXXZ */
1797 void CDECL
ios_base_Tidy(ios_base
*this)
1799 IOS_BASE_iosarray
*arr_cur
, *arr_next
;
1800 IOS_BASE_fnarray
*event_cur
, *event_next
;
1802 TRACE("(%p)\n", this);
1804 ios_base_Callfns(this, EVENT_erase_event
);
1806 for(arr_cur
=this->arr
; arr_cur
; arr_cur
=arr_next
) {
1807 arr_next
= arr_cur
->next
;
1808 MSVCRT_operator_delete(arr_cur
);
1812 for(event_cur
=this->calls
; event_cur
; event_cur
=event_next
) {
1813 event_next
= event_cur
->next
;
1814 MSVCRT_operator_delete(event_cur
);
1819 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
1820 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
1821 void CDECL
ios_base_Ios_base_dtor(ios_base
*obj
)
1823 TRACE("(%p)\n", obj
);
1825 locale_dtor(obj
->loc
);
1826 MSVCRT_operator_delete(obj
->loc
);
1831 /* ??1ios_base@std@@UAE@XZ */
1832 /* ??1ios_base@std@@UEAA@XZ */
1833 DEFINE_THISCALL_WRAPPER(ios_base_dtor
, 4)
1834 void __thiscall
ios_base_dtor(ios_base
*this)
1836 ios_base_Ios_base_dtor(this);
1839 DEFINE_THISCALL_WRAPPER(MSVCP_ios_base_vector_dtor
, 8)
1840 ios_base
* __thiscall
MSVCP_ios_base_vector_dtor(ios_base
*this, unsigned int flags
)
1842 TRACE("(%p %x)\n", this, flags
);
1844 /* we have an array, with the number of elements stored before the first object */
1845 int i
, *ptr
= (int *)this-1;
1847 for(i
=*ptr
-1; i
>=0; i
--)
1848 ios_base_dtor(this+i
);
1849 MSVCRT_operator_delete(ptr
);
1851 ios_base_dtor(this);
1853 MSVCRT_operator_delete(this);
1859 DEFINE_THISCALL_WRAPPER(MSVCP_iosb_vector_dtor
, 8)
1860 void* __thiscall
MSVCP_iosb_vector_dtor(void *this, unsigned int flags
)
1862 TRACE("(%p %x)\n", this, flags
);
1864 int *ptr
= (int *)this-1;
1865 MSVCRT_operator_delete(ptr
);
1868 MSVCRT_operator_delete(this);
1874 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
1875 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
1876 DEFINE_THISCALL_WRAPPER(ios_base_Findarr
, 8)
1877 IOS_BASE_iosarray
* __thiscall
ios_base_Findarr(ios_base
*this, int index
)
1879 IOS_BASE_iosarray
*p
;
1881 TRACE("(%p %d)\n", this, index
);
1883 for(p
=this->arr
; p
; p
=p
->next
) {
1884 if(p
->index
== index
)
1888 for(p
=this->arr
; p
; p
=p
->next
) {
1889 if(!p
->long_val
&& !p
->ptr_val
) {
1895 p
= MSVCRT_operator_new(sizeof(IOS_BASE_iosarray
));
1896 p
->next
= this->arr
;
1904 /* ?iword@ios_base@std@@QAEAAJH@Z */
1905 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
1906 DEFINE_THISCALL_WRAPPER(ios_base_iword
, 8)
1907 LONG
* __thiscall
ios_base_iword(ios_base
*this, int index
)
1909 TRACE("(%p %d)\n", this, index
);
1910 return &ios_base_Findarr(this, index
)->long_val
;
1913 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
1914 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
1915 DEFINE_THISCALL_WRAPPER(ios_base_pword
, 8)
1916 void** __thiscall
ios_base_pword(ios_base
*this, int index
)
1918 TRACE("(%p %d)\n", this, index
);
1919 return &ios_base_Findarr(this, index
)->ptr_val
;
1922 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
1923 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
1924 DEFINE_THISCALL_WRAPPER(ios_base_register_callback
, 12)
1925 void __thiscall
ios_base_register_callback(ios_base
*this, IOS_BASE_event_callback callback
, int index
)
1927 IOS_BASE_fnarray
*event
;
1929 TRACE("(%p %p %d)\n", this, callback
, index
);
1931 event
= MSVCRT_operator_new(sizeof(IOS_BASE_fnarray
));
1932 event
->next
= this->calls
;
1933 event
->index
= index
;
1934 event
->event_handler
= callback
;
1935 this->calls
= event
;
1938 /* ?clear@ios_base@std@@QAEXH_N@Z */
1939 /* ?clear@ios_base@std@@QEAAXH_N@Z */
1940 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise
, 12)
1941 void __thiscall
ios_base_clear_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
1943 TRACE("(%p %x %x)\n", this, state
, reraise
);
1945 this->state
= state
& IOSTATE_mask
;
1946 if(!(this->state
& this->except
))
1950 throw_exception(EXCEPTION_RERAISE
, NULL
);
1951 else if(this->state
& this->except
& IOSTATE_eofbit
)
1952 throw_exception(EXCEPTION_FAILURE
, "eofbit is set");
1953 else if(this->state
& this->except
& IOSTATE_failbit
)
1954 throw_exception(EXCEPTION_FAILURE
, "failbit is set");
1955 else if(this->state
& this->except
& IOSTATE_badbit
)
1956 throw_exception(EXCEPTION_FAILURE
, "badbit is set");
1957 else if(this->state
& this->except
& IOSTATE__Hardfail
)
1958 throw_exception(EXCEPTION_FAILURE
, "_Hardfail is set");
1961 /* ?clear@ios_base@std@@QAEXH@Z */
1962 /* ?clear@ios_base@std@@QEAAXH@Z */
1963 DEFINE_THISCALL_WRAPPER(ios_base_clear
, 8)
1964 void __thiscall
ios_base_clear(ios_base
*this, IOSB_iostate state
)
1966 ios_base_clear_reraise(this, state
, FALSE
);
1969 /* ?clear@ios_base@std@@QAEXI@Z */
1970 /* ?clear@ios_base@std@@QEAAXI@Z */
1971 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned
, 8)
1972 void __thiscall
ios_base_clear_unsigned(ios_base
*this, unsigned int state
)
1974 ios_base_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
1977 /* ?exceptions@ios_base@std@@QAEXH@Z */
1978 /* ?exceptions@ios_base@std@@QEAAXH@Z */
1979 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set
, 8)
1980 void __thiscall
ios_base_exceptions_set(ios_base
*this, IOSB_iostate state
)
1982 TRACE("(%p %x)\n", this, state
);
1983 this->except
= state
& IOSTATE_mask
;
1984 ios_base_clear(this, this->state
);
1987 /* ?exceptions@ios_base@std@@QAEXI@Z */
1988 /* ?exceptions@ios_base@std@@QEAAXI@Z */
1989 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set_unsigned
, 8)
1990 void __thiscall
ios_base_exceptions_set_unsigned(ios_base
*this, unsigned int state
)
1992 TRACE("(%p %x)\n", this, state
);
1993 ios_base_exceptions_set(this, state
);
1996 /* ?exceptions@ios_base@std@@QBEHXZ */
1997 /* ?exceptions@ios_base@std@@QEBAHXZ */
1998 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_get
, 4)
1999 IOSB_iostate __thiscall
ios_base_exceptions_get(ios_base
*this)
2001 TRACE("(%p)\n", this);
2002 return this->except
;
2005 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
2006 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
2007 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt
, 8)
2008 ios_base
* __thiscall
ios_base_copyfmt(ios_base
*this, const ios_base
*rhs
)
2010 TRACE("(%p %p)\n", this, rhs
);
2013 IOS_BASE_iosarray
*arr_cur
;
2014 IOS_BASE_fnarray
*event_cur
;
2016 ios_base_Tidy(this);
2018 for(arr_cur
=rhs
->arr
; arr_cur
; arr_cur
=arr_cur
->next
) {
2019 if(arr_cur
->long_val
)
2020 *ios_base_iword(this, arr_cur
->index
) = arr_cur
->long_val
;
2021 if(arr_cur
->ptr_val
)
2022 *ios_base_pword(this, arr_cur
->index
) = arr_cur
->ptr_val
;
2024 this->stdstr
= rhs
->stdstr
;
2025 this->fmtfl
= rhs
->fmtfl
;
2026 this->prec
= rhs
->prec
;
2027 this->wide
= rhs
->wide
;
2028 locale_operator_assign(this->loc
, rhs
->loc
);
2030 for(event_cur
=rhs
->calls
; event_cur
; event_cur
=event_cur
->next
)
2031 ios_base_register_callback(this, event_cur
->event_handler
, event_cur
->index
);
2033 ios_base_Callfns(this, EVENT_copyfmt_event
);
2034 ios_base_exceptions_set(this, rhs
->except
);
2040 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
2041 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
2042 DEFINE_THISCALL_WRAPPER(ios_base_assign
, 8)
2043 ios_base
* __thiscall
ios_base_assign(ios_base
*this, const ios_base
*right
)
2045 TRACE("(%p %p)\n", this, right
);
2048 this->state
= right
->state
;
2049 ios_base_copyfmt(this, right
);
2055 /* ?fail@ios_base@std@@QBE_NXZ */
2056 /* ?fail@ios_base@std@@QEBA_NXZ */
2057 DEFINE_THISCALL_WRAPPER(ios_base_fail
, 4)
2058 MSVCP_bool __thiscall
ios_base_fail(const ios_base
*this)
2060 TRACE("(%p)\n", this);
2061 return (this->state
& (IOSTATE_failbit
|IOSTATE_badbit
)) != 0;
2064 /* ??7ios_base@std@@QBE_NXZ */
2065 /* ??7ios_base@std@@QEBA_NXZ */
2066 DEFINE_THISCALL_WRAPPER(ios_base_op_succ
, 4)
2067 MSVCP_bool __thiscall
ios_base_op_succ(const ios_base
*this)
2069 TRACE("(%p)\n", this);
2070 return ios_base_fail(this);
2073 /* ??Bios_base@std@@QBEPAXXZ */
2074 /* ??Bios_base@std@@QEBAPEAXXZ */
2075 DEFINE_THISCALL_WRAPPER(ios_base_op_fail
, 4)
2076 void* __thiscall
ios_base_op_fail(const ios_base
*this)
2078 TRACE("(%p)\n", this);
2079 return ios_base_fail(this) ? NULL
: (void*)this;
2082 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
2083 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
2084 void CDECL
ios_base_Addstd(ios_base
*add
)
2086 FIXME("(%p) stub\n", add
);
2089 /* ?_Index_func@ios_base@std@@CAAAHXZ */
2090 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
2091 int* CDECL
ios_base_Index_func(void)
2094 return &ios_base_Index
;
2097 /* ?_Init@ios_base@std@@IAEXXZ */
2098 /* ?_Init@ios_base@std@@IEAAXXZ */
2099 DEFINE_THISCALL_WRAPPER(ios_base_Init
, 4)
2100 void __thiscall
ios_base_Init(ios_base
*this)
2102 TRACE("(%p)\n", this);
2105 this->state
= this->except
= IOSTATE_goodbit
;
2106 this->fmtfl
= FMTFLAG_skipws
| FMTFLAG_dec
;
2111 this->loc
= MSVCRT_operator_new(sizeof(locale
));
2112 locale_ctor(this->loc
);
2115 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
2116 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
2117 MSVCP_bool
* CDECL
ios_base_Sync_func(void)
2120 return &ios_base_Sync
;
2123 /* ?bad@ios_base@std@@QBE_NXZ */
2124 /* ?bad@ios_base@std@@QEBA_NXZ */
2125 DEFINE_THISCALL_WRAPPER(ios_base_bad
, 4)
2126 MSVCP_bool __thiscall
ios_base_bad(const ios_base
*this)
2128 TRACE("(%p)\n", this);
2129 return (this->state
& IOSTATE_badbit
) != 0;
2132 /* ?eof@ios_base@std@@QBE_NXZ */
2133 /* ?eof@ios_base@std@@QEBA_NXZ */
2134 DEFINE_THISCALL_WRAPPER(ios_base_eof
, 4)
2135 MSVCP_bool __thiscall
ios_base_eof(const ios_base
*this)
2137 TRACE("(%p)\n", this);
2138 return (this->state
& IOSTATE_eofbit
) != 0;
2141 /* ?flags@ios_base@std@@QAEHH@Z */
2142 /* ?flags@ios_base@std@@QEAAHH@Z */
2143 DEFINE_THISCALL_WRAPPER(ios_base_flags_set
, 8)
2144 IOSB_fmtflags __thiscall
ios_base_flags_set(ios_base
*this, IOSB_fmtflags flags
)
2146 IOSB_fmtflags ret
= this->fmtfl
;
2148 TRACE("(%p %x)\n", this, flags
);
2150 this->fmtfl
= flags
& FMTFLAG_mask
;
2154 /* ?flags@ios_base@std@@QBEHXZ */
2155 /* ?flags@ios_base@std@@QEBAHXZ */
2156 DEFINE_THISCALL_WRAPPER(ios_base_flags_get
, 4)
2157 IOSB_fmtflags __thiscall
ios_base_flags_get(const ios_base
*this)
2159 TRACE("(%p)\n", this);
2163 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
2164 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
2165 DEFINE_THISCALL_WRAPPER(ios_base_getloc
, 8)
2166 locale
* __thiscall
ios_base_getloc(const ios_base
*this, locale
*ret
)
2168 TRACE("(%p)\n", this);
2169 return locale_copy_ctor(ret
, this->loc
);
2172 /* ?good@ios_base@std@@QBE_NXZ */
2173 /* ?good@ios_base@std@@QEBA_NXZ */
2174 DEFINE_THISCALL_WRAPPER(ios_base_good
, 4)
2175 MSVCP_bool __thiscall
ios_base_good(const ios_base
*this)
2177 TRACE("(%p)\n", this);
2178 return this->state
== IOSTATE_goodbit
;
2181 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
2182 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
2183 DEFINE_THISCALL_WRAPPER(ios_base_imbue
, 12)
2184 locale
* __thiscall
ios_base_imbue(ios_base
*this, locale
*ret
, const locale
*loc
)
2186 TRACE("(%p %p)\n", this, loc
);
2188 locale_copy_ctor(this->loc
, loc
);
2192 /* ?precision@ios_base@std@@QAEHH@Z */
2193 /* ?precision@ios_base@std@@QEAA_J_J@Z */
2194 DEFINE_THISCALL_WRAPPER(ios_base_precision_set
, 8)
2195 MSVCP_size_t __thiscall
ios_base_precision_set(ios_base
*this, MSVCP_size_t precision
)
2197 MSVCP_size_t ret
= this->prec
;
2199 TRACE("(%p %lu)\n", this, precision
);
2201 this->prec
= precision
;
2205 /* ?precision@ios_base@std@@QBEHXZ */
2206 /* ?precision@ios_base@std@@QEBA_JXZ */
2207 DEFINE_THISCALL_WRAPPER(ios_base_precision_get
, 4)
2208 MSVCP_size_t __thiscall
ios_base_precision_get(const ios_base
*this)
2210 TRACE("(%p)\n", this);
2214 /* ?rdstate@ios_base@std@@QBEHXZ */
2215 /* ?rdstate@ios_base@std@@QEBAHXZ */
2216 DEFINE_THISCALL_WRAPPER(ios_base_rdstate
, 4)
2217 IOSB_iostate __thiscall
ios_base_rdstate(const ios_base
*this)
2219 TRACE("(%p)\n", this);
2223 /* ?setf@ios_base@std@@QAEHHH@Z */
2224 /* ?setf@ios_base@std@@QEAAHHH@Z */
2225 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask
, 12)
2226 IOSB_fmtflags __thiscall
ios_base_setf_mask(ios_base
*this, IOSB_fmtflags flags
, IOSB_fmtflags mask
)
2228 IOSB_fmtflags ret
= this->fmtfl
;
2230 TRACE("(%p %x %x)\n", this, flags
, mask
);
2232 this->fmtfl
= (this->fmtfl
& (~mask
)) | (flags
& mask
& FMTFLAG_mask
);
2236 /* ?setf@ios_base@std@@QAEHH@Z */
2237 /* ?setf@ios_base@std@@QEAAHH@Z */
2238 DEFINE_THISCALL_WRAPPER(ios_base_setf
, 8)
2239 IOSB_fmtflags __thiscall
ios_base_setf(ios_base
*this, IOSB_fmtflags flags
)
2241 return ios_base_setf_mask(this, flags
, ~0);
2244 /* ?setstate@ios_base@std@@QAEXH_N@Z */
2245 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
2246 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise
, 12)
2247 void __thiscall
ios_base_setstate_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
2249 TRACE("(%p %x %x)\n", this, state
, reraise
);
2251 if(state
!= IOSTATE_goodbit
)
2252 ios_base_clear_reraise(this, this->state
| state
, reraise
);
2255 /* ?setstate@ios_base@std@@QAEXH@Z */
2256 /* ?setstate@ios_base@std@@QEAAXH@Z */
2257 DEFINE_THISCALL_WRAPPER(ios_base_setstate
, 8)
2258 void __thiscall
ios_base_setstate(ios_base
*this, IOSB_iostate state
)
2260 ios_base_setstate_reraise(this, state
, FALSE
);
2263 /* ?setstate@ios_base@std@@QAEXI@Z */
2264 /* ?setstate@ios_base@std@@QEAAXI@Z */
2265 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned
, 8)
2266 void __thiscall
ios_base_setstate_unsigned(ios_base
*this, unsigned int state
)
2268 ios_base_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
2271 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
2272 MSVCP_bool CDECL
ios_base_sync_with_stdio(MSVCP_bool sync
)
2277 TRACE("(%x)\n", sync
);
2279 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
2280 ret
= ios_base_Sync
;
2281 ios_base_Sync
= sync
;
2282 _Lockit_dtor(&lock
);
2286 /* ?unsetf@ios_base@std@@QAEXH@Z */
2287 /* ?unsetf@ios_base@std@@QEAAXH@Z */
2288 DEFINE_THISCALL_WRAPPER(ios_base_unsetf
, 8)
2289 void __thiscall
ios_base_unsetf(ios_base
*this, IOSB_fmtflags flags
)
2291 TRACE("(%p %x)\n", this, flags
);
2292 this->fmtfl
&= ~flags
;
2295 /* ?width@ios_base@std@@QAEHH@Z */
2296 /* ?width@ios_base@std@@QEAA_J_J@Z */
2297 DEFINE_THISCALL_WRAPPER(ios_base_width_set
, 8)
2298 MSVCP_size_t __thiscall
ios_base_width_set(ios_base
*this, MSVCP_size_t width
)
2300 MSVCP_size_t ret
= this->wide
;
2302 TRACE("(%p %lu)\n", this, width
);
2308 /* ?width@ios_base@std@@QBEHXZ */
2309 /* ?width@ios_base@std@@QEBA_JXZ */
2310 DEFINE_THISCALL_WRAPPER(ios_base_width_get
, 4)
2311 MSVCP_size_t __thiscall
ios_base_width_get(ios_base
*this)
2313 TRACE("(%p)\n", this);
2317 /* ?xalloc@ios_base@std@@SAHXZ */
2318 int CDECL
ios_base_xalloc(void)
2325 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
2326 ret
= ios_base_Index
++;
2327 _Lockit_dtor(&lock
);
2331 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
2332 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
2333 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor
, 4)
2334 basic_ios_char
* __thiscall
basic_ios_char_ctor(basic_ios_char
*this)
2336 TRACE("(%p)\n", this);
2338 ios_base_ctor(&this->base
);
2339 this->base
.vtable
= &MSVCP_basic_ios_char_vtable
;
2343 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
2344 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
2345 DEFINE_THISCALL_WRAPPER(basic_ios_char_init
, 12)
2346 void __thiscall
basic_ios_char_init(basic_ios_char
*this, basic_streambuf_char
*streambuf
, MSVCP_bool isstd
)
2348 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
2349 ios_base_Init(&this->base
);
2350 this->strbuf
= streambuf
;
2351 this->stream
= NULL
;
2355 ios_base_setstate(&this->base
, IOSTATE_badbit
);
2358 FIXME("standard streams not handled yet\n");
2361 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2362 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2363 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor_streambuf
, 8)
2364 basic_ios_char
* __thiscall
basic_ios_char_ctor_streambuf(basic_ios_char
*this, basic_streambuf_char
*strbuf
)
2366 TRACE("(%p %p)\n", this, strbuf
);
2368 basic_ios_char_ctor(this);
2369 basic_ios_char_init(this, strbuf
, FALSE
);
2373 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
2374 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2375 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor
, 4)
2376 void __thiscall
basic_ios_char_dtor(basic_ios_char
*this)
2378 TRACE("(%p)\n", this);
2379 ios_base_dtor(&this->base
);
2382 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_char_vector_dtor
, 8)
2383 basic_ios_char
* __thiscall
MSVCP_basic_ios_char_vector_dtor(basic_ios_char
*this, unsigned int flags
)
2385 TRACE("(%p %x) stub\n", this, flags
);
2387 /* we have an array, with the number of elements stored before the first object */
2388 int i
, *ptr
= (int *)this-1;
2390 for(i
=*ptr
-1; i
>=0; i
--)
2391 basic_ios_char_dtor(this+i
);
2392 MSVCRT_operator_delete(ptr
);
2394 basic_ios_char_dtor(this);
2396 MSVCRT_operator_delete(this);
2402 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
2403 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
2404 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise
, 12)
2405 void __thiscall
basic_ios_char_clear_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
2407 TRACE("(%p %x %x)\n", this, state
, reraise
);
2408 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
2411 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
2412 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
2413 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear
, 8)
2414 void __thiscall
basic_ios_char_clear(basic_ios_char
*this, unsigned int state
)
2416 basic_ios_char_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
2419 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
2420 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
2421 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt
, 8)
2422 basic_ios_char
* __thiscall
basic_ios_char_copyfmt(basic_ios_char
*this, basic_ios_char
*copy
)
2424 TRACE("(%p %p)\n", this, copy
);
2428 this->stream
= copy
->stream
;
2429 this->fillch
= copy
->fillch
;
2430 ios_base_copyfmt(&this->base
, ©
->base
);
2434 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
2435 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
2436 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set
, 8)
2437 char __thiscall
basic_ios_char_fill_set(basic_ios_char
*this, char fill
)
2439 char ret
= this->fillch
;
2441 TRACE("(%p %c)\n", this, fill
);
2443 this->fillch
= fill
;
2447 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
2448 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
2449 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get
, 4)
2450 char __thiscall
basic_ios_char_fill_get(basic_ios_char
*this)
2452 TRACE("(%p)\n", this);
2453 return this->fillch
;
2456 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2457 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2458 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue
, 12)
2459 locale
*__thiscall
basic_ios_char_imbue(basic_ios_char
*this, locale
*ret
, const locale
*loc
)
2461 TRACE("(%p %p %p)\n", this, ret
, loc
);
2464 return basic_streambuf_char_pubimbue(this->strbuf
, ret
, loc
);
2466 locale_copy_ctor(ret
, loc
);
2470 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
2471 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
2472 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow
, 12)
2473 char __thiscall
basic_ios_char_narrow(basic_ios_char
*this, char ch
, char def
)
2475 FIXME("(%p %c %c) stub\n", this, ch
, def
);
2479 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
2480 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
2481 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set
, 8)
2482 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_set(basic_ios_char
*this, basic_streambuf_char
*streambuf
)
2484 basic_streambuf_char
*ret
= this->strbuf
;
2486 TRACE("(%p %p)\n", this, streambuf
);
2488 this->strbuf
= streambuf
;
2489 basic_ios_char_clear(this, IOSTATE_goodbit
);
2493 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
2494 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
2495 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get
, 4)
2496 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_get(const basic_ios_char
*this)
2498 TRACE("(%p)\n", this);
2499 return this->strbuf
;
2502 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
2503 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
2504 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise
, 12)
2505 void __thiscall
basic_ios_char_setstate_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
2507 TRACE("(%p %x %x)\n", this, state
, reraise
);
2509 if(state
!= IOSTATE_goodbit
)
2510 basic_ios_char_clear_reraise(this, this->base
.state
| state
, reraise
);
2513 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
2514 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
2515 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate
, 8)
2516 void __thiscall
basic_ios_char_setstate(basic_ios_char
*this, unsigned int state
)
2518 basic_ios_char_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
2521 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
2522 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
2523 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set
, 8)
2524 basic_ostream_char
* __thiscall
basic_ios_char_tie_set(basic_ios_char
*this, basic_ostream_char
*ostream
)
2526 basic_ostream_char
*ret
= this->stream
;
2528 TRACE("(%p %p)\n", this, ostream
);
2530 this->stream
= ostream
;
2534 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
2535 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
2536 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get
, 4)
2537 basic_ostream_char
* __thiscall
basic_ios_char_tie_get(const basic_ios_char
*this)
2539 TRACE("(%p)\n", this);
2540 return this->stream
;
2543 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
2544 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
2545 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen
, 8)
2546 char __thiscall
basic_ios_char_widen(basic_ios_char
*this, char ch
)
2548 FIXME("(%p %c) stub\n", this, ch
);
2553 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
2554 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
2555 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor
, 4)
2556 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor(basic_ios_wchar
*this)
2558 FIXME("(%p) stub\n", this);
2562 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
2563 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
2564 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copy_ctor
, 8)
2565 basic_ios_wchar
* __thiscall
basic_ios_wchar_copy_ctor(basic_ios_wchar
*this, const basic_ios_wchar
*copy
)
2567 FIXME("(%p %p) stub\n", this, copy
);
2571 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
2572 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
2573 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor
, 4)
2574 void __thiscall
basic_ios_wchar_dtor(basic_ios_wchar
*this)
2576 FIXME("(%p) stub\n", this);
2579 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_wchar_vector_dtor
, 8)
2580 basic_ios_wchar
* __thiscall
MSVCP_basic_ios_wchar_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
2582 TRACE("(%p %x) stub\n", this, flags
);
2584 /* we have an array, with the number of elements stored before the first object */
2585 int i
, *ptr
= (int *)this-1;
2587 for(i
=*ptr
-1; i
>=0; i
--)
2588 basic_ios_wchar_dtor(this+i
);
2589 MSVCRT_operator_delete(ptr
);
2591 basic_ios_wchar_dtor(this);
2593 MSVCRT_operator_delete(this);
2599 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
2600 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
2601 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise
, 12)
2602 void __thiscall
basic_ios_wchar_clear_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
2604 FIXME("(%p %x %x) stub\n", this, state
, reraise
);
2607 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
2608 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
2609 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear
, 8)
2610 void __thiscall
basic_ios_wchar_clear(basic_ios_wchar
*this, unsigned int state
)
2612 basic_ios_wchar_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
2615 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
2616 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
2617 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt
, 8)
2618 basic_ios_wchar
* __thiscall
basic_ios_wchar_copyfmt(basic_ios_wchar
*this, basic_ios_wchar
*copy
)
2620 FIXME("(%p %p) stub\n", this, copy
);
2624 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
2625 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
2626 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set
, 8)
2627 wchar_t __thiscall
basic_ios_wchar_fill_set(basic_ios_wchar
*this, wchar_t fill
)
2629 FIXME("(%p %c) stub\n", this, fill
);
2633 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
2634 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
2635 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get
, 4)
2636 wchar_t __thiscall
basic_ios_wchar_fill_get(basic_ios_wchar
*this)
2638 FIXME("(%p) stub\n", this);
2642 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2643 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2644 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue
, 12)
2645 locale
*__thiscall
basic_ios_wchar_imbue(basic_ios_wchar
*this, locale
*ret
, const locale
*loc
)
2647 FIXME("(%p %p %p) stub\n", this, ret
, loc
);
2651 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
2652 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
2653 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init
, 12)
2654 void __thiscall
basic_ios_wchar_init(basic_ios_wchar
*this, /*basic_streambuf_wchar*/void *streambuf
, MSVCP_bool isstd
)
2656 FIXME("(%p %p %x) stub\n", this, streambuf
, isstd
);
2659 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
2660 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
2661 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow
, 12)
2662 char __thiscall
basic_ios_wchar_narrow(basic_ios_wchar
*this, wchar_t ch
, char def
)
2664 FIXME("(%p %c %c) stub\n", this, ch
, def
);
2668 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
2669 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
2670 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set
, 8)
2671 /*basic_streambuf_wchar*/void* __thiscall
basic_ios_wchar_rdbuf_set(basic_ios_wchar
*this, /*basic_streambuf_wchar*/void *streambuf
)
2673 FIXME("(%p %p) stub\n", this, streambuf
);
2677 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
2678 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
2679 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get
, 4)
2680 /*basic_streambuf_wchar*/void* __thiscall
basic_ios_wchar_rdbuf_get(const basic_ios_wchar
*this)
2682 FIXME("(%p) stub\n", this);
2686 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
2687 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
2688 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise
, 12)
2689 void __thiscall
basic_ios_wchar_setstate_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
2691 FIXME("(%p %x %x) stub\n", this, state
, reraise
);
2694 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
2695 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
2696 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate
, 8)
2697 void __thiscall
basic_ios_wchar_setstate(basic_ios_wchar
*this, IOSB_iostate state
)
2699 basic_ios_wchar_setstate_reraise(this, state
, FALSE
);
2702 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
2703 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
2704 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set
, 8)
2705 /*basic_ostream_wchar*/void* __thiscall
basic_ios_wchar_tie_set(basic_ios_wchar
*this, /*basic_ostream_wchar*/void *ostream
)
2707 FIXME("(%p %p) stub\n", this, ostream
);
2711 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
2712 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
2713 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get
, 4)
2714 /*basic_ostream_wchar*/void* __thiscall
basic_ios_wchar_tie_get(const basic_ios_wchar
*this)
2716 FIXME("(%p)\n", this);
2720 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
2721 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
2722 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen
, 8)
2723 wchar_t __thiscall
basic_ios_wchar_widen(basic_ios_wchar
*this, char ch
)
2725 FIXME("(%p %c)\n", this, ch
);
2729 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
2730 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
2731 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor
, 12)
2732 basic_ostream_char
* __thiscall
basic_ostream_char_ctor(basic_ostream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool isstd
)
2734 FIXME("(%p %p %d) stub\n", this, strbuf
, isstd
);
2738 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
2739 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
2740 DEFINE_THISCALL_WRAPPER(basic_ostream_char_uninitialized
, 12)
2741 basic_ostream_char
* __thiscall
basic_ostream_char_uninitialized(basic_ostream_char
*this, int uninitialized
, MSVCP_bool addstd
)
2743 FIXME("(%p %d %x) stub\n", this, uninitialized
, addstd
);
2747 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
2748 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2749 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor
, 4)
2750 void __thiscall
basic_ostream_char_dtor(basic_ostream_char
*this)
2752 FIXME("(%p) stub\n", this);
2755 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_char_vector_dtor
, 8)
2756 basic_ostream_char
* __thiscall
MSVCP_basic_ostream_char_vector_dtor(basic_ostream_char
*this, unsigned int flags
)
2758 TRACE("(%p %x) stub\n", this, flags
);
2760 /* we have an array, with the number of elements stored before the first object */
2761 int i
, *ptr
= (int *)this-1;
2763 for(i
=*ptr
-1; i
>=0; i
--)
2764 basic_ostream_char_dtor(this+i
);
2765 MSVCRT_operator_delete(ptr
);
2767 basic_ostream_char_dtor(this);
2769 MSVCRT_operator_delete(this);
2775 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
2776 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
2777 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short
, 8)
2778 basic_ostream_char
* __thiscall
basic_ostream_char_print_short(basic_ostream_char
*this, short val
)
2780 FIXME("(%p %d) stub\n", this, val
);
2784 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
2785 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
2786 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort
, 8)
2787 basic_ostream_char
* __thiscall
basic_ostream_char_print_ushort(basic_ostream_char
*this, unsigned short val
)
2789 FIXME("(%p %d) stub\n", this, val
);
2793 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
2794 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
2795 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int
, 8)
2796 basic_ostream_char
* __thiscall
basic_ostream_char_print_int(basic_ostream_char
*this, int val
)
2798 FIXME("(%p %d) stub\n", this, val
);
2802 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
2803 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
2804 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint
, 8)
2805 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint(basic_ostream_char
*this, unsigned int val
)
2807 FIXME("(%p %d) stub\n", this, val
);
2811 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
2812 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
2813 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_long
, 8)
2814 basic_ostream_char
* __thiscall
basic_ostream_char_print_long(basic_ostream_char
*this, LONG val
)
2816 FIXME("(%p %d) stub\n", this, val
);
2820 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
2821 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
2822 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ulong
, 8)
2823 basic_ostream_char
* __thiscall
basic_ostream_char_print_ulong(basic_ostream_char
*this, ULONG val
)
2825 FIXME("(%p %d) stub\n", this, val
);
2829 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
2830 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
2831 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float
, 8)
2832 basic_ostream_char
* __thiscall
basic_ostream_char_print_float(basic_ostream_char
*this, float val
)
2834 FIXME("(%p %f) stub\n", this, val
);
2838 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
2839 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
2840 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double
, 12)
2841 basic_ostream_char
* __thiscall
basic_ostream_char_print_double(basic_ostream_char
*this, double val
)
2843 FIXME("(%p %lf) stub\n", this, val
);
2847 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2848 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2849 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf
, 8)
2850 basic_ostream_char
* __thiscall
basic_ostream_char_print_streambuf(basic_ostream_char
*this, basic_streambuf_char
*val
)
2852 FIXME("(%p %p) stub\n", this, val
);
2856 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
2857 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
2858 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr
, 8)
2859 basic_ostream_char
* __thiscall
basic_ostream_char_print_ptr(basic_ostream_char
*this, const void *val
)
2861 FIXME("(%p %p) stub\n", this, val
);
2865 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
2866 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
2867 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64
, 12)
2868 basic_ostream_char
* __thiscall
basic_ostream_char_print_int64(basic_ostream_char
*this, __int64 val
)
2870 FIXME("(%p) stub\n", this);
2874 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
2875 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
2876 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64
, 12)
2877 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint64(basic_ostream_char
*this, unsigned __int64 val
)
2879 FIXME("(%p) stub\n", this);
2883 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
2884 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
2885 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool
, 8)
2886 basic_ostream_char
* __thiscall
basic_ostream_char_print_bool(basic_ostream_char
*this, MSVCP_bool val
)
2888 FIXME("(%p %x) stub\n", this, val
);
2892 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
2893 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2894 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx
, 4)
2895 void __thiscall
basic_ostream_char__Osfx(basic_ostream_char
*this)
2897 FIXME("(%p) stub\n", this);
2900 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
2901 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
2902 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush
, 4)
2903 basic_ostream_char
* __thiscall
basic_ostream_char_flush(basic_ostream_char
*this)
2905 FIXME("(%p) stub\n", this);
2909 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
2910 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
2911 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx
, 4)
2912 MSVCP_bool __thiscall
basic_ostream_char_opfx(basic_ostream_char
*this)
2914 FIXME("(%p) stub\n", this);
2918 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
2919 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2920 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx
, 4)
2921 void __thiscall
basic_ostream_char_osfx(basic_ostream_char
*this)
2923 FIXME("(%p) stub\n", this);
2926 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
2927 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
2928 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put
, 8)
2929 basic_ostream_char
* __thiscall
basic_ostream_char_put(basic_ostream_char
*this, char ch
)
2931 FIXME("(%p %c) stub\n", this, ch
);
2935 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
2936 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
2937 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp
, 12)
2938 basic_ostream_char
* __thiscall
basic_ostream_char_seekp(basic_ostream_char
*this, streamoff off
, int way
)
2940 FIXME("(%p %lu %d) stub\n", this, off
, way
);
2944 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
2945 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
2946 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos
, 28)
2947 basic_ostream_char
* __thiscall
basic_ostream_char_seekp_fpos(basic_ostream_char
*this, fpos_int pos
)
2949 FIXME("(%p %s) stub\n", this, debugstr_fpos_int(&pos
));
2953 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
2954 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
2955 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp
, 8)
2956 fpos_int
* __thiscall
basic_ostream_char_tellp(basic_ostream_char
*this, fpos_int
*ret
)
2958 FIXME("(%p) stub\n", this);
2962 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
2963 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
2964 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write
, 12)
2965 basic_ostream_char
* __thiscall
basic_ostream_char_write(basic_ostream_char
*this, const char *str
, streamsize count
)
2967 FIXME("(%p %s %lu) stub\n", this, debugstr_a(str
), count
);