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
29 #include "wine/debug.h"
30 WINE_DEFAULT_DEBUG_CHANNEL(msvcp
);
32 /* ?_Index@ios_base@std@@0HA */
33 int ios_base_Index
= 0;
34 /* ?_Sync@ios_base@std@@0_NA */
35 bool ios_base_Sync
= FALSE
;
39 __int64
DECLSPEC_ALIGN(8) pos
;
43 static inline const char* debugstr_fpos_int(fpos_int
*fpos
)
45 return wine_dbg_sprintf("fpos(%Id %I64d %d)", fpos
->off
, fpos
->pos
, fpos
->state
);
49 void (__cdecl
*pfunc
)(ios_base
*, streamsize
);
54 void (__cdecl
*pfunc
)(ios_base
*, int);
62 } basic_filebuf__Initfl
;
65 basic_streambuf_char base
;
69 basic_string_char
*str
;
76 basic_streambuf_wchar base
;
80 basic_string_char
*str
;
84 } basic_filebuf_wchar
;
87 STRINGBUF_allocated
= 1,
88 STRINGBUF_no_write
= 2,
89 STRINGBUF_no_read
= 4,
92 } basic_stringbuf_state
;
95 basic_streambuf_char base
;
100 char allocator
; /* empty struct */
101 } basic_stringbuf_char
;
104 basic_streambuf_wchar base
;
109 char allocator
; /* empty struct */
110 } basic_stringbuf_wchar
;
114 basic_streambuf_char
*strbuf
;
115 struct _basic_ostream_char
*stream
;
121 basic_streambuf_wchar
*strbuf
;
122 struct _basic_ostream_wchar
*stream
;
126 typedef struct _basic_ostream_char
{
128 /* virtual inheritance
129 * basic_ios_char basic_ios;
131 } basic_ostream_char
;
133 typedef struct _basic_ostream_wchar
{
135 /* virtual inheritance
136 * basic_ios_wchar basic_ios;
138 } basic_ostream_wchar
;
143 /* virtual inheritance
144 * basic_ios_char basic_ios;
146 } basic_istream_char
;
151 /* virtual inheritance
152 * basic_ios_wchar basic_ios;
154 } basic_istream_wchar
;
157 basic_istream_char base1
;
158 basic_ostream_char base2
;
159 /* virtual inheritance
160 * basic_ios_char basic_ios;
162 } basic_iostream_char
;
165 basic_istream_wchar base1
;
166 basic_ostream_wchar base2
;
167 /* virtual inheritance
168 * basic_ios_wchar basic_ios;
170 } basic_iostream_wchar
;
173 basic_ostream_char base
;
174 basic_filebuf_char filebuf
;
175 /* virtual inheritance
176 * basic_ios_char basic_ios;
178 } basic_ofstream_char
;
181 basic_ostream_wchar base
;
182 basic_filebuf_wchar filebuf
;
183 /* virtual inheritance
184 * basic_ios_wchar basic_ios;
186 } basic_ofstream_wchar
;
189 basic_istream_char base
;
190 basic_filebuf_char filebuf
;
191 /* virtual inheritance
192 * basic_ios_char basic_ios;
194 } basic_ifstream_char
;
197 basic_istream_wchar base
;
198 basic_filebuf_wchar filebuf
;
199 /* virtual inheritance
200 * basic_ios_wchar basic_ios;
202 } basic_ifstream_wchar
;
205 basic_iostream_char base
;
206 basic_filebuf_char filebuf
;
207 /* virtual inheritance
208 * basic_ios_char basic_ios;
210 } basic_fstream_char
;
213 basic_iostream_wchar base
;
214 basic_filebuf_wchar filebuf
;
215 /* virtual inheritance
216 * basic_ios_char basic_ios;
218 } basic_fstream_wchar
;
221 basic_ostream_char base
;
222 basic_stringbuf_char strbuf
;
223 /* virtual inheritance
224 * basic_ios_char basic_ios;
226 } basic_ostringstream_char
;
229 basic_ostream_wchar base
;
230 basic_stringbuf_wchar strbuf
;
231 /* virtual inheritance
232 * basic_ios_wchar basic_ios;
234 } basic_ostringstream_wchar
;
237 basic_istream_char base
;
238 basic_stringbuf_char strbuf
;
239 /* virtual inheritance
240 * basic_ios_char basic_ios;
242 } basic_istringstream_char
;
245 basic_istream_wchar base
;
246 basic_stringbuf_wchar strbuf
;
247 /* virtual inheritance
248 * basic_ios_wchar basic_ios;
250 } basic_istringstream_wchar
;
253 basic_iostream_char base
;
254 basic_stringbuf_char strbuf
;
255 /* virtual inheritance
256 * basic_ios_char basic_ios;
258 } basic_stringstream_char
;
261 basic_iostream_wchar base
;
262 basic_stringbuf_wchar strbuf
;
263 /* virtual inheritance
264 * basic_ios_wchar basic_ios;
266 } basic_stringstream_wchar
;
269 STRSTATE_Allocated
= 1,
270 STRSTATE_Constant
= 2,
271 STRSTATE_Dynamic
= 4,
273 } strstreambuf__Strstate
;
276 basic_streambuf_char base
;
281 void* (__cdecl
*palloc
)(size_t);
282 void (__cdecl
*pfree
)(void*);
286 basic_ostream_char base
;
288 /* virtual inheritance
289 * basic_ios_char basic_ios;
294 basic_istream_char base
;
296 /* virtual inheritance
297 * basic_ios_char basic_ios;
302 basic_iostream_char base
;
304 /* virtual inheritance
305 * basic_ios_char basic_ios;
309 #define VBTABLE_ALIGN 4
311 extern const vtable_ptr iosb_vtable
;
313 /* ??_7ios_base@std@@6B@ */
314 extern const vtable_ptr ios_base_vtable
;
316 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
317 extern const vtable_ptr basic_ios_char_vtable
;
319 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
320 extern const vtable_ptr basic_ios_wchar_vtable
;
322 /* ??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@ */
323 extern const vtable_ptr basic_ios_short_vtable
;
325 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
326 extern const vtable_ptr basic_streambuf_char_vtable
;
328 /* ??_7?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@6B@ */
329 extern const vtable_ptr basic_streambuf_wchar_vtable
;
331 /* ??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ */
332 extern const vtable_ptr basic_streambuf_short_vtable
;
334 /* ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ */
335 extern const vtable_ptr basic_filebuf_char_vtable
;
337 /* ??_7?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@6B@ */
338 extern const vtable_ptr basic_filebuf_wchar_vtable
;
340 /* ??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ */
341 extern const vtable_ptr basic_filebuf_short_vtable
;
343 /* ??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
344 extern const vtable_ptr basic_stringbuf_char_vtable
;
346 /* ??_7?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
347 extern const vtable_ptr basic_stringbuf_wchar_vtable
;
349 /* ??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
350 extern const vtable_ptr basic_stringbuf_short_vtable
;
352 /* ??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ */
353 const int basic_ostream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostream_char
), VBTABLE_ALIGN
)};
354 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
355 extern const vtable_ptr basic_ostream_char_vtable
;
357 /* ??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@ */
358 const int basic_ostream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostream_wchar
), VBTABLE_ALIGN
)};
359 /* ??_7?$basic_ostream@_WU?$char_traits@_W@std@@@std@@6B@ */
360 extern const vtable_ptr basic_ostream_wchar_vtable
;
362 /* ??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ */
363 const int basic_ostream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostream_wchar
), VBTABLE_ALIGN
)};
364 /* ??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ */
365 extern const vtable_ptr basic_ostream_short_vtable
;
367 /* ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ */
368 const int basic_istream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istream_char
), VBTABLE_ALIGN
)};
369 /* ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ */
370 extern const vtable_ptr basic_istream_char_vtable
;
372 /* ??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@ */
373 const int basic_istream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istream_wchar
), VBTABLE_ALIGN
)};
374 /* ??_7?$basic_istream@_WU?$char_traits@_W@std@@@std@@6B@ */
375 extern const vtable_ptr basic_istream_wchar_vtable
;
377 /* ??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ */
378 const int basic_istream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istream_wchar
), VBTABLE_ALIGN
)};
379 /* ??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ */
380 extern const vtable_ptr basic_istream_short_vtable
;
382 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
383 const int basic_iostream_char_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_char
), VBTABLE_ALIGN
)};
384 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
385 const int basic_iostream_char_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_char
), VBTABLE_ALIGN
)-FIELD_OFFSET(basic_iostream_char
, base2
)};
386 /* ??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ */
387 extern const vtable_ptr basic_iostream_char_vtable
;
389 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
390 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
391 const int basic_iostream_wchar_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_wchar
), VBTABLE_ALIGN
)};
392 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
393 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
394 const int basic_iostream_wchar_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_wchar
), VBTABLE_ALIGN
)-FIELD_OFFSET(basic_iostream_wchar
, base2
)};
395 /* ??_7?$basic_iostream@_WU?$char_traits@_W@std@@@std@@6B@ */
396 extern const vtable_ptr basic_iostream_wchar_vtable
;
397 /* ??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ */
398 extern const vtable_ptr basic_iostream_short_vtable
;
400 /* ??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ */
401 const int basic_ofstream_char_vbtable
[] = {0, sizeof(basic_ofstream_char
)};
402 /* ??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ */
403 extern const vtable_ptr basic_ofstream_char_vtable
;
405 /* ??_8?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@7B@ */
406 const int basic_ofstream_wchar_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
407 /* ??_7?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@6B@ */
408 extern const vtable_ptr basic_ofstream_wchar_vtable
;
410 /* ??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ */
411 const int basic_ofstream_short_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
412 /* ??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ */
413 extern const vtable_ptr basic_ofstream_short_vtable
;
415 /* ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ */
416 const int basic_ifstream_char_vbtable
[] = {0, sizeof(basic_ifstream_char
)};
417 /* ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ */
418 extern const vtable_ptr basic_ifstream_char_vtable
;
420 /* ??_8?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@7B@ */
421 const int basic_ifstream_wchar_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
422 /* ??_7?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@6B@ */
423 extern const vtable_ptr basic_ifstream_wchar_vtable
;
425 /* ??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ */
426 const int basic_ifstream_short_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
427 /* ??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ */
428 extern const vtable_ptr basic_ifstream_short_vtable
;
430 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
431 const int basic_fstream_char_vbtable1
[] = {0, sizeof(basic_fstream_char
)};
432 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
433 const int basic_fstream_char_vbtable2
[] = {0, sizeof(basic_fstream_char
)-FIELD_OFFSET(basic_fstream_char
, base
.base2
)};
434 /* ??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ */
435 extern const vtable_ptr basic_fstream_char_vtable
;
437 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
438 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
439 const int basic_fstream_wchar_vbtable1
[] = {0, sizeof(basic_fstream_wchar
)};
440 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
441 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
442 const int basic_fstream_wchar_vbtable2
[] = {0, sizeof(basic_fstream_wchar
)-FIELD_OFFSET(basic_fstream_wchar
, base
.base2
)};
443 /* ??_7?$basic_fstream@_WU?$char_traits@_W@std@@@std@@6B@ */
444 extern const vtable_ptr basic_fstream_wchar_vtable
;
445 /* ??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ */
446 extern const vtable_ptr basic_fstream_short_vtable
;
448 /* ??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
449 const int basic_ostringstream_char_vbtable
[] = {0, sizeof(basic_ostringstream_char
)};
450 /* ??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
451 extern const vtable_ptr basic_ostringstream_char_vtable
;
453 /* ??_8?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
454 const int basic_ostringstream_wchar_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
455 /* ??_7?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
456 extern const vtable_ptr basic_ostringstream_wchar_vtable
;
458 /* ??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
459 const int basic_ostringstream_short_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
460 /* ??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
461 extern const vtable_ptr basic_ostringstream_short_vtable
;
463 /* ??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
464 const int basic_istringstream_char_vbtable
[] = {0, sizeof(basic_istringstream_char
)};
465 /* ??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
466 extern const vtable_ptr basic_istringstream_char_vtable
;
468 /* ??_8?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
469 const int basic_istringstream_wchar_vbtable
[] = {0, sizeof(basic_istringstream_wchar
)};
470 /* ??_7?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
471 extern const vtable_ptr basic_istringstream_wchar_vtable
;
473 /* ??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
474 const int basic_istringstream_short_vbtable
[] = {0, sizeof(basic_istringstream_wchar
)};
475 /* ??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
476 extern const vtable_ptr basic_istringstream_short_vtable
;
478 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
479 const int basic_stringstream_char_vbtable1
[] = {0, sizeof(basic_stringstream_char
)};
480 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
481 const int basic_stringstream_char_vbtable2
[] = {0, sizeof(basic_stringstream_char
)-FIELD_OFFSET(basic_stringstream_char
, base
.base2
)};
482 /* ??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
483 extern const vtable_ptr basic_stringstream_char_vtable
;
485 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
486 const int basic_stringstream_short_vbtable1
[] = {0, sizeof(basic_stringstream_wchar
)};
487 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
488 const int basic_stringstream_short_vbtable2
[] = {0, sizeof(basic_stringstream_wchar
)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
489 /* ??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
490 extern const vtable_ptr basic_stringstream_short_vtable
;
492 /* ??_7strstreambuf@std@@6B */
493 extern const vtable_ptr strstreambuf_vtable
;
495 static const int ostrstream_vbtable
[] = {0, sizeof(ostrstream
)};
496 extern const vtable_ptr ostrstream_vtable
;
498 static const int istrstream_vbtable
[] = {0, sizeof(istrstream
)};
500 static const int strstream_vbtable1
[] = {0, sizeof(strstream
)};
501 static const int strstream_vbtable2
[] = {0, sizeof(strstream
)-FIELD_OFFSET(strstream
, base
.base2
)};
502 extern const vtable_ptr strstream_vtable
;
504 DEFINE_RTTI_DATA0(iosb
, 0, ".?AV?$_Iosb@H@std@@")
505 DEFINE_RTTI_DATA1(ios_base
, 0, &iosb_rtti_base_descriptor
, ".?AV?$_Iosb@H@std@@")
506 DEFINE_RTTI_DATA2(basic_ios_char
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
507 ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@")
508 DEFINE_RTTI_DATA2(basic_ios_wchar
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
509 ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@")
510 DEFINE_RTTI_DATA2(basic_ios_short
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
511 ".?AV?$basic_ios@GU?$char_traits@G@std@@@std@@")
512 DEFINE_RTTI_DATA0(basic_streambuf_char
, 0,
513 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@")
514 DEFINE_RTTI_DATA0(basic_streambuf_wchar
, 0,
515 ".?AV?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@")
516 DEFINE_RTTI_DATA0(basic_streambuf_short
, 0,
517 ".?AV?$basic_streambuf@GU?$char_traits@G@std@@@std@@")
518 DEFINE_RTTI_DATA1(basic_filebuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
519 ".?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@")
520 DEFINE_RTTI_DATA1(basic_filebuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
521 ".?AV?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@")
522 DEFINE_RTTI_DATA1(basic_filebuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
523 ".?AV?$basic_filebuf@GU?$char_traits@G@std@@@std@@")
524 DEFINE_RTTI_DATA1(basic_stringbuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
525 ".?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@")
526 DEFINE_RTTI_DATA1(basic_stringbuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
527 ".?AV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@")
528 DEFINE_RTTI_DATA1(basic_stringbuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
529 ".?AV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@")
530 DEFINE_RTTI_DATA3(basic_ostream_char
, sizeof(basic_ostream_char
), &basic_ios_char_rtti_base_descriptor
,
531 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
532 ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@")
533 DEFINE_RTTI_DATA3(basic_ostream_wchar
, sizeof(basic_ostream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
534 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
535 ".?AV?$basic_ostream@_WU?$char_traits@_W@std@@@std@@")
536 DEFINE_RTTI_DATA3(basic_ostream_short
, sizeof(basic_ostream_wchar
), &basic_ios_short_rtti_base_descriptor
,
537 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
538 ".?AV?$basic_ostream@GU?$char_traits@G@std@@@std@@")
539 DEFINE_RTTI_DATA3(basic_istream_char
, sizeof(basic_istream_char
), &basic_ios_char_rtti_base_descriptor
,
540 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
541 ".?AV?$basic_istream@DU?$char_traits@D@std@@@std@@")
542 DEFINE_RTTI_DATA3(basic_istream_wchar
, sizeof(basic_istream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
543 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
544 ".?AV?$basic_istream@_WU?$char_traits@_W@std@@@std@@")
545 DEFINE_RTTI_DATA3(basic_istream_short
, sizeof(basic_istream_wchar
), &basic_ios_short_rtti_base_descriptor
,
546 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
547 ".?AV?$basic_istream@GU?$char_traits@G@std@@@std@@")
548 DEFINE_RTTI_DATA8(basic_iostream_char
, sizeof(basic_iostream_char
),
549 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
550 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
551 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
552 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
553 ".?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@")
554 DEFINE_RTTI_DATA8(basic_iostream_wchar
, sizeof(basic_iostream_wchar
),
555 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
556 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
557 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
558 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
559 ".?AV?$basic_iostream@_WU?$char_traits@_W@std@@@std@@")
560 DEFINE_RTTI_DATA8(basic_iostream_short
, sizeof(basic_iostream_wchar
),
561 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
562 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
563 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
564 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
565 ".?AV?$basic_iostream@GU?$char_traits@G@std@@@std@@")
566 DEFINE_RTTI_DATA4(basic_ofstream_char
, sizeof(basic_ofstream_char
),
567 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
568 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
569 ".?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@")
570 DEFINE_RTTI_DATA4(basic_ofstream_wchar
, sizeof(basic_ofstream_wchar
),
571 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
572 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
573 ".?AV?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@")
574 DEFINE_RTTI_DATA4(basic_ofstream_short
, sizeof(basic_ofstream_wchar
),
575 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
576 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
577 ".?AV?$basic_ofstream@GU?$char_traits@G@std@@@std@@")
578 DEFINE_RTTI_DATA4(basic_ifstream_char
, sizeof(basic_ifstream_char
),
579 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
580 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
581 ".?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@")
582 DEFINE_RTTI_DATA4(basic_ifstream_wchar
, sizeof(basic_ifstream_wchar
),
583 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
584 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
585 ".?AV?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@")
586 DEFINE_RTTI_DATA4(basic_ifstream_short
, sizeof(basic_ifstream_wchar
),
587 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
588 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
589 ".?AV?$basic_ifstream@GU?$char_traits@G@std@@@std@@")
590 DEFINE_RTTI_DATA8(basic_fstream_char
, sizeof(basic_fstream_char
),
591 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
592 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
593 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
594 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
595 ".?AV?$basic_fstream@DU?$char_traits@D@std@@@std@@")
596 DEFINE_RTTI_DATA8(basic_fstream_wchar
, sizeof(basic_fstream_wchar
),
597 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
598 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
599 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
600 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
601 ".?AV?$basic_fstream@_WU?$char_traits@_W@std@@@std@@")
602 DEFINE_RTTI_DATA8(basic_fstream_short
, sizeof(basic_fstream_wchar
),
603 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
604 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
605 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
606 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
607 ".?AV?$basic_fstream@GU?$char_traits@G@std@@@std@@")
608 DEFINE_RTTI_DATA4(basic_ostringstream_char
, sizeof(basic_ostringstream_char
),
609 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
610 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
611 ".?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@")
612 DEFINE_RTTI_DATA4(basic_ostringstream_wchar
, sizeof(basic_ostringstream_wchar
),
613 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
614 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
615 ".?AV?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@")
616 DEFINE_RTTI_DATA4(basic_ostringstream_short
, sizeof(basic_ostringstream_wchar
),
617 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
618 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
619 ".?AV?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@")
620 DEFINE_RTTI_DATA4(basic_istringstream_char
, sizeof(basic_istringstream_char
),
621 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
622 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
623 ".?AV?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@")
624 DEFINE_RTTI_DATA4(basic_istringstream_wchar
, sizeof(basic_istringstream_wchar
),
625 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
626 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
627 ".?AV?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@")
628 DEFINE_RTTI_DATA4(basic_istringstream_short
, sizeof(basic_istringstream_wchar
),
629 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
630 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
631 ".?AV?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@")
632 DEFINE_RTTI_DATA8(basic_stringstream_char
, sizeof(basic_stringstream_char
),
633 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
634 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
635 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
636 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
637 ".?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@")
638 DEFINE_RTTI_DATA8(basic_stringstream_short
, sizeof(basic_stringstream_wchar
),
639 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
640 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
641 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
642 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
643 ".?AV?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@")
644 DEFINE_RTTI_DATA1(strstreambuf
, sizeof(strstreambuf
),
645 &basic_streambuf_char_rtti_base_descriptor
, ".?AVstrstreambuf@std@@")
646 DEFINE_RTTI_DATA4(ostrstream
, sizeof(ostrstream
),
647 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
648 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
649 "?AVostrstream@std@@")
650 DEFINE_RTTI_DATA8(strstream
, sizeof(strstream
),
651 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
652 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
653 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
654 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
655 "?AVstrstream@std@@")
657 __ASM_BLOCK_BEGIN(ios_vtables
)
659 VTABLE_ADD_FUNC(iosb_vector_dtor
));
660 __ASM_VTABLE(ios_base
,
661 VTABLE_ADD_FUNC(ios_base_vector_dtor
));
662 __ASM_VTABLE(basic_ios_char
,
663 VTABLE_ADD_FUNC(basic_ios_char_vector_dtor
));
664 __ASM_VTABLE(basic_ios_wchar
,
665 VTABLE_ADD_FUNC(basic_ios_wchar_vector_dtor
));
666 __ASM_VTABLE(basic_ios_short
,
667 VTABLE_ADD_FUNC(basic_ios_wchar_vector_dtor
));
668 __ASM_VTABLE(basic_streambuf_char
,
669 VTABLE_ADD_FUNC(basic_streambuf_char_vector_dtor
)
670 VTABLE_ADD_FUNC(basic_streambuf_char_overflow
)
671 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail
)
672 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
673 VTABLE_ADD_FUNC(basic_streambuf_char_underflow
)
674 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
675 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
676 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
677 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff
)
678 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos
)
679 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
680 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
681 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
682 __ASM_VTABLE(basic_streambuf_wchar
,
683 VTABLE_ADD_FUNC(basic_streambuf_wchar_vector_dtor
)
684 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
685 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
686 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
687 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
688 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
689 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
690 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
691 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
692 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
693 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
694 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
695 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
696 __ASM_VTABLE(basic_streambuf_short
,
697 VTABLE_ADD_FUNC(basic_streambuf_wchar_vector_dtor
)
698 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
699 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
700 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
701 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
702 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
703 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
704 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
705 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
706 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
707 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
708 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
709 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
710 __ASM_VTABLE(basic_filebuf_char
,
711 VTABLE_ADD_FUNC(basic_filebuf_char_vector_dtor
)
712 VTABLE_ADD_FUNC(basic_filebuf_char_overflow
)
713 VTABLE_ADD_FUNC(basic_filebuf_char_pbackfail
)
714 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
715 VTABLE_ADD_FUNC(basic_filebuf_char_underflow
)
716 VTABLE_ADD_FUNC(basic_filebuf_char_uflow
)
717 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
718 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
719 VTABLE_ADD_FUNC(basic_filebuf_char_seekoff
)
720 VTABLE_ADD_FUNC(basic_filebuf_char_seekpos
)
721 VTABLE_ADD_FUNC(basic_filebuf_char_setbuf
)
722 VTABLE_ADD_FUNC(basic_filebuf_char_sync
)
723 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
724 __ASM_VTABLE(basic_filebuf_wchar
,
725 VTABLE_ADD_FUNC(basic_filebuf_wchar_vector_dtor
)
726 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
727 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
728 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
729 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
730 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
731 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
732 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
733 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
734 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
735 VTABLE_ADD_FUNC(basic_filebuf_wchar_setbuf
)
736 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
737 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
738 __ASM_VTABLE(basic_filebuf_short
,
739 VTABLE_ADD_FUNC(basic_filebuf_wchar_vector_dtor
)
740 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
741 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
742 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
743 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
744 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
745 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
746 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
747 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
748 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
749 VTABLE_ADD_FUNC(basic_filebuf_short_setbuf
)
750 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
751 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
752 __ASM_VTABLE(basic_stringbuf_char
,
753 VTABLE_ADD_FUNC(basic_stringbuf_char_vector_dtor
)
754 VTABLE_ADD_FUNC(basic_stringbuf_char_overflow
)
755 VTABLE_ADD_FUNC(basic_stringbuf_char_pbackfail
)
756 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
757 VTABLE_ADD_FUNC(basic_stringbuf_char_underflow
)
758 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
759 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
760 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
761 VTABLE_ADD_FUNC(basic_stringbuf_char_seekoff
)
762 VTABLE_ADD_FUNC(basic_stringbuf_char_seekpos
)
763 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
764 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
765 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
766 __ASM_VTABLE(basic_stringbuf_wchar
,
767 VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor
)
768 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
769 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
770 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
771 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
772 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
773 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
774 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
775 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
776 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
777 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
778 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
779 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
780 __ASM_VTABLE(basic_stringbuf_short
,
781 VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor
)
782 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
783 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
784 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
785 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
786 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
787 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
788 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
789 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
790 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
791 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
792 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
793 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
794 __ASM_VTABLE(basic_ostream_char
,
795 VTABLE_ADD_FUNC(basic_ostream_char_vector_dtor
));
796 __ASM_VTABLE(basic_ostream_wchar
,
797 VTABLE_ADD_FUNC(basic_ostream_wchar_vector_dtor
));
798 __ASM_VTABLE(basic_ostream_short
,
799 VTABLE_ADD_FUNC(basic_ostream_wchar_vector_dtor
));
800 __ASM_VTABLE(basic_istream_char
,
801 VTABLE_ADD_FUNC(basic_istream_char_vector_dtor
));
802 __ASM_VTABLE(basic_istream_wchar
,
803 VTABLE_ADD_FUNC(basic_istream_wchar_vector_dtor
));
804 __ASM_VTABLE(basic_istream_short
,
805 VTABLE_ADD_FUNC(basic_istream_wchar_vector_dtor
));
806 __ASM_VTABLE(basic_iostream_char
,
807 VTABLE_ADD_FUNC(basic_iostream_char_vector_dtor
));
808 __ASM_VTABLE(basic_iostream_wchar
,
809 VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor
));
810 __ASM_VTABLE(basic_iostream_short
,
811 VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor
));
812 __ASM_VTABLE(basic_ofstream_char
,
813 VTABLE_ADD_FUNC(basic_ofstream_char_vector_dtor
));
814 __ASM_VTABLE(basic_ofstream_wchar
,
815 VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor
));
816 __ASM_VTABLE(basic_ofstream_short
,
817 VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor
));
818 __ASM_VTABLE(basic_ifstream_char
,
819 VTABLE_ADD_FUNC(basic_ifstream_char_vector_dtor
));
820 __ASM_VTABLE(basic_ifstream_wchar
,
821 VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor
));
822 __ASM_VTABLE(basic_ifstream_short
,
823 VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor
));
824 __ASM_VTABLE(basic_fstream_char
,
825 VTABLE_ADD_FUNC(basic_fstream_char_vector_dtor
));
826 __ASM_VTABLE(basic_fstream_wchar
,
827 VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor
));
828 __ASM_VTABLE(basic_fstream_short
,
829 VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor
));
830 __ASM_VTABLE(basic_ostringstream_char
,
831 VTABLE_ADD_FUNC(basic_ostringstream_char_vector_dtor
));
832 __ASM_VTABLE(basic_ostringstream_wchar
,
833 VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor
));
834 __ASM_VTABLE(basic_ostringstream_short
,
835 VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor
));
836 __ASM_VTABLE(basic_istringstream_char
,
837 VTABLE_ADD_FUNC(basic_istringstream_char_vector_dtor
));
838 __ASM_VTABLE(basic_istringstream_wchar
,
839 VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor
));
840 __ASM_VTABLE(basic_istringstream_short
,
841 VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor
));
842 __ASM_VTABLE(basic_stringstream_char
,
843 VTABLE_ADD_FUNC(basic_stringstream_char_vector_dtor
));
844 __ASM_VTABLE(basic_stringstream_short
,
845 VTABLE_ADD_FUNC(basic_stringstream_short_vector_dtor
));
846 __ASM_VTABLE(strstreambuf
,
847 VTABLE_ADD_FUNC(strstreambuf_vector_dtor
)
848 VTABLE_ADD_FUNC(strstreambuf_overflow
)
849 VTABLE_ADD_FUNC(strstreambuf_pbackfail
)
850 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
851 VTABLE_ADD_FUNC(strstreambuf_underflow
)
852 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
853 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
854 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
855 VTABLE_ADD_FUNC(strstreambuf_seekoff
)
856 VTABLE_ADD_FUNC(strstreambuf_seekpos
)
857 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
858 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
859 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
860 __ASM_VTABLE(ostrstream
,
861 VTABLE_ADD_FUNC(ostrstream_vector_dtor
));
862 __ASM_VTABLE(strstream
,
863 VTABLE_ADD_FUNC(strstream_vector_dtor
));
866 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
867 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
868 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next
, 16)
869 void __thiscall
basic_streambuf_char_setp_next(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
871 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
875 this->wsize
= last
-next
;
878 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
879 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
880 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp
, 12)
881 void __thiscall
basic_streambuf_char_setp(basic_streambuf_char
*this, char *first
, char *last
)
883 basic_streambuf_char_setp_next(this, first
, first
, last
);
886 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
887 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
888 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg
, 16)
889 void __thiscall
basic_streambuf_char_setg(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
891 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
895 this->rsize
= last
-next
;
898 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
899 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
900 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty
, 4)
901 void __thiscall
basic_streambuf_char__Init_empty(basic_streambuf_char
*this)
903 TRACE("(%p)\n", this);
905 this->prbuf
= &this->rbuf
;
906 this->pwbuf
= &this->wbuf
;
907 this->prpos
= &this->rpos
;
908 this->pwpos
= &this->wpos
;
909 this->prsize
= &this->rsize
;
910 this->pwsize
= &this->wsize
;
912 basic_streambuf_char_setp(this, NULL
, NULL
);
913 basic_streambuf_char_setg(this, NULL
, NULL
, NULL
);
916 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
917 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
918 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized
, 8)
919 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor_uninitialized(basic_streambuf_char
*this, int uninitialized
)
921 TRACE("(%p %d)\n", this, uninitialized
);
922 this->vtable
= &basic_streambuf_char_vtable
;
926 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
927 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
928 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor
, 4)
929 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor(basic_streambuf_char
*this)
931 TRACE("(%p)\n", this);
933 this->vtable
= &basic_streambuf_char_vtable
;
934 locale_ctor(IOS_LOCALE(this));
935 basic_streambuf_char__Init_empty(this);
940 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
941 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
942 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor
, 4)
943 void __thiscall
basic_streambuf_char_dtor(basic_streambuf_char
*this)
945 TRACE("(%p)\n", this);
946 locale_dtor(IOS_LOCALE(this));
949 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_vector_dtor
, 8)
950 basic_streambuf_char
* __thiscall
basic_streambuf_char_vector_dtor(basic_streambuf_char
*this, unsigned int flags
)
952 TRACE("(%p %x)\n", this, flags
);
954 /* we have an array, with the number of elements stored before the first object */
955 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
957 for(i
=*ptr
-1; i
>=0; i
--)
958 basic_streambuf_char_dtor(this+i
);
959 operator_delete(ptr
);
961 basic_streambuf_char_dtor(this);
963 operator_delete(this);
969 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
970 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
971 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnavail
, 4)
972 streamsize __thiscall
basic_streambuf_char__Gnavail(const basic_streambuf_char
*this)
974 TRACE("(%p)\n", this);
975 return *this->prpos
? *this->prsize
: 0;
978 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
979 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
980 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec
, 4)
981 char* __thiscall
basic_streambuf_char__Gndec(basic_streambuf_char
*this)
983 TRACE("(%p)\n", this);
989 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
990 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
991 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc
, 4)
992 char* __thiscall
basic_streambuf_char__Gninc(basic_streambuf_char
*this)
994 TRACE("(%p)\n", this);
996 return (*this->prpos
)++;
999 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1000 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1001 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnpreinc
, 4)
1002 char* __thiscall
basic_streambuf_char__Gnpreinc(basic_streambuf_char
*this)
1004 TRACE("(%p)\n", this);
1007 return *this->prpos
;
1010 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
1011 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
1012 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init
, 28)
1013 void __thiscall
basic_streambuf_char__Init(basic_streambuf_char
*this, char **gf
, char **gn
, int *gc
, char **pf
, char **pn
, int *pc
)
1015 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1025 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1026 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1027 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock
, 4)
1028 #define call_basic_streambuf_char__Lock(this) basic_streambuf_char__Lock(this)
1029 void __thiscall
basic_streambuf_char__Lock(basic_streambuf_char
*this)
1031 TRACE("(%p)\n", this);
1034 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
1035 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
1036 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pnavail
, 4)
1037 streamsize __thiscall
basic_streambuf_char__Pnavail(const basic_streambuf_char
*this)
1039 TRACE("(%p)\n", this);
1040 return *this->pwpos
? *this->pwsize
: 0;
1043 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1044 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1045 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc
, 4)
1046 char* __thiscall
basic_streambuf_char__Pninc(basic_streambuf_char
*this)
1048 TRACE("(%p)\n", this);
1050 return (*this->pwpos
)++;
1053 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1054 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1055 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow
, 4)
1056 #define call_basic_streambuf_char_underflow(this) CALL_VTBL_FUNC(this, 16, int, (basic_streambuf_char*), (this))
1057 int __thiscall
basic_streambuf_char_underflow(basic_streambuf_char
*this)
1059 TRACE("(%p)\n", this);
1063 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1064 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1065 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow
, 4)
1066 #define call_basic_streambuf_char_uflow(this) CALL_VTBL_FUNC(this, 20, int, (basic_streambuf_char*), (this))
1067 int __thiscall
basic_streambuf_char_uflow(basic_streambuf_char
*this)
1071 TRACE("(%p)\n", this);
1073 if(call_basic_streambuf_char_underflow(this)==EOF
)
1076 ret
= (unsigned char)**this->prpos
;
1082 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
1083 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
1084 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s
, 16)
1085 #define call_basic_streambuf_char__Xsgetn_s(this, ptr, size, count) basic_streambuf_char__Xsgetn_s(this, ptr, size, count)
1086 streamsize __thiscall
basic_streambuf_char__Xsgetn_s(basic_streambuf_char
*this, char *ptr
, size_t size
, streamsize count
)
1088 streamsize copied
, chunk
;
1091 TRACE("(%p %p %Iu %Id)\n", this, ptr
, size
, count
);
1093 for(copied
=0; copied
<count
&& size
;) {
1094 chunk
= basic_streambuf_char__Gnavail(this);
1095 if(chunk
> count
-copied
)
1096 chunk
= count
-copied
;
1099 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
1100 *this->prpos
+= chunk
;
1101 *this->prsize
-= chunk
;
1104 }else if((c
= call_basic_streambuf_char_uflow(this)) != EOF
) {
1116 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
1117 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
1118 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s
, 16)
1119 streamsize __thiscall
basic_streambuf_char__Sgetn_s(basic_streambuf_char
*this, char *ptr
, size_t size
, streamsize count
)
1121 TRACE("(%p %p %Iu %Id)\n", this, ptr
, size
, count
);
1122 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, size
, count
);
1125 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1126 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1127 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock
, 4)
1128 #define call_basic_streambuf_char__Unlock(this) basic_streambuf_char__Unlock(this)
1129 void __thiscall
basic_streambuf_char__Unlock(basic_streambuf_char
*this)
1131 TRACE("(%p)\n", this);
1134 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1135 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1136 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback
, 4)
1137 char* __thiscall
basic_streambuf_char_eback(const basic_streambuf_char
*this)
1139 TRACE("(%p)\n", this);
1140 return *this->prbuf
;
1143 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1144 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1145 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr
, 4)
1146 char* __thiscall
basic_streambuf_char_gptr(const basic_streambuf_char
*this)
1148 TRACE("(%p)\n", this);
1149 return *this->prpos
;
1152 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1153 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1154 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr
, 4)
1155 char* __thiscall
basic_streambuf_char_egptr(const basic_streambuf_char
*this)
1157 TRACE("(%p)\n", this);
1158 return *this->prpos
+*this->prsize
;
1161 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1162 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1163 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr
, 4)
1164 char* __thiscall
basic_streambuf_char_epptr(const basic_streambuf_char
*this)
1166 TRACE("(%p)\n", this);
1167 return *this->pwpos
+*this->pwsize
;
1170 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1171 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1172 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump
, 8)
1173 void __thiscall
basic_streambuf_char_gbump(basic_streambuf_char
*this, int off
)
1175 TRACE("(%p %d)\n", this, off
);
1176 *this->prpos
+= off
;
1177 *this->prsize
-= off
;
1180 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@XZ */
1181 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
1182 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@XZ */
1183 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
1184 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc
, 8)
1185 locale
* __thiscall
basic_streambuf_char_getloc(const basic_streambuf_char
*this, locale
*ret
)
1187 TRACE("(%p)\n", this);
1188 return locale_copy_ctor(ret
, IOS_LOCALE(this));
1191 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
1192 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
1193 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue
, 8)
1194 #define call_basic_streambuf_char_imbue(this, loc) CALL_VTBL_FUNC(this, 48, void, (basic_streambuf_char*, const locale*), (this, loc))
1195 void __thiscall
basic_streambuf_char_imbue(basic_streambuf_char
*this, const locale
*loc
)
1197 TRACE("(%p %p)\n", this, loc
);
1200 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1201 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1202 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow
, 8)
1203 #define call_basic_streambuf_char_overflow(this, ch) CALL_VTBL_FUNC(this, 4, int, (basic_streambuf_char*, int), (this, ch))
1204 int __thiscall
basic_streambuf_char_overflow(basic_streambuf_char
*this, int ch
)
1206 TRACE("(%p %d)\n", this, ch
);
1210 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1211 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1212 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail
, 8)
1213 #define call_basic_streambuf_char_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, int, (basic_streambuf_char*, int), (this, ch))
1214 int __thiscall
basic_streambuf_char_pbackfail(basic_streambuf_char
*this, int ch
)
1216 TRACE("(%p %d)\n", this, ch
);
1220 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1221 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1222 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase
, 4)
1223 char* __thiscall
basic_streambuf_char_pbase(const basic_streambuf_char
*this)
1225 TRACE("(%p)\n", this);
1226 return *this->pwbuf
;
1229 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1230 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1231 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump
, 8)
1232 void __thiscall
basic_streambuf_char_pbump(basic_streambuf_char
*this, int off
)
1234 TRACE("(%p %d)\n", this, off
);
1235 *this->pwpos
+= off
;
1236 *this->pwsize
-= off
;
1239 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1240 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1241 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr
, 4)
1242 char* __thiscall
basic_streambuf_char_pptr(const basic_streambuf_char
*this)
1244 TRACE("(%p)\n", this);
1245 return *this->pwpos
;
1248 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1249 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1250 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue
, 12)
1251 locale
* __thiscall
basic_streambuf_char_pubimbue(basic_streambuf_char
*this, locale
*ret
, const locale
*loc
)
1253 TRACE("(%p %p)\n", this, loc
);
1254 memcpy(ret
, IOS_LOCALE(this), sizeof(locale
));
1255 call_basic_streambuf_char_imbue(this, loc
);
1256 locale_copy_ctor(IOS_LOCALE(this), loc
);
1260 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
1261 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
1262 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1263 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1264 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff
, 20)
1265 #define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 32, fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1266 fpos_int
* __thiscall
basic_streambuf_char_seekoff(basic_streambuf_char
*this,
1267 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1269 TRACE("(%p %Id %d %d)\n", this, off
, way
, mode
);
1276 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1277 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1278 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z */
1279 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JFF@Z */
1280 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
1281 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
1282 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff
, 20)
1283 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff(basic_streambuf_char
*this,
1284 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1286 TRACE("(%p %Id %d %d)\n", this, off
, way
, mode
);
1287 return call_basic_streambuf_char_seekoff(this, ret
, off
, way
, mode
);
1290 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1291 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1292 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old
, 20)
1293 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff_old(basic_streambuf_char
*this,
1294 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
1296 TRACE("(%p %Id %d %d)\n", this, off
, way
, mode
);
1297 return basic_streambuf_char_pubseekoff(this, ret
, off
, way
, mode
);
1300 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1301 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1302 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos
, 36)
1303 #define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 36, fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1304 fpos_int
* __thiscall
basic_streambuf_char_seekpos(basic_streambuf_char
*this,
1305 fpos_int
*ret
, fpos_int pos
, int mode
)
1307 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1314 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1315 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1316 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos
, 36)
1317 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos(basic_streambuf_char
*this,
1318 fpos_int
*ret
, fpos_int pos
, int mode
)
1320 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1321 return call_basic_streambuf_char_seekpos(this, ret
, pos
, mode
);
1324 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1325 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1326 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old
, 36)
1327 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos_old(basic_streambuf_char
*this,
1328 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
1330 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1331 return basic_streambuf_char_pubseekpos(this, ret
, pos
, mode
);
1334 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
1335 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
1336 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf
, 12)
1337 #define call_basic_streambuf_char_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 40, basic_streambuf_char*, (basic_streambuf_char*, char*, streamsize), (this, buf, count))
1338 basic_streambuf_char
* __thiscall
basic_streambuf_char_setbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1340 TRACE("(%p %p %Id)\n", this, buf
, count
);
1344 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
1345 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
1346 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf
, 12)
1347 basic_streambuf_char
* __thiscall
basic_streambuf_char_pubsetbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1349 TRACE("(%p %p %Id)\n", this, buf
, count
);
1350 return call_basic_streambuf_char_setbuf(this, buf
, count
);
1353 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1354 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1355 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync
, 4)
1356 #define call_basic_streambuf_char_sync(this) CALL_VTBL_FUNC(this, 44, int, (basic_streambuf_char*), (this))
1357 int __thiscall
basic_streambuf_char_sync(basic_streambuf_char
*this)
1359 TRACE("(%p)\n", this);
1363 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1364 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1365 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync
, 4)
1366 int __thiscall
basic_streambuf_char_pubsync(basic_streambuf_char
*this)
1368 TRACE("(%p)\n", this);
1369 return call_basic_streambuf_char_sync(this);
1372 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
1373 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
1374 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn
, 12)
1375 streamsize __thiscall
basic_streambuf_char_sgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1377 TRACE("(%p %p %Id)\n", this, ptr
, count
);
1378 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1381 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1382 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
1383 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc
, 4)
1384 #define call_basic_streambuf_char_showmanyc(this) CALL_VTBL_FUNC(this, 12, streamsize, (basic_streambuf_char*), (this))
1385 streamsize __thiscall
basic_streambuf_char_showmanyc(basic_streambuf_char
*this)
1387 TRACE("(%p)\n", this);
1391 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1392 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
1393 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail
, 4)
1394 streamsize __thiscall
basic_streambuf_char_in_avail(basic_streambuf_char
*this)
1398 TRACE("(%p)\n", this);
1400 ret
= basic_streambuf_char__Gnavail(this);
1401 return ret
? ret
: call_basic_streambuf_char_showmanyc(this);
1404 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1405 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1406 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc
, 8)
1407 int __thiscall
basic_streambuf_char_sputbackc(basic_streambuf_char
*this, char ch
)
1409 TRACE("(%p %d)\n", this, ch
);
1410 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
1413 return (unsigned char)ch
;
1416 return call_basic_streambuf_char_pbackfail(this, (unsigned char)ch
);
1419 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1420 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1421 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc
, 8)
1422 int __thiscall
basic_streambuf_char_sputc(basic_streambuf_char
*this, char ch
)
1424 TRACE("(%p %d)\n", this, ch
);
1425 return basic_streambuf_char__Pnavail(this) ?
1426 (unsigned char)(*basic_streambuf_char__Pninc(this) = ch
) :
1427 call_basic_streambuf_char_overflow(this, (unsigned char)ch
);
1430 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1431 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1432 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc
, 4)
1433 int __thiscall
basic_streambuf_char_sungetc(basic_streambuf_char
*this)
1435 TRACE("(%p)\n", this);
1436 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
1439 return (unsigned char)**this->prpos
;
1442 return call_basic_streambuf_char_pbackfail(this, EOF
);
1445 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1446 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1447 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc
, 4)
1448 void __thiscall
basic_streambuf_char_stossc(basic_streambuf_char
*this)
1450 TRACE("(%p)\n", this);
1451 if(basic_streambuf_char__Gnavail(this))
1452 basic_streambuf_char__Gninc(this);
1454 call_basic_streambuf_char_uflow(this);
1457 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1458 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1459 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc
, 4)
1460 int __thiscall
basic_streambuf_char_sbumpc(basic_streambuf_char
*this)
1462 TRACE("(%p)\n", this);
1463 return basic_streambuf_char__Gnavail(this) ?
1464 (int)(unsigned char)*basic_streambuf_char__Gninc(this) : call_basic_streambuf_char_uflow(this);
1467 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1468 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1469 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc
, 4)
1470 int __thiscall
basic_streambuf_char_sgetc(basic_streambuf_char
*this)
1472 TRACE("(%p)\n", this);
1473 return basic_streambuf_char__Gnavail(this) ?
1474 (int)(unsigned char)*basic_streambuf_char_gptr(this) : call_basic_streambuf_char_underflow(this);
1477 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1478 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1479 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc
, 4)
1480 int __thiscall
basic_streambuf_char_snextc(basic_streambuf_char
*this)
1482 TRACE("(%p)\n", this);
1484 if(basic_streambuf_char__Gnavail(this) > 1)
1485 return (unsigned char)*basic_streambuf_char__Gnpreinc(this);
1486 return basic_streambuf_char_sbumpc(this)==EOF
?
1487 EOF
: basic_streambuf_char_sgetc(this);
1490 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
1491 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
1492 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn
, 12)
1493 #define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
1494 streamsize __thiscall
basic_streambuf_char_xsgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1496 TRACE("(%p %p %Id)\n", this, ptr
, count
);
1497 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1500 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
1501 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
1502 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn
, 12)
1503 #define call_basic_streambuf_char_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 28, streamsize, (basic_streambuf_char*, const char*, streamsize), (this, ptr, count))
1504 streamsize __thiscall
basic_streambuf_char_xsputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1506 streamsize copied
, chunk
;
1508 TRACE("(%p %p %Id)\n", this, ptr
, count
);
1510 for(copied
=0; copied
<count
;) {
1511 chunk
= basic_streambuf_char__Pnavail(this);
1512 if(chunk
> count
-copied
)
1513 chunk
= count
-copied
;
1516 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
1517 *this->pwpos
+= chunk
;
1518 *this->pwsize
-= chunk
;
1520 }else if(call_basic_streambuf_char_overflow(this, (unsigned char)ptr
[copied
]) != EOF
) {
1530 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
1531 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
1532 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn
, 12)
1533 streamsize __thiscall
basic_streambuf_char_sputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1535 TRACE("(%p %p %Id)\n", this, ptr
, count
);
1536 return call_basic_streambuf_char_xsputn(this, ptr
, count
);
1539 /* ?swap@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXAAV12@@Z */
1540 /* ?swap@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXAEAV12@@Z */
1541 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_swap
, 8)
1542 void __thiscall
basic_streambuf_char_swap(basic_streambuf_char
*this, basic_streambuf_char
*r
)
1544 basic_streambuf_char tmp
;
1546 TRACE("(%p %p)\n", this, r
);
1553 this->vtable
= tmp
.vtable
;
1554 tmp
.vtable
= r
->vtable
;
1558 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1559 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1560 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1561 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1562 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp_next
, 16)
1563 void __thiscall
basic_streambuf_wchar_setp_next(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1565 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1569 this->wsize
= last
-next
;
1572 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W0@Z */
1573 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z */
1574 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z */
1575 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z */
1576 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp
, 12)
1577 void __thiscall
basic_streambuf_wchar_setp(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *last
)
1579 basic_streambuf_wchar_setp_next(this, first
, first
, last
);
1582 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1583 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1584 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1585 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1586 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setg
, 16)
1587 void __thiscall
basic_streambuf_wchar_setg(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1589 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1593 this->rsize
= last
-next
;
1596 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXXZ */
1597 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXXZ */
1598 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
1599 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
1600 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init_empty
, 4)
1601 void __thiscall
basic_streambuf_wchar__Init_empty(basic_streambuf_wchar
*this)
1603 TRACE("(%p)\n", this);
1605 this->prbuf
= &this->rbuf
;
1606 this->pwbuf
= &this->wbuf
;
1607 this->prpos
= &this->rpos
;
1608 this->pwpos
= &this->wpos
;
1609 this->prsize
= &this->rsize
;
1610 this->pwsize
= &this->wsize
;
1612 basic_streambuf_wchar_setp(this, NULL
, NULL
);
1613 basic_streambuf_wchar_setg(this, NULL
, NULL
, NULL
);
1616 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1617 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1618 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor_uninitialized
, 8)
1619 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1621 TRACE("(%p %d)\n", this, uninitialized
);
1622 this->vtable
= &basic_streambuf_wchar_vtable
;
1626 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1627 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1628 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor_uninitialized
, 8)
1629 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1631 TRACE("(%p %d)\n", this, uninitialized
);
1632 basic_streambuf_wchar_ctor_uninitialized(this, uninitialized
);
1633 this->vtable
= &basic_streambuf_short_vtable
;
1637 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
1638 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
1639 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor
, 4)
1640 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor(basic_streambuf_wchar
*this)
1642 TRACE("(%p)\n", this);
1644 this->vtable
= &basic_streambuf_wchar_vtable
;
1645 locale_ctor(IOS_LOCALE(this));
1646 basic_streambuf_wchar__Init_empty(this);
1651 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ */
1652 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ */
1653 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor
, 4)
1654 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor(basic_streambuf_wchar
*this)
1656 TRACE("(%p)\n", this);
1657 basic_streambuf_wchar_ctor(this);
1658 this->vtable
= &basic_streambuf_short_vtable
;
1662 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
1663 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
1664 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
1665 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
1666 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_dtor
, 4)
1667 void __thiscall
basic_streambuf_wchar_dtor(basic_streambuf_wchar
*this)
1669 TRACE("(%p)\n", this);
1670 locale_dtor(IOS_LOCALE(this));
1673 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_vector_dtor
, 8)
1674 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1676 TRACE("(%p %x)\n", this, flags
);
1678 /* we have an array, with the number of elements stored before the first object */
1679 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
1681 for(i
=*ptr
-1; i
>=0; i
--)
1682 basic_streambuf_wchar_dtor(this+i
);
1683 operator_delete(ptr
);
1685 basic_streambuf_wchar_dtor(this);
1687 operator_delete(this);
1693 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1694 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1695 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1696 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1697 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnavail
, 4)
1698 streamsize __thiscall
basic_streambuf_wchar__Gnavail(const basic_streambuf_wchar
*this)
1700 TRACE("(%p)\n", this);
1701 return *this->prpos
? *this->prsize
: 0;
1704 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1705 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1706 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1707 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1708 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gndec
, 4)
1709 wchar_t* __thiscall
basic_streambuf_wchar__Gndec(basic_streambuf_wchar
*this)
1711 TRACE("(%p)\n", this);
1714 return *this->prpos
;
1717 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1718 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1719 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1720 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1721 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gninc
, 4)
1722 wchar_t* __thiscall
basic_streambuf_wchar__Gninc(basic_streambuf_wchar
*this)
1724 TRACE("(%p)\n", this);
1726 return (*this->prpos
)++;
1729 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1730 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1731 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1732 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1733 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnpreinc
, 4)
1734 wchar_t* __thiscall
basic_streambuf_wchar__Gnpreinc(basic_streambuf_wchar
*this)
1736 TRACE("(%p)\n", this);
1739 return *this->prpos
;
1742 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPAPA_W0PAH001@Z */
1743 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAPEA_W0PEAH001@Z */
1744 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z */
1745 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z */
1746 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init
, 28)
1747 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
)
1749 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1759 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1760 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1761 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1762 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1763 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Lock
, 4)
1764 void __thiscall
basic_streambuf_wchar__Lock(basic_streambuf_wchar
*this)
1766 TRACE("(%p)\n", this);
1769 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1770 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1771 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1772 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1773 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pnavail
, 4)
1774 streamsize __thiscall
basic_streambuf_wchar__Pnavail(const basic_streambuf_wchar
*this)
1776 TRACE("(%p)\n", this);
1777 return *this->pwpos
? *this->pwsize
: 0;
1780 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1781 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1782 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1783 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1784 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pninc
, 4)
1785 wchar_t* __thiscall
basic_streambuf_wchar__Pninc(basic_streambuf_wchar
*this)
1787 TRACE("(%p)\n", this);
1789 return (*this->pwpos
)++;
1792 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1793 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1794 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1795 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1796 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_underflow
, 4)
1797 #define call_basic_streambuf_wchar_underflow(this) CALL_VTBL_FUNC(this, 16, unsigned short, (basic_streambuf_wchar*), (this))
1798 unsigned short __thiscall
basic_streambuf_wchar_underflow(basic_streambuf_wchar
*this)
1800 TRACE("(%p)\n", this);
1804 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1805 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1806 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1807 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1808 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_uflow
, 4)
1809 #define call_basic_streambuf_wchar_uflow(this) CALL_VTBL_FUNC(this, 20, unsigned short, (basic_streambuf_wchar*), (this))
1810 unsigned short __thiscall
basic_streambuf_wchar_uflow(basic_streambuf_wchar
*this)
1814 TRACE("(%p)\n", this);
1816 if(call_basic_streambuf_wchar_underflow(this)==WEOF
)
1819 ret
= **this->prpos
;
1825 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WIH@Z */
1826 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
1827 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
1828 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
1829 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s
, 16)
1830 #define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count)
1831 streamsize __thiscall
basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, size_t size
, streamsize count
)
1833 streamsize copied
, chunk
;
1836 TRACE("(%p %p %Iu %Id)\n", this, ptr
, size
, count
);
1838 for(copied
=0; copied
<count
&& size
;) {
1839 chunk
= basic_streambuf_wchar__Gnavail(this);
1840 if(chunk
> count
-copied
)
1841 chunk
= count
-copied
;
1844 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
*sizeof(wchar_t));
1845 *this->prpos
+= chunk
;
1846 *this->prsize
-= chunk
;
1848 size
-= chunk
*sizeof(wchar_t);
1849 }else if((c
= call_basic_streambuf_wchar_uflow(this)) != WEOF
) {
1861 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
1862 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
1863 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
1864 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
1865 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Sgetn_s
, 16)
1866 streamsize __thiscall
basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, size_t size
, streamsize count
)
1868 TRACE("(%p %p %Iu %Id)\n", this, ptr
, size
, count
);
1869 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, size
, count
);
1872 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1873 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1874 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1875 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1876 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Unlock
, 4)
1877 void __thiscall
basic_streambuf_wchar__Unlock(basic_streambuf_wchar
*this)
1879 TRACE("(%p)\n", this);
1882 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1883 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1884 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1885 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1886 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_eback
, 4)
1887 wchar_t* __thiscall
basic_streambuf_wchar_eback(const basic_streambuf_wchar
*this)
1889 TRACE("(%p)\n", this);
1890 return *this->prbuf
;
1893 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1894 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1895 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1896 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1897 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gptr
, 4)
1898 wchar_t* __thiscall
basic_streambuf_wchar_gptr(const basic_streambuf_wchar
*this)
1900 TRACE("(%p)\n", this);
1901 return *this->prpos
;
1904 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1905 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1906 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1907 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1908 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_egptr
, 4)
1909 wchar_t* __thiscall
basic_streambuf_wchar_egptr(const basic_streambuf_wchar
*this)
1911 TRACE("(%p)\n", this);
1912 return *this->prpos
+*this->prsize
;
1915 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1916 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1917 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1918 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1919 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_epptr
, 4)
1920 wchar_t* __thiscall
basic_streambuf_wchar_epptr(const basic_streambuf_wchar
*this)
1922 TRACE("(%p)\n", this);
1923 return *this->pwpos
+*this->pwsize
;
1926 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1927 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1928 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1929 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1930 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gbump
, 8)
1931 void __thiscall
basic_streambuf_wchar_gbump(basic_streambuf_wchar
*this, int off
)
1933 TRACE("(%p %d)\n", this, off
);
1934 *this->prpos
+= off
;
1935 *this->prsize
-= off
;
1938 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QBE?AVlocale@2@XZ */
1939 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEBA?AVlocale@2@XZ */
1940 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QBE?AVlocale@2@XZ */
1941 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEBA?AVlocale@2@XZ */
1942 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_getloc
, 8)
1943 locale
* __thiscall
basic_streambuf_wchar_getloc(const basic_streambuf_wchar
*this, locale
*ret
)
1945 TRACE("(%p)\n", this);
1946 return locale_copy_ctor(ret
, IOS_LOCALE(this));
1949 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
1950 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
1951 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
1952 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
1953 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue
, 8)
1954 #define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 48, void, (basic_streambuf_wchar*, const locale*), (this, loc))
1955 void __thiscall
basic_streambuf_wchar_imbue(basic_streambuf_wchar
*this, const locale
*loc
)
1957 TRACE("(%p %p)\n", this, loc
);
1960 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1961 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1962 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1963 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1964 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_overflow
, 8)
1965 #define call_basic_streambuf_wchar_overflow(this, ch) CALL_VTBL_FUNC(this, 4, unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1966 unsigned short __thiscall
basic_streambuf_wchar_overflow(basic_streambuf_wchar
*this, unsigned short ch
)
1968 TRACE("(%p %d)\n", this, ch
);
1972 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1973 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1974 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1975 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1976 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbackfail
, 8)
1977 #define call_basic_streambuf_wchar_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1978 unsigned short __thiscall
basic_streambuf_wchar_pbackfail(basic_streambuf_wchar
*this, unsigned short ch
)
1980 TRACE("(%p %d)\n", this, ch
);
1984 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1985 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1986 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1987 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1988 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbase
, 4)
1989 wchar_t* __thiscall
basic_streambuf_wchar_pbase(const basic_streambuf_wchar
*this)
1991 TRACE("(%p)\n", this);
1992 return *this->pwbuf
;
1995 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1996 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1997 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1998 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1999 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbump
, 8)
2000 void __thiscall
basic_streambuf_wchar_pbump(basic_streambuf_wchar
*this, int off
)
2002 TRACE("(%p %d)\n", this, off
);
2003 *this->pwpos
+= off
;
2004 *this->pwsize
-= off
;
2007 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
2008 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
2009 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
2010 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
2011 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pptr
, 4)
2012 wchar_t* __thiscall
basic_streambuf_wchar_pptr(const basic_streambuf_wchar
*this)
2014 TRACE("(%p)\n", this);
2015 return *this->pwpos
;
2018 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2019 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2020 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2021 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2022 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubimbue
, 12)
2023 locale
* __thiscall
basic_streambuf_wchar_pubimbue(basic_streambuf_wchar
*this, locale
*ret
, const locale
*loc
)
2025 TRACE("(%p %p)\n", this, loc
);
2026 memcpy(ret
, IOS_LOCALE(this), sizeof(locale
));
2027 call_basic_streambuf_wchar_imbue(this, loc
);
2028 locale_copy_ctor(IOS_LOCALE(this), loc
);
2032 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
2033 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
2034 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2035 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2036 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2037 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2038 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff
, 20)
2039 #define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 32, fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
2040 fpos_int
* __thiscall
basic_streambuf_wchar_seekoff(basic_streambuf_wchar
*this,
2041 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2043 TRACE("(%p %Id %d %d)\n", this, off
, way
, mode
);
2050 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2051 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2052 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2053 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2054 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z */
2055 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JFF@Z */
2056 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
2057 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JW4seekdir@ioos_base@2@H@Z */
2058 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff
, 20)
2059 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff(basic_streambuf_wchar
*this,
2060 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2062 TRACE("(%p %Id %d %d)\n", this, off
, way
, mode
);
2063 return call_basic_streambuf_wchar_seekoff(this, ret
, off
, way
, mode
);
2066 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2067 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2068 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2069 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2070 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old
, 20)
2071 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
*this,
2072 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
2074 TRACE("(%p %Id %d %d)\n", this, off
, way
, mode
);
2075 return basic_streambuf_wchar_pubseekoff(this, ret
, off
, way
, mode
);
2078 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2079 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2080 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2081 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2082 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekpos
, 36)
2083 #define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 36, fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
2084 fpos_int
* __thiscall
basic_streambuf_wchar_seekpos(basic_streambuf_wchar
*this,
2085 fpos_int
*ret
, fpos_int pos
, int mode
)
2087 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2094 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2095 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2096 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2097 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2098 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos
, 36)
2099 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar
*this,
2100 fpos_int
*ret
, fpos_int pos
, int mode
)
2102 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2103 return call_basic_streambuf_wchar_seekpos(this, ret
, pos
, mode
);
2106 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2107 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2108 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2109 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2110 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos_old
, 36)
2111 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar
*this,
2112 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
2114 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2115 return basic_streambuf_wchar_pubseekpos(this, ret
, pos
, mode
);
2118 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEPAV12@PA_WH@Z */
2119 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV12@PEA_W_J@Z */
2120 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
2121 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
2122 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf
, 12)
2123 #define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 40, basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
2124 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_setbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2126 TRACE("(%p %p %Id)\n", this, buf
, count
);
2130 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PA_WH@Z */
2131 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEA_W_J@Z */
2132 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z */
2133 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z */
2134 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsetbuf
, 12)
2135 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_pubsetbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2137 TRACE("(%p %p %Id)\n", this, buf
, count
);
2138 return call_basic_streambuf_wchar_setbuf(this, buf
, count
);
2141 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2142 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
2143 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2144 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
2145 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync
, 4)
2146 #define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 44, int, (basic_streambuf_wchar*), (this))
2147 int __thiscall
basic_streambuf_wchar_sync(basic_streambuf_wchar
*this)
2149 TRACE("(%p)\n", this);
2153 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2154 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
2155 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2156 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ */
2157 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsync
, 4)
2158 int __thiscall
basic_streambuf_wchar_pubsync(basic_streambuf_wchar
*this)
2160 TRACE("(%p)\n", this);
2161 return call_basic_streambuf_wchar_sync(this);
2164 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
2165 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
2166 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
2167 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
2168 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn
, 12)
2169 #define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
2170 streamsize __thiscall
basic_streambuf_wchar_xsgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2172 TRACE("(%p %p %Id)\n", this, ptr
, count
);
2173 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2176 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
2177 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
2178 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
2179 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
2180 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn
, 12)
2181 streamsize __thiscall
basic_streambuf_wchar_sgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2183 TRACE("(%p %p %Id)\n", this, ptr
, count
);
2184 return call_basic_streambuf_wchar_xsgetn(this, ptr
, count
);
2187 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2188 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JXZ */
2189 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2190 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JXZ */
2191 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_showmanyc
, 4)
2192 #define call_basic_streambuf_wchar_showmanyc(this) CALL_VTBL_FUNC(this, 12, streamsize, (basic_streambuf_wchar*), (this))
2193 streamsize __thiscall
basic_streambuf_wchar_showmanyc(basic_streambuf_wchar
*this)
2195 TRACE("(%p)\n", this);
2199 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2200 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JXZ */
2201 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2202 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ */
2203 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_in_avail
, 4)
2204 streamsize __thiscall
basic_streambuf_wchar_in_avail(basic_streambuf_wchar
*this)
2208 TRACE("(%p)\n", this);
2210 ret
= basic_streambuf_wchar__Gnavail(this);
2211 return ret
? ret
: call_basic_streambuf_wchar_showmanyc(this);
2214 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2215 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2216 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2217 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
2218 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputbackc
, 8)
2219 unsigned short __thiscall
basic_streambuf_wchar_sputbackc(basic_streambuf_wchar
*this, wchar_t ch
)
2221 TRACE("(%p %d)\n", this, ch
);
2222 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
2228 return call_basic_streambuf_wchar_pbackfail(this, ch
);
2231 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2232 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2233 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2234 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHG@Z */
2235 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputc
, 8)
2236 unsigned short __thiscall
basic_streambuf_wchar_sputc(basic_streambuf_wchar
*this, wchar_t ch
)
2238 TRACE("(%p %d)\n", this, ch
);
2239 return basic_streambuf_wchar__Pnavail(this) ?
2240 (*basic_streambuf_wchar__Pninc(this) = ch
) :
2241 call_basic_streambuf_wchar_overflow(this, ch
);
2244 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2245 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2246 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2247 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2248 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sungetc
, 4)
2249 unsigned short __thiscall
basic_streambuf_wchar_sungetc(basic_streambuf_wchar
*this)
2251 TRACE("(%p)\n", this);
2252 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
2255 return **this->prpos
;
2258 return call_basic_streambuf_wchar_pbackfail(this, WEOF
);
2261 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
2262 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
2263 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
2264 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
2265 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_stossc
, 4)
2266 void __thiscall
basic_streambuf_wchar_stossc(basic_streambuf_wchar
*this)
2268 TRACE("(%p)\n", this);
2269 if(basic_streambuf_wchar__Gnavail(this))
2270 basic_streambuf_wchar__Gninc(this);
2272 call_basic_streambuf_wchar_uflow(this);
2275 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2276 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2277 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2278 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2279 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sbumpc
, 4)
2280 unsigned short __thiscall
basic_streambuf_wchar_sbumpc(basic_streambuf_wchar
*this)
2282 TRACE("(%p)\n", this);
2283 return basic_streambuf_wchar__Gnavail(this) ?
2284 *basic_streambuf_wchar__Gninc(this) : call_basic_streambuf_wchar_uflow(this);
2287 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2288 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2289 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2290 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2291 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetc
, 4)
2292 unsigned short __thiscall
basic_streambuf_wchar_sgetc(basic_streambuf_wchar
*this)
2294 TRACE("(%p)\n", this);
2295 return basic_streambuf_wchar__Gnavail(this) ?
2296 *basic_streambuf_wchar_gptr(this) : call_basic_streambuf_wchar_underflow(this);
2299 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2300 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2301 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2302 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2303 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_snextc
, 4)
2304 unsigned short __thiscall
basic_streambuf_wchar_snextc(basic_streambuf_wchar
*this)
2306 TRACE("(%p)\n", this);
2308 if(basic_streambuf_wchar__Gnavail(this) > 1)
2309 return *basic_streambuf_wchar__Gnpreinc(this);
2310 return basic_streambuf_wchar_sbumpc(this)==WEOF
?
2311 WEOF
: basic_streambuf_wchar_sgetc(this);
2314 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
2315 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
2316 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
2317 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
2318 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn
, 12)
2319 #define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 28, streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
2320 streamsize __thiscall
basic_streambuf_wchar_xsputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2322 streamsize copied
, chunk
;
2324 TRACE("(%p %p %Id)\n", this, ptr
, count
);
2326 for(copied
=0; copied
<count
;) {
2327 chunk
= basic_streambuf_wchar__Pnavail(this);
2328 if(chunk
> count
-copied
)
2329 chunk
= count
-copied
;
2332 memcpy(*this->pwpos
, ptr
+copied
, chunk
*sizeof(wchar_t));
2333 *this->pwpos
+= chunk
;
2334 *this->pwsize
-= chunk
;
2336 }else if(call_basic_streambuf_wchar_overflow(this, ptr
[copied
]) != WEOF
) {
2346 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z */
2347 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEB_W_J@Z */
2348 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z */
2349 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z */
2350 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputn
, 12)
2351 streamsize __thiscall
basic_streambuf_wchar_sputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2353 TRACE("(%p %p %Id)\n", this, ptr
, count
);
2354 return call_basic_streambuf_wchar_xsputn(this, ptr
, count
);
2357 /* ?swap@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXAAV12@@Z */
2358 /* ?swap@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXAEAV12@@Z */
2359 /* ?swap@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXAAV12@@Z */
2360 /* ?swap@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXAAV12@@Z */
2361 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_swap
, 8)
2362 void __thiscall
basic_streambuf_wchar_swap(basic_streambuf_wchar
*this, basic_streambuf_wchar
*r
)
2364 basic_streambuf_wchar tmp
;
2366 TRACE("(%p %p)\n", this, r
);
2373 this->vtable
= tmp
.vtable
;
2374 tmp
.vtable
= r
->vtable
;
2378 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2379 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2380 int basic_filebuf_char__Init__Stinit
= 0;
2382 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2383 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2384 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Init
, 12)
2385 void __thiscall
basic_filebuf_char__Init(basic_filebuf_char
*this, FILE *file
, basic_filebuf__Initfl which
)
2387 TRACE("(%p %p %d)\n", this, file
, which
);
2390 this->state0
= basic_filebuf_char__Init__Stinit
;
2391 this->state
= basic_filebuf_char__Init__Stinit
;
2392 if(which
== INITFL_new
)
2394 this->close
= (which
== INITFL_open
);
2397 basic_streambuf_char__Init_empty(&this->base
);
2399 basic_streambuf_char__Init(&this->base
, &file
->_base
, &file
->_ptr
,
2400 &file
->_cnt
, &file
->_base
, &file
->_ptr
, &file
->_cnt
);
2403 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z */
2404 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$codecvt@DDH@2@@Z */
2405 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Initcvt_cvt
, 8)
2406 void __thiscall
basic_filebuf_char__Initcvt_cvt(basic_filebuf_char
*this, codecvt_char
*cvt
)
2408 TRACE("(%p %p)\n", this, cvt
);
2410 if(codecvt_base_always_noconv(&cvt
->base
)) {
2413 this->str
= operator_new(sizeof(basic_string_char
));
2414 MSVCP_basic_string_char_ctor(this->str
);
2419 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
2420 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
2421 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Initcvt
, 4)
2422 void __thiscall
basic_filebuf_char__Initcvt(basic_filebuf_char
*this)
2424 codecvt_char
*cvt
= codecvt_char_use_facet(IOS_LOCALE(&this->base
));
2426 TRACE("(%p)\n", this);
2428 locale__Addfac(&this->loc
, &cvt
->base
.facet
, codecvt_char_id
.id
, LC_CTYPE
);
2429 basic_filebuf_char__Initcvt_cvt( this, cvt
);
2432 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ */
2433 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ */
2434 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_close
, 4)
2435 basic_filebuf_char
* __thiscall
basic_filebuf_char_close(basic_filebuf_char
*this)
2437 basic_filebuf_char
*ret
= this;
2439 TRACE("(%p)\n", this);
2441 if(!this->file
|| fclose(this->file
))
2444 basic_filebuf_char__Init(this, NULL
, INITFL_close
);
2448 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
2449 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2450 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_file
, 8)
2451 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_file(basic_filebuf_char
*this, FILE *file
)
2453 TRACE("(%p %p)\n", this, file
);
2455 basic_streambuf_char_ctor(&this->base
);
2456 this->base
.vtable
= &basic_filebuf_char_vtable
;
2458 locale_ctor(&this->loc
);
2459 basic_filebuf_char__Init(this, file
, INITFL_new
);
2463 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
2464 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2465 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor
, 4)
2466 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor(basic_filebuf_char
*this)
2468 return basic_filebuf_char_ctor_file(this, NULL
);
2471 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
2472 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
2473 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_uninitialized
, 8)
2474 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_uninitialized(basic_filebuf_char
*this, int uninitialized
)
2476 TRACE("(%p %d)\n", this, uninitialized
);
2478 basic_streambuf_char_ctor_uninitialized(&this->base
, 0);
2479 this->base
.vtable
= &basic_filebuf_char_vtable
;
2480 locale_ctor(&this->loc
);
2484 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
2485 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2486 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_dtor
, 4)
2487 void __thiscall
basic_filebuf_char_dtor(basic_filebuf_char
*this)
2489 TRACE("(%p)\n", this);
2492 basic_filebuf_char_close(this);
2494 MSVCP_basic_string_char_dtor(this->str
);
2495 operator_delete(this->str
);
2497 locale_dtor(&this->loc
);
2498 basic_streambuf_char_dtor(&this->base
);
2501 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_vector_dtor
, 8)
2502 basic_filebuf_char
* __thiscall
basic_filebuf_char_vector_dtor(basic_filebuf_char
*this, unsigned int flags
)
2504 TRACE("(%p %x)\n", this, flags
);
2506 /* we have an array, with the number of elements stored before the first object */
2507 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
2509 for(i
=*ptr
-1; i
>=0; i
--)
2510 basic_filebuf_char_dtor(this+i
);
2511 operator_delete(ptr
);
2513 basic_filebuf_char_dtor(this);
2515 operator_delete(this);
2521 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ */
2522 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
2523 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_is_open
, 4)
2524 bool __thiscall
basic_filebuf_char_is_open(const basic_filebuf_char
*this)
2526 TRACE("(%p)\n", this);
2527 return this->file
!= NULL
;
2530 /* ?_Fiopen@std@@YAPAU_iobuf@@PB_WHH@Z */
2531 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEB_WHH@Z */
2532 FILE* __cdecl
_Fiopen_wchar(const wchar_t *name
, int mode
, int prot
)
2534 static const struct {
2536 const wchar_t str
[4];
2537 const wchar_t str_bin
[4];
2539 {OPENMODE_out
, L
"w", L
"wb"},
2540 {OPENMODE_out
|OPENMODE_app
, L
"a", L
"ab"},
2541 {OPENMODE_app
, L
"a", L
"ab"},
2542 {OPENMODE_out
|OPENMODE_trunc
, L
"w", L
"wb"},
2543 {OPENMODE_in
, L
"r", L
"rb"},
2544 {OPENMODE_in
|OPENMODE_out
, L
"r+", L
"r+b"},
2545 {OPENMODE_in
|OPENMODE_out
|OPENMODE_trunc
, L
"w+", L
"w+b"},
2546 {OPENMODE_in
|OPENMODE_out
|OPENMODE_app
, L
"a+", L
"a+b"},
2547 {OPENMODE_in
|OPENMODE_app
, L
"a+", L
"a+b"}
2550 int real_mode
= mode
& ~(OPENMODE_ate
|OPENMODE__Nocreate
|OPENMODE__Noreplace
|OPENMODE_binary
);
2554 TRACE("(%s %d %d)\n", debugstr_w(name
), mode
, prot
);
2556 for(mode_idx
=0; mode_idx
<ARRAY_SIZE(str_mode
); mode_idx
++)
2557 if(str_mode
[mode_idx
].mode
== real_mode
)
2559 if(mode_idx
== ARRAY_SIZE(str_mode
))
2562 if((mode
& OPENMODE__Nocreate
) && !(f
= _wfopen(name
, L
"r")))
2567 if((mode
& OPENMODE__Noreplace
) && (mode
& (OPENMODE_out
|OPENMODE_app
))
2568 && (f
= _wfopen(name
, L
"r"))) {
2573 f
= _wfsopen(name
, (mode
& OPENMODE_binary
) ? str_mode
[mode_idx
].str_bin
2574 : str_mode
[mode_idx
].str
, prot
);
2578 if((mode
& OPENMODE_ate
) && fseek(f
, 0, SEEK_END
)) {
2586 /* ?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z */
2587 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEBDHH@Z */
2588 FILE* __cdecl
_Fiopen(const char *name
, int mode
, int prot
)
2590 wchar_t nameW
[FILENAME_MAX
];
2592 TRACE("(%s %d %d)\n", name
, mode
, prot
);
2594 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2596 return _Fiopen_wchar(nameW
, mode
, prot
);
2599 /* ?__Fiopen@std@@YAPAU_iobuf@@PBDH@Z */
2600 /* ?__Fiopen@std@@YAPEAU_iobuf@@PEBDH@Z */
2601 FILE* __cdecl
___Fiopen(const char *name
, int mode
)
2603 TRACE("(%p %d)\n", name
, mode
);
2604 return _Fiopen(name
, mode
, _SH_DENYNO
);
2607 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WHH@Z */
2608 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
2609 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGHH@Z */
2610 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGHH@Z */
2611 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar
, 16)
2612 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar(basic_filebuf_char
*this, const wchar_t *name
, int mode
, int prot
)
2616 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
2618 if(basic_filebuf_char_is_open(this))
2621 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
2624 basic_filebuf_char__Init(this, f
, INITFL_open
);
2625 basic_filebuf_char__Initcvt_cvt(this, codecvt_char_use_facet(IOS_LOCALE(&this->base
)));
2629 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WI@Z */
2630 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WI@Z */
2631 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGI@Z */
2632 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGI@Z */
2633 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar_mode
, 12)
2634 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar_mode(basic_filebuf_char
*this, const wchar_t *name
, unsigned int mode
)
2636 return basic_filebuf_char_open_wchar(this, name
, mode
, SH_DENYNO
);
2639 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z */
2640 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDHH@Z */
2641 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open
, 16)
2642 basic_filebuf_char
* __thiscall
basic_filebuf_char_open(basic_filebuf_char
*this, const char *name
, int mode
, int prot
)
2644 wchar_t nameW
[FILENAME_MAX
];
2646 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
2648 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2650 return basic_filebuf_char_open_wchar(this, nameW
, mode
, prot
);
2653 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDF@Z */
2654 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDF@Z */
2655 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_mode_old
, 12)
2656 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_mode_old(basic_filebuf_char
*this, const char *name
, short mode
)
2658 TRACE("(%p %p %d)\n", this, name
, mode
);
2659 return basic_filebuf_char_open(this, name
, mode
, SH_DENYNO
);
2662 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDH@Z */
2663 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDH@Z */
2664 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDI@Z */
2665 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDI@Z */
2666 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_mode
, 12)
2667 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_mode(basic_filebuf_char
*this, const char *name
, unsigned int mode
)
2669 return basic_filebuf_char_open(this, name
, mode
, SH_DENYNO
);
2672 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2673 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2674 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_overflow
, 8)
2675 int __thiscall
basic_filebuf_char_overflow(basic_filebuf_char
*this, int c
)
2677 char *ptr
, ch
= c
, *to_next
;
2678 const char *from_next
;
2682 TRACE("(%p %d)\n", this, c
);
2684 if(!basic_filebuf_char_is_open(this))
2690 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2693 MSVCP_basic_string_char_clear(this->str
);
2694 MSVCP_basic_string_char_append_len_ch(this->str
, 8, '\0');
2695 ptr
= this->str
->ptr
;
2696 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1, &from_next
,
2697 ptr
, ptr
+MSVCP_basic_string_char_length(this->str
), &to_next
);
2700 case CODECVT_partial
:
2701 if(from_next
== &ch
)
2704 if(!fwrite(ptr
, to_next
-ptr
, 1, this->file
))
2707 case CODECVT_noconv
:
2708 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2714 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2715 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2716 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_pbackfail
, 8)
2717 int __thiscall
basic_filebuf_char_pbackfail(basic_filebuf_char
*this, int c
)
2719 TRACE("(%p %d)\n", this, c
);
2721 if(!basic_filebuf_char_is_open(this))
2724 if(basic_streambuf_char_gptr(&this->base
)>basic_streambuf_char_eback(&this->base
)
2725 && (c
==EOF
|| (int)(unsigned char)basic_streambuf_char_gptr(&this->base
)[-1]==c
)) {
2726 basic_streambuf_char__Gndec(&this->base
);
2727 return c
==EOF
? !c
: c
;
2728 }else if(c
== EOF
) {
2730 }else if(!this->cvt
) {
2731 return ungetc(c
, this->file
);
2732 }else if(MSVCP_basic_string_char_length(this->str
)) {
2736 b
= e
+this->str
->size
-1;
2737 for(cur
= b
; cur
>=e
; cur
--) {
2738 if(ungetc(*cur
, this->file
) == EOF
) {
2739 for(; cur
<=b
; cur
++)
2744 MSVCP_basic_string_char_clear(this->str
);
2745 this->state
= this->state0
;
2752 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2753 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2754 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_uflow
, 4)
2755 int __thiscall
basic_filebuf_char_uflow(basic_filebuf_char
*this)
2758 const char *buf_next
;
2761 TRACE("(%p)\n", this);
2763 if(!basic_filebuf_char_is_open(this))
2766 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2767 return (unsigned char)*basic_streambuf_char__Gninc(&this->base
);
2769 c
= fgetc(this->file
);
2770 if(!this->cvt
|| c
==EOF
)
2773 MSVCP_basic_string_char_clear(this->str
);
2774 this->state0
= this->state
;
2776 MSVCP_basic_string_char_append_ch(this->str
, c
);
2777 this->state
= this->state0
;
2779 switch(codecvt_char_in(this->cvt
, &this->state
, this->str
->ptr
,
2780 this->str
->ptr
+this->str
->size
, &buf_next
, &ch
, &ch
+1, &to_next
)) {
2781 case CODECVT_partial
:
2783 case CODECVT_noconv
:
2784 return (unsigned char)this->str
->ptr
[0];
2786 return (unsigned char)ch
;
2791 c
= fgetc(this->file
);
2797 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2798 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2799 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_underflow
, 4)
2800 int __thiscall
basic_filebuf_char_underflow(basic_filebuf_char
*this)
2804 TRACE("(%p)\n", this);
2806 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2807 return (unsigned char)*basic_streambuf_char_gptr(&this->base
);
2809 ret
= call_basic_streambuf_char_uflow(&this->base
);
2811 ret
= call_basic_streambuf_char_pbackfail(&this->base
, ret
);
2815 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
2816 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
2817 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2818 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2819 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekoff
, 20)
2820 fpos_int
* __thiscall
basic_filebuf_char_seekoff(basic_filebuf_char
*this,
2821 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2825 TRACE("(%p %p %Id %d %d)\n", this, ret
, off
, way
, mode
);
2827 if(!basic_filebuf_char_is_open(this) || fseek(this->file
, off
, way
)) {
2834 fgetpos(this->file
, &pos
);
2837 ret
->state
= this->state
;
2841 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2842 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2843 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekpos
, 36)
2844 fpos_int
* __thiscall
basic_filebuf_char_seekpos(basic_filebuf_char
*this,
2845 fpos_int
*ret
, fpos_int pos
, int mode
)
2849 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
2851 if(!basic_filebuf_char_is_open(this) || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
2852 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
2859 fgetpos(this->file
, &fpos
);
2862 ret
->state
= this->state
;
2866 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z */
2867 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAD_J@Z */
2868 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_setbuf
, 12)
2869 basic_streambuf_char
* __thiscall
basic_filebuf_char_setbuf(basic_filebuf_char
*this, char *buf
, streamsize count
)
2871 TRACE("(%p %p %Id)\n", this, buf
, count
);
2873 if(!basic_filebuf_char_is_open(this))
2876 if(setvbuf(this->file
, buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
))
2879 basic_filebuf_char__Init(this, this->file
, INITFL_open
);
2883 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2884 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2885 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_sync
, 4)
2886 int __thiscall
basic_filebuf_char_sync(basic_filebuf_char
*this)
2888 TRACE("(%p)\n", this);
2890 if(!basic_filebuf_char_is_open(this))
2893 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2895 return fflush(this->file
);
2898 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
2899 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
2900 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_imbue
, 8)
2901 void __thiscall
basic_filebuf_char_imbue(basic_filebuf_char
*this, const locale
*loc
)
2903 TRACE("(%p %p)\n", this, loc
);
2904 basic_filebuf_char__Initcvt_cvt(this, codecvt_char_use_facet(loc
));
2907 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2908 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2909 int basic_filebuf_wchar__Init__Stinit
= 0;
2911 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2912 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2913 int basic_filebuf_short__Init__Stinit
= 0;
2915 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2916 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2917 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Init
, 12)
2918 void __thiscall
basic_filebuf_wchar__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2920 TRACE("(%p %p %d)\n", this, file
, which
);
2923 this->state0
= basic_filebuf_short__Init__Stinit
;
2924 this->state
= basic_filebuf_short__Init__Stinit
;
2925 if(which
== INITFL_new
)
2927 this->close
= (which
== INITFL_open
);
2930 basic_streambuf_wchar__Init_empty(&this->base
);
2933 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2934 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2935 DEFINE_THISCALL_WRAPPER(basic_filebuf_short__Init
, 12)
2936 void __thiscall
basic_filebuf_short__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2938 TRACE("(%p %p %d)\n", this, file
, which
);
2941 this->state0
= basic_filebuf_short__Init__Stinit
;
2942 this->state
= basic_filebuf_short__Init__Stinit
;
2943 if(which
== INITFL_new
)
2945 this->close
= (which
== INITFL_open
);
2948 basic_streambuf_wchar__Init_empty(&this->base
);
2951 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$codecvt@_WDH@2@@Z */
2952 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$codecvt@_WDH@2@@Z */
2953 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAV?$codecvt@GDH@2@@Z */
2954 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$codecvt@GDH@2@@Z */
2955 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Initcvt_cvt
, 8)
2956 void __thiscall
basic_filebuf_wchar__Initcvt_cvt(basic_filebuf_wchar
*this, codecvt_wchar
*cvt
)
2958 TRACE("(%p %p)\n", this, cvt
);
2960 if(codecvt_base_always_noconv(&cvt
->base
)) {
2963 basic_streambuf_wchar__Init_empty(&this->base
);
2968 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
2969 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
2970 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Initcvt
, 4)
2971 void __thiscall
basic_filebuf_wchar__Initcvt(basic_filebuf_wchar
*this)
2973 codecvt_wchar
*cvt
= codecvt_wchar_use_facet(IOS_LOCALE(&this->base
));
2974 basic_filebuf_wchar__Initcvt_cvt( this, cvt
);
2977 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@XZ */
2978 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@XZ */
2979 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ */
2980 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ */
2981 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_close
, 4)
2982 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_close(basic_filebuf_wchar
*this)
2984 basic_filebuf_wchar
*ret
= this;
2986 TRACE("(%p)\n", this);
2988 if(!this->file
|| fclose(this->file
))
2991 basic_filebuf_wchar__Init(this, NULL
, INITFL_close
);
2995 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
2996 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2997 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_file
, 8)
2998 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
3000 TRACE("(%p %p)\n", this, file
);
3002 basic_streambuf_wchar_ctor(&this->base
);
3003 this->base
.vtable
= &basic_filebuf_wchar_vtable
;
3005 locale_ctor(&this->loc
);
3006 basic_filebuf_wchar__Init(this, file
, INITFL_new
);
3010 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
3011 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
3012 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_file
, 8)
3013 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
3015 TRACE("(%p %p)\n", this, file
);
3017 basic_streambuf_short_ctor(&this->base
);
3018 this->base
.vtable
= &basic_filebuf_short_vtable
;
3020 locale_ctor(&this->loc
);
3021 basic_filebuf_short__Init(this, file
, INITFL_new
);
3025 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
3026 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
3027 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor
, 4)
3028 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor(basic_filebuf_wchar
*this)
3030 return basic_filebuf_wchar_ctor_file(this, NULL
);
3033 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
3034 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
3035 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor
, 4)
3036 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor(basic_filebuf_wchar
*this)
3038 return basic_filebuf_short_ctor_file(this, NULL
);
3041 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3042 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3043 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_uninitialized
, 8)
3044 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3046 TRACE("(%p %d)\n", this, uninitialized
);
3048 basic_streambuf_wchar_ctor(&this->base
);
3049 this->base
.vtable
= &basic_filebuf_wchar_vtable
;
3053 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3054 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3055 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_uninitialized
, 8)
3056 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3058 TRACE("(%p %d)\n", this, uninitialized
);
3060 basic_streambuf_short_ctor_uninitialized(&this->base
, 0);
3061 this->base
.vtable
= &basic_filebuf_short_vtable
;
3062 locale_ctor(&this->loc
);
3066 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
3067 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
3068 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
3069 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
3070 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_dtor
, 4)
3071 void __thiscall
basic_filebuf_wchar_dtor(basic_filebuf_wchar
*this)
3073 TRACE("(%p)\n", this);
3076 basic_filebuf_wchar_close(this);
3078 MSVCP_basic_string_char_dtor(this->str
);
3079 operator_delete(this->str
);
3081 locale_dtor(&this->loc
);
3082 basic_streambuf_wchar_dtor(&this->base
);
3085 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_vector_dtor
, 8)
3086 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_vector_dtor(basic_filebuf_wchar
*this, unsigned int flags
)
3088 TRACE("(%p %x)\n", this, flags
);
3090 /* we have an array, with the number of elements stored before the first object */
3091 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
3093 for(i
=*ptr
-1; i
>=0; i
--)
3094 basic_filebuf_wchar_dtor(this+i
);
3095 operator_delete(ptr
);
3097 basic_filebuf_wchar_dtor(this);
3099 operator_delete(this);
3105 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
3106 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
3107 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ */
3108 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
3109 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_is_open
, 4)
3110 bool __thiscall
basic_filebuf_wchar_is_open(const basic_filebuf_wchar
*this)
3112 TRACE("(%p)\n", this);
3113 return this->file
!= NULL
;
3116 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WHH@Z */
3117 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3118 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGHH@Z */
3119 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3120 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar
, 16)
3121 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3125 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3127 if(basic_filebuf_wchar_is_open(this))
3130 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3133 basic_filebuf_wchar__Init(this, f
, INITFL_open
);
3134 basic_filebuf_wchar__Initcvt_cvt(this, codecvt_wchar_use_facet(IOS_LOCALE(&this->base
)));
3138 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WHH@Z */
3139 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3140 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGHH@Z */
3141 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3142 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar
, 16)
3143 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3147 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3149 if(basic_filebuf_wchar_is_open(this))
3152 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3155 basic_filebuf_short__Init(this, f
, INITFL_open
);
3156 basic_filebuf_wchar__Initcvt_cvt(this, codecvt_short_use_facet(IOS_LOCALE(&this->base
)));
3160 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WI@Z */
3161 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3162 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGI@Z */
3163 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGI@Z */
3164 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar_mode
, 12)
3165 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3167 return basic_filebuf_wchar_open_wchar(this, name
, mode
, SH_DENYNO
);
3170 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WI@Z */
3171 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3172 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGI@Z */
3173 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGI@Z */
3174 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar_mode
, 12)
3175 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3177 return basic_filebuf_short_open_wchar(this, name
, mode
, SH_DENYNO
);
3180 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDHH@Z */
3181 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3182 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open
, 16)
3183 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3185 wchar_t nameW
[FILENAME_MAX
];
3187 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3189 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3191 return basic_filebuf_wchar_open_wchar(this, nameW
, mode
, prot
);
3194 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDHH@Z */
3195 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3196 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open
, 16)
3197 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3199 wchar_t nameW
[FILENAME_MAX
];
3201 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3203 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3205 return basic_filebuf_short_open_wchar(this, nameW
, mode
, prot
);
3208 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDF@Z */
3209 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDF@Z */
3210 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_mode_old
, 12)
3211 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_mode_old(basic_filebuf_wchar
*this, const char *name
, short mode
)
3213 TRACE("(%p %p %d)\n", this, name
, mode
);
3214 return basic_filebuf_wchar_open(this, name
, mode
, SH_DENYNO
);
3217 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z */
3218 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDH@Z */
3219 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDI@Z */
3220 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDI@Z */
3221 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_mode
, 12)
3222 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3224 return basic_filebuf_wchar_open(this, name
, mode
, SH_DENYNO
);
3227 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDI@Z */
3228 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDI@Z */
3229 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_mode
, 12)
3230 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3232 return basic_filebuf_short_open(this, name
, mode
, SH_DENYNO
);
3235 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3236 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3237 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3238 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3239 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_overflow
, 8)
3240 unsigned short __thiscall
basic_filebuf_wchar_overflow(basic_filebuf_wchar
*this, unsigned short c
)
3242 char *ptr
, *to_next
;
3244 const wchar_t *from_next
;
3248 TRACE("(%p %d)\n", this, c
);
3250 if(!basic_filebuf_wchar_is_open(this))
3256 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3259 MSVCP_basic_string_char_clear(this->str
);
3260 MSVCP_basic_string_char_append_len_ch(this->str
, 8, '\0');
3261 ptr
= this->str
->ptr
;
3262 ret
= codecvt_wchar_out(this->cvt
, &this->state
, &ch
, &ch
+1, &from_next
,
3263 ptr
, ptr
+MSVCP_basic_string_char_length(this->str
), &to_next
);
3266 case CODECVT_partial
:
3267 if(from_next
== &ch
)
3271 if(!fwrite(ptr
, to_next
-ptr
, 1, this->file
))
3274 case CODECVT_noconv
:
3275 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3281 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3282 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3283 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3284 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3285 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_pbackfail
, 8)
3286 unsigned short __thiscall
basic_filebuf_wchar_pbackfail(basic_filebuf_wchar
*this, unsigned short c
)
3288 TRACE("(%p %d)\n", this, c
);
3290 if(!basic_filebuf_wchar_is_open(this))
3293 if(basic_streambuf_wchar_gptr(&this->base
)>basic_streambuf_wchar_eback(&this->base
)
3294 && (c
==WEOF
|| basic_streambuf_wchar_gptr(&this->base
)[-1]==c
)) {
3295 basic_streambuf_wchar__Gndec(&this->base
);
3296 return c
==WEOF
? !c
: c
;
3297 }else if(c
== WEOF
) {
3299 }else if(!this->cvt
) {
3300 return ungetwc(c
, this->file
);
3301 }else if(MSVCP_basic_string_char_length(this->str
)) {
3305 b
= e
+this->str
->size
-1;
3306 for(cur
= b
; cur
>=e
; cur
--) {
3307 if(ungetc(*cur
, this->file
) == EOF
) {
3308 for(; cur
<=b
; cur
++)
3313 MSVCP_basic_string_char_clear(this->str
);
3314 this->state
= this->state0
;
3321 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3322 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3323 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3324 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3325 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_uflow
, 4)
3326 unsigned short __thiscall
basic_filebuf_wchar_uflow(basic_filebuf_wchar
*this)
3328 wchar_t ch
, *to_next
;
3329 const char *buf_next
;
3332 TRACE("(%p)\n", this);
3334 if(!basic_filebuf_wchar_is_open(this))
3337 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3338 return *basic_streambuf_wchar__Gninc(&this->base
);
3341 return fgetwc(this->file
);
3343 MSVCP_basic_string_char_clear(this->str
);
3344 this->state0
= this->state
;
3346 if((c
= fgetc(this->file
)) == EOF
)
3348 MSVCP_basic_string_char_append_ch(this->str
, c
);
3349 this->state
= this->state0
;
3351 switch(codecvt_wchar_in(this->cvt
, &this->state
, this->str
->ptr
,
3352 this->str
->ptr
+this->str
->size
, &buf_next
, &ch
, &ch
+1, &to_next
)) {
3353 case CODECVT_partial
:
3355 case CODECVT_noconv
:
3356 if(this->str
->size
< sizeof(unsigned short)/sizeof(char))
3358 return *(unsigned short*)this->str
->ptr
;
3360 return (unsigned short)ch
;
3367 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3368 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3369 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3370 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3371 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_underflow
, 4)
3372 unsigned short __thiscall
basic_filebuf_wchar_underflow(basic_filebuf_wchar
*this)
3376 TRACE("(%p)\n", this);
3378 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3379 return *basic_streambuf_wchar_gptr(&this->base
);
3381 ret
= call_basic_streambuf_wchar_uflow(&this->base
);
3383 ret
= call_basic_streambuf_wchar_pbackfail(&this->base
, ret
);
3387 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
3388 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
3389 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3390 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3391 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3392 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3393 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekoff
, 20)
3394 fpos_int
* __thiscall
basic_filebuf_wchar_seekoff(basic_filebuf_wchar
*this,
3395 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3399 TRACE("(%p %p %Id %d %d)\n", this, ret
, off
, way
, mode
);
3401 if(!basic_filebuf_wchar_is_open(this) || fseek(this->file
, off
, way
)) {
3408 fgetpos(this->file
, &pos
);
3411 ret
->state
= this->state
;
3415 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3416 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3417 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3418 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3419 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekpos
, 36)
3420 fpos_int
* __thiscall
basic_filebuf_wchar_seekpos(basic_filebuf_wchar
*this,
3421 fpos_int
*ret
, fpos_int pos
, int mode
)
3425 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3427 if(!basic_filebuf_wchar_is_open(this) || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
3428 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
3435 fgetpos(this->file
, &fpos
);
3438 ret
->state
= this->state
;
3442 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PA_WH@Z */
3443 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEA_W_J@Z */
3444 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_setbuf
, 12)
3445 basic_streambuf_wchar
* __thiscall
basic_filebuf_wchar_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3447 TRACE("(%p %p %Id)\n", this, buf
, count
);
3449 if(!basic_filebuf_wchar_is_open(this))
3452 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3455 basic_filebuf_wchar__Init(this, this->file
, INITFL_open
);
3459 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z */
3460 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAG_J@Z */
3461 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_setbuf
, 12)
3462 basic_streambuf_wchar
* __thiscall
basic_filebuf_short_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3464 TRACE("(%p %p %Id)\n", this, buf
, count
);
3466 if(!basic_filebuf_wchar_is_open(this))
3469 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3472 basic_filebuf_short__Init(this, this->file
, INITFL_open
);
3476 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
3477 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
3478 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
3479 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
3480 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_sync
, 4)
3481 int __thiscall
basic_filebuf_wchar_sync(basic_filebuf_wchar
*this)
3483 TRACE("(%p)\n", this);
3485 if(!basic_filebuf_wchar_is_open(this))
3488 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
3490 return fflush(this->file
);
3493 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
3494 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
3495 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_imbue
, 8)
3496 void __thiscall
basic_filebuf_wchar_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3498 TRACE("(%p %p)\n", this, loc
);
3499 basic_filebuf_wchar__Initcvt_cvt(this, codecvt_wchar_use_facet(loc
));
3502 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
3503 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
3504 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_imbue
, 8)
3505 void __thiscall
basic_filebuf_short_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3507 TRACE("(%p %p)\n", this, loc
);
3508 basic_filebuf_wchar__Initcvt_cvt(this, codecvt_short_use_facet(loc
));
3511 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z */
3512 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z */
3513 /* ?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z */
3514 /* ?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z */
3515 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Getstate
, 8)
3516 int __thiscall
basic_stringbuf_char__Getstate(basic_stringbuf_char
*this, IOSB_openmode mode
)
3520 if(!(mode
& OPENMODE_in
))
3521 state
|= STRINGBUF_no_read
;
3523 if(!(mode
& OPENMODE_out
))
3524 state
|= STRINGBUF_no_write
;
3526 if(mode
& OPENMODE_ate
)
3527 state
|= STRINGBUF_at_end
;
3529 if(mode
& OPENMODE_app
)
3530 state
|= STRINGBUF_append
;
3535 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z */
3536 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z */
3537 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Init
, 16)
3538 void __thiscall
basic_stringbuf_char__Init(basic_stringbuf_char
*this, const char *str
, size_t count
, int state
)
3540 TRACE("(%p, %p, %Iu, %d)\n", this, str
, count
, state
);
3542 basic_streambuf_char__Init_empty(&this->base
);
3544 this->state
= state
;
3545 this->seekhigh
= NULL
;
3548 char *buf
= operator_new(count
);
3550 memcpy(buf
, str
, count
);
3551 this->seekhigh
= buf
+ count
;
3553 this->state
|= STRINGBUF_allocated
;
3555 if(!(state
& STRINGBUF_no_read
))
3556 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+ count
);
3558 if(!(state
& STRINGBUF_no_write
)) {
3559 basic_streambuf_char_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3561 if(!basic_streambuf_char_gptr(&this->base
))
3562 basic_streambuf_char_setg(&this->base
, buf
, 0, buf
);
3567 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
3568 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
3569 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_str
, 12)
3570 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_str(basic_stringbuf_char
*this,
3571 const basic_string_char
*str
, IOSB_openmode mode
)
3573 TRACE("(%p %p %d)\n", this, str
, mode
);
3575 basic_streambuf_char_ctor(&this->base
);
3576 this->base
.vtable
= &basic_stringbuf_char_vtable
;
3578 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
),
3579 str
->size
, basic_stringbuf_char__Getstate(this, mode
));
3583 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
3584 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
3585 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_mode
, 8)
3586 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_mode(
3587 basic_stringbuf_char
*this, IOSB_openmode mode
)
3589 TRACE("(%p %d)\n", this, mode
);
3591 basic_streambuf_char_ctor(&this->base
);
3592 this->base
.vtable
= &basic_stringbuf_char_vtable
;
3594 basic_stringbuf_char__Init(this, NULL
, 0, basic_stringbuf_char__Getstate(this, mode
));
3598 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
3599 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
3600 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor
, 4)
3601 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor(basic_stringbuf_char
*this)
3603 return basic_stringbuf_char_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3606 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ */
3607 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ */
3608 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Tidy
, 4)
3609 void __thiscall
basic_stringbuf_char__Tidy(basic_stringbuf_char
*this)
3611 TRACE("(%p)\n", this);
3613 if(this->state
& STRINGBUF_allocated
) {
3614 operator_delete(basic_streambuf_char_eback(&this->base
));
3615 this->seekhigh
= NULL
;
3616 this->state
&= ~STRINGBUF_allocated
;
3619 basic_streambuf_char__Init_empty(&this->base
);
3622 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
3623 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
3624 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_dtor
, 4)
3625 void __thiscall
basic_stringbuf_char_dtor(basic_stringbuf_char
*this)
3627 TRACE("(%p)\n", this);
3629 basic_stringbuf_char__Tidy(this);
3630 basic_streambuf_char_dtor(&this->base
);
3633 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_vector_dtor
, 8)
3634 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_vector_dtor(basic_stringbuf_char
*this, unsigned int flags
)
3636 TRACE("(%p %x)\n", this, flags
);
3639 /* we have an array, with the number of elements stored before the first object */
3640 INT_PTR i
, *ptr
= (INT_PTR
*) this - 1;
3642 for (i
= *ptr
- 1; i
>= 0; i
--)
3643 basic_stringbuf_char_dtor(this+i
);
3645 operator_delete(ptr
);
3647 basic_stringbuf_char_dtor(this);
3650 operator_delete(this);
3656 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3657 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3658 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_overflow
, 8)
3659 int __thiscall
basic_stringbuf_char_overflow(basic_stringbuf_char
*this, int meta
)
3661 size_t oldsize
, size
;
3664 TRACE("(%p %x)\n", this, meta
);
3668 if(this->state
& STRINGBUF_no_write
)
3671 ptr
= basic_streambuf_char_pptr(&this->base
);
3672 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
3673 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
3674 this->seekhigh
, basic_streambuf_char_epptr(&this->base
));
3676 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
3677 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = meta
);
3679 oldsize
= (ptr
? basic_streambuf_char_epptr(&this->base
)-basic_streambuf_char_eback(&this->base
): 0);
3682 buf
= operator_new(size
);
3685 this->seekhigh
= buf
;
3686 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
3687 if(this->state
& STRINGBUF_no_read
)
3688 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3690 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+1);
3692 this->state
|= STRINGBUF_allocated
;
3694 ptr
= basic_streambuf_char_eback(&this->base
);
3695 memcpy(buf
, ptr
, oldsize
);
3697 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
3698 basic_streambuf_char_setp_next(&this->base
, buf
,
3699 buf
+(basic_streambuf_char_pptr(&this->base
)-ptr
), buf
+size
);
3700 if(this->state
& STRINGBUF_no_read
)
3701 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3703 basic_streambuf_char_setg(&this->base
, buf
,
3704 buf
+(basic_streambuf_char_gptr(&this->base
)-ptr
),
3705 basic_streambuf_char_pptr(&this->base
)+1);
3707 operator_delete(ptr
);
3710 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = meta
);
3713 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3714 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3715 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_pbackfail
, 8)
3716 int __thiscall
basic_stringbuf_char_pbackfail(basic_stringbuf_char
*this, int c
)
3720 TRACE("(%p %x)\n", this, c
);
3722 cur
= basic_streambuf_char_gptr(&this->base
);
3723 if(!cur
|| cur
==basic_streambuf_char_eback(&this->base
)
3724 || (c
!=EOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
3729 basic_streambuf_char_gbump(&this->base
, -1);
3730 return c
==EOF
? !EOF
: c
;
3733 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ */
3734 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ */
3735 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_underflow
, 4)
3736 int __thiscall
basic_stringbuf_char_underflow(basic_stringbuf_char
*this)
3740 TRACE("(%p)\n", this);
3742 cur
= basic_streambuf_char_gptr(&this->base
);
3743 if(!cur
|| this->state
&STRINGBUF_no_read
)
3746 ptr
= basic_streambuf_char_pptr(&this->base
);
3747 if(this->seekhigh
< ptr
)
3748 this->seekhigh
= ptr
;
3750 ptr
= basic_streambuf_char_egptr(&this->base
);
3751 if(this->seekhigh
> ptr
)
3752 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
), cur
, this->seekhigh
);
3754 if(cur
< this->seekhigh
)
3755 return (unsigned char)*cur
;
3759 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
3760 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
3761 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3762 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3763 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekoff
, 20)
3764 fpos_int
* __thiscall
basic_stringbuf_char_seekoff(basic_stringbuf_char
*this,
3765 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3767 char *beg
, *cur_r
, *cur_w
;
3769 TRACE("(%p %p %Id %d %d)\n", this, ret
, off
, way
, mode
);
3771 cur_w
= basic_streambuf_char_pptr(&this->base
);
3772 if(cur_w
> this->seekhigh
)
3773 this->seekhigh
= cur_w
;
3779 beg
= basic_streambuf_char_eback(&this->base
);
3780 cur_r
= basic_streambuf_char_gptr(&this->base
);
3781 if((mode
& OPENMODE_in
) && cur_r
) {
3782 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
3784 else if(way
== SEEKDIR_end
)
3785 off
+= this->seekhigh
-beg
;
3786 else if(way
!= SEEKDIR_beg
)
3789 if(off
<0 || off
>this->seekhigh
-beg
) {
3792 basic_streambuf_char_gbump(&this->base
, beg
-cur_r
+off
);
3793 if((mode
& OPENMODE_out
) && cur_w
) {
3794 basic_streambuf_char_setp_next(&this->base
, beg
,
3795 basic_streambuf_char_gptr(&this->base
),
3796 basic_streambuf_char_epptr(&this->base
));
3799 }else if((mode
& OPENMODE_out
) && cur_w
) {
3800 if(way
== SEEKDIR_cur
)
3802 else if(way
== SEEKDIR_end
)
3803 off
+= this->seekhigh
-beg
;
3804 else if(way
!= SEEKDIR_beg
)
3807 if(off
<0 || off
>this->seekhigh
-beg
)
3810 basic_streambuf_char_pbump(&this->base
, beg
-cur_w
+off
);
3819 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3820 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3821 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekpos
, 36)
3822 fpos_int
* __thiscall
basic_stringbuf_char_seekpos(basic_stringbuf_char
*this,
3823 fpos_int
*ret
, fpos_int pos
, int mode
)
3825 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3827 if(pos
.off
==-1 && pos
.pos
==0 && pos
.state
==0) {
3832 return basic_stringbuf_char_seekoff(this, ret
, pos
.pos
+pos
.off
, SEEKDIR_beg
, mode
);
3835 /* ?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
3836 /* ?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
3837 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_set
, 8)
3838 void __thiscall
basic_stringbuf_char_str_set(basic_stringbuf_char
*this, const basic_string_char
*str
)
3840 TRACE("(%p %p)\n", this, str
);
3842 basic_stringbuf_char__Tidy(this);
3843 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
), str
->size
, this->state
);
3846 /* ?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
3847 /* ?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
3848 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_get
, 8)
3849 basic_string_char
* __thiscall
basic_stringbuf_char_str_get(const basic_stringbuf_char
*this, basic_string_char
*ret
)
3853 TRACE("(%p)\n", this);
3855 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_char_pptr(&this->base
)) {
3858 ptr
= basic_streambuf_char_pbase(&this->base
);
3859 pptr
= basic_streambuf_char_pptr(&this->base
);
3861 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
3864 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_char_gptr(&this->base
)) {
3865 ptr
= basic_streambuf_char_eback(&this->base
);
3866 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, basic_streambuf_char_egptr(&this->base
) - ptr
);
3869 return MSVCP_basic_string_char_ctor(ret
);
3872 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEHH@Z */
3873 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEAAHH@Z */
3874 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z */
3875 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z */
3876 /* ?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z */
3877 /* ?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z */
3878 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Getstate
, 8)
3879 int __thiscall
basic_stringbuf_wchar__Getstate(basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3883 if(!(mode
& OPENMODE_in
))
3884 state
|= STRINGBUF_no_read
;
3886 if(!(mode
& OPENMODE_out
))
3887 state
|= STRINGBUF_no_write
;
3889 if(mode
& OPENMODE_ate
)
3890 state
|= STRINGBUF_at_end
;
3892 if(mode
& OPENMODE_app
)
3893 state
|= STRINGBUF_append
;
3898 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXPB_WIH@Z */
3899 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXPEB_W_KH@Z */
3900 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z */
3901 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z */
3902 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Init
, 16)
3903 void __thiscall
basic_stringbuf_wchar__Init(basic_stringbuf_wchar
*this, const wchar_t *str
, size_t count
, int state
)
3905 TRACE("(%p, %p, %Iu, %d)\n", this, str
, count
, state
);
3907 basic_streambuf_wchar__Init_empty(&this->base
);
3909 this->state
= state
;
3910 this->seekhigh
= NULL
;
3913 wchar_t *buf
= operator_new(count
*sizeof(wchar_t));
3915 memcpy(buf
, str
, count
*sizeof(wchar_t));
3916 this->seekhigh
= buf
+ count
;
3918 this->state
|= STRINGBUF_allocated
;
3920 if(!(state
& STRINGBUF_no_read
))
3921 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+ count
);
3923 if(!(state
& STRINGBUF_no_write
)) {
3924 basic_streambuf_wchar_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3926 if(!basic_streambuf_wchar_gptr(&this->base
))
3927 basic_streambuf_wchar_setg(&this->base
, buf
, 0, buf
);
3932 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@H@Z */
3933 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@AEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@H@Z */
3934 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_str
, 12)
3935 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_str(basic_stringbuf_wchar
*this,
3936 const basic_string_wchar
*str
, IOSB_openmode mode
)
3938 TRACE("(%p %p %d)\n", this, str
, mode
);
3940 basic_streambuf_wchar_ctor(&this->base
);
3941 this->base
.vtable
= &basic_stringbuf_wchar_vtable
;
3943 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
),
3944 str
->size
, basic_stringbuf_wchar__Getstate(this, mode
));
3948 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
3949 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
3950 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_str
, 12)
3951 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_str(basic_stringbuf_wchar
*this,
3952 const basic_string_wchar
*str
, IOSB_openmode mode
)
3954 basic_stringbuf_wchar_ctor_str(this, str
, mode
);
3955 this->base
.vtable
= &basic_stringbuf_short_vtable
;
3959 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
3960 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
3961 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_mode
, 8)
3962 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_mode(
3963 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3965 TRACE("(%p %d)\n", this, mode
);
3967 basic_streambuf_wchar_ctor(&this->base
);
3968 this->base
.vtable
= &basic_stringbuf_wchar_vtable
;
3970 basic_stringbuf_wchar__Init(this, NULL
, 0, basic_stringbuf_wchar__Getstate(this, mode
));
3974 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
3975 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
3976 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_mode
, 8)
3977 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_mode(
3978 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3980 basic_stringbuf_wchar_ctor_mode(this, mode
);
3981 this->base
.vtable
= &basic_stringbuf_short_vtable
;
3985 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
3986 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
3987 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor
, 4)
3988 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor(basic_stringbuf_wchar
*this)
3990 return basic_stringbuf_wchar_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3993 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
3994 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
3995 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor
, 4)
3996 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor(basic_stringbuf_wchar
*this)
3998 return basic_stringbuf_short_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
4001 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXXZ */
4002 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXXZ */
4003 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ */
4004 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ */
4005 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Tidy
, 4)
4006 void __thiscall
basic_stringbuf_wchar__Tidy(basic_stringbuf_wchar
*this)
4008 TRACE("(%p)\n", this);
4010 if(this->state
& STRINGBUF_allocated
) {
4011 operator_delete(basic_streambuf_wchar_eback(&this->base
));
4012 this->seekhigh
= NULL
;
4013 this->state
&= ~STRINGBUF_allocated
;
4016 basic_streambuf_wchar__Init_empty(&this->base
);
4019 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
4020 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
4021 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
4022 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
4023 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_dtor
, 4)
4024 void __thiscall
basic_stringbuf_wchar_dtor(basic_stringbuf_wchar
*this)
4026 TRACE("(%p)\n", this);
4028 basic_stringbuf_wchar__Tidy(this);
4029 basic_streambuf_wchar_dtor(&this->base
);
4032 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_vector_dtor
, 8)
4033 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_vector_dtor(basic_stringbuf_wchar
*this, unsigned int flags
)
4035 TRACE("(%p %x)\n", this, flags
);
4038 /* we have an array, with the number of elements stored before the first object */
4039 INT_PTR i
, *ptr
= (INT_PTR
*) this - 1;
4041 for (i
= *ptr
- 1; i
>= 0; i
--)
4042 basic_stringbuf_wchar_dtor(this+i
);
4044 operator_delete(ptr
);
4046 basic_stringbuf_wchar_dtor(this);
4049 operator_delete(this);
4055 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4056 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4057 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4058 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4059 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_overflow
, 8)
4060 unsigned short __thiscall
basic_stringbuf_wchar_overflow(basic_stringbuf_wchar
*this, unsigned short meta
)
4062 size_t oldsize
, size
;
4065 TRACE("(%p %x)\n", this, meta
);
4069 if(this->state
& STRINGBUF_no_write
)
4072 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4073 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
4074 basic_streambuf_wchar_setp_next(&this->base
, basic_streambuf_wchar_pbase(&this->base
),
4075 this->seekhigh
, basic_streambuf_wchar_epptr(&this->base
));
4077 if(ptr
&& ptr
<basic_streambuf_wchar_epptr(&this->base
))
4078 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4080 oldsize
= (ptr
? basic_streambuf_wchar_epptr(&this->base
)-basic_streambuf_wchar_eback(&this->base
): 0);
4083 buf
= operator_new(size
*sizeof(wchar_t));
4086 this->seekhigh
= buf
;
4087 basic_streambuf_wchar_setp(&this->base
, buf
, buf
+size
);
4088 if(this->state
& STRINGBUF_no_read
)
4089 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4091 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+1);
4093 this->state
|= STRINGBUF_allocated
;
4095 ptr
= basic_streambuf_wchar_eback(&this->base
);
4096 memcpy(buf
, ptr
, oldsize
*sizeof(wchar_t));
4098 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
4099 basic_streambuf_wchar_setp_next(&this->base
, buf
,
4100 buf
+(basic_streambuf_wchar_pptr(&this->base
)-ptr
), buf
+size
);
4101 if(this->state
& STRINGBUF_no_read
)
4102 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4104 basic_streambuf_wchar_setg(&this->base
, buf
,
4105 buf
+(basic_streambuf_wchar_gptr(&this->base
)-ptr
),
4106 basic_streambuf_wchar_pptr(&this->base
)+1);
4108 operator_delete(ptr
);
4111 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4114 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4115 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4116 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4117 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4118 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_pbackfail
, 8)
4119 unsigned short __thiscall
basic_stringbuf_wchar_pbackfail(basic_stringbuf_wchar
*this, unsigned short c
)
4123 TRACE("(%p %x)\n", this, c
);
4125 cur
= basic_streambuf_wchar_gptr(&this->base
);
4126 if(!cur
|| cur
==basic_streambuf_wchar_eback(&this->base
)
4127 || (c
!=WEOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
4132 basic_streambuf_wchar_gbump(&this->base
, -1);
4133 return c
==WEOF
? !WEOF
: c
;
4136 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGXZ */
4137 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGXZ */
4138 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ */
4139 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ */
4140 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_underflow
, 4)
4141 unsigned short __thiscall
basic_stringbuf_wchar_underflow(basic_stringbuf_wchar
*this)
4145 TRACE("(%p)\n", this);
4147 cur
= basic_streambuf_wchar_gptr(&this->base
);
4148 if(!cur
|| this->state
&STRINGBUF_no_read
)
4151 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4152 if(this->seekhigh
< ptr
)
4153 this->seekhigh
= ptr
;
4155 ptr
= basic_streambuf_wchar_egptr(&this->base
);
4156 if(this->seekhigh
> ptr
)
4157 basic_streambuf_wchar_setg(&this->base
, basic_streambuf_wchar_eback(&this->base
), cur
, this->seekhigh
);
4159 if(cur
< this->seekhigh
)
4164 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
4165 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
4166 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4167 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4168 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4169 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4170 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekoff
, 20)
4171 fpos_int
* __thiscall
basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar
*this,
4172 fpos_int
*ret
, streamoff off
, int way
, int mode
)
4174 wchar_t *beg
, *cur_r
, *cur_w
;
4176 TRACE("(%p %p %Id %d %d)\n", this, ret
, off
, way
, mode
);
4178 cur_w
= basic_streambuf_wchar_pptr(&this->base
);
4179 if(cur_w
> this->seekhigh
)
4180 this->seekhigh
= cur_w
;
4186 beg
= basic_streambuf_wchar_eback(&this->base
);
4187 cur_r
= basic_streambuf_wchar_gptr(&this->base
);
4188 if((mode
& OPENMODE_in
) && cur_r
) {
4189 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
4191 else if(way
== SEEKDIR_end
)
4192 off
+= this->seekhigh
-beg
;
4193 else if(way
!= SEEKDIR_beg
)
4196 if(off
<0 || off
>this->seekhigh
-beg
) {
4199 basic_streambuf_wchar_gbump(&this->base
, beg
-cur_r
+off
);
4200 if((mode
& OPENMODE_out
) && cur_w
) {
4201 basic_streambuf_wchar_setp_next(&this->base
, beg
,
4202 basic_streambuf_wchar_gptr(&this->base
),
4203 basic_streambuf_wchar_epptr(&this->base
));
4206 }else if((mode
& OPENMODE_out
) && cur_w
) {
4207 if(way
== SEEKDIR_cur
)
4209 else if(way
== SEEKDIR_end
)
4210 off
+= this->seekhigh
-beg
;
4211 else if(way
!= SEEKDIR_beg
)
4214 if(off
<0 || off
>this->seekhigh
-beg
)
4217 basic_streambuf_wchar_pbump(&this->base
, beg
-cur_w
+off
);
4226 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4227 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4228 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4229 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4230 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekpos
, 36)
4231 fpos_int
* __thiscall
basic_stringbuf_wchar_seekpos(basic_stringbuf_wchar
*this,
4232 fpos_int
*ret
, fpos_int pos
, int mode
)
4234 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
4236 if(pos
.off
==-1 && pos
.pos
==0 && pos
.state
==0) {
4241 return basic_stringbuf_wchar_seekoff(this, ret
, pos
.pos
+pos
.off
, SEEKDIR_beg
, mode
);
4244 /* ?str@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
4245 /* ?str@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXAEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
4246 /* ?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
4247 /* ?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
4248 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_set
, 8)
4249 void __thiscall
basic_stringbuf_wchar_str_set(basic_stringbuf_wchar
*this, const basic_string_wchar
*str
)
4251 TRACE("(%p %p)\n", this, str
);
4253 basic_stringbuf_wchar__Tidy(this);
4254 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
), str
->size
, this->state
);
4257 /* ?str@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
4258 /* ?str@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
4259 /* ?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
4260 /* ?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
4261 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_get
, 8)
4262 basic_string_wchar
* __thiscall
basic_stringbuf_wchar_str_get(const basic_stringbuf_wchar
*this, basic_string_wchar
*ret
)
4266 TRACE("(%p)\n", this);
4268 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_wchar_pptr(&this->base
)) {
4271 ptr
= basic_streambuf_wchar_pbase(&this->base
);
4272 pptr
= basic_streambuf_wchar_pptr(&this->base
);
4274 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
4277 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_wchar_gptr(&this->base
)) {
4278 ptr
= basic_streambuf_wchar_eback(&this->base
);
4279 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, basic_streambuf_wchar_egptr(&this->base
) - ptr
);
4282 return MSVCP_basic_string_wchar_ctor(ret
);
4285 /* ??0ios_base@std@@IAE@XZ */
4286 /* ??0ios_base@std@@IEAA@XZ */
4287 DEFINE_THISCALL_WRAPPER(ios_base_ctor
, 4)
4288 ios_base
* __thiscall
ios_base_ctor(ios_base
*this)
4290 TRACE("(%p)\n", this);
4291 this->vtable
= &ios_base_vtable
;
4292 locale_ctor_uninitialized(IOS_LOCALE(this), 0);
4296 /* ??0ios_base@std@@QAE@ABV01@@Z */
4297 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
4298 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor
, 8)
4299 ios_base
* __thiscall
ios_base_copy_ctor(ios_base
*this, const ios_base
*copy
)
4301 TRACE("(%p %p)\n", this, copy
);
4303 this->vtable
= &ios_base_vtable
;
4307 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
4308 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
4309 DEFINE_THISCALL_WRAPPER(ios_base_Callfns
, 8)
4310 void __thiscall
ios_base_Callfns(ios_base
*this, IOS_BASE_event event
)
4312 IOS_BASE_fnarray
*cur
;
4314 TRACE("(%p %x)\n", this, event
);
4316 for(cur
=this->calls
; cur
; cur
=cur
->next
)
4317 cur
->event_handler(event
, this, cur
->index
);
4320 /* ?_Tidy@ios_base@std@@AAAXXZ */
4321 /* ?_Tidy@ios_base@std@@AEAAXXZ */
4322 void __cdecl
ios_base_Tidy(ios_base
*this)
4324 IOS_BASE_iosarray
*arr_cur
, *arr_next
;
4325 IOS_BASE_fnarray
*event_cur
, *event_next
;
4327 TRACE("(%p)\n", this);
4329 ios_base_Callfns(this, EVENT_erase_event
);
4331 for(arr_cur
=this->arr
; arr_cur
; arr_cur
=arr_next
) {
4332 arr_next
= arr_cur
->next
;
4333 operator_delete(arr_cur
);
4337 for(event_cur
=this->calls
; event_cur
; event_cur
=event_next
) {
4338 event_next
= event_cur
->next
;
4339 operator_delete(event_cur
);
4344 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
4345 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
4346 void __cdecl
ios_base_Ios_base_dtor(ios_base
*obj
)
4348 TRACE("(%p)\n", obj
);
4349 locale_dtor(IOS_LOCALE(obj
));
4353 /* ??1ios_base@std@@UAE@XZ */
4354 /* ??1ios_base@std@@UEAA@XZ */
4355 DEFINE_THISCALL_WRAPPER(ios_base_dtor
, 4)
4356 void __thiscall
ios_base_dtor(ios_base
*this)
4358 ios_base_Ios_base_dtor(this);
4361 DEFINE_THISCALL_WRAPPER(ios_base_vector_dtor
, 8)
4362 ios_base
* __thiscall
ios_base_vector_dtor(ios_base
*this, unsigned int flags
)
4364 TRACE("(%p %x)\n", this, flags
);
4366 /* we have an array, with the number of elements stored before the first object */
4367 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
4369 for(i
=*ptr
-1; i
>=0; i
--)
4370 ios_base_dtor(this+i
);
4371 operator_delete(ptr
);
4373 ios_base_dtor(this);
4375 operator_delete(this);
4381 DEFINE_THISCALL_WRAPPER(iosb_vector_dtor
, 8)
4382 void* __thiscall
iosb_vector_dtor(void *this, unsigned int flags
)
4384 TRACE("(%p %x)\n", this, flags
);
4386 INT_PTR
*ptr
= (INT_PTR
*)this-1;
4387 operator_delete(ptr
);
4390 operator_delete(this);
4396 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
4397 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
4398 DEFINE_THISCALL_WRAPPER(ios_base_Findarr
, 8)
4399 IOS_BASE_iosarray
* __thiscall
ios_base_Findarr(ios_base
*this, int index
)
4401 IOS_BASE_iosarray
*p
;
4403 TRACE("(%p %d)\n", this, index
);
4405 for(p
=this->arr
; p
; p
=p
->next
) {
4406 if(p
->index
== index
)
4410 for(p
=this->arr
; p
; p
=p
->next
) {
4411 if(!p
->long_val
&& !p
->ptr_val
) {
4417 p
= operator_new(sizeof(IOS_BASE_iosarray
));
4418 p
->next
= this->arr
;
4426 /* ?iword@ios_base@std@@QAEAAJH@Z */
4427 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
4428 DEFINE_THISCALL_WRAPPER(ios_base_iword
, 8)
4429 LONG
* __thiscall
ios_base_iword(ios_base
*this, int index
)
4431 TRACE("(%p %d)\n", this, index
);
4432 return &ios_base_Findarr(this, index
)->long_val
;
4435 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
4436 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
4437 DEFINE_THISCALL_WRAPPER(ios_base_pword
, 8)
4438 void** __thiscall
ios_base_pword(ios_base
*this, int index
)
4440 TRACE("(%p %d)\n", this, index
);
4441 return &ios_base_Findarr(this, index
)->ptr_val
;
4444 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
4445 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
4446 DEFINE_THISCALL_WRAPPER(ios_base_register_callback
, 12)
4447 void __thiscall
ios_base_register_callback(ios_base
*this, IOS_BASE_event_callback callback
, int index
)
4449 IOS_BASE_fnarray
*event
;
4451 TRACE("(%p %p %d)\n", this, callback
, index
);
4453 event
= operator_new(sizeof(IOS_BASE_fnarray
));
4454 event
->next
= this->calls
;
4455 event
->index
= index
;
4456 event
->event_handler
= callback
;
4457 this->calls
= event
;
4460 /* ?clear@ios_base@std@@QAEXH_N@Z */
4461 /* ?clear@ios_base@std@@QEAAXH_N@Z */
4462 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise
, 12)
4463 void __thiscall
ios_base_clear_reraise(ios_base
*this, IOSB_iostate state
, bool reraise
)
4465 TRACE("(%p %x %x)\n", this, state
, reraise
);
4467 this->state
= state
& IOSTATE_mask
;
4468 if(!(this->state
& this->except
))
4472 _CxxThrowException(NULL
, NULL
);
4473 else if(this->state
& this->except
& IOSTATE_eofbit
)
4474 throw_failure("eofbit is set");
4475 else if(this->state
& this->except
& IOSTATE_failbit
)
4476 throw_failure("failbit is set");
4477 else if(this->state
& this->except
& IOSTATE_badbit
)
4478 throw_failure("badbit is set");
4479 else if(this->state
& this->except
& IOSTATE__Hardfail
)
4480 throw_failure("_Hardfail is set");
4483 /* ?clear@ios_base@std@@QAEXH@Z */
4484 /* ?clear@ios_base@std@@QEAAXH@Z */
4485 DEFINE_THISCALL_WRAPPER(ios_base_clear
, 8)
4486 void __thiscall
ios_base_clear(ios_base
*this, IOSB_iostate state
)
4488 ios_base_clear_reraise(this, state
, FALSE
);
4491 /* ?clear@ios_base@std@@QAEXI@Z */
4492 /* ?clear@ios_base@std@@QEAAXI@Z */
4493 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned
, 8)
4494 void __thiscall
ios_base_clear_unsigned(ios_base
*this, unsigned int state
)
4496 ios_base_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4499 /* ?exceptions@ios_base@std@@QAEXH@Z */
4500 /* ?exceptions@ios_base@std@@QEAAXH@Z */
4501 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set
, 8)
4502 void __thiscall
ios_base_exceptions_set(ios_base
*this, IOSB_iostate state
)
4504 TRACE("(%p %x)\n", this, state
);
4505 this->except
= state
& IOSTATE_mask
;
4506 ios_base_clear(this, this->state
);
4509 /* ?exceptions@ios_base@std@@QAEXI@Z */
4510 /* ?exceptions@ios_base@std@@QEAAXI@Z */
4511 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set_unsigned
, 8)
4512 void __thiscall
ios_base_exceptions_set_unsigned(ios_base
*this, unsigned int state
)
4514 TRACE("(%p %x)\n", this, state
);
4515 ios_base_exceptions_set(this, state
);
4518 /* ?exceptions@ios_base@std@@QBEHXZ */
4519 /* ?exceptions@ios_base@std@@QEBAHXZ */
4520 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_get
, 4)
4521 IOSB_iostate __thiscall
ios_base_exceptions_get(ios_base
*this)
4523 TRACE("(%p)\n", this);
4524 return this->except
;
4527 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
4528 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
4529 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt
, 8)
4530 ios_base
* __thiscall
ios_base_copyfmt(ios_base
*this, const ios_base
*rhs
)
4532 TRACE("(%p %p)\n", this, rhs
);
4535 IOS_BASE_iosarray
*arr_cur
;
4536 IOS_BASE_fnarray
*event_cur
;
4538 ios_base_Tidy(this);
4540 for(arr_cur
=rhs
->arr
; arr_cur
; arr_cur
=arr_cur
->next
) {
4541 if(arr_cur
->long_val
)
4542 *ios_base_iword(this, arr_cur
->index
) = arr_cur
->long_val
;
4543 if(arr_cur
->ptr_val
)
4544 *ios_base_pword(this, arr_cur
->index
) = arr_cur
->ptr_val
;
4546 this->stdstr
= rhs
->stdstr
;
4547 this->fmtfl
= rhs
->fmtfl
;
4548 this->prec
= rhs
->prec
;
4549 this->wide
= rhs
->wide
;
4550 locale_operator_assign(IOS_LOCALE(this), IOS_LOCALE(rhs
));
4552 for(event_cur
=rhs
->calls
; event_cur
; event_cur
=event_cur
->next
)
4553 ios_base_register_callback(this, event_cur
->event_handler
, event_cur
->index
);
4555 ios_base_Callfns(this, EVENT_copyfmt_event
);
4556 ios_base_exceptions_set(this, rhs
->except
);
4562 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
4563 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
4564 DEFINE_THISCALL_WRAPPER(ios_base_assign
, 8)
4565 ios_base
* __thiscall
ios_base_assign(ios_base
*this, const ios_base
*right
)
4567 TRACE("(%p %p)\n", this, right
);
4570 this->state
= right
->state
;
4571 ios_base_copyfmt(this, right
);
4577 /* ?fail@ios_base@std@@QBE_NXZ */
4578 /* ?fail@ios_base@std@@QEBA_NXZ */
4579 DEFINE_THISCALL_WRAPPER(ios_base_fail
, 4)
4580 bool __thiscall
ios_base_fail(const ios_base
*this)
4582 TRACE("(%p)\n", this);
4583 return (this->state
& (IOSTATE_failbit
|IOSTATE_badbit
)) != 0;
4586 /* ??7ios_base@std@@QBE_NXZ */
4587 /* ??7ios_base@std@@QEBA_NXZ */
4588 DEFINE_THISCALL_WRAPPER(ios_base_op_succ
, 4)
4589 bool __thiscall
ios_base_op_succ(const ios_base
*this)
4591 TRACE("(%p)\n", this);
4592 return ios_base_fail(this);
4595 /* ??Bios_base@std@@QBEPAXXZ */
4596 /* ??Bios_base@std@@QEBAPEAXXZ */
4597 DEFINE_THISCALL_WRAPPER(ios_base_op_fail
, 4)
4598 void* __thiscall
ios_base_op_fail(const ios_base
*this)
4600 TRACE("(%p)\n", this);
4601 return ios_base_fail(this) ? NULL
: (void*)this;
4604 /* ??Bios_base@std@@QBA_NXZ */
4605 /* ??Bios_base@std@@QBE_NXZ */
4606 /* ??Bios_base@std@@QEBA_NXZ */
4607 DEFINE_THISCALL_WRAPPER(ios_base_operator_bool
, 4)
4608 bool __thiscall
ios_base_operator_bool(const ios_base
*this)
4610 TRACE("(%p)\n", this);
4611 return (this->state
& (IOSTATE_failbit
|IOSTATE_badbit
)) == 0;
4614 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
4615 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
4616 void __cdecl
ios_base_Addstd(ios_base
*add
)
4618 FIXME("(%p) stub\n", add
);
4621 /* ?_Index_func@ios_base@std@@CAAAHXZ */
4622 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
4623 int* __cdecl
ios_base_Index_func(void)
4626 return &ios_base_Index
;
4629 /* ?_Init@ios_base@std@@IAEXXZ */
4630 /* ?_Init@ios_base@std@@IEAAXXZ */
4631 DEFINE_THISCALL_WRAPPER(ios_base__Init
, 4)
4632 void __thiscall
ios_base__Init(ios_base
*this)
4634 TRACE("(%p)\n", this);
4637 this->state
= this->except
= IOSTATE_goodbit
;
4638 this->fmtfl
= FMTFLAG_skipws
| FMTFLAG_dec
;
4643 locale_ctor(IOS_LOCALE(this));
4646 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
4647 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
4648 bool* __cdecl
ios_base_Sync_func(void)
4651 return &ios_base_Sync
;
4654 /* ?bad@ios_base@std@@QBE_NXZ */
4655 /* ?bad@ios_base@std@@QEBA_NXZ */
4656 DEFINE_THISCALL_WRAPPER(ios_base_bad
, 4)
4657 bool __thiscall
ios_base_bad(const ios_base
*this)
4659 TRACE("(%p)\n", this);
4660 return (this->state
& IOSTATE_badbit
) != 0;
4663 /* ?eof@ios_base@std@@QBE_NXZ */
4664 /* ?eof@ios_base@std@@QEBA_NXZ */
4665 DEFINE_THISCALL_WRAPPER(ios_base_eof
, 4)
4666 bool __thiscall
ios_base_eof(const ios_base
*this)
4668 TRACE("(%p)\n", this);
4669 return (this->state
& IOSTATE_eofbit
) != 0;
4672 /* ?flags@ios_base@std@@QAEHH@Z */
4673 /* ?flags@ios_base@std@@QEAAHH@Z */
4674 DEFINE_THISCALL_WRAPPER(ios_base_flags_set
, 8)
4675 IOSB_fmtflags __thiscall
ios_base_flags_set(ios_base
*this, IOSB_fmtflags flags
)
4677 IOSB_fmtflags ret
= this->fmtfl
;
4679 TRACE("(%p %x)\n", this, flags
);
4681 this->fmtfl
= flags
& FMTFLAG_mask
;
4685 /* ?flags@ios_base@std@@QBEHXZ */
4686 /* ?flags@ios_base@std@@QEBAHXZ */
4687 DEFINE_THISCALL_WRAPPER(ios_base_flags_get
, 4)
4688 IOSB_fmtflags __thiscall
ios_base_flags_get(const ios_base
*this)
4690 TRACE("(%p)\n", this);
4694 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
4695 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
4696 DEFINE_THISCALL_WRAPPER(ios_base_getloc
, 8)
4697 locale
* __thiscall
ios_base_getloc(const ios_base
*this, locale
*ret
)
4699 TRACE("(%p)\n", this);
4700 return locale_copy_ctor(ret
, IOS_LOCALE(this));
4703 /* ?good@ios_base@std@@QBE_NXZ */
4704 /* ?good@ios_base@std@@QEBA_NXZ */
4705 DEFINE_THISCALL_WRAPPER(ios_base_good
, 4)
4706 bool __thiscall
ios_base_good(const ios_base
*this)
4708 TRACE("(%p)\n", this);
4709 return this->state
== IOSTATE_goodbit
;
4712 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
4713 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
4714 DEFINE_THISCALL_WRAPPER(ios_base_imbue
, 12)
4715 locale
* __thiscall
ios_base_imbue(ios_base
*this, locale
*ret
, const locale
*loc
)
4717 TRACE("(%p %p)\n", this, loc
);
4718 *ret
= *IOS_LOCALE(this);
4719 locale_copy_ctor(IOS_LOCALE(this), loc
);
4723 /* ?precision@ios_base@std@@QAEHH@Z */
4724 /* ?precision@ios_base@std@@QEAA_J_J@Z */
4725 DEFINE_THISCALL_WRAPPER(ios_base_precision_set
, 8)
4726 streamsize __thiscall
ios_base_precision_set(ios_base
*this, streamsize precision
)
4728 streamsize ret
= this->prec
;
4730 TRACE("(%p %Id)\n", this, precision
);
4732 this->prec
= precision
;
4736 /* ?precision@ios_base@std@@QBEHXZ */
4737 /* ?precision@ios_base@std@@QEBA_JXZ */
4738 DEFINE_THISCALL_WRAPPER(ios_base_precision_get
, 4)
4739 streamsize __thiscall
ios_base_precision_get(const ios_base
*this)
4741 TRACE("(%p)\n", this);
4745 /* ?rdstate@ios_base@std@@QBEHXZ */
4746 /* ?rdstate@ios_base@std@@QEBAHXZ */
4747 DEFINE_THISCALL_WRAPPER(ios_base_rdstate
, 4)
4748 IOSB_iostate __thiscall
ios_base_rdstate(const ios_base
*this)
4750 TRACE("(%p)\n", this);
4754 /* ?setf@ios_base@std@@QAEHHH@Z */
4755 /* ?setf@ios_base@std@@QEAAHHH@Z */
4756 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask
, 12)
4757 IOSB_fmtflags __thiscall
ios_base_setf_mask(ios_base
*this, IOSB_fmtflags flags
, IOSB_fmtflags mask
)
4759 IOSB_fmtflags ret
= this->fmtfl
;
4761 TRACE("(%p %x %x)\n", this, flags
, mask
);
4763 this->fmtfl
= (this->fmtfl
& (~mask
)) | (flags
& mask
& FMTFLAG_mask
);
4767 /* ?setf@ios_base@std@@QAEHH@Z */
4768 /* ?setf@ios_base@std@@QEAAHH@Z */
4769 DEFINE_THISCALL_WRAPPER(ios_base_setf
, 8)
4770 IOSB_fmtflags __thiscall
ios_base_setf(ios_base
*this, IOSB_fmtflags flags
)
4772 IOSB_fmtflags ret
= this->fmtfl
;
4774 TRACE("(%p %x)\n", this, flags
);
4776 this->fmtfl
|= flags
& FMTFLAG_mask
;
4780 /* ?setstate@ios_base@std@@QAEXH_N@Z */
4781 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
4782 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise
, 12)
4783 void __thiscall
ios_base_setstate_reraise(ios_base
*this, IOSB_iostate state
, bool reraise
)
4785 TRACE("(%p %x %x)\n", this, state
, reraise
);
4787 if(state
!= IOSTATE_goodbit
)
4788 ios_base_clear_reraise(this, this->state
| state
, reraise
);
4791 /* ?setstate@ios_base@std@@QAEXH@Z */
4792 /* ?setstate@ios_base@std@@QEAAXH@Z */
4793 DEFINE_THISCALL_WRAPPER(ios_base_setstate
, 8)
4794 void __thiscall
ios_base_setstate(ios_base
*this, IOSB_iostate state
)
4796 ios_base_setstate_reraise(this, state
, FALSE
);
4799 /* ?setstate@ios_base@std@@QAEXI@Z */
4800 /* ?setstate@ios_base@std@@QEAAXI@Z */
4801 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned
, 8)
4802 void __thiscall
ios_base_setstate_unsigned(ios_base
*this, unsigned int state
)
4804 ios_base_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
4807 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
4808 bool __cdecl
ios_base_sync_with_stdio(bool sync
)
4813 TRACE("(%x)\n", sync
);
4815 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4816 ret
= ios_base_Sync
;
4817 ios_base_Sync
= sync
;
4818 _Lockit_dtor(&lock
);
4822 /* ?unsetf@ios_base@std@@QAEXH@Z */
4823 /* ?unsetf@ios_base@std@@QEAAXH@Z */
4824 DEFINE_THISCALL_WRAPPER(ios_base_unsetf
, 8)
4825 void __thiscall
ios_base_unsetf(ios_base
*this, IOSB_fmtflags flags
)
4827 TRACE("(%p %x)\n", this, flags
);
4828 this->fmtfl
&= ~flags
;
4831 /* ?width@ios_base@std@@QAEHH@Z */
4832 /* ?width@ios_base@std@@QEAA_J_J@Z */
4833 DEFINE_THISCALL_WRAPPER(ios_base_width_set
, 8)
4834 streamsize __thiscall
ios_base_width_set(ios_base
*this, streamsize width
)
4836 streamsize ret
= this->wide
;
4838 TRACE("(%p %Id)\n", this, width
);
4844 /* ?width@ios_base@std@@QBEHXZ */
4845 /* ?width@ios_base@std@@QEBA_JXZ */
4846 DEFINE_THISCALL_WRAPPER(ios_base_width_get
, 4)
4847 streamsize __thiscall
ios_base_width_get(ios_base
*this)
4849 TRACE("(%p)\n", this);
4853 /* ?xalloc@ios_base@std@@SAHXZ */
4854 int __cdecl
ios_base_xalloc(void)
4861 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4862 ret
= ios_base_Index
++;
4863 _Lockit_dtor(&lock
);
4867 /* ?swap@ios_base@std@@QAEXAAV12@@Z */
4868 /* ?swap@ios_base@std@@QEAAXAEAV12@@Z */
4869 DEFINE_THISCALL_WRAPPER(ios_base_swap
, 8)
4870 void __thiscall
ios_base_swap(ios_base
*this, ios_base
*r
)
4874 TRACE("(%p %p)\n", this, r
);
4881 this->vtable
= tmp
.vtable
;
4882 tmp
.vtable
= r
->vtable
;
4886 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
4887 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
4888 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor
, 4)
4889 basic_ios_char
* __thiscall
basic_ios_char_ctor(basic_ios_char
*this)
4891 TRACE("(%p)\n", this);
4893 ios_base_ctor(&this->base
);
4894 this->base
.vtable
= &basic_ios_char_vtable
;
4898 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4899 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4900 DEFINE_THISCALL_WRAPPER(basic_ios_char_init
, 12)
4901 void __thiscall
basic_ios_char_init(basic_ios_char
*this, basic_streambuf_char
*streambuf
, bool isstd
)
4903 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
4904 ios_base__Init(&this->base
);
4905 this->strbuf
= streambuf
;
4906 this->stream
= NULL
;
4910 ios_base_setstate(&this->base
, IOSTATE_badbit
);
4913 FIXME("standard streams not handled yet\n");
4916 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4917 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4918 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor_streambuf
, 8)
4919 basic_ios_char
* __thiscall
basic_ios_char_ctor_streambuf(basic_ios_char
*this, basic_streambuf_char
*strbuf
)
4921 TRACE("(%p %p)\n", this, strbuf
);
4923 basic_ios_char_ctor(this);
4924 basic_ios_char_init(this, strbuf
, FALSE
);
4928 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
4929 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
4930 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor
, 4)
4931 void __thiscall
basic_ios_char_dtor(basic_ios_char
*this)
4933 TRACE("(%p)\n", this);
4934 ios_base_dtor(&this->base
);
4937 DEFINE_THISCALL_WRAPPER(basic_ios_char_vector_dtor
, 8)
4938 basic_ios_char
* __thiscall
basic_ios_char_vector_dtor(basic_ios_char
*this, unsigned int flags
)
4940 TRACE("(%p %x)\n", this, flags
);
4942 /* we have an array, with the number of elements stored before the first object */
4943 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
4945 for(i
=*ptr
-1; i
>=0; i
--)
4946 basic_ios_char_dtor(this+i
);
4947 operator_delete(ptr
);
4949 basic_ios_char_dtor(this);
4951 operator_delete(this);
4957 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
4958 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
4959 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise
, 12)
4960 void __thiscall
basic_ios_char_clear_reraise(basic_ios_char
*this, IOSB_iostate state
, bool reraise
)
4962 TRACE("(%p %x %x)\n", this, state
, reraise
);
4963 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
4966 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
4967 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
4968 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear
, 8)
4969 void __thiscall
basic_ios_char_clear(basic_ios_char
*this, unsigned int state
)
4971 basic_ios_char_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4974 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
4975 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
4976 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt
, 8)
4977 basic_ios_char
* __thiscall
basic_ios_char_copyfmt(basic_ios_char
*this, basic_ios_char
*copy
)
4979 TRACE("(%p %p)\n", this, copy
);
4983 this->stream
= copy
->stream
;
4984 this->fillch
= copy
->fillch
;
4985 ios_base_copyfmt(&this->base
, ©
->base
);
4989 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
4990 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
4991 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set
, 8)
4992 char __thiscall
basic_ios_char_fill_set(basic_ios_char
*this, char fill
)
4994 char ret
= this->fillch
;
4996 TRACE("(%p %c)\n", this, fill
);
4998 this->fillch
= fill
;
5002 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
5003 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
5004 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get
, 4)
5005 char __thiscall
basic_ios_char_fill_get(basic_ios_char
*this)
5007 TRACE("(%p)\n", this);
5008 return this->fillch
;
5011 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5012 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5013 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue
, 12)
5014 locale
*__thiscall
basic_ios_char_imbue(basic_ios_char
*this, locale
*ret
, const locale
*loc
)
5016 TRACE("(%p %p %p)\n", this, ret
, loc
);
5019 basic_streambuf_char_pubimbue(this->strbuf
, ret
, loc
);
5023 return ios_base_imbue(&this->base
, ret
, loc
);
5026 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
5027 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
5028 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow
, 12)
5029 char __thiscall
basic_ios_char_narrow(basic_ios_char
*this, char ch
, char def
)
5031 TRACE("(%p %c %c)\n", this, ch
, def
);
5032 return ctype_char_narrow_ch(ctype_char_use_facet(IOS_LOCALE(this->strbuf
)), ch
, def
);
5035 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
5036 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5037 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set
, 8)
5038 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_set(basic_ios_char
*this, basic_streambuf_char
*streambuf
)
5040 basic_streambuf_char
*ret
= this->strbuf
;
5042 TRACE("(%p %p)\n", this, streambuf
);
5044 this->strbuf
= streambuf
;
5045 basic_ios_char_clear(this, IOSTATE_goodbit
);
5049 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5050 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5051 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get
, 4)
5052 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_get(const basic_ios_char
*this)
5054 TRACE("(%p)\n", this);
5055 return this->strbuf
;
5058 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
5059 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
5060 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise
, 12)
5061 void __thiscall
basic_ios_char_setstate_reraise(basic_ios_char
*this, IOSB_iostate state
, bool reraise
)
5063 TRACE("(%p %x %x)\n", this, state
, reraise
);
5065 if(state
!= IOSTATE_goodbit
)
5066 basic_ios_char_clear_reraise(this, this->base
.state
| state
, reraise
);
5069 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
5070 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
5071 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate
, 8)
5072 void __thiscall
basic_ios_char_setstate(basic_ios_char
*this, unsigned int state
)
5074 basic_ios_char_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
5077 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
5078 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5079 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set
, 8)
5080 basic_ostream_char
* __thiscall
basic_ios_char_tie_set(basic_ios_char
*this, basic_ostream_char
*ostream
)
5082 basic_ostream_char
*ret
= this->stream
;
5084 TRACE("(%p %p)\n", this, ostream
);
5086 this->stream
= ostream
;
5090 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5091 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5092 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get
, 4)
5093 basic_ostream_char
* __thiscall
basic_ios_char_tie_get(const basic_ios_char
*this)
5095 TRACE("(%p)\n", this);
5096 return this->stream
;
5099 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
5100 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
5101 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen
, 8)
5102 char __thiscall
basic_ios_char_widen(basic_ios_char
*this, char ch
)
5104 TRACE("(%p %c)\n", this, ch
);
5105 return ctype_char_widen_ch(ctype_char_use_facet(IOS_LOCALE(this->strbuf
)), ch
);
5108 /* ?swap@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXAAV12@@Z */
5109 /* ?swap@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXAEAV12@@Z */
5110 DEFINE_THISCALL_WRAPPER(basic_ios_char_swap
, 8)
5111 void __thiscall
basic_ios_char_swap(basic_ios_char
*this, basic_ios_char
*r
)
5115 TRACE("(%p %p)\n", this, r
);
5120 ios_base_swap(&this->base
, &r
->base
);
5121 swap_ptr
= this->stream
;
5122 this->stream
= r
->stream
;
5123 r
->stream
= swap_ptr
;
5124 this->fillch
^= r
->fillch
;
5125 r
->fillch
^= this->fillch
;
5126 this->fillch
^= r
->fillch
;
5129 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
5130 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
5131 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor
, 4)
5132 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor(basic_ios_wchar
*this)
5134 TRACE("(%p)\n", this);
5136 ios_base_ctor(&this->base
);
5137 this->base
.vtable
= &basic_ios_wchar_vtable
;
5141 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ */
5142 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IEAA@XZ */
5143 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor
, 4)
5144 basic_ios_wchar
* __thiscall
basic_ios_short_ctor(basic_ios_wchar
*this)
5146 basic_ios_wchar_ctor(this);
5147 this->base
.vtable
= &basic_ios_short_vtable
;
5151 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5152 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5153 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5154 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5155 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init
, 12)
5156 void __thiscall
basic_ios_wchar_init(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
, bool isstd
)
5158 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
5159 ios_base__Init(&this->base
);
5160 this->strbuf
= streambuf
;
5161 this->stream
= NULL
;
5165 ios_base_setstate(&this->base
, IOSTATE_badbit
);
5168 FIXME("standard streams not handled yet\n");
5171 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5172 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5173 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor_streambuf
, 8)
5174 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5176 TRACE("(%p %p)\n", this, strbuf
);
5178 basic_ios_wchar_ctor(this);
5179 basic_ios_wchar_init(this, strbuf
, FALSE
);
5183 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5184 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5185 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor_streambuf
, 8)
5186 basic_ios_wchar
* __thiscall
basic_ios_short_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5188 basic_ios_wchar_ctor_streambuf(this, strbuf
);
5189 this->base
.vtable
= &basic_ios_short_vtable
;
5193 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
5194 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
5195 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ */
5196 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UEAA@XZ */
5197 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor
, 4)
5198 void __thiscall
basic_ios_wchar_dtor(basic_ios_wchar
*this)
5200 TRACE("(%p)\n", this);
5201 ios_base_dtor(&this->base
);
5204 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_vector_dtor
, 8)
5205 basic_ios_wchar
* __thiscall
basic_ios_wchar_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
5207 TRACE("(%p %x)\n", this, flags
);
5209 /* we have an array, with the number of elements stored before the first object */
5210 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
5212 for(i
=*ptr
-1; i
>=0; i
--)
5213 basic_ios_wchar_dtor(this+i
);
5214 operator_delete(ptr
);
5216 basic_ios_wchar_dtor(this);
5218 operator_delete(this);
5224 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5225 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5226 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5227 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5228 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise
, 12)
5229 void __thiscall
basic_ios_wchar_clear_reraise(basic_ios_wchar
*this, IOSB_iostate state
, bool reraise
)
5231 TRACE("(%p %x %x)\n", this, state
, reraise
);
5232 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
5235 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5236 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5237 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5238 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5239 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear
, 8)
5240 void __thiscall
basic_ios_wchar_clear(basic_ios_wchar
*this, unsigned int state
)
5242 basic_ios_wchar_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
5245 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
5246 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5247 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z */
5248 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5249 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt
, 8)
5250 basic_ios_wchar
* __thiscall
basic_ios_wchar_copyfmt(basic_ios_wchar
*this, basic_ios_wchar
*copy
)
5252 TRACE("(%p %p)\n", this, copy
);
5256 this->stream
= copy
->stream
;
5257 this->fillch
= copy
->fillch
;
5258 ios_base_copyfmt(&this->base
, ©
->base
);
5262 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
5263 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
5264 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z */
5265 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
5266 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set
, 8)
5267 wchar_t __thiscall
basic_ios_wchar_fill_set(basic_ios_wchar
*this, wchar_t fill
)
5269 wchar_t ret
= this->fillch
;
5271 TRACE("(%p %c)\n", this, fill
);
5273 this->fillch
= fill
;
5277 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
5278 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
5279 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ */
5280 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGXZ */
5281 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get
, 4)
5282 wchar_t __thiscall
basic_ios_wchar_fill_get(basic_ios_wchar
*this)
5284 TRACE("(%p)\n", this);
5285 return this->fillch
;
5288 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5289 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5290 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5291 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5292 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue
, 12)
5293 locale
*__thiscall
basic_ios_wchar_imbue(basic_ios_wchar
*this, locale
*ret
, const locale
*loc
)
5295 TRACE("(%p %p %p)\n", this, ret
, loc
);
5298 basic_streambuf_wchar_pubimbue(this->strbuf
, ret
, loc
);
5302 return ios_base_imbue(&this->base
, ret
, loc
);
5305 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
5306 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
5307 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z */
5308 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBADGD@Z */
5309 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow
, 12)
5310 char __thiscall
basic_ios_wchar_narrow(basic_ios_wchar
*this, wchar_t ch
, char def
)
5312 TRACE("(%p %c %c)\n", this, ch
, def
);
5313 return ctype_wchar_narrow_ch(ctype_wchar_use_facet(IOS_LOCALE(this->strbuf
)), ch
, def
);
5316 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5317 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5318 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z */
5319 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5320 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set
, 8)
5321 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_set(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
)
5323 basic_streambuf_wchar
*ret
= this->strbuf
;
5325 TRACE("(%p %p)\n", this, streambuf
);
5327 this->strbuf
= streambuf
;
5328 basic_ios_wchar_clear(this, IOSTATE_goodbit
);
5332 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5333 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5334 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5335 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5336 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get
, 4)
5337 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_get(const basic_ios_wchar
*this)
5339 TRACE("(%p)\n", this);
5340 return this->strbuf
;
5343 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5344 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5345 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5346 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5347 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise
, 12)
5348 void __thiscall
basic_ios_wchar_setstate_reraise(basic_ios_wchar
*this, IOSB_iostate state
, bool reraise
)
5350 TRACE("(%p %x %x)\n", this, state
, reraise
);
5352 if(state
!= IOSTATE_goodbit
)
5353 basic_ios_wchar_clear_reraise(this, this->base
.state
| state
, reraise
);
5356 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5357 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5358 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5359 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5360 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate
, 8)
5361 void __thiscall
basic_ios_wchar_setstate(basic_ios_wchar
*this, IOSB_iostate state
)
5363 basic_ios_wchar_setstate_reraise(this, state
, FALSE
);
5366 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5367 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5368 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z */
5369 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5370 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set
, 8)
5371 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_set(basic_ios_wchar
*this, basic_ostream_wchar
*ostream
)
5373 basic_ostream_wchar
*ret
= this->stream
;
5375 TRACE("(%p %p)\n", this, ostream
);
5377 this->stream
= ostream
;
5381 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5382 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5383 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5384 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5385 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get
, 4)
5386 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_get(const basic_ios_wchar
*this)
5388 TRACE("(%p)\n", this);
5389 return this->stream
;
5392 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
5393 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
5394 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z */
5395 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGD@Z */
5396 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen
, 8)
5397 wchar_t __thiscall
basic_ios_wchar_widen(basic_ios_wchar
*this, char ch
)
5399 TRACE("(%p %c)\n", this, ch
);
5400 return ctype_wchar_widen_ch(ctype_wchar_use_facet(IOS_LOCALE(this->strbuf
)), ch
);
5403 /* ?swap@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXAAV12@@Z */
5404 /* ?swap@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXAEAV12@@Z */
5405 /* ?swap@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXAAV12@@Z */
5406 /* ?swap@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXAEAV12@@Z */
5407 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_swap
, 8)
5408 void __thiscall
basic_ios_wchar_swap(basic_ios_wchar
*this, basic_ios_wchar
*r
)
5412 TRACE("(%p %p)\n", this, r
);
5417 ios_base_swap(&this->base
, &r
->base
);
5418 swap_ptr
= this->stream
;
5419 this->stream
= r
->stream
;
5420 r
->stream
= swap_ptr
;
5421 this->fillch
^= r
->fillch
;
5422 r
->fillch
^= this->fillch
;
5423 this->fillch
^= r
->fillch
;
5426 /* Caution: basic_ostream uses virtual inheritance.
5427 * All constructors have additional parameter that says if base class should be initialized.
5428 * Base class needs to be accessed using vbtable.
5430 static inline basic_ios_char
* basic_ostream_char_get_basic_ios(basic_ostream_char
*this)
5432 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
5435 static inline basic_ios_char
* basic_ostream_char_to_basic_ios(basic_ostream_char
*ptr
)
5437 return (basic_ios_char
*)((char*)ptr
+basic_ostream_char_vbtable
[1]);
5440 static inline basic_ostream_char
* basic_ostream_char_from_basic_ios(basic_ios_char
*ptr
)
5442 return (basic_ostream_char
*)((char*)ptr
-basic_ostream_char_vbtable
[1]);
5445 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
5446 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
5447 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor
, 20)
5448 basic_ostream_char
* __thiscall
basic_ostream_char_ctor(basic_ostream_char
*this,
5449 basic_streambuf_char
*strbuf
, bool isstd
, bool init
, bool virt_init
)
5451 basic_ios_char
*base
;
5453 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, init
, virt_init
);
5456 this->vbtable
= basic_ostream_char_vbtable
;
5457 base
= basic_ostream_char_get_basic_ios(this);
5458 basic_ios_char_ctor(base
);
5460 base
= basic_ostream_char_get_basic_ios(this);
5463 base
->base
.vtable
= &basic_ostream_char_vtable
;
5465 basic_ios_char_init(base
, strbuf
, isstd
);
5469 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
5470 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
5471 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor_uninitialized
, 12)
5472 basic_ostream_char
* __thiscall
basic_ostream_char_ctor_uninitialized(basic_ostream_char
*this,
5473 int uninitialized
, bool virt_init
)
5475 basic_ios_char
*base
;
5477 TRACE("(%p %d)\n", this, uninitialized
);
5480 this->vbtable
= basic_ostream_char_vbtable
;
5481 base
= basic_ostream_char_get_basic_ios(this);
5482 basic_ios_char_ctor(base
);
5484 base
= basic_ostream_char_get_basic_ios(this);
5487 base
->base
.vtable
= &basic_ostream_char_vtable
;
5488 ios_base_Addstd(&base
->base
);
5492 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
5493 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
5494 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor
, 4)
5495 void __thiscall
basic_ostream_char_dtor(basic_ios_char
*base
)
5497 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5499 /* don't destroy virtual base here */
5500 TRACE("(%p)\n", this);
5503 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5504 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5505 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vbase_dtor
, 4)
5506 void __thiscall
basic_ostream_char_vbase_dtor(basic_ostream_char
*this)
5508 TRACE("(%p)\n", this);
5509 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(this));
5510 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(this));
5513 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vector_dtor
, 8)
5514 basic_ostream_char
* __thiscall
basic_ostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
5516 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5518 TRACE("(%p %x)\n", this, flags
);
5521 /* we have an array, with the number of elements stored before the first object */
5522 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
5524 for(i
=*ptr
-1; i
>=0; i
--)
5525 basic_ostream_char_vbase_dtor(this+i
);
5526 operator_delete(ptr
);
5528 basic_ostream_char_vbase_dtor(this);
5530 operator_delete(this);
5536 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
5537 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
5538 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush
, 4)
5539 basic_ostream_char
* __thiscall
basic_ostream_char_flush(basic_ostream_char
*this)
5541 /* this function is not matching C++ specification */
5542 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5544 TRACE("(%p)\n", this);
5546 if(basic_ios_char_rdbuf_get(base
) && ios_base_good(&base
->base
)
5547 && basic_streambuf_char_pubsync(basic_ios_char_rdbuf_get(base
))==-1)
5548 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5552 /* ?flush@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
5553 /* ?flush@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
5554 basic_ostream_char
* __cdecl
flush_ostream_char(basic_ostream_char
*ostream
)
5556 return basic_ostream_char_flush(ostream
);
5559 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5560 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5561 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx
, 4)
5562 void __thiscall
basic_ostream_char__Osfx(basic_ostream_char
*this)
5564 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5566 TRACE("(%p)\n", this);
5568 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
5569 basic_ostream_char_flush(this);
5572 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5573 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5574 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx
, 4)
5575 void __thiscall
basic_ostream_char_osfx(basic_ostream_char
*this)
5577 TRACE("(%p)\n", this);
5578 basic_ostream_char__Osfx(this);
5581 static BOOL
basic_ostream_char_sentry_create(basic_ostream_char
*ostr
)
5583 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5585 if(basic_ios_char_rdbuf_get(base
))
5586 call_basic_streambuf_char__Lock(base
->strbuf
);
5588 if(ios_base_good(&base
->base
) && base
->stream
)
5589 basic_ostream_char_flush(base
->stream
);
5591 return ios_base_good(&base
->base
);
5594 static void basic_ostream_char_sentry_destroy(basic_ostream_char
*ostr
)
5596 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5598 if(ios_base_good(&base
->base
) && !__uncaught_exception())
5599 basic_ostream_char_osfx(ostr
);
5601 if(basic_ios_char_rdbuf_get(base
))
5602 call_basic_streambuf_char__Unlock(base
->strbuf
);
5605 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
5606 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
5607 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx
, 4)
5608 bool __thiscall
basic_ostream_char_opfx(basic_ostream_char
*this)
5610 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5612 TRACE("(%p)\n", this);
5614 if(ios_base_good(&base
->base
) && base
->stream
)
5615 basic_ostream_char_flush(base
->stream
);
5616 return ios_base_good(&base
->base
);
5619 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
5620 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
5621 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put
, 8)
5622 basic_ostream_char
* __thiscall
basic_ostream_char_put(basic_ostream_char
*this, char ch
)
5624 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5626 TRACE("(%p %c)\n", this, ch
);
5628 if(!basic_ostream_char_sentry_create(this)
5629 || basic_streambuf_char_sputc(base
->strbuf
, ch
)==EOF
) {
5630 basic_ostream_char_sentry_destroy(this);
5631 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5635 basic_ostream_char_sentry_destroy(this);
5639 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
5640 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
5641 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp
, 12)
5642 basic_ostream_char
* __thiscall
basic_ostream_char_seekp(basic_ostream_char
*this, streamoff off
, int way
)
5644 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5646 TRACE("(%p %Id %d)\n", this, off
, way
);
5648 if(!ios_base_fail(&base
->base
)) {
5651 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5652 &seek
, off
, way
, OPENMODE_out
);
5653 if(seek
.off
==-1 && seek
.pos
==0 && seek
.state
==0)
5654 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5659 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
5660 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
5661 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos
, 28)
5662 basic_ostream_char
* __thiscall
basic_ostream_char_seekp_fpos(basic_ostream_char
*this, fpos_int pos
)
5664 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5666 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
5668 if(!ios_base_fail(&base
->base
)) {
5671 basic_streambuf_char_pubseekpos(basic_ios_char_rdbuf_get(base
),
5672 &seek
, pos
, OPENMODE_out
);
5673 if(seek
.off
==-1 && seek
.pos
==0 && seek
.state
==0)
5674 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5679 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
5680 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
5681 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp
, 8)
5682 fpos_int
* __thiscall
basic_ostream_char_tellp(basic_ostream_char
*this, fpos_int
*ret
)
5684 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5686 TRACE("(%p)\n", this);
5688 if(!ios_base_fail(&base
->base
)) {
5689 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5690 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
5699 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
5700 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
5701 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write
, 12)
5702 basic_ostream_char
* __thiscall
basic_ostream_char_write(basic_ostream_char
*this, const char *str
, streamsize count
)
5704 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5706 TRACE("(%p %s %Id)\n", this, debugstr_a(str
), count
);
5708 if(!basic_ostream_char_sentry_create(this)
5709 || basic_streambuf_char_sputn(base
->strbuf
, str
, count
)!=count
) {
5710 basic_ostream_char_sentry_destroy(this);
5711 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5715 basic_ostream_char_sentry_destroy(this);
5719 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
5720 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
5721 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short
, 8)
5722 basic_ostream_char
* __thiscall
basic_ostream_char_print_short(basic_ostream_char
*this, short val
)
5724 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5725 int state
= IOSTATE_goodbit
;
5727 TRACE("(%p %d)\n", this, val
);
5729 if(basic_ostream_char_sentry_create(this)) {
5730 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5731 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5732 ostreambuf_iterator_char dest
;
5734 memset(&dest
, 0, sizeof(dest
));
5735 dest
.strbuf
= strbuf
;
5736 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
),
5737 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
5738 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
5740 basic_ostream_char_sentry_destroy(this);
5742 basic_ios_char_setstate(base
, state
);
5746 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
5747 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
5748 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort
, 8)
5749 basic_ostream_char
* __thiscall
basic_ostream_char_print_ushort(basic_ostream_char
*this, unsigned short val
)
5751 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5752 int state
= IOSTATE_goodbit
;
5754 TRACE("(%p %u)\n", this, val
);
5756 if(basic_ostream_char_sentry_create(this)) {
5757 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5758 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5759 ostreambuf_iterator_char dest
;
5761 memset(&dest
, 0, sizeof(dest
));
5762 dest
.strbuf
= strbuf
;
5763 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5765 basic_ostream_char_sentry_destroy(this);
5767 basic_ios_char_setstate(base
, state
);
5771 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
5772 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
5773 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
5774 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
5775 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int
, 8)
5776 basic_ostream_char
* __thiscall
basic_ostream_char_print_int(basic_ostream_char
*this, int val
)
5778 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5779 int state
= IOSTATE_goodbit
;
5781 TRACE("(%p %d)\n", this, val
);
5783 if(basic_ostream_char_sentry_create(this)) {
5784 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5785 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5786 ostreambuf_iterator_char dest
;
5788 memset(&dest
, 0, sizeof(dest
));
5789 dest
.strbuf
= strbuf
;
5790 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5792 basic_ostream_char_sentry_destroy(this);
5794 basic_ios_char_setstate(base
, state
);
5798 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
5799 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
5800 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
5801 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
5802 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint
, 8)
5803 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint(basic_ostream_char
*this, unsigned int val
)
5805 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5806 int state
= IOSTATE_goodbit
;
5808 TRACE("(%p %u)\n", this, val
);
5810 if(basic_ostream_char_sentry_create(this)) {
5811 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5812 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5813 ostreambuf_iterator_char dest
;
5815 memset(&dest
, 0, sizeof(dest
));
5816 dest
.strbuf
= strbuf
;
5817 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5819 basic_ostream_char_sentry_destroy(this);
5821 basic_ios_char_setstate(base
, state
);
5825 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
5826 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
5827 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float
, 8)
5828 basic_ostream_char
* __thiscall
basic_ostream_char_print_float(basic_ostream_char
*this, float val
)
5830 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5831 int state
= IOSTATE_goodbit
;
5833 TRACE("(%p %f)\n", this, val
);
5835 if(basic_ostream_char_sentry_create(this)) {
5836 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5837 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5838 ostreambuf_iterator_char dest
;
5840 memset(&dest
, 0, sizeof(dest
));
5841 dest
.strbuf
= strbuf
;
5842 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5844 basic_ostream_char_sentry_destroy(this);
5846 basic_ios_char_setstate(base
, state
);
5850 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
5851 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
5852 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double
, 12)
5853 basic_ostream_char
* __thiscall
basic_ostream_char_print_double(basic_ostream_char
*this, double val
)
5855 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5856 int state
= IOSTATE_goodbit
;
5858 TRACE("(%p %lf)\n", this, val
);
5860 if(basic_ostream_char_sentry_create(this)) {
5861 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5862 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5863 ostreambuf_iterator_char dest
;
5865 memset(&dest
, 0, sizeof(dest
));
5866 dest
.strbuf
= strbuf
;
5867 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5869 basic_ostream_char_sentry_destroy(this);
5871 basic_ios_char_setstate(base
, state
);
5875 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z */
5876 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@O@Z */
5877 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ldouble
, 12)
5878 basic_ostream_char
* __thiscall
basic_ostream_char_print_ldouble(basic_ostream_char
*this, double val
)
5880 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5881 int state
= IOSTATE_goodbit
;
5883 TRACE("(%p %lf)\n", this, val
);
5885 if(basic_ostream_char_sentry_create(this)) {
5886 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5887 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5888 ostreambuf_iterator_char dest
;
5890 memset(&dest
, 0, sizeof(dest
));
5891 dest
.strbuf
= strbuf
;
5892 num_put_char_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5894 basic_ostream_char_sentry_destroy(this);
5896 basic_ios_char_setstate(base
, state
);
5900 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5901 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5902 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf
, 8)
5903 basic_ostream_char
* __thiscall
basic_ostream_char_print_streambuf(basic_ostream_char
*this, basic_streambuf_char
*val
)
5905 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5906 IOSB_iostate state
= IOSTATE_badbit
;
5909 TRACE("(%p %p)\n", this, val
);
5911 if(basic_ostream_char_sentry_create(this)) {
5912 for(c
= basic_streambuf_char_sgetc(val
); c
!=EOF
;
5913 c
= basic_streambuf_char_snextc(val
)) {
5914 state
= IOSTATE_goodbit
;
5916 if(basic_streambuf_char_sputc(base
->strbuf
, c
) == EOF
) {
5917 state
= IOSTATE_badbit
;
5922 state
= IOSTATE_badbit
;
5924 basic_ostream_char_sentry_destroy(this);
5926 ios_base_width_set(&base
->base
, 0);
5927 basic_ios_char_setstate(base
, state
);
5931 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
5932 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
5933 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr
, 8)
5934 basic_ostream_char
* __thiscall
basic_ostream_char_print_ptr(basic_ostream_char
*this, const void *val
)
5936 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5937 int state
= IOSTATE_goodbit
;
5939 TRACE("(%p %p)\n", this, val
);
5941 if(basic_ostream_char_sentry_create(this)) {
5942 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5943 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5944 ostreambuf_iterator_char dest
;
5946 memset(&dest
, 0, sizeof(dest
));
5947 dest
.strbuf
= strbuf
;
5948 num_put_char_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5950 basic_ostream_char_sentry_destroy(this);
5952 basic_ios_char_setstate(base
, state
);
5956 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
5957 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
5958 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64
, 12)
5959 basic_ostream_char
* __thiscall
basic_ostream_char_print_int64(basic_ostream_char
*this, __int64 val
)
5961 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5962 int state
= IOSTATE_goodbit
;
5964 TRACE("(%p)\n", this);
5966 if(basic_ostream_char_sentry_create(this)) {
5967 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5968 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5969 ostreambuf_iterator_char dest
;
5971 memset(&dest
, 0, sizeof(dest
));
5972 dest
.strbuf
= strbuf
;
5973 num_put_char_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5975 basic_ostream_char_sentry_destroy(this);
5977 basic_ios_char_setstate(base
, state
);
5981 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
5982 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
5983 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64
, 12)
5984 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint64(basic_ostream_char
*this, unsigned __int64 val
)
5986 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5987 int state
= IOSTATE_goodbit
;
5989 TRACE("(%p)\n", this);
5991 if(basic_ostream_char_sentry_create(this)) {
5992 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5993 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
5994 ostreambuf_iterator_char dest
;
5996 memset(&dest
, 0, sizeof(dest
));
5997 dest
.strbuf
= strbuf
;
5998 num_put_char_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
6000 basic_ostream_char_sentry_destroy(this);
6002 basic_ios_char_setstate(base
, state
);
6006 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
6007 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
6008 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool
, 8)
6009 basic_ostream_char
* __thiscall
basic_ostream_char_print_bool(basic_ostream_char
*this, bool val
)
6011 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
6012 int state
= IOSTATE_goodbit
;
6014 TRACE("(%p %x)\n", this, val
);
6016 if(basic_ostream_char_sentry_create(this)) {
6017 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
6018 const num_put
*numput
= num_put_char_use_facet(IOS_LOCALE(strbuf
));
6019 ostreambuf_iterator_char dest
;
6021 memset(&dest
, 0, sizeof(dest
));
6022 dest
.strbuf
= strbuf
;
6023 num_put_char_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
6025 basic_ostream_char_sentry_destroy(this);
6027 basic_ios_char_setstate(base
, state
);
6031 /* ?ends@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
6032 /* ?ends@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
6033 basic_ostream_char
* __cdecl
basic_ostream_char_ends(basic_ostream_char
*ostr
)
6035 TRACE("(%p)\n", ostr
);
6037 basic_ostream_char_put(ostr
, 0);
6041 /* ?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
6042 /* ?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
6043 basic_ostream_char
* __cdecl
basic_ostream_char_endl(basic_ostream_char
*ostr
)
6045 TRACE("(%p)\n", ostr
);
6047 basic_ostream_char_put(ostr
, '\n');
6048 basic_ostream_char_flush(ostr
);
6052 /* ??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z */
6053 /* ??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z */
6054 basic_ostream_char
* __cdecl
basic_ostream_char_print_bstr(basic_ostream_char
*ostr
, const basic_string_char
*str
)
6056 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6057 IOSB_iostate state
= IOSTATE_goodbit
;
6059 TRACE("(%p %p)\n", ostr
, str
);
6061 if(basic_ostream_char_sentry_create(ostr
)) {
6062 size_t len
= MSVCP_basic_string_char_length(str
);
6063 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6065 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6066 for(; pad
!=0; pad
--) {
6067 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6068 state
= IOSTATE_badbit
;
6074 if(state
== IOSTATE_goodbit
) {
6075 if(basic_streambuf_char_sputn(base
->strbuf
, MSVCP_basic_string_char_c_str(str
), len
) != len
)
6076 state
= IOSTATE_badbit
;
6079 if(state
== IOSTATE_goodbit
) {
6080 for(; pad
!=0; pad
--) {
6081 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6082 state
= IOSTATE_badbit
;
6088 base
->base
.wide
= 0;
6090 state
= IOSTATE_badbit
;
6092 basic_ostream_char_sentry_destroy(ostr
);
6094 basic_ios_char_setstate(base
, state
);
6098 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z */
6099 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z */
6100 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z */
6101 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z */
6102 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z */
6103 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z */
6104 basic_ostream_char
* __cdecl
basic_ostream_char_print_ch(basic_ostream_char
*ostr
, char ch
)
6106 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6107 IOSB_iostate state
= IOSTATE_goodbit
;
6109 TRACE("(%p %d)\n", ostr
, ch
);
6111 if(basic_ostream_char_sentry_create(ostr
)) {
6112 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6114 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6115 for(; pad
!=0; pad
--) {
6116 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6117 state
= IOSTATE_badbit
;
6123 if(state
== IOSTATE_goodbit
) {
6124 if(basic_streambuf_char_sputc(base
->strbuf
, ch
) == EOF
)
6125 state
= IOSTATE_badbit
;
6128 if(state
== IOSTATE_goodbit
) {
6129 for(; pad
!=0; pad
--) {
6130 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6131 state
= IOSTATE_badbit
;
6137 base
->base
.wide
= 0;
6139 state
= IOSTATE_badbit
;
6141 basic_ostream_char_sentry_destroy(ostr
);
6143 basic_ios_char_setstate(base
, state
);
6147 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z */
6148 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z */
6149 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z */
6150 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z */
6151 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z */
6152 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z */
6153 basic_ostream_char
* __cdecl
basic_ostream_char_print_str(basic_ostream_char
*ostr
, const char *str
)
6155 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6156 IOSB_iostate state
= IOSTATE_goodbit
;
6158 TRACE("(%p %s)\n", ostr
, str
);
6160 if(basic_ostream_char_sentry_create(ostr
)) {
6161 size_t len
= strlen(str
);
6162 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6164 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6165 for(; pad
!=0; pad
--) {
6166 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6167 state
= IOSTATE_badbit
;
6173 if(state
== IOSTATE_goodbit
) {
6174 if(basic_streambuf_char_sputn(base
->strbuf
, str
, len
) != len
)
6175 state
= IOSTATE_badbit
;
6178 if(state
== IOSTATE_goodbit
) {
6179 for(; pad
!=0; pad
--) {
6180 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6181 state
= IOSTATE_badbit
;
6187 base
->base
.wide
= 0;
6189 state
= IOSTATE_badbit
;
6191 basic_ostream_char_sentry_destroy(ostr
);
6193 basic_ios_char_setstate(base
, state
);
6197 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
6198 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
6199 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func
, 8)
6200 basic_ostream_char
* __thiscall
basic_ostream_char_print_func(basic_ostream_char
*this,
6201 basic_ostream_char
* (__cdecl
*pfunc
)(basic_ostream_char
*))
6203 TRACE("(%p %p)\n", this, pfunc
);
6208 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
6209 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
6210 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_basic_ios
, 8)
6211 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_basic_ios(basic_ostream_char
*this,
6212 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
6214 TRACE("(%p %p)\n", this, pfunc
);
6215 pfunc(basic_ostream_char_get_basic_ios(this));
6219 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
6220 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
6221 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_ios_base
, 8)
6222 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_ios_base(
6223 basic_ostream_char
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
6225 TRACE("(%p %p)\n", this, pfunc
);
6226 pfunc(&basic_ostream_char_get_basic_ios(this)->base
);
6230 /* ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IAEXAAV12@@Z */
6231 /* ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IEAAXAEAV12@@Z */
6232 DEFINE_THISCALL_WRAPPER(basic_ostream_char_swap
, 8)
6233 void __thiscall
basic_ostream_char_swap(basic_ostream_char
*this, basic_ostream_char
*r
)
6235 TRACE("(%p %p)\n", this, r
);
6240 basic_ios_char_swap(basic_ostream_char_get_basic_ios(this),
6241 basic_ostream_char_get_basic_ios(r
));
6244 /* Caution: basic_ostream uses virtual inheritance. */
6245 static inline basic_ios_wchar
* basic_ostream_wchar_get_basic_ios(basic_ostream_wchar
*this)
6247 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
6250 static inline basic_ios_wchar
* basic_ostream_wchar_to_basic_ios(basic_ostream_wchar
*ptr
)
6252 return (basic_ios_wchar
*)((char*)ptr
+basic_ostream_wchar_vbtable
[1]);
6255 static inline basic_ostream_wchar
* basic_ostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
6257 return (basic_ostream_wchar
*)((char*)ptr
-basic_ostream_wchar_vbtable
[1]);
6260 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
6261 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
6262 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor
, 20)
6263 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor(basic_ostream_wchar
*this,
6264 basic_streambuf_wchar
*strbuf
, bool isstd
, bool init
, bool virt_init
)
6266 basic_ios_wchar
*base
;
6268 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
6271 this->vbtable
= basic_ostream_wchar_vbtable
;
6272 base
= basic_ostream_wchar_get_basic_ios(this);
6273 basic_ios_wchar_ctor(base
);
6275 base
= basic_ostream_wchar_get_basic_ios(this);
6278 base
->base
.vtable
= &basic_ostream_short_vtable
;
6280 basic_ios_wchar_init(base
, strbuf
, isstd
);
6284 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
6285 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
6286 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor_uninitialized
, 12)
6287 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor_uninitialized(basic_ostream_wchar
*this,
6288 int uninitialized
, bool virt_init
)
6290 basic_ios_wchar
*base
;
6292 TRACE("(%p %d)\n", this, uninitialized
);
6295 this->vbtable
= basic_ostream_wchar_vbtable
;
6296 base
= basic_ostream_wchar_get_basic_ios(this);
6297 basic_ios_wchar_ctor(base
);
6299 base
= basic_ostream_wchar_get_basic_ios(this);
6302 base
->base
.vtable
= &basic_ostream_short_vtable
;
6303 ios_base_Addstd(&base
->base
);
6307 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
6308 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
6309 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
6310 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
6311 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_dtor
, 4)
6312 void __thiscall
basic_ostream_wchar_dtor(basic_ios_wchar
*base
)
6314 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6316 /* don't destroy virtual base here */
6317 TRACE("(%p)\n", this);
6320 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6321 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6322 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6323 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6324 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vbase_dtor
, 4)
6325 void __thiscall
basic_ostream_wchar_vbase_dtor(basic_ostream_wchar
*this)
6327 TRACE("(%p)\n", this);
6328 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(this));
6329 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(this));
6332 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vector_dtor
, 8)
6333 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
6335 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6337 TRACE("(%p %x)\n", this, flags
);
6340 /* we have an array, with the number of elements stored before the first object */
6341 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
6343 for(i
=*ptr
-1; i
>=0; i
--)
6344 basic_ostream_wchar_vbase_dtor(this+i
);
6345 operator_delete(ptr
);
6347 basic_ostream_wchar_vbase_dtor(this);
6349 operator_delete(this);
6355 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
6356 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
6357 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
6358 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
6359 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_flush
, 4)
6360 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_flush(basic_ostream_wchar
*this)
6362 /* this function is not matching C++ specification */
6363 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6365 TRACE("(%p)\n", this);
6367 if(basic_ios_wchar_rdbuf_get(base
) && ios_base_good(&base
->base
)
6368 && basic_streambuf_wchar_pubsync(basic_ios_wchar_rdbuf_get(base
))==-1)
6369 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6373 /* ?flush@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
6374 /* ?flush@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
6375 /* ?flush@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
6376 /* ?flush@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
6377 basic_ostream_wchar
* __cdecl
flush_ostream_wchar(basic_ostream_wchar
*ostream
)
6379 return basic_ostream_wchar_flush(ostream
);
6382 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6383 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6384 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6385 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6386 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar__Osfx
, 4)
6387 void __thiscall
basic_ostream_wchar__Osfx(basic_ostream_wchar
*this)
6389 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6391 TRACE("(%p)\n", this);
6393 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
6394 basic_ostream_wchar_flush(this);
6397 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6398 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6399 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6400 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6401 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_osfx
, 4)
6402 void __thiscall
basic_ostream_wchar_osfx(basic_ostream_wchar
*this)
6404 TRACE("(%p)\n", this);
6405 basic_ostream_wchar__Osfx(this);
6408 static BOOL
basic_ostream_wchar_sentry_create(basic_ostream_wchar
*ostr
)
6410 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6412 if(basic_ios_wchar_rdbuf_get(base
))
6413 basic_streambuf_wchar__Lock(base
->strbuf
);
6415 if(ios_base_good(&base
->base
) && base
->stream
)
6416 basic_ostream_wchar_flush(base
->stream
);
6418 return ios_base_good(&base
->base
);
6421 static void basic_ostream_wchar_sentry_destroy(basic_ostream_wchar
*ostr
)
6423 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6425 if(ios_base_good(&base
->base
) && !__uncaught_exception())
6426 basic_ostream_wchar_osfx(ostr
);
6428 if(basic_ios_wchar_rdbuf_get(base
))
6429 basic_streambuf_wchar__Unlock(base
->strbuf
);
6432 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE_NXZ */
6433 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA_NXZ */
6434 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ */
6435 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA_NXZ */
6436 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_opfx
, 4)
6437 bool __thiscall
basic_ostream_wchar_opfx(basic_ostream_wchar
*this)
6439 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6441 TRACE("(%p)\n", this);
6443 if(ios_base_good(&base
->base
) && base
->stream
)
6444 basic_ostream_wchar_flush(base
->stream
);
6445 return ios_base_good(&base
->base
);
6448 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
6449 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
6450 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
6451 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
6452 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_put
, 8)
6453 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_put(basic_ostream_wchar
*this, wchar_t ch
)
6455 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6457 TRACE("(%p %c)\n", this, ch
);
6459 if(!basic_ostream_wchar_sentry_create(this)
6460 || basic_streambuf_wchar_sputc(base
->strbuf
, ch
)==WEOF
) {
6461 basic_ostream_wchar_sentry_destroy(this);
6462 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6466 basic_ostream_wchar_sentry_destroy(this);
6470 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
6471 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
6472 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
6473 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
6474 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp
, 12)
6475 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp(basic_ostream_wchar
*this, streamoff off
, int way
)
6477 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6479 TRACE("(%p %Id %d)\n", this, off
, way
);
6481 if(!ios_base_fail(&base
->base
)) {
6484 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6485 &seek
, off
, way
, OPENMODE_out
);
6486 if(seek
.off
==-1 && seek
.pos
==0 && seek
.state
==0)
6487 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6492 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6493 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6494 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6495 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6496 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp_fpos
, 28)
6497 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp_fpos(basic_ostream_wchar
*this, fpos_int pos
)
6499 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6501 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
6503 if(!ios_base_fail(&base
->base
)) {
6506 basic_streambuf_wchar_pubseekpos(basic_ios_wchar_rdbuf_get(base
),
6507 &seek
, pos
, OPENMODE_out
);
6508 if(seek
.off
==-1 && seek
.pos
==0 && seek
.state
==0)
6509 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6514 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6515 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6516 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6517 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6518 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_tellp
, 8)
6519 fpos_int
* __thiscall
basic_ostream_wchar_tellp(basic_ostream_wchar
*this, fpos_int
*ret
)
6521 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6523 TRACE("(%p)\n", this);
6525 if(!ios_base_fail(&base
->base
)) {
6526 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6527 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
6536 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PB_WH@Z */
6537 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEB_W_J@Z */
6538 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z */
6539 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z */
6540 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_write
, 12)
6541 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_write(basic_ostream_wchar
*this, const wchar_t *str
, streamsize count
)
6543 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6545 TRACE("(%p %s %Id)\n", this, debugstr_w(str
), count
);
6547 if(!basic_ostream_wchar_sentry_create(this)
6548 || basic_streambuf_wchar_sputn(base
->strbuf
, str
, count
)!=count
) {
6549 basic_ostream_wchar_sentry_destroy(this);
6550 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6554 basic_ostream_wchar_sentry_destroy(this);
6558 static basic_ostream_wchar
* basic_ostream_print_short(basic_ostream_wchar
*this, short val
, const num_put
*numput
)
6560 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6561 int state
= IOSTATE_goodbit
;
6563 TRACE("(%p %d)\n", this, val
);
6565 if(basic_ostream_wchar_sentry_create(this)) {
6566 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6567 ostreambuf_iterator_wchar dest
;
6569 memset(&dest
, 0, sizeof(dest
));
6570 dest
.strbuf
= strbuf
;
6571 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
),
6572 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
6573 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
6575 basic_ostream_wchar_sentry_destroy(this);
6577 basic_ios_wchar_setstate(base
, state
);
6581 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@F@Z */
6582 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@F@Z */
6583 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_short
, 8)
6584 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_short(basic_ostream_wchar
*this, short val
)
6586 return basic_ostream_print_short(this, val
, num_put_wchar_use_facet(
6587 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6590 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z */
6591 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@F@Z */
6592 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_short
, 8)
6593 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_short(basic_ostream_wchar
*this, short val
)
6595 return basic_ostream_print_short(this, val
, num_put_short_use_facet(
6596 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6599 static basic_ostream_wchar
* basic_ostream_print_ushort(basic_ostream_wchar
*this, unsigned short val
, const num_put
*numput
)
6601 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6602 int state
= IOSTATE_goodbit
;
6604 TRACE("(%p %d)\n", this, val
);
6606 if(basic_ostream_wchar_sentry_create(this)) {
6607 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6608 ostreambuf_iterator_wchar dest
;
6610 memset(&dest
, 0, sizeof(dest
));
6611 dest
.strbuf
= strbuf
;
6612 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6614 basic_ostream_wchar_sentry_destroy(this);
6616 basic_ios_wchar_setstate(base
, state
);
6620 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@G@Z */
6621 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@G@Z */
6622 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ushort
, 8)
6623 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ushort(basic_ostream_wchar
*this, unsigned short val
)
6625 return basic_ostream_print_ushort(this, val
, num_put_wchar_use_facet(
6626 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6629 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@G@Z */
6630 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@G@Z */
6631 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ushort
, 8)
6632 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ushort(basic_ostream_wchar
*this, unsigned short val
)
6634 return basic_ostream_print_ushort(this, val
, num_put_short_use_facet(
6635 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6638 /* ??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z */
6639 /* ??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z */
6640 basic_ostream_wchar
* __cdecl
basic_ostream_short_print_ushort_global(basic_ostream_wchar
*ostr
, unsigned short val
)
6642 return basic_ostream_print_ushort(ostr
, val
, num_put_short_use_facet(
6643 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(ostr
)))));
6646 static basic_ostream_wchar
* basic_ostream_print_int(basic_ostream_wchar
*this, int val
, const num_put
*numput
)
6648 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6649 int state
= IOSTATE_goodbit
;
6651 TRACE("(%p %d)\n", this, val
);
6653 if(basic_ostream_wchar_sentry_create(this)) {
6654 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6655 ostreambuf_iterator_wchar dest
;
6657 memset(&dest
, 0, sizeof(dest
));
6658 dest
.strbuf
= strbuf
;
6659 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6661 basic_ostream_wchar_sentry_destroy(this);
6663 basic_ios_wchar_setstate(base
, state
);
6667 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@H@Z */
6668 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@H@Z */
6669 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@J@Z */
6670 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@J@Z */
6671 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int
, 8)
6672 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int(basic_ostream_wchar
*this, int val
)
6674 return basic_ostream_print_int(this, val
, num_put_wchar_use_facet(
6675 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6678 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z */
6679 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@H@Z */
6680 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z */
6681 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@J@Z */
6682 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int
, 8)
6683 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int(basic_ostream_wchar
*this, int val
)
6685 return basic_ostream_print_int(this, val
, num_put_short_use_facet(
6686 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6689 static basic_ostream_wchar
* basic_ostream_print_uint(basic_ostream_wchar
*this, unsigned int val
, const num_put
*numput
)
6691 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6692 int state
= IOSTATE_goodbit
;
6694 TRACE("(%p %u)\n", this, val
);
6696 if(basic_ostream_wchar_sentry_create(this)) {
6697 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6698 ostreambuf_iterator_wchar dest
;
6700 memset(&dest
, 0, sizeof(dest
));
6701 dest
.strbuf
= strbuf
;
6702 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6704 basic_ostream_wchar_sentry_destroy(this);
6706 basic_ios_wchar_setstate(base
, state
);
6710 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@I@Z */
6711 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@I@Z */
6712 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@K@Z */
6713 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@K@Z */
6714 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint
, 8)
6715 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6717 return basic_ostream_print_uint(this, val
, num_put_wchar_use_facet(
6718 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6721 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z */
6722 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@I@Z */
6723 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z */
6724 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@K@Z */
6725 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint
, 8)
6726 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6728 return basic_ostream_print_uint(this, val
, num_put_short_use_facet(
6729 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6732 static basic_ostream_wchar
* basic_ostream_print_float(basic_ostream_wchar
*this, float val
, const num_put
*numput
)
6734 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6735 int state
= IOSTATE_goodbit
;
6737 TRACE("(%p %f)\n", this, val
);
6739 if(basic_ostream_wchar_sentry_create(this)) {
6740 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6741 ostreambuf_iterator_wchar dest
;
6743 memset(&dest
, 0, sizeof(dest
));
6744 dest
.strbuf
= strbuf
;
6745 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6747 basic_ostream_wchar_sentry_destroy(this);
6749 basic_ios_wchar_setstate(base
, state
);
6753 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@M@Z */
6754 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@M@Z */
6755 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_float
, 8)
6756 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_float(basic_ostream_wchar
*this, float val
)
6758 return basic_ostream_print_float(this, val
, num_put_wchar_use_facet(
6759 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6762 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z */
6763 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@M@Z */
6764 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_float
, 8)
6765 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_float(basic_ostream_wchar
*this, float val
)
6767 return basic_ostream_print_float(this, val
, num_put_short_use_facet(
6768 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6771 static basic_ostream_wchar
* basic_ostream_print_double(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6773 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6774 int state
= IOSTATE_goodbit
;
6776 TRACE("(%p %lf)\n", this, val
);
6778 if(basic_ostream_wchar_sentry_create(this)) {
6779 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6780 ostreambuf_iterator_wchar dest
;
6782 memset(&dest
, 0, sizeof(dest
));
6783 dest
.strbuf
= strbuf
;
6784 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6786 basic_ostream_wchar_sentry_destroy(this);
6788 basic_ios_wchar_setstate(base
, state
);
6792 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@N@Z */
6793 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@N@Z */
6794 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_double
, 12)
6795 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_double(basic_ostream_wchar
*this, double val
)
6797 return basic_ostream_print_double(this, val
, num_put_wchar_use_facet(
6798 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6801 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z */
6802 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@N@Z */
6803 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_double
, 12)
6804 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_double(basic_ostream_wchar
*this, double val
)
6806 return basic_ostream_print_double(this, val
, num_put_short_use_facet(
6807 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6810 static basic_ostream_wchar
* basic_ostream_print_ldouble(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6812 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6813 int state
= IOSTATE_goodbit
;
6815 TRACE("(%p %lf)\n", this, val
);
6817 if(basic_ostream_wchar_sentry_create(this)) {
6818 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6819 ostreambuf_iterator_wchar dest
;
6821 memset(&dest
, 0, sizeof(dest
));
6822 dest
.strbuf
= strbuf
;
6823 num_put_wchar_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6825 basic_ostream_wchar_sentry_destroy(this);
6827 basic_ios_wchar_setstate(base
, state
);
6831 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@O@Z */
6832 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@O@Z */
6833 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ldouble
, 12)
6834 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ldouble(basic_ostream_wchar
*this, double val
)
6836 return basic_ostream_print_ldouble(this, val
, num_put_wchar_use_facet(
6837 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6840 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z */
6841 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@O@Z */
6842 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ldouble
, 12)
6843 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ldouble(basic_ostream_wchar
*this, double val
)
6845 return basic_ostream_print_ldouble(this, val
, num_put_short_use_facet(
6846 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6849 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6850 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6851 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6852 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6853 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_streambuf
, 8)
6854 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_streambuf(basic_ostream_wchar
*this, basic_streambuf_wchar
*val
)
6856 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6857 IOSB_iostate state
= IOSTATE_badbit
;
6858 unsigned short c
= '\n';
6860 TRACE("(%p %p)\n", this, val
);
6862 if(basic_ostream_wchar_sentry_create(this)) {
6863 for(c
= basic_streambuf_wchar_sgetc(val
); c
!=WEOF
;
6864 c
= basic_streambuf_wchar_snextc(val
)) {
6865 state
= IOSTATE_goodbit
;
6867 if(basic_streambuf_wchar_sputc(base
->strbuf
, c
) == WEOF
) {
6868 state
= IOSTATE_badbit
;
6873 state
= IOSTATE_badbit
;
6875 basic_ostream_wchar_sentry_destroy(this);
6877 ios_base_width_set(&base
->base
, 0);
6878 basic_ios_wchar_setstate(base
, state
);
6882 static basic_ostream_wchar
* basic_ostream_print_ptr(basic_ostream_wchar
*this, const void *val
, const num_put
*numput
)
6884 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6885 int state
= IOSTATE_goodbit
;
6887 TRACE("(%p %p)\n", this, val
);
6889 if(basic_ostream_wchar_sentry_create(this)) {
6890 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6891 ostreambuf_iterator_wchar dest
;
6893 memset(&dest
, 0, sizeof(dest
));
6894 dest
.strbuf
= strbuf
;
6895 num_put_wchar_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6897 basic_ostream_wchar_sentry_destroy(this);
6899 basic_ios_wchar_setstate(base
, state
);
6903 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PBX@Z */
6904 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEBX@Z */
6905 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ptr
, 8)
6906 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ptr(basic_ostream_wchar
*this, const void *val
)
6908 return basic_ostream_print_ptr(this, val
, num_put_wchar_use_facet(
6909 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6912 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z */
6913 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEBX@Z */
6914 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ptr
, 8)
6915 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ptr(basic_ostream_wchar
*this, const void *val
)
6917 return basic_ostream_print_ptr(this, val
, num_put_short_use_facet(
6918 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6921 static basic_ostream_wchar
* basic_ostream_print_int64(basic_ostream_wchar
*this, __int64 val
, const num_put
*numput
)
6923 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6924 int state
= IOSTATE_goodbit
;
6926 TRACE("(%p)\n", this);
6928 if(basic_ostream_wchar_sentry_create(this)) {
6929 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6930 ostreambuf_iterator_wchar dest
;
6932 memset(&dest
, 0, sizeof(dest
));
6933 dest
.strbuf
= strbuf
;
6934 num_put_wchar_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6936 basic_ostream_wchar_sentry_destroy(this);
6938 basic_ios_wchar_setstate(base
, state
);
6942 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_J@Z */
6943 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_J@Z */
6944 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int64
, 12)
6945 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int64(basic_ostream_wchar
*this, __int64 val
)
6947 return basic_ostream_print_int64(this, val
, num_put_wchar_use_facet(
6948 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6951 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_J@Z */
6952 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_J@Z */
6953 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int64
, 12)
6954 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int64(basic_ostream_wchar
*this, __int64 val
)
6956 return basic_ostream_print_int64(this, val
, num_put_short_use_facet(
6957 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6960 static basic_ostream_wchar
* basic_ostream_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
, const num_put
*numput
)
6962 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6963 int state
= IOSTATE_goodbit
;
6965 TRACE("(%p)\n", this);
6967 if(basic_ostream_wchar_sentry_create(this)) {
6968 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6969 ostreambuf_iterator_wchar dest
;
6971 memset(&dest
, 0, sizeof(dest
));
6972 dest
.strbuf
= strbuf
;
6973 num_put_wchar_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6975 basic_ostream_wchar_sentry_destroy(this);
6977 basic_ios_wchar_setstate(base
, state
);
6981 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_K@Z */
6982 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_K@Z */
6983 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint64
, 12)
6984 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6986 return basic_ostream_print_uint64(this, val
, num_put_wchar_use_facet(
6987 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6990 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_K@Z */
6991 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_K@Z */
6992 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint64
, 12)
6993 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6995 return basic_ostream_print_uint64(this, val
, num_put_short_use_facet(
6996 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
6999 static basic_ostream_wchar
* basic_ostream_print_bool(basic_ostream_wchar
*this, bool val
, const num_put
*numput
)
7001 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
7002 int state
= IOSTATE_goodbit
;
7004 TRACE("(%p %x)\n", this, val
);
7006 if(basic_ostream_wchar_sentry_create(this)) {
7007 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
7008 ostreambuf_iterator_wchar dest
;
7010 memset(&dest
, 0, sizeof(dest
));
7011 dest
.strbuf
= strbuf
;
7012 num_put_wchar_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
7014 basic_ostream_wchar_sentry_destroy(this);
7016 basic_ios_wchar_setstate(base
, state
);
7020 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_N@Z */
7021 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_N@Z */
7022 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_bool
, 8)
7023 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_bool(basic_ostream_wchar
*this, bool val
)
7025 return basic_ostream_print_bool(this, val
, num_put_wchar_use_facet(
7026 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
7029 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z */
7030 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_N@Z */
7031 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_bool
, 8)
7032 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_bool(basic_ostream_wchar
*this, bool val
)
7034 return basic_ostream_print_bool(this, val
, num_put_short_use_facet(
7035 IOS_LOCALE(basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this)))));
7038 /* ?ends@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
7039 /* ?ends@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
7040 /* ?ends@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
7041 /* ?ends@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
7042 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_ends(basic_ostream_wchar
*ostr
)
7044 TRACE("(%p)\n", ostr
);
7046 basic_ostream_wchar_put(ostr
, 0);
7050 /* ?endl@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
7051 /* ?endl@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
7052 /* ?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
7053 /* ?endl@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
7054 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_endl(basic_ostream_wchar
*ostr
)
7056 TRACE("(%p)\n", ostr
);
7058 basic_ostream_wchar_put(ostr
, '\n');
7059 basic_ostream_wchar_flush(ostr
);
7063 /* ??$?6_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z */
7064 /* ??$?6_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@AEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z */
7065 /* ??$?6GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z */
7066 /* ??$?6GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z */
7067 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_bstr(basic_ostream_wchar
*ostr
, const basic_string_wchar
*str
)
7069 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
7070 IOSB_iostate state
= IOSTATE_goodbit
;
7072 TRACE("(%p %p)\n", ostr
, str
);
7074 if(basic_ostream_wchar_sentry_create(ostr
)) {
7075 size_t len
= MSVCP_basic_string_wchar_length(str
);
7076 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
7078 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
7079 for(; pad
!=0; pad
--) {
7080 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7081 state
= IOSTATE_badbit
;
7087 if(state
== IOSTATE_goodbit
) {
7088 if(basic_streambuf_wchar_sputn(base
->strbuf
, MSVCP_basic_string_wchar_c_str(str
), len
) != len
)
7089 state
= IOSTATE_badbit
;
7092 if(state
== IOSTATE_goodbit
) {
7093 for(; pad
!=0; pad
--) {
7094 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7095 state
= IOSTATE_badbit
;
7101 base
->base
.wide
= 0;
7103 state
= IOSTATE_badbit
;
7105 basic_ostream_wchar_sentry_destroy(ostr
);
7107 basic_ios_wchar_setstate(base
, state
);
7111 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@_W@Z */
7112 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@_W@Z */
7113 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z */
7114 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z */
7115 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_ch(basic_ostream_wchar
*ostr
, wchar_t ch
)
7117 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
7118 IOSB_iostate state
= IOSTATE_goodbit
;
7120 TRACE("(%p %d)\n", ostr
, ch
);
7122 if(basic_ostream_wchar_sentry_create(ostr
)) {
7123 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
7125 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
7126 for(; pad
!=0; pad
--) {
7127 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7128 state
= IOSTATE_badbit
;
7134 if(state
== IOSTATE_goodbit
) {
7135 if(basic_streambuf_wchar_sputc(base
->strbuf
, ch
) == WEOF
)
7136 state
= IOSTATE_badbit
;
7139 if(state
== IOSTATE_goodbit
) {
7140 for(; pad
!=0; pad
--) {
7141 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7142 state
= IOSTATE_badbit
;
7148 base
->base
.wide
= 0;
7150 state
= IOSTATE_badbit
;
7152 basic_ostream_wchar_sentry_destroy(ostr
);
7154 basic_ios_wchar_setstate(base
, state
);
7158 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@PB_W@Z */
7159 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@PEB_W@Z */
7160 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z */
7161 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z */
7162 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_str(basic_ostream_wchar
*ostr
, const wchar_t *str
)
7164 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
7165 IOSB_iostate state
= IOSTATE_goodbit
;
7167 TRACE("(%p %s)\n", ostr
, debugstr_w(str
));
7169 if(basic_ostream_wchar_sentry_create(ostr
)) {
7170 size_t len
= wcslen(str
);
7171 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
7173 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
7174 for(; pad
!=0; pad
--) {
7175 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7176 state
= IOSTATE_badbit
;
7182 if(state
== IOSTATE_goodbit
) {
7183 if(basic_streambuf_wchar_sputn(base
->strbuf
, str
, len
) != len
)
7184 state
= IOSTATE_badbit
;
7187 if(state
== IOSTATE_goodbit
) {
7188 for(; pad
!=0; pad
--) {
7189 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7190 state
= IOSTATE_badbit
;
7196 base
->base
.wide
= 0;
7198 state
= IOSTATE_badbit
;
7200 basic_ostream_wchar_sentry_destroy(ostr
);
7202 basic_ios_wchar_setstate(base
, state
);
7206 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7207 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7208 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7209 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7210 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func
, 8)
7211 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func(basic_ostream_wchar
*this,
7212 basic_ostream_wchar
* (__cdecl
*pfunc
)(basic_ostream_wchar
*))
7214 TRACE("(%p %p)\n", this, pfunc
);
7219 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
7220 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
7221 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
7222 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
7223 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_basic_ios
, 8)
7224 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_basic_ios(basic_ostream_wchar
*this,
7225 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
7227 TRACE("(%p %p)\n", this, pfunc
);
7228 pfunc(basic_ostream_wchar_get_basic_ios(this));
7232 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7233 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7234 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7235 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7236 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_ios_base
, 8)
7237 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_ios_base(
7238 basic_ostream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
7240 TRACE("(%p %p)\n", this, pfunc
);
7241 pfunc(&basic_ostream_wchar_get_basic_ios(this)->base
);
7245 /* ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IAEXAAV12@@Z */
7246 /* ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IEAAXAEAV12@@Z */
7247 /* ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IAEXAAV12@@Z */
7248 /* ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IEAAXAEAV12@@Z */
7249 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_swap
, 8)
7250 void __thiscall
basic_ostream_wchar_swap(basic_ostream_wchar
*this, basic_ostream_wchar
*r
)
7252 TRACE("(%p %p)\n", this, r
);
7257 basic_ios_wchar_swap(basic_ostream_wchar_get_basic_ios(this),
7258 basic_ostream_wchar_get_basic_ios(r
));
7261 /* Caution: basic_istream uses virtual inheritance. */
7262 static inline basic_ios_char
* basic_istream_char_get_basic_ios(basic_istream_char
*this)
7264 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
7267 static inline basic_ios_char
* basic_istream_char_to_basic_ios(basic_istream_char
*ptr
)
7269 return (basic_ios_char
*)((char*)ptr
+basic_istream_char_vbtable
[1]);
7272 static inline basic_istream_char
* basic_istream_char_from_basic_ios(basic_ios_char
*ptr
)
7274 return (basic_istream_char
*)((char*)ptr
-basic_istream_char_vbtable
[1]);
7277 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7278 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7279 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_init
, 20)
7280 basic_istream_char
* __thiscall
basic_istream_char_ctor_init(basic_istream_char
*this, basic_streambuf_char
*strbuf
, bool isstd
, bool noinit
, bool virt_init
)
7282 basic_ios_char
*base
;
7284 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
7287 this->vbtable
= basic_istream_char_vbtable
;
7288 base
= basic_istream_char_get_basic_ios(this);
7289 basic_ios_char_ctor(base
);
7291 base
= basic_istream_char_get_basic_ios(this);
7294 base
->base
.vtable
= &basic_istream_char_vtable
;
7297 basic_ios_char_init(base
, strbuf
, isstd
);
7301 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7302 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7303 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor
, 16)
7304 basic_istream_char
* __thiscall
basic_istream_char_ctor(basic_istream_char
*this, basic_streambuf_char
*strbuf
, bool isstd
, bool virt_init
)
7306 return basic_istream_char_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
7309 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
7310 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
7311 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_uninitialized
, 12)
7312 basic_istream_char
* __thiscall
basic_istream_char_ctor_uninitialized(basic_istream_char
*this, int uninitialized
, bool virt_init
)
7314 basic_ios_char
*base
;
7316 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
7319 this->vbtable
= basic_istream_char_vbtable
;
7320 base
= basic_istream_char_get_basic_ios(this);
7321 basic_ios_char_ctor(base
);
7323 base
= basic_istream_char_get_basic_ios(this);
7326 base
->base
.vtable
= &basic_istream_char_vtable
;
7327 ios_base_Addstd(&base
->base
);
7331 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ */
7332 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
7333 DEFINE_THISCALL_WRAPPER(basic_istream_char_dtor
, 4)
7334 void __thiscall
basic_istream_char_dtor(basic_ios_char
*base
)
7336 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7338 /* don't destroy virtual base here */
7339 TRACE("(%p)\n", this);
7342 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7343 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7344 DEFINE_THISCALL_WRAPPER(basic_istream_char_vbase_dtor
, 4)
7345 void __thiscall
basic_istream_char_vbase_dtor(basic_istream_char
*this)
7347 TRACE("(%p)\n", this);
7348 basic_istream_char_dtor(basic_istream_char_to_basic_ios(this));
7349 basic_ios_char_dtor(basic_istream_char_get_basic_ios(this));
7352 DEFINE_THISCALL_WRAPPER(basic_istream_char_vector_dtor
, 8)
7353 basic_istream_char
* __thiscall
basic_istream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
7355 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7357 TRACE("(%p %x)\n", this, flags
);
7360 /* we have an array, with the number of elements stored before the first object */
7361 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
7363 for(i
=*ptr
-1; i
>=0; i
--)
7364 basic_istream_char_vbase_dtor(this+i
);
7365 operator_delete(ptr
);
7367 basic_istream_char_vbase_dtor(this);
7369 operator_delete(this);
7375 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7376 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7377 DEFINE_THISCALL_WRAPPER(basic_istream_char__Ipfx
, 8)
7378 bool __thiscall
basic_istream_char__Ipfx(basic_istream_char
*this, bool noskip
)
7380 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7382 TRACE("(%p %d)\n", this, noskip
);
7384 if(ios_base_good(&base
->base
)) {
7385 if(basic_ios_char_tie_get(base
))
7386 basic_ostream_char_flush(basic_ios_char_tie_get(base
));
7388 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
7389 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7390 const ctype_char
*ctype
= ctype_char_use_facet(IOS_LOCALE(base
->strbuf
));
7393 for(ch
= basic_streambuf_char_sgetc(strbuf
); ;
7394 ch
= basic_streambuf_char_snextc(strbuf
)) {
7395 if(ch
==EOF
|| !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
7401 if(!ios_base_good(&base
->base
)) {
7402 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7409 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7410 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7411 DEFINE_THISCALL_WRAPPER(basic_istream_char_ipfx
, 8)
7412 bool __thiscall
basic_istream_char_ipfx(basic_istream_char
*this, bool noskip
)
7414 return basic_istream_char__Ipfx(this, noskip
);
7417 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7418 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7419 DEFINE_THISCALL_WRAPPER(basic_istream_char_isfx
, 4)
7420 void __thiscall
basic_istream_char_isfx(basic_istream_char
*this)
7422 TRACE("(%p)\n", this);
7425 static BOOL
basic_istream_char_sentry_create(basic_istream_char
*istr
, bool noskip
)
7427 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7429 if(basic_ios_char_rdbuf_get(base
))
7430 call_basic_streambuf_char__Lock(base
->strbuf
);
7432 return basic_istream_char_ipfx(istr
, noskip
);
7435 static void basic_istream_char_sentry_destroy(basic_istream_char
*istr
)
7437 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7439 if(basic_ios_char_rdbuf_get(base
))
7440 call_basic_streambuf_char__Unlock(base
->strbuf
);
7443 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ */
7444 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QEBA_JXZ */
7445 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBA_JXZ */
7446 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_JXZ */
7447 DEFINE_THISCALL_WRAPPER(basic_istream_char_gcount
, 4)
7448 streamsize __thiscall
basic_istream_char_gcount(const basic_istream_char
*this)
7450 TRACE("(%p)\n", this);
7454 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7455 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7456 DEFINE_THISCALL_WRAPPER(basic_istream_char_get
, 4)
7457 int __thiscall
basic_istream_char_get(basic_istream_char
*this)
7459 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7462 TRACE("(%p)\n", this);
7466 if(!basic_istream_char_sentry_create(this, TRUE
)) {
7467 basic_istream_char_sentry_destroy(this);
7471 ret
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(base
));
7472 basic_istream_char_sentry_destroy(this);
7474 basic_ios_char_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
7481 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z */
7482 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAD@Z */
7483 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_ch
, 8)
7484 basic_istream_char
* __thiscall
basic_istream_char_get_ch(basic_istream_char
*this, char *ch
)
7488 TRACE("(%p %p)\n", this, ch
);
7490 ret
= basic_istream_char_get(this);
7496 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7497 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7498 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str_delim
, 16)
7499 basic_istream_char
* __thiscall
basic_istream_char_get_str_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7501 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7504 TRACE("(%p %p %Id %s)\n", this, str
, count
, debugstr_an(&delim
, 1));
7508 if(basic_istream_char_sentry_create(this, TRUE
)) {
7509 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7511 for(ch
= basic_streambuf_char_sgetc(strbuf
); count
>1;
7512 ch
= basic_streambuf_char_snextc(strbuf
)) {
7513 if(ch
==EOF
|| ch
==delim
)
7521 basic_istream_char_sentry_destroy(this);
7523 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7524 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7530 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7531 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7532 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str
, 12)
7533 basic_istream_char
* __thiscall
basic_istream_char_get_str(basic_istream_char
*this, char *str
, streamsize count
)
7535 return basic_istream_char_get_str_delim(this, str
, count
, '\n');
7538 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7539 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7540 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf_delim
, 12)
7541 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf_delim(basic_istream_char
*this, basic_streambuf_char
*strbuf
, char delim
)
7543 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7546 TRACE("(%p %p %s)\n", this, strbuf
, debugstr_an(&delim
, 1));
7550 if(basic_istream_char_sentry_create(this, TRUE
)) {
7551 basic_streambuf_char
*strbuf_read
= basic_ios_char_rdbuf_get(base
);
7553 for(ch
= basic_streambuf_char_sgetc(strbuf_read
); ;
7554 ch
= basic_streambuf_char_snextc(strbuf_read
)) {
7555 if(ch
==EOF
|| ch
==delim
)
7558 if(basic_streambuf_char_sputc(strbuf
, ch
) == EOF
)
7563 basic_istream_char_sentry_destroy(this);
7565 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7566 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7570 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7571 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7572 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf
, 8)
7573 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf(basic_istream_char
*this, basic_streambuf_char
*strbuf
)
7575 return basic_istream_char_get_streambuf_delim(this, strbuf
, '\n');
7578 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7579 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7580 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline_delim
, 16)
7581 basic_istream_char
* __thiscall
basic_istream_char_getline_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7583 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7584 int ch
= (unsigned char)delim
;
7586 TRACE("(%p %p %Id %s)\n", this, str
, count
, debugstr_an(&delim
, 1));
7590 if(basic_istream_char_sentry_create(this, TRUE
) && count
>0) {
7591 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7594 ch
= basic_streambuf_char_sbumpc(strbuf
);
7596 if(ch
==EOF
|| ch
==(unsigned char)delim
)
7604 if(ch
== (unsigned char)delim
)
7606 else if(ch
!= EOF
) {
7607 ch
= basic_streambuf_char_sgetc(strbuf
);
7609 if(ch
== (unsigned char)delim
) {
7610 basic_streambuf_char__Gninc(strbuf
);
7615 basic_istream_char_sentry_destroy(this);
7617 basic_ios_char_setstate(base
, (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
7618 (!this->count
|| (ch
!=(unsigned char)delim
&& ch
!=EOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
7624 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7625 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7626 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline
, 12)
7627 basic_istream_char
* __thiscall
basic_istream_char_getline(basic_istream_char
*this, char *str
, streamsize count
)
7629 return basic_istream_char_getline_delim(this, str
, count
, '\n');
7632 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z */
7633 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7634 DEFINE_THISCALL_WRAPPER(basic_istream_char_ignore
, 12)
7635 basic_istream_char
* __thiscall
basic_istream_char_ignore(basic_istream_char
*this, streamsize count
, int delim
)
7637 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7638 int ch
= (unsigned char)delim
;
7641 TRACE("(%p %Id %d)\n", this, count
, delim
);
7645 if(basic_istream_char_sentry_create(this, TRUE
)) {
7646 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7647 state
= IOSTATE_goodbit
;
7650 ch
= basic_streambuf_char_sbumpc(strbuf
);
7653 state
= IOSTATE_eofbit
;
7661 if(count
!= INT_MAX
)
7665 state
= IOSTATE_failbit
;
7666 basic_istream_char_sentry_destroy(this);
7668 basic_ios_char_setstate(base
, state
);
7672 /* ?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z */
7673 /* ?ws@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
7674 basic_istream_char
* __cdecl
ws_basic_istream_char(basic_istream_char
*istream
)
7676 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
7679 TRACE("(%p)\n", istream
);
7681 if(basic_istream_char_sentry_create(istream
, TRUE
)) {
7682 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7683 const ctype_char
*ctype
= ctype_char_use_facet(IOS_LOCALE(strbuf
));
7685 for(ch
= basic_streambuf_char_sgetc(strbuf
); ctype_char_is_ch(ctype
, _SPACE
, ch
);
7686 ch
= basic_streambuf_char_snextc(strbuf
)) {
7691 basic_istream_char_sentry_destroy(istream
);
7694 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7698 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7699 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7700 DEFINE_THISCALL_WRAPPER(basic_istream_char_peek
, 4)
7701 int __thiscall
basic_istream_char_peek(basic_istream_char
*this)
7703 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7706 TRACE("(%p)\n", this);
7710 if(basic_istream_char_sentry_create(this, TRUE
))
7711 ret
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
7712 basic_istream_char_sentry_destroy(this);
7715 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7720 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADIH@Z */
7721 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_K_J@Z */
7722 DEFINE_THISCALL_WRAPPER(basic_istream_char__Read_s
, 16)
7723 basic_istream_char
* __thiscall
basic_istream_char__Read_s(basic_istream_char
*this, char *str
, size_t size
, streamsize count
)
7725 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7726 IOSB_iostate state
= IOSTATE_goodbit
;
7728 TRACE("(%p %p %Iu %Id)\n", this, str
, size
, count
);
7730 if(basic_istream_char_sentry_create(this, TRUE
)) {
7731 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7733 this->count
= basic_streambuf_char__Sgetn_s(strbuf
, str
, size
, count
);
7734 if(this->count
!= count
)
7735 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
7739 basic_istream_char_sentry_destroy(this);
7741 basic_ios_char_setstate(base
, state
);
7745 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7746 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7747 DEFINE_THISCALL_WRAPPER(basic_istream_char_read
, 12)
7748 basic_istream_char
* __thiscall
basic_istream_char_read(basic_istream_char
*this, char *str
, streamsize count
)
7750 return basic_istream_char__Read_s(this, str
, -1, count
);
7753 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
7754 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
7755 DEFINE_THISCALL_WRAPPER(basic_istream_char__Readsome_s
, 16)
7756 streamsize __thiscall
basic_istream_char__Readsome_s(basic_istream_char
*this, char *str
, size_t size
, streamsize count
)
7758 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7759 IOSB_iostate state
= IOSTATE_goodbit
;
7761 TRACE("(%p %p %Iu %Id)\n", this, str
, size
, count
);
7765 if(basic_istream_char_sentry_create(this, TRUE
)) {
7766 streamsize avail
= basic_streambuf_char_in_avail(basic_ios_char_rdbuf_get(base
));
7771 state
|= IOSTATE_eofbit
;
7773 basic_istream_char__Read_s(this, str
, size
, avail
);
7775 state
|= IOSTATE_failbit
;
7777 basic_istream_char_sentry_destroy(this);
7779 basic_ios_char_setstate(base
, state
);
7783 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
7784 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
7785 DEFINE_THISCALL_WRAPPER(basic_istream_char_readsome
, 12)
7786 streamsize __thiscall
basic_istream_char_readsome(basic_istream_char
*this, char *str
, streamsize count
)
7788 return basic_istream_char__Readsome_s(this, str
, count
, count
);
7791 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
7792 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
7793 DEFINE_THISCALL_WRAPPER(basic_istream_char_putback
, 8)
7794 basic_istream_char
* __thiscall
basic_istream_char_putback(basic_istream_char
*this, char ch
)
7796 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7797 IOSB_iostate state
= IOSTATE_goodbit
;
7799 TRACE("(%p %c)\n", this, ch
);
7803 if(basic_istream_char_sentry_create(this, TRUE
)) {
7804 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7806 if(!ios_base_good(&base
->base
))
7807 state
|= IOSTATE_failbit
;
7808 else if(!strbuf
|| basic_streambuf_char_sputbackc(strbuf
, ch
)==EOF
)
7809 state
|= IOSTATE_badbit
;
7811 basic_istream_char_sentry_destroy(this);
7813 basic_ios_char_setstate(base
, state
);
7817 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
7818 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
7819 DEFINE_THISCALL_WRAPPER(basic_istream_char_unget
, 4)
7820 basic_istream_char
* __thiscall
basic_istream_char_unget(basic_istream_char
*this)
7822 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7823 IOSB_iostate state
= IOSTATE_goodbit
;
7825 TRACE("(%p)\n", this);
7829 if(basic_istream_char_sentry_create(this, TRUE
)) {
7830 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7832 if(!ios_base_good(&base
->base
))
7833 state
|= IOSTATE_failbit
;
7834 else if(!strbuf
|| basic_streambuf_char_sungetc(strbuf
)==EOF
)
7835 state
|= IOSTATE_badbit
;
7837 basic_istream_char_sentry_destroy(this);
7839 basic_ios_char_setstate(base
, state
);
7843 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7844 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7845 DEFINE_THISCALL_WRAPPER(basic_istream_char_sync
, 4)
7846 int __thiscall
basic_istream_char_sync(basic_istream_char
*this)
7848 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7849 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7851 TRACE("(%p)\n", this);
7856 if(basic_istream_char_sentry_create(this, TRUE
)) {
7857 if(basic_streambuf_char_pubsync(strbuf
) != -1) {
7858 basic_istream_char_sentry_destroy(this);
7862 basic_istream_char_sentry_destroy(this);
7864 basic_ios_char_setstate(base
, IOSTATE_badbit
);
7868 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
7869 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
7870 DEFINE_THISCALL_WRAPPER(basic_istream_char_tellg
, 8)
7871 fpos_int
* __thiscall
basic_istream_char_tellg(basic_istream_char
*this, fpos_int
*ret
)
7873 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7875 TRACE("(%p %p)\n", this, ret
);
7877 if(ios_base_fail(&base
->base
)) {
7884 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
7885 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
7890 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z */
7891 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z */
7892 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
7893 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7894 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg
, 12)
7895 basic_istream_char
* __thiscall
basic_istream_char_seekg(basic_istream_char
*this, streamoff off
, int dir
)
7897 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7899 TRACE("(%p %Id %d)\n", this, off
, dir
);
7901 if(!ios_base_fail(&base
->base
)) {
7902 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7905 basic_streambuf_char_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
7911 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
7912 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
7913 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg_fpos
, 28)
7914 basic_istream_char
* __thiscall
basic_istream_char_seekg_fpos(basic_istream_char
*this, fpos_int pos
)
7916 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7918 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
7920 if(!ios_base_fail(&base
->base
)) {
7921 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7924 basic_streambuf_char_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
7930 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z */
7931 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAF@Z */
7932 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_short
, 8)
7933 basic_istream_char
* __thiscall
basic_istream_char_read_short(basic_istream_char
*this, short *v
)
7935 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7936 int state
= IOSTATE_goodbit
;
7938 TRACE("(%p %p)\n", this, v
);
7940 if(basic_istream_char_sentry_create(this, FALSE
)) {
7941 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7942 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
7943 istreambuf_iterator_char first
={0}, last
={0};
7946 first
.strbuf
= strbuf
;
7947 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
7949 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
7952 state
|= IOSTATE_failbit
;
7954 basic_istream_char_sentry_destroy(this);
7956 basic_ios_char_setstate(base
, state
);
7960 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z */
7961 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAG@Z */
7962 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ushort
, 8)
7963 basic_istream_char
* __thiscall
basic_istream_char_read_ushort(basic_istream_char
*this, unsigned short *v
)
7965 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7966 int state
= IOSTATE_goodbit
;
7968 TRACE("(%p %p)\n", this, v
);
7970 if(basic_istream_char_sentry_create(this, FALSE
)) {
7971 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7972 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
7973 istreambuf_iterator_char first
={0}, last
={0};
7975 first
.strbuf
= strbuf
;
7976 num_get_char_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7978 basic_istream_char_sentry_destroy(this);
7980 basic_ios_char_setstate(base
, state
);
7984 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z */
7985 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z */
7986 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int
, 8)
7987 basic_istream_char
* __thiscall
basic_istream_char_read_int(basic_istream_char
*this, int *v
)
7989 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7990 int state
= IOSTATE_goodbit
;
7992 TRACE("(%p %p)\n", this, v
);
7994 if(basic_istream_char_sentry_create(this, FALSE
)) {
7995 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7996 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
7997 istreambuf_iterator_char first
={0}, last
={0};
7999 first
.strbuf
= strbuf
;
8000 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, (LONG
*)v
);
8002 basic_istream_char_sentry_destroy(this);
8004 basic_ios_char_setstate(base
, state
);
8008 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z */
8009 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAI@Z */
8010 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint
, 8)
8011 basic_istream_char
* __thiscall
basic_istream_char_read_uint(basic_istream_char
*this, unsigned int *v
)
8013 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8014 int state
= IOSTATE_goodbit
;
8016 TRACE("(%p %p)\n", this, v
);
8018 if(basic_istream_char_sentry_create(this, FALSE
)) {
8019 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8020 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8021 istreambuf_iterator_char first
={0}, last
={0};
8023 first
.strbuf
= strbuf
;
8024 num_get_char_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8026 basic_istream_char_sentry_destroy(this);
8028 basic_ios_char_setstate(base
, state
);
8032 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z */
8033 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAJ@Z */
8034 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_long
, 8)
8035 basic_istream_char
* __thiscall
basic_istream_char_read_long(basic_istream_char
*this, LONG
*v
)
8037 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8038 int state
= IOSTATE_goodbit
;
8040 TRACE("(%p %p)\n", this, v
);
8042 if(basic_istream_char_sentry_create(this, FALSE
)) {
8043 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8044 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8045 istreambuf_iterator_char first
={0}, last
={0};
8047 first
.strbuf
= strbuf
;
8048 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8050 basic_istream_char_sentry_destroy(this);
8052 basic_ios_char_setstate(base
, state
);
8056 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z */
8057 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAK@Z */
8058 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ulong
, 8)
8059 basic_istream_char
* __thiscall
basic_istream_char_read_ulong(basic_istream_char
*this, ULONG
*v
)
8061 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8062 int state
= IOSTATE_goodbit
;
8064 TRACE("(%p %p)\n", this, v
);
8066 if(basic_istream_char_sentry_create(this, FALSE
)) {
8067 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8068 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8069 istreambuf_iterator_char first
={0}, last
={0};
8071 first
.strbuf
= strbuf
;
8072 num_get_char_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8074 basic_istream_char_sentry_destroy(this);
8076 basic_ios_char_setstate(base
, state
);
8080 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z */
8081 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAM@Z */
8082 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_float
, 8)
8083 basic_istream_char
* __thiscall
basic_istream_char_read_float(basic_istream_char
*this, float *v
)
8085 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8086 int state
= IOSTATE_goodbit
;
8088 TRACE("(%p %p)\n", this, v
);
8090 if(basic_istream_char_sentry_create(this, FALSE
)) {
8091 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8092 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8093 istreambuf_iterator_char first
={0}, last
={0};
8095 first
.strbuf
= strbuf
;
8096 num_get_char_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8098 basic_istream_char_sentry_destroy(this);
8100 basic_ios_char_setstate(base
, state
);
8104 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z */
8105 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAN@Z */
8106 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_double
, 8)
8107 basic_istream_char
* __thiscall
basic_istream_char_read_double(basic_istream_char
*this, double *v
)
8109 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8110 int state
= IOSTATE_goodbit
;
8112 TRACE("(%p %p)\n", this, v
);
8114 if(basic_istream_char_sentry_create(this, FALSE
)) {
8115 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8116 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8117 istreambuf_iterator_char first
={0}, last
={0};
8119 first
.strbuf
= strbuf
;
8120 num_get_char_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8122 basic_istream_char_sentry_destroy(this);
8124 basic_ios_char_setstate(base
, state
);
8128 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z */
8129 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAO@Z */
8130 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ldouble
, 8)
8131 basic_istream_char
* __thiscall
basic_istream_char_read_ldouble(basic_istream_char
*this, double *v
)
8133 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8134 int state
= IOSTATE_goodbit
;
8136 TRACE("(%p %p)\n", this, v
);
8138 if(basic_istream_char_sentry_create(this, FALSE
)) {
8139 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8140 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8141 istreambuf_iterator_char first
={0}, last
={0};
8143 first
.strbuf
= strbuf
;
8144 num_get_char_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8146 basic_istream_char_sentry_destroy(this);
8148 basic_ios_char_setstate(base
, state
);
8152 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z */
8153 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
8154 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ptr
, 8)
8155 basic_istream_char
* __thiscall
basic_istream_char_read_ptr(basic_istream_char
*this, void **v
)
8157 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8158 int state
= IOSTATE_goodbit
;
8160 TRACE("(%p %p)\n", this, v
);
8162 if(basic_istream_char_sentry_create(this, FALSE
)) {
8163 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8164 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8165 istreambuf_iterator_char first
={0}, last
={0};
8167 first
.strbuf
= strbuf
;
8168 num_get_char_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8170 basic_istream_char_sentry_destroy(this);
8172 basic_ios_char_setstate(base
, state
);
8176 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_J@Z */
8177 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_J@Z */
8178 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int64
, 8)
8179 basic_istream_char
* __thiscall
basic_istream_char_read_int64(basic_istream_char
*this, __int64
*v
)
8181 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8182 int state
= IOSTATE_goodbit
;
8184 TRACE("(%p %p)\n", this, v
);
8186 if(basic_istream_char_sentry_create(this, FALSE
)) {
8187 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8188 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8189 istreambuf_iterator_char first
={0}, last
={0};
8191 first
.strbuf
= strbuf
;
8192 num_get_char_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8194 basic_istream_char_sentry_destroy(this);
8196 basic_ios_char_setstate(base
, state
);
8200 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_K@Z */
8201 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_K@Z */
8202 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint64
, 8)
8203 basic_istream_char
* __thiscall
basic_istream_char_read_uint64(basic_istream_char
*this, unsigned __int64
*v
)
8205 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8206 int state
= IOSTATE_goodbit
;
8208 TRACE("(%p %p)\n", this, v
);
8210 if(basic_istream_char_sentry_create(this, FALSE
)) {
8211 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8212 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8213 istreambuf_iterator_char first
={0}, last
={0};
8215 first
.strbuf
= strbuf
;
8216 num_get_char_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8218 basic_istream_char_sentry_destroy(this);
8220 basic_ios_char_setstate(base
, state
);
8224 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z */
8225 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_N@Z */
8226 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_bool
, 8)
8227 basic_istream_char
* __thiscall
basic_istream_char_read_bool(basic_istream_char
*this, bool *v
)
8229 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8230 int state
= IOSTATE_goodbit
;
8232 TRACE("(%p %p)\n", this, v
);
8234 if(basic_istream_char_sentry_create(this, FALSE
)) {
8235 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8236 const num_get
*numget
= num_get_char_use_facet(IOS_LOCALE(strbuf
));
8237 istreambuf_iterator_char first
={0}, last
={0};
8239 first
.strbuf
= strbuf
;
8240 num_get_char_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8242 basic_istream_char_sentry_destroy(this);
8244 basic_ios_char_setstate(base
, state
);
8248 /* ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z */
8249 /* ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z */
8250 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr_delim(
8251 basic_istream_char
*istream
, basic_string_char
*str
, char delim
)
8253 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8254 IOSB_iostate state
= IOSTATE_goodbit
;
8255 int c
= (unsigned char)delim
;
8257 TRACE("(%p %p %s)\n", istream
, str
, debugstr_an(&delim
, 1));
8259 MSVCP_basic_string_char_clear(str
);
8260 if(basic_istream_char_sentry_create(istream
, TRUE
)) {
8261 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8263 c
= basic_streambuf_char_sgetc(strbuf
);
8264 for(; c
!=(unsigned char)delim
&& c
!=EOF
; c
= basic_streambuf_char_snextc(strbuf
))
8265 MSVCP_basic_string_char_append_ch(str
, c
);
8266 if(c
==EOF
) state
|= IOSTATE_eofbit
;
8267 else if(c
==(unsigned char)delim
) basic_streambuf_char_sbumpc(strbuf
);
8269 if(!MSVCP_basic_string_char_length(str
) && c
!=(unsigned char)delim
) state
|= IOSTATE_failbit
;
8271 basic_istream_char_sentry_destroy(istream
);
8273 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
), state
);
8277 /* ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z */
8278 /* ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z */
8279 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr(
8280 basic_istream_char
*istream
, basic_string_char
*str
)
8282 return basic_istream_char_getline_bstr_delim(istream
, str
, '\n');
8285 /* ??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z */
8286 /* ??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z */
8287 basic_istream_char
* __cdecl
basic_istream_char_read_bstr(
8288 basic_istream_char
*istream
, basic_string_char
*str
)
8290 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8291 IOSB_iostate state
= IOSTATE_failbit
;
8294 TRACE("(%p %p)\n", istream
, str
);
8296 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8297 const ctype_char
*ctype
= ctype_char_use_facet(IOS_LOCALE(base
->strbuf
));
8298 size_t count
= ios_base_width_get(&base
->base
);
8303 MSVCP_basic_string_char_clear(str
);
8305 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8306 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8307 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8308 state
= IOSTATE_goodbit
;
8309 MSVCP_basic_string_char_append_ch(str
, c
);
8312 basic_istream_char_sentry_destroy(istream
);
8314 ios_base_width_set(&base
->base
, 0);
8315 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8319 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z */
8320 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z */
8321 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z */
8322 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z */
8323 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z */
8324 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z */
8325 basic_istream_char
* __cdecl
basic_istream_char_read_str(basic_istream_char
*istream
, char *str
)
8327 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8328 IOSB_iostate state
= IOSTATE_failbit
;
8331 TRACE("(%p %p)\n", istream
, str
);
8333 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8334 const ctype_char
*ctype
= ctype_char_use_facet(IOS_LOCALE(base
->strbuf
));
8335 size_t count
= ios_base_width_get(&base
->base
)-1;
8337 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8338 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8339 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8340 state
= IOSTATE_goodbit
;
8344 basic_istream_char_sentry_destroy(istream
);
8347 ios_base_width_set(&base
->base
, 0);
8348 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8352 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z */
8353 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z */
8354 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z */
8355 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z */
8356 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z */
8357 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z */
8358 basic_istream_char
* __cdecl
basic_istream_char_read_ch(basic_istream_char
*istream
, char *ch
)
8360 IOSB_iostate state
= IOSTATE_failbit
;
8363 TRACE("(%p %p)\n", istream
, ch
);
8365 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8366 c
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(
8367 basic_istream_char_get_basic_ios(istream
)));
8369 state
= IOSTATE_goodbit
;
8373 basic_istream_char_sentry_destroy(istream
);
8375 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8376 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8380 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8381 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8382 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_streambuf
, 8)
8383 basic_istream_char
* __thiscall
basic_istream_char_read_streambuf(
8384 basic_istream_char
*this, basic_streambuf_char
*streambuf
)
8386 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8387 IOSB_iostate state
= IOSTATE_failbit
;
8390 TRACE("(%p %p)\n", this, streambuf
);
8392 if(basic_istream_char_sentry_create(this, FALSE
)) {
8393 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
)); c
!=EOF
;
8394 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
))) {
8395 state
= IOSTATE_goodbit
;
8396 if(basic_streambuf_char_sputc(streambuf
, c
) == EOF
)
8400 basic_istream_char_sentry_destroy(this);
8402 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8406 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
8407 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
8408 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func
, 8)
8409 basic_istream_char
* __thiscall
basic_istream_char_read_func(basic_istream_char
*this,
8410 basic_istream_char
* (__cdecl
*pfunc
)(basic_istream_char
*))
8412 TRACE("(%p %p)\n", this, pfunc
);
8417 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
8418 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
8419 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_basic_ios
, 8)
8420 basic_istream_char
* __thiscall
basic_istream_char_read_func_basic_ios(basic_istream_char
*this,
8421 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
8423 TRACE("(%p %p)\n", this, pfunc
);
8424 pfunc(basic_istream_char_get_basic_ios(this));
8428 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
8429 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
8430 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_ios_base
, 8)
8431 basic_istream_char
* __thiscall
basic_istream_char_read_func_ios_base(basic_istream_char
*this,
8432 ios_base
* (__cdecl
*pfunc
)(ios_base
*))
8434 TRACE("(%p %p)\n", this, pfunc
);
8435 pfunc(&basic_istream_char_get_basic_ios(this)->base
);
8439 /* ??$?5MDU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z */
8440 /* ??$?5MDU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@M@0@@Z */
8441 basic_istream_char
* __cdecl
basic_istream_char_read_complex_float(basic_istream_char
*this, complex_float
*v
)
8444 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8446 TRACE("(%p %p)\n", this, v
);
8448 ws_basic_istream_char(this);
8449 if(basic_istream_char_peek(this) == '(') {
8451 basic_istream_char_get(this);
8452 basic_istream_char_read_float(this, &r
);
8454 if(ios_base_fail(&base
->base
))
8457 ws_basic_istream_char(this);
8458 c
= basic_istream_char_peek(this);
8461 basic_istream_char_get(this);
8462 basic_istream_char_read_float(this, &i
);
8464 if(ios_base_fail(&base
->base
))
8467 ws_basic_istream_char(this);
8468 c
= basic_istream_char_peek(this);
8469 if(c
== ')') { /* supported format: (real, imag) */
8470 basic_istream_char_get(this);
8474 basic_ios_char_setstate(base
, IOSTATE_failbit
);
8477 }else if(c
== ')') { /* supported format: (real) */
8478 basic_istream_char_get(this);
8482 basic_ios_char_setstate(base
, IOSTATE_failbit
);
8485 }else { /* supported format: real */
8486 basic_istream_char_read_float(this, &r
);
8488 if(ios_base_fail(&base
->base
))
8498 /* ??$?5NDU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z */
8499 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@N@0@@Z */
8500 basic_istream_char
* __cdecl
basic_istream_char_read_complex_double(basic_istream_char
*this, complex_double
*v
)
8503 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8505 TRACE("(%p %p)\n", this, v
);
8507 ws_basic_istream_char(this);
8508 if(basic_istream_char_peek(this) == '(') {
8510 basic_istream_char_get(this);
8511 basic_istream_char_read_double(this, &r
);
8513 if(ios_base_fail(&base
->base
))
8516 ws_basic_istream_char(this);
8517 c
= basic_istream_char_peek(this);
8520 basic_istream_char_get(this);
8521 basic_istream_char_read_double(this, &i
);
8523 if(ios_base_fail(&base
->base
))
8526 ws_basic_istream_char(this);
8527 c
= basic_istream_char_peek(this);
8528 if(c
== ')') { /* supported format: (real, imag) */
8529 basic_istream_char_get(this);
8533 basic_ios_char_setstate(base
, IOSTATE_failbit
);
8536 }else if(c
== ')') { /* supported format: (real) */
8537 basic_istream_char_get(this);
8541 basic_ios_char_setstate(base
, IOSTATE_failbit
);
8544 }else { /* supported format: real */
8545 basic_istream_char_read_double(this, &r
);
8547 if(ios_base_fail(&base
->base
))
8557 /* ??$?5ODU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z */
8558 /* ??$?5ODU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@O@0@@Z */
8559 basic_istream_char
* __cdecl
basic_istream_char_read_complex_ldouble(basic_istream_char
*this, complex_double
*v
)
8562 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8564 TRACE("(%p %p)\n", this, v
);
8566 ws_basic_istream_char(this);
8567 if(basic_istream_char_peek(this) == '(') {
8569 basic_istream_char_get(this);
8570 basic_istream_char_read_ldouble(this, &r
);
8572 if(ios_base_fail(&base
->base
))
8575 ws_basic_istream_char(this);
8576 c
= basic_istream_char_peek(this);
8579 basic_istream_char_get(this);
8580 basic_istream_char_read_ldouble(this, &i
);
8582 if(ios_base_fail(&base
->base
))
8585 ws_basic_istream_char(this);
8586 c
= basic_istream_char_peek(this);
8587 if(c
== ')') { /* supported format: (real, imag) */
8588 basic_istream_char_get(this);
8592 basic_ios_char_setstate(base
, IOSTATE_failbit
);
8595 }else if(c
== ')') { /* supported format: (real) */
8596 basic_istream_char_get(this);
8600 basic_ios_char_setstate(base
, IOSTATE_failbit
);
8603 }else { /* supported format: real */
8604 basic_istream_char_read_ldouble(this, &r
);
8606 if(ios_base_fail(&base
->base
))
8616 /* ?swap@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXAAV12@@Z */
8617 /* ?swap@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXAEAV12@@Z */
8618 DEFINE_THISCALL_WRAPPER(basic_istream_char_swap
, 8)
8619 void __thiscall
basic_istream_char_swap(basic_istream_char
*this, basic_istream_char
*r
)
8621 TRACE("(%p %p)\n", this, r
);
8626 basic_ios_char_swap(basic_istream_char_get_basic_ios(this),
8627 basic_istream_char_get_basic_ios(r
));
8628 this->count
^= r
->count
;
8629 r
->count
^= this->count
;
8630 this->count
^= r
->count
;
8633 /* Caution: basic_istream uses virtual inheritance. */
8634 static inline basic_ios_wchar
* basic_istream_wchar_get_basic_ios(basic_istream_wchar
*this)
8636 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
8639 static inline basic_ios_wchar
* basic_istream_wchar_to_basic_ios(basic_istream_wchar
*ptr
)
8641 return (basic_ios_wchar
*)((char*)ptr
+basic_istream_wchar_vbtable
[1]);
8644 static inline basic_istream_wchar
* basic_istream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
8646 return (basic_istream_wchar
*)((char*)ptr
-basic_istream_wchar_vbtable
[1]);
8649 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8650 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8651 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_init
, 20)
8652 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_init(basic_istream_wchar
*this,
8653 basic_streambuf_wchar
*strbuf
, bool isstd
, bool noinit
, bool virt_init
)
8655 basic_ios_wchar
*base
;
8657 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
8660 this->vbtable
= basic_istream_wchar_vbtable
;
8661 base
= basic_istream_wchar_get_basic_ios(this);
8662 basic_ios_wchar_ctor(base
);
8664 base
= basic_istream_wchar_get_basic_ios(this);
8667 base
->base
.vtable
= &basic_istream_wchar_vtable
;
8670 basic_ios_wchar_init(base
, strbuf
, isstd
);
8674 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8675 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8676 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_init
, 20)
8677 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_init(basic_istream_wchar
*this,
8678 basic_streambuf_wchar
*strbuf
, bool isstd
, bool noinit
, bool virt_init
)
8680 basic_istream_wchar_ctor_init(this, strbuf
, isstd
, noinit
, virt_init
);
8681 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &basic_istream_short_vtable
;
8685 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8686 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8687 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor
, 16)
8688 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor(basic_istream_wchar
*this,
8689 basic_streambuf_wchar
*strbuf
, bool isstd
, bool virt_init
)
8691 return basic_istream_wchar_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8694 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8695 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8696 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor
, 16)
8697 basic_istream_wchar
* __thiscall
basic_istream_short_ctor(basic_istream_wchar
*this,
8698 basic_streambuf_wchar
*strbuf
, bool isstd
, bool virt_init
)
8700 return basic_istream_short_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8703 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8704 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8705 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_uninitialized
, 12)
8706 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_uninitialized(
8707 basic_istream_wchar
*this, int uninitialized
, bool virt_init
)
8709 basic_ios_wchar
*base
;
8711 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
8714 this->vbtable
= basic_istream_wchar_vbtable
;
8715 base
= basic_istream_wchar_get_basic_ios(this);
8716 basic_ios_wchar_ctor(base
);
8718 base
= basic_istream_wchar_get_basic_ios(this);
8721 base
->base
.vtable
= &basic_istream_wchar_vtable
;
8722 ios_base_Addstd(&base
->base
);
8726 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8727 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8728 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_uninitialized
, 12)
8729 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_uninitialized(
8730 basic_istream_wchar
*this, int uninitialized
, bool virt_init
)
8732 basic_istream_wchar_ctor_uninitialized(this, uninitialized
, virt_init
);
8733 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &basic_istream_short_vtable
;
8737 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
8738 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
8739 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ */
8740 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
8741 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_dtor
, 4)
8742 void __thiscall
basic_istream_wchar_dtor(basic_ios_wchar
*base
)
8744 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8746 /* don't destroy virtual base here */
8747 TRACE("(%p)\n", this);
8750 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8751 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8752 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8753 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8754 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vbase_dtor
, 4)
8755 void __thiscall
basic_istream_wchar_vbase_dtor(basic_istream_wchar
*this)
8757 TRACE("(%p)\n", this);
8758 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(this));
8759 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(this));
8762 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vector_dtor
, 8)
8763 basic_istream_wchar
* __thiscall
basic_istream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
8765 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8767 TRACE("(%p %x)\n", this, flags
);
8770 /* we have an array, with the number of elements stored before the first object */
8771 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
8773 for(i
=*ptr
-1; i
>=0; i
--)
8774 basic_istream_wchar_vbase_dtor(this+i
);
8775 operator_delete(ptr
);
8777 basic_istream_wchar_vbase_dtor(this);
8779 operator_delete(this);
8785 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8786 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8787 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8788 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8789 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Ipfx
, 8)
8790 bool __thiscall
basic_istream_wchar__Ipfx(basic_istream_wchar
*this, bool noskip
)
8792 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8794 TRACE("(%p %d)\n", this, noskip
);
8796 if(ios_base_good(&base
->base
)) {
8797 if(basic_ios_wchar_tie_get(base
))
8798 basic_ostream_wchar_flush(basic_ios_wchar_tie_get(base
));
8800 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
8801 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8802 const ctype_wchar
*ctype
= ctype_wchar_use_facet(IOS_LOCALE(base
->strbuf
));
8805 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); ;
8806 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8807 if(ch
==WEOF
|| !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
8813 if(!ios_base_good(&base
->base
)) {
8814 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8820 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8821 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8822 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8823 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8824 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ipfx
, 8)
8825 bool __thiscall
basic_istream_wchar_ipfx(basic_istream_wchar
*this, bool noskip
)
8827 return basic_istream_wchar__Ipfx(this, noskip
);
8830 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8831 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8832 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8833 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8834 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_isfx
, 4)
8835 void __thiscall
basic_istream_wchar_isfx(basic_istream_wchar
*this)
8837 TRACE("(%p)\n", this);
8840 static BOOL
basic_istream_wchar_sentry_create(basic_istream_wchar
*istr
, bool noskip
)
8842 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8844 if(basic_ios_wchar_rdbuf_get(base
))
8845 basic_streambuf_wchar__Lock(base
->strbuf
);
8847 return basic_istream_wchar_ipfx(istr
, noskip
);
8850 static void basic_istream_wchar_sentry_destroy(basic_istream_wchar
*istr
)
8852 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8854 if(basic_ios_wchar_rdbuf_get(base
))
8855 basic_streambuf_wchar__Unlock(base
->strbuf
);
8858 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QBEHXZ */
8859 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEBA_JXZ */
8860 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ */
8861 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QEBA_JXZ */
8862 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBA_JXZ */
8863 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBE_JXZ */
8864 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QBA_JXZ */
8865 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QBE_JXZ */
8866 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_gcount
, 4)
8867 streamsize __thiscall
basic_istream_wchar_gcount(const basic_istream_wchar
*this)
8869 TRACE("(%p)\n", this);
8873 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8874 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8875 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8876 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8877 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get
, 4)
8878 unsigned short __thiscall
basic_istream_wchar_get(basic_istream_wchar
*this)
8880 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8883 TRACE("(%p)\n", this);
8887 if(!basic_istream_wchar_sentry_create(this, TRUE
)) {
8888 basic_istream_wchar_sentry_destroy(this);
8892 ret
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(base
));
8893 basic_istream_wchar_sentry_destroy(this);
8895 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
8902 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AA_W@Z */
8903 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEA_W@Z */
8904 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z */
8905 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAG@Z */
8906 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_ch
, 8)
8907 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_ch(basic_istream_wchar
*this, wchar_t *ch
)
8911 TRACE("(%p %p)\n", this, ch
);
8913 ret
= basic_istream_wchar_get(this);
8919 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8920 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8921 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8922 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8923 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str_delim
, 16)
8924 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8926 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8927 unsigned short ch
= delim
;
8929 TRACE("(%p %p %Id %s)\n", this, str
, count
, debugstr_wn(&delim
, 1));
8933 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8934 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8936 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); count
>1;
8937 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8938 if(ch
==WEOF
|| ch
==delim
)
8946 basic_istream_wchar_sentry_destroy(this);
8948 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8949 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8955 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8956 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8957 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8958 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8959 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str
, 12)
8960 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8962 return basic_istream_wchar_get_str_delim(this, str
, count
, '\n');
8965 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8966 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8967 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8968 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8969 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf_delim
, 12)
8970 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf_delim(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
, wchar_t delim
)
8972 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8973 unsigned short ch
= delim
;
8975 TRACE("(%p %p %s)\n", this, strbuf
, debugstr_wn(&delim
, 1));
8979 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8980 basic_streambuf_wchar
*strbuf_read
= basic_ios_wchar_rdbuf_get(base
);
8982 for(ch
= basic_streambuf_wchar_sgetc(strbuf_read
); ;
8983 ch
= basic_streambuf_wchar_snextc(strbuf_read
)) {
8984 if(ch
==WEOF
|| ch
==delim
)
8987 if(basic_streambuf_wchar_sputc(strbuf
, ch
) == WEOF
)
8992 basic_istream_wchar_sentry_destroy(this);
8994 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8995 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8999 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
9000 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
9001 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
9002 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
9003 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf
, 8)
9004 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
)
9006 return basic_istream_wchar_get_streambuf_delim(this, strbuf
, '\n');
9009 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
9010 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
9011 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
9012 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
9013 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline_delim
, 16)
9014 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
9016 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9017 unsigned short ch
= delim
;
9019 TRACE("(%p %p %Id %s)\n", this, str
, count
, debugstr_wn(&delim
, 1));
9023 if(basic_istream_wchar_sentry_create(this, TRUE
) && count
>0) {
9024 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9027 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
9029 if(ch
==WEOF
|| ch
==delim
)
9039 else if(ch
!= WEOF
) {
9040 ch
= basic_streambuf_wchar_sgetc(strbuf
);
9043 basic_streambuf_wchar__Gninc(strbuf
);
9048 basic_istream_wchar_sentry_destroy(this);
9050 basic_ios_wchar_setstate(base
, (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
9051 (!this->count
|| (ch
!=delim
&& ch
!=WEOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
9057 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
9058 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
9059 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
9060 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
9061 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline
, 12)
9062 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
9064 return basic_istream_wchar_getline_delim(this, str
, count
, '\n');
9067 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@HG@Z */
9068 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JG@Z */
9069 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z */
9070 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z */
9071 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ignore
, 12)
9072 basic_istream_wchar
* __thiscall
basic_istream_wchar_ignore(basic_istream_wchar
*this, streamsize count
, unsigned short delim
)
9074 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9075 unsigned short ch
= delim
;
9078 TRACE("(%p %Id %d)\n", this, count
, delim
);
9082 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
9083 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9084 state
= IOSTATE_goodbit
;
9087 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
9090 state
= IOSTATE_eofbit
;
9098 if(count
!= INT_MAX
)
9102 state
= IOSTATE_failbit
;
9103 basic_istream_wchar_sentry_destroy(this);
9105 basic_ios_wchar_setstate(base
, state
);
9109 /* ?ws@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
9110 /* ?ws@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
9111 /* ?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z */
9112 /* ?ws@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
9113 basic_istream_wchar
* __cdecl
ws_basic_istream_wchar(basic_istream_wchar
*istream
)
9115 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9116 unsigned short ch
= '\n';
9118 TRACE("(%p)\n", istream
);
9120 if(basic_istream_wchar_sentry_create(istream
, TRUE
)) {
9121 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9122 const ctype_wchar
*ctype
= ctype_wchar_use_facet(IOS_LOCALE(strbuf
));
9124 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); ctype_wchar_is_ch(ctype
, _SPACE
, ch
);
9125 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
9130 basic_istream_wchar_sentry_destroy(istream
);
9133 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
9137 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
9138 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
9139 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
9140 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
9141 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_peek
, 4)
9142 unsigned short __thiscall
basic_istream_wchar_peek(basic_istream_wchar
*this)
9144 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9145 unsigned short ret
= WEOF
;
9147 TRACE("(%p)\n", this);
9151 if(basic_istream_wchar_sentry_create(this, TRUE
))
9152 ret
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9153 basic_istream_wchar_sentry_destroy(this);
9156 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
9161 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WIH@Z */
9162 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_K_J@Z */
9163 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGIH@Z */
9164 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_K_J@Z */
9165 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Read_s
, 16)
9166 basic_istream_wchar
* __thiscall
basic_istream_wchar__Read_s(basic_istream_wchar
*this, wchar_t *str
, size_t size
, streamsize count
)
9168 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9169 IOSB_iostate state
= IOSTATE_goodbit
;
9171 TRACE("(%p %p %Iu %Id)\n", this, str
, size
, count
);
9173 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
9174 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9176 this->count
= basic_streambuf_wchar__Sgetn_s(strbuf
, str
, size
, count
);
9177 if(this->count
!= count
)
9178 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
9182 basic_istream_wchar_sentry_destroy(this);
9184 basic_ios_wchar_setstate(base
, state
);
9188 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
9189 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
9190 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
9191 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
9192 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read
, 12)
9193 basic_istream_wchar
* __thiscall
basic_istream_wchar_read(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
9195 return basic_istream_wchar__Read_s(this, str
, -1, count
);
9198 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
9199 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
9200 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
9201 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
9202 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Readsome_s
, 16)
9203 streamsize __thiscall
basic_istream_wchar__Readsome_s(basic_istream_wchar
*this, wchar_t *str
, size_t size
, streamsize count
)
9205 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9206 IOSB_iostate state
= IOSTATE_goodbit
;
9208 TRACE("(%p %p %Iu %Id)\n", this, str
, size
, count
);
9212 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
9213 streamsize avail
= basic_streambuf_wchar_in_avail(basic_ios_wchar_rdbuf_get(base
));
9218 state
|= IOSTATE_eofbit
;
9220 basic_istream_wchar__Read_s(this, str
, size
, avail
);
9222 state
|= IOSTATE_failbit
;
9224 basic_istream_wchar_sentry_destroy(this);
9226 basic_ios_wchar_setstate(base
, state
);
9230 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
9231 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
9232 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
9233 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
9234 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_readsome
, 12)
9235 streamsize __thiscall
basic_istream_wchar_readsome(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
9237 return basic_istream_wchar__Readsome_s(this, str
, count
, count
);
9240 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
9241 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
9242 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
9243 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
9244 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_putback
, 8)
9245 basic_istream_wchar
* __thiscall
basic_istream_wchar_putback(basic_istream_wchar
*this, wchar_t ch
)
9247 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9248 IOSB_iostate state
= IOSTATE_goodbit
;
9250 TRACE("(%p %c)\n", this, ch
);
9254 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
9255 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9257 if(!ios_base_good(&base
->base
))
9258 state
|= IOSTATE_failbit
;
9259 else if(!strbuf
|| basic_streambuf_wchar_sputbackc(strbuf
, ch
)==WEOF
)
9260 state
|= IOSTATE_badbit
;
9262 basic_istream_wchar_sentry_destroy(this);
9264 basic_ios_wchar_setstate(base
, state
);
9268 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
9269 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
9270 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
9271 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
9272 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_unget
, 4)
9273 basic_istream_wchar
* __thiscall
basic_istream_wchar_unget(basic_istream_wchar
*this)
9275 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9276 IOSB_iostate state
= IOSTATE_goodbit
;
9278 TRACE("(%p)\n", this);
9282 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
9283 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9285 if(!ios_base_good(&base
->base
))
9286 state
|= IOSTATE_failbit
;
9287 else if(!strbuf
|| basic_streambuf_wchar_sungetc(strbuf
)==WEOF
)
9288 state
|= IOSTATE_badbit
;
9290 basic_istream_wchar_sentry_destroy(this);
9292 basic_ios_wchar_setstate(base
, state
);
9296 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
9297 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
9298 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ */
9299 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAHXZ */
9300 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_sync
, 4)
9301 int __thiscall
basic_istream_wchar_sync(basic_istream_wchar
*this)
9303 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9304 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9306 TRACE("(%p)\n", this);
9311 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
9312 if(basic_streambuf_wchar_pubsync(strbuf
) != -1) {
9313 basic_istream_wchar_sentry_destroy(this);
9317 basic_istream_wchar_sentry_destroy(this);
9319 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
9323 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
9324 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
9325 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
9326 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
9327 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_tellg
, 8)
9328 fpos_int
* __thiscall
basic_istream_wchar_tellg(basic_istream_wchar
*this, fpos_int
*ret
)
9330 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9332 TRACE("(%p %p)\n", this, ret
);
9334 if(ios_base_fail(&base
->base
)) {
9341 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
9342 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
9347 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z */
9348 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z */
9349 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
9350 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
9351 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
9352 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
9353 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg
, 12)
9354 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg(basic_istream_wchar
*this, streamoff off
, int dir
)
9356 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9358 TRACE("(%p %Id %d)\n", this, off
, dir
);
9360 if(!ios_base_fail(&base
->base
)) {
9361 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9364 basic_streambuf_wchar_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
9370 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
9371 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
9372 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
9373 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
9374 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg_fpos
, 28)
9375 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg_fpos(basic_istream_wchar
*this, fpos_int pos
)
9377 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9379 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
9381 if(!ios_base_fail(&base
->base
)) {
9382 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9385 basic_streambuf_wchar_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
9391 static basic_istream_wchar
* basic_istream_read_short(basic_istream_wchar
*this, short *v
, const num_get
*numget
)
9393 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9394 int state
= IOSTATE_goodbit
;
9396 TRACE("(%p %p)\n", this, v
);
9398 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9399 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9400 istreambuf_iterator_wchar first
={0}, last
={0};
9403 first
.strbuf
= strbuf
;
9404 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
9406 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
9409 state
|= IOSTATE_failbit
;
9411 basic_istream_wchar_sentry_destroy(this);
9413 basic_ios_wchar_setstate(base
, state
);
9417 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAF@Z */
9418 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAF@Z */
9419 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_short
, 8)
9420 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_short(basic_istream_wchar
*this, short *v
)
9422 return basic_istream_read_short(this, v
, num_get_wchar_use_facet(
9423 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9426 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z */
9427 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAF@Z */
9428 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_short
, 8)
9429 basic_istream_wchar
* __thiscall
basic_istream_short_read_short(basic_istream_wchar
*this, short *v
)
9431 return basic_istream_read_short(this, v
, num_get_short_use_facet(
9432 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9435 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAG@Z */
9436 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAG@Z */
9437 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ushort
, 8)
9438 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ushort(basic_istream_wchar
*this, unsigned short *v
)
9440 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9441 int state
= IOSTATE_goodbit
;
9443 TRACE("(%p %p)\n", this, v
);
9445 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9446 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9447 const num_get
*numget
= num_get_wchar_use_facet(IOS_LOCALE(strbuf
));
9448 istreambuf_iterator_wchar first
={0}, last
={0};
9450 first
.strbuf
= strbuf
;
9451 num_get_wchar_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9453 basic_istream_wchar_sentry_destroy(this);
9455 basic_ios_wchar_setstate(base
, state
);
9459 static basic_istream_wchar
* basic_istream_read_int(basic_istream_wchar
*this, int *v
, const num_get
*numget
)
9461 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9462 int state
= IOSTATE_goodbit
;
9464 TRACE("(%p %p)\n", this, v
);
9466 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9467 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9468 istreambuf_iterator_wchar first
={0}, last
={0};
9470 first
.strbuf
= strbuf
;
9471 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, (LONG
*)v
);
9473 basic_istream_wchar_sentry_destroy(this);
9475 basic_ios_wchar_setstate(base
, state
);
9479 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAH@Z */
9480 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAH@Z */
9481 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int
, 8)
9482 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int(basic_istream_wchar
*this, int *v
)
9484 return basic_istream_read_int(this, v
, num_get_wchar_use_facet(
9485 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9488 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z */
9489 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAH@Z */
9490 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int
, 8)
9491 basic_istream_wchar
* __thiscall
basic_istream_short_read_int(basic_istream_wchar
*this, int *v
)
9493 return basic_istream_read_int(this, v
, num_get_short_use_facet(
9494 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9497 static basic_istream_wchar
* basic_istream_read_uint(basic_istream_wchar
*this, unsigned int *v
, const num_get
*numget
)
9499 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9500 int state
= IOSTATE_goodbit
;
9502 TRACE("(%p %p)\n", this, v
);
9504 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9505 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9506 istreambuf_iterator_wchar first
={0}, last
={0};
9508 first
.strbuf
= strbuf
;
9509 num_get_wchar_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9511 basic_istream_wchar_sentry_destroy(this);
9513 basic_ios_wchar_setstate(base
, state
);
9517 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAI@Z */
9518 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAI@Z */
9519 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint
, 8)
9520 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9522 return basic_istream_read_uint(this, v
, num_get_wchar_use_facet(
9523 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9526 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z */
9527 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAI@Z */
9528 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint
, 8)
9529 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9531 return basic_istream_read_uint(this, v
, num_get_short_use_facet(
9532 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9535 static basic_istream_wchar
* basic_istream_read_long(basic_istream_wchar
*this, LONG
*v
, const num_get
*numget
)
9537 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9538 int state
= IOSTATE_goodbit
;
9540 TRACE("(%p %p)\n", this, v
);
9542 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9543 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9544 istreambuf_iterator_wchar first
={0}, last
={0};
9546 first
.strbuf
= strbuf
;
9547 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9549 basic_istream_wchar_sentry_destroy(this);
9551 basic_ios_wchar_setstate(base
, state
);
9555 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9556 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9557 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_long
, 8)
9558 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_long(basic_istream_wchar
*this, LONG
*v
)
9560 return basic_istream_read_long(this, v
, num_get_wchar_use_facet(
9561 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9564 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAJ@Z */
9565 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAJ@Z */
9566 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_long
, 8)
9567 basic_istream_wchar
* __thiscall
basic_istream_short_read_long(basic_istream_wchar
*this, LONG
*v
)
9569 return basic_istream_read_long(this, v
, num_get_short_use_facet(
9570 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9573 static basic_istream_wchar
* basic_istream_read_ulong(basic_istream_wchar
*this, ULONG
*v
, const num_get
*numget
)
9575 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9576 int state
= IOSTATE_goodbit
;
9578 TRACE("(%p %p)\n", this, v
);
9580 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9581 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9582 istreambuf_iterator_wchar first
={0}, last
={0};
9584 first
.strbuf
= strbuf
;
9585 num_get_wchar_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9587 basic_istream_wchar_sentry_destroy(this);
9589 basic_ios_wchar_setstate(base
, state
);
9593 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAK@Z */
9594 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAK@Z */
9595 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ulong
, 8)
9596 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9598 return basic_istream_read_ulong(this, v
, num_get_wchar_use_facet(
9599 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9602 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z */
9603 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAK@Z */
9604 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ulong
, 8)
9605 basic_istream_wchar
* __thiscall
basic_istream_short_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9607 return basic_istream_read_ulong(this, v
, num_get_short_use_facet(
9608 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9611 static basic_istream_wchar
* basic_istream_read_float(basic_istream_wchar
*this, float *v
, const num_get
*numget
)
9613 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9614 int state
= IOSTATE_goodbit
;
9616 TRACE("(%p %p)\n", this, v
);
9618 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9619 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9620 istreambuf_iterator_wchar first
={0}, last
={0};
9622 first
.strbuf
= strbuf
;
9623 num_get_wchar_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9625 basic_istream_wchar_sentry_destroy(this);
9627 basic_ios_wchar_setstate(base
, state
);
9631 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAM@Z */
9632 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAM@Z */
9633 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_float
, 8)
9634 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_float(basic_istream_wchar
*this, float *v
)
9636 return basic_istream_read_float(this, v
, num_get_wchar_use_facet(
9637 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9640 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z */
9641 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAM@Z */
9642 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_float
, 8)
9643 basic_istream_wchar
* __thiscall
basic_istream_short_read_float(basic_istream_wchar
*this, float *v
)
9645 return basic_istream_read_float(this, v
, num_get_short_use_facet(
9646 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9649 static basic_istream_wchar
* basic_istream_read_double(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9651 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9652 int state
= IOSTATE_goodbit
;
9654 TRACE("(%p %p)\n", this, v
);
9656 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9657 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9658 istreambuf_iterator_wchar first
={0}, last
={0};
9660 first
.strbuf
= strbuf
;
9661 num_get_wchar_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9663 basic_istream_wchar_sentry_destroy(this);
9665 basic_ios_wchar_setstate(base
, state
);
9669 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAN@Z */
9670 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAN@Z */
9671 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_double
, 8)
9672 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_double(basic_istream_wchar
*this, double *v
)
9674 return basic_istream_read_double(this, v
, num_get_wchar_use_facet(
9675 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9678 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z */
9679 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAN@Z */
9680 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_double
, 8)
9681 basic_istream_wchar
* __thiscall
basic_istream_short_read_double(basic_istream_wchar
*this, double *v
)
9683 return basic_istream_read_double(this, v
, num_get_short_use_facet(
9684 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9687 static basic_istream_wchar
* basic_istream_read_ldouble(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9689 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9690 int state
= IOSTATE_goodbit
;
9692 TRACE("(%p %p)\n", this, v
);
9694 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9695 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9696 istreambuf_iterator_wchar first
={0}, last
={0};
9698 first
.strbuf
= strbuf
;
9699 num_get_wchar_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9701 basic_istream_wchar_sentry_destroy(this);
9703 basic_ios_wchar_setstate(base
, state
);
9707 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAO@Z */
9708 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAO@Z */
9709 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ldouble
, 8)
9710 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ldouble(basic_istream_wchar
*this, double *v
)
9712 return basic_istream_read_ldouble(this, v
, num_get_wchar_use_facet(
9713 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9716 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z */
9717 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAO@Z */
9718 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ldouble
, 8)
9719 basic_istream_wchar
* __thiscall
basic_istream_short_read_ldouble(basic_istream_wchar
*this, double *v
)
9721 return basic_istream_read_ldouble(this, v
, num_get_short_use_facet(
9722 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9725 static basic_istream_wchar
* basic_istream_read_ptr(basic_istream_wchar
*this, void **v
, const num_get
*numget
)
9727 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9728 int state
= IOSTATE_goodbit
;
9730 TRACE("(%p %p)\n", this, v
);
9732 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9733 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9734 istreambuf_iterator_wchar first
={0}, last
={0};
9736 first
.strbuf
= strbuf
;
9737 num_get_wchar_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9739 basic_istream_wchar_sentry_destroy(this);
9741 basic_ios_wchar_setstate(base
, state
);
9745 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAPAX@Z */
9746 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9747 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ptr
, 8)
9748 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ptr(basic_istream_wchar
*this, void **v
)
9750 return basic_istream_read_ptr(this, v
, num_get_wchar_use_facet(
9751 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9754 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z */
9755 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9756 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ptr
, 8)
9757 basic_istream_wchar
* __thiscall
basic_istream_short_read_ptr(basic_istream_wchar
*this, void **v
)
9759 return basic_istream_read_ptr(this, v
, num_get_short_use_facet(
9760 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9763 static basic_istream_wchar
* basic_istream_read_int64(basic_istream_wchar
*this, __int64
*v
, const num_get
*numget
)
9765 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9766 int state
= IOSTATE_goodbit
;
9768 TRACE("(%p %p)\n", this, v
);
9770 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9771 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9772 istreambuf_iterator_wchar first
={0}, last
={0};
9774 first
.strbuf
= strbuf
;
9775 num_get_wchar_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9777 basic_istream_wchar_sentry_destroy(this);
9779 basic_ios_wchar_setstate(base
, state
);
9783 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_J@Z */
9784 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_J@Z */
9785 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int64
, 8)
9786 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int64(basic_istream_wchar
*this, __int64
*v
)
9788 return basic_istream_read_int64(this, v
, num_get_wchar_use_facet(
9789 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9792 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_J@Z */
9793 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_J@Z */
9794 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int64
, 8)
9795 basic_istream_wchar
* __thiscall
basic_istream_short_read_int64(basic_istream_wchar
*this, __int64
*v
)
9797 return basic_istream_read_int64(this, v
, num_get_short_use_facet(
9798 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9801 static basic_istream_wchar
* basic_istream_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
, const num_get
*numget
)
9803 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9804 int state
= IOSTATE_goodbit
;
9806 TRACE("(%p %p)\n", this, v
);
9808 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9809 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9810 istreambuf_iterator_wchar first
={0}, last
={0};
9812 first
.strbuf
= strbuf
;
9813 num_get_wchar_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9815 basic_istream_wchar_sentry_destroy(this);
9817 basic_ios_wchar_setstate(base
, state
);
9821 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_K@Z */
9822 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_K@Z */
9823 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint64
, 8)
9824 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9826 return basic_istream_read_uint64(this, v
, num_get_wchar_use_facet(
9827 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9830 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_K@Z */
9831 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_K@Z */
9832 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint64
, 8)
9833 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9835 return basic_istream_read_uint64(this, v
, num_get_short_use_facet(
9836 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9839 static basic_istream_wchar
* basic_istream_read_bool(basic_istream_wchar
*this, bool *v
, const num_get
*numget
)
9841 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9842 int state
= IOSTATE_goodbit
;
9844 TRACE("(%p %p)\n", this, v
);
9846 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9847 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9848 istreambuf_iterator_wchar first
={0}, last
={0};
9850 first
.strbuf
= strbuf
;
9851 num_get_wchar_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9853 basic_istream_wchar_sentry_destroy(this);
9855 basic_ios_wchar_setstate(base
, state
);
9859 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_N@Z */
9860 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_N@Z */
9861 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_bool
, 8)
9862 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_bool(basic_istream_wchar
*this, bool *v
)
9864 return basic_istream_read_bool(this, v
, num_get_wchar_use_facet(
9865 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9868 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z */
9869 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_N@Z */
9870 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_bool
, 8)
9871 basic_istream_wchar
* __thiscall
basic_istream_short_read_bool(basic_istream_wchar
*this, bool *v
)
9873 return basic_istream_read_bool(this, v
, num_get_short_use_facet(
9874 IOS_LOCALE(basic_istream_wchar_get_basic_ios(this)->strbuf
)));
9877 /* ??$getline@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@_W@Z */
9878 /* ??$getline@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@_W@Z */
9879 /* ??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z */
9880 /* ??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z */
9881 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr_delim(
9882 basic_istream_wchar
*istream
, basic_string_wchar
*str
, wchar_t delim
)
9884 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9885 IOSB_iostate state
= IOSTATE_goodbit
;
9888 TRACE("(%p %p %s)\n", istream
, str
, debugstr_wn(&delim
, 1));
9890 MSVCP_basic_string_wchar_clear(str
);
9891 if(basic_istream_wchar_sentry_create(istream
, TRUE
)) {
9892 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9894 c
= basic_streambuf_wchar_sgetc(strbuf
);
9895 for(; c
!=delim
&& c
!=WEOF
; c
= basic_streambuf_wchar_snextc(strbuf
))
9896 MSVCP_basic_string_wchar_append_ch(str
, c
);
9897 if(c
==delim
) basic_streambuf_wchar_sbumpc(strbuf
);
9898 else if(c
==WEOF
) state
|= IOSTATE_eofbit
;
9900 if(!MSVCP_basic_string_wchar_length(str
) && c
!=delim
) state
|= IOSTATE_failbit
;
9902 basic_istream_wchar_sentry_destroy(istream
);
9904 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
), state
);
9908 /* ??$getline@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z */
9909 /* ??$getline@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z */
9910 /* ??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z */
9911 /* ??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z */
9912 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr(
9913 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9915 return basic_istream_wchar_getline_bstr_delim(istream
, str
, '\n');
9918 static basic_istream_wchar
* basic_istream_read_bstr(basic_istream_wchar
*istream
,
9919 basic_string_wchar
*str
, const ctype_wchar
*ctype
)
9921 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9922 IOSB_iostate state
= IOSTATE_failbit
;
9925 TRACE("(%p %p)\n", istream
, str
);
9927 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9928 size_t count
= ios_base_width_get(&base
->base
);
9933 MSVCP_basic_string_wchar_clear(str
);
9935 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9936 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9937 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9938 state
= IOSTATE_goodbit
;
9939 MSVCP_basic_string_wchar_append_ch(str
, c
);
9942 basic_istream_wchar_sentry_destroy(istream
);
9944 ios_base_width_set(&base
->base
, 0);
9945 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9949 /* ??$?5_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z */
9950 /* ??$?5_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z */
9951 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_bstr(
9952 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9954 return basic_istream_read_bstr(istream
, str
, ctype_wchar_use_facet(
9955 IOS_LOCALE(basic_istream_wchar_get_basic_ios(istream
)->strbuf
)));
9958 /* ??$?5GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z */
9959 /* ??$?5GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z */
9960 basic_istream_wchar
* __cdecl
basic_istream_short_read_bstr(
9961 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9963 return basic_istream_read_bstr(istream
, str
, ctype_short_use_facet(
9964 IOS_LOCALE(basic_istream_wchar_get_basic_ios(istream
)->strbuf
)));
9967 static basic_istream_wchar
* basic_istream_read_str(basic_istream_wchar
*istream
, wchar_t *str
, const ctype_wchar
*ctype
)
9969 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9970 IOSB_iostate state
= IOSTATE_failbit
;
9971 unsigned short c
= '\n';
9973 TRACE("(%p %p)\n", istream
, str
);
9975 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9976 size_t count
= ios_base_width_get(&base
->base
)-1;
9978 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9979 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9980 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9981 state
= IOSTATE_goodbit
;
9985 basic_istream_wchar_sentry_destroy(istream
);
9988 ios_base_width_set(&base
->base
, 0);
9989 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9993 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@PA_W@Z */
9994 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@PEA_W@Z */
9995 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9997 return basic_istream_read_str(istream
, str
, ctype_wchar_use_facet(
9998 IOS_LOCALE(basic_istream_wchar_get_basic_ios(istream
)->strbuf
)));
10001 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z */
10002 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z */
10003 basic_istream_wchar
* __cdecl
basic_istream_short_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
10005 return basic_istream_read_str(istream
, str
, ctype_short_use_facet(
10006 IOS_LOCALE(basic_istream_wchar_get_basic_ios(istream
)->strbuf
)));
10009 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AA_W@Z */
10010 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEA_W@Z */
10011 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z */
10012 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z */
10013 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_ch(basic_istream_wchar
*istream
, wchar_t *ch
)
10015 IOSB_iostate state
= IOSTATE_failbit
;
10016 unsigned short c
= 0;
10018 TRACE("(%p %p)\n", istream
, ch
);
10020 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
10021 c
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(
10022 basic_istream_wchar_get_basic_ios(istream
)));
10024 state
= IOSTATE_goodbit
;
10028 basic_istream_wchar_sentry_destroy(istream
);
10030 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
10031 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
10035 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
10036 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
10037 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
10038 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
10039 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_streambuf
, 8)
10040 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_streambuf(
10041 basic_istream_wchar
*this, basic_streambuf_wchar
*streambuf
)
10043 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
10044 IOSB_iostate state
= IOSTATE_failbit
;
10045 unsigned short c
= '\n';
10047 TRACE("(%p %p)\n", this, streambuf
);
10049 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
10050 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
)); c
!=WEOF
;
10051 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
))) {
10052 state
= IOSTATE_goodbit
;
10053 if(basic_streambuf_wchar_sputc(streambuf
, c
) == WEOF
)
10057 basic_istream_wchar_sentry_destroy(this);
10059 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
10063 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
10064 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
10065 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
10066 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
10067 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func
, 8)
10068 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func(basic_istream_wchar
*this,
10069 basic_istream_wchar
* (__cdecl
*pfunc
)(basic_istream_wchar
*))
10071 TRACE("(%p %p)\n", this, pfunc
);
10076 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
10077 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
10078 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
10079 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
10080 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_basic_ios
, 8)
10081 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_basic_ios(basic_istream_wchar
*this,
10082 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
10084 TRACE("(%p %p)\n", this, pfunc
);
10085 pfunc(basic_istream_wchar_get_basic_ios(this));
10089 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
10090 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
10091 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
10092 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
10093 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_ios_base
, 8)
10094 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_ios_base(
10095 basic_istream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
10097 TRACE("(%p %p)\n", this, pfunc
);
10098 pfunc(&basic_istream_wchar_get_basic_ios(this)->base
);
10102 /* ?swap@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXAAV12@@Z */
10103 /* ?swap@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXAEAV12@@Z */
10104 /* ?swap@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXAAV12@@Z */
10105 /* ?swap@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXAEAV12@@Z */
10106 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_swap
, 8)
10107 void __thiscall
basic_istream_wchar_swap(basic_istream_wchar
*this, basic_istream_wchar
*r
)
10109 TRACE("(%p %p)\n", this, r
);
10114 basic_ios_wchar_swap(basic_istream_wchar_get_basic_ios(this),
10115 basic_istream_wchar_get_basic_ios(r
));
10116 this->count
^= r
->count
;
10117 r
->count
^= this->count
;
10118 this->count
^= r
->count
;
10121 static inline basic_ios_char
* basic_iostream_char_to_basic_ios(basic_iostream_char
*ptr
)
10123 return (basic_ios_char
*)((char*)ptr
+basic_iostream_char_vbtable1
[1]);
10126 static inline basic_iostream_char
* basic_iostream_char_from_basic_ios(basic_ios_char
*ptr
)
10128 return (basic_iostream_char
*)((char*)ptr
-basic_iostream_char_vbtable1
[1]);
10131 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
10132 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
10133 DEFINE_THISCALL_WRAPPER(basic_iostream_char_ctor
, 12)
10134 basic_iostream_char
* __thiscall
basic_iostream_char_ctor(basic_iostream_char
*this, basic_streambuf_char
*strbuf
, bool virt_init
)
10136 basic_ios_char
*basic_ios
;
10138 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
10141 this->base1
.vbtable
= basic_iostream_char_vbtable1
;
10142 this->base2
.vbtable
= basic_iostream_char_vbtable2
;
10143 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
10144 basic_ios_char_ctor(basic_ios
);
10146 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
10149 basic_ios
->base
.vtable
= &basic_iostream_char_vtable
;
10151 basic_istream_char_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
10152 basic_ostream_char_ctor(&this->base2
, NULL
, FALSE
, FALSE
, FALSE
);
10156 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10157 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10158 DEFINE_THISCALL_WRAPPER(basic_iostream_char_dtor
, 4)
10159 void __thiscall
basic_iostream_char_dtor(basic_ios_char
*base
)
10161 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
10163 TRACE("(%p)\n", this);
10164 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base2
));
10165 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base1
));
10168 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10169 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10170 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vbase_dtor
, 4)
10171 void __thiscall
basic_iostream_char_vbase_dtor(basic_iostream_char
*this)
10173 TRACE("(%p)\n", this);
10174 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(this));
10175 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base1
));
10178 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vector_dtor
, 8)
10179 basic_iostream_char
* __thiscall
basic_iostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10181 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
10183 TRACE("(%p %x)\n", this, flags
);
10186 /* we have an array, with the number of elements stored before the first object */
10187 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10189 for(i
=*ptr
-1; i
>=0; i
--)
10190 basic_iostream_char_vbase_dtor(this+i
);
10191 operator_delete(ptr
);
10193 basic_iostream_char_vbase_dtor(this);
10195 operator_delete(this);
10201 /* ?swap@?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXAAV12@@Z */
10202 /* ?swap@?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXAEAV12@@Z */
10203 DEFINE_THISCALL_WRAPPER(basic_iostream_char_swap
, 8)
10204 void __thiscall
basic_iostream_char_swap(basic_iostream_char
*this, basic_iostream_char
*r
)
10206 TRACE("(%p %p)\n", this, r
);
10211 basic_ios_char_swap(basic_istream_char_get_basic_ios(&this->base1
),
10212 basic_istream_char_get_basic_ios(&r
->base1
));
10215 static inline basic_ios_wchar
* basic_iostream_wchar_to_basic_ios(basic_iostream_wchar
*ptr
)
10217 return (basic_ios_wchar
*)((char*)ptr
+basic_iostream_wchar_vbtable1
[1]);
10220 static inline basic_iostream_wchar
* basic_iostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10222 return (basic_iostream_wchar
*)((char*)ptr
-basic_iostream_wchar_vbtable1
[1]);
10225 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
10226 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
10227 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_ctor
, 12)
10228 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_ctor(basic_iostream_wchar
*this,
10229 basic_streambuf_wchar
*strbuf
, bool virt_init
)
10231 basic_ios_wchar
*basic_ios
;
10233 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
10236 this->base1
.vbtable
= basic_iostream_wchar_vbtable1
;
10237 this->base2
.vbtable
= basic_iostream_wchar_vbtable2
;
10238 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
10239 basic_ios_wchar_ctor(basic_ios
);
10241 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
10244 basic_istream_wchar_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
10245 basic_ostream_short_ctor(&this->base2
, NULL
, FALSE
, FALSE
, FALSE
);
10247 basic_ios
->base
.vtable
= &basic_iostream_wchar_vtable
;
10251 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
10252 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
10253 DEFINE_THISCALL_WRAPPER(basic_iostream_short_ctor
, 12)
10254 basic_iostream_wchar
* __thiscall
basic_iostream_short_ctor(basic_iostream_wchar
*this,
10255 basic_streambuf_wchar
*strbuf
, bool virt_init
)
10257 basic_iostream_wchar_ctor(this, strbuf
, virt_init
);
10258 basic_istream_wchar_get_basic_ios(&this->base1
)->base
.vtable
= &basic_iostream_short_vtable
;
10262 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10263 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10264 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10265 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10266 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_dtor
, 4)
10267 void __thiscall
basic_iostream_wchar_dtor(basic_ios_wchar
*base
)
10269 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
10271 TRACE("(%p)\n", this);
10272 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base2
));
10273 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base1
));
10276 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10277 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10278 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10279 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10280 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vbase_dtor
, 4)
10281 void __thiscall
basic_iostream_wchar_vbase_dtor(basic_iostream_wchar
*this)
10283 TRACE("(%p)\n", this);
10284 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(this));
10285 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base1
));
10288 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vector_dtor
, 8)
10289 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10291 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
10293 TRACE("(%p %x)\n", this, flags
);
10296 /* we have an array, with the number of elements stored before the first object */
10297 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10299 for(i
=*ptr
-1; i
>=0; i
--)
10300 basic_iostream_wchar_vbase_dtor(this+i
);
10301 operator_delete(ptr
);
10303 basic_iostream_wchar_vbase_dtor(this);
10305 operator_delete(this);
10311 /* ?swap@?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXAAV12@@Z */
10312 /* ?swap@?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXAEAV12@@Z */
10313 /* ?swap@?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAEXAAV12@@Z */
10314 /* ?swap@?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAAXAEAV12@@Z */
10315 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_swap
, 8)
10316 void __thiscall
basic_iostream_wchar_swap(basic_iostream_wchar
*this, basic_iostream_wchar
*r
)
10318 TRACE("(%p %p)\n", this, r
);
10323 basic_ios_wchar_swap(basic_istream_wchar_get_basic_ios(&this->base1
),
10324 basic_istream_wchar_get_basic_ios(&r
->base1
));
10327 static inline basic_ios_char
* basic_ofstream_char_to_basic_ios(basic_ofstream_char
*ptr
)
10329 return (basic_ios_char
*)((char*)ptr
+basic_ofstream_char_vbtable
[1]);
10332 static inline basic_ofstream_char
* basic_ofstream_char_from_basic_ios(basic_ios_char
*ptr
)
10334 return (basic_ofstream_char
*)((char*)ptr
-basic_ofstream_char_vbtable
[1]);
10337 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10338 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10339 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor
, 8)
10340 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor(basic_ofstream_char
*this, bool virt_init
)
10342 basic_ios_char
*basic_ios
;
10344 TRACE("(%p %d)\n", this, virt_init
);
10347 this->base
.vbtable
= basic_ofstream_char_vbtable
;
10348 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10349 basic_ios_char_ctor(basic_ios
);
10351 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10354 basic_filebuf_char_ctor(&this->filebuf
);
10355 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, TRUE
, FALSE
);
10356 basic_ios
->base
.vtable
= &basic_ofstream_char_vtable
;
10360 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10361 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10362 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_file
, 12)
10363 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_file(
10364 basic_ofstream_char
*this, FILE *file
, bool virt_init
)
10366 basic_ios_char
*basic_ios
;
10368 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10371 this->base
.vbtable
= basic_ofstream_char_vbtable
;
10372 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10373 basic_ios_char_ctor(basic_ios
);
10375 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10378 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10379 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, TRUE
, FALSE
);
10380 basic_ios
->base
.vtable
= &basic_ofstream_char_vtable
;
10384 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z */
10385 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z */
10386 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_copy_ctor
, 12)
10387 basic_ofstream_char
* __thiscall
basic_ofstream_char_copy_ctor(basic_ofstream_char
*this,
10388 basic_ofstream_char
*copy
, bool virt_init
)
10390 TRACE("(%p %p %d)\n", this, copy
, virt_init
);
10391 return basic_ofstream_char_ctor_file(this, copy
->filebuf
.file
, virt_init
);
10394 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z */
10395 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z */
10396 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name
, 16)
10397 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name(basic_ofstream_char
*this,
10398 const char *name
, int mode
, bool virt_init
)
10400 TRACE("(%p %s %d %d)\n", this, name
, mode
, virt_init
);
10402 basic_ofstream_char_ctor(this, virt_init
);
10404 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, _SH_DENYNO
)) {
10405 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10406 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10411 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10412 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10413 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_dtor
, 4)
10414 void __thiscall
basic_ofstream_char_dtor(basic_ios_char
*base
)
10416 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10418 TRACE("(%p)\n", this);
10420 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
10421 basic_filebuf_char_dtor(&this->filebuf
);
10424 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10425 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10426 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vbase_dtor
, 4)
10427 void __thiscall
basic_ofstream_char_vbase_dtor(basic_ofstream_char
*this)
10429 TRACE("(%p)\n", this);
10431 basic_ofstream_char_dtor(basic_ofstream_char_to_basic_ios(this));
10432 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
10435 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vector_dtor
, 8)
10436 basic_ofstream_char
* __thiscall
basic_ofstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10438 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10440 TRACE("(%p %x)\n", this, flags
);
10443 /* we have an array, with the number of elements stored before the first object */
10444 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10446 for(i
=*ptr
-1; i
>=0; i
--)
10447 basic_ofstream_char_vbase_dtor(this+i
);
10448 operator_delete(ptr
);
10450 basic_ofstream_char_vbase_dtor(this);
10452 operator_delete(this);
10458 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10459 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10460 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_close
, 4)
10461 void __thiscall
basic_ofstream_char_close(basic_ofstream_char
*this)
10463 TRACE("(%p)\n", this);
10465 if(!basic_filebuf_char_close(&this->filebuf
)) {
10466 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10467 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10471 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10472 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10473 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_is_open
, 4)
10474 bool __thiscall
basic_ofstream_char_is_open(const basic_ofstream_char
*this)
10476 TRACE("(%p)\n", this);
10477 return basic_filebuf_char_is_open(&this->filebuf
);
10480 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z */
10481 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z */
10482 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open
, 12)
10483 void __thiscall
basic_ofstream_char_open(basic_ofstream_char
*this,
10484 const char *name
, int mode
)
10486 TRACE("(%p %s %d)\n", this, name
, mode
);
10488 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, _SH_DENYNO
)) {
10489 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10490 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10494 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z */
10495 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z */
10496 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old
, 12)
10497 void __thiscall
basic_ofstream_char_open_old(basic_ofstream_char
*this,
10498 const char *name
, short mode
)
10500 basic_ofstream_char_open(this, name
, mode
);
10503 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10504 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10505 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_rdbuf
, 4)
10506 basic_filebuf_char
* __thiscall
basic_ofstream_char_rdbuf(const basic_ofstream_char
*this)
10508 TRACE("(%p)\n", this);
10509 return (basic_filebuf_char
*)&this->filebuf
;
10512 static inline basic_ios_wchar
* basic_ofstream_wchar_to_basic_ios(basic_ofstream_wchar
*ptr
)
10514 return (basic_ios_wchar
*)((char*)ptr
+basic_ofstream_wchar_vbtable
[1]);
10517 static inline basic_ofstream_wchar
* basic_ofstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10519 return (basic_ofstream_wchar
*)((char*)ptr
-basic_ofstream_wchar_vbtable
[1]);
10522 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10523 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10524 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor
, 8)
10525 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor(basic_ofstream_wchar
*this, bool virt_init
)
10527 basic_ios_wchar
*basic_ios
;
10529 TRACE("(%p %d)\n", this, virt_init
);
10532 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10533 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10534 basic_ios_wchar_ctor(basic_ios
);
10536 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10539 basic_filebuf_wchar_ctor(&this->filebuf
);
10540 basic_ostream_short_ctor(&this->base
, &this->filebuf
.base
, FALSE
, TRUE
, FALSE
);
10541 basic_ios
->base
.vtable
= &basic_ofstream_wchar_vtable
;
10545 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10546 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10547 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor
, 8)
10548 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor(basic_ofstream_wchar
*this, bool virt_init
)
10550 basic_ofstream_wchar_ctor(this, virt_init
);
10551 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_ofstream_short_vtable
;
10555 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10556 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10557 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_file
, 12)
10558 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_file(
10559 basic_ofstream_wchar
*this, FILE *file
, bool virt_init
)
10561 basic_ios_wchar
*basic_ios
;
10563 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10566 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10567 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10568 basic_ios_wchar_ctor(basic_ios
);
10570 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10573 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10574 basic_ostream_short_ctor(&this->base
, &this->filebuf
.base
, FALSE
, TRUE
, FALSE
);
10575 basic_ios
->base
.vtable
= &basic_ofstream_wchar_vtable
;
10579 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10580 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10581 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_file
, 12)
10582 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_file(
10583 basic_ofstream_wchar
*this, FILE *file
, bool virt_init
)
10585 basic_ofstream_wchar_ctor_file(this, file
, virt_init
);
10586 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_ofstream_short_vtable
;
10590 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z */
10591 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z */
10592 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_copy_ctor
, 12)
10593 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_copy_ctor(basic_ofstream_wchar
*this,
10594 basic_ofstream_wchar
*copy
, bool virt_init
)
10596 TRACE("(%p %p %d)\n", this, copy
, virt_init
);
10597 return basic_ofstream_short_ctor_file(this, copy
->filebuf
.file
, virt_init
);
10600 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z */
10601 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z */
10602 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name
, 16)
10603 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name(basic_ofstream_wchar
*this,
10604 const char *name
, int mode
, bool virt_init
)
10606 TRACE("(%p %s %d %d)\n", this, name
, mode
, virt_init
);
10608 basic_ofstream_short_ctor(this, virt_init
);
10610 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, _SH_DENYNO
)) {
10611 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10612 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10617 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10618 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10619 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10620 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10621 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_dtor
, 4)
10622 void __thiscall
basic_ofstream_wchar_dtor(basic_ios_wchar
*base
)
10624 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10626 TRACE("(%p)\n", this);
10628 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
10629 basic_filebuf_wchar_dtor(&this->filebuf
);
10632 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10633 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10634 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10635 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10636 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vbase_dtor
, 4)
10637 void __thiscall
basic_ofstream_wchar_vbase_dtor(basic_ofstream_wchar
*this)
10639 TRACE("(%p)\n", this);
10641 basic_ofstream_wchar_dtor(basic_ofstream_wchar_to_basic_ios(this));
10642 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
10645 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vector_dtor
, 8)
10646 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10648 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10650 TRACE("(%p %x)\n", this, flags
);
10653 /* we have an array, with the number of elements stored before the first object */
10654 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10656 for(i
=*ptr
-1; i
>=0; i
--)
10657 basic_ofstream_wchar_vbase_dtor(this+i
);
10658 operator_delete(ptr
);
10660 basic_ofstream_wchar_vbase_dtor(this);
10662 operator_delete(this);
10668 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10669 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10670 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10671 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10672 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_close
, 4)
10673 void __thiscall
basic_ofstream_wchar_close(basic_ofstream_wchar
*this)
10675 TRACE("(%p)\n", this);
10677 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10678 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10679 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10683 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10684 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10685 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10686 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10687 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_is_open
, 4)
10688 bool __thiscall
basic_ofstream_wchar_is_open(const basic_ofstream_wchar
*this)
10690 TRACE("(%p)\n", this);
10691 return basic_filebuf_wchar_is_open(&this->filebuf
);
10694 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z */
10695 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z */
10696 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open
, 12)
10697 void __thiscall
basic_ofstream_wchar_open(basic_ofstream_wchar
*this,
10698 const char *name
, int mode
)
10700 TRACE("(%p %s %d)\n", this, name
, mode
);
10702 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, _SH_DENYNO
)) {
10703 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10704 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10708 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z */
10709 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z */
10710 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old
, 12)
10711 void __thiscall
basic_ofstream_wchar_open_old(basic_ofstream_wchar
*this,
10712 const char *name
, int mode
)
10714 basic_ofstream_wchar_open(this, name
, mode
);
10717 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10718 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10719 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10720 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10721 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_rdbuf
, 4)
10722 basic_filebuf_wchar
* __thiscall
basic_ofstream_wchar_rdbuf(const basic_ofstream_wchar
*this)
10724 TRACE("(%p)\n", this);
10725 return (basic_filebuf_wchar
*)&this->filebuf
;
10728 static inline basic_ios_char
* basic_ifstream_char_to_basic_ios(basic_ifstream_char
*ptr
)
10730 return (basic_ios_char
*)((char*)ptr
+basic_ifstream_char_vbtable
[1]);
10733 static inline basic_ifstream_char
* basic_ifstream_char_from_basic_ios(basic_ios_char
*ptr
)
10735 return (basic_ifstream_char
*)((char*)ptr
-basic_ifstream_char_vbtable
[1]);
10738 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10739 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10740 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor
, 8)
10741 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor(basic_ifstream_char
*this, bool virt_init
)
10743 basic_ios_char
*basic_ios
;
10745 TRACE("(%p %d)\n", this, virt_init
);
10748 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10749 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10750 basic_ios_char_ctor(basic_ios
);
10752 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10755 basic_filebuf_char_ctor(&this->filebuf
);
10756 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10757 basic_ios
->base
.vtable
= &basic_ifstream_char_vtable
;
10761 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10762 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10763 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_file
, 12)
10764 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_file(
10765 basic_ifstream_char
*this, FILE *file
, bool virt_init
)
10767 basic_ios_char
*basic_ios
;
10769 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10772 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10773 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10774 basic_ios_char_ctor(basic_ios
);
10776 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10779 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10780 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10781 basic_ios
->base
.vtable
= &basic_ifstream_char_vtable
;
10785 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z */
10786 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z */
10787 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_copy_ctor
, 12)
10788 basic_ifstream_char
* __thiscall
basic_ifstream_char_copy_ctor(basic_ifstream_char
*this,
10789 const basic_ifstream_char
*copy
, bool virt_init
)
10791 TRACE("(%p %p %d)\n", this, copy
, virt_init
);
10792 return basic_ifstream_char_ctor_file(this, copy
->filebuf
.file
, virt_init
);
10795 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z */
10796 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z */
10797 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name
, 16)
10798 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name(basic_ifstream_char
*this,
10799 const char *name
, int mode
, bool virt_init
)
10801 TRACE("(%p %s %d %d)\n", this, name
, mode
, virt_init
);
10803 basic_ifstream_char_ctor(this, virt_init
);
10805 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, _SH_DENYNO
)) {
10806 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10807 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10812 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10813 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10814 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_dtor
, 4)
10815 void __thiscall
basic_ifstream_char_dtor(basic_ios_char
*base
)
10817 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10819 TRACE("(%p)\n", this);
10821 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
10822 basic_filebuf_char_dtor(&this->filebuf
);
10825 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10826 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10827 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vbase_dtor
, 4)
10828 void __thiscall
basic_ifstream_char_vbase_dtor(basic_ifstream_char
*this)
10830 TRACE("(%p)\n", this);
10832 basic_ifstream_char_dtor(basic_ifstream_char_to_basic_ios(this));
10833 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
10836 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vector_dtor
, 8)
10837 basic_ifstream_char
* __thiscall
basic_ifstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10839 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10841 TRACE("(%p %x)\n", this, flags
);
10844 /* we have an array, with the number of elements stored before the first object */
10845 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10847 for(i
=*ptr
-1; i
>=0; i
--)
10848 basic_ifstream_char_vbase_dtor(this+i
);
10849 operator_delete(ptr
);
10851 basic_ifstream_char_vbase_dtor(this);
10853 operator_delete(this);
10859 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10860 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10861 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_close
, 4)
10862 void __thiscall
basic_ifstream_char_close(basic_ifstream_char
*this)
10864 TRACE("(%p)\n", this);
10866 if(!basic_filebuf_char_close(&this->filebuf
)) {
10867 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10868 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10872 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10873 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10874 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_is_open
, 4)
10875 bool __thiscall
basic_ifstream_char_is_open(const basic_ifstream_char
*this)
10877 TRACE("(%p)\n", this);
10878 return basic_filebuf_char_is_open(&this->filebuf
);
10881 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z */
10882 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z */
10883 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open
, 12)
10884 void __thiscall
basic_ifstream_char_open(basic_ifstream_char
*this,
10885 const char *name
, int mode
)
10887 TRACE("(%p %s %d)\n", this, name
, mode
);
10889 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, _SH_DENYNO
)) {
10890 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10891 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10895 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z */
10896 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z */
10897 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_old
, 12)
10898 void __thiscall
basic_ifstream_char_open_old(basic_ifstream_char
*this,
10899 const char *name
, short mode
)
10901 basic_ifstream_char_open(this, name
, mode
);
10904 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10905 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10906 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_rdbuf
, 4)
10907 basic_filebuf_char
* __thiscall
basic_ifstream_char_rdbuf(const basic_ifstream_char
*this)
10909 TRACE("(%p)\n", this);
10910 return (basic_filebuf_char
*)&this->filebuf
;
10913 static inline basic_ios_wchar
* basic_ifstream_wchar_to_basic_ios(basic_ifstream_wchar
*ptr
)
10915 return (basic_ios_wchar
*)((char*)ptr
+basic_ifstream_wchar_vbtable
[1]);
10918 static inline basic_ifstream_wchar
* basic_ifstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10920 return (basic_ifstream_wchar
*)((char*)ptr
-basic_ifstream_wchar_vbtable
[1]);
10923 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10924 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10925 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor
, 8)
10926 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor(basic_ifstream_wchar
*this, bool virt_init
)
10928 basic_ios_wchar
*basic_ios
;
10930 TRACE("(%p %d)\n", this, virt_init
);
10933 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10934 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10935 basic_ios_wchar_ctor(basic_ios
);
10937 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10940 basic_filebuf_wchar_ctor(&this->filebuf
);
10941 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10942 basic_ios
->base
.vtable
= &basic_ifstream_wchar_vtable
;
10946 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10947 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10948 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor
, 8)
10949 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor(basic_ifstream_wchar
*this, bool virt_init
)
10951 basic_ifstream_wchar_ctor(this, virt_init
);
10952 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_ifstream_short_vtable
;
10956 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10957 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10958 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_file
, 12)
10959 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_file(
10960 basic_ifstream_wchar
*this, FILE *file
, bool virt_init
)
10962 basic_ios_wchar
*basic_ios
;
10964 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10967 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10968 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10969 basic_ios_wchar_ctor(basic_ios
);
10971 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10974 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10975 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10976 basic_ios
->base
.vtable
= &basic_ifstream_wchar_vtable
;
10980 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10981 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10982 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_file
, 12)
10983 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_file(
10984 basic_ifstream_wchar
*this, FILE *file
, bool virt_init
)
10986 basic_ifstream_wchar_ctor_file(this, file
, virt_init
);
10987 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_ifstream_short_vtable
;
10991 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z */
10992 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z */
10993 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_copy_ctor
, 12)
10994 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_copy_ctor(basic_ifstream_wchar
*this,
10995 basic_ifstream_wchar
*copy
, bool virt_init
)
10997 TRACE("(%p %p %d)\n", this, copy
, virt_init
);
10998 return basic_ifstream_short_ctor_file(this, copy
->filebuf
.file
, virt_init
);
11001 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z */
11002 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z */
11003 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name
, 16)
11004 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name(basic_ifstream_wchar
*this,
11005 const char *name
, int mode
, bool virt_init
)
11007 TRACE("(%p %s %d %d)\n", this, name
, mode
, virt_init
);
11009 basic_ifstream_short_ctor(this, virt_init
);
11011 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, _SH_DENYNO
)) {
11012 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11013 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11018 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
11019 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
11020 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
11021 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
11022 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_dtor
, 4)
11023 void __thiscall
basic_ifstream_wchar_dtor(basic_ios_wchar
*base
)
11025 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
11027 TRACE("(%p)\n", this);
11029 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
11030 basic_filebuf_wchar_dtor(&this->filebuf
);
11033 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11034 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11035 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11036 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11037 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vbase_dtor
, 4)
11038 void __thiscall
basic_ifstream_wchar_vbase_dtor(basic_ifstream_wchar
*this)
11040 TRACE("(%p)\n", this);
11042 basic_ifstream_wchar_dtor(basic_ifstream_wchar_to_basic_ios(this));
11043 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
11046 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vector_dtor
, 8)
11047 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11049 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
11051 TRACE("(%p %x)\n", this, flags
);
11054 /* we have an array, with the number of elements stored before the first object */
11055 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11057 for(i
=*ptr
-1; i
>=0; i
--)
11058 basic_ifstream_wchar_vbase_dtor(this+i
);
11059 operator_delete(ptr
);
11061 basic_ifstream_wchar_vbase_dtor(this);
11063 operator_delete(this);
11069 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11070 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11071 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11072 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11073 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_close
, 4)
11074 void __thiscall
basic_ifstream_wchar_close(basic_ifstream_wchar
*this)
11076 TRACE("(%p)\n", this);
11078 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
11079 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11080 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11084 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
11085 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
11086 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
11087 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
11088 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_is_open
, 4)
11089 bool __thiscall
basic_ifstream_wchar_is_open(const basic_ifstream_wchar
*this)
11091 TRACE("(%p)\n", this);
11092 return basic_filebuf_wchar_is_open(&this->filebuf
);
11095 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z */
11096 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z */
11097 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open
, 12)
11098 void __thiscall
basic_ifstream_wchar_open(basic_ifstream_wchar
*this,
11099 const char *name
, int mode
)
11101 TRACE("(%p %s %d)\n", this, name
, mode
);
11103 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, _SH_DENYNO
)) {
11104 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11105 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11109 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z */
11110 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z */
11111 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_old
, 12)
11112 void __thiscall
basic_ifstream_wchar_open_old(basic_ifstream_wchar
*this,
11113 const char *name
, short mode
)
11115 basic_ifstream_wchar_open(this, name
, mode
);
11118 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11119 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11120 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11121 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11122 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_rdbuf
, 4)
11123 basic_filebuf_wchar
* __thiscall
basic_ifstream_wchar_rdbuf(const basic_ifstream_wchar
*this)
11125 TRACE("(%p)\n", this);
11126 return (basic_filebuf_wchar
*)&this->filebuf
;
11129 static inline basic_ios_char
* basic_fstream_char_to_basic_ios(basic_fstream_char
*ptr
)
11131 return (basic_ios_char
*)((char*)ptr
+basic_fstream_char_vbtable1
[1]);
11134 static inline basic_fstream_char
* basic_fstream_char_from_basic_ios(basic_ios_char
*ptr
)
11136 return (basic_fstream_char
*)((char*)ptr
-basic_fstream_char_vbtable1
[1]);
11139 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
11140 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
11141 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor
, 8)
11142 basic_fstream_char
* __thiscall
basic_fstream_char_ctor(basic_fstream_char
*this, bool virt_init
)
11144 basic_ios_char
*basic_ios
;
11146 TRACE("(%p %d)\n", this, virt_init
);
11149 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
11150 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
11151 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11152 basic_ios_char_ctor(basic_ios
);
11154 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11157 basic_filebuf_char_ctor(&this->filebuf
);
11158 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11159 basic_ios
->base
.vtable
= &basic_fstream_char_vtable
;
11163 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
11164 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11165 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_file
, 12)
11166 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_file(basic_fstream_char
*this,
11167 FILE *file
, bool virt_init
)
11169 basic_ios_char
*basic_ios
;
11171 TRACE("(%p %p %d)\n", this, file
, virt_init
);
11174 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
11175 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
11176 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11177 basic_ios_char_ctor(basic_ios
);
11179 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11182 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
11183 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11184 basic_ios
->base
.vtable
= &basic_fstream_char_vtable
;
11188 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z */
11189 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z */
11190 DEFINE_THISCALL_WRAPPER(basic_fstream_char_copy_ctor
, 12)
11191 basic_fstream_char
* __thiscall
basic_fstream_char_copy_ctor(basic_fstream_char
*this,
11192 basic_fstream_char
*copy
, bool virt_init
)
11194 TRACE("(%p %p %d)\n", this, copy
, virt_init
);
11195 return basic_fstream_char_ctor_file(this, copy
->filebuf
.file
, virt_init
);
11198 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z */
11199 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z */
11200 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name
, 16)
11201 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name(basic_fstream_char
*this,
11202 const char *name
, int mode
, bool virt_init
)
11204 TRACE("(%p %s %d %d)\n", this, name
, mode
, virt_init
);
11206 basic_fstream_char_ctor(this, virt_init
);
11208 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, _SH_DENYNO
)) {
11209 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11210 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11215 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
11216 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
11217 DEFINE_THISCALL_WRAPPER(basic_fstream_char_dtor
, 4)
11218 void __thiscall
basic_fstream_char_dtor(basic_ios_char
*base
)
11220 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
11222 TRACE("(%p)\n", this);
11224 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
11225 basic_filebuf_char_dtor(&this->filebuf
);
11228 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
11229 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
11230 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vbase_dtor
, 4)
11231 void __thiscall
basic_fstream_char_vbase_dtor(basic_fstream_char
*this)
11233 TRACE("(%p)\n", this);
11235 basic_fstream_char_dtor(basic_fstream_char_to_basic_ios(this));
11236 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
11239 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vector_dtor
, 8)
11240 basic_fstream_char
* __thiscall
basic_fstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11242 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
11244 TRACE("(%p %x)\n", this, flags
);
11247 /* we have an array, with the number of elements stored before the first object */
11248 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11250 for(i
=*ptr
-1; i
>=0; i
--)
11251 basic_fstream_char_vbase_dtor(this+i
);
11252 operator_delete(ptr
);
11254 basic_fstream_char_vbase_dtor(this);
11256 operator_delete(this);
11262 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
11263 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
11264 DEFINE_THISCALL_WRAPPER(basic_fstream_char_close
, 4)
11265 void __thiscall
basic_fstream_char_close(basic_fstream_char
*this)
11267 TRACE("(%p)\n", this);
11269 if(!basic_filebuf_char_close(&this->filebuf
)) {
11270 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11271 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11275 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
11276 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
11277 DEFINE_THISCALL_WRAPPER(basic_fstream_char_is_open
, 4)
11278 bool __thiscall
basic_fstream_char_is_open(const basic_fstream_char
*this)
11280 TRACE("(%p)\n", this);
11281 return basic_filebuf_char_is_open(&this->filebuf
);
11284 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z */
11285 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z */
11286 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open
, 12)
11287 void __thiscall
basic_fstream_char_open(basic_fstream_char
*this,
11288 const char *name
, int mode
)
11290 TRACE("(%p %s %d)\n", this, name
, mode
);
11292 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, _SH_DENYNO
)) {
11293 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11294 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11298 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z */
11299 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z */
11300 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old
, 12)
11301 void __thiscall
basic_fstream_char_open_old(basic_fstream_char
*this,
11302 const char *name
, int mode
)
11304 basic_fstream_char_open(this, name
, mode
);
11307 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11308 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11309 DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf
, 4)
11310 basic_filebuf_char
* __thiscall
basic_fstream_char_rdbuf(const basic_fstream_char
*this)
11312 TRACE("(%p)\n", this);
11313 return (basic_filebuf_char
*)&this->filebuf
;
11316 static inline basic_ios_wchar
* basic_fstream_wchar_to_basic_ios(basic_fstream_wchar
*ptr
)
11318 return (basic_ios_wchar
*)((char*)ptr
+basic_fstream_wchar_vbtable1
[1]);
11321 static inline basic_fstream_wchar
* basic_fstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11323 return (basic_fstream_wchar
*)((char*)ptr
-basic_fstream_wchar_vbtable1
[1]);
11326 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
11327 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
11328 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor
, 8)
11329 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor(basic_fstream_wchar
*this, bool virt_init
)
11331 basic_ios_wchar
*basic_ios
;
11333 TRACE("(%p %d)\n", this, virt_init
);
11336 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11337 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11338 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11339 basic_ios_wchar_ctor(basic_ios
);
11341 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11344 basic_filebuf_wchar_ctor(&this->filebuf
);
11345 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11346 basic_ios
->base
.vtable
= &basic_fstream_wchar_vtable
;
11350 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
11351 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
11352 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor
, 8)
11353 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor(basic_fstream_wchar
*this, bool virt_init
)
11355 basic_fstream_wchar_ctor(this, virt_init
);
11356 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &basic_fstream_short_vtable
;
11360 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
11361 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11362 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_file
, 12)
11363 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_file(basic_fstream_wchar
*this,
11364 FILE *file
, bool virt_init
)
11366 basic_ios_wchar
*basic_ios
;
11368 TRACE("(%p %p %d)\n", this, file
, virt_init
);
11371 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11372 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11373 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11374 basic_ios_wchar_ctor(basic_ios
);
11376 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11379 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
11380 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11381 basic_ios
->base
.vtable
= &basic_fstream_wchar_vtable
;
11385 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
11386 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11387 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_file
, 12)
11388 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_file(basic_fstream_wchar
*this,
11389 FILE *file
, bool virt_init
)
11391 basic_fstream_wchar_ctor_file(this, file
, virt_init
);
11392 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &basic_fstream_short_vtable
;
11396 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z */
11397 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z */
11398 DEFINE_THISCALL_WRAPPER(basic_fstream_short_copy_ctor
, 12)
11399 basic_fstream_wchar
* __thiscall
basic_fstream_short_copy_ctor(basic_fstream_wchar
*this,
11400 basic_fstream_wchar
*copy
, bool virt_init
)
11402 TRACE("(%p %p %d)\n", this, copy
, virt_init
);
11403 return basic_fstream_short_ctor_file(this, copy
->filebuf
.file
, virt_init
);
11406 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11407 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11408 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name
, 16)
11409 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name(basic_fstream_wchar
*this,
11410 const char *name
, int mode
, bool virt_init
)
11412 TRACE("(%p %s %d %d)\n", this, name
, mode
, virt_init
);
11414 basic_fstream_short_ctor(this, virt_init
);
11416 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, _SH_DENYNO
)) {
11417 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11418 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11423 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
11424 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
11425 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
11426 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
11427 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_dtor
, 4)
11428 void __thiscall
basic_fstream_wchar_dtor(basic_ios_wchar
*base
)
11430 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11432 TRACE("(%p)\n", this);
11434 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
11435 basic_filebuf_wchar_dtor(&this->filebuf
);
11438 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11439 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11440 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11441 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11442 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vbase_dtor
, 4)
11443 void __thiscall
basic_fstream_wchar_vbase_dtor(basic_fstream_wchar
*this)
11445 TRACE("(%p)\n", this);
11447 basic_fstream_wchar_dtor(basic_fstream_wchar_to_basic_ios(this));
11448 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
11451 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vector_dtor
, 8)
11452 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11454 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11456 TRACE("(%p %x)\n", this, flags
);
11459 /* we have an array, with the number of elements stored before the first object */
11460 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11462 for(i
=*ptr
-1; i
>=0; i
--)
11463 basic_fstream_wchar_vbase_dtor(this+i
);
11464 operator_delete(ptr
);
11466 basic_fstream_wchar_vbase_dtor(this);
11468 operator_delete(this);
11474 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11475 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11476 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11477 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11478 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_close
, 4)
11479 void __thiscall
basic_fstream_wchar_close(basic_fstream_wchar
*this)
11481 TRACE("(%p)\n", this);
11483 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
11484 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11485 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11489 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
11490 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
11491 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
11492 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
11493 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_is_open
, 4)
11494 bool __thiscall
basic_fstream_wchar_is_open(const basic_fstream_wchar
*this)
11496 TRACE("(%p)\n", this);
11497 return basic_filebuf_wchar_is_open(&this->filebuf
);
11500 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z */
11501 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDH@Z */
11502 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open
, 12)
11503 void __thiscall
basic_fstream_wchar_open(basic_fstream_wchar
*this,
11504 const char *name
, int mode
)
11506 TRACE("(%p %s %d)\n", this, name
, mode
);
11508 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, _SH_DENYNO
)) {
11509 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11510 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11514 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDF@Z */
11515 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDF@Z */
11516 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old
, 12)
11517 void __thiscall
basic_fstream_wchar_open_old(basic_fstream_wchar
*this,
11518 const char *name
, int mode
)
11520 basic_fstream_wchar_open(this, name
, mode
);
11523 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11524 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11525 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11526 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11527 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_rdbuf
, 4)
11528 basic_filebuf_wchar
* __thiscall
basic_fstream_wchar_rdbuf(const basic_fstream_wchar
*this)
11530 TRACE("(%p)\n", this);
11531 return (basic_filebuf_wchar
*)&this->filebuf
;
11534 static inline basic_ios_char
* basic_ostringstream_char_to_basic_ios(basic_ostringstream_char
*ptr
)
11536 return (basic_ios_char
*)((char*)ptr
+basic_ostringstream_char_vbtable
[1]);
11539 static inline basic_ostringstream_char
* basic_ostringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11541 return (basic_ostringstream_char
*)((char*)ptr
-basic_ostringstream_char_vbtable
[1]);
11544 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
11545 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
11546 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_str
, 16)
11547 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_str(basic_ostringstream_char
*this,
11548 const basic_string_char
*str
, int mode
, bool virt_init
)
11550 basic_ios_char
*basic_ios
;
11552 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11555 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11556 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11557 basic_ios_char_ctor(basic_ios
);
11559 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11562 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11563 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, TRUE
, FALSE
);
11564 basic_ios
->base
.vtable
= &basic_ostringstream_char_vtable
;
11568 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11569 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11570 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_mode
, 12)
11571 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_mode(
11572 basic_ostringstream_char
*this, int mode
, bool virt_init
)
11574 basic_ios_char
*basic_ios
;
11576 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11579 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11580 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11581 basic_ios_char_ctor(basic_ios
);
11583 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11586 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11587 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, TRUE
, FALSE
);
11588 basic_ios
->base
.vtable
= &basic_ostringstream_char_vtable
;
11592 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11593 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11594 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor
, 4)
11595 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor(
11596 basic_ostringstream_char
*this)
11598 return basic_ostringstream_char_ctor_mode(this, 0, TRUE
);
11601 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11602 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11603 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_dtor
, 4)
11604 void __thiscall
basic_ostringstream_char_dtor(basic_ios_char
*base
)
11606 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11608 TRACE("(%p)\n", this);
11610 basic_stringbuf_char_dtor(&this->strbuf
);
11611 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
11614 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11615 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11616 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vbase_dtor
, 4)
11617 void __thiscall
basic_ostringstream_char_vbase_dtor(basic_ostringstream_char
*this)
11619 TRACE("(%p)\n", this);
11621 basic_ostringstream_char_dtor(basic_ostringstream_char_to_basic_ios(this));
11622 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
11625 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vector_dtor
, 8)
11626 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11628 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11630 TRACE("(%p %x)\n", this, flags
);
11633 /* we have an array, with the number of elements stored before the first object */
11634 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11636 for(i
=*ptr
-1; i
>=0; i
--)
11637 basic_ostringstream_char_vbase_dtor(this+i
);
11638 operator_delete(ptr
);
11640 basic_ostringstream_char_vbase_dtor(this);
11642 operator_delete(this);
11648 /* ?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11649 /* ?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11650 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_rdbuf
, 4)
11651 basic_stringbuf_char
* __thiscall
basic_ostringstream_char_rdbuf(const basic_ostringstream_char
*this)
11653 TRACE("(%p)\n", this);
11654 return (basic_stringbuf_char
*)&this->strbuf
;
11657 /* ?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
11658 /* ?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
11659 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_set
, 8)
11660 void __thiscall
basic_ostringstream_char_str_set(basic_ostringstream_char
*this, const basic_string_char
*str
)
11662 TRACE("(%p %p)\n", this, str
);
11663 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11666 /* ?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11667 /* ?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11668 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_get
, 8)
11669 basic_string_char
* __thiscall
basic_ostringstream_char_str_get(const basic_ostringstream_char
*this, basic_string_char
*ret
)
11671 TRACE("(%p %p)\n", this, ret
);
11672 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11675 static inline basic_ios_wchar
* basic_ostringstream_wchar_to_basic_ios(basic_ostringstream_wchar
*ptr
)
11677 return (basic_ios_wchar
*)((char*)ptr
+basic_ostringstream_wchar_vbtable
[1]);
11680 static inline basic_ostringstream_wchar
* basic_ostringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11682 return (basic_ostringstream_wchar
*)((char*)ptr
-basic_ostringstream_wchar_vbtable
[1]);
11685 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@H@Z */
11686 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@AEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@H@Z */
11687 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_str
, 16)
11688 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_str(basic_ostringstream_wchar
*this,
11689 const basic_string_wchar
*str
, int mode
, bool virt_init
)
11691 basic_ios_wchar
*basic_ios
;
11693 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11696 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11697 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11698 basic_ios_wchar_ctor(basic_ios
);
11700 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11703 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11704 basic_ostream_short_ctor(&this->base
, &this->strbuf
.base
, FALSE
, TRUE
, FALSE
);
11705 basic_ios
->base
.vtable
= &basic_ostringstream_wchar_vtable
;
11709 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
11710 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
11711 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_str
, 16)
11712 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_str(basic_ostringstream_wchar
*this,
11713 const basic_string_wchar
*str
, int mode
, bool virt_init
)
11715 basic_ostringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11716 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_ostringstream_short_vtable
;
11720 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11721 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11722 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_mode
, 12)
11723 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_mode(
11724 basic_ostringstream_wchar
*this, int mode
, bool virt_init
)
11726 basic_ios_wchar
*basic_ios
;
11728 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11731 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11732 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11733 basic_ios_wchar_ctor(basic_ios
);
11735 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11738 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11739 basic_ostream_short_ctor(&this->base
, &this->strbuf
.base
, FALSE
, TRUE
, FALSE
);
11740 basic_ios
->base
.vtable
= &basic_ostringstream_wchar_vtable
;
11744 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11745 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11746 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_mode
, 12)
11747 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_mode(
11748 basic_ostringstream_wchar
*this, int mode
, bool virt_init
)
11750 basic_ostringstream_wchar_ctor_mode(this, mode
, virt_init
);
11751 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_ostringstream_short_vtable
;
11755 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11756 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11757 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor
, 4)
11758 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor(
11759 basic_ostringstream_wchar
*this)
11761 return basic_ostringstream_wchar_ctor_mode(this, 0, TRUE
);
11764 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11765 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11766 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor
, 4)
11767 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor(
11768 basic_ostringstream_wchar
*this)
11770 return basic_ostringstream_short_ctor_mode(this, 0, TRUE
);
11773 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
11774 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
11775 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
11776 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
11777 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_dtor
, 4)
11778 void __thiscall
basic_ostringstream_wchar_dtor(basic_ios_wchar
*base
)
11780 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11782 TRACE("(%p)\n", this);
11784 basic_stringbuf_wchar_dtor(&this->strbuf
);
11785 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
11788 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11789 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11790 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11791 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11792 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vbase_dtor
, 4)
11793 void __thiscall
basic_ostringstream_wchar_vbase_dtor(basic_ostringstream_wchar
*this)
11795 TRACE("(%p)\n", this);
11797 basic_ostringstream_wchar_dtor(basic_ostringstream_wchar_to_basic_ios(this));
11798 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
11801 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vector_dtor
, 8)
11802 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11804 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11806 TRACE("(%p %x)\n", this, flags
);
11809 /* we have an array, with the number of elements stored before the first object */
11810 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11812 for(i
=*ptr
-1; i
>=0; i
--)
11813 basic_ostringstream_wchar_vbase_dtor(this+i
);
11814 operator_delete(ptr
);
11816 basic_ostringstream_wchar_vbase_dtor(this);
11818 operator_delete(this);
11824 /* ?rdbuf@?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPAV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
11825 /* ?rdbuf@?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEAV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
11826 /* ?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
11827 /* ?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
11828 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_rdbuf
, 4)
11829 basic_stringbuf_wchar
* __thiscall
basic_ostringstream_wchar_rdbuf(const basic_ostringstream_wchar
*this)
11831 TRACE("(%p)\n", this);
11832 return (basic_stringbuf_wchar
*)&this->strbuf
;
11835 /* ?str@?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
11836 /* ?str@?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXAEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
11837 /* ?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
11838 /* ?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
11839 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_set
, 8)
11840 void __thiscall
basic_ostringstream_wchar_str_set(basic_ostringstream_wchar
*this, const basic_string_wchar
*str
)
11842 TRACE("(%p %p)\n", this, str
);
11843 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
11846 /* ?str@?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
11847 /* ?str@?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
11848 /* ?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
11849 /* ?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
11850 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_get
, 8)
11851 basic_string_wchar
* __thiscall
basic_ostringstream_wchar_str_get(const basic_ostringstream_wchar
*this, basic_string_wchar
*ret
)
11853 TRACE("(%p %p)\n", this, ret
);
11854 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
11857 static inline basic_ios_char
* basic_istringstream_char_to_basic_ios(basic_istringstream_char
*ptr
)
11859 return (basic_ios_char
*)((char*)ptr
+basic_istringstream_char_vbtable
[1]);
11862 static inline basic_istringstream_char
* basic_istringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11864 return (basic_istringstream_char
*)((char*)ptr
-basic_istringstream_char_vbtable
[1]);
11867 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
11868 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
11869 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_str
, 16)
11870 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_str(basic_istringstream_char
*this,
11871 const basic_string_char
*str
, int mode
, bool virt_init
)
11873 basic_ios_char
*basic_ios
;
11875 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11878 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11879 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11880 basic_ios_char_ctor(basic_ios
);
11882 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11885 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11886 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11887 basic_ios
->base
.vtable
= &basic_istringstream_char_vtable
;
11891 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11892 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11893 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_mode
, 12)
11894 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_mode(
11895 basic_istringstream_char
*this, int mode
, bool virt_init
)
11897 basic_ios_char
*basic_ios
;
11899 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11902 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11903 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11904 basic_ios_char_ctor(basic_ios
);
11906 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11909 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11910 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11911 basic_ios
->base
.vtable
= &basic_istringstream_char_vtable
;
11915 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11916 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11917 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor
, 4)
11918 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor(
11919 basic_istringstream_char
*this)
11921 return basic_istringstream_char_ctor_mode(this, 0, TRUE
);
11924 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11925 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11926 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_dtor
, 4)
11927 void __thiscall
basic_istringstream_char_dtor(basic_ios_char
*base
)
11929 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11931 TRACE("(%p)\n", this);
11933 basic_stringbuf_char_dtor(&this->strbuf
);
11934 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
11937 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11938 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11939 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vbase_dtor
, 4)
11940 void __thiscall
basic_istringstream_char_vbase_dtor(basic_istringstream_char
*this)
11942 TRACE("(%p)\n", this);
11944 basic_istringstream_char_dtor(basic_istringstream_char_to_basic_ios(this));
11945 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
11948 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vector_dtor
, 8)
11949 basic_istringstream_char
* __thiscall
basic_istringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11951 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11953 TRACE("(%p %x)\n", this, flags
);
11956 /* we have an array, with the number of elements stored before the first object */
11957 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11959 for(i
=*ptr
-1; i
>=0; i
--)
11960 basic_istringstream_char_vbase_dtor(this+i
);
11961 operator_delete(ptr
);
11963 basic_istringstream_char_vbase_dtor(this);
11965 operator_delete(this);
11971 /* ?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11972 /* ?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11973 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_rdbuf
, 4)
11974 basic_stringbuf_char
* __thiscall
basic_istringstream_char_rdbuf(const basic_istringstream_char
*this)
11976 TRACE("(%p)\n", this);
11977 return (basic_stringbuf_char
*)&this->strbuf
;
11980 /* ?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
11981 /* ?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
11982 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_set
, 8)
11983 void __thiscall
basic_istringstream_char_str_set(basic_istringstream_char
*this, const basic_string_char
*str
)
11985 TRACE("(%p %p)\n", this, str
);
11986 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11989 /* ?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11990 /* ?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
11991 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_get
, 8)
11992 basic_string_char
* __thiscall
basic_istringstream_char_str_get(const basic_istringstream_char
*this, basic_string_char
*ret
)
11994 TRACE("(%p %p)\n", this, ret
);
11995 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11998 static inline basic_ios_wchar
* basic_istringstream_wchar_to_basic_ios(basic_istringstream_wchar
*ptr
)
12000 return (basic_ios_wchar
*)((char*)ptr
+basic_istringstream_wchar_vbtable
[1]);
12003 static inline basic_istringstream_wchar
* basic_istringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
12005 return (basic_istringstream_wchar
*)((char*)ptr
-basic_istringstream_wchar_vbtable
[1]);
12008 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@H@Z */
12009 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@AEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@H@Z */
12010 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_str
, 16)
12011 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_str(basic_istringstream_wchar
*this,
12012 const basic_string_wchar
*str
, int mode
, bool virt_init
)
12014 basic_ios_wchar
*basic_ios
;
12016 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12019 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
12020 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
12021 basic_ios_wchar_ctor(basic_ios
);
12023 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
12026 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
12027 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
12028 basic_ios
->base
.vtable
= &basic_istringstream_wchar_vtable
;
12032 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
12033 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
12034 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_str
, 16)
12035 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_str(basic_istringstream_wchar
*this,
12036 const basic_string_wchar
*str
, int mode
, bool virt_init
)
12038 basic_istringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
12039 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_istringstream_short_vtable
;
12043 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
12044 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
12045 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_mode
, 12)
12046 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_mode(
12047 basic_istringstream_wchar
*this, int mode
, bool virt_init
)
12049 basic_ios_wchar
*basic_ios
;
12051 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12054 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
12055 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
12056 basic_ios_wchar_ctor(basic_ios
);
12058 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
12061 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
12062 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
12063 basic_ios
->base
.vtable
= &basic_istringstream_wchar_vtable
;
12067 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
12068 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
12069 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_mode
, 12)
12070 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_mode(
12071 basic_istringstream_wchar
*this, int mode
, bool virt_init
)
12073 basic_istringstream_wchar_ctor_mode(this, mode
, virt_init
);
12074 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &basic_istringstream_short_vtable
;
12078 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12079 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12080 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor
, 4)
12081 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor(
12082 basic_istringstream_wchar
*this)
12084 return basic_istringstream_wchar_ctor_mode(this, 0, TRUE
);
12087 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12088 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12089 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor
, 4)
12090 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor(
12091 basic_istringstream_wchar
*this)
12093 return basic_istringstream_short_ctor_mode(this, 0, TRUE
);
12096 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
12097 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
12098 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
12099 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
12100 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_dtor
, 4)
12101 void __thiscall
basic_istringstream_wchar_dtor(basic_ios_wchar
*base
)
12103 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
12105 TRACE("(%p)\n", this);
12107 basic_stringbuf_wchar_dtor(&this->strbuf
);
12108 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
12111 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12112 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12113 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12114 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12115 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vbase_dtor
, 4)
12116 void __thiscall
basic_istringstream_wchar_vbase_dtor(basic_istringstream_wchar
*this)
12118 TRACE("(%p)\n", this);
12120 basic_istringstream_wchar_dtor(basic_istringstream_wchar_to_basic_ios(this));
12121 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
12124 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vector_dtor
, 8)
12125 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12127 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
12129 TRACE("(%p %x)\n", this, flags
);
12132 /* we have an array, with the number of elements stored before the first object */
12133 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12135 for(i
=*ptr
-1; i
>=0; i
--)
12136 basic_istringstream_wchar_vbase_dtor(this+i
);
12137 operator_delete(ptr
);
12139 basic_istringstream_wchar_vbase_dtor(this);
12141 operator_delete(this);
12147 /* ?rdbuf@?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPAV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
12148 /* ?rdbuf@?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEAV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
12149 /* ?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12150 /* ?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12151 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_rdbuf
, 4)
12152 basic_stringbuf_wchar
* __thiscall
basic_istringstream_wchar_rdbuf(const basic_istringstream_wchar
*this)
12154 TRACE("(%p)\n", this);
12155 return (basic_stringbuf_wchar
*)&this->strbuf
;
12158 /* ?str@?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
12159 /* ?str@?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXAEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
12160 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12161 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12162 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_set
, 8)
12163 void __thiscall
basic_istringstream_wchar_str_set(basic_istringstream_wchar
*this, const basic_string_wchar
*str
)
12165 TRACE("(%p %p)\n", this, str
);
12166 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12169 /* ?str@?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
12170 /* ?str@?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
12171 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12172 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12173 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_get
, 8)
12174 basic_string_wchar
* __thiscall
basic_istringstream_wchar_str_get(const basic_istringstream_wchar
*this, basic_string_wchar
*ret
)
12176 TRACE("(%p %p)\n", this, ret
);
12177 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12180 static inline basic_ios_char
* basic_stringstream_char_to_basic_ios(basic_stringstream_char
*ptr
)
12182 return (basic_ios_char
*)((char*)ptr
+basic_stringstream_char_vbtable1
[1]);
12185 static inline basic_stringstream_char
* basic_stringstream_char_from_basic_ios(basic_ios_char
*ptr
)
12187 return (basic_stringstream_char
*)((char*)ptr
-basic_stringstream_char_vbtable1
[1]);
12190 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
12191 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z */
12192 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_str
, 16)
12193 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_str(basic_stringstream_char
*this,
12194 const basic_string_char
*str
, int mode
, bool virt_init
)
12196 basic_ios_char
*basic_ios
;
12198 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12201 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12202 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12203 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12204 basic_ios_char_ctor(basic_ios
);
12206 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12209 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
);
12210 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12211 basic_ios
->base
.vtable
= &basic_stringstream_char_vtable
;
12215 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
12216 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
12217 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_mode
, 12)
12218 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_mode(
12219 basic_stringstream_char
*this, int mode
, bool virt_init
)
12221 basic_ios_char
*basic_ios
;
12223 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12226 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12227 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12228 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12229 basic_ios_char_ctor(basic_ios
);
12231 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12234 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
);
12235 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12236 basic_ios
->base
.vtable
= &basic_stringstream_char_vtable
;
12240 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12241 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12242 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor
, 4)
12243 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor(
12244 basic_stringstream_char
*this)
12246 return basic_stringstream_char_ctor_mode(
12247 this, OPENMODE_out
|OPENMODE_in
, TRUE
);
12250 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
12251 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
12252 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_dtor
, 4)
12253 void __thiscall
basic_stringstream_char_dtor(basic_ios_char
*base
)
12255 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12257 TRACE("(%p)\n", this);
12259 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
12260 basic_stringbuf_char_dtor(&this->strbuf
);
12263 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12264 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12265 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vbase_dtor
, 4)
12266 void __thiscall
basic_stringstream_char_vbase_dtor(basic_stringstream_char
*this)
12268 TRACE("(%p)\n", this);
12270 basic_stringstream_char_dtor(basic_stringstream_char_to_basic_ios(this));
12271 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
12274 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vector_dtor
, 8)
12275 basic_stringstream_char
* __thiscall
basic_stringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
12277 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12279 TRACE("(%p %x)\n", this, flags
);
12282 /* we have an array, with the number of elements stored before the first object */
12283 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12285 for(i
=*ptr
-1; i
>=0; i
--)
12286 basic_stringstream_char_vbase_dtor(this+i
);
12287 operator_delete(ptr
);
12289 basic_stringstream_char_vbase_dtor(this);
12291 operator_delete(this);
12297 /* ?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
12298 /* ?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
12299 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_rdbuf
, 4)
12300 basic_stringbuf_char
* __thiscall
basic_stringstream_char_rdbuf(const basic_stringstream_char
*this)
12302 TRACE("(%p)\n", this);
12303 return (basic_stringbuf_char
*)&this->strbuf
;
12306 /* ?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
12307 /* ?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */
12308 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_set
, 8)
12309 void __thiscall
basic_stringstream_char_str_set(basic_stringstream_char
*this, const basic_string_char
*str
)
12311 TRACE("(%p %p)\n", this, str
);
12312 basic_stringbuf_char_str_set(&this->strbuf
, str
);
12315 /* ?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
12316 /* ?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */
12317 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_get
, 8)
12318 basic_string_char
* __thiscall
basic_stringstream_char_str_get(const basic_stringstream_char
*this, basic_string_char
*ret
)
12320 TRACE("(%p %p)\n", this, ret
);
12321 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
12324 static inline basic_ios_wchar
* basic_stringstream_short_to_basic_ios(basic_stringstream_wchar
*ptr
)
12326 return (basic_ios_wchar
*)((char*)ptr
+basic_stringstream_short_vbtable1
[1]);
12329 static inline basic_stringstream_wchar
* basic_stringstream_short_from_basic_ios(basic_ios_wchar
*ptr
)
12331 return (basic_stringstream_wchar
*)((char*)ptr
-basic_stringstream_short_vbtable1
[1]);
12334 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
12335 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
12336 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_str
, 16)
12337 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_str(basic_stringstream_wchar
*this,
12338 const basic_string_wchar
*str
, int mode
, bool virt_init
)
12340 basic_ios_wchar
*basic_ios
;
12342 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12345 this->base
.base1
.vbtable
= basic_stringstream_short_vbtable1
;
12346 this->base
.base2
.vbtable
= basic_stringstream_short_vbtable2
;
12347 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12348 basic_ios_short_ctor(basic_ios
);
12350 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12353 basic_stringbuf_short_ctor_str(&this->strbuf
, str
, mode
);
12354 basic_iostream_short_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12355 basic_ios
->base
.vtable
= &basic_stringstream_short_vtable
;
12359 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
12360 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
12361 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_mode
, 12)
12362 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_mode(
12363 basic_stringstream_wchar
*this, int mode
, bool virt_init
)
12365 basic_ios_wchar
*basic_ios
;
12367 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12370 this->base
.base1
.vbtable
= basic_stringstream_short_vbtable1
;
12371 this->base
.base2
.vbtable
= basic_stringstream_short_vbtable2
;
12372 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12373 basic_ios_short_ctor(basic_ios
);
12375 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12378 basic_stringbuf_short_ctor_mode(&this->strbuf
, mode
);
12379 basic_iostream_short_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12380 basic_ios
->base
.vtable
= &basic_stringstream_short_vtable
;
12384 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12385 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12386 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor
, 4)
12387 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor(
12388 basic_stringstream_wchar
*this)
12390 return basic_stringstream_short_ctor_mode(
12391 this, OPENMODE_out
|OPENMODE_in
, TRUE
);
12394 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
12395 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
12396 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_dtor
, 4)
12397 void __thiscall
basic_stringstream_short_dtor(basic_ios_wchar
*base
)
12399 basic_stringstream_wchar
*this = basic_stringstream_short_from_basic_ios(base
);
12401 TRACE("(%p)\n", this);
12403 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
12404 basic_stringbuf_wchar_dtor(&this->strbuf
);
12407 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12408 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12409 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_vbase_dtor
, 4)
12410 void __thiscall
basic_stringstream_short_vbase_dtor(basic_stringstream_wchar
*this)
12412 TRACE("(%p)\n", this);
12414 basic_stringstream_short_dtor(basic_stringstream_short_to_basic_ios(this));
12415 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
12418 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_vector_dtor
, 8)
12419 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12421 basic_stringstream_wchar
*this = basic_stringstream_short_from_basic_ios(base
);
12423 TRACE("(%p %x)\n", this, flags
);
12426 /* we have an array, with the number of elements stored before the first object */
12427 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12429 for(i
=*ptr
-1; i
>=0; i
--)
12430 basic_stringstream_short_vbase_dtor(this+i
);
12431 operator_delete(ptr
);
12433 basic_stringstream_short_vbase_dtor(this);
12435 operator_delete(this);
12441 /* ?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12442 /* ?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12443 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_rdbuf
, 4)
12444 basic_stringbuf_wchar
* __thiscall
basic_stringstream_short_rdbuf(const basic_stringstream_wchar
*this)
12446 TRACE("(%p)\n", this);
12447 return (basic_stringbuf_wchar
*)&this->strbuf
;
12450 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12451 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12452 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_str_set
, 8)
12453 void __thiscall
basic_stringstream_short_str_set(basic_stringstream_wchar
*this, const basic_string_wchar
*str
)
12455 TRACE("(%p %p)\n", this, str
);
12456 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12459 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12460 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12461 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_str_get
, 8)
12462 basic_string_wchar
* __thiscall
basic_stringstream_short_str_get(const basic_stringstream_wchar
*this, basic_string_wchar
*ret
)
12464 TRACE("(%p %p)\n", this, ret
);
12465 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12468 /* ?_Init@strstreambuf@std@@IAEXHPAD0H@Z */
12469 /* ?_Init@strstreambuf@std@@IEAAX_JPEAD1H@Z */
12470 DEFINE_THISCALL_WRAPPER(strstreambuf__Init
, 20)
12471 void __thiscall
strstreambuf__Init(strstreambuf
*this, streamsize len
, char *g
, char *p
, int mode
)
12473 TRACE("(%p %Id %p %p %d)\n", this, len
, g
, p
, mode
);
12475 this->minsize
= 32;
12476 this->endsave
= NULL
;
12477 this->strmode
= mode
;
12478 this->palloc
= NULL
;
12479 this->pfree
= NULL
;
12482 this->strmode
|= STRSTATE_Dynamic
;
12483 if(len
> this->minsize
)
12484 this->minsize
= len
;
12485 this->seekhigh
= NULL
;
12494 this->seekhigh
= g
+len
;
12495 basic_streambuf_char_setg(&this->base
, g
, g
, p
? p
: this->seekhigh
);
12497 basic_streambuf_char_setp(&this->base
, p
, this->seekhigh
);
12500 /* ??0strstreambuf@std@@QAE@PACH0@Z */
12501 /* ??0strstreambuf@std@@QEAA@PEAC_J0@Z */
12502 /* ??0strstreambuf@std@@QAE@PADH0@Z */
12503 /* ??0strstreambuf@std@@QEAA@PEAD_J0@Z */
12504 /* ??0strstreambuf@std@@QAE@PAEH0@Z */
12505 /* ??0strstreambuf@std@@QEAA@PEAE_J0@Z */
12506 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get_put
, 16)
12507 strstreambuf
* __thiscall
strstreambuf_ctor_get_put(strstreambuf
*this, char *g
, streamsize len
, char *p
)
12509 TRACE("(%p %p %Id %p)\n", this, g
, len
, p
);
12511 basic_streambuf_char_ctor(&this->base
);
12512 this->base
.vtable
= &strstreambuf_vtable
;
12514 strstreambuf__Init(this, len
, g
, p
, 0);
12518 /* ??0strstreambuf@std@@QAE@H@Z */
12519 /* ??0strstreambuf@std@@QEAA@_J@Z */
12520 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_len
, 8)
12521 strstreambuf
* __thiscall
strstreambuf_ctor_len(strstreambuf
*this, streamsize len
)
12523 return strstreambuf_ctor_get_put(this, NULL
, len
, NULL
);
12526 /* ??0strstreambuf@std@@QAE@P6APAXI@ZP6AXPAX@Z@Z */
12527 /* ??0strstreambuf@std@@QEAA@P6APEAX_K@ZP6AXPEAX@Z@Z */
12528 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_alloc
, 12)
12529 strstreambuf
* __thiscall
strstreambuf_ctor_alloc(strstreambuf
*this, void* (__cdecl
*palloc
)(size_t), void (__cdecl
*pfree
)(void*))
12531 TRACE("(%p %p %p)\n", this, palloc
, pfree
);
12533 strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12534 this->palloc
= palloc
;
12535 this->pfree
= pfree
;
12539 /* ??0strstreambuf@std@@QAE@PBCH@Z */
12540 /* ??0strstreambuf@std@@QEAA@PEBC_J@Z */
12541 /* ??0strstreambuf@std@@QAE@PBDH@Z */
12542 /* ??0strstreambuf@std@@QEAA@PEBD_J@Z */
12543 /* ??0strstreambuf@std@@QAE@PBEH@Z */
12544 /* ??0strstreambuf@std@@QEAA@PEBE_J@Z */
12545 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get
, 12)
12546 strstreambuf
* __thiscall
strstreambuf_ctor_get(strstreambuf
*this, const char *g
, streamsize len
)
12548 TRACE("(%p %p %Id)\n", this, g
, len
);
12550 strstreambuf_ctor_get_put(this, (char*)g
, len
, NULL
);
12551 this->strmode
|= STRSTATE_Constant
;
12555 /* ??_Fstrstreambuf@std@@QAEXXZ */
12556 /* ??_Fstrstreambuf@std@@QEAAXXZ */
12557 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor
, 4)
12558 strstreambuf
* __thiscall
strstreambuf_ctor(strstreambuf
*this)
12560 return strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12563 /* ?_Tidy@strstreambuf@std@@IAEXXZ */
12564 /* ?_Tidy@strstreambuf@std@@IEAAXXZ */
12565 DEFINE_THISCALL_WRAPPER(strstreambuf__Tidy
, 4)
12566 void __thiscall
strstreambuf__Tidy(strstreambuf
*this)
12568 TRACE("(%p)\n", this);
12570 if((this->strmode
& STRSTATE_Allocated
) && !(this->strmode
& STRSTATE_Frozen
)) {
12572 this->pfree(basic_streambuf_char_eback(&this->base
));
12574 operator_delete(basic_streambuf_char_eback(&this->base
));
12577 this->endsave
= NULL
;
12578 this->seekhigh
= NULL
;
12579 this->strmode
&= ~(STRSTATE_Allocated
| STRSTATE_Frozen
);
12580 basic_streambuf_char_setg(&this->base
, NULL
, NULL
, NULL
);
12581 basic_streambuf_char_setp(&this->base
, NULL
, NULL
);
12584 /* ??1strstreambuf@std@@UAE@XZ */
12585 /* ??1strstreambuf@std@@UEAA@XZ */
12586 DEFINE_THISCALL_WRAPPER(strstreambuf_dtor
, 4)
12587 void __thiscall
strstreambuf_dtor(strstreambuf
*this)
12589 TRACE("(%p)\n", this);
12591 strstreambuf__Tidy(this);
12592 basic_streambuf_char_dtor(&this->base
);
12595 DEFINE_THISCALL_WRAPPER(strstreambuf_vector_dtor
, 8)
12596 strstreambuf
* __thiscall
strstreambuf_vector_dtor(strstreambuf
*this, unsigned int flags
)
12598 TRACE("(%p %x)\n", this, flags
);
12600 /* we have an array, with the number of elements stored before the first object */
12601 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12603 for(i
=*ptr
-1; i
>=0; i
--)
12604 strstreambuf_dtor(this+i
);
12605 operator_delete(ptr
);
12607 strstreambuf_dtor(this);
12609 operator_delete(this);
12615 /* ?freeze@strstreambuf@std@@QAEX_N@Z */
12616 /* ?freeze@strstreambuf@std@@QEAAX_N@Z */
12617 DEFINE_THISCALL_WRAPPER(strstreambuf_freeze
, 8)
12618 void __thiscall
strstreambuf_freeze(strstreambuf
*this, bool freeze
)
12620 TRACE("(%p %d)\n", this, freeze
);
12622 if(!freeze
== !(this->strmode
& STRSTATE_Frozen
))
12626 this->strmode
|= STRSTATE_Frozen
;
12627 this->endsave
= basic_streambuf_char_epptr(&this->base
);
12628 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12629 basic_streambuf_char_pptr(&this->base
), basic_streambuf_char_eback(&this->base
));
12631 this->strmode
&= ~STRSTATE_Frozen
;
12632 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12633 basic_streambuf_char_pptr(&this->base
), this->endsave
);
12637 /* ?str@strstreambuf@std@@QAEPADXZ */
12638 /* ?str@strstreambuf@std@@QEAAPEADXZ */
12639 DEFINE_THISCALL_WRAPPER(strstreambuf_str
, 4)
12640 char* __thiscall
strstreambuf_str(strstreambuf
*this)
12642 TRACE("(%p)\n", this);
12644 strstreambuf_freeze(this, TRUE
);
12645 return basic_streambuf_char_gptr(&this->base
);
12648 /* ?pcount@strstreambuf@std@@QBEHXZ */
12649 /* ?pcount@strstreambuf@std@@QEBA_JXZ */
12650 DEFINE_THISCALL_WRAPPER(strstreambuf_pcount
, 4)
12651 streamsize __thiscall
strstreambuf_pcount(const strstreambuf
*this)
12653 char *ppos
= basic_streambuf_char_pptr(&this->base
);
12655 TRACE("(%p)\n", this);
12657 return ppos
? ppos
-basic_streambuf_char_pbase(&this->base
) : 0;
12660 /* ?overflow@strstreambuf@std@@MAEHH@Z */
12661 /* ?overflow@strstreambuf@std@@MEAAHH@Z */
12662 DEFINE_THISCALL_WRAPPER(strstreambuf_overflow
, 8)
12663 int __thiscall
strstreambuf_overflow(strstreambuf
*this, int c
)
12665 size_t old_size
, size
;
12668 TRACE("(%p %d)\n", this, c
);
12673 if(this->strmode
& STRSTATE_Frozen
)
12676 ptr
= basic_streambuf_char_pptr(&this->base
);
12677 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
12678 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12680 if(!(this->strmode
& STRSTATE_Dynamic
) || (this->strmode
& STRSTATE_Constant
))
12683 ptr
= basic_streambuf_char_eback(&this->base
);
12684 old_size
= ptr
? basic_streambuf_char_epptr(&this->base
) - ptr
: 0;
12686 size
= old_size
+ old_size
/2;
12687 if(size
< this->minsize
)
12688 size
= this->minsize
;
12691 buf
= this->palloc(size
);
12693 buf
= operator_new(size
);
12697 memcpy(buf
, ptr
, old_size
);
12698 if(this->strmode
& STRSTATE_Allocated
) {
12702 operator_delete(ptr
);
12705 this->strmode
|= STRSTATE_Allocated
;
12707 this->seekhigh
= buf
;
12708 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
12709 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
);
12711 this->seekhigh
= this->seekhigh
-ptr
+buf
;
12712 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
)-ptr
+buf
,
12713 basic_streambuf_char_pptr(&this->base
)-ptr
+buf
, buf
+size
);
12714 basic_streambuf_char_setg(&this->base
, buf
, basic_streambuf_char_gptr(&this->base
)-ptr
+buf
,
12715 basic_streambuf_char_pptr(&this->base
));
12718 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12721 /* ?pbackfail@strstreambuf@std@@MAEHH@Z */
12722 /* ?pbackfail@strstreambuf@std@@MEAAHH@Z */
12723 DEFINE_THISCALL_WRAPPER(strstreambuf_pbackfail
, 8)
12724 int __thiscall
strstreambuf_pbackfail(strstreambuf
*this, int c
)
12726 char *ptr
= basic_streambuf_char_gptr(&this->base
);
12728 TRACE("(%p %d)\n", this, c
);
12730 if(ptr
<=basic_streambuf_char_eback(&this->base
)
12731 || ((this->strmode
& STRSTATE_Constant
) && c
!=ptr
[-1]))
12734 basic_streambuf_char_gbump(&this->base
, -1);
12737 if(this->strmode
& STRSTATE_Constant
)
12738 return (unsigned char)c
;
12740 return (unsigned char)(ptr
[0] = c
);
12743 /* ?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z */
12744 /* ?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z */
12745 /* ?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JHH@Z */
12746 /* ?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
12747 DEFINE_THISCALL_WRAPPER(strstreambuf_seekoff
, 20)
12748 fpos_int
* __thiscall
strstreambuf_seekoff(strstreambuf
*this, fpos_int
*ret
, streamoff off
, int way
, int mode
)
12750 char *eback
= basic_streambuf_char_eback(&this->base
);
12751 char *pptr
= basic_streambuf_char_pptr(&this->base
);
12752 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12754 TRACE("(%p %p %Id %d %d)\n", this, ret
, off
, way
, mode
);
12759 if(pptr
> this->seekhigh
)
12760 this->seekhigh
= pptr
;
12762 if((mode
& OPENMODE_in
) && gptr
) {
12763 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
12765 else if(way
== SEEKDIR_end
)
12766 off
+= this->seekhigh
-eback
;
12767 else if(way
!= SEEKDIR_beg
)
12770 if(off
<0 || off
>this->seekhigh
-eback
) {
12773 basic_streambuf_char_gbump(&this->base
, eback
-gptr
+off
);
12774 if((mode
& OPENMODE_out
) && pptr
) {
12775 basic_streambuf_char_setp_next(&this->base
, eback
,
12776 gptr
, basic_streambuf_char_epptr(&this->base
));
12779 }else if((mode
& OPENMODE_out
) && pptr
) {
12780 if(way
== SEEKDIR_cur
)
12782 else if(way
== SEEKDIR_end
)
12783 off
+= this->seekhigh
-eback
;
12784 else if(way
!= SEEKDIR_beg
)
12787 if(off
<0 || off
>this->seekhigh
-eback
)
12790 basic_streambuf_char_pbump(&this->base
, eback
-pptr
+off
);
12799 /* ?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z */
12800 /* ?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
12801 DEFINE_THISCALL_WRAPPER(strstreambuf_seekpos
, 36)
12802 fpos_int
* __thiscall
strstreambuf_seekpos(strstreambuf
*this, fpos_int
*ret
, fpos_int pos
, int mode
)
12804 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
12806 if(pos
.off
==-1 && pos
.pos
==0 && pos
.state
==0) {
12811 return strstreambuf_seekoff(this, ret
, pos
.pos
+pos
.off
, SEEKDIR_beg
, mode
);
12814 /* ?underflow@strstreambuf@std@@MAEHXZ */
12815 /* ?underflow@strstreambuf@std@@MEAAHXZ */
12816 DEFINE_THISCALL_WRAPPER(strstreambuf_underflow
, 4)
12817 int __thiscall
strstreambuf_underflow(strstreambuf
*this)
12819 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12822 TRACE("(%p)\n", this);
12827 if(gptr
< basic_streambuf_char_egptr(&this->base
))
12828 return (unsigned char)(*gptr
);
12830 pptr
= basic_streambuf_char_gptr(&this->base
);
12831 if(pptr
> this->seekhigh
)
12832 this->seekhigh
= pptr
;
12834 if(this->seekhigh
<= gptr
)
12837 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
),
12838 gptr
, this->seekhigh
);
12839 return (unsigned char)(*gptr
);
12842 static inline basic_ios_char
* ostrstream_to_basic_ios(ostrstream
*ptr
)
12844 return (basic_ios_char
*)((char*)ptr
+ostrstream_vbtable
[1]);
12847 static inline ostrstream
* ostrstream_from_basic_ios(basic_ios_char
*ptr
)
12849 return (ostrstream
*)((char*)ptr
-ostrstream_vbtable
[1]);
12852 /* ??0ostrstream@std@@QAE@PADHH@Z */
12853 DEFINE_THISCALL_WRAPPER(ostrstream_ctor
, 20)
12854 ostrstream
* __thiscall
ostrstream_ctor(ostrstream
*this, char *buf
, streamsize size
, int mode
, bool virt_init
)
12856 basic_ios_char
*basic_ios
;
12858 TRACE("(%p %p %Id %d %d)\n", this, buf
, size
, mode
, virt_init
);
12861 this->base
.vbtable
= ostrstream_vbtable
;
12862 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
12863 basic_ios_char_ctor(basic_ios
);
12865 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
12868 strstreambuf_ctor_get_put(&this->buf
, buf
, size
,
12869 buf
&& (mode
& OPENMODE_app
) ? buf
+strlen(buf
) : buf
);
12870 basic_ostream_char_ctor(&this->base
, &this->buf
.base
, FALSE
, TRUE
, FALSE
);
12871 basic_ios
->base
.vtable
= &ostrstream_vtable
;
12875 /* ??1ostrstream@std@@UAE@XZ */
12876 /* ??1ostrstream@std@@UEAA@XZ */
12877 DEFINE_THISCALL_WRAPPER(ostrstream_dtor
, 4)
12878 void __thiscall
ostrstream_dtor(basic_ios_char
*base
)
12880 ostrstream
*this = ostrstream_from_basic_ios(base
);
12882 TRACE("(%p)\n", this);
12884 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
12885 strstreambuf_dtor(&this->buf
);
12888 static void ostrstream_vbase_dtor(ostrstream
*this)
12890 TRACE("(%p)\n", this);
12892 ostrstream_dtor(ostrstream_to_basic_ios(this));
12893 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
12896 DEFINE_THISCALL_WRAPPER(ostrstream_vector_dtor
, 8)
12897 ostrstream
* __thiscall
ostrstream_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
12899 ostrstream
*this = ostrstream_from_basic_ios(base
);
12901 TRACE("(%p %x)\n", this, flags
);
12904 /* we have an array, with the number of elements stored before the first object */
12905 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12907 for(i
=*ptr
-1; i
>=0; i
--)
12908 ostrstream_vbase_dtor(this+i
);
12909 operator_delete(ptr
);
12911 ostrstream_vbase_dtor(this);
12913 operator_delete(this);
12919 static inline istrstream
* istrstream_from_basic_ios(basic_ios_char
*ptr
)
12921 return (istrstream
*)((char*)ptr
-istrstream_vbtable
[1]);
12924 /* ??1istrstream@std@@UAE@XZ */
12925 /* ??1istrstream@std@@UEAA@XZ */
12926 DEFINE_THISCALL_WRAPPER(istrstream_dtor
, 4)
12927 void __thiscall
istrstream_dtor(basic_ios_char
*base
)
12929 istrstream
*this = istrstream_from_basic_ios(base
);
12931 TRACE("(%p)\n", this);
12933 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
12934 strstreambuf_dtor(&this->buf
);
12937 static inline basic_ios_char
* strstream_to_basic_ios(strstream
*ptr
)
12939 return (basic_ios_char
*)((char*)ptr
+strstream_vbtable1
[1]);
12942 static inline strstream
* strstream_from_basic_ios(basic_ios_char
*ptr
)
12944 return (strstream
*)((char*)ptr
-strstream_vbtable1
[1]);
12947 /* ??$?6MDU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z */
12948 /* ??$?6MDU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@M@0@@Z */
12949 basic_ostream_char
* __cdecl
basic_ostream_char_print_complex_float(basic_ostream_char
*ostr
, const complex_float
*val
)
12952 basic_ostringstream_char obj
;
12953 basic_ios_char vbase
;
12955 ios_base
*ostringstream_ios_base
, *ostream_ios_base
;
12957 basic_string_char str
;
12958 basic_ostringstream_char_ctor(&oss
.obj
);
12959 ostringstream_ios_base
= &oss
.vbase
.base
;
12960 ostream_ios_base
= &basic_ostream_char_get_basic_ios(ostr
)->base
;
12961 TRACE("(%p %p)\n", ostr
, val
);
12963 ios_base_imbue(ostringstream_ios_base
, &loc
, IOS_LOCALE(ostream_ios_base
));
12965 ios_base_precision_set(ostringstream_ios_base
, ios_base_precision_get(ostream_ios_base
));
12966 ios_base_flags_set(ostringstream_ios_base
, ios_base_flags_get(ostream_ios_base
));
12968 basic_ostream_char_print_ch(&oss
.obj
.base
, '(');
12969 basic_ostream_char_print_float(&oss
.obj
.base
, val
->real
);
12970 basic_ostream_char_print_ch(&oss
.obj
.base
, ',');
12971 basic_ostream_char_print_float(&oss
.obj
.base
, val
->imag
);
12972 basic_ostream_char_print_ch(&oss
.obj
.base
, ')');
12974 basic_ostringstream_char_str_get(&oss
.obj
, &str
);
12975 basic_ostringstream_char_dtor(&oss
.vbase
);
12976 basic_ostream_char_print_bstr(ostr
, &str
);
12977 MSVCP_basic_string_char_dtor(&str
);
12981 /* ??$?6NDU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z */
12982 /* ??$?6NDU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@N@0@@Z */
12983 basic_ostream_char
* __cdecl
basic_ostream_char_print_complex_double(basic_ostream_char
*ostr
, const complex_double
*val
)
12986 basic_ostringstream_char obj
;
12987 basic_ios_char vbase
;
12989 ios_base
*ostringstream_ios_base
, *ostream_ios_base
;
12991 basic_string_char str
;
12992 basic_ostringstream_char_ctor(&oss
.obj
);
12993 ostringstream_ios_base
= &oss
.vbase
.base
;
12994 ostream_ios_base
= &basic_ostream_char_get_basic_ios(ostr
)->base
;
12995 TRACE("(%p %p)\n", ostr
, val
);
12997 ios_base_imbue(ostringstream_ios_base
, &loc
, IOS_LOCALE(ostream_ios_base
));
12999 ios_base_precision_set(ostringstream_ios_base
, ios_base_precision_get(ostream_ios_base
));
13000 ios_base_flags_set(ostringstream_ios_base
, ios_base_flags_get(ostream_ios_base
));
13002 basic_ostream_char_print_ch(&oss
.obj
.base
, '(');
13003 basic_ostream_char_print_double(&oss
.obj
.base
, val
->real
);
13004 basic_ostream_char_print_ch(&oss
.obj
.base
, ',');
13005 basic_ostream_char_print_double(&oss
.obj
.base
, val
->imag
);
13006 basic_ostream_char_print_ch(&oss
.obj
.base
, ')');
13008 basic_ostringstream_char_str_get(&oss
.obj
, &str
);
13009 basic_ostringstream_char_dtor(&oss
.vbase
);
13010 basic_ostream_char_print_bstr(ostr
, &str
);
13011 MSVCP_basic_string_char_dtor(&str
);
13015 /* ??$?6odu?$char_traits@d@std@@@std@@yaaav?$basic_ostream@du?$char_traits@d@std@@@0@aav10@abv?$complex@o@0@@Z */
13016 /* ??$?6ODU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@O@0@@Z */
13017 basic_ostream_char
* __cdecl
basic_ostream_char_print_complex_ldouble(basic_ostream_char
*ostr
, const complex_double
*val
)
13020 basic_ostringstream_char obj
;
13021 basic_ios_char vbase
;
13023 ios_base
*ostringstream_ios_base
, *ostream_ios_base
;
13025 basic_string_char str
;
13026 basic_ostringstream_char_ctor(&oss
.obj
);
13027 ostringstream_ios_base
= &oss
.vbase
.base
;
13028 ostream_ios_base
= &basic_ostream_char_get_basic_ios(ostr
)->base
;
13029 TRACE("(%p %p)\n", ostr
, val
);
13031 ios_base_imbue(ostringstream_ios_base
, &loc
, IOS_LOCALE(ostream_ios_base
));
13033 ios_base_precision_set(ostringstream_ios_base
, ios_base_precision_get(ostream_ios_base
));
13034 ios_base_flags_set(ostringstream_ios_base
, ios_base_flags_get(ostream_ios_base
));
13036 basic_ostream_char_print_ch(&oss
.obj
.base
, '(');
13037 basic_ostream_char_print_ldouble(&oss
.obj
.base
, val
->real
);
13038 basic_ostream_char_print_ch(&oss
.obj
.base
, ',');
13039 basic_ostream_char_print_ldouble(&oss
.obj
.base
, val
->imag
);
13040 basic_ostream_char_print_ch(&oss
.obj
.base
, ')');
13042 basic_ostringstream_char_str_get(&oss
.obj
, &str
);
13043 basic_ostringstream_char_dtor(&oss
.vbase
);
13044 basic_ostream_char_print_bstr(ostr
, &str
);
13045 MSVCP_basic_string_char_dtor(&str
);
13049 /* ??0strstream@std@@QAE@PADHH@Z */
13050 /* ??0strstream@std@@QEAA@PEAD_JH@Z */
13051 DEFINE_THISCALL_WRAPPER(strstream_ctor
, 20)
13052 strstream
* __thiscall
strstream_ctor(strstream
*this, char *buf
, streamsize size
, int mode
, bool virt_init
)
13054 basic_ios_char
*basic_ios
;
13056 TRACE("(%p %p %Id %d %d)\n", this, buf
, size
, mode
, virt_init
);
13059 this->base
.base1
.vbtable
= strstream_vbtable1
;
13060 this->base
.base2
.vbtable
= strstream_vbtable2
;
13061 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
13062 basic_ios_char_ctor(basic_ios
);
13064 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
13067 strstreambuf_ctor_get_put(&this->buf
, buf
, size
,
13068 buf
&& (mode
& OPENMODE_app
) ? buf
+strlen(buf
) : buf
);
13069 basic_iostream_char_ctor(&this->base
, &this->buf
.base
, FALSE
);
13070 basic_ios
->base
.vtable
= &strstream_vtable
;
13074 /* ??1strstream@std@@UAE@XZ */
13075 /* ??1strstream@std@@UEAA@XZ */
13076 DEFINE_THISCALL_WRAPPER(strstream_dtor
, 4)
13077 void __thiscall
strstream_dtor(basic_ios_char
*base
)
13079 strstream
*this = strstream_from_basic_ios(base
);
13081 TRACE("(%p)\n", this);
13083 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
13084 strstreambuf_dtor(&this->buf
);
13087 static void strstream_vbase_dtor(strstream
*this)
13089 TRACE("(%p)\n", this);
13091 strstream_dtor(strstream_to_basic_ios(this));
13092 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
13095 DEFINE_THISCALL_WRAPPER(strstream_vector_dtor
, 8)
13096 strstream
* __thiscall
strstream_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
13098 strstream
*this = strstream_from_basic_ios(base
);
13100 TRACE("(%p %x)\n", this, flags
);
13103 /* we have an array, with the number of elements stored before the first object */
13104 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
13106 for(i
=*ptr
-1; i
>=0; i
--)
13107 strstream_vbase_dtor(this+i
);
13108 operator_delete(ptr
);
13110 strstream_vbase_dtor(this);
13112 operator_delete(this);
13118 static void __cdecl
setprecision_func(ios_base
*base
, streamsize prec
)
13120 ios_base_precision_set(base
, prec
);
13123 /* ?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z */
13124 /* ?setprecision@std@@YA?AU?$_Smanip@_J@1@_J@Z */
13125 manip_streamsize
* __cdecl
setprecision(manip_streamsize
*ret
, streamsize prec
)
13127 TRACE("(%p %Id)\n", ret
, prec
);
13129 ret
->pfunc
= setprecision_func
;
13134 static void __cdecl
setw_func(ios_base
*base
, streamsize width
)
13136 ios_base_width_set(base
, width
);
13139 /* ?setw@std@@YA?AU?$_Smanip@H@1@H@Z */
13140 /* ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z */
13141 manip_streamsize
* __cdecl
setw(manip_streamsize
*ret
, streamsize width
)
13143 TRACE("(%p %Id)\n", ret
, width
);
13145 ret
->pfunc
= setw_func
;
13150 static void __cdecl
resetioflags_func(ios_base
*base
, int mask
)
13152 ios_base_setf_mask(base
, 0, mask
);
13155 /* ?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z */
13156 manip_int
* __cdecl
resetiosflags(manip_int
*ret
, int mask
)
13158 TRACE("(%p %d)\n", ret
, mask
);
13160 ret
->pfunc
= resetioflags_func
;
13165 static void __cdecl
setiosflags_func(ios_base
*base
, int mask
)
13167 ios_base_setf_mask(base
, FMTFLAG_mask
, mask
);
13170 /* ?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z */
13171 manip_int
* __cdecl
setiosflags(manip_int
*ret
, int mask
)
13173 TRACE("(%p %d)\n", ret
, mask
);
13175 ret
->pfunc
= setiosflags_func
;
13180 static void __cdecl
setbase_func(ios_base
*base
, int set_base
)
13183 set_base
= FMTFLAG_dec
;
13184 else if(set_base
== 8)
13185 set_base
= FMTFLAG_oct
;
13186 else if(set_base
== 16)
13187 set_base
= FMTFLAG_hex
;
13191 ios_base_setf_mask(base
, set_base
, FMTFLAG_basefield
);
13194 /* ?setbase@std@@YA?AU?$_Smanip@H@1@H@Z */
13195 manip_int
* __cdecl
setbase(manip_int
*ret
, int base
)
13197 TRACE("(%p %d)\n", ret
, base
);
13199 ret
->pfunc
= setbase_func
;
13204 static basic_filebuf_char filebuf_char_stdin
;
13205 /* ?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A */
13207 basic_istream_char obj
;
13208 basic_ios_char vbase
;
13210 /* ?_Ptr_cin@std@@3PAV?$basic_istream@DU?$char_traits@D@std@@@1@A */
13211 /* ?_Ptr_cin@std@@3PEAV?$basic_istream@DU?$char_traits@D@std@@@1@EA */
13212 basic_istream_char
*_Ptr_cin
= &cin
.obj
;
13214 static basic_filebuf_wchar filebuf_short_stdin
;
13215 /* ?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A */
13217 basic_istream_wchar obj
;
13218 basic_ios_wchar vbase
;
13219 } ucin
= { { 0 } };
13220 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@GU?$char_traits@G@std@@@1@A */
13221 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@GU?$char_traits@G@std@@@1@EA */
13222 basic_istream_wchar
*_Ptr_ucin
= &ucin
.obj
;
13224 static basic_filebuf_wchar filebuf_wchar_stdin
;
13225 /* ?wcin@std@@3V?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
13227 basic_istream_wchar obj
;
13228 basic_ios_wchar vbase
;
13229 } wcin
= { { 0 } };
13230 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
13231 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@EA */
13232 basic_istream_wchar
*_Ptr_wcin
= &wcin
.obj
;
13234 static basic_filebuf_char filebuf_char_stdout
;
13235 /* ?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
13237 basic_ostream_char obj
;
13238 basic_ios_char vbase
;
13239 } cout
= { { 0 } };
13240 /* ?_Ptr_cout@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
13241 /* ?_Ptr_cout@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
13242 basic_ostream_char
*_Ptr_cout
= &cout
.obj
;
13244 static basic_filebuf_wchar filebuf_short_stdout
;
13245 /* ?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
13247 basic_ostream_wchar obj
;
13248 basic_ios_wchar vbase
;
13249 } ucout
= { { 0 } };
13250 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
13251 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
13252 basic_ostream_wchar
*_Ptr_ucout
= &ucout
.obj
;
13254 static basic_filebuf_wchar filebuf_wchar_stdout
;
13255 /* ?wcout@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
13257 basic_ostream_wchar obj
;
13258 basic_ios_wchar vbase
;
13259 } wcout
= { { 0 } };
13260 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
13261 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
13262 basic_ostream_wchar
*_Ptr_wcout
= &wcout
.obj
;
13264 static basic_filebuf_char filebuf_char_stderr
;
13265 /* ?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
13267 basic_ostream_char obj
;
13268 basic_ios_char vbase
;
13269 } cerr
= { { 0 } };
13270 /* ?_Ptr_cerr@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
13271 /* ?_Ptr_cerr@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
13272 basic_ostream_char
*_Ptr_cerr
= &cerr
.obj
;
13274 static basic_filebuf_wchar filebuf_short_stderr
;
13275 /* ?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
13277 basic_ostream_wchar obj
;
13278 basic_ios_wchar vbase
;
13279 } ucerr
= { { 0 } };
13280 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
13281 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
13282 basic_ostream_wchar
*_Ptr_ucerr
= &ucerr
.obj
;
13284 static basic_filebuf_wchar filebuf_wchar_stderr
;
13285 /* ?wcerr@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
13287 basic_ostream_wchar obj
;
13288 basic_ios_wchar vbase
;
13289 } wcerr
= { { 0 } };
13290 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
13291 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
13292 basic_ostream_wchar
*_Ptr_wcerr
= &wcerr
.obj
;
13294 static basic_filebuf_char filebuf_char_log
;
13295 /* ?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
13297 basic_ostream_char obj
;
13298 basic_ios_char vbase
;
13299 } MSVCP_clog
= { { 0 } };
13300 /* ?_Ptr_clog@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
13301 /* ?_Ptr_clog@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
13302 basic_ostream_char
*_Ptr_clog
= &MSVCP_clog
.obj
;
13304 static basic_filebuf_wchar filebuf_short_log
;
13305 /* ?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
13307 basic_ostream_wchar obj
;
13308 basic_ios_wchar vbase
;
13309 } uclog
= { { 0 } };
13310 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
13311 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
13312 basic_ostream_wchar
*_Ptr_uclog
= &uclog
.obj
;
13314 static basic_filebuf_wchar filebuf_wchar_log
;
13315 /* ?wclog@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
13317 basic_ostream_wchar obj
;
13318 basic_ios_wchar vbase
;
13319 } wclog
= { { 0 } };
13320 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
13321 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
13322 basic_ostream_wchar
*_Ptr_wclog
= &wclog
.obj
;
13324 /* ?_Init_cnt@Init@ios_base@std@@0HA */
13325 int ios_base_Init__Init_cnt
= -1;
13327 /* ?_Init_cnt_func@Init@ios_base@std@@CAAAHXZ */
13328 /* ?_Init_cnt_func@Init@ios_base@std@@CAAEAHXZ */
13329 int* __cdecl
ios_base_Init__Init_cnt_func(void)
13331 return &ios_base_Init__Init_cnt
;
13334 /* ?_Init_ctor@Init@ios_base@std@@CAXPAV123@@Z */
13335 /* ?_Init_ctor@Init@ios_base@std@@CAXPEAV123@@Z */
13336 void __cdecl
ios_base_Init__Init_ctor(void *this)
13338 TRACE("(%p)\n", this);
13340 if(ios_base_Init__Init_cnt
< 0)
13341 ios_base_Init__Init_cnt
= 1;
13343 ios_base_Init__Init_cnt
++;
13346 /* ??0Init@ios_base@std@@QAE@XZ */
13347 /* ??0Init@ios_base@std@@QEAA@XZ */
13348 DEFINE_THISCALL_WRAPPER(ios_base_Init_ctor
, 4)
13349 void* __thiscall
ios_base_Init_ctor(void *this)
13351 ios_base_Init__Init_ctor(this);
13355 /* ?_Init_dtor@Init@ios_base@std@@CAXPAV123@@Z */
13356 /* ?_Init_dtor@Init@ios_base@std@@CAXPEAV123@@Z */
13357 void __cdecl
ios_base_Init__Init_dtor(void *this)
13359 TRACE("(%p)\n", this);
13361 ios_base_Init__Init_cnt
--;
13362 if(!ios_base_Init__Init_cnt
) {
13363 basic_ostream_char_flush(&cout
.obj
);
13364 basic_ostream_char_flush(&cerr
.obj
);
13365 basic_ostream_char_flush(&MSVCP_clog
.obj
);
13369 /* ??1Init@ios_base@std@@QAE@XZ */
13370 /* ??1Init@ios_base@std@@QEAA@XZ */
13371 DEFINE_THISCALL_WRAPPER(ios_base_Init_dtor
, 4)
13372 void __thiscall
ios_base_Init_dtor(void *this)
13374 ios_base_Init__Init_dtor(this);
13377 /* ??4Init@ios_base@std@@QAEAAV012@ABV012@@Z */
13378 /* ??4Init@ios_base@std@@QEAAAEAV012@AEBV012@@Z */
13379 DEFINE_THISCALL_WRAPPER(ios_base_Init_op_assign
, 8)
13380 void* __thiscall
ios_base_Init_op_assign(void *this, void *rhs
)
13382 TRACE("(%p %p)\n", this, rhs
);
13386 /* ?_Init_cnt@_Winit@std@@0HA */
13387 int _Winit__Init_cnt
= -1;
13389 /* ??0_Winit@std@@QAE@XZ */
13390 /* ??0_Winit@std@@QEAA@XZ */
13391 DEFINE_THISCALL_WRAPPER(_Winit_ctor
, 4)
13392 void* __thiscall
_Winit_ctor(void *this)
13394 TRACE("(%p)\n", this);
13396 if(_Winit__Init_cnt
< 0)
13397 _Winit__Init_cnt
= 1;
13399 _Winit__Init_cnt
++;
13404 /* ??1_Winit@std@@QAE@XZ */
13405 /* ??1_Winit@std@@QAE@XZ */
13406 DEFINE_THISCALL_WRAPPER(_Winit_dtor
, 4)
13407 void __thiscall
_Winit_dtor(void *this)
13409 TRACE("(%p)\n", this);
13411 _Winit__Init_cnt
--;
13412 if(!_Winit__Init_cnt
) {
13413 basic_ostream_wchar_flush(&wcout
.obj
);
13414 basic_ostream_wchar_flush(&wcerr
.obj
);
13415 basic_ostream_wchar_flush(&wclog
.obj
);
13419 /* ??4_Winit@std@@QAEAAV01@ABV01@@Z */
13420 /* ??4_Winit@std@@QEAAAEAV01@AEBV01@@Z */
13421 DEFINE_THISCALL_WRAPPER(_Winit_op_assign
, 8)
13422 void* __thiscall
_Winit_op_assign(void *this, void *rhs
)
13424 TRACE("(%p %p)\n", this, rhs
);
13428 void init_io(void *base
)
13431 init_iosb_rtti(base
);
13432 init_ios_base_rtti(base
);
13433 init_basic_ios_char_rtti(base
);
13434 init_basic_ios_wchar_rtti(base
);
13435 init_basic_ios_short_rtti(base
);
13436 init_basic_streambuf_char_rtti(base
);
13437 init_basic_streambuf_wchar_rtti(base
);
13438 init_basic_streambuf_short_rtti(base
);
13439 init_basic_filebuf_char_rtti(base
);
13440 init_basic_filebuf_wchar_rtti(base
);
13441 init_basic_filebuf_short_rtti(base
);
13442 init_basic_stringbuf_char_rtti(base
);
13443 init_basic_stringbuf_wchar_rtti(base
);
13444 init_basic_stringbuf_short_rtti(base
);
13445 init_basic_ostream_char_rtti(base
);
13446 init_basic_ostream_wchar_rtti(base
);
13447 init_basic_ostream_short_rtti(base
);
13448 init_basic_istream_char_rtti(base
);
13449 init_basic_istream_wchar_rtti(base
);
13450 init_basic_istream_short_rtti(base
);
13451 init_basic_iostream_char_rtti(base
);
13452 init_basic_iostream_wchar_rtti(base
);
13453 init_basic_iostream_short_rtti(base
);
13454 init_basic_ofstream_char_rtti(base
);
13455 init_basic_ofstream_wchar_rtti(base
);
13456 init_basic_ofstream_short_rtti(base
);
13457 init_basic_ifstream_char_rtti(base
);
13458 init_basic_ifstream_wchar_rtti(base
);
13459 init_basic_ifstream_short_rtti(base
);
13460 init_basic_fstream_char_rtti(base
);
13461 init_basic_fstream_wchar_rtti(base
);
13462 init_basic_fstream_short_rtti(base
);
13463 init_basic_ostringstream_char_rtti(base
);
13464 init_basic_ostringstream_wchar_rtti(base
);
13465 init_basic_ostringstream_short_rtti(base
);
13466 init_basic_istringstream_char_rtti(base
);
13467 init_basic_istringstream_wchar_rtti(base
);
13468 init_basic_istringstream_short_rtti(base
);
13469 init_basic_stringstream_char_rtti(base
);
13470 init_basic_stringstream_short_rtti(base
);
13471 init_strstreambuf_rtti(base
);
13472 init_strstream_rtti(base
);
13473 init_ostrstream_rtti(base
);
13476 basic_filebuf_char_ctor_file(&filebuf_char_stdin
, stdin
);
13477 basic_istream_char_ctor(&cin
.obj
, &filebuf_char_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
13479 basic_filebuf_short_ctor_file(&filebuf_short_stdin
, stdin
);
13480 basic_istream_short_ctor(&ucin
.obj
, &filebuf_short_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
13482 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdin
, stdin
);
13483 basic_istream_wchar_ctor(&wcin
.obj
, &filebuf_wchar_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
13485 basic_filebuf_char_ctor_file(&filebuf_char_stdout
, stdout
);
13486 basic_ostream_char_ctor(&cout
.obj
, &filebuf_char_stdout
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13488 basic_filebuf_short_ctor_file(&filebuf_short_stdout
, stdout
);
13489 basic_ostream_short_ctor(&ucout
.obj
, &filebuf_short_stdout
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13491 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdout
, stdout
);
13492 basic_ostream_short_ctor(&wcout
.obj
, &filebuf_wchar_stdout
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13494 basic_filebuf_char_ctor_file(&filebuf_char_stderr
, stderr
);
13495 basic_ostream_char_ctor(&cerr
.obj
, &filebuf_char_stderr
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13497 basic_filebuf_short_ctor_file(&filebuf_short_stderr
, stderr
);
13498 basic_ostream_short_ctor(&ucerr
.obj
, &filebuf_short_stderr
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13500 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stderr
, stderr
);
13501 basic_ostream_short_ctor(&wcerr
.obj
, &filebuf_wchar_stderr
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13503 basic_filebuf_char_ctor_file(&filebuf_char_log
, stderr
);
13504 basic_ostream_char_ctor(&MSVCP_clog
.obj
, &filebuf_char_log
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13506 basic_filebuf_short_ctor_file(&filebuf_short_log
, stderr
);
13507 basic_ostream_short_ctor(&uclog
.obj
, &filebuf_short_log
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13509 basic_filebuf_wchar_ctor_file(&filebuf_wchar_log
, stderr
);
13510 basic_ostream_short_ctor(&wclog
.obj
, &filebuf_wchar_log
.base
, FALSE
/*FIXME*/, TRUE
, TRUE
);
13515 basic_istream_char_vbase_dtor(&cin
.obj
);
13516 basic_filebuf_char_dtor(&filebuf_char_stdin
);
13518 basic_istream_wchar_vbase_dtor(&ucin
.obj
);
13519 basic_filebuf_wchar_dtor(&filebuf_short_stdin
);
13521 basic_istream_wchar_vbase_dtor(&wcin
.obj
);
13522 basic_filebuf_wchar_dtor(&filebuf_wchar_stdin
);
13524 basic_ostream_char_vbase_dtor(&cout
.obj
);
13525 basic_filebuf_char_dtor(&filebuf_char_stdout
);
13527 basic_ostream_wchar_vbase_dtor(&ucout
.obj
);
13528 basic_filebuf_wchar_dtor(&filebuf_short_stdout
);
13530 basic_ostream_wchar_vbase_dtor(&wcout
.obj
);
13531 basic_filebuf_wchar_dtor(&filebuf_wchar_stdout
);
13533 basic_ostream_char_vbase_dtor(&cerr
.obj
);
13534 basic_filebuf_char_dtor(&filebuf_char_stderr
);
13536 basic_ostream_wchar_vbase_dtor(&ucerr
.obj
);
13537 basic_filebuf_wchar_dtor(&filebuf_short_stderr
);
13539 basic_ostream_wchar_vbase_dtor(&wcerr
.obj
);
13540 basic_filebuf_wchar_dtor(&filebuf_wchar_stderr
);
13542 basic_ostream_char_vbase_dtor(&MSVCP_clog
.obj
);
13543 basic_filebuf_char_dtor(&filebuf_char_log
);
13545 basic_ostream_wchar_vbase_dtor(&uclog
.obj
);
13546 basic_filebuf_wchar_dtor(&filebuf_short_log
);
13548 basic_ostream_wchar_vbase_dtor(&wclog
.obj
);
13549 basic_filebuf_wchar_dtor(&filebuf_wchar_log
);