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 MSVCP_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(%ld %s %d)", fpos
->off
, wine_dbgstr_longlong(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
;
75 basic_streambuf_wchar base
;
82 } basic_filebuf_wchar
;
85 STRINGBUF_allocated
= 1,
86 STRINGBUF_no_write
= 2,
87 STRINGBUF_no_read
= 4,
90 } basic_stringbuf_state
;
93 basic_streambuf_char base
;
96 char allocator
; /* empty struct */
97 } basic_stringbuf_char
;
100 basic_streambuf_wchar base
;
103 char allocator
; /* empty struct */
104 } basic_stringbuf_wchar
;
108 basic_streambuf_char
*strbuf
;
109 struct _basic_ostream_char
*stream
;
115 basic_streambuf_wchar
*strbuf
;
116 struct _basic_ostream_wchar
*stream
;
120 typedef struct _basic_ostream_char
{
122 /* virtual inheritance
123 * basic_ios_char basic_ios;
125 } basic_ostream_char
;
127 typedef struct _basic_ostream_wchar
{
129 /* virtual inheritance
130 * basic_ios_wchar basic_ios;
132 } basic_ostream_wchar
;
137 /* virtual inheritance
138 * basic_ios_char basic_ios;
140 } basic_istream_char
;
145 /* virtual inheritance
146 * basic_ios_wchar basic_ios;
148 } basic_istream_wchar
;
151 basic_istream_char base1
;
152 basic_ostream_char base2
;
153 /* virtual inheritance
154 * basic_ios_char basic_ios;
156 } basic_iostream_char
;
159 basic_istream_wchar base1
;
160 basic_ostream_wchar base2
;
161 /* virtual inheritance
162 * basic_ios_wchar basic_ios;
164 } basic_iostream_wchar
;
167 basic_ostream_char base
;
168 basic_filebuf_char filebuf
;
169 /* virtual inheritance
170 * basic_ios_char basic_ios;
172 } basic_ofstream_char
;
175 basic_ostream_wchar base
;
176 basic_filebuf_wchar filebuf
;
177 /* virtual inheritance
178 * basic_ios_wchar basic_ios;
180 } basic_ofstream_wchar
;
183 basic_istream_char base
;
184 basic_filebuf_char filebuf
;
185 /* virtual inheritance
186 * basic_ios_char basic_ios;
188 } basic_ifstream_char
;
191 basic_istream_wchar base
;
192 basic_filebuf_wchar filebuf
;
193 /* virtual inheritance
194 * basic_ios_wchar basic_ios;
196 } basic_ifstream_wchar
;
199 basic_iostream_char base
;
200 basic_filebuf_char filebuf
;
201 /* virtual inheritance
202 * basic_ios_char basic_ios;
204 } basic_fstream_char
;
207 basic_iostream_wchar base
;
208 basic_filebuf_wchar filebuf
;
209 /* virtual inheritance
210 * basic_ios_char basic_ios;
212 } basic_fstream_wchar
;
215 basic_ostream_char base
;
216 basic_stringbuf_char strbuf
;
217 /* virtual inheritance
218 * basic_ios_char basic_ios;
220 } basic_ostringstream_char
;
223 basic_ostream_wchar base
;
224 basic_stringbuf_wchar strbuf
;
225 /* virtual inheritance
226 * basic_ios_wchar basic_ios;
228 } basic_ostringstream_wchar
;
231 basic_istream_char base
;
232 basic_stringbuf_char strbuf
;
233 /* virtual inheritance
234 * basic_ios_char basic_ios;
236 } basic_istringstream_char
;
239 basic_istream_wchar base
;
240 basic_stringbuf_wchar strbuf
;
241 /* virtual inheritance
242 * basic_ios_wchar basic_ios;
244 } basic_istringstream_wchar
;
247 basic_iostream_char base
;
248 basic_stringbuf_char strbuf
;
249 /* virtual inheritance
250 * basic_ios_char basic_ios;
252 } basic_stringstream_char
;
255 basic_iostream_wchar base
;
256 basic_stringbuf_wchar strbuf
;
257 /* virtual inheritance
258 * basic_ios_wchar basic_ios;
260 } basic_stringstream_wchar
;
263 STRSTATE_Allocated
= 1,
264 STRSTATE_Constant
= 2,
265 STRSTATE_Dynamic
= 4,
267 } strstreambuf__Strstate
;
270 basic_streambuf_char base
;
275 void* (__cdecl
*palloc
)(MSVCP_size_t
);
276 void (__cdecl
*pfree
)(void*);
280 basic_ostream_char base
;
282 /* virtual inheritance
283 * basic_ios_char basic_ios;
288 basic_istream_char base
;
290 /* virtual inheritance
291 * basic_ios_char basic_ios;
296 basic_iostream_char base
;
298 /* virtual inheritance
299 * basic_ios_char basic_ios;
303 extern const vtable_ptr MSVCP_iosb_vtable
;
305 /* ??_7ios_base@std@@6B@ */
306 extern const vtable_ptr MSVCP_ios_base_vtable
;
308 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
309 extern const vtable_ptr MSVCP_basic_ios_char_vtable
;
311 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
312 extern const vtable_ptr MSVCP_basic_ios_wchar_vtable
;
314 /* ??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@ */
315 extern const vtable_ptr MSVCP_basic_ios_short_vtable
;
317 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
318 extern const vtable_ptr MSVCP_basic_streambuf_char_vtable
;
320 /* ??_7?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@6B@ */
321 extern const vtable_ptr MSVCP_basic_streambuf_wchar_vtable
;
323 /* ??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ */
324 extern const vtable_ptr MSVCP_basic_streambuf_short_vtable
;
326 /* ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ */
327 extern const vtable_ptr MSVCP_basic_filebuf_char_vtable
;
329 /* ??_7?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@6B@ */
330 extern const vtable_ptr MSVCP_basic_filebuf_wchar_vtable
;
332 /* ??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ */
333 extern const vtable_ptr MSVCP_basic_filebuf_short_vtable
;
335 /* ??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
336 extern const vtable_ptr MSVCP_basic_stringbuf_char_vtable
;
338 /* ??_7?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
339 extern const vtable_ptr MSVCP_basic_stringbuf_wchar_vtable
;
341 /* ??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
342 extern const vtable_ptr MSVCP_basic_stringbuf_short_vtable
;
344 /* ??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ */
345 const int basic_ostream_char_vbtable
[] = {0, sizeof(basic_ostream_char
)};
346 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
347 extern const vtable_ptr MSVCP_basic_ostream_char_vtable
;
349 /* ??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@ */
350 const int basic_ostream_wchar_vbtable
[] = {0, sizeof(basic_ostream_wchar
)};
351 /* ??_7?$basic_ostream@_WU?$char_traits@_W@std@@@std@@6B@ */
352 extern const vtable_ptr MSVCP_basic_ostream_wchar_vtable
;
354 /* ??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ */
355 const int basic_ostream_short_vbtable
[] = {0, sizeof(basic_ostream_wchar
)};
356 /* ??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ */
357 extern const vtable_ptr MSVCP_basic_ostream_short_vtable
;
359 /* ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ */
360 const int basic_istream_char_vbtable
[] = {0, sizeof(basic_istream_char
)};
361 /* ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ */
362 extern const vtable_ptr MSVCP_basic_istream_char_vtable
;
364 /* ??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@ */
365 const int basic_istream_wchar_vbtable
[] = {0, sizeof(basic_istream_wchar
)};
366 /* ??_7?$basic_istream@_WU?$char_traits@_W@std@@@std@@6B@ */
367 extern const vtable_ptr MSVCP_basic_istream_wchar_vtable
;
369 /* ??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ */
370 const int basic_istream_short_vbtable
[] = {0, sizeof(basic_istream_wchar
)};
371 /* ??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ */
372 extern const vtable_ptr MSVCP_basic_istream_short_vtable
;
374 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
375 const int basic_iostream_char_vbtable1
[] = {0, sizeof(basic_iostream_char
)};
376 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
377 const int basic_iostream_char_vbtable2
[] = {0, sizeof(basic_iostream_char
)-FIELD_OFFSET(basic_iostream_char
, base2
)};
378 /* ??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ */
379 extern const vtable_ptr MSVCP_basic_iostream_char_vtable
;
381 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
382 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
383 const int basic_iostream_wchar_vbtable1
[] = {0, sizeof(basic_iostream_wchar
)};
384 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
385 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
386 const int basic_iostream_wchar_vbtable2
[] = {0, sizeof(basic_iostream_wchar
)-FIELD_OFFSET(basic_iostream_wchar
, base2
)};
387 /* ??_7?$basic_iostream@_WU?$char_traits@_W@std@@@std@@6B@ */
388 extern const vtable_ptr MSVCP_basic_iostream_wchar_vtable
;
389 /* ??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ */
390 extern const vtable_ptr MSVCP_basic_iostream_short_vtable
;
392 /* ??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ */
393 const int basic_ofstream_char_vbtable
[] = {0, sizeof(basic_ofstream_char
)};
394 /* ??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ */
395 extern const vtable_ptr MSVCP_basic_ofstream_char_vtable
;
397 /* ??_8?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@7B@ */
398 const int basic_ofstream_wchar_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
399 /* ??_7?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@6B@ */
400 extern const vtable_ptr MSVCP_basic_ofstream_wchar_vtable
;
402 /* ??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ */
403 const int basic_ofstream_short_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
404 /* ??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ */
405 extern const vtable_ptr MSVCP_basic_ofstream_short_vtable
;
407 /* ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ */
408 const int basic_ifstream_char_vbtable
[] = {0, sizeof(basic_ifstream_char
)};
409 /* ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ */
410 extern const vtable_ptr MSVCP_basic_ifstream_char_vtable
;
412 /* ??_8?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@7B@ */
413 const int basic_ifstream_wchar_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
414 /* ??_7?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@6B@ */
415 extern const vtable_ptr MSVCP_basic_ifstream_wchar_vtable
;
417 /* ??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ */
418 const int basic_ifstream_short_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
419 /* ??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ */
420 extern const vtable_ptr MSVCP_basic_ifstream_short_vtable
;
422 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
423 const int basic_fstream_char_vbtable1
[] = {0, sizeof(basic_fstream_char
)};
424 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
425 const int basic_fstream_char_vbtable2
[] = {0, sizeof(basic_fstream_char
)-FIELD_OFFSET(basic_fstream_char
, base
.base2
)};
426 /* ??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ */
427 extern const vtable_ptr MSVCP_basic_fstream_char_vtable
;
429 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
430 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
431 const int basic_fstream_wchar_vbtable1
[] = {0, sizeof(basic_fstream_wchar
)};
432 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
433 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
434 const int basic_fstream_wchar_vbtable2
[] = {0, sizeof(basic_fstream_wchar
)-FIELD_OFFSET(basic_fstream_wchar
, base
.base2
)};
435 /* ??_7?$basic_fstream@_WU?$char_traits@_W@std@@@std@@6B@ */
436 extern const vtable_ptr MSVCP_basic_fstream_wchar_vtable
;
437 /* ??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ */
438 extern const vtable_ptr MSVCP_basic_fstream_short_vtable
;
440 /* ??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
441 const int basic_ostringstream_char_vbtable
[] = {0, sizeof(basic_ostringstream_char
)};
442 /* ??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
443 extern const vtable_ptr MSVCP_basic_ostringstream_char_vtable
;
445 /* ??_8?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
446 const int basic_ostringstream_wchar_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
447 /* ??_7?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
448 extern const vtable_ptr MSVCP_basic_ostringstream_wchar_vtable
;
450 /* ??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
451 const int basic_ostringstream_short_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
452 /* ??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
453 extern const vtable_ptr MSVCP_basic_ostringstream_short_vtable
;
455 /* ??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
456 const int basic_istringstream_char_vbtable
[] = {0, sizeof(basic_istringstream_char
)};
457 /* ??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
458 extern const vtable_ptr MSVCP_basic_istringstream_char_vtable
;
460 /* ??_8?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
461 const int basic_istringstream_wchar_vbtable
[] = {0, sizeof(basic_istringstream_wchar
)};
462 /* ??_7?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
463 extern const vtable_ptr MSVCP_basic_istringstream_wchar_vtable
;
465 /* ??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
466 const int basic_istringstream_short_vbtable
[] = {0, sizeof(basic_istringstream_wchar
)};
467 /* ??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
468 extern const vtable_ptr MSVCP_basic_istringstream_short_vtable
;
470 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
471 const int basic_stringstream_char_vbtable1
[] = {0, sizeof(basic_stringstream_char
)};
472 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
473 const int basic_stringstream_char_vbtable2
[] = {0, sizeof(basic_stringstream_char
)-FIELD_OFFSET(basic_stringstream_char
, base
.base2
)};
474 /* ??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
475 extern const vtable_ptr MSVCP_basic_stringstream_char_vtable
;
477 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
478 const int basic_stringstream_wchar_vbtable1
[] = {0, sizeof(basic_stringstream_wchar
)};
479 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
480 const int basic_stringstream_wchar_vbtable2
[] = {0, sizeof(basic_stringstream_wchar
)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
481 /* ??_7?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
482 extern const vtable_ptr MSVCP_basic_stringstream_wchar_vtable
;
484 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
485 const int basic_stringstream_short_vbtable1
[] = {0, sizeof(basic_stringstream_wchar
)};
486 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
487 const int basic_stringstream_short_vbtable2
[] = {0, sizeof(basic_stringstream_wchar
)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
488 /* ??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
489 extern const vtable_ptr MSVCP_basic_stringstream_short_vtable
;
491 /* ??_7strstreambuf@std@@6B */
492 extern const vtable_ptr MSVCP_strstreambuf_vtable
;
494 static const int ostrstream_vbtable
[] = {0, sizeof(ostrstream
)};
495 extern const vtable_ptr MSVCP_ostrstream_vtable
;
497 static const int istrstream_vbtable
[] = {0, sizeof(istrstream
)};
499 static const int strstream_vbtable1
[] = {0, sizeof(strstream
)};
500 static const int strstream_vbtable2
[] = {0, sizeof(strstream
)-FIELD_OFFSET(strstream
, base
.base2
)};
501 extern const vtable_ptr MSVCP_strstream_vtable
;
503 DEFINE_RTTI_DATA0(iosb
, 0, ".?AV?$_Iosb@H@std@@");
504 DEFINE_RTTI_DATA1(ios_base
, 0, &iosb_rtti_base_descriptor
, ".?AV?$_Iosb@H@std@@");
505 DEFINE_RTTI_DATA2(basic_ios_char
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
506 ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@");
507 DEFINE_RTTI_DATA2(basic_ios_wchar
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
508 ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@");
509 DEFINE_RTTI_DATA2(basic_ios_short
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
510 ".?AV?$basic_ios@GU?$char_traits@G@std@@@std@@");
511 DEFINE_RTTI_DATA0(basic_streambuf_char
, 0,
512 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@");
513 DEFINE_RTTI_DATA0(basic_streambuf_wchar
, 0,
514 ".?AV?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@");
515 DEFINE_RTTI_DATA0(basic_streambuf_short
, 0,
516 ".?AV?$basic_streambuf@GU?$char_traits@G@std@@@std@@");
517 DEFINE_RTTI_DATA1(basic_filebuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
518 ".?AV?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@");
519 DEFINE_RTTI_DATA1(basic_filebuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
520 ".?AV?$basic_filebuf@GU?$char_traits@G@std@@@std@@");
521 DEFINE_RTTI_DATA1(basic_filebuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
522 ".?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@");
523 DEFINE_RTTI_DATA1(basic_stringbuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
524 ".?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
525 DEFINE_RTTI_DATA1(basic_stringbuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
526 ".?AV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
527 DEFINE_RTTI_DATA1(basic_stringbuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
528 ".?AV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
529 DEFINE_RTTI_DATA3(basic_ostream_char
, sizeof(basic_ostream_char
), &basic_ios_char_rtti_base_descriptor
,
530 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
531 ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@");
532 DEFINE_RTTI_DATA3(basic_ostream_wchar
, sizeof(basic_ostream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
533 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
534 ".?AV?$basic_ostream@_WU?$char_traits@_W@std@@@std@@");
535 DEFINE_RTTI_DATA3(basic_ostream_short
, sizeof(basic_ostream_wchar
), &basic_ios_short_rtti_base_descriptor
,
536 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
537 ".?AV?$basic_ostream@GU?$char_traits@G@std@@@std@@");
538 DEFINE_RTTI_DATA3(basic_istream_char
, sizeof(basic_istream_char
), &basic_ios_char_rtti_base_descriptor
,
539 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
540 ".?AV?$basic_istream@DU?$char_traits@D@std@@@std@@");
541 DEFINE_RTTI_DATA3(basic_istream_wchar
, sizeof(basic_istream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
542 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
543 ".?AV?$basic_istream@_WU?$char_traits@_W@std@@@std@@");
544 DEFINE_RTTI_DATA3(basic_istream_short
, sizeof(basic_istream_wchar
), &basic_ios_short_rtti_base_descriptor
,
545 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
546 ".?AV?$basic_istream@GU?$char_traits@G@std@@@std@@");
547 DEFINE_RTTI_DATA8(basic_iostream_char
, sizeof(basic_iostream_char
),
548 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
549 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
550 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
551 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
552 ".?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@");
553 DEFINE_RTTI_DATA8(basic_iostream_wchar
, sizeof(basic_iostream_wchar
),
554 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
555 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
556 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
557 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
558 ".?AV?$basic_iostream@_WU?$char_traits@_W@std@@@std@@");
559 DEFINE_RTTI_DATA8(basic_iostream_short
, sizeof(basic_iostream_wchar
),
560 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
561 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
562 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
563 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
564 ".?AV?$basic_iostream@GU?$char_traits@G@std@@@std@@");
565 DEFINE_RTTI_DATA4(basic_ofstream_char
, sizeof(basic_ofstream_char
),
566 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
567 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
568 ".?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@");
569 DEFINE_RTTI_DATA4(basic_ofstream_wchar
, sizeof(basic_ofstream_wchar
),
570 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
571 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
572 ".?AV?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@");
573 DEFINE_RTTI_DATA4(basic_ofstream_short
, sizeof(basic_ofstream_wchar
),
574 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
575 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
576 ".?AV?$basic_ofstream@GU?$char_traits@G@std@@@std@@");
577 DEFINE_RTTI_DATA4(basic_ifstream_char
, sizeof(basic_ifstream_char
),
578 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
579 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
580 ".?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@");
581 DEFINE_RTTI_DATA4(basic_ifstream_wchar
, sizeof(basic_ifstream_wchar
),
582 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
583 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
584 ".?AV?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@");
585 DEFINE_RTTI_DATA4(basic_ifstream_short
, sizeof(basic_ifstream_wchar
),
586 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
587 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
588 ".?AV?$basic_ifstream@GU?$char_traits@G@std@@@std@@");
589 DEFINE_RTTI_DATA8(basic_fstream_char
, sizeof(basic_fstream_char
),
590 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
591 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
592 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
593 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
594 ".?AV?$basic_fstream@DU?$char_traits@D@std@@@std@@");
595 DEFINE_RTTI_DATA8(basic_fstream_wchar
, sizeof(basic_fstream_wchar
),
596 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
597 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
598 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
599 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
600 ".?AV?$basic_fstream@_WU?$char_traits@_W@std@@@std@@");
601 DEFINE_RTTI_DATA8(basic_fstream_short
, sizeof(basic_fstream_wchar
),
602 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
603 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
604 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
605 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
606 ".?AV?$basic_fstream@GU?$char_traits@G@std@@@std@@");
607 DEFINE_RTTI_DATA4(basic_ostringstream_char
, sizeof(basic_ostringstream_char
),
608 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
609 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
610 ".?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
611 DEFINE_RTTI_DATA4(basic_ostringstream_wchar
, sizeof(basic_ostringstream_wchar
),
612 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
613 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
614 ".?AV?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
615 DEFINE_RTTI_DATA4(basic_ostringstream_short
, sizeof(basic_ostringstream_wchar
),
616 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
617 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
618 ".?AV?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
619 DEFINE_RTTI_DATA4(basic_istringstream_char
, sizeof(basic_istringstream_char
),
620 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
621 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
622 ".?AV?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
623 DEFINE_RTTI_DATA4(basic_istringstream_wchar
, sizeof(basic_istringstream_wchar
),
624 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
625 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
626 ".?AV?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
627 DEFINE_RTTI_DATA4(basic_istringstream_short
, sizeof(basic_istringstream_wchar
),
628 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
629 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
630 ".?AV?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
631 DEFINE_RTTI_DATA8(basic_stringstream_char
, sizeof(basic_stringstream_char
),
632 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
633 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
634 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
635 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
636 ".?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
637 DEFINE_RTTI_DATA8(basic_stringstream_wchar
, sizeof(basic_stringstream_wchar
),
638 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
639 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
640 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
641 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
642 ".?AV?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
643 DEFINE_RTTI_DATA8(basic_stringstream_short
, sizeof(basic_stringstream_wchar
),
644 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
645 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
646 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
647 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
648 ".?AV?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
649 DEFINE_RTTI_DATA1(strstreambuf
, sizeof(strstreambuf
),
650 &basic_streambuf_char_rtti_base_descriptor
, ".?AVstrstreambuf@std@@");
651 DEFINE_RTTI_DATA4(ostrstream
, sizeof(ostrstream
),
652 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
653 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
654 "?AVostrstream@std@@");
655 DEFINE_RTTI_DATA8(strstream
, sizeof(strstream
),
656 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
657 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
658 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
659 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
660 "?AVstrstream@std@@");
663 void __asm_dummy_vtables(void) {
666 VTABLE_ADD_FUNC(iosb_vector_dtor
));
667 __ASM_VTABLE(ios_base
,
668 VTABLE_ADD_FUNC(ios_base_vector_dtor
));
669 __ASM_VTABLE(basic_ios_char
,
670 VTABLE_ADD_FUNC(basic_ios_char_vector_dtor
));
671 __ASM_VTABLE(basic_ios_wchar
,
672 VTABLE_ADD_FUNC(basic_ios_wchar_vector_dtor
));
673 __ASM_VTABLE(basic_ios_short
,
674 VTABLE_ADD_FUNC(basic_ios_wchar_vector_dtor
));
675 __ASM_VTABLE(basic_streambuf_char
,
676 VTABLE_ADD_FUNC(basic_streambuf_char_vector_dtor
)
677 VTABLE_ADD_FUNC(basic_streambuf_char_overflow
)
678 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail
)
679 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
680 VTABLE_ADD_FUNC(basic_streambuf_char_underflow
)
681 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
682 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
683 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
684 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff
)
685 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos
)
686 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
687 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
688 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
689 __ASM_VTABLE(basic_streambuf_wchar
,
690 VTABLE_ADD_FUNC(basic_streambuf_wchar_vector_dtor
)
691 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
692 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
693 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
694 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
695 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
696 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
697 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
698 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
699 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
700 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
701 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
702 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
703 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
704 __ASM_VTABLE(basic_streambuf_short
,
705 VTABLE_ADD_FUNC(basic_streambuf_wchar_vector_dtor
)
706 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
707 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
708 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
709 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
710 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
711 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
712 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
713 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
714 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
715 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
716 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
717 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
718 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
719 __ASM_VTABLE(basic_filebuf_char
,
720 VTABLE_ADD_FUNC(basic_filebuf_char_vector_dtor
)
721 VTABLE_ADD_FUNC(basic_filebuf_char_overflow
)
722 VTABLE_ADD_FUNC(basic_filebuf_char_pbackfail
)
723 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
724 VTABLE_ADD_FUNC(basic_filebuf_char_underflow
)
725 VTABLE_ADD_FUNC(basic_filebuf_char_uflow
)
726 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
727 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
728 VTABLE_ADD_FUNC(basic_filebuf_char_seekoff
)
729 VTABLE_ADD_FUNC(basic_filebuf_char_seekpos
)
730 VTABLE_ADD_FUNC(basic_filebuf_char_setbuf
)
731 VTABLE_ADD_FUNC(basic_filebuf_char_sync
)
732 VTABLE_ADD_FUNC(basic_filebuf_char_imbue
));
733 __ASM_VTABLE(basic_filebuf_wchar
,
734 VTABLE_ADD_FUNC(basic_filebuf_wchar_vector_dtor
)
735 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
736 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
737 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
738 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
739 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
740 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
741 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
742 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
743 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
744 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
745 VTABLE_ADD_FUNC(basic_filebuf_wchar_setbuf
)
746 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
747 VTABLE_ADD_FUNC(basic_filebuf_wchar_imbue
));
748 __ASM_VTABLE(basic_filebuf_short
,
749 VTABLE_ADD_FUNC(basic_filebuf_wchar_vector_dtor
)
750 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
751 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
752 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
753 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
754 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
755 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
756 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
757 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
758 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
759 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
760 VTABLE_ADD_FUNC(basic_filebuf_short_setbuf
)
761 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
762 VTABLE_ADD_FUNC(basic_filebuf_short_imbue
));
763 __ASM_VTABLE(basic_stringbuf_char
,
764 VTABLE_ADD_FUNC(basic_stringbuf_char_vector_dtor
)
765 VTABLE_ADD_FUNC(basic_stringbuf_char_overflow
)
766 VTABLE_ADD_FUNC(basic_stringbuf_char_pbackfail
)
767 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
768 VTABLE_ADD_FUNC(basic_stringbuf_char_underflow
)
769 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
770 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
771 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
772 VTABLE_ADD_FUNC(basic_stringbuf_char_seekoff
)
773 VTABLE_ADD_FUNC(basic_stringbuf_char_seekpos
)
774 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
775 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
776 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
777 __ASM_VTABLE(basic_stringbuf_wchar
,
778 VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor
)
779 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
780 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
781 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
782 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
783 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
784 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
785 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
786 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
787 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
788 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
789 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
790 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
791 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
792 __ASM_VTABLE(basic_stringbuf_short
,
793 VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor
)
794 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
795 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
796 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
797 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
798 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
799 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
800 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
801 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
802 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
803 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
804 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
805 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
806 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
807 __ASM_VTABLE(basic_ostream_char
,
808 VTABLE_ADD_FUNC(basic_ostream_char_vector_dtor
));
809 __ASM_VTABLE(basic_ostream_wchar
,
810 VTABLE_ADD_FUNC(basic_ostream_wchar_vector_dtor
));
811 __ASM_VTABLE(basic_ostream_short
,
812 VTABLE_ADD_FUNC(basic_ostream_wchar_vector_dtor
));
813 __ASM_VTABLE(basic_istream_char
,
814 VTABLE_ADD_FUNC(basic_istream_char_vector_dtor
));
815 __ASM_VTABLE(basic_istream_wchar
,
816 VTABLE_ADD_FUNC(basic_istream_wchar_vector_dtor
));
817 __ASM_VTABLE(basic_istream_short
,
818 VTABLE_ADD_FUNC(basic_istream_wchar_vector_dtor
));
819 __ASM_VTABLE(basic_iostream_char
,
820 VTABLE_ADD_FUNC(basic_iostream_char_vector_dtor
));
821 __ASM_VTABLE(basic_iostream_wchar
,
822 VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor
));
823 __ASM_VTABLE(basic_iostream_short
,
824 VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor
));
825 __ASM_VTABLE(basic_ofstream_char
,
826 VTABLE_ADD_FUNC(basic_ofstream_char_vector_dtor
));
827 __ASM_VTABLE(basic_ofstream_wchar
,
828 VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor
));
829 __ASM_VTABLE(basic_ofstream_short
,
830 VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor
));
831 __ASM_VTABLE(basic_ifstream_char
,
832 VTABLE_ADD_FUNC(basic_ifstream_char_vector_dtor
));
833 __ASM_VTABLE(basic_ifstream_wchar
,
834 VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor
));
835 __ASM_VTABLE(basic_ifstream_short
,
836 VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor
));
837 __ASM_VTABLE(basic_fstream_char
,
838 VTABLE_ADD_FUNC(basic_fstream_char_vector_dtor
));
839 __ASM_VTABLE(basic_fstream_wchar
,
840 VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor
));
841 __ASM_VTABLE(basic_fstream_short
,
842 VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor
));
843 __ASM_VTABLE(basic_ostringstream_char
,
844 VTABLE_ADD_FUNC(basic_ostringstream_char_vector_dtor
));
845 __ASM_VTABLE(basic_ostringstream_wchar
,
846 VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor
));
847 __ASM_VTABLE(basic_ostringstream_short
,
848 VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor
));
849 __ASM_VTABLE(basic_istringstream_char
,
850 VTABLE_ADD_FUNC(basic_istringstream_char_vector_dtor
));
851 __ASM_VTABLE(basic_istringstream_wchar
,
852 VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor
));
853 __ASM_VTABLE(basic_istringstream_short
,
854 VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor
));
855 __ASM_VTABLE(basic_stringstream_char
,
856 VTABLE_ADD_FUNC(basic_stringstream_char_vector_dtor
));
857 __ASM_VTABLE(basic_stringstream_wchar
,
858 VTABLE_ADD_FUNC(basic_stringstream_wchar_vector_dtor
));
859 __ASM_VTABLE(basic_stringstream_short
,
860 VTABLE_ADD_FUNC(basic_stringstream_wchar_vector_dtor
));
861 __ASM_VTABLE(strstreambuf
,
862 VTABLE_ADD_FUNC(strstreambuf_vector_dtor
)
863 VTABLE_ADD_FUNC(strstreambuf_overflow
)
864 VTABLE_ADD_FUNC(strstreambuf_pbackfail
)
865 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
866 VTABLE_ADD_FUNC(strstreambuf_underflow
)
867 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
868 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
869 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
870 VTABLE_ADD_FUNC(strstreambuf_seekoff
)
871 VTABLE_ADD_FUNC(strstreambuf_seekpos
)
872 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
873 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
874 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
875 __ASM_VTABLE(ostrstream
,
876 VTABLE_ADD_FUNC(ostrstream_vector_dtor
));
877 __ASM_VTABLE(strstream
,
878 VTABLE_ADD_FUNC(strstream_vector_dtor
));
883 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
884 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
885 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next
, 16)
886 void __thiscall
basic_streambuf_char_setp_next(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
888 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
892 this->wsize
= last
-next
;
895 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
896 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
897 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp
, 12)
898 void __thiscall
basic_streambuf_char_setp(basic_streambuf_char
*this, char *first
, char *last
)
900 basic_streambuf_char_setp_next(this, first
, first
, last
);
903 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
904 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
905 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg
, 16)
906 void __thiscall
basic_streambuf_char_setg(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
908 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
912 this->rsize
= last
-next
;
915 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
916 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
917 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty
, 4)
918 void __thiscall
basic_streambuf_char__Init_empty(basic_streambuf_char
*this)
920 TRACE("(%p)\n", this);
922 this->prbuf
= &this->rbuf
;
923 this->pwbuf
= &this->wbuf
;
924 this->prpos
= &this->rpos
;
925 this->pwpos
= &this->wpos
;
926 this->prsize
= &this->rsize
;
927 this->pwsize
= &this->wsize
;
929 basic_streambuf_char_setp(this, NULL
, NULL
);
930 basic_streambuf_char_setg(this, NULL
, NULL
, NULL
);
933 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
934 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
935 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized
, 8)
936 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor_uninitialized(basic_streambuf_char
*this, int uninitialized
)
938 TRACE("(%p %d)\n", this, uninitialized
);
939 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
940 mutex_ctor(&this->lock
);
944 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
945 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
946 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor
, 4)
947 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor(basic_streambuf_char
*this)
949 TRACE("(%p)\n", this);
951 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
952 mutex_ctor(&this->lock
);
953 this->loc
= MSVCRT_operator_new(sizeof(locale
));
954 locale_ctor(this->loc
);
955 basic_streambuf_char__Init_empty(this);
960 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
961 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
962 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor
, 4)
963 void __thiscall
basic_streambuf_char_dtor(basic_streambuf_char
*this)
965 TRACE("(%p)\n", this);
967 mutex_dtor(&this->lock
);
968 locale_dtor(this->loc
);
969 MSVCRT_operator_delete(this->loc
);
972 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_vector_dtor
, 8)
973 basic_streambuf_char
* __thiscall
basic_streambuf_char_vector_dtor(basic_streambuf_char
*this, unsigned int flags
)
975 TRACE("(%p %x)\n", this, flags
);
977 /* we have an array, with the number of elements stored before the first object */
978 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
980 for(i
=*ptr
-1; i
>=0; i
--)
981 basic_streambuf_char_dtor(this+i
);
982 MSVCRT_operator_delete(ptr
);
984 basic_streambuf_char_dtor(this);
986 MSVCRT_operator_delete(this);
992 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
993 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
994 static streamsize
basic_streambuf_char__Gnavail(const basic_streambuf_char
*this)
996 TRACE("(%p)\n", this);
997 return *this->prpos
? *this->prsize
: 0;
1000 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1001 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1002 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec
, 4)
1003 char* __thiscall
basic_streambuf_char__Gndec(basic_streambuf_char
*this)
1005 TRACE("(%p)\n", this);
1008 return *this->prpos
;
1011 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1012 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1013 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc
, 4)
1014 char* __thiscall
basic_streambuf_char__Gninc(basic_streambuf_char
*this)
1016 TRACE("(%p)\n", this);
1018 return (*this->prpos
)++;
1021 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1022 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1023 static char* basic_streambuf_char__Gnpreinc(basic_streambuf_char
*this)
1025 TRACE("(%p)\n", this);
1028 return *this->prpos
;
1031 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
1032 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
1033 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init
, 28)
1034 void __thiscall
basic_streambuf_char__Init(basic_streambuf_char
*this, char **gf
, char **gn
, int *gc
, char **pf
, char **pn
, int *pc
)
1036 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1046 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1047 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1048 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock
, 4)
1049 void __thiscall
basic_streambuf_char__Lock(basic_streambuf_char
*this)
1051 TRACE("(%p)\n", this);
1052 mutex_lock(&this->lock
);
1055 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
1056 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
1057 static streamsize
basic_streambuf_char__Pnavail(const basic_streambuf_char
*this)
1059 TRACE("(%p)\n", this);
1060 return *this->pwpos
? *this->pwsize
: 0;
1063 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1064 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1065 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc
, 4)
1066 char* __thiscall
basic_streambuf_char__Pninc(basic_streambuf_char
*this)
1068 TRACE("(%p)\n", this);
1070 return (*this->pwpos
)++;
1073 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1074 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1075 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow
, 4)
1076 #define call_basic_streambuf_char_underflow(this) CALL_VTBL_FUNC(this, 16, \
1077 int, (basic_streambuf_char*), (this))
1078 int __thiscall
basic_streambuf_char_underflow(basic_streambuf_char
*this)
1080 TRACE("(%p)\n", this);
1084 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1085 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1086 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow
, 4)
1087 #define call_basic_streambuf_char_uflow(this) CALL_VTBL_FUNC(this, 20, \
1088 int, (basic_streambuf_char*), (this))
1089 int __thiscall
basic_streambuf_char_uflow(basic_streambuf_char
*this)
1093 TRACE("(%p)\n", this);
1095 if(call_basic_streambuf_char_underflow(this)==EOF
)
1098 ret
= (unsigned char)**this->prpos
;
1104 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
1105 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
1106 static streamsize
basic_streambuf_char__Xsgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
1108 streamsize copied
, chunk
;
1111 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1113 for(copied
=0; copied
<count
&& size
;) {
1114 chunk
= basic_streambuf_char__Gnavail(this);
1115 if(chunk
> count
-copied
)
1116 chunk
= count
-copied
;
1119 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
1120 *this->prpos
+= chunk
;
1121 *this->prsize
-= chunk
;
1124 }else if((c
= call_basic_streambuf_char_uflow(this)) != EOF
) {
1136 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
1137 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
1138 static streamsize
basic_streambuf_char__Sgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
1140 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1141 return basic_streambuf_char__Xsgetn_s(this, ptr
, size
, count
);
1144 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1145 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1146 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock
, 4)
1147 void __thiscall
basic_streambuf_char__Unlock(basic_streambuf_char
*this)
1149 TRACE("(%p)\n", this);
1150 mutex_unlock(&this->lock
);
1153 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1154 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1155 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback
, 4)
1156 char* __thiscall
basic_streambuf_char_eback(const basic_streambuf_char
*this)
1158 TRACE("(%p)\n", this);
1159 return *this->prbuf
;
1162 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1163 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1164 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr
, 4)
1165 char* __thiscall
basic_streambuf_char_gptr(const basic_streambuf_char
*this)
1167 TRACE("(%p)\n", this);
1168 return *this->prpos
;
1171 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1172 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1173 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr
, 4)
1174 char* __thiscall
basic_streambuf_char_egptr(const basic_streambuf_char
*this)
1176 TRACE("(%p)\n", this);
1177 return *this->prpos
+*this->prsize
;
1180 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1181 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1182 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr
, 4)
1183 char* __thiscall
basic_streambuf_char_epptr(const basic_streambuf_char
*this)
1185 TRACE("(%p)\n", this);
1186 return *this->pwpos
+*this->pwsize
;
1189 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1190 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1191 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump
, 8)
1192 void __thiscall
basic_streambuf_char_gbump(basic_streambuf_char
*this, int off
)
1194 TRACE("(%p %d)\n", this, off
);
1195 *this->prpos
+= off
;
1196 *this->prsize
-= off
;
1199 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
1200 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
1201 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc
, 8)
1202 locale
* __thiscall
basic_streambuf_char_getloc(const basic_streambuf_char
*this, locale
*ret
)
1204 TRACE("(%p)\n", this);
1205 return locale_copy_ctor(ret
, this->loc
);
1208 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
1209 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
1210 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue
, 8)
1211 #define call_basic_streambuf_char_imbue(this, loc) CALL_VTBL_FUNC(this, 48, \
1212 void, (basic_streambuf_char*, const locale*), (this, loc))
1213 void __thiscall
basic_streambuf_char_imbue(basic_streambuf_char
*this, const locale
*loc
)
1215 TRACE("(%p %p)\n", this, loc
);
1218 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1219 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1220 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow
, 8)
1221 #define call_basic_streambuf_char_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1222 int, (basic_streambuf_char*, int), (this, ch))
1223 int __thiscall
basic_streambuf_char_overflow(basic_streambuf_char
*this, int ch
)
1225 TRACE("(%p %d)\n", this, ch
);
1229 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1230 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1231 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail
, 8)
1232 #define call_basic_streambuf_char_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1233 int, (basic_streambuf_char*, int), (this, ch))
1234 int __thiscall
basic_streambuf_char_pbackfail(basic_streambuf_char
*this, int ch
)
1236 TRACE("(%p %d)\n", this, ch
);
1240 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1241 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1242 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase
, 4)
1243 char* __thiscall
basic_streambuf_char_pbase(const basic_streambuf_char
*this)
1245 TRACE("(%p)\n", this);
1246 return *this->pwbuf
;
1249 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1250 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1251 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump
, 8)
1252 void __thiscall
basic_streambuf_char_pbump(basic_streambuf_char
*this, int off
)
1254 TRACE("(%p %d)\n", this, off
);
1255 *this->pwpos
+= off
;
1256 *this->pwsize
-= off
;
1259 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1260 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1261 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr
, 4)
1262 char* __thiscall
basic_streambuf_char_pptr(const basic_streambuf_char
*this)
1264 TRACE("(%p)\n", this);
1265 return *this->pwpos
;
1268 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1269 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1270 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue
, 12)
1271 locale
* __thiscall
basic_streambuf_char_pubimbue(basic_streambuf_char
*this, locale
*ret
, const locale
*loc
)
1273 TRACE("(%p %p)\n", this, loc
);
1274 memcpy(ret
, this->loc
, sizeof(locale
));
1275 call_basic_streambuf_char_imbue(this, loc
);
1276 locale_copy_ctor(this->loc
, loc
);
1280 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1281 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1282 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff
, 20)
1283 #define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 32, \
1284 fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1285 fpos_int
* __thiscall
basic_streambuf_char_seekoff(basic_streambuf_char
*this,
1286 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1288 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1295 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1296 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1297 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff
, 20)
1298 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff(basic_streambuf_char
*this,
1299 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1301 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1302 return call_basic_streambuf_char_seekoff(this, ret
, off
, way
, mode
);
1305 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1306 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1307 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old
, 20)
1308 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff_old(basic_streambuf_char
*this,
1309 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
1311 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1312 return basic_streambuf_char_pubseekoff(this, ret
, off
, way
, mode
);
1315 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1316 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1317 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos
, 36)
1318 #define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 36, \
1319 fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1320 fpos_int
* __thiscall
basic_streambuf_char_seekpos(basic_streambuf_char
*this,
1321 fpos_int
*ret
, fpos_int pos
, int mode
)
1323 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1330 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1331 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1332 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos
, 36)
1333 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos(basic_streambuf_char
*this,
1334 fpos_int
*ret
, fpos_int pos
, int mode
)
1336 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1337 return call_basic_streambuf_char_seekpos(this, ret
, pos
, mode
);
1340 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1341 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1342 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old
, 36)
1343 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos_old(basic_streambuf_char
*this,
1344 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
1346 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1347 return basic_streambuf_char_pubseekpos(this, ret
, pos
, mode
);
1350 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
1351 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
1352 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf
, 12)
1353 #define call_basic_streambuf_char_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 40, \
1354 basic_streambuf_char*, (basic_streambuf_char*, char*, streamsize), (this, buf, count))
1355 basic_streambuf_char
* __thiscall
basic_streambuf_char_setbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1357 TRACE("(%p %p %ld)\n", this, buf
, count
);
1361 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
1362 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
1363 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf
, 12)
1364 basic_streambuf_char
* __thiscall
basic_streambuf_char_pubsetbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1366 TRACE("(%p %p %ld)\n", this, buf
, count
);
1367 return call_basic_streambuf_char_setbuf(this, buf
, count
);
1370 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1371 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1372 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync
, 4)
1373 #define call_basic_streambuf_char_sync(this) CALL_VTBL_FUNC(this, 44, \
1374 int, (basic_streambuf_char*), (this))
1375 int __thiscall
basic_streambuf_char_sync(basic_streambuf_char
*this)
1377 TRACE("(%p)\n", this);
1381 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1382 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1383 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync
, 4)
1384 int __thiscall
basic_streambuf_char_pubsync(basic_streambuf_char
*this)
1386 TRACE("(%p)\n", this);
1387 return call_basic_streambuf_char_sync(this);
1390 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
1391 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
1392 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn
, 12)
1393 streamsize __thiscall
basic_streambuf_char_sgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1395 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1396 return basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1399 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1400 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
1401 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc
, 4)
1402 #define call_basic_streambuf_char_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
1403 streamsize, (basic_streambuf_char*), (this))
1404 streamsize __thiscall
basic_streambuf_char_showmanyc(basic_streambuf_char
*this)
1406 TRACE("(%p)\n", this);
1410 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1411 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
1412 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail
, 4)
1413 streamsize __thiscall
basic_streambuf_char_in_avail(basic_streambuf_char
*this)
1417 TRACE("(%p)\n", this);
1419 ret
= basic_streambuf_char__Gnavail(this);
1420 return ret
? ret
: call_basic_streambuf_char_showmanyc(this);
1423 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1424 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1425 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc
, 8)
1426 int __thiscall
basic_streambuf_char_sputbackc(basic_streambuf_char
*this, char ch
)
1428 TRACE("(%p %d)\n", this, ch
);
1429 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
1432 return (unsigned char)ch
;
1435 return call_basic_streambuf_char_pbackfail(this, (unsigned char)ch
);
1438 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1439 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1440 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc
, 8)
1441 int __thiscall
basic_streambuf_char_sputc(basic_streambuf_char
*this, char ch
)
1443 TRACE("(%p %d)\n", this, ch
);
1444 return basic_streambuf_char__Pnavail(this) ?
1445 (*basic_streambuf_char__Pninc(this) = ch
) :
1446 call_basic_streambuf_char_overflow(this, (unsigned char)ch
);
1449 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1450 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1451 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc
, 4)
1452 int __thiscall
basic_streambuf_char_sungetc(basic_streambuf_char
*this)
1454 TRACE("(%p)\n", this);
1455 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
1458 return (unsigned char)**this->prpos
;
1461 return call_basic_streambuf_char_pbackfail(this, EOF
);
1464 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1465 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1466 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc
, 4)
1467 void __thiscall
basic_streambuf_char_stossc(basic_streambuf_char
*this)
1469 TRACE("(%p)\n", this);
1470 if(basic_streambuf_char__Gnavail(this))
1471 basic_streambuf_char__Gninc(this);
1473 call_basic_streambuf_char_uflow(this);
1476 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1477 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1478 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc
, 4)
1479 int __thiscall
basic_streambuf_char_sbumpc(basic_streambuf_char
*this)
1481 TRACE("(%p)\n", this);
1482 return basic_streambuf_char__Gnavail(this) ?
1483 (int)(unsigned char)*basic_streambuf_char__Gninc(this) : call_basic_streambuf_char_uflow(this);
1486 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1487 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1488 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc
, 4)
1489 int __thiscall
basic_streambuf_char_sgetc(basic_streambuf_char
*this)
1491 TRACE("(%p)\n", this);
1492 return basic_streambuf_char__Gnavail(this) ?
1493 (int)(unsigned char)*basic_streambuf_char_gptr(this) : call_basic_streambuf_char_underflow(this);
1496 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1497 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1498 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc
, 4)
1499 int __thiscall
basic_streambuf_char_snextc(basic_streambuf_char
*this)
1501 TRACE("(%p)\n", this);
1503 if(basic_streambuf_char__Gnavail(this) > 1)
1504 return (unsigned char)*basic_streambuf_char__Gnpreinc(this);
1505 return basic_streambuf_char_sbumpc(this)==EOF
?
1506 EOF
: basic_streambuf_char_sgetc(this);
1509 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
1510 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
1511 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn
, 12)
1512 #define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
1513 streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
1514 streamsize __thiscall
basic_streambuf_char_xsgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1516 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1517 return basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1520 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
1521 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
1522 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn
, 12)
1523 #define call_basic_streambuf_char_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 28, \
1524 streamsize, (basic_streambuf_char*, const char*, streamsize), (this, ptr, count))
1525 streamsize __thiscall
basic_streambuf_char_xsputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1527 streamsize copied
, chunk
;
1529 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1531 for(copied
=0; copied
<count
;) {
1532 chunk
= basic_streambuf_char__Pnavail(this);
1533 if(chunk
> count
-copied
)
1534 chunk
= count
-copied
;
1537 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
1538 *this->pwpos
+= chunk
;
1539 *this->pwsize
-= chunk
;
1541 }else if(call_basic_streambuf_char_overflow(this, (unsigned char)ptr
[copied
]) != EOF
) {
1551 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
1552 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
1553 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn
, 12)
1554 streamsize __thiscall
basic_streambuf_char_sputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1556 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1557 return call_basic_streambuf_char_xsputn(this, ptr
, count
);
1560 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1561 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1562 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1563 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1564 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp_next
, 16)
1565 void __thiscall
basic_streambuf_wchar_setp_next(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1567 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1571 this->wsize
= last
-next
;
1574 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W0@Z */
1575 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z */
1576 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z */
1577 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z */
1578 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp
, 12)
1579 void __thiscall
basic_streambuf_wchar_setp(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *last
)
1581 basic_streambuf_wchar_setp_next(this, first
, first
, last
);
1584 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1585 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1586 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1587 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1588 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setg
, 16)
1589 void __thiscall
basic_streambuf_wchar_setg(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1591 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1595 this->rsize
= last
-next
;
1598 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXXZ */
1599 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXXZ */
1600 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
1601 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
1602 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init_empty
, 4)
1603 void __thiscall
basic_streambuf_wchar__Init_empty(basic_streambuf_wchar
*this)
1605 TRACE("(%p)\n", this);
1607 this->prbuf
= &this->rbuf
;
1608 this->pwbuf
= &this->wbuf
;
1609 this->prpos
= &this->rpos
;
1610 this->pwpos
= &this->wpos
;
1611 this->prsize
= &this->rsize
;
1612 this->pwsize
= &this->wsize
;
1614 basic_streambuf_wchar_setp(this, NULL
, NULL
);
1615 basic_streambuf_wchar_setg(this, NULL
, NULL
, NULL
);
1618 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1619 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1620 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor_uninitialized
, 8)
1621 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1623 TRACE("(%p %d)\n", this, uninitialized
);
1624 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1625 mutex_ctor(&this->lock
);
1629 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1630 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1631 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor_uninitialized
, 8)
1632 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1634 TRACE("(%p %d)\n", this, uninitialized
);
1635 basic_streambuf_wchar_ctor_uninitialized(this, uninitialized
);
1636 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1640 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
1641 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
1642 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor
, 4)
1643 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor(basic_streambuf_wchar
*this)
1645 TRACE("(%p)\n", this);
1647 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1648 mutex_ctor(&this->lock
);
1649 this->loc
= MSVCRT_operator_new(sizeof(locale
));
1650 locale_ctor(this->loc
);
1651 basic_streambuf_wchar__Init_empty(this);
1656 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ */
1657 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ */
1658 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor
, 4)
1659 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor(basic_streambuf_wchar
*this)
1661 TRACE("(%p)\n", this);
1662 basic_streambuf_wchar_ctor(this);
1663 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1667 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
1668 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
1669 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
1670 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
1671 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_dtor
, 4)
1672 void __thiscall
basic_streambuf_wchar_dtor(basic_streambuf_wchar
*this)
1674 TRACE("(%p)\n", this);
1676 mutex_dtor(&this->lock
);
1677 locale_dtor(this->loc
);
1678 MSVCRT_operator_delete(this->loc
);
1681 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_vector_dtor
, 8)
1682 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1684 TRACE("(%p %x)\n", this, flags
);
1686 /* we have an array, with the number of elements stored before the first object */
1687 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
1689 for(i
=*ptr
-1; i
>=0; i
--)
1690 basic_streambuf_wchar_dtor(this+i
);
1691 MSVCRT_operator_delete(ptr
);
1693 basic_streambuf_wchar_dtor(this);
1695 MSVCRT_operator_delete(this);
1701 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1702 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1703 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1704 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1705 static streamsize
basic_streambuf_wchar__Gnavail(const basic_streambuf_wchar
*this)
1707 TRACE("(%p)\n", this);
1708 return *this->prpos
? *this->prsize
: 0;
1711 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1712 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1713 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1714 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1715 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gndec
, 4)
1716 wchar_t* __thiscall
basic_streambuf_wchar__Gndec(basic_streambuf_wchar
*this)
1718 TRACE("(%p)\n", this);
1721 return *this->prpos
;
1724 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1725 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1726 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1727 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1728 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gninc
, 4)
1729 wchar_t* __thiscall
basic_streambuf_wchar__Gninc(basic_streambuf_wchar
*this)
1731 TRACE("(%p)\n", this);
1733 return (*this->prpos
)++;
1736 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1737 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1738 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1739 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1740 static wchar_t* basic_streambuf_wchar__Gnpreinc(basic_streambuf_wchar
*this)
1742 TRACE("(%p)\n", this);
1745 return *this->prpos
;
1748 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPAPA_W0PAH001@Z */
1749 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAPEA_W0PEAH001@Z */
1750 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z */
1751 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z */
1752 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init
, 28)
1753 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
)
1755 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1765 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1766 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1767 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1768 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1769 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Lock
, 4)
1770 void __thiscall
basic_streambuf_wchar__Lock(basic_streambuf_wchar
*this)
1772 TRACE("(%p)\n", this);
1773 mutex_lock(&this->lock
);
1776 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1777 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1778 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1779 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1780 static streamsize
basic_streambuf_wchar__Pnavail(const basic_streambuf_wchar
*this)
1782 TRACE("(%p)\n", this);
1783 return *this->pwpos
? *this->pwsize
: 0;
1786 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1787 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1788 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1789 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1790 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pninc
, 4)
1791 wchar_t* __thiscall
basic_streambuf_wchar__Pninc(basic_streambuf_wchar
*this)
1793 TRACE("(%p)\n", this);
1795 return (*this->pwpos
)++;
1798 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1799 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1800 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1801 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1802 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_underflow
, 4)
1803 #define call_basic_streambuf_wchar_underflow(this) CALL_VTBL_FUNC(this, 16, \
1804 unsigned short, (basic_streambuf_wchar*), (this))
1805 unsigned short __thiscall
basic_streambuf_wchar_underflow(basic_streambuf_wchar
*this)
1807 TRACE("(%p)\n", this);
1811 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1812 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1813 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1814 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1815 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_uflow
, 4)
1816 #define call_basic_streambuf_wchar_uflow(this) CALL_VTBL_FUNC(this, 20, \
1817 unsigned short, (basic_streambuf_wchar*), (this))
1818 unsigned short __thiscall
basic_streambuf_wchar_uflow(basic_streambuf_wchar
*this)
1822 TRACE("(%p)\n", this);
1824 if(call_basic_streambuf_wchar_underflow(this)==WEOF
)
1827 ret
= **this->prpos
;
1833 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WIH@Z */
1834 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
1835 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
1836 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
1837 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s
, 16)
1838 #define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1839 streamsize, (basic_streambuf_wchar*, wchar_t*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1840 streamsize __thiscall
basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1842 streamsize copied
, chunk
;
1845 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1847 for(copied
=0; copied
<count
&& size
;) {
1848 chunk
= basic_streambuf_wchar__Gnavail(this);
1849 if(chunk
> count
-copied
)
1850 chunk
= count
-copied
;
1853 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
*sizeof(wchar_t));
1854 *this->prpos
+= chunk
;
1855 *this->prsize
-= chunk
;
1857 size
-= chunk
*sizeof(wchar_t);
1858 }else if((c
= call_basic_streambuf_wchar_uflow(this)) != WEOF
) {
1870 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
1871 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
1872 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
1873 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
1874 static streamsize
basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1876 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1877 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, size
, count
);
1880 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1881 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1882 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1883 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1884 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Unlock
, 4)
1885 void __thiscall
basic_streambuf_wchar__Unlock(basic_streambuf_wchar
*this)
1887 TRACE("(%p)\n", this);
1888 mutex_unlock(&this->lock
);
1891 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1892 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1893 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1894 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1895 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_eback
, 4)
1896 wchar_t* __thiscall
basic_streambuf_wchar_eback(const basic_streambuf_wchar
*this)
1898 TRACE("(%p)\n", this);
1899 return *this->prbuf
;
1902 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1903 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1904 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1905 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1906 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gptr
, 4)
1907 wchar_t* __thiscall
basic_streambuf_wchar_gptr(const basic_streambuf_wchar
*this)
1909 TRACE("(%p)\n", this);
1910 return *this->prpos
;
1913 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1914 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1915 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1916 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1917 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_egptr
, 4)
1918 wchar_t* __thiscall
basic_streambuf_wchar_egptr(const basic_streambuf_wchar
*this)
1920 TRACE("(%p)\n", this);
1921 return *this->prpos
+*this->prsize
;
1924 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1925 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1926 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1927 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1928 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_epptr
, 4)
1929 wchar_t* __thiscall
basic_streambuf_wchar_epptr(const basic_streambuf_wchar
*this)
1931 TRACE("(%p)\n", this);
1932 return *this->pwpos
+*this->pwsize
;
1935 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1936 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1937 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1938 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1939 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gbump
, 8)
1940 void __thiscall
basic_streambuf_wchar_gbump(basic_streambuf_wchar
*this, int off
)
1942 TRACE("(%p %d)\n", this, off
);
1943 *this->prpos
+= off
;
1944 *this->prsize
-= off
;
1947 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QBE?AVlocale@2@XZ */
1948 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEBA?AVlocale@2@XZ */
1949 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QBE?AVlocale@2@XZ */
1950 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEBA?AVlocale@2@XZ */
1951 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_getloc
, 8)
1952 locale
* __thiscall
basic_streambuf_wchar_getloc(const basic_streambuf_wchar
*this, locale
*ret
)
1954 TRACE("(%p)\n", this);
1955 return locale_copy_ctor(ret
, this->loc
);
1958 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
1959 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
1960 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
1961 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
1962 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue
, 8)
1963 #define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
1964 void, (basic_streambuf_wchar*, const locale*), (this, loc))
1965 void __thiscall
basic_streambuf_wchar_imbue(basic_streambuf_wchar
*this, const locale
*loc
)
1967 TRACE("(%p %p)\n", this, loc
);
1970 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1971 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1972 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1973 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1974 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_overflow
, 8)
1975 #define call_basic_streambuf_wchar_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1976 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1977 unsigned short __thiscall
basic_streambuf_wchar_overflow(basic_streambuf_wchar
*this, unsigned short ch
)
1979 TRACE("(%p %d)\n", this, ch
);
1983 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1984 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1985 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1986 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1987 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbackfail
, 8)
1988 #define call_basic_streambuf_wchar_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1989 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1990 unsigned short __thiscall
basic_streambuf_wchar_pbackfail(basic_streambuf_wchar
*this, unsigned short ch
)
1992 TRACE("(%p %d)\n", this, ch
);
1996 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1997 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1998 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1999 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
2000 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbase
, 4)
2001 wchar_t* __thiscall
basic_streambuf_wchar_pbase(const basic_streambuf_wchar
*this)
2003 TRACE("(%p)\n", this);
2004 return *this->pwbuf
;
2007 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
2008 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
2009 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
2010 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
2011 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbump
, 8)
2012 void __thiscall
basic_streambuf_wchar_pbump(basic_streambuf_wchar
*this, int off
)
2014 TRACE("(%p %d)\n", this, off
);
2015 *this->pwpos
+= off
;
2016 *this->pwsize
-= off
;
2019 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
2020 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
2021 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
2022 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
2023 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pptr
, 4)
2024 wchar_t* __thiscall
basic_streambuf_wchar_pptr(const basic_streambuf_wchar
*this)
2026 TRACE("(%p)\n", this);
2027 return *this->pwpos
;
2030 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2031 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2032 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2033 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2034 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubimbue
, 12)
2035 locale
* __thiscall
basic_streambuf_wchar_pubimbue(basic_streambuf_wchar
*this, locale
*ret
, const locale
*loc
)
2037 TRACE("(%p %p)\n", this, loc
);
2038 memcpy(ret
, this->loc
, sizeof(locale
));
2039 call_basic_streambuf_wchar_imbue(this, loc
);
2040 locale_copy_ctor(this->loc
, loc
);
2044 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2045 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2046 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2047 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2048 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff
, 20)
2049 #define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
2050 fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
2051 fpos_int
* __thiscall
basic_streambuf_wchar_seekoff(basic_streambuf_wchar
*this,
2052 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2054 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
2061 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2062 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2063 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2064 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2065 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff
, 20)
2066 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff(basic_streambuf_wchar
*this,
2067 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2069 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
2070 return call_basic_streambuf_wchar_seekoff(this, ret
, off
, way
, mode
);
2073 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2074 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2075 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2076 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2077 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old
, 20)
2078 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
*this,
2079 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
2081 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
2082 return basic_streambuf_wchar_pubseekoff(this, ret
, off
, way
, mode
);
2085 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2086 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2087 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2088 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2089 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekpos
, 36)
2090 #define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
2091 fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
2092 fpos_int
* __thiscall
basic_streambuf_wchar_seekpos(basic_streambuf_wchar
*this,
2093 fpos_int
*ret
, fpos_int pos
, int mode
)
2095 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2102 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2103 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2104 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2105 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2106 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos
, 36)
2107 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar
*this,
2108 fpos_int
*ret
, fpos_int pos
, int mode
)
2110 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2111 return call_basic_streambuf_wchar_seekpos(this, ret
, pos
, mode
);
2114 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2115 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2116 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2117 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2118 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos_old
, 36)
2119 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar
*this,
2120 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
2122 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2123 return basic_streambuf_wchar_pubseekpos(this, ret
, pos
, mode
);
2126 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEPAV12@PA_WH@Z */
2127 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV12@PEA_W_J@Z */
2128 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
2129 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
2130 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf
, 12)
2131 #define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
2132 basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
2133 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_setbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2135 TRACE("(%p %p %ld)\n", this, buf
, count
);
2139 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PA_WH@Z */
2140 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEA_W_J@Z */
2141 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z */
2142 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z */
2143 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsetbuf
, 12)
2144 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_pubsetbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2146 TRACE("(%p %p %ld)\n", this, buf
, count
);
2147 return call_basic_streambuf_wchar_setbuf(this, buf
, count
);
2150 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2151 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
2152 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2153 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
2154 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync
, 4)
2155 #define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 48, \
2156 int, (basic_streambuf_wchar*), (this))
2157 int __thiscall
basic_streambuf_wchar_sync(basic_streambuf_wchar
*this)
2159 TRACE("(%p)\n", this);
2163 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2164 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
2165 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2166 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ */
2167 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsync
, 4)
2168 int __thiscall
basic_streambuf_wchar_pubsync(basic_streambuf_wchar
*this)
2170 TRACE("(%p)\n", this);
2171 return call_basic_streambuf_wchar_sync(this);
2174 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
2175 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
2176 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
2177 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
2178 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn
, 12)
2179 streamsize __thiscall
basic_streambuf_wchar_sgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2181 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2182 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2185 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2186 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JXZ */
2187 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2188 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JXZ */
2189 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_showmanyc
, 4)
2190 #define call_basic_streambuf_wchar_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
2191 streamsize, (basic_streambuf_wchar*), (this))
2192 streamsize __thiscall
basic_streambuf_wchar_showmanyc(basic_streambuf_wchar
*this)
2194 TRACE("(%p)\n", this);
2198 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2199 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JXZ */
2200 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2201 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ */
2202 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_in_avail
, 4)
2203 streamsize __thiscall
basic_streambuf_wchar_in_avail(basic_streambuf_wchar
*this)
2207 TRACE("(%p)\n", this);
2209 ret
= basic_streambuf_wchar__Gnavail(this);
2210 return ret
? ret
: call_basic_streambuf_wchar_showmanyc(this);
2213 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2214 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2215 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2216 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
2217 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputbackc
, 8)
2218 unsigned short __thiscall
basic_streambuf_wchar_sputbackc(basic_streambuf_wchar
*this, wchar_t ch
)
2220 TRACE("(%p %d)\n", this, ch
);
2221 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
2227 return call_basic_streambuf_wchar_pbackfail(this, ch
);
2230 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2231 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2232 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2233 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHG@Z */
2234 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputc
, 8)
2235 unsigned short __thiscall
basic_streambuf_wchar_sputc(basic_streambuf_wchar
*this, wchar_t ch
)
2237 TRACE("(%p %d)\n", this, ch
);
2238 return basic_streambuf_wchar__Pnavail(this) ?
2239 (*basic_streambuf_wchar__Pninc(this) = ch
) :
2240 call_basic_streambuf_wchar_overflow(this, ch
);
2243 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2244 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2245 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2246 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2247 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sungetc
, 4)
2248 unsigned short __thiscall
basic_streambuf_wchar_sungetc(basic_streambuf_wchar
*this)
2250 TRACE("(%p)\n", this);
2251 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
2254 return **this->prpos
;
2257 return call_basic_streambuf_wchar_pbackfail(this, WEOF
);
2260 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
2261 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
2262 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
2263 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
2264 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_stossc
, 4)
2265 void __thiscall
basic_streambuf_wchar_stossc(basic_streambuf_wchar
*this)
2267 TRACE("(%p)\n", this);
2268 if(basic_streambuf_wchar__Gnavail(this))
2269 basic_streambuf_wchar__Gninc(this);
2271 call_basic_streambuf_wchar_uflow(this);
2274 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2275 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2276 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2277 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2278 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sbumpc
, 4)
2279 unsigned short __thiscall
basic_streambuf_wchar_sbumpc(basic_streambuf_wchar
*this)
2281 TRACE("(%p)\n", this);
2282 return basic_streambuf_wchar__Gnavail(this) ?
2283 *basic_streambuf_wchar__Gninc(this) : call_basic_streambuf_wchar_uflow(this);
2286 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2287 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2288 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2289 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2290 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetc
, 4)
2291 unsigned short __thiscall
basic_streambuf_wchar_sgetc(basic_streambuf_wchar
*this)
2293 TRACE("(%p)\n", this);
2294 return basic_streambuf_wchar__Gnavail(this) ?
2295 *basic_streambuf_wchar_gptr(this) : call_basic_streambuf_wchar_underflow(this);
2298 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2299 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2300 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2301 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2302 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_snextc
, 4)
2303 unsigned short __thiscall
basic_streambuf_wchar_snextc(basic_streambuf_wchar
*this)
2305 TRACE("(%p)\n", this);
2307 if(basic_streambuf_wchar__Gnavail(this) > 1)
2308 return *basic_streambuf_wchar__Gnpreinc(this);
2309 return basic_streambuf_wchar_sbumpc(this)==WEOF
?
2310 WEOF
: basic_streambuf_wchar_sgetc(this);
2313 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
2314 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
2315 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
2316 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
2317 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn
, 12)
2318 #define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
2319 streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
2320 streamsize __thiscall
basic_streambuf_wchar_xsgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2322 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2323 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2326 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
2327 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
2328 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
2329 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
2330 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn
, 12)
2331 #define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
2332 streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
2333 streamsize __thiscall
basic_streambuf_wchar_xsputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2335 streamsize copied
, chunk
;
2337 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2339 for(copied
=0; copied
<count
;) {
2340 chunk
= basic_streambuf_wchar__Pnavail(this);
2341 if(chunk
> count
-copied
)
2342 chunk
= count
-copied
;
2345 memcpy(*this->pwpos
, ptr
+copied
, chunk
*sizeof(wchar_t));
2346 *this->pwpos
+= chunk
;
2347 *this->pwsize
-= chunk
;
2349 }else if(call_basic_streambuf_wchar_overflow(this, ptr
[copied
]) != WEOF
) {
2359 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z */
2360 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEB_W_J@Z */
2361 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z */
2362 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z */
2363 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputn
, 12)
2364 streamsize __thiscall
basic_streambuf_wchar_sputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2366 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2367 return call_basic_streambuf_wchar_xsputn(this, ptr
, count
);
2370 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2371 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2372 int basic_filebuf_char__Init__Stinit
= 0;
2374 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2375 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2376 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Init
, 12)
2377 void __thiscall
basic_filebuf_char__Init(basic_filebuf_char
*this, FILE *file
, basic_filebuf__Initfl which
)
2379 TRACE("(%p %p %d)\n", this, file
, which
);
2382 this->wrotesome
= FALSE
;
2383 this->state
= basic_filebuf_char__Init__Stinit
;
2384 this->close
= (which
== INITFL_open
);
2387 basic_streambuf_char__Init_empty(&this->base
);
2389 basic_streambuf_char__Init(&this->base
, &file
->_base
, &file
->_ptr
,
2390 &file
->_cnt
, &file
->_base
, &file
->_ptr
, &file
->_cnt
);
2393 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z */
2394 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$codecvt@DDH@2@@Z */
2395 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Initcvt
, 8)
2396 void __thiscall
basic_filebuf_char__Initcvt(basic_filebuf_char
*this, codecvt_char
*cvt
)
2398 TRACE("(%p %p)\n", this, cvt
);
2400 if(codecvt_base_always_noconv(&cvt
->base
)) {
2403 basic_streambuf_char__Init_empty(&this->base
);
2408 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ */
2409 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAA_NXZ */
2410 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Endwrite
, 4)
2411 MSVCP_bool __thiscall
basic_filebuf_char__Endwrite(basic_filebuf_char
*this)
2413 TRACE("(%p)\n", this);
2415 if(!this->wrotesome
|| !this->cvt
)
2419 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2423 /* TODO: check if we need a dynamic buffer here */
2428 ret
= codecvt_char_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2431 this->wrotesome
= FALSE
;
2433 case CODECVT_partial
:
2434 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2439 case CODECVT_noconv
:
2440 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2449 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ */
2450 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ */
2451 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_close
, 4)
2452 basic_filebuf_char
* __thiscall
basic_filebuf_char_close(basic_filebuf_char
*this)
2454 basic_filebuf_char
*ret
= this;
2456 TRACE("(%p)\n", this);
2461 /* TODO: handle exceptions */
2462 if(!basic_filebuf_char__Endwrite(this))
2464 if(fclose(this->file
))
2467 basic_filebuf_char__Init(this, NULL
, INITFL_close
);
2471 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
2472 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2473 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_file
, 8)
2474 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_file(basic_filebuf_char
*this, FILE *file
)
2476 TRACE("(%p %p)\n", this, file
);
2478 basic_streambuf_char_ctor(&this->base
);
2479 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2481 basic_filebuf_char__Init(this, file
, INITFL_new
);
2485 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
2486 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2487 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor
, 4)
2488 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor(basic_filebuf_char
*this)
2490 return basic_filebuf_char_ctor_file(this, NULL
);
2493 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
2494 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
2495 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_uninitialized
, 8)
2496 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_uninitialized(basic_filebuf_char
*this, int uninitialized
)
2498 TRACE("(%p %d)\n", this, uninitialized
);
2500 basic_streambuf_char_ctor(&this->base
);
2501 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2505 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
2506 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2507 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_dtor
, 4)
2508 void __thiscall
basic_filebuf_char_dtor(basic_filebuf_char
*this)
2510 TRACE("(%p)\n", this);
2513 basic_filebuf_char_close(this);
2514 basic_streambuf_char_dtor(&this->base
);
2517 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_vector_dtor
, 8)
2518 basic_filebuf_char
* __thiscall
basic_filebuf_char_vector_dtor(basic_filebuf_char
*this, unsigned int flags
)
2520 TRACE("(%p %x)\n", this, flags
);
2522 /* we have an array, with the number of elements stored before the first object */
2523 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
2525 for(i
=*ptr
-1; i
>=0; i
--)
2526 basic_filebuf_char_dtor(this+i
);
2527 MSVCRT_operator_delete(ptr
);
2529 basic_filebuf_char_dtor(this);
2531 MSVCRT_operator_delete(this);
2537 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ */
2538 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
2539 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_is_open
, 4)
2540 MSVCP_bool __thiscall
basic_filebuf_char_is_open(const basic_filebuf_char
*this)
2542 TRACE("(%p)\n", this);
2543 return this->file
!= NULL
;
2546 /* ?_Fiopen@std@@YAPAU_iobuf@@PB_WHH@Z */
2547 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEB_WHH@Z */
2548 static FILE* _Fiopen_wchar(const wchar_t *name
, int mode
, int prot
)
2550 static const wchar_t rW
[] = {'r',0};
2551 static const struct {
2553 const wchar_t str
[4];
2554 const wchar_t str_bin
[4];
2556 {OPENMODE_out
, {'w',0}, {'w','b',0}},
2557 {OPENMODE_out
|OPENMODE_app
, {'a',0}, {'a','b',0}},
2558 {OPENMODE_app
, {'a',0}, {'a','b',0}},
2559 {OPENMODE_out
|OPENMODE_trunc
, {'w',0}, {'w','b',0}},
2560 {OPENMODE_in
, {'r',0}, {'r','b',0}},
2561 {OPENMODE_in
|OPENMODE_out
, {'r','+',0}, {'r','+','b',0}},
2562 {OPENMODE_in
|OPENMODE_out
|OPENMODE_trunc
, {'w','+',0}, {'w','+','b',0}},
2563 {OPENMODE_in
|OPENMODE_out
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}},
2564 {OPENMODE_in
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}}
2567 int real_mode
= mode
& ~(OPENMODE_ate
|OPENMODE__Nocreate
|OPENMODE__Noreplace
|OPENMODE_binary
);
2571 TRACE("(%s %d %d)\n", debugstr_w(name
), mode
, prot
);
2573 for(mode_idx
=0; mode_idx
<sizeof(str_mode
)/sizeof(str_mode
[0]); mode_idx
++)
2574 if(str_mode
[mode_idx
].mode
== real_mode
)
2576 if(mode_idx
== sizeof(str_mode
)/sizeof(str_mode
[0]))
2579 if((mode
& OPENMODE__Nocreate
) && !(f
= _wfopen(name
, rW
)))
2584 if((mode
& OPENMODE__Noreplace
) && (mode
& (OPENMODE_out
|OPENMODE_app
))
2585 && (f
= _wfopen(name
, rW
))) {
2590 f
= _wfsopen(name
, (mode
& OPENMODE_binary
) ? str_mode
[mode_idx
].str_bin
2591 : str_mode
[mode_idx
].str
, prot
);
2595 if((mode
& OPENMODE_ate
) && fseek(f
, 0, SEEK_END
)) {
2603 /* ?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z */
2604 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEBDHH@Z */
2605 FILE* __cdecl
_Fiopen(const char *name
, int mode
, int prot
)
2607 wchar_t nameW
[FILENAME_MAX
];
2609 TRACE("(%s %d %d)\n", name
, mode
, prot
);
2611 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2613 return _Fiopen_wchar(nameW
, mode
, prot
);
2616 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WHH@Z */
2617 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
2618 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGHH@Z */
2619 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGHH@Z */
2620 static basic_filebuf_char
* basic_filebuf_char_open_wchar(basic_filebuf_char
*this, const wchar_t *name
, int mode
, int prot
)
2624 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
2626 if(basic_filebuf_char_is_open(this))
2629 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
2632 basic_filebuf_char__Init(this, f
, INITFL_open
);
2633 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(this->base
.loc
));
2637 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z */
2638 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDHH@Z */
2639 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open
, 16)
2640 basic_filebuf_char
* __thiscall
basic_filebuf_char_open(basic_filebuf_char
*this, const char *name
, int mode
, int prot
)
2642 wchar_t nameW
[FILENAME_MAX
];
2644 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
2646 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2648 return basic_filebuf_char_open_wchar(this, nameW
, mode
, prot
);
2651 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDI@Z */
2652 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDI@Z */
2653 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_mode
, 12)
2654 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_mode(basic_filebuf_char
*this, const char *name
, unsigned int mode
)
2656 return basic_filebuf_char_open(this, name
, mode
, SH_DENYNO
);
2659 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2660 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2661 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_overflow
, 8)
2662 int __thiscall
basic_filebuf_char_overflow(basic_filebuf_char
*this, int c
)
2664 char buf
[8], *dyn_buf
;
2665 char ch
= c
, *to_next
;
2666 const char *from_next
;
2670 TRACE("(%p %d)\n", this, c
);
2672 if(!basic_filebuf_char_is_open(this))
2678 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2682 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2683 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
2686 case CODECVT_partial
:
2691 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
2693 if(ret
== CODECVT_partial
)
2696 case CODECVT_noconv
:
2697 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2705 max_size
= codecvt_base_max_length(&this->cvt
->base
);
2706 dyn_buf
= malloc(max_size
);
2710 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2711 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
2715 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
2717 return ret
? c
: EOF
;
2718 case CODECVT_partial
:
2719 ERR("buffer should be big enough to store all output\n");
2727 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2728 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2729 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_pbackfail
, 8)
2730 int __thiscall
basic_filebuf_char_pbackfail(basic_filebuf_char
*this, int c
)
2732 TRACE("(%p %d)\n", this, c
);
2734 if(!basic_filebuf_char_is_open(this))
2737 if(basic_streambuf_char_gptr(&this->base
)>basic_streambuf_char_eback(&this->base
)
2738 && (c
==EOF
|| (int)(unsigned char)basic_streambuf_char_gptr(&this->base
)[-1]==c
)) {
2739 basic_streambuf_char__Gndec(&this->base
);
2740 return c
==EOF
? !c
: c
;
2741 }else if(c
!=EOF
&& !this->cvt
) {
2742 return ungetc(c
, this->file
);
2748 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2749 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2750 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_uflow
, 4)
2751 int __thiscall
basic_filebuf_char_uflow(basic_filebuf_char
*this)
2753 char ch
, buf
[128], *to_next
;
2754 const char *buf_next
;
2757 TRACE("(%p)\n", this);
2759 if(!basic_filebuf_char_is_open(this))
2762 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2763 return (unsigned char)*basic_streambuf_char__Gninc(&this->base
);
2765 c
= fgetc(this->file
);
2766 if(!this->cvt
|| c
==EOF
)
2770 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
2773 switch(codecvt_char_in(this->cvt
, &this->state
, buf_next
,
2774 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
2775 case CODECVT_partial
:
2777 if(to_next
== &ch
) {
2778 c
= fgetc(this->file
);
2784 for(i
--; i
>=buf_next
-buf
; i
--)
2785 ungetc(buf
[i
], this->file
);
2787 case CODECVT_noconv
:
2788 return (unsigned char)buf
[0];
2794 FIXME("buffer is too small\n");
2798 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2799 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2800 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_underflow
, 4)
2801 int __thiscall
basic_filebuf_char_underflow(basic_filebuf_char
*this)
2805 TRACE("(%p)\n", this);
2807 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2808 return (unsigned char)*basic_streambuf_char_gptr(&this->base
);
2810 ret
= call_basic_streambuf_char_uflow(&this->base
);
2812 ret
= call_basic_streambuf_char_pbackfail(&this->base
, ret
);
2816 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2817 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2818 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekoff
, 20)
2819 fpos_int
* __thiscall
basic_filebuf_char_seekoff(basic_filebuf_char
*this,
2820 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2824 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
2826 if(!basic_filebuf_char_is_open(this) || !basic_filebuf_char__Endwrite(this)
2827 || 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) || !basic_filebuf_char__Endwrite(this)
2852 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
2853 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
2860 fgetpos(this->file
, &fpos
);
2863 ret
->state
= this->state
;
2867 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z */
2868 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAD_J@Z */
2869 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_setbuf
, 12)
2870 basic_streambuf_char
* __thiscall
basic_filebuf_char_setbuf(basic_filebuf_char
*this, char *buf
, streamsize count
)
2872 TRACE("(%p %p %ld)\n", this, buf
, count
);
2874 if(!basic_filebuf_char_is_open(this))
2877 if(setvbuf(this->file
, buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
))
2880 basic_filebuf_char__Init(this, this->file
, INITFL_open
);
2884 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2885 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2886 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_sync
, 4)
2887 int __thiscall
basic_filebuf_char_sync(basic_filebuf_char
*this)
2889 TRACE("(%p)\n", this);
2891 if(!basic_filebuf_char_is_open(this))
2894 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2896 return fflush(this->file
);
2899 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
2900 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
2901 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_imbue
, 8)
2902 void __thiscall
basic_filebuf_char_imbue(basic_filebuf_char
*this, const locale
*loc
)
2904 TRACE("(%p %p)\n", this, loc
);
2905 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(loc
));
2908 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2909 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2910 int basic_filebuf_wchar__Init__Stinit
= 0;
2912 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2913 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2914 int basic_filebuf_short__Init__Stinit
= 0;
2916 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2917 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2918 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Init
, 12)
2919 void __thiscall
basic_filebuf_wchar__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2921 TRACE("(%p %p %d)\n", this, file
, which
);
2924 this->wrotesome
= FALSE
;
2925 this->state
= basic_filebuf_wchar__Init__Stinit
;
2926 this->close
= (which
== INITFL_open
);
2929 basic_streambuf_wchar__Init_empty(&this->base
);
2932 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2933 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2934 DEFINE_THISCALL_WRAPPER(basic_filebuf_short__Init
, 12)
2935 void __thiscall
basic_filebuf_short__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2937 TRACE("(%p %p %d)\n", this, file
, which
);
2940 this->wrotesome
= FALSE
;
2941 this->state
= basic_filebuf_short__Init__Stinit
;
2942 this->close
= (which
== INITFL_open
);
2945 basic_streambuf_wchar__Init_empty(&this->base
);
2948 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$codecvt@_WDH@2@@Z */
2949 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$codecvt@_WDH@2@@Z */
2950 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAV?$codecvt@GDH@2@@Z */
2951 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$codecvt@GDH@2@@Z */
2952 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Initcvt
, 8)
2953 void __thiscall
basic_filebuf_wchar__Initcvt(basic_filebuf_wchar
*this, codecvt_wchar
*cvt
)
2955 TRACE("(%p %p)\n", this, cvt
);
2957 if(codecvt_base_always_noconv(&cvt
->base
)) {
2960 basic_streambuf_wchar__Init_empty(&this->base
);
2965 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAE_NXZ */
2966 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAA_NXZ */
2967 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAE_NXZ */
2968 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAA_NXZ */
2969 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Endwrite
, 4)
2970 MSVCP_bool __thiscall
basic_filebuf_wchar__Endwrite(basic_filebuf_wchar
*this)
2972 TRACE("(%p)\n", this);
2974 if(!this->wrotesome
|| !this->cvt
)
2977 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
2981 /* TODO: check if we need a dynamic buffer here */
2986 ret
= codecvt_wchar_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2989 this->wrotesome
= FALSE
;
2991 case CODECVT_partial
:
2992 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2997 case CODECVT_noconv
:
2998 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
3007 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@XZ */
3008 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@XZ */
3009 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ */
3010 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ */
3011 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_close
, 4)
3012 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_close(basic_filebuf_wchar
*this)
3014 basic_filebuf_wchar
*ret
= this;
3016 TRACE("(%p)\n", this);
3021 /* TODO: handle exceptions */
3022 if(!basic_filebuf_wchar__Endwrite(this))
3024 if(fclose(this->file
))
3027 basic_filebuf_wchar__Init(this, NULL
, INITFL_close
);
3031 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
3032 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
3033 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_file
, 8)
3034 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
3036 TRACE("(%p %p)\n", this, file
);
3038 basic_streambuf_wchar_ctor(&this->base
);
3039 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
3041 basic_filebuf_wchar__Init(this, file
, INITFL_new
);
3045 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
3046 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
3047 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_file
, 8)
3048 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
3050 TRACE("(%p %p)\n", this, file
);
3052 basic_streambuf_short_ctor(&this->base
);
3053 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
3055 basic_filebuf_short__Init(this, file
, INITFL_new
);
3059 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
3060 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
3061 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor
, 4)
3062 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor(basic_filebuf_wchar
*this)
3064 return basic_filebuf_wchar_ctor_file(this, NULL
);
3067 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
3068 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
3069 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor
, 4)
3070 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor(basic_filebuf_wchar
*this)
3072 return basic_filebuf_short_ctor_file(this, NULL
);
3075 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3076 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3077 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_uninitialized
, 8)
3078 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3080 TRACE("(%p %d)\n", this, uninitialized
);
3082 basic_streambuf_wchar_ctor(&this->base
);
3083 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
3087 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3088 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3089 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_uninitialized
, 8)
3090 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3092 TRACE("(%p %d)\n", this, uninitialized
);
3094 basic_streambuf_short_ctor(&this->base
);
3095 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
3099 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
3100 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
3101 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
3102 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
3103 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_dtor
, 4)
3104 void __thiscall
basic_filebuf_wchar_dtor(basic_filebuf_wchar
*this)
3106 TRACE("(%p)\n", this);
3109 basic_filebuf_wchar_close(this);
3110 basic_streambuf_wchar_dtor(&this->base
);
3113 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_vector_dtor
, 8)
3114 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_vector_dtor(basic_filebuf_wchar
*this, unsigned int flags
)
3116 TRACE("(%p %x)\n", this, flags
);
3118 /* we have an array, with the number of elements stored before the first object */
3119 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
3121 for(i
=*ptr
-1; i
>=0; i
--)
3122 basic_filebuf_wchar_dtor(this+i
);
3123 MSVCRT_operator_delete(ptr
);
3125 basic_filebuf_wchar_dtor(this);
3127 MSVCRT_operator_delete(this);
3133 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
3134 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
3135 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ */
3136 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
3137 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_is_open
, 4)
3138 MSVCP_bool __thiscall
basic_filebuf_wchar_is_open(const basic_filebuf_wchar
*this)
3140 TRACE("(%p)\n", this);
3141 return this->file
!= NULL
;
3144 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WHH@Z */
3145 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3146 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGHH@Z */
3147 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3148 static basic_filebuf_wchar
* basic_filebuf_wchar_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3152 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3154 if(basic_filebuf_wchar_is_open(this))
3157 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3160 basic_filebuf_wchar__Init(this, f
, INITFL_open
);
3161 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(this->base
.loc
));
3165 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WHH@Z */
3166 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3167 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGHH@Z */
3168 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3169 static basic_filebuf_wchar
* basic_filebuf_short_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3173 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3175 if(basic_filebuf_wchar_is_open(this))
3178 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3181 basic_filebuf_short__Init(this, f
, INITFL_open
);
3182 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(this->base
.loc
));
3186 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDHH@Z */
3187 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3188 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open
, 16)
3189 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3191 wchar_t nameW
[FILENAME_MAX
];
3193 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3195 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3197 return basic_filebuf_wchar_open_wchar(this, nameW
, mode
, prot
);
3200 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDHH@Z */
3201 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3202 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open
, 16)
3203 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3205 wchar_t nameW
[FILENAME_MAX
];
3207 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3209 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3211 return basic_filebuf_short_open_wchar(this, nameW
, mode
, prot
);
3214 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDI@Z */
3215 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDI@Z */
3216 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_mode
, 12)
3217 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3219 return basic_filebuf_wchar_open(this, name
, mode
, SH_DENYNO
);
3222 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDI@Z */
3223 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDI@Z */
3224 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_mode
, 12)
3225 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3227 return basic_filebuf_short_open(this, name
, mode
, SH_DENYNO
);
3230 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3231 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3232 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3233 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3234 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_overflow
, 8)
3235 unsigned short __thiscall
basic_filebuf_wchar_overflow(basic_filebuf_wchar
*this, unsigned short c
)
3237 char buf
[8], *dyn_buf
, *to_next
;
3239 const wchar_t *from_next
;
3244 TRACE("(%p %d)\n", this, c
);
3246 if(!basic_filebuf_wchar_is_open(this))
3252 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3256 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3257 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
3260 case CODECVT_partial
:
3265 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
3267 if(ret
== CODECVT_partial
)
3270 case CODECVT_noconv
:
3271 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3279 max_size
= codecvt_base_max_length(&this->cvt
->base
);
3280 dyn_buf
= malloc(max_size
);
3284 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3285 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
3289 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
3291 return ret
? c
: WEOF
;
3292 case CODECVT_partial
:
3293 ERR("buffer should be big enough to store all output\n");
3301 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3302 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3303 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3304 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3305 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_pbackfail
, 8)
3306 unsigned short __thiscall
basic_filebuf_wchar_pbackfail(basic_filebuf_wchar
*this, unsigned short c
)
3308 TRACE("(%p %d)\n", this, c
);
3310 if(!basic_filebuf_wchar_is_open(this))
3313 if(basic_streambuf_wchar_gptr(&this->base
)>basic_streambuf_wchar_eback(&this->base
)
3314 && (c
==WEOF
|| basic_streambuf_wchar_gptr(&this->base
)[-1]==c
)) {
3315 basic_streambuf_wchar__Gndec(&this->base
);
3316 return c
==WEOF
? !c
: c
;
3317 }else if(c
!=WEOF
&& !this->cvt
) {
3318 return ungetwc(c
, this->file
);
3319 }else if(c
!=WEOF
&& basic_streambuf_wchar_gptr(&this->base
)!=&this->putback
) {
3321 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
, &this->putback
+1);
3328 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3329 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3330 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3331 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3332 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_uflow
, 4)
3333 unsigned short __thiscall
basic_filebuf_wchar_uflow(basic_filebuf_wchar
*this)
3335 wchar_t ch
, *to_next
;
3337 const char *buf_next
;
3340 TRACE("(%p)\n", this);
3342 if(!basic_filebuf_wchar_is_open(this))
3345 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3346 return *basic_streambuf_wchar__Gninc(&this->base
);
3349 return fgetwc(this->file
);
3352 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
3353 if((c
= fgetc(this->file
)) == EOF
)
3357 switch(codecvt_wchar_in(this->cvt
, &this->state
, buf_next
,
3358 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
3359 case CODECVT_partial
:
3364 for(i
--; i
>=buf_next
-buf
; i
--)
3365 ungetc(buf
[i
], this->file
);
3367 case CODECVT_noconv
:
3368 if(i
+1 < sizeof(wchar_t))
3371 memcpy(&ch
, buf
, sizeof(wchar_t));
3378 FIXME("buffer is too small\n");
3382 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3383 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3384 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3385 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3386 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_underflow
, 4)
3387 unsigned short __thiscall
basic_filebuf_wchar_underflow(basic_filebuf_wchar
*this)
3391 TRACE("(%p)\n", this);
3393 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3394 return *basic_streambuf_wchar_gptr(&this->base
);
3396 ret
= call_basic_streambuf_wchar_uflow(&this->base
);
3398 ret
= call_basic_streambuf_wchar_pbackfail(&this->base
, ret
);
3402 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3403 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3404 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3405 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3406 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekoff
, 20)
3407 fpos_int
* __thiscall
basic_filebuf_wchar_seekoff(basic_filebuf_wchar
*this,
3408 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3412 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
3414 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
) {
3415 if(way
== SEEKDIR_cur
)
3416 off
-= sizeof(wchar_t);
3418 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3421 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3422 || fseek(this->file
, off
, way
)) {
3429 fgetpos(this->file
, &pos
);
3432 ret
->state
= this->state
;
3436 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3437 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3438 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3439 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3440 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekpos
, 36)
3441 fpos_int
* __thiscall
basic_filebuf_wchar_seekpos(basic_filebuf_wchar
*this,
3442 fpos_int
*ret
, fpos_int pos
, int mode
)
3446 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3448 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3449 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
3450 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
3457 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
)
3458 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3460 fgetpos(this->file
, &fpos
);
3463 ret
->state
= this->state
;
3467 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PA_WH@Z */
3468 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEA_W_J@Z */
3469 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_setbuf
, 12)
3470 basic_streambuf_wchar
* __thiscall
basic_filebuf_wchar_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3472 TRACE("(%p %p %ld)\n", this, buf
, count
);
3474 if(!basic_filebuf_wchar_is_open(this))
3477 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3480 basic_filebuf_wchar__Init(this, this->file
, INITFL_open
);
3484 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z */
3485 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAG_J@Z */
3486 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_setbuf
, 12)
3487 basic_streambuf_wchar
* __thiscall
basic_filebuf_short_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3489 TRACE("(%p %p %ld)\n", this, buf
, count
);
3491 if(!basic_filebuf_wchar_is_open(this))
3494 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3497 basic_filebuf_short__Init(this, this->file
, INITFL_open
);
3501 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
3502 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
3503 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
3504 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
3505 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_sync
, 4)
3506 int __thiscall
basic_filebuf_wchar_sync(basic_filebuf_wchar
*this)
3508 TRACE("(%p)\n", this);
3510 if(!basic_filebuf_wchar_is_open(this))
3513 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
3515 return fflush(this->file
);
3518 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
3519 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
3520 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_imbue
, 8)
3521 void __thiscall
basic_filebuf_wchar_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3523 TRACE("(%p %p)\n", this, loc
);
3524 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(loc
));
3527 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
3528 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
3529 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_imbue
, 8)
3530 void __thiscall
basic_filebuf_short_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3532 TRACE("(%p %p)\n", this, loc
);
3533 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(loc
));
3536 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z */
3537 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z */
3538 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Getstate
, 8)
3539 int __thiscall
basic_stringbuf_char__Getstate(basic_stringbuf_char
*this, IOSB_openmode mode
)
3543 if(!(mode
& OPENMODE_in
))
3544 state
|= STRINGBUF_no_read
;
3546 if(!(mode
& OPENMODE_out
))
3547 state
|= STRINGBUF_no_write
;
3549 if(mode
& OPENMODE_ate
)
3550 state
|= STRINGBUF_at_end
;
3552 if(mode
& OPENMODE_app
)
3553 state
|= STRINGBUF_append
;
3558 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z */
3559 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z */
3560 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Init
, 16)
3561 void __thiscall
basic_stringbuf_char__Init(basic_stringbuf_char
*this, const char *str
, MSVCP_size_t count
, int state
)
3563 TRACE("(%p, %p, %ld, %d)\n", this, str
, count
, state
);
3565 basic_streambuf_char__Init_empty(&this->base
);
3567 this->state
= state
;
3568 this->seekhigh
= NULL
;
3571 char *buf
= MSVCRT_operator_new(count
);
3573 ERR("Out of memory\n");
3574 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3577 memcpy(buf
, str
, count
);
3578 this->seekhigh
= buf
+ count
;
3580 this->state
|= STRINGBUF_allocated
;
3582 if(!(state
& STRINGBUF_no_read
))
3583 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+ count
);
3585 if(!(state
& STRINGBUF_no_write
)) {
3586 basic_streambuf_char_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3588 if(!basic_streambuf_char_gptr(&this->base
))
3589 basic_streambuf_char_setg(&this->base
, buf
, 0, buf
);
3594 /* ??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 */
3595 /* ??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 */
3596 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_str
, 12)
3597 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_str(basic_stringbuf_char
*this,
3598 const basic_string_char
*str
, IOSB_openmode mode
)
3600 TRACE("(%p %p %d)\n", this, str
, mode
);
3602 basic_streambuf_char_ctor(&this->base
);
3603 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3605 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
),
3606 str
->size
, basic_stringbuf_char__Getstate(this, mode
));
3610 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
3611 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
3612 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_mode
, 8)
3613 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_mode(
3614 basic_stringbuf_char
*this, IOSB_openmode mode
)
3616 TRACE("(%p %d)\n", this, mode
);
3618 basic_streambuf_char_ctor(&this->base
);
3619 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3621 basic_stringbuf_char__Init(this, NULL
, 0, basic_stringbuf_char__Getstate(this, mode
));
3625 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
3626 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
3627 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor
, 4)
3628 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor(basic_stringbuf_char
*this)
3630 return basic_stringbuf_char_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3633 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ */
3634 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ */
3635 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Tidy
, 4)
3636 void __thiscall
basic_stringbuf_char__Tidy(basic_stringbuf_char
*this)
3638 TRACE("(%p)\n", this);
3640 if(this->state
& STRINGBUF_allocated
) {
3641 MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base
));
3642 this->seekhigh
= NULL
;
3643 this->state
&= ~STRINGBUF_allocated
;
3646 basic_streambuf_char__Init_empty(&this->base
);
3649 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
3650 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
3651 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_dtor
, 4)
3652 void __thiscall
basic_stringbuf_char_dtor(basic_stringbuf_char
*this)
3654 TRACE("(%p)\n", this);
3656 basic_stringbuf_char__Tidy(this);
3657 basic_streambuf_char_dtor(&this->base
);
3660 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_vector_dtor
, 8)
3661 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_vector_dtor(basic_stringbuf_char
*this, unsigned int flags
)
3663 TRACE("(%p %x)\n", this, flags
);
3666 /* we have an array, with the number of elements stored before the first object */
3667 INT_PTR i
, *ptr
= (INT_PTR
*) this - 1;
3669 for (i
= *ptr
- 1; i
>= 0; i
--)
3670 basic_stringbuf_char_dtor(this+i
);
3672 MSVCRT_operator_delete(ptr
);
3674 basic_stringbuf_char_dtor(this);
3677 MSVCRT_operator_delete(this);
3683 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3684 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3685 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_overflow
, 8)
3686 int __thiscall
basic_stringbuf_char_overflow(basic_stringbuf_char
*this, int meta
)
3688 MSVCP_size_t oldsize
, size
;
3691 TRACE("(%p %x)\n", this, meta
);
3695 if(this->state
& STRINGBUF_no_write
)
3698 ptr
= basic_streambuf_char_pptr(&this->base
);
3699 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
3700 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
3701 this->seekhigh
, basic_streambuf_char_epptr(&this->base
));
3703 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
3704 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3706 oldsize
= (ptr
? basic_streambuf_char_epptr(&this->base
)-basic_streambuf_char_eback(&this->base
): 0);
3709 buf
= MSVCRT_operator_new(size
);
3711 ERR("Out of memory\n");
3712 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3716 this->seekhigh
= buf
;
3717 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
3718 if(this->state
& STRINGBUF_no_read
)
3719 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3721 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+1);
3723 this->state
|= STRINGBUF_allocated
;
3725 ptr
= basic_streambuf_char_eback(&this->base
);
3726 memcpy(buf
, ptr
, oldsize
);
3728 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
3729 basic_streambuf_char_setp_next(&this->base
, buf
,
3730 buf
+(basic_streambuf_char_pptr(&this->base
)-ptr
), buf
+size
);
3731 if(this->state
& STRINGBUF_no_read
)
3732 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3734 basic_streambuf_char_setg(&this->base
, buf
,
3735 buf
+(basic_streambuf_char_gptr(&this->base
)-ptr
),
3736 basic_streambuf_char_pptr(&this->base
)+1);
3738 MSVCRT_operator_delete(ptr
);
3741 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3744 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3745 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3746 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_pbackfail
, 8)
3747 int __thiscall
basic_stringbuf_char_pbackfail(basic_stringbuf_char
*this, int c
)
3751 TRACE("(%p %x)\n", this, c
);
3753 cur
= basic_streambuf_char_gptr(&this->base
);
3754 if(!cur
|| cur
==basic_streambuf_char_eback(&this->base
)
3755 || (c
!=EOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
3760 basic_streambuf_char_gbump(&this->base
, -1);
3761 return c
==EOF
? !EOF
: c
;
3764 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ */
3765 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ */
3766 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_underflow
, 4)
3767 int __thiscall
basic_stringbuf_char_underflow(basic_stringbuf_char
*this)
3771 TRACE("(%p)\n", this);
3773 cur
= basic_streambuf_char_gptr(&this->base
);
3774 if(!cur
|| this->state
&STRINGBUF_no_read
)
3777 ptr
= basic_streambuf_char_pptr(&this->base
);
3778 if(this->seekhigh
< ptr
)
3779 this->seekhigh
= ptr
;
3781 ptr
= basic_streambuf_char_egptr(&this->base
);
3782 if(this->seekhigh
> ptr
)
3783 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
), cur
, this->seekhigh
);
3785 if(cur
< this->seekhigh
)
3786 return (unsigned char)*cur
;
3790 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3791 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3792 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekoff
, 20)
3793 fpos_int
* __thiscall
basic_stringbuf_char_seekoff(basic_stringbuf_char
*this,
3794 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3796 char *beg
, *cur_r
, *cur_w
;
3798 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
3800 cur_w
= basic_streambuf_char_pptr(&this->base
);
3801 if(cur_w
> this->seekhigh
)
3802 this->seekhigh
= cur_w
;
3807 beg
= basic_streambuf_char_eback(&this->base
);
3808 cur_r
= basic_streambuf_char_gptr(&this->base
);
3809 if((mode
& OPENMODE_in
) && cur_r
) {
3810 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
3812 else if(way
== SEEKDIR_end
)
3813 off
+= this->seekhigh
-beg
;
3814 else if(way
!= SEEKDIR_beg
)
3817 if(off
<0 || off
>this->seekhigh
-beg
) {
3820 basic_streambuf_char_gbump(&this->base
, beg
-cur_r
+off
);
3821 if((mode
& OPENMODE_out
) && cur_w
) {
3822 basic_streambuf_char_setp_next(&this->base
, beg
,
3823 basic_streambuf_char_gptr(&this->base
),
3824 basic_streambuf_char_epptr(&this->base
));
3827 }else if((mode
& OPENMODE_out
) && cur_w
) {
3828 if(way
== SEEKDIR_cur
)
3830 else if(way
== SEEKDIR_end
)
3831 off
+= this->seekhigh
-beg
;
3832 else if(way
!= SEEKDIR_beg
)
3835 if(off
<0 || off
>this->seekhigh
-beg
)
3838 basic_streambuf_char_pbump(&this->base
, beg
-cur_w
+off
);
3847 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3848 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3849 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekpos
, 36)
3850 fpos_int
* __thiscall
basic_stringbuf_char_seekpos(basic_stringbuf_char
*this,
3851 fpos_int
*ret
, fpos_int pos
, int mode
)
3853 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3855 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
3860 return basic_stringbuf_char_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
3863 /* ?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 */
3864 /* ?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 */
3865 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_set
, 8)
3866 void __thiscall
basic_stringbuf_char_str_set(basic_stringbuf_char
*this, const basic_string_char
*str
)
3868 TRACE("(%p %p)\n", this, str
);
3870 basic_stringbuf_char__Tidy(this);
3871 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
), str
->size
, this->state
);
3874 /* ?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 */
3875 /* ?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 */
3876 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_get
, 8)
3877 basic_string_char
* __thiscall
basic_stringbuf_char_str_get(const basic_stringbuf_char
*this, basic_string_char
*ret
)
3881 TRACE("(%p)\n", this);
3883 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_char_pptr(&this->base
)) {
3886 ptr
= basic_streambuf_char_pbase(&this->base
);
3887 pptr
= basic_streambuf_char_pptr(&this->base
);
3889 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
3892 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_char_gptr(&this->base
)) {
3893 ptr
= basic_streambuf_char_eback(&this->base
);
3894 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, basic_streambuf_char_egptr(&this->base
) - ptr
);
3897 return MSVCP_basic_string_char_ctor(ret
);
3900 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEHH@Z */
3901 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEAAHH@Z */
3902 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z */
3903 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z */
3904 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Getstate
, 8)
3905 int __thiscall
basic_stringbuf_wchar__Getstate(basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3909 if(!(mode
& OPENMODE_in
))
3910 state
|= STRINGBUF_no_read
;
3912 if(!(mode
& OPENMODE_out
))
3913 state
|= STRINGBUF_no_write
;
3915 if(mode
& OPENMODE_ate
)
3916 state
|= STRINGBUF_at_end
;
3918 if(mode
& OPENMODE_app
)
3919 state
|= STRINGBUF_append
;
3924 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXPB_WIH@Z */
3925 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXPEB_W_KH@Z */
3926 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z */
3927 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z */
3928 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Init
, 16)
3929 void __thiscall
basic_stringbuf_wchar__Init(basic_stringbuf_wchar
*this, const wchar_t *str
, MSVCP_size_t count
, int state
)
3931 TRACE("(%p, %p, %lu, %d)\n", this, str
, count
, state
);
3933 basic_streambuf_wchar__Init_empty(&this->base
);
3935 this->state
= state
;
3936 this->seekhigh
= NULL
;
3939 wchar_t *buf
= MSVCRT_operator_new(count
*sizeof(wchar_t));
3941 ERR("Out of memory\n");
3942 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3945 memcpy(buf
, str
, count
*sizeof(wchar_t));
3946 this->seekhigh
= buf
+ count
;
3948 this->state
|= STRINGBUF_allocated
;
3950 if(!(state
& STRINGBUF_no_read
))
3951 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+ count
);
3953 if(!(state
& STRINGBUF_no_write
)) {
3954 basic_streambuf_wchar_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3956 if(!basic_streambuf_wchar_gptr(&this->base
))
3957 basic_streambuf_wchar_setg(&this->base
, buf
, 0, buf
);
3962 /* ??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 */
3963 /* ??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 */
3964 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_str
, 12)
3965 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_str(basic_stringbuf_wchar
*this,
3966 const basic_string_wchar
*str
, IOSB_openmode mode
)
3968 TRACE("(%p %p %d)\n", this, str
, mode
);
3970 basic_streambuf_wchar_ctor(&this->base
);
3971 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
3973 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
),
3974 str
->size
, basic_stringbuf_wchar__Getstate(this, mode
));
3978 /* ??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 */
3979 /* ??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 */
3980 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_str
, 12)
3981 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_str(basic_stringbuf_wchar
*this,
3982 const basic_string_wchar
*str
, IOSB_openmode mode
)
3984 basic_stringbuf_wchar_ctor_str(this, str
, mode
);
3985 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
3989 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
3990 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
3991 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_mode
, 8)
3992 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_mode(
3993 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3995 TRACE("(%p %d)\n", this, mode
);
3997 basic_streambuf_wchar_ctor(&this->base
);
3998 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
4000 basic_stringbuf_wchar__Init(this, NULL
, 0, basic_stringbuf_wchar__Getstate(this, mode
));
4004 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
4005 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
4006 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_mode
, 8)
4007 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_mode(
4008 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
4010 basic_stringbuf_wchar_ctor_mode(this, mode
);
4011 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
4015 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
4016 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
4017 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor
, 4)
4018 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor(basic_stringbuf_wchar
*this)
4020 return basic_stringbuf_wchar_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
4023 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
4024 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
4025 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor
, 4)
4026 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor(basic_stringbuf_wchar
*this)
4028 return basic_stringbuf_short_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
4031 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXXZ */
4032 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXXZ */
4033 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ */
4034 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ */
4035 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Tidy
, 4)
4036 void __thiscall
basic_stringbuf_wchar__Tidy(basic_stringbuf_wchar
*this)
4038 TRACE("(%p)\n", this);
4040 if(this->state
& STRINGBUF_allocated
) {
4041 MSVCRT_operator_delete(basic_streambuf_wchar_eback(&this->base
));
4042 this->seekhigh
= NULL
;
4043 this->state
&= ~STRINGBUF_allocated
;
4046 basic_streambuf_wchar__Init_empty(&this->base
);
4049 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
4050 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
4051 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
4052 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
4053 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_dtor
, 4)
4054 void __thiscall
basic_stringbuf_wchar_dtor(basic_stringbuf_wchar
*this)
4056 TRACE("(%p)\n", this);
4058 basic_stringbuf_wchar__Tidy(this);
4059 basic_streambuf_wchar_dtor(&this->base
);
4062 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_vector_dtor
, 8)
4063 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_vector_dtor(basic_stringbuf_wchar
*this, unsigned int flags
)
4065 TRACE("(%p %x)\n", this, flags
);
4068 /* we have an array, with the number of elements stored before the first object */
4069 INT_PTR i
, *ptr
= (INT_PTR
*) this - 1;
4071 for (i
= *ptr
- 1; i
>= 0; i
--)
4072 basic_stringbuf_wchar_dtor(this+i
);
4074 MSVCRT_operator_delete(ptr
);
4076 basic_stringbuf_wchar_dtor(this);
4079 MSVCRT_operator_delete(this);
4085 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4086 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4087 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4088 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4089 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_overflow
, 8)
4090 unsigned short __thiscall
basic_stringbuf_wchar_overflow(basic_stringbuf_wchar
*this, unsigned short meta
)
4092 MSVCP_size_t oldsize
, size
;
4095 TRACE("(%p %x)\n", this, meta
);
4099 if(this->state
& STRINGBUF_no_write
)
4102 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4103 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
4104 basic_streambuf_wchar_setp_next(&this->base
, basic_streambuf_wchar_pbase(&this->base
),
4105 this->seekhigh
, basic_streambuf_wchar_epptr(&this->base
));
4107 if(ptr
&& ptr
<basic_streambuf_wchar_epptr(&this->base
))
4108 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4110 oldsize
= (ptr
? basic_streambuf_wchar_epptr(&this->base
)-basic_streambuf_wchar_eback(&this->base
): 0);
4113 buf
= MSVCRT_operator_new(size
*sizeof(wchar_t));
4115 ERR("Out of memory\n");
4116 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
4120 this->seekhigh
= buf
;
4121 basic_streambuf_wchar_setp(&this->base
, buf
, buf
+size
);
4122 if(this->state
& STRINGBUF_no_read
)
4123 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4125 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+1);
4127 this->state
|= STRINGBUF_allocated
;
4129 ptr
= basic_streambuf_wchar_eback(&this->base
);
4130 memcpy(buf
, ptr
, oldsize
*sizeof(wchar_t));
4132 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
4133 basic_streambuf_wchar_setp_next(&this->base
, buf
,
4134 buf
+(basic_streambuf_wchar_pptr(&this->base
)-ptr
), buf
+size
);
4135 if(this->state
& STRINGBUF_no_read
)
4136 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4138 basic_streambuf_wchar_setg(&this->base
, buf
,
4139 buf
+(basic_streambuf_wchar_gptr(&this->base
)-ptr
),
4140 basic_streambuf_wchar_pptr(&this->base
)+1);
4142 MSVCRT_operator_delete(ptr
);
4145 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4148 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4149 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4150 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4151 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4152 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_pbackfail
, 8)
4153 unsigned short __thiscall
basic_stringbuf_wchar_pbackfail(basic_stringbuf_wchar
*this, unsigned short c
)
4157 TRACE("(%p %x)\n", this, c
);
4159 cur
= basic_streambuf_wchar_gptr(&this->base
);
4160 if(!cur
|| cur
==basic_streambuf_wchar_eback(&this->base
)
4161 || (c
!=WEOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
4166 basic_streambuf_wchar_gbump(&this->base
, -1);
4167 return c
==WEOF
? !WEOF
: c
;
4170 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGXZ */
4171 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGXZ */
4172 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ */
4173 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ */
4174 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_underflow
, 4)
4175 unsigned short __thiscall
basic_stringbuf_wchar_underflow(basic_stringbuf_wchar
*this)
4179 TRACE("(%p)\n", this);
4181 cur
= basic_streambuf_wchar_gptr(&this->base
);
4182 if(!cur
|| this->state
&STRINGBUF_no_read
)
4185 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4186 if(this->seekhigh
< ptr
)
4187 this->seekhigh
= ptr
;
4189 ptr
= basic_streambuf_wchar_egptr(&this->base
);
4190 if(this->seekhigh
> ptr
)
4191 basic_streambuf_wchar_setg(&this->base
, basic_streambuf_wchar_eback(&this->base
), cur
, this->seekhigh
);
4193 if(cur
< this->seekhigh
)
4198 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4199 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4200 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4201 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4202 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekoff
, 20)
4203 fpos_int
* __thiscall
basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar
*this,
4204 fpos_int
*ret
, streamoff off
, int way
, int mode
)
4206 wchar_t *beg
, *cur_r
, *cur_w
;
4208 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
4210 cur_w
= basic_streambuf_wchar_pptr(&this->base
);
4211 if(cur_w
> this->seekhigh
)
4212 this->seekhigh
= cur_w
;
4217 beg
= basic_streambuf_wchar_eback(&this->base
);
4218 cur_r
= basic_streambuf_wchar_gptr(&this->base
);
4219 if((mode
& OPENMODE_in
) && cur_r
) {
4220 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
4222 else if(way
== SEEKDIR_end
)
4223 off
+= this->seekhigh
-beg
;
4224 else if(way
!= SEEKDIR_beg
)
4227 if(off
<0 || off
>this->seekhigh
-beg
) {
4230 basic_streambuf_wchar_gbump(&this->base
, beg
-cur_r
+off
);
4231 if((mode
& OPENMODE_out
) && cur_w
) {
4232 basic_streambuf_wchar_setp_next(&this->base
, beg
,
4233 basic_streambuf_wchar_gptr(&this->base
),
4234 basic_streambuf_wchar_epptr(&this->base
));
4237 }else if((mode
& OPENMODE_out
) && cur_w
) {
4238 if(way
== SEEKDIR_cur
)
4240 else if(way
== SEEKDIR_end
)
4241 off
+= this->seekhigh
-beg
;
4242 else if(way
!= SEEKDIR_beg
)
4245 if(off
<0 || off
>this->seekhigh
-beg
)
4248 basic_streambuf_wchar_pbump(&this->base
, beg
-cur_w
+off
);
4257 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4258 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4259 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4260 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4261 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekpos
, 36)
4262 fpos_int
* __thiscall
basic_stringbuf_wchar_seekpos(basic_stringbuf_wchar
*this,
4263 fpos_int
*ret
, fpos_int pos
, int mode
)
4265 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
4267 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
4272 return basic_stringbuf_wchar_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
4275 /* ?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 */
4276 /* ?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 */
4277 /* ?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 */
4278 /* ?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 */
4279 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_set
, 8)
4280 void __thiscall
basic_stringbuf_wchar_str_set(basic_stringbuf_wchar
*this, const basic_string_wchar
*str
)
4282 TRACE("(%p %p)\n", this, str
);
4284 basic_stringbuf_wchar__Tidy(this);
4285 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
), str
->size
, this->state
);
4288 /* ?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 */
4289 /* ?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 */
4290 /* ?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 */
4291 /* ?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 */
4292 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_get
, 8)
4293 basic_string_wchar
* __thiscall
basic_stringbuf_wchar_str_get(const basic_stringbuf_wchar
*this, basic_string_wchar
*ret
)
4297 TRACE("(%p)\n", this);
4299 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_wchar_pptr(&this->base
)) {
4302 ptr
= basic_streambuf_wchar_pbase(&this->base
);
4303 pptr
= basic_streambuf_wchar_pptr(&this->base
);
4305 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
4308 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_wchar_gptr(&this->base
)) {
4309 ptr
= basic_streambuf_wchar_eback(&this->base
);
4310 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, basic_streambuf_wchar_egptr(&this->base
) - ptr
);
4313 return MSVCP_basic_string_wchar_ctor(ret
);
4316 /* ??0ios_base@std@@IAE@XZ */
4317 /* ??0ios_base@std@@IEAA@XZ */
4318 DEFINE_THISCALL_WRAPPER(ios_base_ctor
, 4)
4319 ios_base
* __thiscall
ios_base_ctor(ios_base
*this)
4321 TRACE("(%p)\n", this);
4322 this->vtable
= &MSVCP_ios_base_vtable
;
4326 /* ??0ios_base@std@@QAE@ABV01@@Z */
4327 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
4328 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor
, 8)
4329 ios_base
* __thiscall
ios_base_copy_ctor(ios_base
*this, const ios_base
*copy
)
4331 TRACE("(%p %p)\n", this, copy
);
4333 this->vtable
= &MSVCP_ios_base_vtable
;
4337 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
4338 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
4339 DEFINE_THISCALL_WRAPPER(ios_base_Callfns
, 8)
4340 void __thiscall
ios_base_Callfns(ios_base
*this, IOS_BASE_event event
)
4342 IOS_BASE_fnarray
*cur
;
4344 TRACE("(%p %x)\n", this, event
);
4346 for(cur
=this->calls
; cur
; cur
=cur
->next
)
4347 cur
->event_handler(event
, this, cur
->index
);
4350 /* ?_Tidy@ios_base@std@@AAAXXZ */
4351 /* ?_Tidy@ios_base@std@@AEAAXXZ */
4352 void CDECL
ios_base_Tidy(ios_base
*this)
4354 IOS_BASE_iosarray
*arr_cur
, *arr_next
;
4355 IOS_BASE_fnarray
*event_cur
, *event_next
;
4357 TRACE("(%p)\n", this);
4359 ios_base_Callfns(this, EVENT_erase_event
);
4361 for(arr_cur
=this->arr
; arr_cur
; arr_cur
=arr_next
) {
4362 arr_next
= arr_cur
->next
;
4363 MSVCRT_operator_delete(arr_cur
);
4367 for(event_cur
=this->calls
; event_cur
; event_cur
=event_next
) {
4368 event_next
= event_cur
->next
;
4369 MSVCRT_operator_delete(event_cur
);
4374 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
4375 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
4376 static void ios_base_Ios_base_dtor(ios_base
*obj
)
4378 TRACE("(%p)\n", obj
);
4380 locale_dtor(obj
->loc
);
4381 MSVCRT_operator_delete(obj
->loc
);
4386 /* ??1ios_base@std@@UAE@XZ */
4387 /* ??1ios_base@std@@UEAA@XZ */
4388 DEFINE_THISCALL_WRAPPER(ios_base_dtor
, 4)
4389 void __thiscall
ios_base_dtor(ios_base
*this)
4391 ios_base_Ios_base_dtor(this);
4394 DEFINE_THISCALL_WRAPPER(ios_base_vector_dtor
, 8)
4395 ios_base
* __thiscall
ios_base_vector_dtor(ios_base
*this, unsigned int flags
)
4397 TRACE("(%p %x)\n", this, flags
);
4399 /* we have an array, with the number of elements stored before the first object */
4400 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
4402 for(i
=*ptr
-1; i
>=0; i
--)
4403 ios_base_dtor(this+i
);
4404 MSVCRT_operator_delete(ptr
);
4406 ios_base_dtor(this);
4408 MSVCRT_operator_delete(this);
4414 DEFINE_THISCALL_WRAPPER(iosb_vector_dtor
, 8)
4415 void* __thiscall
iosb_vector_dtor(void *this, unsigned int flags
)
4417 TRACE("(%p %x)\n", this, flags
);
4419 INT_PTR
*ptr
= (INT_PTR
*)this-1;
4420 MSVCRT_operator_delete(ptr
);
4423 MSVCRT_operator_delete(this);
4429 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
4430 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
4431 DEFINE_THISCALL_WRAPPER(ios_base_Findarr
, 8)
4432 IOS_BASE_iosarray
* __thiscall
ios_base_Findarr(ios_base
*this, int index
)
4434 IOS_BASE_iosarray
*p
;
4436 TRACE("(%p %d)\n", this, index
);
4438 for(p
=this->arr
; p
; p
=p
->next
) {
4439 if(p
->index
== index
)
4443 for(p
=this->arr
; p
; p
=p
->next
) {
4444 if(!p
->long_val
&& !p
->ptr_val
) {
4450 p
= MSVCRT_operator_new(sizeof(IOS_BASE_iosarray
));
4451 p
->next
= this->arr
;
4459 /* ?iword@ios_base@std@@QAEAAJH@Z */
4460 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
4461 DEFINE_THISCALL_WRAPPER(ios_base_iword
, 8)
4462 LONG
* __thiscall
ios_base_iword(ios_base
*this, int index
)
4464 TRACE("(%p %d)\n", this, index
);
4465 return &ios_base_Findarr(this, index
)->long_val
;
4468 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
4469 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
4470 DEFINE_THISCALL_WRAPPER(ios_base_pword
, 8)
4471 void** __thiscall
ios_base_pword(ios_base
*this, int index
)
4473 TRACE("(%p %d)\n", this, index
);
4474 return &ios_base_Findarr(this, index
)->ptr_val
;
4477 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
4478 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
4479 DEFINE_THISCALL_WRAPPER(ios_base_register_callback
, 12)
4480 void __thiscall
ios_base_register_callback(ios_base
*this, IOS_BASE_event_callback callback
, int index
)
4482 IOS_BASE_fnarray
*event
;
4484 TRACE("(%p %p %d)\n", this, callback
, index
);
4486 event
= MSVCRT_operator_new(sizeof(IOS_BASE_fnarray
));
4487 event
->next
= this->calls
;
4488 event
->index
= index
;
4489 event
->event_handler
= callback
;
4490 this->calls
= event
;
4493 /* ?clear@ios_base@std@@QAEXH_N@Z */
4494 /* ?clear@ios_base@std@@QEAAXH_N@Z */
4495 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise
, 12)
4496 void __thiscall
ios_base_clear_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4498 TRACE("(%p %x %x)\n", this, state
, reraise
);
4500 this->state
= state
& IOSTATE_mask
;
4501 if(!(this->state
& this->except
))
4505 throw_exception(EXCEPTION_RERAISE
, NULL
);
4506 else if(this->state
& this->except
& IOSTATE_eofbit
)
4507 throw_exception(EXCEPTION_FAILURE
, "eofbit is set");
4508 else if(this->state
& this->except
& IOSTATE_failbit
)
4509 throw_exception(EXCEPTION_FAILURE
, "failbit is set");
4510 else if(this->state
& this->except
& IOSTATE_badbit
)
4511 throw_exception(EXCEPTION_FAILURE
, "badbit is set");
4512 else if(this->state
& this->except
& IOSTATE__Hardfail
)
4513 throw_exception(EXCEPTION_FAILURE
, "_Hardfail is set");
4516 /* ?clear@ios_base@std@@QAEXH@Z */
4517 /* ?clear@ios_base@std@@QEAAXH@Z */
4518 DEFINE_THISCALL_WRAPPER(ios_base_clear
, 8)
4519 void __thiscall
ios_base_clear(ios_base
*this, IOSB_iostate state
)
4521 ios_base_clear_reraise(this, state
, FALSE
);
4524 /* ?clear@ios_base@std@@QAEXI@Z */
4525 /* ?clear@ios_base@std@@QEAAXI@Z */
4526 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned
, 8)
4527 void __thiscall
ios_base_clear_unsigned(ios_base
*this, unsigned int state
)
4529 ios_base_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4532 /* ?exceptions@ios_base@std@@QAEXH@Z */
4533 /* ?exceptions@ios_base@std@@QEAAXH@Z */
4534 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set
, 8)
4535 void __thiscall
ios_base_exceptions_set(ios_base
*this, IOSB_iostate state
)
4537 TRACE("(%p %x)\n", this, state
);
4538 this->except
= state
& IOSTATE_mask
;
4539 ios_base_clear(this, this->state
);
4542 /* ?exceptions@ios_base@std@@QAEXI@Z */
4543 /* ?exceptions@ios_base@std@@QEAAXI@Z */
4544 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set_unsigned
, 8)
4545 void __thiscall
ios_base_exceptions_set_unsigned(ios_base
*this, unsigned int state
)
4547 TRACE("(%p %x)\n", this, state
);
4548 ios_base_exceptions_set(this, state
);
4551 /* ?exceptions@ios_base@std@@QBEHXZ */
4552 /* ?exceptions@ios_base@std@@QEBAHXZ */
4553 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_get
, 4)
4554 IOSB_iostate __thiscall
ios_base_exceptions_get(ios_base
*this)
4556 TRACE("(%p)\n", this);
4557 return this->except
;
4560 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
4561 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
4562 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt
, 8)
4563 ios_base
* __thiscall
ios_base_copyfmt(ios_base
*this, const ios_base
*rhs
)
4565 TRACE("(%p %p)\n", this, rhs
);
4568 IOS_BASE_iosarray
*arr_cur
;
4569 IOS_BASE_fnarray
*event_cur
;
4571 ios_base_Tidy(this);
4573 for(arr_cur
=rhs
->arr
; arr_cur
; arr_cur
=arr_cur
->next
) {
4574 if(arr_cur
->long_val
)
4575 *ios_base_iword(this, arr_cur
->index
) = arr_cur
->long_val
;
4576 if(arr_cur
->ptr_val
)
4577 *ios_base_pword(this, arr_cur
->index
) = arr_cur
->ptr_val
;
4579 this->stdstr
= rhs
->stdstr
;
4580 this->fmtfl
= rhs
->fmtfl
;
4581 this->prec
= rhs
->prec
;
4582 this->wide
= rhs
->wide
;
4583 locale_operator_assign(this->loc
, rhs
->loc
);
4585 for(event_cur
=rhs
->calls
; event_cur
; event_cur
=event_cur
->next
)
4586 ios_base_register_callback(this, event_cur
->event_handler
, event_cur
->index
);
4588 ios_base_Callfns(this, EVENT_copyfmt_event
);
4589 ios_base_exceptions_set(this, rhs
->except
);
4595 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
4596 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
4597 DEFINE_THISCALL_WRAPPER(ios_base_assign
, 8)
4598 ios_base
* __thiscall
ios_base_assign(ios_base
*this, const ios_base
*right
)
4600 TRACE("(%p %p)\n", this, right
);
4603 this->state
= right
->state
;
4604 ios_base_copyfmt(this, right
);
4610 /* ?fail@ios_base@std@@QBE_NXZ */
4611 /* ?fail@ios_base@std@@QEBA_NXZ */
4612 DEFINE_THISCALL_WRAPPER(ios_base_fail
, 4)
4613 MSVCP_bool __thiscall
ios_base_fail(const ios_base
*this)
4615 TRACE("(%p)\n", this);
4616 return (this->state
& (IOSTATE_failbit
|IOSTATE_badbit
)) != 0;
4619 /* ??7ios_base@std@@QBE_NXZ */
4620 /* ??7ios_base@std@@QEBA_NXZ */
4621 DEFINE_THISCALL_WRAPPER(ios_base_op_succ
, 4)
4622 MSVCP_bool __thiscall
ios_base_op_succ(const ios_base
*this)
4624 TRACE("(%p)\n", this);
4625 return ios_base_fail(this);
4628 /* ??Bios_base@std@@QBEPAXXZ */
4629 /* ??Bios_base@std@@QEBAPEAXXZ */
4630 DEFINE_THISCALL_WRAPPER(ios_base_op_fail
, 4)
4631 void* __thiscall
ios_base_op_fail(const ios_base
*this)
4633 TRACE("(%p)\n", this);
4634 return ios_base_fail(this) ? NULL
: (void*)this;
4637 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
4638 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
4639 static void ios_base_Addstd(ios_base
*add
)
4641 FIXME("(%p) stub\n", add
);
4644 /* ?_Init@ios_base@std@@IAEXXZ */
4645 /* ?_Init@ios_base@std@@IEAAXXZ */
4646 DEFINE_THISCALL_WRAPPER(ios_base__Init
, 4)
4647 void __thiscall
ios_base__Init(ios_base
*this)
4649 TRACE("(%p)\n", this);
4652 this->state
= this->except
= IOSTATE_goodbit
;
4653 this->fmtfl
= FMTFLAG_skipws
| FMTFLAG_dec
;
4658 this->loc
= MSVCRT_operator_new(sizeof(locale
));
4659 locale_ctor(this->loc
);
4662 /* ?bad@ios_base@std@@QBE_NXZ */
4663 /* ?bad@ios_base@std@@QEBA_NXZ */
4664 DEFINE_THISCALL_WRAPPER(ios_base_bad
, 4)
4665 MSVCP_bool __thiscall
ios_base_bad(const ios_base
*this)
4667 TRACE("(%p)\n", this);
4668 return (this->state
& IOSTATE_badbit
) != 0;
4671 /* ?eof@ios_base@std@@QBE_NXZ */
4672 /* ?eof@ios_base@std@@QEBA_NXZ */
4673 DEFINE_THISCALL_WRAPPER(ios_base_eof
, 4)
4674 MSVCP_bool __thiscall
ios_base_eof(const ios_base
*this)
4676 TRACE("(%p)\n", this);
4677 return (this->state
& IOSTATE_eofbit
) != 0;
4680 /* ?flags@ios_base@std@@QAEHH@Z */
4681 /* ?flags@ios_base@std@@QEAAHH@Z */
4682 DEFINE_THISCALL_WRAPPER(ios_base_flags_set
, 8)
4683 IOSB_fmtflags __thiscall
ios_base_flags_set(ios_base
*this, IOSB_fmtflags flags
)
4685 IOSB_fmtflags ret
= this->fmtfl
;
4687 TRACE("(%p %x)\n", this, flags
);
4689 this->fmtfl
= flags
& FMTFLAG_mask
;
4693 /* ?flags@ios_base@std@@QBEHXZ */
4694 /* ?flags@ios_base@std@@QEBAHXZ */
4695 DEFINE_THISCALL_WRAPPER(ios_base_flags_get
, 4)
4696 IOSB_fmtflags __thiscall
ios_base_flags_get(const ios_base
*this)
4698 TRACE("(%p)\n", this);
4702 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
4703 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
4704 DEFINE_THISCALL_WRAPPER(ios_base_getloc
, 8)
4705 locale
* __thiscall
ios_base_getloc(const ios_base
*this, locale
*ret
)
4707 TRACE("(%p)\n", this);
4708 return locale_copy_ctor(ret
, this->loc
);
4711 /* ?good@ios_base@std@@QBE_NXZ */
4712 /* ?good@ios_base@std@@QEBA_NXZ */
4713 DEFINE_THISCALL_WRAPPER(ios_base_good
, 4)
4714 MSVCP_bool __thiscall
ios_base_good(const ios_base
*this)
4716 TRACE("(%p)\n", this);
4717 return this->state
== IOSTATE_goodbit
;
4720 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
4721 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
4722 DEFINE_THISCALL_WRAPPER(ios_base_imbue
, 12)
4723 locale
* __thiscall
ios_base_imbue(ios_base
*this, locale
*ret
, const locale
*loc
)
4725 TRACE("(%p %p)\n", this, loc
);
4727 locale_copy_ctor(this->loc
, loc
);
4731 /* ?precision@ios_base@std@@QAEHH@Z */
4732 /* ?precision@ios_base@std@@QEAA_J_J@Z */
4733 DEFINE_THISCALL_WRAPPER(ios_base_precision_set
, 8)
4734 streamsize __thiscall
ios_base_precision_set(ios_base
*this, streamsize precision
)
4736 streamsize ret
= this->prec
;
4738 TRACE("(%p %ld)\n", this, precision
);
4740 this->prec
= precision
;
4744 /* ?precision@ios_base@std@@QBEHXZ */
4745 /* ?precision@ios_base@std@@QEBA_JXZ */
4746 DEFINE_THISCALL_WRAPPER(ios_base_precision_get
, 4)
4747 streamsize __thiscall
ios_base_precision_get(const ios_base
*this)
4749 TRACE("(%p)\n", this);
4753 /* ?rdstate@ios_base@std@@QBEHXZ */
4754 /* ?rdstate@ios_base@std@@QEBAHXZ */
4755 DEFINE_THISCALL_WRAPPER(ios_base_rdstate
, 4)
4756 IOSB_iostate __thiscall
ios_base_rdstate(const ios_base
*this)
4758 TRACE("(%p)\n", this);
4762 /* ?setf@ios_base@std@@QAEHHH@Z */
4763 /* ?setf@ios_base@std@@QEAAHHH@Z */
4764 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask
, 12)
4765 IOSB_fmtflags __thiscall
ios_base_setf_mask(ios_base
*this, IOSB_fmtflags flags
, IOSB_fmtflags mask
)
4767 IOSB_fmtflags ret
= this->fmtfl
;
4769 TRACE("(%p %x %x)\n", this, flags
, mask
);
4771 this->fmtfl
= (this->fmtfl
& (~mask
)) | (flags
& mask
& FMTFLAG_mask
);
4775 /* ?setf@ios_base@std@@QAEHH@Z */
4776 /* ?setf@ios_base@std@@QEAAHH@Z */
4777 DEFINE_THISCALL_WRAPPER(ios_base_setf
, 8)
4778 IOSB_fmtflags __thiscall
ios_base_setf(ios_base
*this, IOSB_fmtflags flags
)
4780 return ios_base_setf_mask(this, flags
, ~0);
4783 /* ?setstate@ios_base@std@@QAEXH_N@Z */
4784 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
4785 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise
, 12)
4786 void __thiscall
ios_base_setstate_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4788 TRACE("(%p %x %x)\n", this, state
, reraise
);
4790 if(state
!= IOSTATE_goodbit
)
4791 ios_base_clear_reraise(this, this->state
| state
, reraise
);
4794 /* ?setstate@ios_base@std@@QAEXH@Z */
4795 /* ?setstate@ios_base@std@@QEAAXH@Z */
4796 DEFINE_THISCALL_WRAPPER(ios_base_setstate
, 8)
4797 void __thiscall
ios_base_setstate(ios_base
*this, IOSB_iostate state
)
4799 ios_base_setstate_reraise(this, state
, FALSE
);
4802 /* ?setstate@ios_base@std@@QAEXI@Z */
4803 /* ?setstate@ios_base@std@@QEAAXI@Z */
4804 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned
, 8)
4805 void __thiscall
ios_base_setstate_unsigned(ios_base
*this, unsigned int state
)
4807 ios_base_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
4810 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
4811 MSVCP_bool CDECL
ios_base_sync_with_stdio(MSVCP_bool sync
)
4816 TRACE("(%x)\n", sync
);
4818 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4819 ret
= ios_base_Sync
;
4820 ios_base_Sync
= sync
;
4821 _Lockit_dtor(&lock
);
4825 /* ?unsetf@ios_base@std@@QAEXH@Z */
4826 /* ?unsetf@ios_base@std@@QEAAXH@Z */
4827 DEFINE_THISCALL_WRAPPER(ios_base_unsetf
, 8)
4828 void __thiscall
ios_base_unsetf(ios_base
*this, IOSB_fmtflags flags
)
4830 TRACE("(%p %x)\n", this, flags
);
4831 this->fmtfl
&= ~flags
;
4834 /* ?width@ios_base@std@@QAEHH@Z */
4835 /* ?width@ios_base@std@@QEAA_J_J@Z */
4836 DEFINE_THISCALL_WRAPPER(ios_base_width_set
, 8)
4837 streamsize __thiscall
ios_base_width_set(ios_base
*this, streamsize width
)
4839 streamsize ret
= this->wide
;
4841 TRACE("(%p %ld)\n", this, width
);
4847 /* ?width@ios_base@std@@QBEHXZ */
4848 /* ?width@ios_base@std@@QEBA_JXZ */
4849 DEFINE_THISCALL_WRAPPER(ios_base_width_get
, 4)
4850 streamsize __thiscall
ios_base_width_get(ios_base
*this)
4852 TRACE("(%p)\n", this);
4856 /* ?xalloc@ios_base@std@@SAHXZ */
4857 int CDECL
ios_base_xalloc(void)
4864 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4865 ret
= ios_base_Index
++;
4866 _Lockit_dtor(&lock
);
4870 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
4871 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
4872 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor
, 4)
4873 basic_ios_char
* __thiscall
basic_ios_char_ctor(basic_ios_char
*this)
4875 TRACE("(%p)\n", this);
4877 ios_base_ctor(&this->base
);
4878 this->base
.vtable
= &MSVCP_basic_ios_char_vtable
;
4882 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4883 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4884 DEFINE_THISCALL_WRAPPER(basic_ios_char_init
, 12)
4885 void __thiscall
basic_ios_char_init(basic_ios_char
*this, basic_streambuf_char
*streambuf
, MSVCP_bool isstd
)
4887 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
4888 ios_base__Init(&this->base
);
4889 this->strbuf
= streambuf
;
4890 this->stream
= NULL
;
4894 ios_base_setstate(&this->base
, IOSTATE_badbit
);
4897 FIXME("standard streams not handled yet\n");
4900 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4901 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4902 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor_streambuf
, 8)
4903 basic_ios_char
* __thiscall
basic_ios_char_ctor_streambuf(basic_ios_char
*this, basic_streambuf_char
*strbuf
)
4905 TRACE("(%p %p)\n", this, strbuf
);
4907 basic_ios_char_ctor(this);
4908 basic_ios_char_init(this, strbuf
, FALSE
);
4912 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
4913 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
4914 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor
, 4)
4915 void __thiscall
basic_ios_char_dtor(basic_ios_char
*this)
4917 TRACE("(%p)\n", this);
4918 ios_base_dtor(&this->base
);
4921 DEFINE_THISCALL_WRAPPER(basic_ios_char_vector_dtor
, 8)
4922 basic_ios_char
* __thiscall
basic_ios_char_vector_dtor(basic_ios_char
*this, unsigned int flags
)
4924 TRACE("(%p %x)\n", this, flags
);
4926 /* we have an array, with the number of elements stored before the first object */
4927 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
4929 for(i
=*ptr
-1; i
>=0; i
--)
4930 basic_ios_char_dtor(this+i
);
4931 MSVCRT_operator_delete(ptr
);
4933 basic_ios_char_dtor(this);
4935 MSVCRT_operator_delete(this);
4941 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
4942 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
4943 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise
, 12)
4944 void __thiscall
basic_ios_char_clear_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4946 TRACE("(%p %x %x)\n", this, state
, reraise
);
4947 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
4950 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
4951 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
4952 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear
, 8)
4953 void __thiscall
basic_ios_char_clear(basic_ios_char
*this, unsigned int state
)
4955 basic_ios_char_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4958 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
4959 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
4960 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt
, 8)
4961 basic_ios_char
* __thiscall
basic_ios_char_copyfmt(basic_ios_char
*this, basic_ios_char
*copy
)
4963 TRACE("(%p %p)\n", this, copy
);
4967 this->stream
= copy
->stream
;
4968 this->fillch
= copy
->fillch
;
4969 ios_base_copyfmt(&this->base
, ©
->base
);
4973 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
4974 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
4975 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set
, 8)
4976 char __thiscall
basic_ios_char_fill_set(basic_ios_char
*this, char fill
)
4978 char ret
= this->fillch
;
4980 TRACE("(%p %c)\n", this, fill
);
4982 this->fillch
= fill
;
4986 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
4987 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
4988 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get
, 4)
4989 char __thiscall
basic_ios_char_fill_get(basic_ios_char
*this)
4991 TRACE("(%p)\n", this);
4992 return this->fillch
;
4995 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
4996 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
4997 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue
, 12)
4998 locale
*__thiscall
basic_ios_char_imbue(basic_ios_char
*this, locale
*ret
, const locale
*loc
)
5000 TRACE("(%p %p %p)\n", this, ret
, loc
);
5003 basic_streambuf_char_pubimbue(this->strbuf
, ret
, loc
);
5007 return ios_base_imbue(&this->base
, ret
, loc
);
5010 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
5011 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
5012 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow
, 12)
5013 char __thiscall
basic_ios_char_narrow(basic_ios_char
*this, char ch
, char def
)
5015 TRACE("(%p %c %c)\n", this, ch
, def
);
5016 return ctype_char_narrow_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
, def
);
5019 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
5020 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5021 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set
, 8)
5022 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_set(basic_ios_char
*this, basic_streambuf_char
*streambuf
)
5024 basic_streambuf_char
*ret
= this->strbuf
;
5026 TRACE("(%p %p)\n", this, streambuf
);
5028 this->strbuf
= streambuf
;
5029 basic_ios_char_clear(this, IOSTATE_goodbit
);
5033 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5034 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5035 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get
, 4)
5036 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_get(const basic_ios_char
*this)
5038 TRACE("(%p)\n", this);
5039 return this->strbuf
;
5042 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
5043 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
5044 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise
, 12)
5045 void __thiscall
basic_ios_char_setstate_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5047 TRACE("(%p %x %x)\n", this, state
, reraise
);
5049 if(state
!= IOSTATE_goodbit
)
5050 basic_ios_char_clear_reraise(this, this->base
.state
| state
, reraise
);
5053 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
5054 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
5055 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate
, 8)
5056 void __thiscall
basic_ios_char_setstate(basic_ios_char
*this, unsigned int state
)
5058 basic_ios_char_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
5061 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
5062 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5063 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set
, 8)
5064 basic_ostream_char
* __thiscall
basic_ios_char_tie_set(basic_ios_char
*this, basic_ostream_char
*ostream
)
5066 basic_ostream_char
*ret
= this->stream
;
5068 TRACE("(%p %p)\n", this, ostream
);
5070 this->stream
= ostream
;
5074 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5075 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5076 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get
, 4)
5077 basic_ostream_char
* __thiscall
basic_ios_char_tie_get(const basic_ios_char
*this)
5079 TRACE("(%p)\n", this);
5080 return this->stream
;
5083 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
5084 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
5085 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen
, 8)
5086 char __thiscall
basic_ios_char_widen(basic_ios_char
*this, char ch
)
5088 TRACE("(%p %c)\n", this, ch
);
5089 return ctype_char_widen_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
);
5093 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
5094 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
5095 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor
, 4)
5096 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor(basic_ios_wchar
*this)
5098 TRACE("(%p)\n", this);
5100 ios_base_ctor(&this->base
);
5101 this->base
.vtable
= &MSVCP_basic_ios_wchar_vtable
;
5105 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ */
5106 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IEAA@XZ */
5107 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor
, 4)
5108 basic_ios_wchar
* __thiscall
basic_ios_short_ctor(basic_ios_wchar
*this)
5110 basic_ios_wchar_ctor(this);
5111 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5115 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5116 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5117 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5118 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5119 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init
, 12)
5120 void __thiscall
basic_ios_wchar_init(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
, MSVCP_bool isstd
)
5122 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
5123 ios_base__Init(&this->base
);
5124 this->strbuf
= streambuf
;
5125 this->stream
= NULL
;
5129 ios_base_setstate(&this->base
, IOSTATE_badbit
);
5132 FIXME("standard streams not handled yet\n");
5135 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5136 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5137 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor_streambuf
, 8)
5138 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5140 TRACE("(%p %p)\n", this, strbuf
);
5142 basic_ios_wchar_ctor(this);
5143 basic_ios_wchar_init(this, strbuf
, FALSE
);
5147 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5148 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5149 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor_streambuf
, 8)
5150 basic_ios_wchar
* __thiscall
basic_ios_short_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5152 basic_ios_wchar_ctor_streambuf(this, strbuf
);
5153 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5157 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
5158 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
5159 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ */
5160 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UEAA@XZ */
5161 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor
, 4)
5162 void __thiscall
basic_ios_wchar_dtor(basic_ios_wchar
*this)
5164 TRACE("(%p)\n", this);
5165 ios_base_dtor(&this->base
);
5168 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_vector_dtor
, 8)
5169 basic_ios_wchar
* __thiscall
basic_ios_wchar_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
5171 TRACE("(%p %x)\n", this, flags
);
5173 /* we have an array, with the number of elements stored before the first object */
5174 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
5176 for(i
=*ptr
-1; i
>=0; i
--)
5177 basic_ios_wchar_dtor(this+i
);
5178 MSVCRT_operator_delete(ptr
);
5180 basic_ios_wchar_dtor(this);
5182 MSVCRT_operator_delete(this);
5188 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5189 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5190 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5191 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5192 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise
, 12)
5193 void __thiscall
basic_ios_wchar_clear_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5195 TRACE("(%p %x %x)\n", this, state
, reraise
);
5196 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
5199 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5200 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5201 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5202 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5203 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear
, 8)
5204 void __thiscall
basic_ios_wchar_clear(basic_ios_wchar
*this, unsigned int state
)
5206 basic_ios_wchar_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
5209 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
5210 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5211 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z */
5212 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5213 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt
, 8)
5214 basic_ios_wchar
* __thiscall
basic_ios_wchar_copyfmt(basic_ios_wchar
*this, basic_ios_wchar
*copy
)
5216 TRACE("(%p %p)\n", this, copy
);
5220 this->stream
= copy
->stream
;
5221 this->fillch
= copy
->fillch
;
5222 ios_base_copyfmt(&this->base
, ©
->base
);
5226 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
5227 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
5228 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z */
5229 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
5230 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set
, 8)
5231 wchar_t __thiscall
basic_ios_wchar_fill_set(basic_ios_wchar
*this, wchar_t fill
)
5233 wchar_t ret
= this->fillch
;
5235 TRACE("(%p %c)\n", this, fill
);
5237 this->fillch
= fill
;
5241 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
5242 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
5243 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ */
5244 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGXZ */
5245 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get
, 4)
5246 wchar_t __thiscall
basic_ios_wchar_fill_get(basic_ios_wchar
*this)
5248 TRACE("(%p)\n", this);
5249 return this->fillch
;
5252 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5253 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5254 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5255 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5256 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue
, 12)
5257 locale
*__thiscall
basic_ios_wchar_imbue(basic_ios_wchar
*this, locale
*ret
, const locale
*loc
)
5259 TRACE("(%p %p %p)\n", this, ret
, loc
);
5262 basic_streambuf_wchar_pubimbue(this->strbuf
, ret
, loc
);
5266 return ios_base_imbue(&this->base
, ret
, loc
);
5269 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
5270 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
5271 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z */
5272 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBADGD@Z */
5273 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow
, 12)
5274 char __thiscall
basic_ios_wchar_narrow(basic_ios_wchar
*this, wchar_t ch
, char def
)
5276 TRACE("(%p %c %c)\n", this, ch
, def
);
5277 return ctype_wchar_narrow_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
, def
);
5280 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5281 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5282 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z */
5283 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5284 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set
, 8)
5285 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_set(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
)
5287 basic_streambuf_wchar
*ret
= this->strbuf
;
5289 TRACE("(%p %p)\n", this, streambuf
);
5291 this->strbuf
= streambuf
;
5292 basic_ios_wchar_clear(this, IOSTATE_goodbit
);
5296 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5297 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5298 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5299 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5300 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get
, 4)
5301 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_get(const basic_ios_wchar
*this)
5303 TRACE("(%p)\n", this);
5304 return this->strbuf
;
5307 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5308 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5309 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5310 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5311 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise
, 12)
5312 void __thiscall
basic_ios_wchar_setstate_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5314 TRACE("(%p %x %x)\n", this, state
, reraise
);
5316 if(state
!= IOSTATE_goodbit
)
5317 basic_ios_wchar_clear_reraise(this, this->base
.state
| state
, reraise
);
5320 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5321 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5322 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5323 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5324 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate
, 8)
5325 void __thiscall
basic_ios_wchar_setstate(basic_ios_wchar
*this, IOSB_iostate state
)
5327 basic_ios_wchar_setstate_reraise(this, state
, FALSE
);
5330 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5331 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5332 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z */
5333 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5334 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set
, 8)
5335 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_set(basic_ios_wchar
*this, basic_ostream_wchar
*ostream
)
5337 basic_ostream_wchar
*ret
= this->stream
;
5339 TRACE("(%p %p)\n", this, ostream
);
5341 this->stream
= ostream
;
5345 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5346 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5347 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5348 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5349 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get
, 4)
5350 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_get(const basic_ios_wchar
*this)
5352 TRACE("(%p)\n", this);
5353 return this->stream
;
5356 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
5357 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
5358 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z */
5359 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGD@Z */
5360 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen
, 8)
5361 wchar_t __thiscall
basic_ios_wchar_widen(basic_ios_wchar
*this, char ch
)
5363 TRACE("(%p %c)\n", this, ch
);
5364 return ctype_wchar_widen_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
);
5367 /* Caution: basic_ostream uses virtual inheritance.
5368 * All constructors have additional parameter that says if base class should be initialized.
5369 * Base class needs to be accessed using vbtable.
5371 static inline basic_ios_char
* basic_ostream_char_get_basic_ios(basic_ostream_char
*this)
5373 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
5376 static inline basic_ios_char
* basic_ostream_char_to_basic_ios(basic_ostream_char
*ptr
)
5378 return (basic_ios_char
*)((char*)ptr
+basic_ostream_char_vbtable
[1]);
5381 static inline basic_ostream_char
* basic_ostream_char_from_basic_ios(basic_ios_char
*ptr
)
5383 return (basic_ostream_char
*)((char*)ptr
-basic_ostream_char_vbtable
[1]);
5386 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5387 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5388 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor
, 16)
5389 basic_ostream_char
* __thiscall
basic_ostream_char_ctor(basic_ostream_char
*this,
5390 basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
5392 basic_ios_char
*base
;
5394 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
5397 this->vbtable
= basic_ostream_char_vbtable
;
5398 base
= basic_ostream_char_get_basic_ios(this);
5399 basic_ios_char_ctor(base
);
5401 base
= basic_ostream_char_get_basic_ios(this);
5404 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5405 basic_ios_char_init(base
, strbuf
, isstd
);
5409 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
5410 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
5411 static basic_ostream_char
* basic_ostream_char_ctor_uninitialized(basic_ostream_char
*this,
5412 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
5414 basic_ios_char
*base
;
5416 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
5419 this->vbtable
= basic_ostream_char_vbtable
;
5420 base
= basic_ostream_char_get_basic_ios(this);
5421 basic_ios_char_ctor(base
);
5423 base
= basic_ostream_char_get_basic_ios(this);
5426 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5428 ios_base_Addstd(&base
->base
);
5432 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
5433 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
5434 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor
, 4)
5435 void __thiscall
basic_ostream_char_dtor(basic_ios_char
*base
)
5437 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5439 /* don't destroy virtual base here */
5440 TRACE("(%p)\n", this);
5443 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5444 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5445 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vbase_dtor
, 4)
5446 void __thiscall
basic_ostream_char_vbase_dtor(basic_ostream_char
*this)
5448 TRACE("(%p)\n", this);
5449 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(this));
5450 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(this));
5453 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vector_dtor
, 8)
5454 basic_ostream_char
* __thiscall
basic_ostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
5456 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5458 TRACE("(%p %x)\n", this, flags
);
5461 /* we have an array, with the number of elements stored before the first object */
5462 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
5464 for(i
=*ptr
-1; i
>=0; i
--)
5465 basic_ostream_char_vbase_dtor(this+i
);
5466 MSVCRT_operator_delete(ptr
);
5468 basic_ostream_char_vbase_dtor(this);
5470 MSVCRT_operator_delete(this);
5476 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
5477 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
5478 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush
, 4)
5479 basic_ostream_char
* __thiscall
basic_ostream_char_flush(basic_ostream_char
*this)
5481 /* this function is not matching C++ specification */
5482 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5484 TRACE("(%p)\n", this);
5486 if(basic_ios_char_rdbuf_get(base
) && ios_base_good(&base
->base
)
5487 && basic_streambuf_char_pubsync(basic_ios_char_rdbuf_get(base
))==-1)
5488 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5492 /* ?flush@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
5493 /* ?flush@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
5494 basic_ostream_char
* __cdecl
flush_ostream_char(basic_ostream_char
*ostream
)
5496 return basic_ostream_char_flush(ostream
);
5499 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5500 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5501 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx
, 4)
5502 void __thiscall
basic_ostream_char__Osfx(basic_ostream_char
*this)
5504 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5506 TRACE("(%p)\n", this);
5508 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
5509 basic_ostream_char_flush(this);
5512 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5513 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5514 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx
, 4)
5515 void __thiscall
basic_ostream_char_osfx(basic_ostream_char
*this)
5517 TRACE("(%p)\n", this);
5518 basic_ostream_char__Osfx(this);
5521 static BOOL
basic_ostream_char_sentry_create(basic_ostream_char
*ostr
)
5523 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5525 if(basic_ios_char_rdbuf_get(base
))
5526 basic_streambuf_char__Lock(base
->strbuf
);
5528 if(ios_base_good(&base
->base
) && base
->stream
)
5529 basic_ostream_char_flush(base
->stream
);
5531 return ios_base_good(&base
->base
);
5534 static void basic_ostream_char_sentry_destroy(basic_ostream_char
*ostr
)
5536 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5538 if(ios_base_good(&base
->base
) && !__uncaught_exception())
5539 basic_ostream_char_osfx(ostr
);
5541 if(basic_ios_char_rdbuf_get(base
))
5542 basic_streambuf_char__Unlock(base
->strbuf
);
5545 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
5546 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
5547 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx
, 4)
5548 MSVCP_bool __thiscall
basic_ostream_char_opfx(basic_ostream_char
*this)
5550 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5552 TRACE("(%p)\n", this);
5554 if(ios_base_good(&base
->base
) && base
->stream
)
5555 basic_ostream_char_flush(base
->stream
);
5556 return ios_base_good(&base
->base
);
5559 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
5560 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
5561 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put
, 8)
5562 basic_ostream_char
* __thiscall
basic_ostream_char_put(basic_ostream_char
*this, char ch
)
5564 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5566 TRACE("(%p %c)\n", this, ch
);
5568 if(!basic_ostream_char_sentry_create(this)
5569 || basic_streambuf_char_sputc(base
->strbuf
, ch
)==EOF
) {
5570 basic_ostream_char_sentry_destroy(this);
5571 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5575 basic_ostream_char_sentry_destroy(this);
5579 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
5580 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
5581 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp
, 12)
5582 basic_ostream_char
* __thiscall
basic_ostream_char_seekp(basic_ostream_char
*this, streamoff off
, int way
)
5584 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5586 TRACE("(%p %ld %d)\n", this, off
, way
);
5588 if(!ios_base_fail(&base
->base
)) {
5591 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5592 &seek
, off
, way
, OPENMODE_out
);
5593 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5594 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5599 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
5600 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
5601 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos
, 28)
5602 basic_ostream_char
* __thiscall
basic_ostream_char_seekp_fpos(basic_ostream_char
*this, fpos_int pos
)
5604 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5606 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
5608 if(!ios_base_fail(&base
->base
)) {
5611 basic_streambuf_char_pubseekpos(basic_ios_char_rdbuf_get(base
),
5612 &seek
, pos
, OPENMODE_out
);
5613 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5614 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5619 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
5620 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
5621 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp
, 8)
5622 fpos_int
* __thiscall
basic_ostream_char_tellp(basic_ostream_char
*this, fpos_int
*ret
)
5624 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5626 TRACE("(%p)\n", this);
5628 if(!ios_base_fail(&base
->base
)) {
5629 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5630 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
5639 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
5640 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
5641 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write
, 12)
5642 basic_ostream_char
* __thiscall
basic_ostream_char_write(basic_ostream_char
*this, const char *str
, streamsize count
)
5644 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5646 TRACE("(%p %s %ld)\n", this, debugstr_a(str
), count
);
5648 if(!basic_ostream_char_sentry_create(this)
5649 || basic_streambuf_char_sputn(base
->strbuf
, str
, count
)!=count
) {
5650 basic_ostream_char_sentry_destroy(this);
5651 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5655 basic_ostream_char_sentry_destroy(this);
5659 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
5660 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
5661 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short
, 8)
5662 basic_ostream_char
* __thiscall
basic_ostream_char_print_short(basic_ostream_char
*this, short val
)
5664 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5665 int state
= IOSTATE_goodbit
;
5667 TRACE("(%p %d)\n", this, val
);
5669 if(basic_ostream_char_sentry_create(this)) {
5670 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5671 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5672 ostreambuf_iterator_char dest
= {0, strbuf
};
5674 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
),
5675 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
5676 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
5678 basic_ostream_char_sentry_destroy(this);
5680 basic_ios_char_setstate(base
, state
);
5684 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
5685 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
5686 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort
, 8)
5687 basic_ostream_char
* __thiscall
basic_ostream_char_print_ushort(basic_ostream_char
*this, unsigned short val
)
5689 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5690 int state
= IOSTATE_goodbit
;
5692 TRACE("(%p %u)\n", this, val
);
5694 if(basic_ostream_char_sentry_create(this)) {
5695 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5696 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5697 ostreambuf_iterator_char dest
= {0, strbuf
};
5699 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5701 basic_ostream_char_sentry_destroy(this);
5703 basic_ios_char_setstate(base
, state
);
5707 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
5708 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
5709 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
5710 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
5711 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int
, 8)
5712 basic_ostream_char
* __thiscall
basic_ostream_char_print_int(basic_ostream_char
*this, int val
)
5714 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5715 int state
= IOSTATE_goodbit
;
5717 TRACE("(%p %d)\n", this, val
);
5719 if(basic_ostream_char_sentry_create(this)) {
5720 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5721 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5722 ostreambuf_iterator_char dest
= {0, strbuf
};
5724 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5726 basic_ostream_char_sentry_destroy(this);
5728 basic_ios_char_setstate(base
, state
);
5732 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
5733 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
5734 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
5735 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
5736 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint
, 8)
5737 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint(basic_ostream_char
*this, unsigned int val
)
5739 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5740 int state
= IOSTATE_goodbit
;
5742 TRACE("(%p %u)\n", this, val
);
5744 if(basic_ostream_char_sentry_create(this)) {
5745 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5746 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5747 ostreambuf_iterator_char dest
= {0, strbuf
};
5749 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5751 basic_ostream_char_sentry_destroy(this);
5753 basic_ios_char_setstate(base
, state
);
5757 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
5758 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
5759 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float
, 8)
5760 basic_ostream_char
* __thiscall
basic_ostream_char_print_float(basic_ostream_char
*this, float val
)
5762 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5763 int state
= IOSTATE_goodbit
;
5765 TRACE("(%p %f)\n", this, val
);
5767 if(basic_ostream_char_sentry_create(this)) {
5768 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5769 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5770 ostreambuf_iterator_char dest
= {0, strbuf
};
5772 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5774 basic_ostream_char_sentry_destroy(this);
5776 basic_ios_char_setstate(base
, state
);
5780 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
5781 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
5782 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double
, 12)
5783 basic_ostream_char
* __thiscall
basic_ostream_char_print_double(basic_ostream_char
*this, double val
)
5785 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5786 int state
= IOSTATE_goodbit
;
5788 TRACE("(%p %lf)\n", this, val
);
5790 if(basic_ostream_char_sentry_create(this)) {
5791 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5792 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5793 ostreambuf_iterator_char dest
= {0, strbuf
};
5795 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5797 basic_ostream_char_sentry_destroy(this);
5799 basic_ios_char_setstate(base
, state
);
5803 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z */
5804 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@O@Z */
5805 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ldouble
, 12)
5806 basic_ostream_char
* __thiscall
basic_ostream_char_print_ldouble(basic_ostream_char
*this, double val
)
5808 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5809 int state
= IOSTATE_goodbit
;
5811 TRACE("(%p %lf)\n", this, val
);
5813 if(basic_ostream_char_sentry_create(this)) {
5814 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5815 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5816 ostreambuf_iterator_char dest
= {0, strbuf
};
5818 num_put_char_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5820 basic_ostream_char_sentry_destroy(this);
5822 basic_ios_char_setstate(base
, state
);
5826 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5827 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5828 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf
, 8)
5829 basic_ostream_char
* __thiscall
basic_ostream_char_print_streambuf(basic_ostream_char
*this, basic_streambuf_char
*val
)
5831 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5832 IOSB_iostate state
= IOSTATE_badbit
;
5835 TRACE("(%p %p)\n", this, val
);
5837 if(basic_ostream_char_sentry_create(this)) {
5838 for(c
= basic_streambuf_char_sgetc(val
); c
!=EOF
;
5839 c
= basic_streambuf_char_snextc(val
)) {
5840 state
= IOSTATE_goodbit
;
5842 if(basic_streambuf_char_sputc(base
->strbuf
, c
) == EOF
) {
5843 state
= IOSTATE_badbit
;
5848 state
= IOSTATE_badbit
;
5850 basic_ostream_char_sentry_destroy(this);
5852 ios_base_width_set(&base
->base
, 0);
5853 basic_ios_char_setstate(base
, state
);
5857 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
5858 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
5859 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr
, 8)
5860 basic_ostream_char
* __thiscall
basic_ostream_char_print_ptr(basic_ostream_char
*this, const void *val
)
5862 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5863 int state
= IOSTATE_goodbit
;
5865 TRACE("(%p %p)\n", this, val
);
5867 if(basic_ostream_char_sentry_create(this)) {
5868 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5869 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5870 ostreambuf_iterator_char dest
= {0, strbuf
};
5872 num_put_char_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5874 basic_ostream_char_sentry_destroy(this);
5876 basic_ios_char_setstate(base
, state
);
5880 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
5881 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
5882 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64
, 12)
5883 basic_ostream_char
* __thiscall
basic_ostream_char_print_int64(basic_ostream_char
*this, __int64 val
)
5885 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5886 int state
= IOSTATE_goodbit
;
5888 TRACE("(%p)\n", this);
5890 if(basic_ostream_char_sentry_create(this)) {
5891 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5892 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5893 ostreambuf_iterator_char dest
= {0, strbuf
};
5895 num_put_char_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5897 basic_ostream_char_sentry_destroy(this);
5899 basic_ios_char_setstate(base
, state
);
5903 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
5904 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
5905 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64
, 12)
5906 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint64(basic_ostream_char
*this, unsigned __int64 val
)
5908 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5909 int state
= IOSTATE_goodbit
;
5911 TRACE("(%p)\n", this);
5913 if(basic_ostream_char_sentry_create(this)) {
5914 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5915 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5916 ostreambuf_iterator_char dest
= {0, strbuf
};
5918 num_put_char_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5920 basic_ostream_char_sentry_destroy(this);
5922 basic_ios_char_setstate(base
, state
);
5926 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
5927 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
5928 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool
, 8)
5929 basic_ostream_char
* __thiscall
basic_ostream_char_print_bool(basic_ostream_char
*this, MSVCP_bool val
)
5931 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5932 int state
= IOSTATE_goodbit
;
5934 TRACE("(%p %x)\n", this, val
);
5936 if(basic_ostream_char_sentry_create(this)) {
5937 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5938 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5939 ostreambuf_iterator_char dest
= {0, strbuf
};
5941 num_put_char_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5943 basic_ostream_char_sentry_destroy(this);
5945 basic_ios_char_setstate(base
, state
);
5949 /* ?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
5950 /* ?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
5951 basic_ostream_char
* __cdecl
basic_ostream_char_endl(basic_ostream_char
*ostr
)
5953 TRACE("(%p)\n", ostr
);
5955 basic_ostream_char_put(ostr
, '\n');
5956 basic_ostream_char_flush(ostr
);
5960 /* $?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 */
5961 /* ??$?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 */
5962 basic_ostream_char
* __cdecl
basic_ostream_char_print_bstr(basic_ostream_char
*ostr
, const basic_string_char
*str
)
5964 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5965 IOSB_iostate state
= IOSTATE_goodbit
;
5967 TRACE("(%p %p)\n", ostr
, str
);
5969 if(basic_ostream_char_sentry_create(ostr
)) {
5970 MSVCP_size_t len
= MSVCP_basic_string_char_length(str
);
5971 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
5973 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
5974 for(; pad
!=0; pad
--) {
5975 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5976 state
= IOSTATE_badbit
;
5982 if(state
== IOSTATE_goodbit
) {
5983 if(basic_streambuf_char_sputn(base
->strbuf
, MSVCP_basic_string_char_c_str(str
), len
) != len
)
5984 state
= IOSTATE_badbit
;
5987 if(state
== IOSTATE_goodbit
) {
5988 for(; pad
!=0; pad
--) {
5989 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5990 state
= IOSTATE_badbit
;
5996 base
->base
.wide
= 0;
5998 state
= IOSTATE_badbit
;
6000 basic_ostream_char_sentry_destroy(ostr
);
6002 basic_ios_char_setstate(base
, state
);
6006 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z */
6007 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z */
6008 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z */
6009 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z */
6010 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z */
6011 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z */
6012 basic_ostream_char
* __cdecl
basic_ostream_char_print_ch(basic_ostream_char
*ostr
, char ch
)
6014 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6015 IOSB_iostate state
= IOSTATE_goodbit
;
6017 TRACE("(%p %d)\n", ostr
, ch
);
6019 if(basic_ostream_char_sentry_create(ostr
)) {
6020 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6022 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6023 for(; pad
!=0; pad
--) {
6024 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6025 state
= IOSTATE_badbit
;
6031 if(state
== IOSTATE_goodbit
) {
6032 if(basic_streambuf_char_sputc(base
->strbuf
, ch
) == EOF
)
6033 state
= IOSTATE_badbit
;
6036 if(state
== IOSTATE_goodbit
) {
6037 for(; pad
!=0; pad
--) {
6038 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6039 state
= IOSTATE_badbit
;
6045 base
->base
.wide
= 0;
6047 state
= IOSTATE_badbit
;
6049 basic_ostream_char_sentry_destroy(ostr
);
6051 basic_ios_char_setstate(base
, state
);
6055 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z */
6056 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z */
6057 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z */
6058 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z */
6059 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z */
6060 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z */
6061 basic_ostream_char
* __cdecl
basic_ostream_char_print_str(basic_ostream_char
*ostr
, const char *str
)
6063 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6064 IOSB_iostate state
= IOSTATE_goodbit
;
6066 TRACE("(%p %s)\n", ostr
, str
);
6068 if(basic_ostream_char_sentry_create(ostr
)) {
6069 MSVCP_size_t len
= strlen(str
);
6070 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6072 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6073 for(; pad
!=0; pad
--) {
6074 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6075 state
= IOSTATE_badbit
;
6081 if(state
== IOSTATE_goodbit
) {
6082 if(basic_streambuf_char_sputn(base
->strbuf
, str
, len
) != len
)
6083 state
= IOSTATE_badbit
;
6086 if(state
== IOSTATE_goodbit
) {
6087 for(; pad
!=0; pad
--) {
6088 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6089 state
= IOSTATE_badbit
;
6095 base
->base
.wide
= 0;
6097 state
= IOSTATE_badbit
;
6099 basic_ostream_char_sentry_destroy(ostr
);
6101 basic_ios_char_setstate(base
, state
);
6105 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
6106 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
6107 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func
, 8)
6108 basic_ostream_char
* __thiscall
basic_ostream_char_print_func(basic_ostream_char
*this,
6109 basic_ostream_char
* (__cdecl
*pfunc
)(basic_ostream_char
*))
6111 TRACE("(%p %p)\n", this, pfunc
);
6116 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
6117 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
6118 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_basic_ios
, 8)
6119 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_basic_ios(basic_ostream_char
*this,
6120 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
6122 TRACE("(%p %p)\n", this, pfunc
);
6123 pfunc(basic_ostream_char_get_basic_ios(this));
6127 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
6128 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
6129 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_ios_base
, 8)
6130 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_ios_base(
6131 basic_ostream_char
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
6133 TRACE("(%p %p)\n", this, pfunc
);
6134 pfunc(&basic_ostream_char_get_basic_ios(this)->base
);
6138 /* Caution: basic_ostream uses virtual inheritance. */
6139 static inline basic_ios_wchar
* basic_ostream_wchar_get_basic_ios(basic_ostream_wchar
*this)
6141 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
6144 static inline basic_ios_wchar
* basic_ostream_wchar_to_basic_ios(basic_ostream_wchar
*ptr
)
6146 return (basic_ios_wchar
*)((char*)ptr
+basic_ostream_wchar_vbtable
[1]);
6149 static inline basic_ostream_wchar
* basic_ostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
6151 return (basic_ostream_wchar
*)((char*)ptr
-basic_ostream_wchar_vbtable
[1]);
6154 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6155 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6156 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_ctor
, 16)
6157 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_ctor(basic_ostream_wchar
*this,
6158 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6160 basic_ios_wchar
*base
;
6162 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
6165 this->vbtable
= basic_ostream_wchar_vbtable
;
6166 base
= basic_ostream_wchar_get_basic_ios(this);
6167 basic_ios_wchar_ctor(base
);
6169 base
= basic_ostream_wchar_get_basic_ios(this);
6172 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6173 basic_ios_wchar_init(base
, strbuf
, isstd
);
6177 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6178 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6179 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor
, 16)
6180 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor(basic_ostream_wchar
*this,
6181 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6183 basic_ostream_wchar_ctor(this, strbuf
, isstd
, virt_init
);
6184 basic_ostream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_ostream_short_vtable
;
6188 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
6189 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
6190 static basic_ostream_wchar
* basic_ostream_wchar_ctor_uninitialized(basic_ostream_wchar
*this,
6191 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
6193 basic_ios_wchar
*base
;
6195 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
6198 this->vbtable
= basic_ostream_wchar_vbtable
;
6199 base
= basic_ostream_wchar_get_basic_ios(this);
6200 basic_ios_wchar_ctor(base
);
6202 base
= basic_ostream_wchar_get_basic_ios(this);
6205 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6207 ios_base_Addstd(&base
->base
);
6211 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
6212 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
6213 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
6214 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
6215 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_dtor
, 4)
6216 void __thiscall
basic_ostream_wchar_dtor(basic_ios_wchar
*base
)
6218 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6220 /* don't destroy virtual base here */
6221 TRACE("(%p)\n", this);
6224 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6225 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6226 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6227 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6228 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vbase_dtor
, 4)
6229 void __thiscall
basic_ostream_wchar_vbase_dtor(basic_ostream_wchar
*this)
6231 TRACE("(%p)\n", this);
6232 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(this));
6233 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(this));
6236 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vector_dtor
, 8)
6237 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
6239 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6241 TRACE("(%p %x)\n", this, flags
);
6244 /* we have an array, with the number of elements stored before the first object */
6245 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
6247 for(i
=*ptr
-1; i
>=0; i
--)
6248 basic_ostream_wchar_vbase_dtor(this+i
);
6249 MSVCRT_operator_delete(ptr
);
6251 basic_ostream_wchar_vbase_dtor(this);
6253 MSVCRT_operator_delete(this);
6259 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
6260 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
6261 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
6262 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
6263 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_flush
, 4)
6264 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_flush(basic_ostream_wchar
*this)
6266 /* this function is not matching C++ specification */
6267 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6269 TRACE("(%p)\n", this);
6271 if(basic_ios_wchar_rdbuf_get(base
) && ios_base_good(&base
->base
)
6272 && basic_streambuf_wchar_pubsync(basic_ios_wchar_rdbuf_get(base
))==-1)
6273 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6277 /* ?flush@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
6278 /* ?flush@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
6279 /* ?flush@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
6280 /* ?flush@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
6281 basic_ostream_wchar
* __cdecl
flush_ostream_wchar(basic_ostream_wchar
*ostream
)
6283 return basic_ostream_wchar_flush(ostream
);
6286 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6287 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6288 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6289 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6290 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar__Osfx
, 4)
6291 void __thiscall
basic_ostream_wchar__Osfx(basic_ostream_wchar
*this)
6293 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6295 TRACE("(%p)\n", this);
6297 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
6298 basic_ostream_wchar_flush(this);
6301 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6302 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6303 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6304 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6305 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_osfx
, 4)
6306 void __thiscall
basic_ostream_wchar_osfx(basic_ostream_wchar
*this)
6308 TRACE("(%p)\n", this);
6309 basic_ostream_wchar__Osfx(this);
6312 static BOOL
basic_ostream_wchar_sentry_create(basic_ostream_wchar
*ostr
)
6314 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6316 if(basic_ios_wchar_rdbuf_get(base
))
6317 basic_streambuf_wchar__Lock(base
->strbuf
);
6319 if(ios_base_good(&base
->base
) && base
->stream
)
6320 basic_ostream_wchar_flush(base
->stream
);
6322 return ios_base_good(&base
->base
);
6325 static void basic_ostream_wchar_sentry_destroy(basic_ostream_wchar
*ostr
)
6327 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6329 if(ios_base_good(&base
->base
) && !__uncaught_exception())
6330 basic_ostream_wchar_osfx(ostr
);
6332 if(basic_ios_wchar_rdbuf_get(base
))
6333 basic_streambuf_wchar__Unlock(base
->strbuf
);
6336 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE_NXZ */
6337 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA_NXZ */
6338 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ */
6339 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA_NXZ */
6340 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_opfx
, 4)
6341 MSVCP_bool __thiscall
basic_ostream_wchar_opfx(basic_ostream_wchar
*this)
6343 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6345 TRACE("(%p)\n", this);
6347 if(ios_base_good(&base
->base
) && base
->stream
)
6348 basic_ostream_wchar_flush(base
->stream
);
6349 return ios_base_good(&base
->base
);
6352 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
6353 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
6354 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
6355 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
6356 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_put
, 8)
6357 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_put(basic_ostream_wchar
*this, wchar_t ch
)
6359 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6361 TRACE("(%p %c)\n", this, ch
);
6363 if(!basic_ostream_wchar_sentry_create(this)
6364 || basic_streambuf_wchar_sputc(base
->strbuf
, ch
)==WEOF
) {
6365 basic_ostream_wchar_sentry_destroy(this);
6366 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6370 basic_ostream_wchar_sentry_destroy(this);
6374 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
6375 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
6376 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
6377 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
6378 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp
, 12)
6379 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp(basic_ostream_wchar
*this, streamoff off
, int way
)
6381 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6383 TRACE("(%p %ld %d)\n", this, off
, way
);
6385 if(!ios_base_fail(&base
->base
)) {
6388 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6389 &seek
, off
, way
, OPENMODE_out
);
6390 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6391 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6396 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6397 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6398 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6399 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6400 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp_fpos
, 28)
6401 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp_fpos(basic_ostream_wchar
*this, fpos_int pos
)
6403 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6405 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
6407 if(!ios_base_fail(&base
->base
)) {
6410 basic_streambuf_wchar_pubseekpos(basic_ios_wchar_rdbuf_get(base
),
6411 &seek
, pos
, OPENMODE_out
);
6412 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6413 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6418 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6419 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6420 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6421 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6422 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_tellp
, 8)
6423 fpos_int
* __thiscall
basic_ostream_wchar_tellp(basic_ostream_wchar
*this, fpos_int
*ret
)
6425 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6427 TRACE("(%p)\n", this);
6429 if(!ios_base_fail(&base
->base
)) {
6430 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6431 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
6440 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PB_WH@Z */
6441 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEB_W_J@Z */
6442 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z */
6443 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z */
6444 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_write
, 12)
6445 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_write(basic_ostream_wchar
*this, const wchar_t *str
, streamsize count
)
6447 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6449 TRACE("(%p %s %ld)\n", this, debugstr_w(str
), count
);
6451 if(!basic_ostream_wchar_sentry_create(this)
6452 || basic_streambuf_wchar_sputn(base
->strbuf
, str
, count
)!=count
) {
6453 basic_ostream_wchar_sentry_destroy(this);
6454 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6458 basic_ostream_wchar_sentry_destroy(this);
6462 static basic_ostream_wchar
* basic_ostream_print_short(basic_ostream_wchar
*this, short val
, const num_put
*numput
)
6464 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6465 int state
= IOSTATE_goodbit
;
6467 TRACE("(%p %d)\n", this, val
);
6469 if(basic_ostream_wchar_sentry_create(this)) {
6470 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6471 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6473 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
),
6474 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
6475 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
6477 basic_ostream_wchar_sentry_destroy(this);
6479 basic_ios_wchar_setstate(base
, state
);
6483 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@F@Z */
6484 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@F@Z */
6485 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_short
, 8)
6486 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_short(basic_ostream_wchar
*this, short val
)
6488 return basic_ostream_print_short(this, val
, num_put_wchar_use_facet(
6489 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6492 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z */
6493 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@F@Z */
6494 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_short
, 8)
6495 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_short(basic_ostream_wchar
*this, short val
)
6497 return basic_ostream_print_short(this, val
, num_put_short_use_facet(
6498 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6501 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@G@Z */
6502 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@G@Z */
6503 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ushort
, 8)
6504 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ushort(basic_ostream_wchar
*this, unsigned short val
)
6506 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6507 int state
= IOSTATE_goodbit
;
6509 TRACE("(%p %u)\n", this, val
);
6511 if(basic_ostream_wchar_sentry_create(this)) {
6512 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6513 const num_put
*numput
= num_put_wchar_use_facet(strbuf
->loc
);
6514 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6516 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6518 basic_ostream_wchar_sentry_destroy(this);
6520 basic_ios_wchar_setstate(base
, state
);
6524 static basic_ostream_wchar
* basic_ostream_print_int(basic_ostream_wchar
*this, int val
, const num_put
*numput
)
6526 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6527 int state
= IOSTATE_goodbit
;
6529 TRACE("(%p %d)\n", this, val
);
6531 if(basic_ostream_wchar_sentry_create(this)) {
6532 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6533 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6535 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6537 basic_ostream_wchar_sentry_destroy(this);
6539 basic_ios_wchar_setstate(base
, state
);
6543 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@H@Z */
6544 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@H@Z */
6545 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@J@Z */
6546 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@J@Z */
6547 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int
, 8)
6548 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int(basic_ostream_wchar
*this, int val
)
6550 return basic_ostream_print_int(this, val
, num_put_wchar_use_facet(
6551 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6554 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z */
6555 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@H@Z */
6556 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z */
6557 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@J@Z */
6558 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int
, 8)
6559 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int(basic_ostream_wchar
*this, int val
)
6561 return basic_ostream_print_int(this, val
, num_put_short_use_facet(
6562 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6565 static basic_ostream_wchar
* basic_ostream_print_uint(basic_ostream_wchar
*this, unsigned int val
, const num_put
*numput
)
6567 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6568 int state
= IOSTATE_goodbit
;
6570 TRACE("(%p %u)\n", this, val
);
6572 if(basic_ostream_wchar_sentry_create(this)) {
6573 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6574 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6576 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6578 basic_ostream_wchar_sentry_destroy(this);
6580 basic_ios_wchar_setstate(base
, state
);
6584 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@I@Z */
6585 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@I@Z */
6586 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@K@Z */
6587 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@K@Z */
6588 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint
, 8)
6589 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6591 return basic_ostream_print_uint(this, val
, num_put_wchar_use_facet(
6592 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6595 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z */
6596 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@I@Z */
6597 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z */
6598 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@K@Z */
6599 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint
, 8)
6600 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6602 return basic_ostream_print_uint(this, val
, num_put_short_use_facet(
6603 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6606 static basic_ostream_wchar
* basic_ostream_print_float(basic_ostream_wchar
*this, float val
, const num_put
*numput
)
6608 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6609 int state
= IOSTATE_goodbit
;
6611 TRACE("(%p %f)\n", this, val
);
6613 if(basic_ostream_wchar_sentry_create(this)) {
6614 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6615 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6617 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6619 basic_ostream_wchar_sentry_destroy(this);
6621 basic_ios_wchar_setstate(base
, state
);
6625 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@M@Z */
6626 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@M@Z */
6627 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_float
, 8)
6628 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_float(basic_ostream_wchar
*this, float val
)
6630 return basic_ostream_print_float(this, val
, num_put_wchar_use_facet(
6631 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6634 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z */
6635 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@M@Z */
6636 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_float
, 8)
6637 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_float(basic_ostream_wchar
*this, float val
)
6639 return basic_ostream_print_float(this, val
, num_put_short_use_facet(
6640 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6643 static basic_ostream_wchar
* basic_ostream_print_double(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6645 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6646 int state
= IOSTATE_goodbit
;
6648 TRACE("(%p %lf)\n", this, val
);
6650 if(basic_ostream_wchar_sentry_create(this)) {
6651 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6652 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6654 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6656 basic_ostream_wchar_sentry_destroy(this);
6658 basic_ios_wchar_setstate(base
, state
);
6662 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@N@Z */
6663 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@N@Z */
6664 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_double
, 12)
6665 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_double(basic_ostream_wchar
*this, double val
)
6667 return basic_ostream_print_double(this, val
, num_put_wchar_use_facet(
6668 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6671 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z */
6672 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@N@Z */
6673 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_double
, 12)
6674 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_double(basic_ostream_wchar
*this, double val
)
6676 return basic_ostream_print_double(this, val
, num_put_short_use_facet(
6677 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6680 static basic_ostream_wchar
* basic_ostream_print_ldouble(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6682 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6683 int state
= IOSTATE_goodbit
;
6685 TRACE("(%p %lf)\n", this, val
);
6687 if(basic_ostream_wchar_sentry_create(this)) {
6688 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6689 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6691 num_put_wchar_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6693 basic_ostream_wchar_sentry_destroy(this);
6695 basic_ios_wchar_setstate(base
, state
);
6699 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@O@Z */
6700 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@O@Z */
6701 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ldouble
, 12)
6702 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ldouble(basic_ostream_wchar
*this, double val
)
6704 return basic_ostream_print_ldouble(this, val
, num_put_wchar_use_facet(
6705 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6708 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z */
6709 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@O@Z */
6710 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ldouble
, 12)
6711 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ldouble(basic_ostream_wchar
*this, double val
)
6713 return basic_ostream_print_ldouble(this, val
, num_put_short_use_facet(
6714 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6717 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6718 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6719 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6720 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6721 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_streambuf
, 8)
6722 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_streambuf(basic_ostream_wchar
*this, basic_streambuf_wchar
*val
)
6724 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6725 IOSB_iostate state
= IOSTATE_badbit
;
6726 unsigned short c
= '\n';
6728 TRACE("(%p %p)\n", this, val
);
6730 if(basic_ostream_wchar_sentry_create(this)) {
6731 for(c
= basic_streambuf_wchar_sgetc(val
); c
!=WEOF
;
6732 c
= basic_streambuf_wchar_snextc(val
)) {
6733 state
= IOSTATE_goodbit
;
6735 if(basic_streambuf_wchar_sputc(base
->strbuf
, c
) == WEOF
) {
6736 state
= IOSTATE_badbit
;
6741 state
= IOSTATE_badbit
;
6743 basic_ostream_wchar_sentry_destroy(this);
6745 ios_base_width_set(&base
->base
, 0);
6746 basic_ios_wchar_setstate(base
, state
);
6750 static basic_ostream_wchar
* basic_ostream_print_ptr(basic_ostream_wchar
*this, const void *val
, const num_put
*numput
)
6752 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6753 int state
= IOSTATE_goodbit
;
6755 TRACE("(%p %p)\n", this, val
);
6757 if(basic_ostream_wchar_sentry_create(this)) {
6758 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6759 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6761 num_put_wchar_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6763 basic_ostream_wchar_sentry_destroy(this);
6765 basic_ios_wchar_setstate(base
, state
);
6769 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PBX@Z */
6770 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEBX@Z */
6771 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ptr
, 8)
6772 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ptr(basic_ostream_wchar
*this, const void *val
)
6774 return basic_ostream_print_ptr(this, val
, num_put_wchar_use_facet(
6775 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6778 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z */
6779 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEBX@Z */
6780 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ptr
, 8)
6781 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ptr(basic_ostream_wchar
*this, const void *val
)
6783 return basic_ostream_print_ptr(this, val
, num_put_short_use_facet(
6784 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6787 static basic_ostream_wchar
* basic_ostream_print_int64(basic_ostream_wchar
*this, __int64 val
, const num_put
*numput
)
6789 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6790 int state
= IOSTATE_goodbit
;
6792 TRACE("(%p)\n", this);
6794 if(basic_ostream_wchar_sentry_create(this)) {
6795 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6796 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6798 num_put_wchar_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6800 basic_ostream_wchar_sentry_destroy(this);
6802 basic_ios_wchar_setstate(base
, state
);
6806 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_J@Z */
6807 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_J@Z */
6808 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int64
, 12)
6809 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int64(basic_ostream_wchar
*this, __int64 val
)
6811 return basic_ostream_print_int64(this, val
, num_put_wchar_use_facet(
6812 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6815 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_J@Z */
6816 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_J@Z */
6817 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int64
, 12)
6818 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int64(basic_ostream_wchar
*this, __int64 val
)
6820 return basic_ostream_print_int64(this, val
, num_put_short_use_facet(
6821 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6824 static basic_ostream_wchar
* basic_ostream_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
, const num_put
*numput
)
6826 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6827 int state
= IOSTATE_goodbit
;
6829 TRACE("(%p)\n", this);
6831 if(basic_ostream_wchar_sentry_create(this)) {
6832 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6833 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6835 num_put_wchar_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6837 basic_ostream_wchar_sentry_destroy(this);
6839 basic_ios_wchar_setstate(base
, state
);
6843 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_K@Z */
6844 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_K@Z */
6845 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint64
, 12)
6846 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6848 return basic_ostream_print_uint64(this, val
, num_put_wchar_use_facet(
6849 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6852 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_K@Z */
6853 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_K@Z */
6854 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint64
, 12)
6855 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6857 return basic_ostream_print_uint64(this, val
, num_put_short_use_facet(
6858 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6861 static basic_ostream_wchar
* basic_ostream_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
, const num_put
*numput
)
6863 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6864 int state
= IOSTATE_goodbit
;
6866 TRACE("(%p %x)\n", this, val
);
6868 if(basic_ostream_wchar_sentry_create(this)) {
6869 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6870 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6872 num_put_wchar_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6874 basic_ostream_wchar_sentry_destroy(this);
6876 basic_ios_wchar_setstate(base
, state
);
6880 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_N@Z */
6881 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_N@Z */
6882 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_bool
, 8)
6883 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6885 return basic_ostream_print_bool(this, val
, num_put_wchar_use_facet(
6886 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6889 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z */
6890 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_N@Z */
6891 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_bool
, 8)
6892 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6894 return basic_ostream_print_bool(this, val
, num_put_short_use_facet(
6895 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6898 /* ?endl@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
6899 /* ?endl@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
6900 /* ?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
6901 /* ?endl@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
6902 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_endl(basic_ostream_wchar
*ostr
)
6904 TRACE("(%p)\n", ostr
);
6906 basic_ostream_wchar_put(ostr
, '\n');
6907 basic_ostream_wchar_flush(ostr
);
6911 /* ??$?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 */
6912 /* ??$?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 */
6913 /* ??$?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 */
6914 /* ??$?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 */
6915 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_bstr(basic_ostream_wchar
*ostr
, const basic_string_wchar
*str
)
6917 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6918 IOSB_iostate state
= IOSTATE_goodbit
;
6920 TRACE("(%p %p)\n", ostr
, str
);
6922 if(basic_ostream_wchar_sentry_create(ostr
)) {
6923 MSVCP_size_t len
= MSVCP_basic_string_wchar_length(str
);
6924 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6926 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6927 for(; pad
!=0; pad
--) {
6928 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6929 state
= IOSTATE_badbit
;
6935 if(state
== IOSTATE_goodbit
) {
6936 if(basic_streambuf_wchar_sputn(base
->strbuf
, MSVCP_basic_string_wchar_c_str(str
), len
) != len
)
6937 state
= IOSTATE_badbit
;
6940 if(state
== IOSTATE_goodbit
) {
6941 for(; pad
!=0; pad
--) {
6942 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6943 state
= IOSTATE_badbit
;
6949 base
->base
.wide
= 0;
6951 state
= IOSTATE_badbit
;
6953 basic_ostream_wchar_sentry_destroy(ostr
);
6955 basic_ios_wchar_setstate(base
, state
);
6959 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@_W@Z */
6960 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@_W@Z */
6961 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z */
6962 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z */
6963 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_ch(basic_ostream_wchar
*ostr
, wchar_t ch
)
6965 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6966 IOSB_iostate state
= IOSTATE_goodbit
;
6968 TRACE("(%p %d)\n", ostr
, ch
);
6970 if(basic_ostream_wchar_sentry_create(ostr
)) {
6971 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6973 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6974 for(; pad
!=0; pad
--) {
6975 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6976 state
= IOSTATE_badbit
;
6982 if(state
== IOSTATE_goodbit
) {
6983 if(basic_streambuf_wchar_sputc(base
->strbuf
, ch
) == WEOF
)
6984 state
= IOSTATE_badbit
;
6987 if(state
== IOSTATE_goodbit
) {
6988 for(; pad
!=0; pad
--) {
6989 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6990 state
= IOSTATE_badbit
;
6996 base
->base
.wide
= 0;
6998 state
= IOSTATE_badbit
;
7000 basic_ostream_wchar_sentry_destroy(ostr
);
7002 basic_ios_wchar_setstate(base
, state
);
7006 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@PB_W@Z */
7007 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@PEB_W@Z */
7008 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z */
7009 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z */
7010 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_str(basic_ostream_wchar
*ostr
, const wchar_t *str
)
7012 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
7013 IOSB_iostate state
= IOSTATE_goodbit
;
7015 TRACE("(%p %s)\n", ostr
, debugstr_w(str
));
7017 if(basic_ostream_wchar_sentry_create(ostr
)) {
7018 MSVCP_size_t len
= wcslen(str
);
7019 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
7021 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
7022 for(; pad
!=0; pad
--) {
7023 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7024 state
= IOSTATE_badbit
;
7030 if(state
== IOSTATE_goodbit
) {
7031 if(basic_streambuf_wchar_sputn(base
->strbuf
, str
, len
) != len
)
7032 state
= IOSTATE_badbit
;
7035 if(state
== IOSTATE_goodbit
) {
7036 for(; pad
!=0; pad
--) {
7037 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7038 state
= IOSTATE_badbit
;
7044 base
->base
.wide
= 0;
7046 state
= IOSTATE_badbit
;
7048 basic_ostream_wchar_sentry_destroy(ostr
);
7050 basic_ios_wchar_setstate(base
, state
);
7054 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7055 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7056 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7057 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7058 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func
, 8)
7059 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func(basic_ostream_wchar
*this,
7060 basic_ostream_wchar
* (__cdecl
*pfunc
)(basic_ostream_wchar
*))
7062 TRACE("(%p %p)\n", this, pfunc
);
7067 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
7068 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
7069 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
7070 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
7071 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_basic_ios
, 8)
7072 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_basic_ios(basic_ostream_wchar
*this,
7073 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
7075 TRACE("(%p %p)\n", this, pfunc
);
7076 pfunc(basic_ostream_wchar_get_basic_ios(this));
7080 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7081 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7082 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7083 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7084 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_ios_base
, 8)
7085 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_ios_base(
7086 basic_ostream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
7088 TRACE("(%p %p)\n", this, pfunc
);
7089 pfunc(&basic_ostream_wchar_get_basic_ios(this)->base
);
7093 /* Caution: basic_istream uses virtual inheritance. */
7094 static inline basic_ios_char
* basic_istream_char_get_basic_ios(basic_istream_char
*this)
7096 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
7099 static inline basic_ios_char
* basic_istream_char_to_basic_ios(basic_istream_char
*ptr
)
7101 return (basic_ios_char
*)((char*)ptr
+basic_istream_char_vbtable
[1]);
7104 static inline basic_istream_char
* basic_istream_char_from_basic_ios(basic_ios_char
*ptr
)
7106 return (basic_istream_char
*)((char*)ptr
-basic_istream_char_vbtable
[1]);
7109 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7110 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7111 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_init
, 20)
7112 basic_istream_char
* __thiscall
basic_istream_char_ctor_init(basic_istream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
7114 basic_ios_char
*base
;
7116 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
7119 this->vbtable
= basic_istream_char_vbtable
;
7120 base
= basic_istream_char_get_basic_ios(this);
7121 basic_ios_char_ctor(base
);
7123 base
= basic_istream_char_get_basic_ios(this);
7126 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7129 basic_ios_char_init(base
, strbuf
, isstd
);
7133 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7134 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7135 static basic_istream_char
* basic_istream_char_ctor(basic_istream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
7137 return basic_istream_char_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
7140 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
7141 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
7142 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_uninitialized
, 12)
7143 basic_istream_char
* __thiscall
basic_istream_char_ctor_uninitialized(basic_istream_char
*this, int uninitialized
, MSVCP_bool virt_init
)
7145 basic_ios_char
*base
;
7147 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
7150 this->vbtable
= basic_istream_char_vbtable
;
7151 base
= basic_istream_char_get_basic_ios(this);
7152 basic_ios_char_ctor(base
);
7154 base
= basic_istream_char_get_basic_ios(this);
7157 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7158 ios_base_Addstd(&base
->base
);
7162 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ */
7163 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
7164 DEFINE_THISCALL_WRAPPER(basic_istream_char_dtor
, 4)
7165 void __thiscall
basic_istream_char_dtor(basic_ios_char
*base
)
7167 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7169 /* don't destroy virtual base here */
7170 TRACE("(%p)\n", this);
7173 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7174 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7175 DEFINE_THISCALL_WRAPPER(basic_istream_char_vbase_dtor
, 4)
7176 void __thiscall
basic_istream_char_vbase_dtor(basic_istream_char
*this)
7178 TRACE("(%p)\n", this);
7179 basic_istream_char_dtor(basic_istream_char_to_basic_ios(this));
7180 basic_ios_char_dtor(basic_istream_char_get_basic_ios(this));
7183 DEFINE_THISCALL_WRAPPER(basic_istream_char_vector_dtor
, 8)
7184 basic_istream_char
* __thiscall
basic_istream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
7186 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7188 TRACE("(%p %x)\n", this, flags
);
7191 /* we have an array, with the number of elements stored before the first object */
7192 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
7194 for(i
=*ptr
-1; i
>=0; i
--)
7195 basic_istream_char_vbase_dtor(this+i
);
7196 MSVCRT_operator_delete(ptr
);
7198 basic_istream_char_vbase_dtor(this);
7200 MSVCRT_operator_delete(this);
7206 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7207 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7208 DEFINE_THISCALL_WRAPPER(basic_istream_char__Ipfx
, 8)
7209 MSVCP_bool __thiscall
basic_istream_char__Ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7211 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7213 TRACE("(%p %d)\n", this, noskip
);
7215 if(ios_base_good(&base
->base
)) {
7216 if(basic_ios_char_tie_get(base
))
7217 basic_ostream_char_flush(basic_ios_char_tie_get(base
));
7219 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
7220 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7221 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
7224 for(ch
= basic_streambuf_char_sgetc(strbuf
); ;
7225 ch
= basic_streambuf_char_snextc(strbuf
)) {
7227 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7231 if(!ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
7237 if(!ios_base_good(&base
->base
)) {
7238 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7245 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7246 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7247 DEFINE_THISCALL_WRAPPER(basic_istream_char_ipfx
, 8)
7248 MSVCP_bool __thiscall
basic_istream_char_ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7250 return basic_istream_char__Ipfx(this, noskip
);
7253 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7254 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7255 DEFINE_THISCALL_WRAPPER(basic_istream_char_isfx
, 4)
7256 void __thiscall
basic_istream_char_isfx(basic_istream_char
*this)
7258 TRACE("(%p)\n", this);
7261 static BOOL
basic_istream_char_sentry_create(basic_istream_char
*istr
, MSVCP_bool noskip
)
7263 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7265 if(basic_ios_char_rdbuf_get(base
))
7266 basic_streambuf_char__Lock(base
->strbuf
);
7268 return basic_istream_char_ipfx(istr
, noskip
);
7271 static void basic_istream_char_sentry_destroy(basic_istream_char
*istr
)
7273 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7275 if(basic_ios_char_rdbuf_get(base
))
7276 basic_streambuf_char__Unlock(base
->strbuf
);
7279 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ */
7280 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QEBA_JXZ */
7281 DEFINE_THISCALL_WRAPPER(basic_istream_char_gcount
, 4)
7282 int __thiscall
basic_istream_char_gcount(const basic_istream_char
*this)
7284 TRACE("(%p)\n", this);
7288 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7289 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7290 DEFINE_THISCALL_WRAPPER(basic_istream_char_get
, 4)
7291 int __thiscall
basic_istream_char_get(basic_istream_char
*this)
7293 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7296 TRACE("(%p)\n", this);
7300 if(!basic_istream_char_sentry_create(this, TRUE
)) {
7301 basic_istream_char_sentry_destroy(this);
7305 ret
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(base
));
7306 basic_istream_char_sentry_destroy(this);
7308 basic_ios_char_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
7315 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z */
7316 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAD@Z */
7317 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_ch
, 8)
7318 basic_istream_char
* __thiscall
basic_istream_char_get_ch(basic_istream_char
*this, char *ch
)
7322 TRACE("(%p %p)\n", this, ch
);
7324 ret
= basic_istream_char_get(this);
7330 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7331 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7332 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str_delim
, 16)
7333 basic_istream_char
* __thiscall
basic_istream_char_get_str_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7335 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7338 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
7342 if(basic_istream_char_sentry_create(this, TRUE
)) {
7343 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7345 for(ch
= basic_streambuf_char_sgetc(strbuf
); count
>1;
7346 ch
= basic_streambuf_char_snextc(strbuf
)) {
7347 if(ch
==EOF
|| ch
==delim
)
7355 basic_istream_char_sentry_destroy(this);
7357 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7358 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7364 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7365 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7366 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str
, 12)
7367 basic_istream_char
* __thiscall
basic_istream_char_get_str(basic_istream_char
*this, char *str
, streamsize count
)
7369 return basic_istream_char_get_str_delim(this, str
, count
, '\n');
7372 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7373 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7374 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf_delim
, 12)
7375 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf_delim(basic_istream_char
*this, basic_streambuf_char
*strbuf
, char delim
)
7377 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7380 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
7384 if(basic_istream_char_sentry_create(this, TRUE
)) {
7385 basic_streambuf_char
*strbuf_read
= basic_ios_char_rdbuf_get(base
);
7387 for(ch
= basic_streambuf_char_sgetc(strbuf_read
); ;
7388 ch
= basic_streambuf_char_snextc(strbuf_read
)) {
7389 if(ch
==EOF
|| ch
==delim
)
7392 if(basic_streambuf_char_sputc(strbuf
, ch
) == EOF
)
7397 basic_istream_char_sentry_destroy(this);
7399 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7400 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7404 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7405 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7406 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf
, 8)
7407 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf(basic_istream_char
*this, basic_streambuf_char
*strbuf
)
7409 return basic_istream_char_get_streambuf_delim(this, strbuf
, '\n');
7412 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7413 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7414 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline_delim
, 16)
7415 basic_istream_char
* __thiscall
basic_istream_char_getline_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7417 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7418 int ch
= (unsigned char)delim
;
7420 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
7424 if(basic_istream_char_sentry_create(this, TRUE
) && count
>0) {
7425 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7428 ch
= basic_streambuf_char_sbumpc(strbuf
);
7430 if(ch
==EOF
|| ch
==(unsigned char)delim
)
7438 if(ch
== (unsigned char)delim
)
7440 else if(ch
!= EOF
) {
7441 ch
= basic_streambuf_char_sgetc(strbuf
);
7443 if(ch
== (unsigned char)delim
) {
7444 basic_streambuf_char__Gninc(strbuf
);
7449 basic_istream_char_sentry_destroy(this);
7451 basic_ios_char_setstate(base
, (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
7452 (!this->count
|| (ch
!=(unsigned char)delim
&& ch
!=EOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
7458 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7459 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7460 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline
, 12)
7461 basic_istream_char
* __thiscall
basic_istream_char_getline(basic_istream_char
*this, char *str
, streamsize count
)
7463 return basic_istream_char_getline_delim(this, str
, count
, '\n');
7466 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z */
7467 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7468 DEFINE_THISCALL_WRAPPER(basic_istream_char_ignore
, 12)
7469 basic_istream_char
* __thiscall
basic_istream_char_ignore(basic_istream_char
*this, streamsize count
, int delim
)
7471 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7472 int ch
= (unsigned char)delim
;
7475 TRACE("(%p %ld %d)\n", this, count
, delim
);
7479 if(basic_istream_char_sentry_create(this, TRUE
)) {
7480 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7481 state
= IOSTATE_goodbit
;
7484 ch
= basic_streambuf_char_sbumpc(strbuf
);
7487 state
= IOSTATE_eofbit
;
7491 if(ch
==(unsigned char)delim
)
7495 if(count
!= INT_MAX
)
7499 state
= IOSTATE_failbit
;
7500 basic_istream_char_sentry_destroy(this);
7502 basic_ios_char_setstate(base
, state
);
7506 /* ?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z */
7507 /* ?ws@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
7508 basic_istream_char
* __cdecl
ws_basic_istream_char(basic_istream_char
*istream
)
7510 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
7513 TRACE("(%p)\n", istream
);
7515 if(basic_istream_char_sentry_create(istream
, TRUE
)) {
7516 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7517 const ctype_char
*ctype
= ctype_char_use_facet(strbuf
->loc
);
7519 for(ch
= basic_streambuf_char_sgetc(strbuf
); ctype_char_is_ch(ctype
, _SPACE
, ch
);
7520 ch
= basic_streambuf_char_snextc(strbuf
)) {
7525 basic_istream_char_sentry_destroy(istream
);
7528 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7532 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7533 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7534 DEFINE_THISCALL_WRAPPER(basic_istream_char_peek
, 4)
7535 int __thiscall
basic_istream_char_peek(basic_istream_char
*this)
7537 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7540 TRACE("(%p)\n", this);
7544 if(basic_istream_char_sentry_create(this, TRUE
))
7545 ret
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
7546 basic_istream_char_sentry_destroy(this);
7549 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7554 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADIH@Z */
7555 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_K_J@Z */
7556 static basic_istream_char
* basic_istream_char__Read_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7558 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7559 IOSB_iostate state
= IOSTATE_goodbit
;
7561 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
7563 if(basic_istream_char_sentry_create(this, TRUE
)) {
7564 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7566 this->count
= basic_streambuf_char__Sgetn_s(strbuf
, str
, size
, count
);
7567 if(this->count
!= count
)
7568 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
7572 basic_istream_char_sentry_destroy(this);
7574 basic_ios_char_setstate(base
, state
);
7578 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7579 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7580 DEFINE_THISCALL_WRAPPER(basic_istream_char_read
, 12)
7581 basic_istream_char
* __thiscall
basic_istream_char_read(basic_istream_char
*this, char *str
, streamsize count
)
7583 return basic_istream_char__Read_s(this, str
, count
, count
);
7586 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
7587 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
7588 static streamsize
basic_istream_char__Readsome_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7590 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7591 IOSB_iostate state
= IOSTATE_goodbit
;
7593 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
7597 if(basic_istream_char_sentry_create(this, TRUE
)) {
7598 streamsize avail
= basic_streambuf_char_in_avail(basic_ios_char_rdbuf_get(base
));
7603 state
|= IOSTATE_eofbit
;
7605 basic_istream_char__Read_s(this, str
, size
, avail
);
7607 state
|= IOSTATE_failbit
;
7609 basic_istream_char_sentry_destroy(this);
7611 basic_ios_char_setstate(base
, state
);
7615 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
7616 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
7617 DEFINE_THISCALL_WRAPPER(basic_istream_char_readsome
, 12)
7618 streamsize __thiscall
basic_istream_char_readsome(basic_istream_char
*this, char *str
, streamsize count
)
7620 return basic_istream_char__Readsome_s(this, str
, count
, count
);
7623 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
7624 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
7625 DEFINE_THISCALL_WRAPPER(basic_istream_char_putback
, 8)
7626 basic_istream_char
* __thiscall
basic_istream_char_putback(basic_istream_char
*this, char ch
)
7628 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7629 IOSB_iostate state
= IOSTATE_goodbit
;
7631 TRACE("(%p %c)\n", this, ch
);
7635 if(basic_istream_char_sentry_create(this, TRUE
)) {
7636 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7638 if(!ios_base_good(&base
->base
))
7639 state
|= IOSTATE_failbit
;
7640 else if(!strbuf
|| basic_streambuf_char_sputbackc(strbuf
, ch
)==EOF
)
7641 state
|= IOSTATE_badbit
;
7643 basic_istream_char_sentry_destroy(this);
7645 basic_ios_char_setstate(base
, state
);
7649 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
7650 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
7651 DEFINE_THISCALL_WRAPPER(basic_istream_char_unget
, 4)
7652 basic_istream_char
* __thiscall
basic_istream_char_unget(basic_istream_char
*this)
7654 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7655 IOSB_iostate state
= IOSTATE_goodbit
;
7657 TRACE("(%p)\n", this);
7661 if(basic_istream_char_sentry_create(this, TRUE
)) {
7662 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7664 if(!ios_base_good(&base
->base
))
7665 state
|= IOSTATE_failbit
;
7666 else if(!strbuf
|| basic_streambuf_char_sungetc(strbuf
)==EOF
)
7667 state
|= IOSTATE_badbit
;
7669 basic_istream_char_sentry_destroy(this);
7671 basic_ios_char_setstate(base
, state
);
7675 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7676 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7677 DEFINE_THISCALL_WRAPPER(basic_istream_char_sync
, 4)
7678 int __thiscall
basic_istream_char_sync(basic_istream_char
*this)
7680 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7681 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7683 TRACE("(%p)\n", this);
7688 if(basic_istream_char_sentry_create(this, TRUE
)) {
7689 if(basic_streambuf_char_pubsync(strbuf
) != -1) {
7690 basic_istream_char_sentry_destroy(this);
7694 basic_istream_char_sentry_destroy(this);
7696 basic_ios_char_setstate(base
, IOSTATE_badbit
);
7700 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
7701 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
7702 DEFINE_THISCALL_WRAPPER(basic_istream_char_tellg
, 8)
7703 fpos_int
* __thiscall
basic_istream_char_tellg(basic_istream_char
*this, fpos_int
*ret
)
7705 TRACE("(%p %p)\n", this, ret
);
7707 if(basic_istream_char_sentry_create(this, TRUE
)) {
7708 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7709 if(!ios_base_fail(&base
->base
)) {
7710 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
7711 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
7712 basic_istream_char_sentry_destroy(this);
7714 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
7715 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7719 basic_istream_char_sentry_destroy(this);
7727 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
7728 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7729 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg
, 12)
7730 basic_istream_char
* __thiscall
basic_istream_char_seekg(basic_istream_char
*this, streamoff off
, int dir
)
7732 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7734 TRACE("(%p %ld %d)\n", this, off
, dir
);
7736 if(!ios_base_fail(&base
->base
)) {
7737 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7740 basic_streambuf_char_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
7742 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7743 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7745 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7748 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7753 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
7754 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
7755 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg_fpos
, 28)
7756 basic_istream_char
* __thiscall
basic_istream_char_seekg_fpos(basic_istream_char
*this, fpos_int pos
)
7758 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7760 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
7762 if(!ios_base_fail(&base
->base
)) {
7763 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7766 basic_streambuf_char_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
7767 basic_istream_char_sentry_destroy(this);
7769 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7770 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7772 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7775 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7780 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z */
7781 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAF@Z */
7782 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_short
, 8)
7783 basic_istream_char
* __thiscall
basic_istream_char_read_short(basic_istream_char
*this, short *v
)
7785 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7786 int state
= IOSTATE_goodbit
;
7788 TRACE("(%p %p)\n", this, v
);
7790 if(basic_istream_char_sentry_create(this, FALSE
)) {
7791 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7792 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7793 istreambuf_iterator_char first
={0}, last
={0};
7796 first
.strbuf
= strbuf
;
7797 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
7799 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
7802 state
|= IOSTATE_failbit
;
7804 basic_istream_char_sentry_destroy(this);
7806 basic_ios_char_setstate(base
, state
);
7810 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z */
7811 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAG@Z */
7812 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ushort
, 8)
7813 basic_istream_char
* __thiscall
basic_istream_char_read_ushort(basic_istream_char
*this, unsigned short *v
)
7815 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7816 int state
= IOSTATE_goodbit
;
7818 TRACE("(%p %p)\n", this, v
);
7820 if(basic_istream_char_sentry_create(this, FALSE
)) {
7821 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7822 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7823 istreambuf_iterator_char first
={0}, last
={0};
7825 first
.strbuf
= strbuf
;
7826 num_get_char_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7828 basic_istream_char_sentry_destroy(this);
7830 basic_ios_char_setstate(base
, state
);
7834 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z */
7835 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z */
7836 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int
, 8)
7837 basic_istream_char
* __thiscall
basic_istream_char_read_int(basic_istream_char
*this, int *v
)
7839 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7840 int state
= IOSTATE_goodbit
;
7842 TRACE("(%p %p)\n", this, v
);
7844 if(basic_istream_char_sentry_create(this, FALSE
)) {
7845 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7846 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7847 istreambuf_iterator_char first
={0}, last
={0};
7849 first
.strbuf
= strbuf
;
7850 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7852 basic_istream_char_sentry_destroy(this);
7854 basic_ios_char_setstate(base
, state
);
7858 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z */
7859 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAI@Z */
7860 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint
, 8)
7861 basic_istream_char
* __thiscall
basic_istream_char_read_uint(basic_istream_char
*this, unsigned int *v
)
7863 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7864 int state
= IOSTATE_goodbit
;
7866 TRACE("(%p %p)\n", this, v
);
7868 if(basic_istream_char_sentry_create(this, FALSE
)) {
7869 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7870 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7871 istreambuf_iterator_char first
={0}, last
={0};
7873 first
.strbuf
= strbuf
;
7874 num_get_char_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7876 basic_istream_char_sentry_destroy(this);
7878 basic_ios_char_setstate(base
, state
);
7882 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z */
7883 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAJ@Z */
7884 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_long
, 8)
7885 basic_istream_char
* __thiscall
basic_istream_char_read_long(basic_istream_char
*this, LONG
*v
)
7887 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7888 int state
= IOSTATE_goodbit
;
7890 TRACE("(%p %p)\n", this, v
);
7892 if(basic_istream_char_sentry_create(this, FALSE
)) {
7893 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7894 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7895 istreambuf_iterator_char first
={0}, last
={0};
7897 first
.strbuf
= strbuf
;
7898 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7900 basic_istream_char_sentry_destroy(this);
7902 basic_ios_char_setstate(base
, state
);
7906 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z */
7907 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAK@Z */
7908 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ulong
, 8)
7909 basic_istream_char
* __thiscall
basic_istream_char_read_ulong(basic_istream_char
*this, ULONG
*v
)
7911 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7912 int state
= IOSTATE_goodbit
;
7914 TRACE("(%p %p)\n", this, v
);
7916 if(basic_istream_char_sentry_create(this, FALSE
)) {
7917 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7918 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7919 istreambuf_iterator_char first
={0}, last
={0};
7921 first
.strbuf
= strbuf
;
7922 num_get_char_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7924 basic_istream_char_sentry_destroy(this);
7926 basic_ios_char_setstate(base
, state
);
7930 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z */
7931 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAM@Z */
7932 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_float
, 8)
7933 basic_istream_char
* __thiscall
basic_istream_char_read_float(basic_istream_char
*this, float *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(strbuf
->loc
);
7943 istreambuf_iterator_char first
={0}, last
={0};
7945 first
.strbuf
= strbuf
;
7946 num_get_char_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7948 basic_istream_char_sentry_destroy(this);
7950 basic_ios_char_setstate(base
, state
);
7954 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z */
7955 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAN@Z */
7956 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_double
, 8)
7957 basic_istream_char
* __thiscall
basic_istream_char_read_double(basic_istream_char
*this, double *v
)
7959 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7960 int state
= IOSTATE_goodbit
;
7962 TRACE("(%p %p)\n", this, v
);
7964 if(basic_istream_char_sentry_create(this, FALSE
)) {
7965 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7966 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7967 istreambuf_iterator_char first
={0}, last
={0};
7969 first
.strbuf
= strbuf
;
7970 num_get_char_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7972 basic_istream_char_sentry_destroy(this);
7974 basic_ios_char_setstate(base
, state
);
7978 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z */
7979 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAO@Z */
7980 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ldouble
, 8)
7981 basic_istream_char
* __thiscall
basic_istream_char_read_ldouble(basic_istream_char
*this, double *v
)
7983 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7984 int state
= IOSTATE_goodbit
;
7986 TRACE("(%p %p)\n", this, v
);
7988 if(basic_istream_char_sentry_create(this, FALSE
)) {
7989 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7990 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7991 istreambuf_iterator_char first
={0}, last
={0};
7993 first
.strbuf
= strbuf
;
7994 num_get_char_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7996 basic_istream_char_sentry_destroy(this);
7998 basic_ios_char_setstate(base
, state
);
8002 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z */
8003 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
8004 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ptr
, 8)
8005 basic_istream_char
* __thiscall
basic_istream_char_read_ptr(basic_istream_char
*this, void **v
)
8007 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8008 int state
= IOSTATE_goodbit
;
8010 TRACE("(%p %p)\n", this, v
);
8012 if(basic_istream_char_sentry_create(this, FALSE
)) {
8013 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8014 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8015 istreambuf_iterator_char first
={0}, last
={0};
8017 first
.strbuf
= strbuf
;
8018 num_get_char_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8020 basic_istream_char_sentry_destroy(this);
8022 basic_ios_char_setstate(base
, state
);
8026 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_J@Z */
8027 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_J@Z */
8028 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int64
, 8)
8029 basic_istream_char
* __thiscall
basic_istream_char_read_int64(basic_istream_char
*this, __int64
*v
)
8031 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8032 int state
= IOSTATE_goodbit
;
8034 TRACE("(%p %p)\n", this, v
);
8036 if(basic_istream_char_sentry_create(this, FALSE
)) {
8037 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8038 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8039 istreambuf_iterator_char first
={0}, last
={0};
8041 first
.strbuf
= strbuf
;
8042 num_get_char_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8044 basic_istream_char_sentry_destroy(this);
8046 basic_ios_char_setstate(base
, state
);
8050 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_K@Z */
8051 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_K@Z */
8052 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint64
, 8)
8053 basic_istream_char
* __thiscall
basic_istream_char_read_uint64(basic_istream_char
*this, unsigned __int64
*v
)
8055 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8056 int state
= IOSTATE_goodbit
;
8058 TRACE("(%p %p)\n", this, v
);
8060 if(basic_istream_char_sentry_create(this, FALSE
)) {
8061 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8062 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8063 istreambuf_iterator_char first
={0}, last
={0};
8065 first
.strbuf
= strbuf
;
8066 num_get_char_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8068 basic_istream_char_sentry_destroy(this);
8070 basic_ios_char_setstate(base
, state
);
8074 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z */
8075 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_N@Z */
8076 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_bool
, 8)
8077 basic_istream_char
* __thiscall
basic_istream_char_read_bool(basic_istream_char
*this, MSVCP_bool
*v
)
8079 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8080 int state
= IOSTATE_goodbit
;
8082 TRACE("(%p %p)\n", this, v
);
8084 if(basic_istream_char_sentry_create(this, FALSE
)) {
8085 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8086 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8087 istreambuf_iterator_char first
={0}, last
={0};
8089 first
.strbuf
= strbuf
;
8090 num_get_char_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8092 basic_istream_char_sentry_destroy(this);
8094 basic_ios_char_setstate(base
, state
);
8098 /* ??$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 */
8099 /* ??$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 */
8100 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr_delim(
8101 basic_istream_char
*istream
, basic_string_char
*str
, char delim
)
8103 IOSB_iostate state
= IOSTATE_failbit
;
8104 int c
= (unsigned char)delim
;
8106 TRACE("(%p %p %c)\n", istream
, str
, delim
);
8108 if(basic_istream_char_sentry_create(istream
, TRUE
)) {
8109 MSVCP_basic_string_char_clear(str
);
8111 c
= basic_istream_char_get(istream
);
8113 state
= IOSTATE_goodbit
;
8115 for(; c
!=(unsigned char)delim
&& c
!=EOF
; c
= basic_istream_char_get(istream
)) {
8116 state
= IOSTATE_goodbit
;
8117 MSVCP_basic_string_char_append_ch(str
, c
);
8120 basic_istream_char_sentry_destroy(istream
);
8122 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8123 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8127 /* ??$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 */
8128 /* ??$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 */
8129 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr(
8130 basic_istream_char
*istream
, basic_string_char
*str
)
8132 return basic_istream_char_getline_bstr_delim(istream
, str
, '\n');
8135 /* ??$?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 */
8136 /* ??$?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 */
8137 basic_istream_char
* __cdecl
basic_istream_char_read_bstr(
8138 basic_istream_char
*istream
, basic_string_char
*str
)
8140 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8141 IOSB_iostate state
= IOSTATE_failbit
;
8144 TRACE("(%p %p)\n", istream
, str
);
8146 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8147 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8148 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
8153 MSVCP_basic_string_char_clear(str
);
8155 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8156 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8157 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8158 state
= IOSTATE_goodbit
;
8159 MSVCP_basic_string_char_append_ch(str
, c
);
8162 basic_istream_char_sentry_destroy(istream
);
8164 ios_base_width_set(&base
->base
, 0);
8165 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8169 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z */
8170 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z */
8171 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z */
8172 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z */
8173 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z */
8174 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z */
8175 basic_istream_char
* __cdecl
basic_istream_char_read_str(basic_istream_char
*istream
, char *str
)
8177 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8178 IOSB_iostate state
= IOSTATE_failbit
;
8181 TRACE("(%p %p)\n", istream
, str
);
8183 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8184 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8185 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
8187 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8188 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8189 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8190 state
= IOSTATE_goodbit
;
8194 basic_istream_char_sentry_destroy(istream
);
8197 ios_base_width_set(&base
->base
, 0);
8198 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8202 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z */
8203 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z */
8204 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z */
8205 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z */
8206 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z */
8207 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z */
8208 basic_istream_char
* __cdecl
basic_istream_char_read_ch(basic_istream_char
*istream
, char *ch
)
8210 IOSB_iostate state
= IOSTATE_failbit
;
8213 TRACE("(%p %p)\n", istream
, ch
);
8215 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8216 c
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(
8217 basic_istream_char_get_basic_ios(istream
)));
8219 state
= IOSTATE_goodbit
;
8223 basic_istream_char_sentry_destroy(istream
);
8225 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8226 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8230 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8231 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8232 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_streambuf
, 8)
8233 basic_istream_char
* __thiscall
basic_istream_char_read_streambuf(
8234 basic_istream_char
*this, basic_streambuf_char
*streambuf
)
8236 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8237 IOSB_iostate state
= IOSTATE_failbit
;
8240 TRACE("(%p %p)\n", this, streambuf
);
8242 if(basic_istream_char_sentry_create(this, FALSE
)) {
8243 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
)); c
!=EOF
;
8244 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
))) {
8245 state
= IOSTATE_goodbit
;
8246 if(basic_streambuf_char_sputc(streambuf
, c
) == EOF
)
8250 basic_istream_char_sentry_destroy(this);
8252 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8256 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
8257 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
8258 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func
, 8)
8259 basic_istream_char
* __thiscall
basic_istream_char_read_func(basic_istream_char
*this,
8260 basic_istream_char
* (__cdecl
*pfunc
)(basic_istream_char
*))
8262 TRACE("(%p %p)\n", this, pfunc
);
8267 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
8268 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
8269 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_basic_ios
, 8)
8270 basic_istream_char
* __thiscall
basic_istream_char_read_func_basic_ios(basic_istream_char
*this,
8271 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
8273 TRACE("(%p %p)\n", this, pfunc
);
8274 pfunc(basic_istream_char_get_basic_ios(this));
8278 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
8279 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
8280 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_ios_base
, 8)
8281 basic_istream_char
* __thiscall
basic_istream_char_read_func_ios_base(basic_istream_char
*this,
8282 ios_base
* (__cdecl
*pfunc
)(ios_base
*))
8284 TRACE("(%p %p)\n", this, pfunc
);
8285 pfunc(&basic_istream_char_get_basic_ios(this)->base
);
8289 /* Caution: basic_istream uses virtual inheritance. */
8290 static inline basic_ios_wchar
* basic_istream_wchar_get_basic_ios(basic_istream_wchar
*this)
8292 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
8295 static inline basic_ios_wchar
* basic_istream_wchar_to_basic_ios(basic_istream_wchar
*ptr
)
8297 return (basic_ios_wchar
*)((char*)ptr
+basic_istream_wchar_vbtable
[1]);
8300 static inline basic_istream_wchar
* basic_istream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
8302 return (basic_istream_wchar
*)((char*)ptr
-basic_istream_wchar_vbtable
[1]);
8305 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8306 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8307 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_init
, 20)
8308 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_init(basic_istream_wchar
*this,
8309 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8311 basic_ios_wchar
*base
;
8313 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
8316 this->vbtable
= basic_istream_wchar_vbtable
;
8317 base
= basic_istream_wchar_get_basic_ios(this);
8318 basic_ios_wchar_ctor(base
);
8320 base
= basic_istream_wchar_get_basic_ios(this);
8323 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8326 basic_ios_wchar_init(base
, strbuf
, isstd
);
8330 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8331 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8332 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_init
, 20)
8333 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_init(basic_istream_wchar
*this,
8334 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8336 basic_istream_wchar_ctor_init(this, strbuf
, isstd
, noinit
, virt_init
);
8337 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8341 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8342 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8343 static basic_istream_wchar
* basic_istream_wchar_ctor(basic_istream_wchar
*this,
8344 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8346 return basic_istream_wchar_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8349 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8350 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8351 static basic_istream_wchar
* basic_istream_short_ctor(basic_istream_wchar
*this,
8352 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8354 return basic_istream_short_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8357 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8358 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8359 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_uninitialized
, 12)
8360 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_uninitialized(
8361 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8363 basic_ios_wchar
*base
;
8365 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
8368 this->vbtable
= basic_istream_wchar_vbtable
;
8369 base
= basic_istream_wchar_get_basic_ios(this);
8370 basic_ios_wchar_ctor(base
);
8372 base
= basic_istream_wchar_get_basic_ios(this);
8375 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8376 ios_base_Addstd(&base
->base
);
8380 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8381 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8382 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_uninitialized
, 12)
8383 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_uninitialized(
8384 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8386 basic_istream_wchar_ctor_uninitialized(this, uninitialized
, virt_init
);
8387 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8391 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
8392 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
8393 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ */
8394 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
8395 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_dtor
, 4)
8396 void __thiscall
basic_istream_wchar_dtor(basic_ios_wchar
*base
)
8398 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8400 /* don't destroy virtual base here */
8401 TRACE("(%p)\n", this);
8404 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8405 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8406 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8407 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8408 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vbase_dtor
, 4)
8409 void __thiscall
basic_istream_wchar_vbase_dtor(basic_istream_wchar
*this)
8411 TRACE("(%p)\n", this);
8412 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(this));
8413 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(this));
8416 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vector_dtor
, 8)
8417 basic_istream_wchar
* __thiscall
basic_istream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
8419 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8421 TRACE("(%p %x)\n", this, flags
);
8424 /* we have an array, with the number of elements stored before the first object */
8425 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
8427 for(i
=*ptr
-1; i
>=0; i
--)
8428 basic_istream_wchar_vbase_dtor(this+i
);
8429 MSVCRT_operator_delete(ptr
);
8431 basic_istream_wchar_vbase_dtor(this);
8433 MSVCRT_operator_delete(this);
8439 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8440 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8441 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8442 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8443 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Ipfx
, 8)
8444 MSVCP_bool __thiscall
basic_istream_wchar__Ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8446 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8448 TRACE("(%p %d)\n", this, noskip
);
8450 if(ios_base_good(&base
->base
)) {
8451 if(basic_ios_wchar_tie_get(base
))
8452 basic_ostream_wchar_flush(basic_ios_wchar_tie_get(base
));
8454 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
8455 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8456 const ctype_wchar
*ctype
= ctype_wchar_use_facet(base
->strbuf
->loc
);
8459 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); ;
8460 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8462 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8466 if(!ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
8472 if(!ios_base_good(&base
->base
)) {
8473 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8479 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8480 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8481 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8482 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8483 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ipfx
, 8)
8484 MSVCP_bool __thiscall
basic_istream_wchar_ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8486 return basic_istream_wchar__Ipfx(this, noskip
);
8489 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8490 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8491 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8492 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8493 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_isfx
, 4)
8494 void __thiscall
basic_istream_wchar_isfx(basic_istream_wchar
*this)
8496 TRACE("(%p)\n", this);
8499 static BOOL
basic_istream_wchar_sentry_create(basic_istream_wchar
*istr
, MSVCP_bool noskip
)
8501 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8503 if(basic_ios_wchar_rdbuf_get(base
))
8504 basic_streambuf_wchar__Lock(base
->strbuf
);
8506 return basic_istream_wchar_ipfx(istr
, noskip
);
8509 static void basic_istream_wchar_sentry_destroy(basic_istream_wchar
*istr
)
8511 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8513 if(basic_ios_wchar_rdbuf_get(base
))
8514 basic_streambuf_wchar__Unlock(base
->strbuf
);
8517 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QBEHXZ */
8518 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEBA_JXZ */
8519 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ */
8520 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QEBA_JXZ */
8521 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_gcount
, 4)
8522 int __thiscall
basic_istream_wchar_gcount(const basic_istream_wchar
*this)
8524 TRACE("(%p)\n", this);
8528 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8529 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8530 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8531 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8532 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get
, 4)
8533 unsigned short __thiscall
basic_istream_wchar_get(basic_istream_wchar
*this)
8535 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8538 TRACE("(%p)\n", this);
8542 if(!basic_istream_wchar_sentry_create(this, TRUE
)) {
8543 basic_istream_wchar_sentry_destroy(this);
8547 ret
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(base
));
8548 basic_istream_wchar_sentry_destroy(this);
8550 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
8557 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AA_W@Z */
8558 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEA_W@Z */
8559 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z */
8560 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAG@Z */
8561 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_ch
, 8)
8562 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_ch(basic_istream_wchar
*this, wchar_t *ch
)
8566 TRACE("(%p %p)\n", this, ch
);
8568 ret
= basic_istream_wchar_get(this);
8574 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8575 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8576 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8577 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8578 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str_delim
, 16)
8579 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8581 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8582 unsigned short ch
= delim
;
8584 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
8588 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8589 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8591 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); count
>1;
8592 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8593 if(ch
==WEOF
|| ch
==delim
)
8601 basic_istream_wchar_sentry_destroy(this);
8603 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8604 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8610 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8611 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8612 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8613 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8614 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str
, 12)
8615 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8617 return basic_istream_wchar_get_str_delim(this, str
, count
, '\n');
8620 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8621 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8622 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8623 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8624 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf_delim
, 12)
8625 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf_delim(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
, wchar_t delim
)
8627 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8628 unsigned short ch
= delim
;
8630 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
8634 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8635 basic_streambuf_wchar
*strbuf_read
= basic_ios_wchar_rdbuf_get(base
);
8637 for(ch
= basic_streambuf_wchar_sgetc(strbuf_read
); ;
8638 ch
= basic_streambuf_wchar_snextc(strbuf_read
)) {
8639 if(ch
==WEOF
|| ch
==delim
)
8642 if(basic_streambuf_wchar_sputc(strbuf
, ch
) == WEOF
)
8647 basic_istream_wchar_sentry_destroy(this);
8649 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8650 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8654 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8655 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8656 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8657 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8658 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf
, 8)
8659 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
)
8661 return basic_istream_wchar_get_streambuf_delim(this, strbuf
, '\n');
8664 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8665 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8666 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8667 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8668 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline_delim
, 16)
8669 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8671 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8672 unsigned short ch
= delim
;
8674 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
8678 if(basic_istream_wchar_sentry_create(this, TRUE
) && count
>0) {
8679 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8682 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8684 if(ch
==WEOF
|| ch
==delim
)
8694 else if(ch
!= WEOF
) {
8695 ch
= basic_streambuf_wchar_sgetc(strbuf
);
8698 basic_streambuf_wchar__Gninc(strbuf
);
8703 basic_istream_wchar_sentry_destroy(this);
8705 basic_ios_wchar_setstate(base
, (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
8706 (!this->count
|| (ch
!=delim
&& ch
!=WEOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
8712 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8713 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8714 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8715 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8716 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline
, 12)
8717 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8719 return basic_istream_wchar_getline_delim(this, str
, count
, '\n');
8722 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@HG@Z */
8723 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JG@Z */
8724 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z */
8725 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z */
8726 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ignore
, 12)
8727 basic_istream_wchar
* __thiscall
basic_istream_wchar_ignore(basic_istream_wchar
*this, streamsize count
, unsigned short delim
)
8729 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8730 unsigned short ch
= delim
;
8733 TRACE("(%p %ld %d)\n", this, count
, delim
);
8737 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8738 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8739 state
= IOSTATE_goodbit
;
8742 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8745 state
= IOSTATE_eofbit
;
8753 if(count
!= INT_MAX
)
8757 state
= IOSTATE_failbit
;
8758 basic_istream_wchar_sentry_destroy(this);
8760 basic_ios_wchar_setstate(base
, state
);
8764 /* ?ws@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
8765 /* ?ws@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
8766 /* ?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z */
8767 /* ?ws@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
8768 basic_istream_wchar
* __cdecl
ws_basic_istream_wchar(basic_istream_wchar
*istream
)
8770 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
8771 unsigned short ch
= '\n';
8773 TRACE("(%p)\n", istream
);
8775 if(basic_istream_wchar_sentry_create(istream
, TRUE
)) {
8776 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8777 const ctype_wchar
*ctype
= ctype_wchar_use_facet(strbuf
->loc
);
8779 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); ctype_wchar_is_ch(ctype
, _SPACE
, ch
);
8780 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8785 basic_istream_wchar_sentry_destroy(istream
);
8788 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8792 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8793 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8794 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8795 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8796 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_peek
, 4)
8797 unsigned short __thiscall
basic_istream_wchar_peek(basic_istream_wchar
*this)
8799 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8800 unsigned short ret
= WEOF
;
8802 TRACE("(%p)\n", this);
8806 if(basic_istream_wchar_sentry_create(this, TRUE
))
8807 ret
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
8808 basic_istream_wchar_sentry_destroy(this);
8811 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8816 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WIH@Z */
8817 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_K_J@Z */
8818 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGIH@Z */
8819 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_K_J@Z */
8820 static basic_istream_wchar
* basic_istream_wchar__Read_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8822 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8823 IOSB_iostate state
= IOSTATE_goodbit
;
8825 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
8827 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8828 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8830 this->count
= basic_streambuf_wchar__Sgetn_s(strbuf
, str
, size
, count
);
8831 if(this->count
!= count
)
8832 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
8836 basic_istream_wchar_sentry_destroy(this);
8838 basic_ios_wchar_setstate(base
, state
);
8842 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8843 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8844 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8845 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8846 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read
, 12)
8847 basic_istream_wchar
* __thiscall
basic_istream_wchar_read(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8849 return basic_istream_wchar__Read_s(this, str
, count
, count
);
8852 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
8853 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
8854 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
8855 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
8856 static streamsize
basic_istream_wchar__Readsome_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8858 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8859 IOSB_iostate state
= IOSTATE_goodbit
;
8861 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
8865 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8866 streamsize avail
= basic_streambuf_wchar_in_avail(basic_ios_wchar_rdbuf_get(base
));
8871 state
|= IOSTATE_eofbit
;
8873 basic_istream_wchar__Read_s(this, str
, size
, avail
);
8875 state
|= IOSTATE_failbit
;
8877 basic_istream_wchar_sentry_destroy(this);
8879 basic_ios_wchar_setstate(base
, state
);
8883 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
8884 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
8885 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
8886 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
8887 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_readsome
, 12)
8888 streamsize __thiscall
basic_istream_wchar_readsome(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8890 return basic_istream_wchar__Readsome_s(this, str
, count
, count
);
8893 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
8894 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
8895 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
8896 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
8897 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_putback
, 8)
8898 basic_istream_wchar
* __thiscall
basic_istream_wchar_putback(basic_istream_wchar
*this, wchar_t ch
)
8900 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8901 IOSB_iostate state
= IOSTATE_goodbit
;
8903 TRACE("(%p %c)\n", this, ch
);
8907 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8908 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8910 if(!ios_base_good(&base
->base
))
8911 state
|= IOSTATE_failbit
;
8912 else if(!strbuf
|| basic_streambuf_wchar_sputbackc(strbuf
, ch
)==WEOF
)
8913 state
|= IOSTATE_badbit
;
8915 basic_istream_wchar_sentry_destroy(this);
8917 basic_ios_wchar_setstate(base
, state
);
8921 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
8922 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
8923 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
8924 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
8925 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_unget
, 4)
8926 basic_istream_wchar
* __thiscall
basic_istream_wchar_unget(basic_istream_wchar
*this)
8928 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8929 IOSB_iostate state
= IOSTATE_goodbit
;
8931 TRACE("(%p)\n", this);
8935 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8936 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8938 if(!ios_base_good(&base
->base
))
8939 state
|= IOSTATE_failbit
;
8940 else if(!strbuf
|| basic_streambuf_wchar_sungetc(strbuf
)==WEOF
)
8941 state
|= IOSTATE_badbit
;
8943 basic_istream_wchar_sentry_destroy(this);
8945 basic_ios_wchar_setstate(base
, state
);
8949 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
8950 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
8951 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ */
8952 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAHXZ */
8953 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_sync
, 4)
8954 int __thiscall
basic_istream_wchar_sync(basic_istream_wchar
*this)
8956 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8957 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8959 TRACE("(%p)\n", this);
8964 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8965 if(basic_streambuf_wchar_pubsync(strbuf
) != -1) {
8966 basic_istream_wchar_sentry_destroy(this);
8970 basic_istream_wchar_sentry_destroy(this);
8972 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
8976 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8977 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8978 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8979 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8980 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_tellg
, 8)
8981 fpos_int
* __thiscall
basic_istream_wchar_tellg(basic_istream_wchar
*this, fpos_int
*ret
)
8983 TRACE("(%p %p)\n", this, ret
);
8985 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8986 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8987 if(!ios_base_fail(&base
->base
)) {
8988 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
8989 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
8990 basic_istream_wchar_sentry_destroy(this);
8992 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
8993 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8997 basic_istream_wchar_sentry_destroy(this);
9005 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
9006 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
9007 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
9008 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
9009 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg
, 12)
9010 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg(basic_istream_wchar
*this, streamoff off
, int dir
)
9012 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9014 TRACE("(%p %ld %d)\n", this, off
, dir
);
9016 if(!ios_base_fail(&base
->base
)) {
9017 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9020 basic_streambuf_wchar_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
9021 basic_istream_wchar_sentry_destroy(this);
9023 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
9024 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
9026 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
9029 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
9034 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
9035 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
9036 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
9037 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
9038 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg_fpos
, 28)
9039 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg_fpos(basic_istream_wchar
*this, fpos_int pos
)
9041 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9043 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
9045 if(!ios_base_fail(&base
->base
)) {
9046 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9049 basic_streambuf_wchar_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
9050 basic_istream_wchar_sentry_destroy(this);
9052 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
9053 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
9055 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
9058 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
9063 static basic_istream_wchar
* basic_istream_read_short(basic_istream_wchar
*this, short *v
, const num_get
*numget
)
9065 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9066 int state
= IOSTATE_goodbit
;
9068 TRACE("(%p %p)\n", this, v
);
9070 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9071 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9072 istreambuf_iterator_wchar first
={0}, last
={0};
9075 first
.strbuf
= strbuf
;
9076 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
9078 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
9081 state
|= IOSTATE_failbit
;
9083 basic_istream_wchar_sentry_destroy(this);
9085 basic_ios_wchar_setstate(base
, state
);
9089 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAF@Z */
9090 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAF@Z */
9091 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_short
, 8)
9092 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_short(basic_istream_wchar
*this, short *v
)
9094 return basic_istream_read_short(this, v
, num_get_wchar_use_facet(
9095 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9098 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z */
9099 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAF@Z */
9100 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_short
, 8)
9101 basic_istream_wchar
* __thiscall
basic_istream_short_read_short(basic_istream_wchar
*this, short *v
)
9103 return basic_istream_read_short(this, v
, num_get_short_use_facet(
9104 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9107 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAG@Z */
9108 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAG@Z */
9109 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ushort
, 8)
9110 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ushort(basic_istream_wchar
*this, unsigned short *v
)
9112 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9113 int state
= IOSTATE_goodbit
;
9115 TRACE("(%p %p)\n", this, v
);
9117 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9118 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9119 const num_get
*numget
= num_get_wchar_use_facet(strbuf
->loc
);
9120 istreambuf_iterator_wchar first
={0}, last
={0};
9122 first
.strbuf
= strbuf
;
9123 num_get_wchar_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9125 basic_istream_wchar_sentry_destroy(this);
9127 basic_ios_wchar_setstate(base
, state
);
9131 static basic_istream_wchar
* basic_istream_read_int(basic_istream_wchar
*this, int *v
, const num_get
*numget
)
9133 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9134 int state
= IOSTATE_goodbit
;
9136 TRACE("(%p %p)\n", this, v
);
9138 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9139 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9140 istreambuf_iterator_wchar first
={0}, last
={0};
9142 first
.strbuf
= strbuf
;
9143 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9145 basic_istream_wchar_sentry_destroy(this);
9147 basic_ios_wchar_setstate(base
, state
);
9151 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAH@Z */
9152 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAH@Z */
9153 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int
, 8)
9154 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int(basic_istream_wchar
*this, int *v
)
9156 return basic_istream_read_int(this, v
, num_get_wchar_use_facet(
9157 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9160 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z */
9161 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAH@Z */
9162 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int
, 8)
9163 basic_istream_wchar
* __thiscall
basic_istream_short_read_int(basic_istream_wchar
*this, int *v
)
9165 return basic_istream_read_int(this, v
, num_get_short_use_facet(
9166 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9169 static basic_istream_wchar
* basic_istream_read_uint(basic_istream_wchar
*this, unsigned int *v
, const num_get
*numget
)
9171 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9172 int state
= IOSTATE_goodbit
;
9174 TRACE("(%p %p)\n", this, v
);
9176 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9177 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9178 istreambuf_iterator_wchar first
={0}, last
={0};
9180 first
.strbuf
= strbuf
;
9181 num_get_wchar_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9183 basic_istream_wchar_sentry_destroy(this);
9185 basic_ios_wchar_setstate(base
, state
);
9189 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAI@Z */
9190 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAI@Z */
9191 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint
, 8)
9192 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9194 return basic_istream_read_uint(this, v
, num_get_wchar_use_facet(
9195 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9198 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z */
9199 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAI@Z */
9200 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint
, 8)
9201 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9203 return basic_istream_read_uint(this, v
, num_get_short_use_facet(
9204 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9207 static basic_istream_wchar
* basic_istream_read_long(basic_istream_wchar
*this, LONG
*v
, const num_get
*numget
)
9209 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9210 int state
= IOSTATE_goodbit
;
9212 TRACE("(%p %p)\n", this, v
);
9214 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9215 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9216 istreambuf_iterator_wchar first
={0}, last
={0};
9218 first
.strbuf
= strbuf
;
9219 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9221 basic_istream_wchar_sentry_destroy(this);
9223 basic_ios_wchar_setstate(base
, state
);
9227 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9228 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9229 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_long
, 8)
9230 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_long(basic_istream_wchar
*this, LONG
*v
)
9232 return basic_istream_read_long(this, v
, num_get_wchar_use_facet(
9233 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9236 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9237 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9238 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_long
, 8)
9239 basic_istream_wchar
* __thiscall
basic_istream_short_read_long(basic_istream_wchar
*this, LONG
*v
)
9241 return basic_istream_read_long(this, v
, num_get_short_use_facet(
9242 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9245 static basic_istream_wchar
* basic_istream_read_ulong(basic_istream_wchar
*this, ULONG
*v
, const num_get
*numget
)
9247 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9248 int state
= IOSTATE_goodbit
;
9250 TRACE("(%p %p)\n", this, v
);
9252 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9253 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9254 istreambuf_iterator_wchar first
={0}, last
={0};
9256 first
.strbuf
= strbuf
;
9257 num_get_wchar_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9259 basic_istream_wchar_sentry_destroy(this);
9261 basic_ios_wchar_setstate(base
, state
);
9265 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAK@Z */
9266 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAK@Z */
9267 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ulong
, 8)
9268 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9270 return basic_istream_read_ulong(this, v
, num_get_wchar_use_facet(
9271 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9274 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z */
9275 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAK@Z */
9276 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ulong
, 8)
9277 basic_istream_wchar
* __thiscall
basic_istream_short_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9279 return basic_istream_read_ulong(this, v
, num_get_short_use_facet(
9280 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9283 static basic_istream_wchar
* basic_istream_read_float(basic_istream_wchar
*this, float *v
, const num_get
*numget
)
9285 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9286 int state
= IOSTATE_goodbit
;
9288 TRACE("(%p %p)\n", this, v
);
9290 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9291 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9292 istreambuf_iterator_wchar first
={0}, last
={0};
9294 first
.strbuf
= strbuf
;
9295 num_get_wchar_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9297 basic_istream_wchar_sentry_destroy(this);
9299 basic_ios_wchar_setstate(base
, state
);
9303 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAM@Z */
9304 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAM@Z */
9305 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_float
, 8)
9306 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_float(basic_istream_wchar
*this, float *v
)
9308 return basic_istream_read_float(this, v
, num_get_wchar_use_facet(
9309 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9312 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z */
9313 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAM@Z */
9314 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_float
, 8)
9315 basic_istream_wchar
* __thiscall
basic_istream_short_read_float(basic_istream_wchar
*this, float *v
)
9317 return basic_istream_read_float(this, v
, num_get_short_use_facet(
9318 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9321 static basic_istream_wchar
* basic_istream_read_double(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9323 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9324 int state
= IOSTATE_goodbit
;
9326 TRACE("(%p %p)\n", this, v
);
9328 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9329 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9330 istreambuf_iterator_wchar first
={0}, last
={0};
9332 first
.strbuf
= strbuf
;
9333 num_get_wchar_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9335 basic_istream_wchar_sentry_destroy(this);
9337 basic_ios_wchar_setstate(base
, state
);
9341 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAN@Z */
9342 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAN@Z */
9343 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_double
, 8)
9344 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_double(basic_istream_wchar
*this, double *v
)
9346 return basic_istream_read_double(this, v
, num_get_wchar_use_facet(
9347 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9350 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z */
9351 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAN@Z */
9352 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_double
, 8)
9353 basic_istream_wchar
* __thiscall
basic_istream_short_read_double(basic_istream_wchar
*this, double *v
)
9355 return basic_istream_read_double(this, v
, num_get_short_use_facet(
9356 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9359 static basic_istream_wchar
* basic_istream_read_ldouble(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9361 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9362 int state
= IOSTATE_goodbit
;
9364 TRACE("(%p %p)\n", this, v
);
9366 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9367 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9368 istreambuf_iterator_wchar first
={0}, last
={0};
9370 first
.strbuf
= strbuf
;
9371 num_get_wchar_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9373 basic_istream_wchar_sentry_destroy(this);
9375 basic_ios_wchar_setstate(base
, state
);
9379 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAO@Z */
9380 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAO@Z */
9381 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ldouble
, 8)
9382 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ldouble(basic_istream_wchar
*this, double *v
)
9384 return basic_istream_read_ldouble(this, v
, num_get_wchar_use_facet(
9385 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9388 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z */
9389 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAO@Z */
9390 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ldouble
, 8)
9391 basic_istream_wchar
* __thiscall
basic_istream_short_read_ldouble(basic_istream_wchar
*this, double *v
)
9393 return basic_istream_read_ldouble(this, v
, num_get_short_use_facet(
9394 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9397 static basic_istream_wchar
* basic_istream_read_ptr(basic_istream_wchar
*this, void **v
, const num_get
*numget
)
9399 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9400 int state
= IOSTATE_goodbit
;
9402 TRACE("(%p %p)\n", this, v
);
9404 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9405 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9406 istreambuf_iterator_wchar first
={0}, last
={0};
9408 first
.strbuf
= strbuf
;
9409 num_get_wchar_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
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@AAPAX@Z */
9418 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9419 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ptr
, 8)
9420 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ptr(basic_istream_wchar
*this, void **v
)
9422 return basic_istream_read_ptr(this, v
, num_get_wchar_use_facet(
9423 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9426 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z */
9427 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9428 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ptr
, 8)
9429 basic_istream_wchar
* __thiscall
basic_istream_short_read_ptr(basic_istream_wchar
*this, void **v
)
9431 return basic_istream_read_ptr(this, v
, num_get_short_use_facet(
9432 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9435 static basic_istream_wchar
* basic_istream_read_int64(basic_istream_wchar
*this, __int64
*v
, const num_get
*numget
)
9437 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9438 int state
= IOSTATE_goodbit
;
9440 TRACE("(%p %p)\n", this, v
);
9442 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9443 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9444 istreambuf_iterator_wchar first
={0}, last
={0};
9446 first
.strbuf
= strbuf
;
9447 num_get_wchar_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9449 basic_istream_wchar_sentry_destroy(this);
9451 basic_ios_wchar_setstate(base
, state
);
9455 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_J@Z */
9456 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_J@Z */
9457 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int64
, 8)
9458 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int64(basic_istream_wchar
*this, __int64
*v
)
9460 return basic_istream_read_int64(this, v
, num_get_wchar_use_facet(
9461 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9464 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_J@Z */
9465 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_J@Z */
9466 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int64
, 8)
9467 basic_istream_wchar
* __thiscall
basic_istream_short_read_int64(basic_istream_wchar
*this, __int64
*v
)
9469 return basic_istream_read_int64(this, v
, num_get_short_use_facet(
9470 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9473 static basic_istream_wchar
* basic_istream_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
, const num_get
*numget
)
9475 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9476 int state
= IOSTATE_goodbit
;
9478 TRACE("(%p %p)\n", this, v
);
9480 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9481 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9482 istreambuf_iterator_wchar first
={0}, last
={0};
9484 first
.strbuf
= strbuf
;
9485 num_get_wchar_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9487 basic_istream_wchar_sentry_destroy(this);
9489 basic_ios_wchar_setstate(base
, state
);
9493 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_K@Z */
9494 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_K@Z */
9495 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint64
, 8)
9496 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9498 return basic_istream_read_uint64(this, v
, num_get_wchar_use_facet(
9499 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9502 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_K@Z */
9503 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_K@Z */
9504 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint64
, 8)
9505 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9507 return basic_istream_read_uint64(this, v
, num_get_short_use_facet(
9508 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9511 static basic_istream_wchar
* basic_istream_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
, const num_get
*numget
)
9513 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9514 int state
= IOSTATE_goodbit
;
9516 TRACE("(%p %p)\n", this, v
);
9518 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9519 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9520 istreambuf_iterator_wchar first
={0}, last
={0};
9522 first
.strbuf
= strbuf
;
9523 num_get_wchar_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9525 basic_istream_wchar_sentry_destroy(this);
9527 basic_ios_wchar_setstate(base
, state
);
9531 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_N@Z */
9532 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_N@Z */
9533 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_bool
, 8)
9534 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9536 return basic_istream_read_bool(this, v
, num_get_wchar_use_facet(
9537 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9540 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z */
9541 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_N@Z */
9542 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_bool
, 8)
9543 basic_istream_wchar
* __thiscall
basic_istream_short_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9545 return basic_istream_read_bool(this, v
, num_get_short_use_facet(
9546 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9549 /* ??$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 */
9550 /* ??$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 */
9551 /* ??$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 */
9552 /* ??$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 */
9553 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr_delim(
9554 basic_istream_wchar
*istream
, basic_string_wchar
*str
, wchar_t delim
)
9556 IOSB_iostate state
= IOSTATE_failbit
;
9559 TRACE("(%p %p %c)\n", istream
, str
, delim
);
9561 if(basic_istream_wchar_sentry_create(istream
, TRUE
)) {
9562 MSVCP_basic_string_wchar_clear(str
);
9564 c
= basic_istream_wchar_get(istream
);
9566 state
= IOSTATE_goodbit
;
9568 for(; c
!=delim
&& c
!=WEOF
; c
= basic_istream_wchar_get(istream
)) {
9569 state
= IOSTATE_goodbit
;
9570 MSVCP_basic_string_wchar_append_ch(str
, c
);
9573 basic_istream_wchar_sentry_destroy(istream
);
9575 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9576 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9580 /* ??$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 */
9581 /* ??$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 */
9582 /* ??$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 */
9583 /* ??$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 */
9584 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr(
9585 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9587 return basic_istream_wchar_getline_bstr_delim(istream
, str
, '\n');
9590 static basic_istream_wchar
* basic_istream_read_bstr(basic_istream_wchar
*istream
,
9591 basic_string_wchar
*str
, const ctype_wchar
*ctype
)
9593 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9594 IOSB_iostate state
= IOSTATE_failbit
;
9597 TRACE("(%p %p)\n", istream
, str
);
9599 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9600 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
9605 MSVCP_basic_string_wchar_clear(str
);
9607 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9608 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9609 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9610 state
= IOSTATE_goodbit
;
9611 MSVCP_basic_string_wchar_append_ch(str
, c
);
9614 basic_istream_wchar_sentry_destroy(istream
);
9616 ios_base_width_set(&base
->base
, 0);
9617 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9621 /* ??$?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 */
9622 /* ??$?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 */
9623 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_bstr(
9624 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9626 return basic_istream_read_bstr(istream
, str
, ctype_wchar_use_facet(
9627 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9630 /* ??$?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 */
9631 /* ??$?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 */
9632 basic_istream_wchar
* __cdecl
basic_istream_short_read_bstr(
9633 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9635 return basic_istream_read_bstr(istream
, str
, ctype_short_use_facet(
9636 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9639 static basic_istream_wchar
* basic_istream_read_str(basic_istream_wchar
*istream
, wchar_t *str
, const ctype_wchar
*ctype
)
9641 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9642 IOSB_iostate state
= IOSTATE_failbit
;
9643 unsigned short c
= '\n';
9645 TRACE("(%p %p)\n", istream
, str
);
9647 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9648 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
9650 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9651 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9652 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9653 state
= IOSTATE_goodbit
;
9657 basic_istream_wchar_sentry_destroy(istream
);
9660 ios_base_width_set(&base
->base
, 0);
9661 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9665 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@PA_W@Z */
9666 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@PEA_W@Z */
9667 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9669 return basic_istream_read_str(istream
, str
, ctype_wchar_use_facet(
9670 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9673 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z */
9674 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z */
9675 basic_istream_wchar
* __cdecl
basic_istream_short_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9677 return basic_istream_read_str(istream
, str
, ctype_short_use_facet(
9678 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9681 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AA_W@Z */
9682 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEA_W@Z */
9683 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z */
9684 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z */
9685 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_ch(basic_istream_wchar
*istream
, wchar_t *ch
)
9687 IOSB_iostate state
= IOSTATE_failbit
;
9688 unsigned short c
= 0;
9690 TRACE("(%p %p)\n", istream
, ch
);
9692 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9693 c
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(
9694 basic_istream_wchar_get_basic_ios(istream
)));
9696 state
= IOSTATE_goodbit
;
9700 basic_istream_wchar_sentry_destroy(istream
);
9702 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9703 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9707 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9708 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9709 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9710 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9711 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_streambuf
, 8)
9712 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_streambuf(
9713 basic_istream_wchar
*this, basic_streambuf_wchar
*streambuf
)
9715 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9716 IOSB_iostate state
= IOSTATE_failbit
;
9717 unsigned short c
= '\n';
9719 TRACE("(%p %p)\n", this, streambuf
);
9721 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9722 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
)); c
!=WEOF
;
9723 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
))) {
9724 state
= IOSTATE_goodbit
;
9725 if(basic_streambuf_wchar_sputc(streambuf
, c
) == WEOF
)
9729 basic_istream_wchar_sentry_destroy(this);
9731 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9735 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9736 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9737 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9738 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9739 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func
, 8)
9740 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func(basic_istream_wchar
*this,
9741 basic_istream_wchar
* (__cdecl
*pfunc
)(basic_istream_wchar
*))
9743 TRACE("(%p %p)\n", this, pfunc
);
9748 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
9749 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
9750 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
9751 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
9752 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_basic_ios
, 8)
9753 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_basic_ios(basic_istream_wchar
*this,
9754 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
9756 TRACE("(%p %p)\n", this, pfunc
);
9757 pfunc(basic_istream_wchar_get_basic_ios(this));
9761 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9762 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9763 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9764 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9765 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_ios_base
, 8)
9766 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_ios_base(
9767 basic_istream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
9769 TRACE("(%p %p)\n", this, pfunc
);
9770 pfunc(&basic_istream_wchar_get_basic_ios(this)->base
);
9774 static inline basic_ios_char
* basic_iostream_char_to_basic_ios(basic_iostream_char
*ptr
)
9776 return (basic_ios_char
*)((char*)ptr
+basic_iostream_char_vbtable1
[1]);
9779 static inline basic_iostream_char
* basic_iostream_char_from_basic_ios(basic_ios_char
*ptr
)
9781 return (basic_iostream_char
*)((char*)ptr
-basic_iostream_char_vbtable1
[1]);
9784 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9785 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9786 DEFINE_THISCALL_WRAPPER(basic_iostream_char_ctor
, 12)
9787 basic_iostream_char
* __thiscall
basic_iostream_char_ctor(basic_iostream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool virt_init
)
9789 basic_ios_char
*basic_ios
;
9791 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9794 this->base1
.vbtable
= basic_iostream_char_vbtable1
;
9795 this->base2
.vbtable
= basic_iostream_char_vbtable2
;
9796 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9797 basic_ios_char_ctor(basic_ios
);
9799 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9802 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_char_vtable
;
9804 basic_istream_char_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9805 basic_ostream_char_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9809 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
9810 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
9811 DEFINE_THISCALL_WRAPPER(basic_iostream_char_dtor
, 4)
9812 void __thiscall
basic_iostream_char_dtor(basic_ios_char
*base
)
9814 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9816 TRACE("(%p)\n", this);
9817 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base2
));
9818 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base1
));
9821 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
9822 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
9823 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vbase_dtor
, 4)
9824 void __thiscall
basic_iostream_char_vbase_dtor(basic_iostream_char
*this)
9826 TRACE("(%p)\n", this);
9827 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(this));
9828 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base1
));
9831 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vector_dtor
, 8)
9832 basic_iostream_char
* __thiscall
basic_iostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
9834 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9836 TRACE("(%p %x)\n", this, flags
);
9839 /* we have an array, with the number of elements stored before the first object */
9840 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
9842 for(i
=*ptr
-1; i
>=0; i
--)
9843 basic_iostream_char_vbase_dtor(this+i
);
9844 MSVCRT_operator_delete(ptr
);
9846 basic_iostream_char_vbase_dtor(this);
9848 MSVCRT_operator_delete(this);
9854 static inline basic_ios_wchar
* basic_iostream_wchar_to_basic_ios(basic_iostream_wchar
*ptr
)
9856 return (basic_ios_wchar
*)((char*)ptr
+basic_iostream_wchar_vbtable1
[1]);
9859 static inline basic_iostream_wchar
* basic_iostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
9861 return (basic_iostream_wchar
*)((char*)ptr
-basic_iostream_wchar_vbtable1
[1]);
9864 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9865 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9866 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_ctor
, 12)
9867 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_ctor(basic_iostream_wchar
*this,
9868 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9870 basic_ios_wchar
*basic_ios
;
9872 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9875 this->base1
.vbtable
= basic_iostream_wchar_vbtable1
;
9876 this->base2
.vbtable
= basic_iostream_wchar_vbtable2
;
9877 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9878 basic_ios_wchar_ctor(basic_ios
);
9880 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9883 basic_istream_wchar_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9884 basic_ostream_wchar_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9886 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_wchar_vtable
;
9890 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9891 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9892 DEFINE_THISCALL_WRAPPER(basic_iostream_short_ctor
, 12)
9893 basic_iostream_wchar
* __thiscall
basic_iostream_short_ctor(basic_iostream_wchar
*this,
9894 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9896 basic_iostream_wchar_ctor(this, strbuf
, virt_init
);
9897 basic_istream_wchar_get_basic_ios(&this->base1
)->base
.vtable
= &MSVCP_basic_iostream_short_vtable
;
9901 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
9902 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
9903 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
9904 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
9905 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_dtor
, 4)
9906 void __thiscall
basic_iostream_wchar_dtor(basic_ios_wchar
*base
)
9908 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9910 TRACE("(%p)\n", this);
9911 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base2
));
9912 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base1
));
9915 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
9916 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
9917 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
9918 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
9919 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vbase_dtor
, 4)
9920 void __thiscall
basic_iostream_wchar_vbase_dtor(basic_iostream_wchar
*this)
9922 TRACE("(%p)\n", this);
9923 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(this));
9924 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base1
));
9927 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vector_dtor
, 8)
9928 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
9930 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9932 TRACE("(%p %x)\n", this, flags
);
9935 /* we have an array, with the number of elements stored before the first object */
9936 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
9938 for(i
=*ptr
-1; i
>=0; i
--)
9939 basic_iostream_wchar_vbase_dtor(this+i
);
9940 MSVCRT_operator_delete(ptr
);
9942 basic_iostream_wchar_vbase_dtor(this);
9944 MSVCRT_operator_delete(this);
9950 static inline basic_ios_char
* basic_ofstream_char_to_basic_ios(basic_ofstream_char
*ptr
)
9952 return (basic_ios_char
*)((char*)ptr
+basic_ofstream_char_vbtable
[1]);
9955 static inline basic_ofstream_char
* basic_ofstream_char_from_basic_ios(basic_ios_char
*ptr
)
9957 return (basic_ofstream_char
*)((char*)ptr
-basic_ofstream_char_vbtable
[1]);
9960 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
9961 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
9962 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor
, 8)
9963 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor(basic_ofstream_char
*this, MSVCP_bool virt_init
)
9965 basic_ios_char
*basic_ios
;
9967 TRACE("(%p %d)\n", this, virt_init
);
9970 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9971 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9972 basic_ios_char_ctor(basic_ios
);
9974 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9977 basic_filebuf_char_ctor(&this->filebuf
);
9978 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
9979 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
9983 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
9984 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
9985 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_file
, 12)
9986 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_file(
9987 basic_ofstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
9989 basic_ios_char
*basic_ios
;
9991 TRACE("(%p %p %d)\n", this, file
, virt_init
);
9994 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9995 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9996 basic_ios_char_ctor(basic_ios
);
9998 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10001 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10002 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10003 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
10007 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10008 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10009 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name
, 20)
10010 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name(basic_ofstream_char
*this,
10011 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10013 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10015 basic_ofstream_char_ctor(this, virt_init
);
10017 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10018 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10019 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10024 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10025 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10026 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_dtor
, 4)
10027 void __thiscall
basic_ofstream_char_dtor(basic_ios_char
*base
)
10029 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10031 TRACE("(%p)\n", this);
10033 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
10034 basic_filebuf_char_dtor(&this->filebuf
);
10037 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10038 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10039 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vbase_dtor
, 4)
10040 void __thiscall
basic_ofstream_char_vbase_dtor(basic_ofstream_char
*this)
10042 TRACE("(%p)\n", this);
10044 basic_ofstream_char_dtor(basic_ofstream_char_to_basic_ios(this));
10045 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
10048 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vector_dtor
, 8)
10049 basic_ofstream_char
* __thiscall
basic_ofstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10051 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10053 TRACE("(%p %x)\n", this, flags
);
10056 /* we have an array, with the number of elements stored before the first object */
10057 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10059 for(i
=*ptr
-1; i
>=0; i
--)
10060 basic_ofstream_char_vbase_dtor(this+i
);
10061 MSVCRT_operator_delete(ptr
);
10063 basic_ofstream_char_vbase_dtor(this);
10065 MSVCRT_operator_delete(this);
10071 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10072 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10073 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_close
, 4)
10074 void __thiscall
basic_ofstream_char_close(basic_ofstream_char
*this)
10076 TRACE("(%p)\n", this);
10078 if(!basic_filebuf_char_close(&this->filebuf
)) {
10079 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10080 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10084 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10085 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10086 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_is_open
, 4)
10087 MSVCP_bool __thiscall
basic_ofstream_char_is_open(const basic_ofstream_char
*this)
10089 TRACE("(%p)\n", this);
10090 return basic_filebuf_char_is_open(&this->filebuf
);
10093 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10094 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10095 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open
, 16)
10096 void __thiscall
basic_ofstream_char_open(basic_ofstream_char
*this,
10097 const char *name
, int mode
, int prot
)
10099 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10101 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10102 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10103 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10107 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10108 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10109 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old
, 12)
10110 void __thiscall
basic_ofstream_char_open_old(basic_ofstream_char
*this,
10111 const char *name
, unsigned int mode
)
10113 basic_ofstream_char_open(this, name
, mode
, _SH_DENYNO
);
10116 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10117 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10118 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_rdbuf
, 4)
10119 basic_filebuf_char
* __thiscall
basic_ofstream_char_rdbuf(const basic_ofstream_char
*this)
10121 TRACE("(%p)\n", this);
10122 return (basic_filebuf_char
*)&this->filebuf
;
10125 static inline basic_ios_wchar
* basic_ofstream_wchar_to_basic_ios(basic_ofstream_wchar
*ptr
)
10127 return (basic_ios_wchar
*)((char*)ptr
+basic_ofstream_wchar_vbtable
[1]);
10130 static inline basic_ofstream_wchar
* basic_ofstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10132 return (basic_ofstream_wchar
*)((char*)ptr
-basic_ofstream_wchar_vbtable
[1]);
10135 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10136 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10137 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor
, 8)
10138 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10140 basic_ios_wchar
*basic_ios
;
10142 TRACE("(%p %d)\n", this, virt_init
);
10145 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10146 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10147 basic_ios_wchar_ctor(basic_ios
);
10149 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10152 basic_filebuf_wchar_ctor(&this->filebuf
);
10153 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10154 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10158 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10159 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10160 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor
, 8)
10161 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10163 basic_ofstream_wchar_ctor(this, virt_init
);
10164 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10168 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10169 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10170 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_file
, 12)
10171 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_file(
10172 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10174 basic_ios_wchar
*basic_ios
;
10176 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10179 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10180 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10181 basic_ios_wchar_ctor(basic_ios
);
10183 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10186 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10187 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10188 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10192 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10193 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10194 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_file
, 12)
10195 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_file(
10196 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10198 basic_ofstream_wchar_ctor_file(this, file
, virt_init
);
10199 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10203 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10204 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10205 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name
, 20)
10206 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_name(basic_ofstream_wchar
*this,
10207 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10209 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10211 basic_ofstream_wchar_ctor(this, virt_init
);
10213 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10214 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10215 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10220 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10221 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10222 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name
, 20)
10223 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name(basic_ofstream_wchar
*this,
10224 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10226 basic_ofstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10227 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10231 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10232 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10233 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10234 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10235 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_dtor
, 4)
10236 void __thiscall
basic_ofstream_wchar_dtor(basic_ios_wchar
*base
)
10238 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10240 TRACE("(%p)\n", this);
10242 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
10243 basic_filebuf_wchar_dtor(&this->filebuf
);
10246 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10247 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10248 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10249 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10250 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vbase_dtor
, 4)
10251 void __thiscall
basic_ofstream_wchar_vbase_dtor(basic_ofstream_wchar
*this)
10253 TRACE("(%p)\n", this);
10255 basic_ofstream_wchar_dtor(basic_ofstream_wchar_to_basic_ios(this));
10256 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
10259 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vector_dtor
, 8)
10260 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10262 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10264 TRACE("(%p %x)\n", this, flags
);
10267 /* we have an array, with the number of elements stored before the first object */
10268 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10270 for(i
=*ptr
-1; i
>=0; i
--)
10271 basic_ofstream_wchar_vbase_dtor(this+i
);
10272 MSVCRT_operator_delete(ptr
);
10274 basic_ofstream_wchar_vbase_dtor(this);
10276 MSVCRT_operator_delete(this);
10282 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10283 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10284 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10285 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10286 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_close
, 4)
10287 void __thiscall
basic_ofstream_wchar_close(basic_ofstream_wchar
*this)
10289 TRACE("(%p)\n", this);
10291 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10292 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10293 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10297 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10298 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10299 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10300 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10301 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_is_open
, 4)
10302 MSVCP_bool __thiscall
basic_ofstream_wchar_is_open(const basic_ofstream_wchar
*this)
10304 TRACE("(%p)\n", this);
10305 return basic_filebuf_wchar_is_open(&this->filebuf
);
10308 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10309 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10310 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10311 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10312 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open
, 16)
10313 void __thiscall
basic_ofstream_wchar_open(basic_ofstream_wchar
*this,
10314 const char *name
, int mode
, int prot
)
10316 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10318 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10319 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10320 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10324 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10325 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10326 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10327 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10328 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old
, 12)
10329 void __thiscall
basic_ofstream_wchar_open_old(basic_ofstream_wchar
*this,
10330 const char *name
, unsigned int mode
)
10332 basic_ofstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10335 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10336 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10337 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10338 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10339 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_rdbuf
, 4)
10340 basic_filebuf_wchar
* __thiscall
basic_ofstream_wchar_rdbuf(const basic_ofstream_wchar
*this)
10342 TRACE("(%p)\n", this);
10343 return (basic_filebuf_wchar
*)&this->filebuf
;
10346 static inline basic_ios_char
* basic_ifstream_char_to_basic_ios(basic_ifstream_char
*ptr
)
10348 return (basic_ios_char
*)((char*)ptr
+basic_ifstream_char_vbtable
[1]);
10351 static inline basic_ifstream_char
* basic_ifstream_char_from_basic_ios(basic_ios_char
*ptr
)
10353 return (basic_ifstream_char
*)((char*)ptr
-basic_ifstream_char_vbtable
[1]);
10356 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10357 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10358 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor
, 8)
10359 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor(basic_ifstream_char
*this, MSVCP_bool virt_init
)
10361 basic_ios_char
*basic_ios
;
10363 TRACE("(%p %d)\n", this, virt_init
);
10366 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10367 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10368 basic_ios_char_ctor(basic_ios
);
10370 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10373 basic_filebuf_char_ctor(&this->filebuf
);
10374 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10375 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10379 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10380 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10381 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_file
, 12)
10382 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_file(
10383 basic_ifstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
10385 basic_ios_char
*basic_ios
;
10387 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10390 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10391 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10392 basic_ios_char_ctor(basic_ios
);
10394 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10397 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10398 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10399 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10403 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10404 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10405 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name
, 20)
10406 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name(basic_ifstream_char
*this,
10407 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10409 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10411 basic_ifstream_char_ctor(this, virt_init
);
10413 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10414 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10415 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10420 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10421 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10422 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_dtor
, 4)
10423 void __thiscall
basic_ifstream_char_dtor(basic_ios_char
*base
)
10425 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10427 TRACE("(%p)\n", this);
10429 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
10430 basic_filebuf_char_dtor(&this->filebuf
);
10433 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10434 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10435 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vbase_dtor
, 4)
10436 void __thiscall
basic_ifstream_char_vbase_dtor(basic_ifstream_char
*this)
10438 TRACE("(%p)\n", this);
10440 basic_ifstream_char_dtor(basic_ifstream_char_to_basic_ios(this));
10441 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
10444 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vector_dtor
, 8)
10445 basic_ifstream_char
* __thiscall
basic_ifstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10447 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10449 TRACE("(%p %x)\n", this, flags
);
10452 /* we have an array, with the number of elements stored before the first object */
10453 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10455 for(i
=*ptr
-1; i
>=0; i
--)
10456 basic_ifstream_char_vbase_dtor(this+i
);
10457 MSVCRT_operator_delete(ptr
);
10459 basic_ifstream_char_vbase_dtor(this);
10461 MSVCRT_operator_delete(this);
10467 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10468 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10469 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_close
, 4)
10470 void __thiscall
basic_ifstream_char_close(basic_ifstream_char
*this)
10472 TRACE("(%p)\n", this);
10474 if(!basic_filebuf_char_close(&this->filebuf
)) {
10475 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10476 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10480 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10481 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10482 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_is_open
, 4)
10483 MSVCP_bool __thiscall
basic_ifstream_char_is_open(const basic_ifstream_char
*this)
10485 TRACE("(%p)\n", this);
10486 return basic_filebuf_char_is_open(&this->filebuf
);
10489 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10490 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10491 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open
, 16)
10492 void __thiscall
basic_ifstream_char_open(basic_ifstream_char
*this,
10493 const char *name
, int mode
, int prot
)
10495 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10497 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10498 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10499 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10503 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10504 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10505 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_old
, 12)
10506 void __thiscall
basic_ifstream_char_open_old(basic_ifstream_char
*this,
10507 const char *name
, unsigned int mode
)
10509 basic_ifstream_char_open(this, name
, mode
, _SH_DENYNO
);
10512 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10513 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10514 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_rdbuf
, 4)
10515 basic_filebuf_char
* __thiscall
basic_ifstream_char_rdbuf(const basic_ifstream_char
*this)
10517 TRACE("(%p)\n", this);
10518 return (basic_filebuf_char
*)&this->filebuf
;
10521 static inline basic_ios_wchar
* basic_ifstream_wchar_to_basic_ios(basic_ifstream_wchar
*ptr
)
10523 return (basic_ios_wchar
*)((char*)ptr
+basic_ifstream_wchar_vbtable
[1]);
10526 static inline basic_ifstream_wchar
* basic_ifstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10528 return (basic_ifstream_wchar
*)((char*)ptr
-basic_ifstream_wchar_vbtable
[1]);
10531 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10532 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10533 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor
, 8)
10534 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10536 basic_ios_wchar
*basic_ios
;
10538 TRACE("(%p %d)\n", this, virt_init
);
10541 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10542 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10543 basic_ios_wchar_ctor(basic_ios
);
10545 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10548 basic_filebuf_wchar_ctor(&this->filebuf
);
10549 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10550 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10554 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10555 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10556 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor
, 8)
10557 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10559 basic_ifstream_wchar_ctor(this, virt_init
);
10560 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10564 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10565 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10566 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_file
, 12)
10567 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_file(
10568 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10570 basic_ios_wchar
*basic_ios
;
10572 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10575 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10576 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10577 basic_ios_wchar_ctor(basic_ios
);
10579 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10582 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10583 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10584 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10588 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10589 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10590 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_file
, 12)
10591 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_file(
10592 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10594 basic_ifstream_wchar_ctor_file(this, file
, virt_init
);
10595 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10599 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10600 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10601 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name
, 20)
10602 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_name(basic_ifstream_wchar
*this,
10603 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10605 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10607 basic_ifstream_wchar_ctor(this, virt_init
);
10609 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10610 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10611 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10616 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10617 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10618 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name
, 20)
10619 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name(basic_ifstream_wchar
*this,
10620 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10622 basic_ifstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10623 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10627 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10628 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10629 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10630 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10631 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_dtor
, 4)
10632 void __thiscall
basic_ifstream_wchar_dtor(basic_ios_wchar
*base
)
10634 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10636 TRACE("(%p)\n", this);
10638 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
10639 basic_filebuf_wchar_dtor(&this->filebuf
);
10642 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10643 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10644 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10645 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10646 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vbase_dtor
, 4)
10647 void __thiscall
basic_ifstream_wchar_vbase_dtor(basic_ifstream_wchar
*this)
10649 TRACE("(%p)\n", this);
10651 basic_ifstream_wchar_dtor(basic_ifstream_wchar_to_basic_ios(this));
10652 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
10655 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vector_dtor
, 8)
10656 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10658 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10660 TRACE("(%p %x)\n", this, flags
);
10663 /* we have an array, with the number of elements stored before the first object */
10664 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10666 for(i
=*ptr
-1; i
>=0; i
--)
10667 basic_ifstream_wchar_vbase_dtor(this+i
);
10668 MSVCRT_operator_delete(ptr
);
10670 basic_ifstream_wchar_vbase_dtor(this);
10672 MSVCRT_operator_delete(this);
10678 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10679 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10680 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10681 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10682 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_close
, 4)
10683 void __thiscall
basic_ifstream_wchar_close(basic_ifstream_wchar
*this)
10685 TRACE("(%p)\n", this);
10687 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10688 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10689 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10693 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10694 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10695 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10696 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10697 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_is_open
, 4)
10698 MSVCP_bool __thiscall
basic_ifstream_wchar_is_open(const basic_ifstream_wchar
*this)
10700 TRACE("(%p)\n", this);
10701 return basic_filebuf_wchar_is_open(&this->filebuf
);
10704 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10705 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10706 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10707 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10708 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open
, 16)
10709 void __thiscall
basic_ifstream_wchar_open(basic_ifstream_wchar
*this,
10710 const char *name
, int mode
, int prot
)
10712 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10714 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10715 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10716 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10720 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10721 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10722 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10723 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10724 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_old
, 12)
10725 void __thiscall
basic_ifstream_wchar_open_old(basic_ifstream_wchar
*this,
10726 const char *name
, unsigned int mode
)
10728 basic_ifstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10731 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10732 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10733 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10734 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10735 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_rdbuf
, 4)
10736 basic_filebuf_wchar
* __thiscall
basic_ifstream_wchar_rdbuf(const basic_ifstream_wchar
*this)
10738 TRACE("(%p)\n", this);
10739 return (basic_filebuf_wchar
*)&this->filebuf
;
10742 static inline basic_ios_char
* basic_fstream_char_to_basic_ios(basic_fstream_char
*ptr
)
10744 return (basic_ios_char
*)((char*)ptr
+basic_fstream_char_vbtable1
[1]);
10747 static inline basic_fstream_char
* basic_fstream_char_from_basic_ios(basic_ios_char
*ptr
)
10749 return (basic_fstream_char
*)((char*)ptr
-basic_fstream_char_vbtable1
[1]);
10752 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10753 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10754 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor
, 8)
10755 basic_fstream_char
* __thiscall
basic_fstream_char_ctor(basic_fstream_char
*this, MSVCP_bool virt_init
)
10757 basic_ios_char
*basic_ios
;
10759 TRACE("(%p %d)\n", this, virt_init
);
10762 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10763 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10764 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10765 basic_ios_char_ctor(basic_ios
);
10767 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10770 basic_filebuf_char_ctor(&this->filebuf
);
10771 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10772 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10776 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10777 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10778 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_file
, 12)
10779 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_file(basic_fstream_char
*this,
10780 FILE *file
, MSVCP_bool virt_init
)
10782 basic_ios_char
*basic_ios
;
10784 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10787 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10788 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10789 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10790 basic_ios_char_ctor(basic_ios
);
10792 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10795 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10796 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10797 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10801 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10802 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10803 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name
, 20)
10804 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name(basic_fstream_char
*this,
10805 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10807 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10809 basic_fstream_char_ctor(this, virt_init
);
10811 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
10812 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10813 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10818 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10819 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10820 DEFINE_THISCALL_WRAPPER(basic_fstream_char_dtor
, 4)
10821 void __thiscall
basic_fstream_char_dtor(basic_ios_char
*base
)
10823 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
10825 TRACE("(%p)\n", this);
10827 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
10828 basic_filebuf_char_dtor(&this->filebuf
);
10831 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10832 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10833 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vbase_dtor
, 4)
10834 void __thiscall
basic_fstream_char_vbase_dtor(basic_fstream_char
*this)
10836 TRACE("(%p)\n", this);
10838 basic_fstream_char_dtor(basic_fstream_char_to_basic_ios(this));
10839 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
10842 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vector_dtor
, 8)
10843 basic_fstream_char
* __thiscall
basic_fstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10845 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
10847 TRACE("(%p %x)\n", this, flags
);
10850 /* we have an array, with the number of elements stored before the first object */
10851 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10853 for(i
=*ptr
-1; i
>=0; i
--)
10854 basic_fstream_char_vbase_dtor(this+i
);
10855 MSVCRT_operator_delete(ptr
);
10857 basic_fstream_char_vbase_dtor(this);
10859 MSVCRT_operator_delete(this);
10865 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10866 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10867 DEFINE_THISCALL_WRAPPER(basic_fstream_char_close
, 4)
10868 void __thiscall
basic_fstream_char_close(basic_fstream_char
*this)
10870 TRACE("(%p)\n", this);
10872 if(!basic_filebuf_char_close(&this->filebuf
)) {
10873 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10874 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10878 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10879 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10880 DEFINE_THISCALL_WRAPPER(basic_fstream_char_is_open
, 4)
10881 MSVCP_bool __thiscall
basic_fstream_char_is_open(const basic_fstream_char
*this)
10883 TRACE("(%p)\n", this);
10884 return basic_filebuf_char_is_open(&this->filebuf
);
10887 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10888 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10889 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open
, 16)
10890 void __thiscall
basic_fstream_char_open(basic_fstream_char
*this,
10891 const char *name
, int mode
, int prot
)
10893 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10895 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
10896 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10897 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10901 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10902 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10903 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old
, 12)
10904 void __thiscall
basic_fstream_char_open_old(basic_fstream_char
*this,
10905 const char *name
, unsigned int mode
)
10907 basic_fstream_char_open(this, name
, mode
, _SH_DENYNO
);
10910 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10911 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10912 DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf
, 4)
10913 basic_filebuf_char
* __thiscall
basic_fstream_char_rdbuf(const basic_fstream_char
*this)
10915 TRACE("(%p)\n", this);
10916 return (basic_filebuf_char
*)&this->filebuf
;
10919 static inline basic_ios_wchar
* basic_fstream_wchar_to_basic_ios(basic_fstream_wchar
*ptr
)
10921 return (basic_ios_wchar
*)((char*)ptr
+basic_fstream_wchar_vbtable1
[1]);
10924 static inline basic_fstream_wchar
* basic_fstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10926 return (basic_fstream_wchar
*)((char*)ptr
-basic_fstream_wchar_vbtable1
[1]);
10929 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10930 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10931 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor
, 8)
10932 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
10934 basic_ios_wchar
*basic_ios
;
10936 TRACE("(%p %d)\n", this, virt_init
);
10939 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
10940 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
10941 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
10942 basic_ios_wchar_ctor(basic_ios
);
10944 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
10947 basic_filebuf_wchar_ctor(&this->filebuf
);
10948 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10949 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
10953 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10954 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10955 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor
, 8)
10956 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
10958 basic_fstream_wchar_ctor(this, virt_init
);
10959 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
10963 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10964 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10965 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_file
, 12)
10966 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_file(basic_fstream_wchar
*this,
10967 FILE *file
, MSVCP_bool virt_init
)
10969 basic_ios_wchar
*basic_ios
;
10971 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10974 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
10975 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
10976 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
10977 basic_ios_wchar_ctor(basic_ios
);
10979 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
10982 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10983 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10984 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
10988 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10989 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10990 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_file
, 12)
10991 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_file(basic_fstream_wchar
*this,
10992 FILE *file
, MSVCP_bool virt_init
)
10994 basic_fstream_wchar_ctor_file(this, file
, virt_init
);
10995 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
10999 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11000 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11001 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name
, 20)
11002 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_name(basic_fstream_wchar
*this,
11003 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11005 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
11007 basic_fstream_wchar_ctor(this, virt_init
);
11009 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11010 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11011 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11016 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
11017 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
11018 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name
, 20)
11019 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name(basic_fstream_wchar
*this,
11020 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11022 basic_fstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
11023 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11027 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
11028 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
11029 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
11030 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
11031 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_dtor
, 4)
11032 void __thiscall
basic_fstream_wchar_dtor(basic_ios_wchar
*base
)
11034 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11036 TRACE("(%p)\n", this);
11038 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
11039 basic_filebuf_wchar_dtor(&this->filebuf
);
11042 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11043 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11044 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11045 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11046 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vbase_dtor
, 4)
11047 void __thiscall
basic_fstream_wchar_vbase_dtor(basic_fstream_wchar
*this)
11049 TRACE("(%p)\n", this);
11051 basic_fstream_wchar_dtor(basic_fstream_wchar_to_basic_ios(this));
11052 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
11055 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vector_dtor
, 8)
11056 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11058 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11060 TRACE("(%p %x)\n", this, flags
);
11063 /* we have an array, with the number of elements stored before the first object */
11064 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11066 for(i
=*ptr
-1; i
>=0; i
--)
11067 basic_fstream_wchar_vbase_dtor(this+i
);
11068 MSVCRT_operator_delete(ptr
);
11070 basic_fstream_wchar_vbase_dtor(this);
11072 MSVCRT_operator_delete(this);
11078 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11079 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11080 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11081 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11082 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_close
, 4)
11083 void __thiscall
basic_fstream_wchar_close(basic_fstream_wchar
*this)
11085 TRACE("(%p)\n", this);
11087 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
11088 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11089 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11093 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
11094 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
11095 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
11096 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
11097 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_is_open
, 4)
11098 MSVCP_bool __thiscall
basic_fstream_wchar_is_open(const basic_fstream_wchar
*this)
11100 TRACE("(%p)\n", this);
11101 return basic_filebuf_wchar_is_open(&this->filebuf
);
11104 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
11105 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
11106 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
11107 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
11108 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open
, 16)
11109 void __thiscall
basic_fstream_wchar_open(basic_fstream_wchar
*this,
11110 const char *name
, int mode
, int prot
)
11112 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
11114 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11115 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11116 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11120 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
11121 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
11122 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
11123 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
11124 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old
, 12)
11125 void __thiscall
basic_fstream_wchar_open_old(basic_fstream_wchar
*this,
11126 const char *name
, unsigned int mode
)
11128 basic_fstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
11131 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11132 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11133 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11134 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11135 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_rdbuf
, 4)
11136 basic_filebuf_wchar
* __thiscall
basic_fstream_wchar_rdbuf(const basic_fstream_wchar
*this)
11138 TRACE("(%p)\n", this);
11139 return (basic_filebuf_wchar
*)&this->filebuf
;
11142 static inline basic_ios_char
* basic_ostringstream_char_to_basic_ios(basic_ostringstream_char
*ptr
)
11144 return (basic_ios_char
*)((char*)ptr
+basic_ostringstream_char_vbtable
[1]);
11147 static inline basic_ostringstream_char
* basic_ostringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11149 return (basic_ostringstream_char
*)((char*)ptr
-basic_ostringstream_char_vbtable
[1]);
11152 /* ??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 */
11153 /* ??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 */
11154 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_str
, 16)
11155 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_str(basic_ostringstream_char
*this,
11156 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11158 basic_ios_char
*basic_ios
;
11160 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11163 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11164 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11165 basic_ios_char_ctor(basic_ios
);
11167 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11170 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11171 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11172 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11176 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11177 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11178 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_mode
, 12)
11179 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_mode(
11180 basic_ostringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11182 basic_ios_char
*basic_ios
;
11184 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11187 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11188 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11189 basic_ios_char_ctor(basic_ios
);
11191 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11194 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11195 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11196 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11200 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11201 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11202 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor
, 8)
11203 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor(
11204 basic_ostringstream_char
*this, MSVCP_bool virt_init
)
11206 return basic_ostringstream_char_ctor_mode(this, 0, virt_init
);
11209 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11210 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11211 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_dtor
, 4)
11212 void __thiscall
basic_ostringstream_char_dtor(basic_ios_char
*base
)
11214 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11216 TRACE("(%p)\n", this);
11218 basic_stringbuf_char_dtor(&this->strbuf
);
11219 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
11222 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11223 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11224 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vbase_dtor
, 4)
11225 void __thiscall
basic_ostringstream_char_vbase_dtor(basic_ostringstream_char
*this)
11227 TRACE("(%p)\n", this);
11229 basic_ostringstream_char_dtor(basic_ostringstream_char_to_basic_ios(this));
11230 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
11233 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vector_dtor
, 8)
11234 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11236 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11238 TRACE("(%p %x)\n", this, flags
);
11241 /* we have an array, with the number of elements stored before the first object */
11242 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11244 for(i
=*ptr
-1; i
>=0; i
--)
11245 basic_ostringstream_char_vbase_dtor(this+i
);
11246 MSVCRT_operator_delete(ptr
);
11248 basic_ostringstream_char_vbase_dtor(this);
11250 MSVCRT_operator_delete(this);
11256 /* ?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 */
11257 /* ?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 */
11258 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_rdbuf
, 4)
11259 basic_stringbuf_char
* __thiscall
basic_ostringstream_char_rdbuf(const basic_ostringstream_char
*this)
11261 TRACE("(%p)\n", this);
11262 return (basic_stringbuf_char
*)&this->strbuf
;
11265 /* ?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 */
11266 /* ?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 */
11267 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_set
, 8)
11268 void __thiscall
basic_ostringstream_char_str_set(basic_ostringstream_char
*this, const basic_string_char
*str
)
11270 TRACE("(%p %p)\n", this, str
);
11271 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11274 /* ?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 */
11275 /* ?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 */
11276 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_get
, 8)
11277 basic_string_char
* __thiscall
basic_ostringstream_char_str_get(const basic_ostringstream_char
*this, basic_string_char
*ret
)
11279 TRACE("(%p %p)\n", this, ret
);
11280 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11283 static inline basic_ios_wchar
* basic_ostringstream_wchar_to_basic_ios(basic_ostringstream_wchar
*ptr
)
11285 return (basic_ios_wchar
*)((char*)ptr
+basic_ostringstream_wchar_vbtable
[1]);
11288 static inline basic_ostringstream_wchar
* basic_ostringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11290 return (basic_ostringstream_wchar
*)((char*)ptr
-basic_ostringstream_wchar_vbtable
[1]);
11293 /* ??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 */
11294 /* ??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 */
11295 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_str
, 16)
11296 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_str(basic_ostringstream_wchar
*this,
11297 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11299 basic_ios_wchar
*basic_ios
;
11301 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11304 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11305 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11306 basic_ios_wchar_ctor(basic_ios
);
11308 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11311 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11312 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11313 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11317 /* ??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 */
11318 /* ??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 */
11319 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_str
, 16)
11320 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_str(basic_ostringstream_wchar
*this,
11321 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11323 basic_ostringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11324 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11328 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11329 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11330 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_mode
, 12)
11331 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_mode(
11332 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11334 basic_ios_wchar
*basic_ios
;
11336 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11339 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11340 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11341 basic_ios_wchar_ctor(basic_ios
);
11343 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11346 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11347 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11348 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11352 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11353 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11354 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_mode
, 12)
11355 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_mode(
11356 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11358 basic_ostringstream_wchar_ctor_mode(this, mode
, virt_init
);
11359 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11363 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11364 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11365 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor
, 8)
11366 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor(
11367 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11369 return basic_ostringstream_wchar_ctor_mode(this, 0, virt_init
);
11372 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11373 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11374 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor
, 8)
11375 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor(
11376 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11378 return basic_ostringstream_short_ctor_mode(this, 0, virt_init
);
11381 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
11382 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
11383 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
11384 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
11385 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_dtor
, 4)
11386 void __thiscall
basic_ostringstream_wchar_dtor(basic_ios_wchar
*base
)
11388 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11390 TRACE("(%p)\n", this);
11392 basic_stringbuf_wchar_dtor(&this->strbuf
);
11393 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
11396 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11397 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11398 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11399 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11400 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vbase_dtor
, 4)
11401 void __thiscall
basic_ostringstream_wchar_vbase_dtor(basic_ostringstream_wchar
*this)
11403 TRACE("(%p)\n", this);
11405 basic_ostringstream_wchar_dtor(basic_ostringstream_wchar_to_basic_ios(this));
11406 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
11409 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vector_dtor
, 8)
11410 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11412 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11414 TRACE("(%p %x)\n", this, flags
);
11417 /* we have an array, with the number of elements stored before the first object */
11418 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11420 for(i
=*ptr
-1; i
>=0; i
--)
11421 basic_ostringstream_wchar_vbase_dtor(this+i
);
11422 MSVCRT_operator_delete(ptr
);
11424 basic_ostringstream_wchar_vbase_dtor(this);
11426 MSVCRT_operator_delete(this);
11432 /* ?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 */
11433 /* ?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 */
11434 /* ?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 */
11435 /* ?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 */
11436 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_rdbuf
, 4)
11437 basic_stringbuf_wchar
* __thiscall
basic_ostringstream_wchar_rdbuf(const basic_ostringstream_wchar
*this)
11439 TRACE("(%p)\n", this);
11440 return (basic_stringbuf_wchar
*)&this->strbuf
;
11443 /* ?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 */
11444 /* ?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 */
11445 /* ?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 */
11446 /* ?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 */
11447 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_set
, 8)
11448 void __thiscall
basic_ostringstream_wchar_str_set(basic_ostringstream_wchar
*this, const basic_string_wchar
*str
)
11450 TRACE("(%p %p)\n", this, str
);
11451 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
11454 /* ?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 */
11455 /* ?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 */
11456 /* ?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 */
11457 /* ?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 */
11458 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_get
, 8)
11459 basic_string_wchar
* __thiscall
basic_ostringstream_wchar_str_get(const basic_ostringstream_wchar
*this, basic_string_wchar
*ret
)
11461 TRACE("(%p %p)\n", this, ret
);
11462 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
11465 static inline basic_ios_char
* basic_istringstream_char_to_basic_ios(basic_istringstream_char
*ptr
)
11467 return (basic_ios_char
*)((char*)ptr
+basic_istringstream_char_vbtable
[1]);
11470 static inline basic_istringstream_char
* basic_istringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11472 return (basic_istringstream_char
*)((char*)ptr
-basic_istringstream_char_vbtable
[1]);
11475 /* ??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 */
11476 /* ??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 */
11477 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_str
, 16)
11478 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_str(basic_istringstream_char
*this,
11479 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11481 basic_ios_char
*basic_ios
;
11483 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11486 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11487 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11488 basic_ios_char_ctor(basic_ios
);
11490 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11493 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11494 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11495 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11499 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11500 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11501 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_mode
, 12)
11502 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_mode(
11503 basic_istringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11505 basic_ios_char
*basic_ios
;
11507 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11510 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11511 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11512 basic_ios_char_ctor(basic_ios
);
11514 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11517 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11518 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11519 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11523 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11524 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11525 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor
, 8)
11526 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor(
11527 basic_istringstream_char
*this, MSVCP_bool virt_init
)
11529 return basic_istringstream_char_ctor_mode(this, 0, virt_init
);
11532 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11533 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11534 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_dtor
, 4)
11535 void __thiscall
basic_istringstream_char_dtor(basic_ios_char
*base
)
11537 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11539 TRACE("(%p)\n", this);
11541 basic_stringbuf_char_dtor(&this->strbuf
);
11542 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
11545 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11546 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11547 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vbase_dtor
, 4)
11548 void __thiscall
basic_istringstream_char_vbase_dtor(basic_istringstream_char
*this)
11550 TRACE("(%p)\n", this);
11552 basic_istringstream_char_dtor(basic_istringstream_char_to_basic_ios(this));
11553 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
11556 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vector_dtor
, 8)
11557 basic_istringstream_char
* __thiscall
basic_istringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11559 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11561 TRACE("(%p %x)\n", this, flags
);
11564 /* we have an array, with the number of elements stored before the first object */
11565 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11567 for(i
=*ptr
-1; i
>=0; i
--)
11568 basic_istringstream_char_vbase_dtor(this+i
);
11569 MSVCRT_operator_delete(ptr
);
11571 basic_istringstream_char_vbase_dtor(this);
11573 MSVCRT_operator_delete(this);
11579 /* ?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 */
11580 /* ?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 */
11581 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_rdbuf
, 4)
11582 basic_stringbuf_char
* __thiscall
basic_istringstream_char_rdbuf(const basic_istringstream_char
*this)
11584 TRACE("(%p)\n", this);
11585 return (basic_stringbuf_char
*)&this->strbuf
;
11588 /* ?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 */
11589 /* ?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 */
11590 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_set
, 8)
11591 void __thiscall
basic_istringstream_char_str_set(basic_istringstream_char
*this, const basic_string_char
*str
)
11593 TRACE("(%p %p)\n", this, str
);
11594 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11597 /* ?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 */
11598 /* ?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 */
11599 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_get
, 8)
11600 basic_string_char
* __thiscall
basic_istringstream_char_str_get(const basic_istringstream_char
*this, basic_string_char
*ret
)
11602 TRACE("(%p %p)\n", this, ret
);
11603 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11606 static inline basic_ios_wchar
* basic_istringstream_wchar_to_basic_ios(basic_istringstream_wchar
*ptr
)
11608 return (basic_ios_wchar
*)((char*)ptr
+basic_istringstream_wchar_vbtable
[1]);
11611 static inline basic_istringstream_wchar
* basic_istringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11613 return (basic_istringstream_wchar
*)((char*)ptr
-basic_istringstream_wchar_vbtable
[1]);
11616 /* ??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 */
11617 /* ??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 */
11618 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_str
, 16)
11619 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_str(basic_istringstream_wchar
*this,
11620 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11622 basic_ios_wchar
*basic_ios
;
11624 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11627 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11628 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11629 basic_ios_wchar_ctor(basic_ios
);
11631 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11634 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11635 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11636 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11640 /* ??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 */
11641 /* ??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 */
11642 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_str
, 16)
11643 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_str(basic_istringstream_wchar
*this,
11644 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11646 basic_istringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11647 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_istringstream_short_vtable
;
11651 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11652 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11653 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_mode
, 12)
11654 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_mode(
11655 basic_istringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11657 basic_ios_wchar
*basic_ios
;
11659 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11662 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11663 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11664 basic_ios_wchar_ctor(basic_ios
);
11666 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11669 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11670 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11671 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11675 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11676 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11677 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_mode
, 12)
11678 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_mode(
11679 basic_istringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11681 basic_istringstream_wchar_ctor_mode(this, mode
, virt_init
);
11682 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_istringstream_short_vtable
;
11686 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11687 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11688 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor
, 8)
11689 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor(
11690 basic_istringstream_wchar
*this, MSVCP_bool virt_init
)
11692 return basic_istringstream_wchar_ctor_mode(this, 0, virt_init
);
11695 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11696 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11697 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor
, 8)
11698 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor(
11699 basic_istringstream_wchar
*this, MSVCP_bool virt_init
)
11701 return basic_istringstream_short_ctor_mode(this, 0, virt_init
);
11704 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
11705 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
11706 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
11707 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
11708 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_dtor
, 4)
11709 void __thiscall
basic_istringstream_wchar_dtor(basic_ios_wchar
*base
)
11711 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
11713 TRACE("(%p)\n", this);
11715 basic_stringbuf_wchar_dtor(&this->strbuf
);
11716 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
11719 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11720 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11721 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11722 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11723 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vbase_dtor
, 4)
11724 void __thiscall
basic_istringstream_wchar_vbase_dtor(basic_istringstream_wchar
*this)
11726 TRACE("(%p)\n", this);
11728 basic_istringstream_wchar_dtor(basic_istringstream_wchar_to_basic_ios(this));
11729 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
11732 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vector_dtor
, 8)
11733 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11735 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
11737 TRACE("(%p %x)\n", this, flags
);
11740 /* we have an array, with the number of elements stored before the first object */
11741 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11743 for(i
=*ptr
-1; i
>=0; i
--)
11744 basic_istringstream_wchar_vbase_dtor(this+i
);
11745 MSVCRT_operator_delete(ptr
);
11747 basic_istringstream_wchar_vbase_dtor(this);
11749 MSVCRT_operator_delete(this);
11755 /* ?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 */
11756 /* ?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 */
11757 /* ?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 */
11758 /* ?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 */
11759 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_rdbuf
, 4)
11760 basic_stringbuf_wchar
* __thiscall
basic_istringstream_wchar_rdbuf(const basic_istringstream_wchar
*this)
11762 TRACE("(%p)\n", this);
11763 return (basic_stringbuf_wchar
*)&this->strbuf
;
11766 /* ?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 */
11767 /* ?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 */
11768 /* ?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 */
11769 /* ?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 */
11770 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_set
, 8)
11771 void __thiscall
basic_istringstream_wchar_str_set(basic_istringstream_wchar
*this, const basic_string_wchar
*str
)
11773 TRACE("(%p %p)\n", this, str
);
11774 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
11777 /* ?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 */
11778 /* ?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 */
11779 /* ?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 */
11780 /* ?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 */
11781 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_get
, 8)
11782 basic_string_wchar
* __thiscall
basic_istringstream_wchar_str_get(const basic_istringstream_wchar
*this, basic_string_wchar
*ret
)
11784 TRACE("(%p %p)\n", this, ret
);
11785 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
11788 static inline basic_ios_char
* basic_stringstream_char_to_basic_ios(basic_stringstream_char
*ptr
)
11790 return (basic_ios_char
*)((char*)ptr
+basic_stringstream_char_vbtable1
[1]);
11793 static inline basic_stringstream_char
* basic_stringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11795 return (basic_stringstream_char
*)((char*)ptr
-basic_stringstream_char_vbtable1
[1]);
11798 /* ??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 */
11799 /* ??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 */
11800 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_str
, 16)
11801 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_str(basic_stringstream_char
*this,
11802 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11804 basic_ios_char
*basic_ios
;
11806 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11809 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
11810 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
11811 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11812 basic_ios_char_ctor(basic_ios
);
11814 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11817 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
);
11818 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
11819 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
11823 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11824 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11825 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_mode
, 12)
11826 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_mode(
11827 basic_stringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11829 basic_ios_char
*basic_ios
;
11831 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11834 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
11835 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
11836 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11837 basic_ios_char_ctor(basic_ios
);
11839 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11842 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
);
11843 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
11844 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
11848 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11849 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11850 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor
, 8)
11851 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor(
11852 basic_stringstream_char
*this, MSVCP_bool virt_init
)
11854 return basic_stringstream_char_ctor_mode(
11855 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
11858 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11859 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11860 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_dtor
, 4)
11861 void __thiscall
basic_stringstream_char_dtor(basic_ios_char
*base
)
11863 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
11865 TRACE("(%p)\n", this);
11867 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
11868 basic_stringbuf_char_dtor(&this->strbuf
);
11871 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11872 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11873 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vbase_dtor
, 4)
11874 void __thiscall
basic_stringstream_char_vbase_dtor(basic_stringstream_char
*this)
11876 TRACE("(%p)\n", this);
11878 basic_stringstream_char_dtor(basic_stringstream_char_to_basic_ios(this));
11879 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
11882 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vector_dtor
, 8)
11883 basic_stringstream_char
* __thiscall
basic_stringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11885 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
11887 TRACE("(%p %x)\n", this, flags
);
11890 /* we have an array, with the number of elements stored before the first object */
11891 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11893 for(i
=*ptr
-1; i
>=0; i
--)
11894 basic_stringstream_char_vbase_dtor(this+i
);
11895 MSVCRT_operator_delete(ptr
);
11897 basic_stringstream_char_vbase_dtor(this);
11899 MSVCRT_operator_delete(this);
11905 /* ?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 */
11906 /* ?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 */
11907 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_rdbuf
, 4)
11908 basic_stringbuf_char
* __thiscall
basic_stringstream_char_rdbuf(const basic_stringstream_char
*this)
11910 TRACE("(%p)\n", this);
11911 return (basic_stringbuf_char
*)&this->strbuf
;
11914 /* ?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 */
11915 /* ?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 */
11916 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_set
, 8)
11917 void __thiscall
basic_stringstream_char_str_set(basic_stringstream_char
*this, const basic_string_char
*str
)
11919 TRACE("(%p %p)\n", this, str
);
11920 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11923 /* ?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 */
11924 /* ?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 */
11925 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_get
, 8)
11926 basic_string_char
* __thiscall
basic_stringstream_char_str_get(const basic_stringstream_char
*this, basic_string_char
*ret
)
11928 TRACE("(%p %p)\n", this, ret
);
11929 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11932 static inline basic_ios_wchar
* basic_stringstream_wchar_to_basic_ios(basic_stringstream_wchar
*ptr
)
11934 return (basic_ios_wchar
*)((char*)ptr
+basic_stringstream_wchar_vbtable1
[1]);
11937 static inline basic_stringstream_wchar
* basic_stringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11939 return (basic_stringstream_wchar
*)((char*)ptr
-basic_stringstream_wchar_vbtable1
[1]);
11942 /* ??0?$basic_stringstream@_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 */
11943 /* ??0?$basic_stringstream@_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 */
11944 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_str
, 16)
11945 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_str(basic_stringstream_wchar
*this,
11946 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11948 basic_ios_wchar
*basic_ios
;
11950 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11953 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
11954 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
11955 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11956 basic_ios_wchar_ctor(basic_ios
);
11958 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11961 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
);
11962 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
11963 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
11967 /* ??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 */
11968 /* ??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 */
11969 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_str
, 16)
11970 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_str(basic_stringstream_wchar
*this,
11971 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11973 basic_stringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11974 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_stringstream_short_vtable
;
11978 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11979 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11980 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_mode
, 12)
11981 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_mode(
11982 basic_stringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11984 basic_ios_wchar
*basic_ios
;
11986 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11989 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
11990 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
11991 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11992 basic_ios_wchar_ctor(basic_ios
);
11994 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11997 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
);
11998 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
11999 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
12003 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
12004 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
12005 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_mode
, 12)
12006 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_mode(
12007 basic_stringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
12009 basic_stringstream_wchar_ctor_mode(this, mode
, virt_init
);
12010 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_stringstream_short_vtable
;
12014 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12015 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12016 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor
, 8)
12017 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor(
12018 basic_stringstream_wchar
*this, MSVCP_bool virt_init
)
12020 return basic_stringstream_wchar_ctor_mode(
12021 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12024 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12025 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12026 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor
, 8)
12027 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor(
12028 basic_stringstream_wchar
*this, MSVCP_bool virt_init
)
12030 return basic_stringstream_short_ctor_mode(
12031 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12034 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
12035 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
12036 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
12037 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
12038 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_dtor
, 4)
12039 void __thiscall
basic_stringstream_wchar_dtor(basic_ios_wchar
*base
)
12041 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12043 TRACE("(%p)\n", this);
12045 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
12046 basic_stringbuf_wchar_dtor(&this->strbuf
);
12049 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12050 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12051 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12052 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12053 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vbase_dtor
, 4)
12054 void __thiscall
basic_stringstream_wchar_vbase_dtor(basic_stringstream_wchar
*this)
12056 TRACE("(%p)\n", this);
12058 basic_stringstream_wchar_dtor(basic_stringstream_wchar_to_basic_ios(this));
12059 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
12062 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vector_dtor
, 8)
12063 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12065 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12067 TRACE("(%p %x)\n", this, flags
);
12070 /* we have an array, with the number of elements stored before the first object */
12071 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12073 for(i
=*ptr
-1; i
>=0; i
--)
12074 basic_stringstream_wchar_vbase_dtor(this+i
);
12075 MSVCRT_operator_delete(ptr
);
12077 basic_stringstream_wchar_vbase_dtor(this);
12079 MSVCRT_operator_delete(this);
12085 /* ?rdbuf@?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPAV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
12086 /* ?rdbuf@?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEAV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */
12087 /* ?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 */
12088 /* ?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 */
12089 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_rdbuf
, 4)
12090 basic_stringbuf_wchar
* __thiscall
basic_stringstream_wchar_rdbuf(const basic_stringstream_wchar
*this)
12092 TRACE("(%p)\n", this);
12093 return (basic_stringbuf_wchar
*)&this->strbuf
;
12096 /* ?str@?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
12097 /* ?str@?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXAEBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */
12098 /* ?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 */
12099 /* ?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 */
12100 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_set
, 8)
12101 void __thiscall
basic_stringstream_wchar_str_set(basic_stringstream_wchar
*this, const basic_string_wchar
*str
)
12103 TRACE("(%p %p)\n", this, str
);
12104 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12107 /* ?str@?$basic_stringstream@_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 */
12108 /* ?str@?$basic_stringstream@_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 */
12109 /* ?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 */
12110 /* ?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 */
12111 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_get
, 8)
12112 basic_string_wchar
* __thiscall
basic_stringstream_wchar_str_get(const basic_stringstream_wchar
*this, basic_string_wchar
*ret
)
12114 TRACE("(%p %p)\n", this, ret
);
12115 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12118 /* ?_Init@strstreambuf@std@@IAEXHPAD0H@Z */
12119 /* ?_Init@strstreambuf@std@@IEAAX_JPEAD1H@Z */
12120 DEFINE_THISCALL_WRAPPER(strstreambuf__Init
, 20)
12121 void __thiscall
strstreambuf__Init(strstreambuf
*this, streamsize len
, char *g
, char *p
, int mode
)
12123 TRACE("(%p %ld %p %p %d)\n", this, len
, g
, p
, mode
);
12125 this->minsize
= 32;
12126 this->endsave
= NULL
;
12127 this->strmode
= mode
;
12128 this->palloc
= NULL
;
12129 this->pfree
= NULL
;
12132 this->strmode
|= STRSTATE_Dynamic
;
12133 if(len
> this->minsize
)
12134 this->minsize
= len
;
12135 this->seekhigh
= NULL
;
12144 this->seekhigh
= g
+len
;
12145 basic_streambuf_char_setg(&this->base
, g
, g
, p
? p
: this->seekhigh
);
12147 basic_streambuf_char_setp(&this->base
, p
, this->seekhigh
);
12150 /* ??0strstreambuf@std@@QAE@PACH0@Z */
12151 /* ??0strstreambuf@std@@QEAA@PEAC_J0@Z */
12152 /* ??0strstreambuf@std@@QAE@PADH0@Z */
12153 /* ??0strstreambuf@std@@QEAA@PEAD_J0@Z */
12154 /* ??0strstreambuf@std@@QAE@PAEH0@Z */
12155 /* ??0strstreambuf@std@@QEAA@PEAE_J0@Z */
12156 static strstreambuf
* strstreambuf_ctor_get_put(strstreambuf
*this, char *g
, streamsize len
, char *p
)
12158 TRACE("(%p %p %ld %p)\n", this, g
, len
, p
);
12160 basic_streambuf_char_ctor(&this->base
);
12161 this->base
.vtable
= &MSVCP_strstreambuf_vtable
;
12163 strstreambuf__Init(this, len
, g
, p
, 0);
12167 /* ?_Tidy@strstreambuf@std@@IAEXXZ */
12168 /* ?_Tidy@strstreambuf@std@@IEAAXXZ */
12169 DEFINE_THISCALL_WRAPPER(strstreambuf__Tidy
, 4)
12170 void __thiscall
strstreambuf__Tidy(strstreambuf
*this)
12172 TRACE("(%p)\n", this);
12174 if((this->strmode
& STRSTATE_Allocated
) && !(this->strmode
& STRSTATE_Frozen
)) {
12176 this->pfree(basic_streambuf_char_eback(&this->base
));
12178 MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base
));
12181 this->endsave
= NULL
;
12182 this->seekhigh
= NULL
;
12183 this->strmode
&= ~(STRSTATE_Allocated
| STRSTATE_Frozen
);
12184 basic_streambuf_char_setg(&this->base
, NULL
, NULL
, NULL
);
12185 basic_streambuf_char_setp(&this->base
, NULL
, NULL
);
12188 /* ??1strstreambuf@std@@UAE@XZ */
12189 /* ??1strstreambuf@std@@UEAA@XZ */
12190 DEFINE_THISCALL_WRAPPER(strstreambuf_dtor
, 4)
12191 void __thiscall
strstreambuf_dtor(strstreambuf
*this)
12193 TRACE("(%p)\n", this);
12195 strstreambuf__Tidy(this);
12196 basic_streambuf_char_dtor(&this->base
);
12199 DEFINE_THISCALL_WRAPPER(strstreambuf_vector_dtor
, 8)
12200 strstreambuf
* __thiscall
strstreambuf_vector_dtor(strstreambuf
*this, unsigned int flags
)
12202 TRACE("(%p %x)\n", this, flags
);
12204 /* we have an array, with the number of elements stored before the first object */
12205 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12207 for(i
=*ptr
-1; i
>=0; i
--)
12208 strstreambuf_dtor(this+i
);
12209 MSVCRT_operator_delete(ptr
);
12211 strstreambuf_dtor(this);
12213 MSVCRT_operator_delete(this);
12219 /* ?freeze@strstreambuf@std@@QAEX_N@Z */
12220 /* ?freeze@strstreambuf@std@@QEAAX_N@Z */
12221 DEFINE_THISCALL_WRAPPER(strstreambuf_freeze
, 8)
12222 void __thiscall
strstreambuf_freeze(strstreambuf
*this, MSVCP_bool freeze
)
12224 TRACE("(%p %d)\n", this, freeze
);
12226 if(!freeze
== !(this->strmode
*STRSTATE_Frozen
))
12230 this->strmode
|= STRSTATE_Frozen
;
12231 this->endsave
= basic_streambuf_char_epptr(&this->base
);
12232 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12233 basic_streambuf_char_pptr(&this->base
), basic_streambuf_char_eback(&this->base
));
12235 this->strmode
&= ~STRSTATE_Frozen
;
12236 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12237 basic_streambuf_char_pptr(&this->base
), this->endsave
);
12241 /* ?overflow@strstreambuf@std@@MAEHH@Z */
12242 /* ?overflow@strstreambuf@std@@MEAAHH@Z */
12243 DEFINE_THISCALL_WRAPPER(strstreambuf_overflow
, 8)
12244 int __thiscall
strstreambuf_overflow(strstreambuf
*this, int c
)
12246 MSVCP_size_t old_size
, size
;
12249 TRACE("(%p %d)\n", this, c
);
12254 if(this->strmode
& STRSTATE_Frozen
)
12257 ptr
= basic_streambuf_char_pptr(&this->base
);
12258 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
12259 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12261 if(!(this->strmode
& STRSTATE_Dynamic
) || (this->strmode
& STRSTATE_Constant
))
12264 ptr
= basic_streambuf_char_eback(&this->base
);
12265 old_size
= ptr
? basic_streambuf_char_epptr(&this->base
) - ptr
: 0;
12267 size
= old_size
+ old_size
/2;
12268 if(size
< this->minsize
)
12269 size
= this->minsize
;
12272 buf
= this->palloc(size
);
12274 buf
= MSVCRT_operator_new(size
);
12278 memcpy(buf
, ptr
, old_size
);
12279 if(this->strmode
& STRSTATE_Allocated
) {
12283 MSVCRT_operator_delete(ptr
);
12286 this->strmode
|= STRSTATE_Allocated
;
12288 this->seekhigh
= buf
;
12289 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
12290 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
);
12292 this->seekhigh
= this->seekhigh
-ptr
+buf
;
12293 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
)-ptr
+buf
,
12294 basic_streambuf_char_pptr(&this->base
)-ptr
+buf
, buf
+size
);
12295 basic_streambuf_char_setg(&this->base
, buf
, basic_streambuf_char_gptr(&this->base
)-ptr
+buf
,
12296 basic_streambuf_char_pptr(&this->base
));
12299 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12302 /* ?pbackfail@strstreambuf@std@@MAEHH@Z */
12303 /* ?pbackfail@strstreambuf@std@@MEAAHH@Z */
12304 DEFINE_THISCALL_WRAPPER(strstreambuf_pbackfail
, 8)
12305 int __thiscall
strstreambuf_pbackfail(strstreambuf
*this, int c
)
12307 char *ptr
= basic_streambuf_char_gptr(&this->base
);
12309 TRACE("(%p %d)\n", this, c
);
12311 if(ptr
<=basic_streambuf_char_eback(&this->base
)
12312 || ((this->strmode
& STRSTATE_Constant
) && c
!=ptr
[-1]))
12315 basic_streambuf_char_gbump(&this->base
, -1);
12318 if(this->strmode
& STRSTATE_Constant
)
12319 return (unsigned char)c
;
12321 return (unsigned char)(ptr
[0] = c
);
12324 /* ?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JHH@Z */
12325 /* ?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
12326 DEFINE_THISCALL_WRAPPER(strstreambuf_seekoff
, 20)
12327 fpos_int
* __thiscall
strstreambuf_seekoff(strstreambuf
*this, fpos_int
*ret
, streamoff off
, int way
, int mode
)
12329 char *eback
= basic_streambuf_char_eback(&this->base
);
12330 char *pptr
= basic_streambuf_char_pptr(&this->base
);
12331 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12333 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
12338 if(pptr
> this->seekhigh
)
12339 this->seekhigh
= pptr
;
12341 if((mode
& OPENMODE_in
) && gptr
) {
12342 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
12344 else if(way
== SEEKDIR_end
)
12345 off
+= this->seekhigh
-eback
;
12346 else if(way
!= SEEKDIR_beg
)
12349 if(off
<0 || off
>this->seekhigh
-eback
) {
12352 basic_streambuf_char_gbump(&this->base
, eback
-gptr
+off
);
12353 if((mode
& OPENMODE_out
) && pptr
) {
12354 basic_streambuf_char_setp_next(&this->base
, eback
,
12355 gptr
, basic_streambuf_char_epptr(&this->base
));
12358 }else if((mode
& OPENMODE_out
) && pptr
) {
12359 if(way
== SEEKDIR_cur
)
12361 else if(way
== SEEKDIR_end
)
12362 off
+= this->seekhigh
-eback
;
12363 else if(way
!= SEEKDIR_beg
)
12366 if(off
<0 || off
>this->seekhigh
-eback
)
12369 basic_streambuf_char_pbump(&this->base
, eback
-pptr
+off
);
12378 /* ?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z */
12379 /* ?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
12380 DEFINE_THISCALL_WRAPPER(strstreambuf_seekpos
, 36)
12381 fpos_int
* __thiscall
strstreambuf_seekpos(strstreambuf
*this, fpos_int
*ret
, fpos_int pos
, int mode
)
12383 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
12385 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
12390 return strstreambuf_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
12393 /* ?underflow@strstreambuf@std@@MAEHXZ */
12394 /* ?underflow@strstreambuf@std@@MEAAHXZ */
12395 DEFINE_THISCALL_WRAPPER(strstreambuf_underflow
, 4)
12396 int __thiscall
strstreambuf_underflow(strstreambuf
*this)
12398 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12401 TRACE("(%p)\n", this);
12406 if(gptr
< basic_streambuf_char_egptr(&this->base
))
12407 return (unsigned char)(*gptr
);
12409 pptr
= basic_streambuf_char_gptr(&this->base
);
12410 if(pptr
> this->seekhigh
)
12411 this->seekhigh
= pptr
;
12413 if(this->seekhigh
<= gptr
)
12416 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
),
12417 gptr
, this->seekhigh
);
12418 return (unsigned char)(*gptr
);
12421 static inline basic_ios_char
* ostrstream_to_basic_ios(ostrstream
*ptr
)
12423 return (basic_ios_char
*)((char*)ptr
+ostrstream_vbtable
[1]);
12426 static inline ostrstream
* ostrstream_from_basic_ios(basic_ios_char
*ptr
)
12428 return (ostrstream
*)((char*)ptr
-ostrstream_vbtable
[1]);
12431 /* ??0ostrstream@std@@QAE@PADHH@Z */
12432 DEFINE_THISCALL_WRAPPER(ostrstream_ctor
, 20)
12433 ostrstream
* __thiscall
ostrstream_ctor(ostrstream
*this, char *buf
, streamsize size
, int mode
, MSVCP_bool virt_init
)
12435 basic_ios_char
*basic_ios
;
12437 TRACE("(%p %p %ld %d %d)\n", this, buf
, size
, mode
, virt_init
);
12440 this->base
.vbtable
= ostrstream_vbtable
;
12441 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
12442 basic_ios_char_ctor(basic_ios
);
12444 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
12447 strstreambuf_ctor_get_put(&this->buf
, buf
, size
,
12448 buf
&& (mode
& OPENMODE_app
) ? buf
+strlen(buf
) : buf
);
12449 basic_ostream_char_ctor(&this->base
, &this->buf
.base
, FALSE
, FALSE
);
12450 basic_ios
->base
.vtable
= &MSVCP_ostrstream_vtable
;
12454 /* ??1ostrstream@std@@UAE@XZ */
12455 /* ??1ostrstream@std@@UEAA@XZ */
12456 DEFINE_THISCALL_WRAPPER(ostrstream_dtor
, 4)
12457 void __thiscall
ostrstream_dtor(basic_ios_char
*base
)
12459 ostrstream
*this = ostrstream_from_basic_ios(base
);
12461 TRACE("(%p)\n", this);
12463 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
12464 strstreambuf_dtor(&this->buf
);
12467 static void ostrstream_vbase_dtor(ostrstream
*this)
12469 TRACE("(%p)\n", this);
12471 ostrstream_dtor(ostrstream_to_basic_ios(this));
12472 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
12475 DEFINE_THISCALL_WRAPPER(ostrstream_vector_dtor
, 8)
12476 ostrstream
* __thiscall
ostrstream_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
12478 ostrstream
*this = ostrstream_from_basic_ios(base
);
12480 TRACE("(%p %x)\n", this, flags
);
12483 /* we have an array, with the number of elements stored before the first object */
12484 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12486 for(i
=*ptr
-1; i
>=0; i
--)
12487 ostrstream_vbase_dtor(this+i
);
12488 MSVCRT_operator_delete(ptr
);
12490 ostrstream_vbase_dtor(this);
12492 MSVCRT_operator_delete(this);
12498 static inline istrstream
* istrstream_from_basic_ios(basic_ios_char
*ptr
)
12500 return (istrstream
*)((char*)ptr
-istrstream_vbtable
[1]);
12503 /* ??1istrstream@std@@UAE@XZ */
12504 /* ??1istrstream@std@@UEAA@XZ */
12505 DEFINE_THISCALL_WRAPPER(istrstream_dtor
, 4)
12506 void __thiscall
istrstream_dtor(basic_ios_char
*base
)
12508 istrstream
*this = istrstream_from_basic_ios(base
);
12510 TRACE("(%p)\n", this);
12512 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
12513 strstreambuf_dtor(&this->buf
);
12516 static inline basic_ios_char
* strstream_to_basic_ios(strstream
*ptr
)
12518 return (basic_ios_char
*)((char*)ptr
+strstream_vbtable1
[1]);
12521 static inline strstream
* strstream_from_basic_ios(basic_ios_char
*ptr
)
12523 return (strstream
*)((char*)ptr
-strstream_vbtable1
[1]);
12526 /* ??0strstream@std@@QAE@PADHH@Z */
12527 /* ??0strstream@std@@QEAA@PEAD_JH@Z */
12528 DEFINE_THISCALL_WRAPPER(strstream_ctor
, 20)
12529 strstream
* __thiscall
strstream_ctor(strstream
*this, char *buf
, streamsize size
, int mode
, MSVCP_bool virt_init
)
12531 basic_ios_char
*basic_ios
;
12533 TRACE("(%p %p %ld %d %d)\n", this, buf
, size
, mode
, virt_init
);
12536 this->base
.base1
.vbtable
= strstream_vbtable1
;
12537 this->base
.base2
.vbtable
= strstream_vbtable2
;
12538 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12539 basic_ios_char_ctor(basic_ios
);
12541 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12544 strstreambuf_ctor_get_put(&this->buf
, buf
, size
,
12545 buf
&& (mode
& OPENMODE_app
) ? buf
+strlen(buf
) : buf
);
12546 basic_iostream_char_ctor(&this->base
, &this->buf
.base
, FALSE
);
12547 basic_ios
->base
.vtable
= &MSVCP_strstream_vtable
;
12551 /* ??1strstream@std@@UAE@XZ */
12552 /* ??1strstream@std@@UEAA@XZ */
12553 DEFINE_THISCALL_WRAPPER(strstream_dtor
, 4)
12554 void __thiscall
strstream_dtor(basic_ios_char
*base
)
12556 strstream
*this = strstream_from_basic_ios(base
);
12558 TRACE("(%p)\n", this);
12560 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
12561 strstreambuf_dtor(&this->buf
);
12564 static void strstream_vbase_dtor(strstream
*this)
12566 TRACE("(%p)\n", this);
12568 strstream_dtor(strstream_to_basic_ios(this));
12569 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
12572 DEFINE_THISCALL_WRAPPER(strstream_vector_dtor
, 8)
12573 strstream
* __thiscall
strstream_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
12575 strstream
*this = strstream_from_basic_ios(base
);
12577 TRACE("(%p %x)\n", this, flags
);
12580 /* we have an array, with the number of elements stored before the first object */
12581 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12583 for(i
=*ptr
-1; i
>=0; i
--)
12584 strstream_vbase_dtor(this+i
);
12585 MSVCRT_operator_delete(ptr
);
12587 strstream_vbase_dtor(this);
12589 MSVCRT_operator_delete(this);
12595 static void __cdecl
setprecision_func(ios_base
*base
, streamsize prec
)
12597 ios_base_precision_set(base
, prec
);
12600 /* ?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z */
12601 /* ?setprecision@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12602 manip_streamsize
* __cdecl
setprecision(manip_streamsize
*ret
, streamsize prec
)
12604 TRACE("(%p %ld)\n", ret
, prec
);
12606 ret
->pfunc
= setprecision_func
;
12611 static void __cdecl
setw_func(ios_base
*base
, streamsize width
)
12613 ios_base_width_set(base
, width
);
12616 /* ?setw@std@@YA?AU?$_Smanip@H@1@H@Z */
12617 /* ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12618 manip_streamsize
* __cdecl
setw(manip_streamsize
*ret
, streamsize width
)
12620 TRACE("(%p %ld)\n", ret
, width
);
12622 ret
->pfunc
= setw_func
;
12627 static void __cdecl
resetioflags_func(ios_base
*base
, int mask
)
12629 ios_base_setf_mask(base
, 0, mask
);
12632 /* ?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z */
12633 manip_int
* __cdecl
resetiosflags(manip_int
*ret
, int mask
)
12635 TRACE("(%p %d)\n", ret
, mask
);
12637 ret
->pfunc
= resetioflags_func
;
12642 static void __cdecl
setiosflags_func(ios_base
*base
, int mask
)
12644 ios_base_setf_mask(base
, FMTFLAG_mask
, mask
);
12647 /* ?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z */
12648 manip_int
* __cdecl
setiosflags(manip_int
*ret
, int mask
)
12650 TRACE("(%p %d)\n", ret
, mask
);
12652 ret
->pfunc
= setiosflags_func
;
12657 static void __cdecl
setbase_func(ios_base
*base
, int set_base
)
12660 set_base
= FMTFLAG_dec
;
12661 else if(set_base
== 8)
12662 set_base
= FMTFLAG_oct
;
12663 else if(set_base
== 16)
12664 set_base
= FMTFLAG_hex
;
12668 ios_base_setf_mask(base
, set_base
, FMTFLAG_basefield
);
12671 /* ?setbase@std@@YA?AU?$_Smanip@H@1@H@Z */
12672 manip_int
* __cdecl
setbase(manip_int
*ret
, int base
)
12674 TRACE("(%p %d)\n", ret
, base
);
12676 ret
->pfunc
= setbase_func
;
12681 static basic_filebuf_char filebuf_char_stdin
;
12682 /* ?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A */
12684 basic_istream_char obj
;
12685 basic_ios_char vbase
;
12687 /* ?_Ptr_cin@std@@3PAV?$basic_istream@DU?$char_traits@D@std@@@1@A */
12688 /* ?_Ptr_cin@std@@3PEAV?$basic_istream@DU?$char_traits@D@std@@@1@EA */
12689 basic_istream_char
*_Ptr_cin
= &cin
.obj
;
12691 static basic_filebuf_wchar filebuf_short_stdin
;
12692 /* ?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A */
12694 basic_istream_wchar obj
;
12695 basic_ios_wchar vbase
;
12696 } ucin
= { { 0 } };
12697 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@GU?$char_traits@G@std@@@1@A */
12698 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@GU?$char_traits@G@std@@@1@EA */
12699 basic_istream_wchar
*_Ptr_ucin
= &ucin
.obj
;
12701 static basic_filebuf_wchar filebuf_wchar_stdin
;
12702 /* ?wcin@std@@3V?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12704 basic_istream_wchar obj
;
12705 basic_ios_wchar vbase
;
12706 } wcin
= { { 0 } };
12707 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12708 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@EA */
12709 basic_istream_wchar
*_Ptr_wcin
= &wcin
.obj
;
12711 static basic_filebuf_char filebuf_char_stdout
;
12712 /* ?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12714 basic_ostream_char obj
;
12715 basic_ios_char vbase
;
12716 } cout
= { { 0 } };
12717 /* ?_Ptr_cout@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12718 /* ?_Ptr_cout@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12719 basic_ostream_char
*_Ptr_cout
= &cout
.obj
;
12721 static basic_filebuf_wchar filebuf_short_stdout
;
12722 /* ?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12724 basic_ostream_wchar obj
;
12725 basic_ios_wchar vbase
;
12726 } ucout
= { { 0 } };
12727 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12728 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12729 basic_ostream_wchar
*_Ptr_ucout
= &ucout
.obj
;
12731 static basic_filebuf_wchar filebuf_wchar_stdout
;
12732 /* ?wcout@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12734 basic_ostream_wchar obj
;
12735 basic_ios_wchar vbase
;
12736 } wcout
= { { 0 } };
12737 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12738 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12739 basic_ostream_wchar
*_Ptr_wcout
= &wcout
.obj
;
12741 static basic_filebuf_char filebuf_char_stderr
;
12742 /* ?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12744 basic_ostream_char obj
;
12745 basic_ios_char vbase
;
12746 } cerr
= { { 0 } };
12747 /* ?_Ptr_cerr@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12748 /* ?_Ptr_cerr@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12749 basic_ostream_char
*_Ptr_cerr
= &cerr
.obj
;
12751 static basic_filebuf_wchar filebuf_short_stderr
;
12752 /* ?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12754 basic_ostream_wchar obj
;
12755 basic_ios_wchar vbase
;
12756 } ucerr
= { { 0 } };
12757 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12758 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12759 basic_ostream_wchar
*_Ptr_ucerr
= &ucerr
.obj
;
12761 static basic_filebuf_wchar filebuf_wchar_stderr
;
12762 /* ?wcerr@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12764 basic_ostream_wchar obj
;
12765 basic_ios_wchar vbase
;
12766 } wcerr
= { { 0 } };
12767 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12768 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12769 basic_ostream_wchar
*_Ptr_wcerr
= &wcerr
.obj
;
12771 static basic_filebuf_char filebuf_char_log
;
12772 /* ?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12774 basic_ostream_char obj
;
12775 basic_ios_char vbase
;
12776 } clog
= { { 0 } };
12777 /* ?_Ptr_clog@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12778 /* ?_Ptr_clog@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12779 basic_ostream_char
*_Ptr_clog
= &clog
.obj
;
12781 static basic_filebuf_wchar filebuf_short_log
;
12782 /* ?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12784 basic_ostream_wchar obj
;
12785 basic_ios_wchar vbase
;
12786 } uclog
= { { 0 } };
12787 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12788 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12789 basic_ostream_wchar
*_Ptr_uclog
= &uclog
.obj
;
12791 static basic_filebuf_wchar filebuf_wchar_log
;
12792 /* ?wclog@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12794 basic_ostream_wchar obj
;
12795 basic_ios_wchar vbase
;
12796 } wclog
= { { 0 } };
12797 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12798 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12799 basic_ostream_wchar
*_Ptr_wclog
= &wclog
.obj
;
12801 /* ?_Init_cnt@Init@ios_base@std@@0HA */
12802 int ios_base_Init__Init_cnt
= -1;
12804 /* ?_Init_ctor@Init@ios_base@std@@CAXPAV123@@Z */
12805 /* ?_Init_ctor@Init@ios_base@std@@CAXPEAV123@@Z */
12806 static void ios_base_Init__Init_ctor(void *this)
12808 TRACE("(%p)\n", this);
12810 if(ios_base_Init__Init_cnt
< 0)
12811 ios_base_Init__Init_cnt
= 1;
12813 ios_base_Init__Init_cnt
++;
12816 /* ??0Init@ios_base@std@@QAE@XZ */
12817 /* ??0Init@ios_base@std@@QEAA@XZ */
12818 DEFINE_THISCALL_WRAPPER(ios_base_Init_ctor
, 4)
12819 void* __thiscall
ios_base_Init_ctor(void *this)
12821 ios_base_Init__Init_ctor(this);
12825 /* ?_Init_dtor@Init@ios_base@std@@CAXPAV123@@Z */
12826 /* ?_Init_dtor@Init@ios_base@std@@CAXPEAV123@@Z */
12827 static void ios_base_Init__Init_dtor(void *this)
12829 TRACE("(%p)\n", this);
12831 ios_base_Init__Init_cnt
--;
12832 if(!ios_base_Init__Init_cnt
) {
12833 basic_ostream_char_flush(&cout
.obj
);
12834 basic_ostream_char_flush(&cerr
.obj
);
12835 basic_ostream_char_flush(&clog
.obj
);
12839 /* ??1Init@ios_base@std@@QAE@XZ */
12840 /* ??1Init@ios_base@std@@QEAA@XZ */
12841 DEFINE_THISCALL_WRAPPER(ios_base_Init_dtor
, 4)
12842 void __thiscall
ios_base_Init_dtor(void *this)
12844 ios_base_Init__Init_dtor(this);
12847 /* ??4Init@ios_base@std@@QAEAAV012@ABV012@@Z */
12848 /* ??4Init@ios_base@std@@QEAAAEAV012@AEBV012@@Z */
12849 DEFINE_THISCALL_WRAPPER(ios_base_Init_op_assign
, 8)
12850 void* __thiscall
ios_base_Init_op_assign(void *this, void *rhs
)
12852 TRACE("(%p %p)\n", this, rhs
);
12856 /* ?_Init_cnt@_Winit@std@@0HA */
12857 int _Winit__Init_cnt
= -1;
12859 /* ??0_Winit@std@@QAE@XZ */
12860 /* ??0_Winit@std@@QEAA@XZ */
12861 DEFINE_THISCALL_WRAPPER(_Winit_ctor
, 4)
12862 void* __thiscall
_Winit_ctor(void *this)
12864 TRACE("(%p)\n", this);
12866 if(_Winit__Init_cnt
< 0)
12867 _Winit__Init_cnt
= 1;
12869 _Winit__Init_cnt
++;
12874 /* ??1_Winit@std@@QAE@XZ */
12875 /* ??1_Winit@std@@QAE@XZ */
12876 DEFINE_THISCALL_WRAPPER(_Winit_dtor
, 4)
12877 void __thiscall
_Winit_dtor(void *this)
12879 TRACE("(%p)\n", this);
12881 _Winit__Init_cnt
--;
12882 if(!_Winit__Init_cnt
) {
12883 basic_ostream_wchar_flush(&wcout
.obj
);
12884 basic_ostream_wchar_flush(&wcerr
.obj
);
12885 basic_ostream_wchar_flush(&wclog
.obj
);
12889 /* ??4_Winit@std@@QAEAAV01@ABV01@@Z */
12890 /* ??4_Winit@std@@QEAAAEAV01@AEBV01@@Z */
12891 DEFINE_THISCALL_WRAPPER(_Winit_op_assign
, 8)
12892 void* __thiscall
_Winit_op_assign(void *this, void *rhs
)
12894 TRACE("(%p %p)\n", this, rhs
);
12898 void init_io(void *base
)
12901 init_iosb_rtti(base
);
12902 init_ios_base_rtti(base
);
12903 init_basic_ios_char_rtti(base
);
12904 init_basic_ios_wchar_rtti(base
);
12905 init_basic_ios_short_rtti(base
);
12906 init_basic_streambuf_char_rtti(base
);
12907 init_basic_streambuf_wchar_rtti(base
);
12908 init_basic_streambuf_short_rtti(base
);
12909 init_basic_filebuf_char_rtti(base
);
12910 init_basic_filebuf_wchar_rtti(base
);
12911 init_basic_filebuf_short_rtti(base
);
12912 init_basic_stringbuf_char_rtti(base
);
12913 init_basic_stringbuf_wchar_rtti(base
);
12914 init_basic_stringbuf_short_rtti(base
);
12915 init_basic_ostream_char_rtti(base
);
12916 init_basic_ostream_wchar_rtti(base
);
12917 init_basic_ostream_short_rtti(base
);
12918 init_basic_istream_char_rtti(base
);
12919 init_basic_istream_wchar_rtti(base
);
12920 init_basic_istream_short_rtti(base
);
12921 init_basic_iostream_char_rtti(base
);
12922 init_basic_iostream_wchar_rtti(base
);
12923 init_basic_iostream_short_rtti(base
);
12924 init_basic_ofstream_char_rtti(base
);
12925 init_basic_ofstream_wchar_rtti(base
);
12926 init_basic_ofstream_short_rtti(base
);
12927 init_basic_ifstream_char_rtti(base
);
12928 init_basic_ifstream_wchar_rtti(base
);
12929 init_basic_ifstream_short_rtti(base
);
12930 init_basic_fstream_char_rtti(base
);
12931 init_basic_fstream_wchar_rtti(base
);
12932 init_basic_fstream_short_rtti(base
);
12933 init_basic_ostringstream_char_rtti(base
);
12934 init_basic_ostringstream_wchar_rtti(base
);
12935 init_basic_ostringstream_short_rtti(base
);
12936 init_basic_istringstream_char_rtti(base
);
12937 init_basic_istringstream_wchar_rtti(base
);
12938 init_basic_istringstream_short_rtti(base
);
12939 init_basic_stringstream_char_rtti(base
);
12940 init_basic_stringstream_wchar_rtti(base
);
12941 init_basic_stringstream_short_rtti(base
);
12942 init_strstreambuf_rtti(base
);
12943 init_strstream_rtti(base
);
12944 init_ostrstream_rtti(base
);
12947 basic_filebuf_char_ctor_file(&filebuf_char_stdin
, stdin
);
12948 basic_istream_char_ctor(&cin
.obj
, &filebuf_char_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12950 basic_filebuf_short_ctor_file(&filebuf_short_stdin
, stdin
);
12951 basic_istream_short_ctor(&ucin
.obj
, &filebuf_short_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12953 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdin
, stdin
);
12954 basic_istream_wchar_ctor(&wcin
.obj
, &filebuf_wchar_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12956 basic_filebuf_char_ctor_file(&filebuf_char_stdout
, stdout
);
12957 basic_ostream_char_ctor(&cout
.obj
, &filebuf_char_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12959 basic_filebuf_short_ctor_file(&filebuf_short_stdout
, stdout
);
12960 basic_ostream_short_ctor(&ucout
.obj
, &filebuf_short_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12962 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdout
, stdout
);
12963 basic_ostream_wchar_ctor(&wcout
.obj
, &filebuf_wchar_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12965 basic_filebuf_char_ctor_file(&filebuf_char_stderr
, stderr
);
12966 basic_ostream_char_ctor(&cerr
.obj
, &filebuf_char_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
12968 basic_filebuf_short_ctor_file(&filebuf_short_stderr
, stderr
);
12969 basic_ostream_short_ctor(&ucerr
.obj
, &filebuf_short_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
12971 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stderr
, stderr
);
12972 basic_ostream_wchar_ctor(&wcerr
.obj
, &filebuf_wchar_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
12974 basic_filebuf_char_ctor_file(&filebuf_char_log
, stderr
);
12975 basic_ostream_char_ctor(&clog
.obj
, &filebuf_char_log
.base
, FALSE
/*FIXME*/, TRUE
);
12977 basic_filebuf_short_ctor_file(&filebuf_short_log
, stderr
);
12978 basic_ostream_short_ctor(&uclog
.obj
, &filebuf_short_log
.base
, FALSE
/*FIXME*/, TRUE
);
12980 basic_filebuf_wchar_ctor_file(&filebuf_wchar_log
, stderr
);
12981 basic_ostream_wchar_ctor(&wclog
.obj
, &filebuf_wchar_log
.base
, FALSE
/*FIXME*/, TRUE
);
12986 basic_istream_char_vbase_dtor(&cin
.obj
);
12987 basic_filebuf_char_dtor(&filebuf_char_stdin
);
12989 basic_istream_wchar_vbase_dtor(&ucin
.obj
);
12990 basic_filebuf_wchar_dtor(&filebuf_short_stdin
);
12992 basic_istream_wchar_vbase_dtor(&wcin
.obj
);
12993 basic_filebuf_wchar_dtor(&filebuf_wchar_stdin
);
12995 basic_ostream_char_vbase_dtor(&cout
.obj
);
12996 basic_filebuf_char_dtor(&filebuf_char_stdout
);
12998 basic_ostream_wchar_vbase_dtor(&ucout
.obj
);
12999 basic_filebuf_wchar_dtor(&filebuf_short_stdout
);
13001 basic_ostream_wchar_vbase_dtor(&wcout
.obj
);
13002 basic_filebuf_wchar_dtor(&filebuf_wchar_stdout
);
13004 basic_ostream_char_vbase_dtor(&cerr
.obj
);
13005 basic_filebuf_char_dtor(&filebuf_char_stderr
);
13007 basic_ostream_wchar_vbase_dtor(&ucerr
.obj
);
13008 basic_filebuf_wchar_dtor(&filebuf_short_stderr
);
13010 basic_ostream_wchar_vbase_dtor(&wcerr
.obj
);
13011 basic_filebuf_wchar_dtor(&filebuf_wchar_stderr
);
13013 basic_ostream_char_vbase_dtor(&clog
.obj
);
13014 basic_filebuf_char_dtor(&filebuf_char_log
);
13016 basic_ostream_wchar_vbase_dtor(&uclog
.obj
);
13017 basic_filebuf_wchar_dtor(&filebuf_short_log
);
13019 basic_ostream_wchar_vbase_dtor(&wclog
.obj
);
13020 basic_filebuf_wchar_dtor(&filebuf_wchar_log
);