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
26 #include "wine/debug.h"
27 WINE_DEFAULT_DEBUG_CHANNEL(msvcp90
);
30 IOSTATE_goodbit
= 0x00,
31 IOSTATE_eofbit
= 0x01,
32 IOSTATE_failbit
= 0x02,
33 IOSTATE_badbit
= 0x04,
34 IOSTATE__Hardfail
= 0x10
38 FMTFLAG_skipws
= 0x0001,
39 FMTFLAG_unitbuf
= 0x0002,
40 FMTFLAG_uppercase
= 0x0004,
41 FMTFLAG_showbase
= 0x0008,
42 FMTFLAG_showpoint
= 0x0010,
43 FMTFLAG_showpos
= 0x0020,
44 FMTFLAG_left
= 0x0040,
45 FMTFLAG_right
= 0x0080,
46 FMTFLAG_internal
= 0x0100,
50 FMTFLAG_scientific
= 0x1000,
51 FMTFLAG_fixed
= 0x2000,
52 FMTFLAG_hexfloat
= 0x3000,
53 FMTFLAG_boolalpha
= 0x4000,
54 FMTFLAG_stdio
= 0x8000,
55 FMTFLAG_adjustfield
= FMTFLAG_left
|FMTFLAG_right
|FMTFLAG_internal
,
56 FMTFLAG_basefield
= FMTFLAG_dec
|FMTFLAG_oct
|FMTFLAG_hex
,
57 FMTFLAG_floadfield
= FMTFLAG_scientific
|FMTFLAG_fixed
60 typedef struct _iosarray
{
61 struct _iosarray
*next
;
74 typedef void (CDECL
*IOS_BASE_event_callback
)(IOS_BASE_event
, struct _ios_base
*, int);
75 typedef struct _fnarray
{
76 struct _fnarray
*next
;
78 IOS_BASE_event_callback event_handler
;
81 /* ?_Index@ios_base@std@@0HA */
82 int ios_base_Index
= 0;
83 /* ?_Sync@ios_base@std@@0_NA */
84 MSVCP_bool ios_base_Sync
= FALSE
;
86 typedef struct _ios_base
{
87 const vtable_ptr
*vtable
;
94 IOS_BASE_iosarray
*arr
;
95 IOS_BASE_fnarray
*calls
;
101 /*basic_streambuf_char*/void *strbuf
;
102 /*basic_ostream_char*/void *stream
;
106 /* ??_7ios_base@std@@6B@ */
107 extern const vtable_ptr MSVCP_ios_base_vtable
;
109 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
110 extern const vtable_ptr MSVCP_basic_ios_char_vtable
;
112 static const type_info ios_base_type_info
= {
113 &MSVCP_ios_base_vtable
,
118 static const rtti_base_descriptor ios_base_rtti_base_descriptor
= {
125 static const type_info iosb_type_info
= {
126 &MSVCP_ios_base_vtable
,
128 ".?AV?$_Iosb@H@std@@"
131 static const rtti_base_descriptor iosb_rtti_base_descriptor
= {
138 static const rtti_base_array ios_base_rtti_base_array
= {
140 &ios_base_rtti_base_descriptor
,
141 &iosb_rtti_base_descriptor
,
146 static const rtti_object_hierarchy ios_base_type_hierarchy
= {
150 &ios_base_rtti_base_array
153 const rtti_object_locator ios_base_rtti
= {
158 &ios_base_type_hierarchy
161 static const type_info basic_ios_char_type_info
= {
162 &MSVCP_basic_ios_char_vtable
,
164 ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@"
167 static const rtti_base_descriptor basic_ios_char_rtti_base_descriptor
= {
168 &basic_ios_char_type_info
,
174 static const rtti_base_array basic_ios_char_rtti_base_array
= {
176 &basic_ios_char_rtti_base_descriptor
,
177 &ios_base_rtti_base_descriptor
,
178 &iosb_rtti_base_descriptor
182 static const rtti_object_hierarchy basic_ios_char_hierarchy
= {
186 &basic_ios_char_rtti_base_array
189 const rtti_object_locator basic_ios_char_rtti
= {
193 &basic_ios_char_type_info
,
194 &basic_ios_char_hierarchy
198 void __asm_dummy_vtables(void) {
200 __ASM_VTABLE(ios_base
, "");
201 __ASM_VTABLE(basic_ios_char
, "");
206 /* ??0ios_base@std@@IAE@XZ */
207 /* ??0ios_base@std@@IEAA@XZ */
208 DEFINE_THISCALL_WRAPPER(ios_base_ctor
, 4)
209 ios_base
* __thiscall
ios_base_ctor(ios_base
*this)
211 FIXME("(%p) stub\n", this);
213 this->vtable
= &MSVCP_ios_base_vtable
;
217 /* ??0ios_base@std@@QAE@ABV01@@Z */
218 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
219 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor
, 8)
220 ios_base
* __thiscall
ios_base_copy_ctor(ios_base
*this, const ios_base
*copy
)
222 FIXME("(%p %p) stub\n", this, copy
);
226 /* ??1ios_base@std@@UAE@XZ */
227 /* ??1ios_base@std@@UEAA@XZ */
228 DEFINE_THISCALL_WRAPPER(ios_base_dtor
, 4)
229 void __thiscall
ios_base_dtor(ios_base
*this)
231 FIXME("(%p) stub\n", this);
234 DEFINE_THISCALL_WRAPPER(MSVCP_ios_base_vector_dtor
, 8)
235 ios_base
* __thiscall
MSVCP_ios_base_vector_dtor(ios_base
*this, unsigned int flags
)
237 TRACE("(%p %x) stub\n", this, flags
);
239 /* we have an array, with the number of elements stored before the first object */
240 int i
, *ptr
= (int *)this-1;
242 for(i
=*ptr
-1; i
>=0; i
--)
243 ios_base_dtor(this+i
);
244 MSVCRT_operator_delete(ptr
);
248 MSVCRT_operator_delete(this);
254 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
255 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
256 DEFINE_THISCALL_WRAPPER(ios_base_assign
, 8)
257 ios_base
* __thiscall
ios_base_assign(ios_base
*this, const ios_base
*right
)
259 FIXME("(%p %p) stub\n", this, right
);
263 /* ??7ios_base@std@@QBE_NXZ */
264 /* ??7ios_base@std@@QEBA_NXZ */
265 DEFINE_THISCALL_WRAPPER(ios_base_op_succ
, 4)
266 MSVCP_bool __thiscall
ios_base_op_succ(const ios_base
*this)
268 FIXME("(%p) stub\n", this);
272 /* ??Bios_base@std@@QBEPAXXZ */
273 /* ??Bios_base@std@@QEBAPEAXXZ */
274 DEFINE_THISCALL_WRAPPER(ios_base_op_fail
, 4)
275 void* __thiscall
ios_base_op_fail(const ios_base
*this)
277 FIXME("(%p) stub\n", this);
281 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
282 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
283 void CDECL
ios_base_Addstd(ios_base
*add
)
285 FIXME("(%p) stub\n", add
);
288 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
289 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
290 DEFINE_THISCALL_WRAPPER(ios_base_Callfns
, 8)
291 void __thiscall
ios_base_Callfns(ios_base
*this, IOS_BASE_event event
)
293 FIXME("(%p %x) stub\n", this, event
);
296 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
297 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
298 DEFINE_THISCALL_WRAPPER(ios_base_Findarr
, 8)
299 IOS_BASE_iosarray
* __thiscall
ios_base_Findarr(ios_base
*this, int index
)
301 FIXME("(%p %d) stub\n", this, index
);
305 /* ?_Index_func@ios_base@std@@CAAAHXZ */
306 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
307 int* CDECL
ios_base_Index_func(void)
310 return &ios_base_Index
;
313 /* ?_Init@ios_base@std@@IAEXXZ */
314 /* ?_Init@ios_base@std@@IEAAXXZ */
315 DEFINE_THISCALL_WRAPPER(ios_base_Init
, 4)
316 void __thiscall
ios_base_Init(ios_base
*this)
318 FIXME("(%p) stub\n", this);
321 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
322 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
323 void CDECL
ios_base_Ios_base_dtor(ios_base
*obj
)
325 FIXME("(%p) stub\n", obj
);
328 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
329 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
330 MSVCP_bool
* CDECL
ios_base_Sync_func(void)
333 return &ios_base_Sync
;
336 /* ?_Tidy@ios_base@std@@AAAXXZ */
337 /* ?_Tidy@ios_base@std@@AEAAXXZ */
338 void CDECL
ios_base_Tidy(ios_base
*this)
340 FIXME("(%p) stub\n", this);
343 /* ?bad@ios_base@std@@QBE_NXZ */
344 /* ?bad@ios_base@std@@QEBA_NXZ */
345 DEFINE_THISCALL_WRAPPER(ios_base_bad
, 4)
346 MSVCP_bool __thiscall
ios_base_bad(const ios_base
*this)
348 FIXME("(%p) stub\n", this);
352 /* ?clear@ios_base@std@@QAEXH_N@Z */
353 /* ?clear@ios_base@std@@QEAAXH_N@Z */
354 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise
, 12)
355 void __thiscall
ios_base_clear_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
357 FIXME("(%p %x %x) stub\n", this, state
, reraise
);
360 /* ?clear@ios_base@std@@QAEXH@Z */
361 /* ?clear@ios_base@std@@QEAAXH@Z */
362 DEFINE_THISCALL_WRAPPER(ios_base_clear
, 8)
363 void __thiscall
ios_base_clear(ios_base
*this, IOSB_iostate state
)
365 return ios_base_clear_reraise(this, state
, FALSE
);
368 /* ?clear@ios_base@std@@QAEXI@Z */
369 /* ?clear@ios_base@std@@QEAAXI@Z */
370 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned
, 8)
371 void __thiscall
ios_base_clear_unsigned(ios_base
*this, unsigned int state
)
373 return ios_base_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
376 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
377 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
378 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt
, 8)
379 ios_base
* __thiscall
ios_base_copyfmt(ios_base
*this, const ios_base
*obj
)
381 FIXME("(%p %p) stub\n", this, obj
);
385 /* ?eof@ios_base@std@@QBE_NXZ */
386 /* ?eof@ios_base@std@@QEBA_NXZ */
387 DEFINE_THISCALL_WRAPPER(ios_base_eof
, 4)
388 MSVCP_bool __thiscall
ios_base_eof(const ios_base
*this)
390 FIXME("(%p) stub\n", this);
394 /* ?exceptions@ios_base@std@@QAEXH@Z */
395 /* ?exceptions@ios_base@std@@QEAAXH@Z */
396 DEFINE_THISCALL_WRAPPER(ios_base_exception_set
, 8)
397 void __thiscall
ios_base_exception_set(ios_base
*this, IOSB_iostate state
)
399 FIXME("(%p %x) stub\n", this, state
);
402 /* ?exceptions@ios_base@std@@QAEXI@Z */
403 /* ?exceptions@ios_base@std@@QEAAXI@Z */
404 DEFINE_THISCALL_WRAPPER(ios_base_exception_set_unsigned
, 8)
405 void __thiscall
ios_base_exception_set_unsigned(ios_base
*this, unsigned int state
)
407 FIXME("(%p %x) stub\n", this, state
);
410 /* ?exceptions@ios_base@std@@QBEHXZ */
411 /* ?exceptions@ios_base@std@@QEBAHXZ */
412 DEFINE_THISCALL_WRAPPER(ios_base_exception_get
, 4)
413 IOSB_iostate __thiscall
ios_base_exception_get(ios_base
*this)
415 FIXME("(%p) stub\n", this);
419 /* ?fail@ios_base@std@@QBE_NXZ */
420 /* ?fail@ios_base@std@@QEBA_NXZ */
421 DEFINE_THISCALL_WRAPPER(ios_base_fail
, 4)
422 MSVCP_bool __thiscall
ios_base_fail(ios_base
*this)
424 FIXME("(%p) stub\n", this);
428 /* ?flags@ios_base@std@@QAEHH@Z */
429 /* ?flags@ios_base@std@@QEAAHH@Z */
430 DEFINE_THISCALL_WRAPPER(ios_base_flags_set
, 8)
431 IOSB_fmtflags __thiscall
ios_base_flags_set(ios_base
*this, IOSB_fmtflags flags
)
433 FIXME("(%p %x) stub\n", this, flags
);
437 /* ?flags@ios_base@std@@QBEHXZ */
438 /* ?flags@ios_base@std@@QEBAHXZ */
439 DEFINE_THISCALL_WRAPPER(ios_base_flags_get
, 4)
440 IOSB_fmtflags __thiscall
ios_base_flags_get(const ios_base
*this)
442 FIXME("(%p) stub\n", this);
446 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
447 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
448 DEFINE_THISCALL_WRAPPER(ios_base_getloc
, 4)
449 locale __thiscall
ios_base_getloc(const ios_base
*this)
451 locale ret
= { NULL
};
452 FIXME("(%p) stub\n", this);
456 /* ?good@ios_base@std@@QBE_NXZ */
457 /* ?good@ios_base@std@@QEBA_NXZ */
458 DEFINE_THISCALL_WRAPPER(ios_base_good
, 4)
459 MSVCP_bool __thiscall
ios_base_good(const ios_base
*this)
461 FIXME("(%p) stub\n", this);
465 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
466 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
467 DEFINE_THISCALL_WRAPPER(ios_base_imbue
, 8)
468 locale __thiscall
ios_base_imbue(ios_base
*this, const locale
*loc
)
470 locale ret
= { NULL
};
471 FIXME("(%p %p) stub\n", this, loc
);
475 /* ?iword@ios_base@std@@QAEAAJH@Z */
476 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
477 DEFINE_THISCALL_WRAPPER(ios_base_iword
, 8)
478 MSVCP_long
* __thiscall
ios_base_iword(ios_base
*this, int index
)
480 FIXME("(%p %d) stub\n", this, index
);
484 /* ?precision@ios_base@std@@QAEHH@Z */
485 /* ?precision@ios_base@std@@QEAA_J_J@Z */
486 DEFINE_THISCALL_WRAPPER(ios_base_precision_set
, 8)
487 MSVCP_size_t __thiscall
ios_base_precision_set(ios_base
*this, MSVCP_size_t precision
)
489 FIXME("(%p %lu) stub\n", this, precision
);
493 /* ?precision@ios_base@std@@QBEHXZ */
494 /* ?precision@ios_base@std@@QEBA_JXZ */
495 DEFINE_THISCALL_WRAPPER(ios_base_precision_get
, 4)
496 MSVCP_size_t __thiscall
ios_base_precision_get(const ios_base
*this)
498 FIXME("(%p) stub\n", this);
502 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
503 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
504 DEFINE_THISCALL_WRAPPER(ios_base_pword
, 8)
505 void** __thiscall
ios_base_pword(ios_base
*this, int index
)
507 FIXME("(%p %d) stub\n", this, index
);
511 /* ?rdstate@ios_base@std@@QBEHXZ */
512 /* ?rdstate@ios_base@std@@QEBAHXZ */
513 DEFINE_THISCALL_WRAPPER(ios_base_rdstate
, 4)
514 IOSB_iostate __thiscall
ios_base_rdstate(const ios_base
*this)
516 FIXME("(%p) stub\n", this);
520 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
521 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
522 DEFINE_THISCALL_WRAPPER(ios_base_register_callback
, 12)
523 void __thiscall
ios_base_register_callback(ios_base
*this, IOS_BASE_event_callback callback
, int index
)
525 FIXME("(%p %p %d) stub\n", this, callback
, index
);
528 /* ?setf@ios_base@std@@QAEHHH@Z */
529 /* ?setf@ios_base@std@@QEAAHHH@Z */
530 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask
, 12)
531 IOSB_fmtflags __thiscall
ios_base_setf_mask(ios_base
*this, IOSB_fmtflags flags
, IOSB_fmtflags mask
)
533 FIXME("(%p %x %x) stub\n", this, flags
, mask
);
537 /* ?setf@ios_base@std@@QAEHH@Z */
538 /* ?setf@ios_base@std@@QEAAHH@Z */
539 DEFINE_THISCALL_WRAPPER(ios_base_setf
, 8)
540 IOSB_fmtflags __thiscall
ios_base_setf(ios_base
*this, IOSB_fmtflags flags
)
542 return ios_base_setf_mask(this, flags
, ~0);
545 /* ?setstate@ios_base@std@@QAEXH_N@Z */
546 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
547 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise
, 12)
548 void __thiscall
ios_base_setstate_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
550 FIXME("(%p %x %x) stub\n", this, state
, reraise
);
553 /* ?setstate@ios_base@std@@QAEXH@Z */
554 /* ?setstate@ios_base@std@@QEAAXH@Z */
555 DEFINE_THISCALL_WRAPPER(ios_base_setstate
, 8)
556 void __thiscall
ios_base_setstate(ios_base
*this, IOSB_iostate state
)
558 ios_base_setstate_reraise(this, state
, FALSE
);
561 /* ?setstate@ios_base@std@@QAEXI@Z */
562 /* ?setstate@ios_base@std@@QEAAXI@Z */
563 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned
, 8)
564 void __thiscall
ios_base_setstate_unsigned(ios_base
*this, unsigned int state
)
566 ios_base_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
569 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
570 MSVCP_bool CDECL
ios_base_sync_with_stdio(MSVCP_bool sync
)
572 FIXME("(%x) stub\n", sync
);
576 /* ?unsetf@ios_base@std@@QAEXH@Z */
577 /* ?unsetf@ios_base@std@@QEAAXH@Z */
578 DEFINE_THISCALL_WRAPPER(ios_base_unsetf
, 8)
579 void __thiscall
ios_base_unsetf(ios_base
*this, IOSB_fmtflags flags
)
581 FIXME("(%p %x) stub\n", this, flags
);
584 /* ?width@ios_base@std@@QAEHH@Z */
585 /* ?width@ios_base@std@@QEAA_J_J@Z */
586 DEFINE_THISCALL_WRAPPER(ios_base_width_set
, 8)
587 MSVCP_size_t __thiscall
ios_base_width_set(ios_base
*this, MSVCP_size_t width
)
589 FIXME("(%p %lu) stub\n", this, width
);
593 /* ?width@ios_base@std@@QBEHXZ */
594 /* ?width@ios_base@std@@QEBA_JXZ */
595 DEFINE_THISCALL_WRAPPER(ios_base_width_get
, 4)
596 MSVCP_size_t __thiscall
ios_base_width_get(ios_base
*this)
598 FIXME("(%p) stub\n", this);
602 /* ?xalloc@ios_base@std@@SAHXZ */
603 int CDECL
ios_base_xalloc(void)
609 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
610 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
611 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor
, 4)
612 basic_ios_char
* __thiscall
basic_ios_char_ctor(basic_ios_char
*this)
614 FIXME("(%p) stub\n", this);
618 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
619 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
620 DEFINE_THISCALL_WRAPPER(basic_ios_char_copy_ctor
, 8)
621 basic_ios_char
* __thiscall
basic_ios_char_copy_ctor(basic_ios_char
*this, const basic_ios_char
*copy
)
623 FIXME("(%p %p) stub\n", this, copy
);
627 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
628 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
629 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor
, 4)
630 void __thiscall
basic_ios_char_dtor(basic_ios_char
*this)
632 FIXME("(%p) stub\n", this);
635 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_char_vector_dtor
, 8)
636 basic_ios_char
* __thiscall
MSVCP_basic_ios_char_vector_dtor(basic_ios_char
*this, unsigned int flags
)
638 TRACE("(%p %x) stub\n", this, flags
);
640 /* we have an array, with the number of elements stored before the first object */
641 int i
, *ptr
= (int *)this-1;
643 for(i
=*ptr
-1; i
>=0; i
--)
644 basic_ios_char_dtor(this+i
);
645 MSVCRT_operator_delete(ptr
);
647 basic_ios_char_dtor(this);
649 MSVCRT_operator_delete(this);
655 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
656 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
657 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise
, 12)
658 void __thiscall
basic_ios_char_clear_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
660 FIXME("(%p %x %x) stub\n", this, state
, reraise
);
663 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
664 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
665 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear
, 8)
666 void __thiscall
basic_ios_char_clear(basic_ios_char
*this, unsigned int state
)
668 basic_ios_char_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
671 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
672 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
673 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt
, 8)
674 basic_ios_char
* __thiscall
basic_ios_char_copyfmt(basic_ios_char
*this, basic_ios_char
*copy
)
676 FIXME("(%p %p) stub\n", this, copy
);
680 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
681 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
682 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set
, 8)
683 char __thiscall
basic_ios_char_fill_set(basic_ios_char
*this, char fill
)
685 FIXME("(%p %c) stub\n", this, fill
);
689 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
690 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
691 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get
, 4)
692 char __thiscall
basic_ios_char_fill_get(basic_ios_char
*this)
694 FIXME("(%p) stub\n", this);
698 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
699 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
700 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue
, 4)
701 locale __thiscall
basic_ios_char_imbue(basic_ios_char
*this)
703 locale ret
= { NULL
};
704 FIXME("(%p) stub\n", this);
708 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
709 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
710 DEFINE_THISCALL_WRAPPER(basic_ios_char_init
, 12)
711 void __thiscall
basic_ios_char_init(basic_ios_char
*this, /*basic_streambuf_char*/void *streambuf
, MSVCP_bool isstd
)
713 FIXME("(%p %p %x) stub\n", this, streambuf
, isstd
);
716 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
717 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
718 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow
, 12)
719 char __thiscall
basic_ios_char_narrow(basic_ios_char
*this, char ch
, char def
)
721 FIXME("(%p %c %c) stub\n", this, ch
, def
);
725 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
726 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
727 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set
, 8)
728 /*basic_streambuf_char*/void* __thiscall
basic_ios_char_rdbuf_set(basic_ios_char
*this, /*basic_streambuf_char*/void *streambuf
)
730 FIXME("(%p %p) stub\n", this, streambuf
);
734 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
735 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
736 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get
, 4)
737 /*basic_streambuf_char*/void* __thiscall
basic_ios_char_rdbuf_get(const basic_ios_char
*this)
739 FIXME("(%p) stub\n", this);
743 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
744 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
745 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise
, 12)
746 void __thiscall
basic_ios_char_setstate_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
748 FIXME("(%p %x %x) stub\n", this, state
, reraise
);
751 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
752 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
753 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate
, 8)
754 void __thiscall
basic_ios_char_setstate(basic_ios_char
*this, unsigned int state
)
756 basic_ios_char_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
759 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
760 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
761 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set
, 8)
762 /*basic_ostream_char*/void* __thiscall
basic_ios_char_tie_set(basic_ios_char
*this, /*basic_ostream_char*/void *ostream
)
764 FIXME("(%p %p) stub\n", this, ostream
);
768 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
769 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
770 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get
, 4)
771 /*basic_ostream_char*/void* __thiscall
basic_ios_char_tie_get(const basic_ios_char
*this)
773 FIXME("(%p)\n", this);
777 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
778 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
779 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen
, 8)
780 char __thiscall
basic_ios_char_widen(basic_ios_char
*this, char ch
)
782 FIXME("(%p %c)\n", this, ch
);