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
);
57 } basic_filebuf__Initfl
;
60 basic_streambuf_char base
;
70 basic_streambuf_wchar base
;
77 } basic_filebuf_wchar
;
80 STRINGBUF_allocated
= 1,
81 STRINGBUF_no_write
= 2,
82 STRINGBUF_no_read
= 4,
85 } basic_stringbuf_state
;
88 basic_streambuf_char base
;
91 char allocator
; /* empty struct */
92 } basic_stringbuf_char
;
95 basic_streambuf_wchar base
;
98 char allocator
; /* empty struct */
99 } basic_stringbuf_wchar
;
103 basic_streambuf_char
*strbuf
;
104 struct _basic_ostream_char
*stream
;
110 basic_streambuf_wchar
*strbuf
;
111 struct _basic_ostream_wchar
*stream
;
115 typedef struct _basic_ostream_char
{
117 /* virtual inheritance
118 * basic_ios_char basic_ios;
120 } basic_ostream_char
;
122 typedef struct _basic_ostream_wchar
{
124 /* virtual inheritance
125 * basic_ios_wchar basic_ios;
127 } basic_ostream_wchar
;
132 /* virtual inheritance
133 * basic_ios_char basic_ios;
135 } basic_istream_char
;
140 /* virtual inheritance
141 * basic_ios_wchar basic_ios;
143 } basic_istream_wchar
;
146 basic_istream_char base1
;
147 basic_ostream_char base2
;
148 /* virtual inheritance
149 * basic_ios_char basic_ios;
151 } basic_iostream_char
;
154 basic_istream_wchar base1
;
155 basic_ostream_wchar base2
;
156 /* virtual inheritance
157 * basic_ios_wchar basic_ios;
159 } basic_iostream_wchar
;
162 basic_ostream_char base
;
163 basic_filebuf_char filebuf
;
164 /* virtual inheritance
165 * basic_ios_char basic_ios;
167 } basic_ofstream_char
;
170 basic_ostream_wchar base
;
171 basic_filebuf_wchar filebuf
;
172 /* virtual inheritance
173 * basic_ios_wchar basic_ios;
175 } basic_ofstream_wchar
;
178 basic_istream_char base
;
179 basic_filebuf_char filebuf
;
180 /* virtual inheritance
181 * basic_ios_char basic_ios;
183 } basic_ifstream_char
;
186 basic_istream_wchar base
;
187 basic_filebuf_wchar filebuf
;
188 /* virtual inheritance
189 * basic_ios_wchar basic_ios;
191 } basic_ifstream_wchar
;
194 basic_iostream_char base
;
195 basic_filebuf_char filebuf
;
196 /* virtual inheritance
197 * basic_ios_char basic_ios;
199 } basic_fstream_char
;
202 basic_iostream_wchar base
;
203 basic_filebuf_wchar filebuf
;
204 /* virtual inheritance
205 * basic_ios_char basic_ios;
207 } basic_fstream_wchar
;
210 basic_ostream_char base
;
211 basic_stringbuf_char strbuf
;
212 /* virtual inheritance
213 * basic_ios_char basic_ios;
215 } basic_ostringstream_char
;
218 basic_ostream_wchar base
;
219 basic_stringbuf_wchar strbuf
;
220 /* virtual inheritance
221 * basic_ios_wchar basic_ios;
223 } basic_ostringstream_wchar
;
226 basic_istream_char base
;
227 basic_stringbuf_char strbuf
;
228 /* virtual inheritance
229 * basic_ios_char basic_ios;
231 } basic_istringstream_char
;
234 basic_istream_wchar base
;
235 basic_stringbuf_wchar strbuf
;
236 /* virtual inheritance
237 * basic_ios_wchar basic_ios;
239 } basic_istringstream_wchar
;
242 basic_iostream_char base
;
243 basic_stringbuf_char strbuf
;
244 /* virtual inheritance
245 * basic_ios_char basic_ios;
247 } basic_stringstream_char
;
250 basic_iostream_wchar base
;
251 basic_stringbuf_wchar strbuf
;
252 /* virtual inheritance
253 * basic_ios_wchar basic_ios;
255 } basic_stringstream_wchar
;
258 STRSTATE_Allocated
= 1,
259 STRSTATE_Constant
= 2,
260 STRSTATE_Dynamic
= 4,
262 } strstreambuf__Strstate
;
265 basic_streambuf_char base
;
270 void* (__cdecl
*palloc
)(MSVCP_size_t
);
271 void (__cdecl
*pfree
)(void*);
274 extern const vtable_ptr MSVCP_iosb_vtable
;
276 /* ??_7ios_base@std@@6B@ */
277 extern const vtable_ptr MSVCP_ios_base_vtable
;
279 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
280 extern const vtable_ptr MSVCP_basic_ios_char_vtable
;
282 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
283 extern const vtable_ptr MSVCP_basic_ios_wchar_vtable
;
285 /* ??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@ */
286 extern const vtable_ptr MSVCP_basic_ios_short_vtable
;
288 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
289 extern const vtable_ptr MSVCP_basic_streambuf_char_vtable
;
291 /* ??_7?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@6B@ */
292 extern const vtable_ptr MSVCP_basic_streambuf_wchar_vtable
;
294 /* ??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ */
295 extern const vtable_ptr MSVCP_basic_streambuf_short_vtable
;
297 /* ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ */
298 extern const vtable_ptr MSVCP_basic_filebuf_char_vtable
;
300 /* ??_7?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@6B@ */
301 extern const vtable_ptr MSVCP_basic_filebuf_wchar_vtable
;
303 /* ??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ */
304 extern const vtable_ptr MSVCP_basic_filebuf_short_vtable
;
306 /* ??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
307 extern const vtable_ptr MSVCP_basic_stringbuf_char_vtable
;
309 /* ??_7?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
310 extern const vtable_ptr MSVCP_basic_stringbuf_wchar_vtable
;
312 /* ??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
313 extern const vtable_ptr MSVCP_basic_stringbuf_short_vtable
;
315 /* ??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ */
316 const int basic_ostream_char_vbtable
[] = {0, sizeof(basic_ostream_char
)};
317 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
318 extern const vtable_ptr MSVCP_basic_ostream_char_vtable
;
320 /* ??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@ */
321 const int basic_ostream_wchar_vbtable
[] = {0, sizeof(basic_ostream_wchar
)};
322 /* ??_7?$basic_ostream@_WU?$char_traits@_W@std@@@std@@6B@ */
323 extern const vtable_ptr MSVCP_basic_ostream_wchar_vtable
;
325 /* ??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ */
326 const int basic_ostream_short_vbtable
[] = {0, sizeof(basic_ostream_wchar
)};
327 /* ??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ */
328 extern const vtable_ptr MSVCP_basic_ostream_short_vtable
;
330 /* ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ */
331 const int basic_istream_char_vbtable
[] = {0, sizeof(basic_istream_char
)};
332 /* ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ */
333 extern const vtable_ptr MSVCP_basic_istream_char_vtable
;
335 /* ??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@ */
336 const int basic_istream_wchar_vbtable
[] = {0, sizeof(basic_istream_wchar
)};
337 /* ??_7?$basic_istream@_WU?$char_traits@_W@std@@@std@@6B@ */
338 extern const vtable_ptr MSVCP_basic_istream_wchar_vtable
;
340 /* ??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ */
341 const int basic_istream_short_vbtable
[] = {0, sizeof(basic_istream_wchar
)};
342 /* ??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ */
343 extern const vtable_ptr MSVCP_basic_istream_short_vtable
;
345 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
346 const int basic_iostream_char_vbtable1
[] = {0, sizeof(basic_iostream_char
)};
347 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
348 const int basic_iostream_char_vbtable2
[] = {0, sizeof(basic_iostream_char
)-FIELD_OFFSET(basic_iostream_char
, base2
)};
349 /* ??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ */
350 extern const vtable_ptr MSVCP_basic_iostream_char_vtable
;
352 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
353 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
354 const int basic_iostream_wchar_vbtable1
[] = {0, sizeof(basic_iostream_wchar
)};
355 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
356 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
357 const int basic_iostream_wchar_vbtable2
[] = {0, sizeof(basic_iostream_wchar
)-FIELD_OFFSET(basic_iostream_wchar
, base2
)};
358 /* ??_7?$basic_iostream@_WU?$char_traits@_W@std@@@std@@6B@ */
359 extern const vtable_ptr MSVCP_basic_iostream_wchar_vtable
;
360 /* ??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ */
361 extern const vtable_ptr MSVCP_basic_iostream_short_vtable
;
363 /* ??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ */
364 const int basic_ofstream_char_vbtable
[] = {0, sizeof(basic_ofstream_char
)};
365 /* ??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ */
366 extern const vtable_ptr MSVCP_basic_ofstream_char_vtable
;
368 /* ??_8?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@7B@ */
369 const int basic_ofstream_wchar_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
370 /* ??_7?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@6B@ */
371 extern const vtable_ptr MSVCP_basic_ofstream_wchar_vtable
;
373 /* ??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ */
374 const int basic_ofstream_short_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
375 /* ??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ */
376 extern const vtable_ptr MSVCP_basic_ofstream_short_vtable
;
378 /* ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ */
379 const int basic_ifstream_char_vbtable
[] = {0, sizeof(basic_ifstream_char
)};
380 /* ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ */
381 extern const vtable_ptr MSVCP_basic_ifstream_char_vtable
;
383 /* ??_8?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@7B@ */
384 const int basic_ifstream_wchar_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
385 /* ??_7?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@6B@ */
386 extern const vtable_ptr MSVCP_basic_ifstream_wchar_vtable
;
388 /* ??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ */
389 const int basic_ifstream_short_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
390 /* ??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ */
391 extern const vtable_ptr MSVCP_basic_ifstream_short_vtable
;
393 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
394 const int basic_fstream_char_vbtable1
[] = {0, sizeof(basic_fstream_char
)};
395 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
396 const int basic_fstream_char_vbtable2
[] = {0, sizeof(basic_fstream_char
)-FIELD_OFFSET(basic_fstream_char
, base
.base2
)};
397 /* ??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ */
398 extern const vtable_ptr MSVCP_basic_fstream_char_vtable
;
400 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
401 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
402 const int basic_fstream_wchar_vbtable1
[] = {0, sizeof(basic_fstream_wchar
)};
403 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
404 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
405 const int basic_fstream_wchar_vbtable2
[] = {0, sizeof(basic_fstream_wchar
)-FIELD_OFFSET(basic_fstream_wchar
, base
.base2
)};
406 /* ??_7?$basic_fstream@_WU?$char_traits@_W@std@@@std@@6B@ */
407 extern const vtable_ptr MSVCP_basic_fstream_wchar_vtable
;
408 /* ??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ */
409 extern const vtable_ptr MSVCP_basic_fstream_short_vtable
;
411 /* ??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
412 const int basic_ostringstream_char_vbtable
[] = {0, sizeof(basic_ostringstream_char
)};
413 /* ??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
414 extern const vtable_ptr MSVCP_basic_ostringstream_char_vtable
;
416 /* ??_8?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
417 const int basic_ostringstream_wchar_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
418 /* ??_7?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
419 extern const vtable_ptr MSVCP_basic_ostringstream_wchar_vtable
;
421 /* ??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
422 const int basic_ostringstream_short_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
423 /* ??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
424 extern const vtable_ptr MSVCP_basic_ostringstream_short_vtable
;
426 /* ??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
427 const int basic_istringstream_char_vbtable
[] = {0, sizeof(basic_istringstream_char
)};
428 /* ??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
429 extern const vtable_ptr MSVCP_basic_istringstream_char_vtable
;
431 /* ??_8?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
432 const int basic_istringstream_wchar_vbtable
[] = {0, sizeof(basic_istringstream_wchar
)};
433 /* ??_7?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
434 extern const vtable_ptr MSVCP_basic_istringstream_wchar_vtable
;
436 /* ??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
437 const int basic_istringstream_short_vbtable
[] = {0, sizeof(basic_istringstream_wchar
)};
438 /* ??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
439 extern const vtable_ptr MSVCP_basic_istringstream_short_vtable
;
441 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
442 const int basic_stringstream_char_vbtable1
[] = {0, sizeof(basic_stringstream_char
)};
443 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
444 const int basic_stringstream_char_vbtable2
[] = {0, sizeof(basic_stringstream_char
)-FIELD_OFFSET(basic_stringstream_char
, base
.base2
)};
445 /* ??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
446 extern const vtable_ptr MSVCP_basic_stringstream_char_vtable
;
448 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
449 const int basic_stringstream_wchar_vbtable1
[] = {0, sizeof(basic_stringstream_wchar
)};
450 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
451 const int basic_stringstream_wchar_vbtable2
[] = {0, sizeof(basic_stringstream_wchar
)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
452 /* ??_7?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
453 extern const vtable_ptr MSVCP_basic_stringstream_wchar_vtable
;
455 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
456 const int basic_stringstream_short_vbtable1
[] = {0, sizeof(basic_stringstream_wchar
)};
457 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
458 const int basic_stringstream_short_vbtable2
[] = {0, sizeof(basic_stringstream_wchar
)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
459 /* ??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
460 extern const vtable_ptr MSVCP_basic_stringstream_short_vtable
;
462 /* ??_7strstreambuf@std@@6B */
463 extern const vtable_ptr MSVCP_strstreambuf_vtable
;
465 DEFINE_RTTI_DATA0(iosb
, 0, ".?AV?$_Iosb@H@std@@");
466 DEFINE_RTTI_DATA1(ios_base
, 0, &iosb_rtti_base_descriptor
, ".?AV?$_Iosb@H@std@@");
467 DEFINE_RTTI_DATA2(basic_ios_char
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
468 ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@");
469 DEFINE_RTTI_DATA2(basic_ios_wchar
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
470 ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@");
471 DEFINE_RTTI_DATA2(basic_ios_short
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
472 ".?AV?$basic_ios@GU?$char_traits@G@std@@@std@@");
473 DEFINE_RTTI_DATA0(basic_streambuf_char
, 0,
474 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@");
475 DEFINE_RTTI_DATA0(basic_streambuf_wchar
, 0,
476 ".?AV?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@");
477 DEFINE_RTTI_DATA0(basic_streambuf_short
, 0,
478 ".?AV?$basic_streambuf@GU?$char_traits@G@std@@@std@@");
479 DEFINE_RTTI_DATA1(basic_filebuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
480 ".?AV?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@");
481 DEFINE_RTTI_DATA1(basic_filebuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
482 ".?AV?$basic_filebuf@GU?$char_traits@G@std@@@std@@");
483 DEFINE_RTTI_DATA1(basic_filebuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
484 ".?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@");
485 DEFINE_RTTI_DATA1(basic_stringbuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
486 ".?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
487 DEFINE_RTTI_DATA1(basic_stringbuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
488 ".?AV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
489 DEFINE_RTTI_DATA1(basic_stringbuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
490 ".?AV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
491 DEFINE_RTTI_DATA3(basic_ostream_char
, sizeof(basic_ostream_char
), &basic_ios_char_rtti_base_descriptor
,
492 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
493 ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@");
494 DEFINE_RTTI_DATA3(basic_ostream_wchar
, sizeof(basic_ostream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
495 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
496 ".?AV?$basic_ostream@_WU?$char_traits@_W@std@@@std@@");
497 DEFINE_RTTI_DATA3(basic_ostream_short
, sizeof(basic_ostream_wchar
), &basic_ios_short_rtti_base_descriptor
,
498 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
499 ".?AV?$basic_ostream@GU?$char_traits@G@std@@@std@@");
500 DEFINE_RTTI_DATA3(basic_istream_char
, sizeof(basic_istream_char
), &basic_ios_char_rtti_base_descriptor
,
501 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
502 ".?AV?$basic_istream@DU?$char_traits@D@std@@@std@@");
503 DEFINE_RTTI_DATA3(basic_istream_wchar
, sizeof(basic_istream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
504 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
505 ".?AV?$basic_istream@_WU?$char_traits@_W@std@@@std@@");
506 DEFINE_RTTI_DATA3(basic_istream_short
, sizeof(basic_istream_wchar
), &basic_ios_short_rtti_base_descriptor
,
507 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
508 ".?AV?$basic_istream@GU?$char_traits@G@std@@@std@@");
509 DEFINE_RTTI_DATA8(basic_iostream_char
, sizeof(basic_iostream_char
),
510 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
511 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
512 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
513 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
514 ".?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@");
515 DEFINE_RTTI_DATA8(basic_iostream_wchar
, sizeof(basic_iostream_wchar
),
516 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
517 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
518 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
519 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
520 ".?AV?$basic_iostream@_WU?$char_traits@_W@std@@@std@@");
521 DEFINE_RTTI_DATA8(basic_iostream_short
, sizeof(basic_iostream_wchar
),
522 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
523 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
524 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
525 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
526 ".?AV?$basic_iostream@GU?$char_traits@G@std@@@std@@");
527 DEFINE_RTTI_DATA4(basic_ofstream_char
, sizeof(basic_ofstream_char
),
528 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
529 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
530 ".?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@");
531 DEFINE_RTTI_DATA4(basic_ofstream_wchar
, sizeof(basic_ofstream_wchar
),
532 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
533 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
534 ".?AV?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@");
535 DEFINE_RTTI_DATA4(basic_ofstream_short
, sizeof(basic_ofstream_wchar
),
536 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
537 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
538 ".?AV?$basic_ofstream@GU?$char_traits@G@std@@@std@@");
539 DEFINE_RTTI_DATA4(basic_ifstream_char
, sizeof(basic_ifstream_char
),
540 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
541 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
542 ".?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@");
543 DEFINE_RTTI_DATA4(basic_ifstream_wchar
, sizeof(basic_ifstream_wchar
),
544 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
545 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
546 ".?AV?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@");
547 DEFINE_RTTI_DATA4(basic_ifstream_short
, sizeof(basic_ifstream_wchar
),
548 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
549 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
550 ".?AV?$basic_ifstream@GU?$char_traits@G@std@@@std@@");
551 DEFINE_RTTI_DATA8(basic_fstream_char
, sizeof(basic_fstream_char
),
552 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
553 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
554 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
555 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
556 ".?AV?$basic_fstream@DU?$char_traits@D@std@@@std@@");
557 DEFINE_RTTI_DATA8(basic_fstream_wchar
, sizeof(basic_fstream_wchar
),
558 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
559 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
560 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
561 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
562 ".?AV?$basic_fstream@_WU?$char_traits@_W@std@@@std@@");
563 DEFINE_RTTI_DATA8(basic_fstream_short
, sizeof(basic_fstream_wchar
),
564 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
565 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
566 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
567 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
568 ".?AV?$basic_fstream@GU?$char_traits@G@std@@@std@@");
569 DEFINE_RTTI_DATA4(basic_ostringstream_char
, sizeof(basic_ostringstream_char
),
570 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
571 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
572 ".?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
573 DEFINE_RTTI_DATA4(basic_ostringstream_wchar
, sizeof(basic_ostringstream_wchar
),
574 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
575 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
576 ".?AV?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
577 DEFINE_RTTI_DATA4(basic_ostringstream_short
, sizeof(basic_ostringstream_wchar
),
578 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
579 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
580 ".?AV?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
581 DEFINE_RTTI_DATA4(basic_istringstream_char
, sizeof(basic_istringstream_char
),
582 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
583 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
584 ".?AV?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
585 DEFINE_RTTI_DATA4(basic_istringstream_wchar
, sizeof(basic_istringstream_wchar
),
586 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
587 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
588 ".?AV?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
589 DEFINE_RTTI_DATA4(basic_istringstream_short
, sizeof(basic_istringstream_wchar
),
590 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
591 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
592 ".?AV?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
593 DEFINE_RTTI_DATA8(basic_stringstream_char
, sizeof(basic_stringstream_char
),
594 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
595 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
596 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
597 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
598 ".?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
599 DEFINE_RTTI_DATA8(basic_stringstream_wchar
, sizeof(basic_stringstream_wchar
),
600 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
601 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
602 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
603 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
604 ".?AV?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
605 DEFINE_RTTI_DATA8(basic_stringstream_short
, sizeof(basic_stringstream_wchar
),
606 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
607 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
608 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
609 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
610 ".?AV?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
611 DEFINE_RTTI_DATA1(strstreambuf
, sizeof(strstreambuf
),
612 &basic_streambuf_char_rtti_base_descriptor
, ".?AVstrstreambuf@std@@");
615 void __asm_dummy_vtables(void) {
618 VTABLE_ADD_FUNC(iosb_vector_dtor
));
619 __ASM_VTABLE(ios_base
,
620 VTABLE_ADD_FUNC(ios_base_vector_dtor
));
621 __ASM_VTABLE(basic_ios_char
,
622 VTABLE_ADD_FUNC(basic_ios_char_vector_dtor
));
623 __ASM_VTABLE(basic_ios_wchar
,
624 VTABLE_ADD_FUNC(basic_ios_wchar_vector_dtor
));
625 __ASM_VTABLE(basic_ios_short
,
626 VTABLE_ADD_FUNC(basic_ios_wchar_vector_dtor
));
627 __ASM_VTABLE(basic_streambuf_char
,
628 VTABLE_ADD_FUNC(basic_streambuf_char_vector_dtor
)
629 VTABLE_ADD_FUNC(basic_streambuf_char_overflow
)
630 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail
)
631 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
632 VTABLE_ADD_FUNC(basic_streambuf_char_underflow
)
633 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
634 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
635 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
636 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
637 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff
)
638 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos
)
639 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
640 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
641 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
642 __ASM_VTABLE(basic_streambuf_wchar
,
643 VTABLE_ADD_FUNC(basic_streambuf_wchar_vector_dtor
)
644 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
645 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
646 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
647 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
648 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
649 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
650 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
651 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
652 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
653 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
654 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
655 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
656 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
657 __ASM_VTABLE(basic_streambuf_short
,
658 VTABLE_ADD_FUNC(basic_streambuf_wchar_vector_dtor
)
659 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
660 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
661 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
662 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
663 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
664 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
665 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
666 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
667 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
668 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
669 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
670 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
671 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
672 __ASM_VTABLE(basic_filebuf_char
,
673 VTABLE_ADD_FUNC(basic_filebuf_char_vector_dtor
)
674 VTABLE_ADD_FUNC(basic_filebuf_char_overflow
)
675 VTABLE_ADD_FUNC(basic_filebuf_char_pbackfail
)
676 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
677 VTABLE_ADD_FUNC(basic_filebuf_char_underflow
)
678 VTABLE_ADD_FUNC(basic_filebuf_char_uflow
)
679 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
680 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
681 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
682 VTABLE_ADD_FUNC(basic_filebuf_char_seekoff
)
683 VTABLE_ADD_FUNC(basic_filebuf_char_seekpos
)
684 VTABLE_ADD_FUNC(basic_filebuf_char_setbuf
)
685 VTABLE_ADD_FUNC(basic_filebuf_char_sync
)
686 VTABLE_ADD_FUNC(basic_filebuf_char_imbue
));
687 __ASM_VTABLE(basic_filebuf_wchar
,
688 VTABLE_ADD_FUNC(basic_filebuf_wchar_vector_dtor
)
689 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
690 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
691 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
692 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
693 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
694 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
695 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
696 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
697 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
698 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
699 VTABLE_ADD_FUNC(basic_filebuf_wchar_setbuf
)
700 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
701 VTABLE_ADD_FUNC(basic_filebuf_wchar_imbue
));
702 __ASM_VTABLE(basic_filebuf_short
,
703 VTABLE_ADD_FUNC(basic_filebuf_wchar_vector_dtor
)
704 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
705 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
706 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
707 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
708 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
709 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
710 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
711 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
712 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
713 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
714 VTABLE_ADD_FUNC(basic_filebuf_short_setbuf
)
715 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
716 VTABLE_ADD_FUNC(basic_filebuf_short_imbue
));
717 __ASM_VTABLE(basic_stringbuf_char
,
718 VTABLE_ADD_FUNC(basic_stringbuf_char_vector_dtor
)
719 VTABLE_ADD_FUNC(basic_stringbuf_char_overflow
)
720 VTABLE_ADD_FUNC(basic_stringbuf_char_pbackfail
)
721 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
722 VTABLE_ADD_FUNC(basic_stringbuf_char_underflow
)
723 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
724 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
725 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
726 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
727 VTABLE_ADD_FUNC(basic_stringbuf_char_seekoff
)
728 VTABLE_ADD_FUNC(basic_stringbuf_char_seekpos
)
729 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
730 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
731 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
732 __ASM_VTABLE(basic_stringbuf_wchar
,
733 VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor
)
734 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
735 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
736 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
737 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
738 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
739 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
740 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
741 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
742 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
743 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
744 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
745 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
746 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
747 __ASM_VTABLE(basic_stringbuf_short
,
748 VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor
)
749 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
750 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
751 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
752 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
753 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
754 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
755 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
756 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
757 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
758 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
759 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
760 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
761 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
762 __ASM_VTABLE(basic_ostream_char
,
763 VTABLE_ADD_FUNC(basic_ostream_char_vector_dtor
));
764 __ASM_VTABLE(basic_ostream_wchar
,
765 VTABLE_ADD_FUNC(basic_ostream_wchar_vector_dtor
));
766 __ASM_VTABLE(basic_ostream_short
,
767 VTABLE_ADD_FUNC(basic_ostream_wchar_vector_dtor
));
768 __ASM_VTABLE(basic_istream_char
,
769 VTABLE_ADD_FUNC(basic_istream_char_vector_dtor
));
770 __ASM_VTABLE(basic_istream_wchar
,
771 VTABLE_ADD_FUNC(basic_istream_wchar_vector_dtor
));
772 __ASM_VTABLE(basic_istream_short
,
773 VTABLE_ADD_FUNC(basic_istream_wchar_vector_dtor
));
774 __ASM_VTABLE(basic_iostream_char
,
775 VTABLE_ADD_FUNC(basic_iostream_char_vector_dtor
));
776 __ASM_VTABLE(basic_iostream_wchar
,
777 VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor
));
778 __ASM_VTABLE(basic_iostream_short
,
779 VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor
));
780 __ASM_VTABLE(basic_ofstream_char
,
781 VTABLE_ADD_FUNC(basic_ofstream_char_vector_dtor
));
782 __ASM_VTABLE(basic_ofstream_wchar
,
783 VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor
));
784 __ASM_VTABLE(basic_ofstream_short
,
785 VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor
));
786 __ASM_VTABLE(basic_ifstream_char
,
787 VTABLE_ADD_FUNC(basic_ifstream_char_vector_dtor
));
788 __ASM_VTABLE(basic_ifstream_wchar
,
789 VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor
));
790 __ASM_VTABLE(basic_ifstream_short
,
791 VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor
));
792 __ASM_VTABLE(basic_fstream_char
,
793 VTABLE_ADD_FUNC(basic_fstream_char_vector_dtor
));
794 __ASM_VTABLE(basic_fstream_wchar
,
795 VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor
));
796 __ASM_VTABLE(basic_fstream_short
,
797 VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor
));
798 __ASM_VTABLE(basic_ostringstream_char
,
799 VTABLE_ADD_FUNC(basic_ostringstream_char_vector_dtor
));
800 __ASM_VTABLE(basic_ostringstream_wchar
,
801 VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor
));
802 __ASM_VTABLE(basic_ostringstream_short
,
803 VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor
));
804 __ASM_VTABLE(basic_istringstream_char
,
805 VTABLE_ADD_FUNC(basic_istringstream_char_vector_dtor
));
806 __ASM_VTABLE(basic_istringstream_wchar
,
807 VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor
));
808 __ASM_VTABLE(basic_istringstream_short
,
809 VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor
));
810 __ASM_VTABLE(basic_stringstream_char
,
811 VTABLE_ADD_FUNC(basic_stringstream_char_vector_dtor
));
812 __ASM_VTABLE(basic_stringstream_wchar
,
813 VTABLE_ADD_FUNC(basic_stringstream_wchar_vector_dtor
));
814 __ASM_VTABLE(basic_stringstream_short
,
815 VTABLE_ADD_FUNC(basic_stringstream_wchar_vector_dtor
));
816 __ASM_VTABLE(strstreambuf
,
817 VTABLE_ADD_FUNC(strstreambuf_vector_dtor
)
818 VTABLE_ADD_FUNC(strstreambuf_overflow
)
819 VTABLE_ADD_FUNC(strstreambuf_pbackfail
)
820 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
821 VTABLE_ADD_FUNC(strstreambuf_underflow
)
822 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
823 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
824 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
825 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
826 VTABLE_ADD_FUNC(strstreambuf_seekoff
)
827 VTABLE_ADD_FUNC(strstreambuf_seekpos
)
828 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
829 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
830 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
835 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
836 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
837 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next
, 16)
838 void __thiscall
basic_streambuf_char_setp_next(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
840 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
844 this->wsize
= last
-next
;
847 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
848 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
849 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp
, 12)
850 void __thiscall
basic_streambuf_char_setp(basic_streambuf_char
*this, char *first
, char *last
)
852 basic_streambuf_char_setp_next(this, first
, first
, last
);
855 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
856 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
857 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg
, 16)
858 void __thiscall
basic_streambuf_char_setg(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
860 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
864 this->rsize
= last
-next
;
867 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
868 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
869 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty
, 4)
870 void __thiscall
basic_streambuf_char__Init_empty(basic_streambuf_char
*this)
872 TRACE("(%p)\n", this);
874 this->prbuf
= &this->rbuf
;
875 this->pwbuf
= &this->wbuf
;
876 this->prpos
= &this->rpos
;
877 this->pwpos
= &this->wpos
;
878 this->prsize
= &this->rsize
;
879 this->pwsize
= &this->wsize
;
881 basic_streambuf_char_setp(this, NULL
, NULL
);
882 basic_streambuf_char_setg(this, NULL
, NULL
, NULL
);
885 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
886 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
887 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized
, 8)
888 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor_uninitialized(basic_streambuf_char
*this, int uninitialized
)
890 TRACE("(%p %d)\n", this, uninitialized
);
891 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
892 mutex_ctor(&this->lock
);
896 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
897 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
898 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor
, 4)
899 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor(basic_streambuf_char
*this)
901 TRACE("(%p)\n", this);
903 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
904 mutex_ctor(&this->lock
);
905 this->loc
= MSVCRT_operator_new(sizeof(locale
));
906 locale_ctor(this->loc
);
907 basic_streambuf_char__Init_empty(this);
912 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
913 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
914 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor
, 4)
915 void __thiscall
basic_streambuf_char_dtor(basic_streambuf_char
*this)
917 TRACE("(%p)\n", this);
919 mutex_dtor(&this->lock
);
920 locale_dtor(this->loc
);
921 MSVCRT_operator_delete(this->loc
);
924 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_vector_dtor
, 8)
925 basic_streambuf_char
* __thiscall
basic_streambuf_char_vector_dtor(basic_streambuf_char
*this, unsigned int flags
)
927 TRACE("(%p %x)\n", this, flags
);
929 /* we have an array, with the number of elements stored before the first object */
930 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
932 for(i
=*ptr
-1; i
>=0; i
--)
933 basic_streambuf_char_dtor(this+i
);
934 MSVCRT_operator_delete(ptr
);
936 basic_streambuf_char_dtor(this);
938 MSVCRT_operator_delete(this);
944 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
945 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
946 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnavail
, 4)
947 streamsize __thiscall
basic_streambuf_char__Gnavail(const basic_streambuf_char
*this)
949 TRACE("(%p)\n", this);
950 return *this->prpos
? *this->prsize
: 0;
953 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
954 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
955 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec
, 4)
956 char* __thiscall
basic_streambuf_char__Gndec(basic_streambuf_char
*this)
958 TRACE("(%p)\n", this);
964 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
965 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
966 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc
, 4)
967 char* __thiscall
basic_streambuf_char__Gninc(basic_streambuf_char
*this)
969 TRACE("(%p)\n", this);
971 return (*this->prpos
)++;
974 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
975 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
976 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnpreinc
, 4)
977 char* __thiscall
basic_streambuf_char__Gnpreinc(basic_streambuf_char
*this)
979 TRACE("(%p)\n", this);
985 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
986 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
987 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init
, 28)
988 void __thiscall
basic_streambuf_char__Init(basic_streambuf_char
*this, char **gf
, char **gn
, int *gc
, char **pf
, char **pn
, int *pc
)
990 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1000 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1001 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1002 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock
, 4)
1003 void __thiscall
basic_streambuf_char__Lock(basic_streambuf_char
*this)
1005 TRACE("(%p)\n", this);
1006 mutex_lock(&this->lock
);
1009 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
1010 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
1011 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pnavail
, 4)
1012 streamsize __thiscall
basic_streambuf_char__Pnavail(const basic_streambuf_char
*this)
1014 TRACE("(%p)\n", this);
1015 return *this->pwpos
? *this->pwsize
: 0;
1018 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1019 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1020 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc
, 4)
1021 char* __thiscall
basic_streambuf_char__Pninc(basic_streambuf_char
*this)
1023 TRACE("(%p)\n", this);
1025 return (*this->pwpos
)++;
1028 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1029 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1030 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow
, 4)
1031 #define call_basic_streambuf_char_underflow(this) CALL_VTBL_FUNC(this, 16, \
1032 int, (basic_streambuf_char*), (this))
1033 int __thiscall
basic_streambuf_char_underflow(basic_streambuf_char
*this)
1035 TRACE("(%p)\n", this);
1039 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1040 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1041 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow
, 4)
1042 #define call_basic_streambuf_char_uflow(this) CALL_VTBL_FUNC(this, 20, \
1043 int, (basic_streambuf_char*), (this))
1044 int __thiscall
basic_streambuf_char_uflow(basic_streambuf_char
*this)
1048 TRACE("(%p)\n", this);
1050 if(call_basic_streambuf_char_underflow(this)==EOF
)
1053 ret
= **this->prpos
;
1059 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
1060 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
1061 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s
, 16)
1062 #define call_basic_streambuf_char__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1063 streamsize, (basic_streambuf_char*, char*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1064 streamsize __thiscall
basic_streambuf_char__Xsgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
1066 streamsize copied
, chunk
;
1069 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1071 for(copied
=0; copied
<count
&& size
;) {
1072 chunk
= basic_streambuf_char__Gnavail(this);
1073 if(chunk
> count
-copied
)
1074 chunk
= count
-copied
;
1077 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
1078 *this->prpos
+= chunk
;
1079 *this->prsize
-= chunk
;
1082 }else if((c
= call_basic_streambuf_char_uflow(this)) != EOF
) {
1094 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
1095 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
1096 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s
, 16)
1097 streamsize __thiscall
basic_streambuf_char__Sgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
1099 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1100 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, size
, count
);
1103 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1104 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1105 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock
, 4)
1106 void __thiscall
basic_streambuf_char__Unlock(basic_streambuf_char
*this)
1108 TRACE("(%p)\n", this);
1109 mutex_unlock(&this->lock
);
1112 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1113 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1114 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback
, 4)
1115 char* __thiscall
basic_streambuf_char_eback(const basic_streambuf_char
*this)
1117 TRACE("(%p)\n", this);
1118 return *this->prbuf
;
1121 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1122 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1123 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr
, 4)
1124 char* __thiscall
basic_streambuf_char_gptr(const basic_streambuf_char
*this)
1126 TRACE("(%p)\n", this);
1127 return *this->prpos
;
1130 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1131 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1132 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr
, 4)
1133 char* __thiscall
basic_streambuf_char_egptr(const basic_streambuf_char
*this)
1135 TRACE("(%p)\n", this);
1136 return *this->prpos
+*this->prsize
;
1139 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1140 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1141 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr
, 4)
1142 char* __thiscall
basic_streambuf_char_epptr(const basic_streambuf_char
*this)
1144 TRACE("(%p)\n", this);
1145 return *this->pwpos
+*this->pwsize
;
1148 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1149 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1150 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump
, 8)
1151 void __thiscall
basic_streambuf_char_gbump(basic_streambuf_char
*this, int off
)
1153 TRACE("(%p %d)\n", this, off
);
1154 *this->prpos
+= off
;
1155 *this->prsize
-= off
;
1158 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
1159 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
1160 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc
, 8)
1161 locale
* __thiscall
basic_streambuf_char_getloc(const basic_streambuf_char
*this, locale
*ret
)
1163 TRACE("(%p)\n", this);
1164 return locale_copy_ctor(ret
, this->loc
);
1167 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
1168 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
1169 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue
, 8)
1170 #define call_basic_streambuf_char_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
1171 void, (basic_streambuf_char*, const locale*), (this, loc))
1172 void __thiscall
basic_streambuf_char_imbue(basic_streambuf_char
*this, const locale
*loc
)
1174 TRACE("(%p %p)\n", this, loc
);
1177 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1178 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1179 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow
, 8)
1180 #define call_basic_streambuf_char_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1181 int, (basic_streambuf_char*, int), (this, ch))
1182 int __thiscall
basic_streambuf_char_overflow(basic_streambuf_char
*this, int ch
)
1184 TRACE("(%p %d)\n", this, ch
);
1188 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1189 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1190 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail
, 8)
1191 #define call_basic_streambuf_char_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1192 int, (basic_streambuf_char*, int), (this, ch))
1193 int __thiscall
basic_streambuf_char_pbackfail(basic_streambuf_char
*this, int ch
)
1195 TRACE("(%p %d)\n", this, ch
);
1199 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1200 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1201 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase
, 4)
1202 char* __thiscall
basic_streambuf_char_pbase(const basic_streambuf_char
*this)
1204 TRACE("(%p)\n", this);
1205 return *this->pwbuf
;
1208 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1209 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1210 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump
, 8)
1211 void __thiscall
basic_streambuf_char_pbump(basic_streambuf_char
*this, int off
)
1213 TRACE("(%p %d)\n", this, off
);
1214 *this->pwpos
+= off
;
1215 *this->pwsize
-= off
;
1218 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1219 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1220 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr
, 4)
1221 char* __thiscall
basic_streambuf_char_pptr(const basic_streambuf_char
*this)
1223 TRACE("(%p)\n", this);
1224 return *this->pwpos
;
1227 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1228 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1229 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue
, 12)
1230 locale
* __thiscall
basic_streambuf_char_pubimbue(basic_streambuf_char
*this, locale
*ret
, const locale
*loc
)
1232 TRACE("(%p %p)\n", this, loc
);
1233 memcpy(ret
, this->loc
, sizeof(locale
));
1234 call_basic_streambuf_char_imbue(this, loc
);
1235 locale_copy_ctor(this->loc
, loc
);
1239 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1240 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1241 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff
, 20)
1242 #define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
1243 fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1244 fpos_int
* __thiscall
basic_streambuf_char_seekoff(basic_streambuf_char
*this,
1245 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1247 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1254 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1255 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1256 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff
, 20)
1257 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff(basic_streambuf_char
*this,
1258 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1260 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1261 return call_basic_streambuf_char_seekoff(this, ret
, off
, way
, mode
);
1264 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1265 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1266 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old
, 20)
1267 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff_old(basic_streambuf_char
*this,
1268 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
1270 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1271 return basic_streambuf_char_pubseekoff(this, ret
, off
, way
, mode
);
1274 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1275 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1276 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos
, 36)
1277 #define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
1278 fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1279 fpos_int
* __thiscall
basic_streambuf_char_seekpos(basic_streambuf_char
*this,
1280 fpos_int
*ret
, fpos_int pos
, int mode
)
1282 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1289 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1290 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1291 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos
, 36)
1292 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos(basic_streambuf_char
*this,
1293 fpos_int
*ret
, fpos_int pos
, int mode
)
1295 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1296 return call_basic_streambuf_char_seekpos(this, ret
, pos
, mode
);
1299 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1300 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1301 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old
, 36)
1302 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos_old(basic_streambuf_char
*this,
1303 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
1305 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1306 return basic_streambuf_char_pubseekpos(this, ret
, pos
, mode
);
1309 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
1310 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
1311 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf
, 12)
1312 #define call_basic_streambuf_char_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
1313 basic_streambuf_char*, (basic_streambuf_char*, char*, streamsize), (this, buf, count))
1314 basic_streambuf_char
* __thiscall
basic_streambuf_char_setbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1316 TRACE("(%p %p %ld)\n", this, buf
, count
);
1320 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
1321 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
1322 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf
, 12)
1323 basic_streambuf_char
* __thiscall
basic_streambuf_char_pubsetbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1325 TRACE("(%p %p %ld)\n", this, buf
, count
);
1326 return call_basic_streambuf_char_setbuf(this, buf
, count
);
1329 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1330 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1331 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync
, 4)
1332 #define call_basic_streambuf_char_sync(this) CALL_VTBL_FUNC(this, 48, \
1333 int, (basic_streambuf_char*), (this))
1334 int __thiscall
basic_streambuf_char_sync(basic_streambuf_char
*this)
1336 TRACE("(%p)\n", this);
1340 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1341 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1342 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync
, 4)
1343 int __thiscall
basic_streambuf_char_pubsync(basic_streambuf_char
*this)
1345 TRACE("(%p)\n", this);
1346 return call_basic_streambuf_char_sync(this);
1349 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
1350 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
1351 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn
, 12)
1352 streamsize __thiscall
basic_streambuf_char_sgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1354 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1355 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1358 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1359 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
1360 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc
, 4)
1361 #define call_basic_streambuf_char_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
1362 streamsize, (basic_streambuf_char*), (this))
1363 streamsize __thiscall
basic_streambuf_char_showmanyc(basic_streambuf_char
*this)
1365 TRACE("(%p)\n", this);
1369 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1370 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
1371 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail
, 4)
1372 streamsize __thiscall
basic_streambuf_char_in_avail(basic_streambuf_char
*this)
1376 TRACE("(%p)\n", this);
1378 ret
= basic_streambuf_char__Gnavail(this);
1379 return ret
? ret
: call_basic_streambuf_char_showmanyc(this);
1382 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1383 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1384 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc
, 8)
1385 int __thiscall
basic_streambuf_char_sputbackc(basic_streambuf_char
*this, char ch
)
1387 TRACE("(%p %d)\n", this, ch
);
1388 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
1394 return call_basic_streambuf_char_pbackfail(this, ch
);
1397 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1398 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1399 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc
, 8)
1400 int __thiscall
basic_streambuf_char_sputc(basic_streambuf_char
*this, char ch
)
1402 TRACE("(%p %d)\n", this, ch
);
1403 return basic_streambuf_char__Pnavail(this) ?
1404 (*basic_streambuf_char__Pninc(this) = ch
) :
1405 call_basic_streambuf_char_overflow(this, ch
);
1408 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1409 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1410 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc
, 4)
1411 int __thiscall
basic_streambuf_char_sungetc(basic_streambuf_char
*this)
1413 TRACE("(%p)\n", this);
1414 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
1417 return **this->prpos
;
1420 return call_basic_streambuf_char_pbackfail(this, EOF
);
1423 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1424 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1425 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc
, 4)
1426 void __thiscall
basic_streambuf_char_stossc(basic_streambuf_char
*this)
1428 TRACE("(%p)\n", this);
1429 if(basic_streambuf_char__Gnavail(this))
1430 basic_streambuf_char__Gninc(this);
1432 call_basic_streambuf_char_uflow(this);
1435 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1436 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1437 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc
, 4)
1438 int __thiscall
basic_streambuf_char_sbumpc(basic_streambuf_char
*this)
1440 TRACE("(%p)\n", this);
1441 return basic_streambuf_char__Gnavail(this) ?
1442 *basic_streambuf_char__Gninc(this) : call_basic_streambuf_char_uflow(this);
1445 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1446 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1447 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc
, 4)
1448 int __thiscall
basic_streambuf_char_sgetc(basic_streambuf_char
*this)
1450 TRACE("(%p)\n", this);
1451 return basic_streambuf_char__Gnavail(this) ?
1452 *basic_streambuf_char_gptr(this) : call_basic_streambuf_char_underflow(this);
1455 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1456 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1457 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc
, 4)
1458 int __thiscall
basic_streambuf_char_snextc(basic_streambuf_char
*this)
1460 TRACE("(%p)\n", this);
1462 if(basic_streambuf_char__Gnavail(this) > 1)
1463 return *basic_streambuf_char__Gnpreinc(this);
1464 return basic_streambuf_char_sbumpc(this)==EOF
?
1465 EOF
: basic_streambuf_char_sgetc(this);
1468 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
1469 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
1470 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn
, 12)
1471 #define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
1472 streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
1473 streamsize __thiscall
basic_streambuf_char_xsgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1475 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1476 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1479 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
1480 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
1481 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn
, 12)
1482 #define call_basic_streambuf_char_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
1483 streamsize, (basic_streambuf_char*, const char*, streamsize), (this, ptr, count))
1484 streamsize __thiscall
basic_streambuf_char_xsputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1486 streamsize copied
, chunk
;
1488 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1490 for(copied
=0; copied
<count
;) {
1491 chunk
= basic_streambuf_char__Pnavail(this);
1492 if(chunk
> count
-copied
)
1493 chunk
= count
-copied
;
1496 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
1497 *this->pwpos
+= chunk
;
1498 *this->pwsize
-= chunk
;
1500 }else if(call_basic_streambuf_char_overflow(this, ptr
[copied
]) != EOF
) {
1510 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
1511 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
1512 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn
, 12)
1513 streamsize __thiscall
basic_streambuf_char_sputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1515 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1516 return call_basic_streambuf_char_xsputn(this, ptr
, count
);
1519 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1520 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1521 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1522 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1523 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp_next
, 16)
1524 void __thiscall
basic_streambuf_wchar_setp_next(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1526 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1530 this->wsize
= last
-next
;
1533 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W0@Z */
1534 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z */
1535 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z */
1536 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z */
1537 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp
, 12)
1538 void __thiscall
basic_streambuf_wchar_setp(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *last
)
1540 basic_streambuf_wchar_setp_next(this, first
, first
, last
);
1543 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1544 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1545 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1546 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1547 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setg
, 16)
1548 void __thiscall
basic_streambuf_wchar_setg(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1550 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1554 this->rsize
= last
-next
;
1557 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXXZ */
1558 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXXZ */
1559 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
1560 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
1561 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init_empty
, 4)
1562 void __thiscall
basic_streambuf_wchar__Init_empty(basic_streambuf_wchar
*this)
1564 TRACE("(%p)\n", this);
1566 this->prbuf
= &this->rbuf
;
1567 this->pwbuf
= &this->wbuf
;
1568 this->prpos
= &this->rpos
;
1569 this->pwpos
= &this->wpos
;
1570 this->prsize
= &this->rsize
;
1571 this->pwsize
= &this->wsize
;
1573 basic_streambuf_wchar_setp(this, NULL
, NULL
);
1574 basic_streambuf_wchar_setg(this, NULL
, NULL
, NULL
);
1577 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1578 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1579 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor_uninitialized
, 8)
1580 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1582 TRACE("(%p %d)\n", this, uninitialized
);
1583 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1584 mutex_ctor(&this->lock
);
1588 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1589 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1590 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor_uninitialized
, 8)
1591 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1593 TRACE("(%p %d)\n", this, uninitialized
);
1594 basic_streambuf_wchar_ctor_uninitialized(this, uninitialized
);
1595 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1599 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
1600 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
1601 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor
, 4)
1602 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor(basic_streambuf_wchar
*this)
1604 TRACE("(%p)\n", this);
1606 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1607 mutex_ctor(&this->lock
);
1608 this->loc
= MSVCRT_operator_new(sizeof(locale
));
1609 locale_ctor(this->loc
);
1610 basic_streambuf_wchar__Init_empty(this);
1615 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ */
1616 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ */
1617 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor
, 4)
1618 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor(basic_streambuf_wchar
*this)
1620 TRACE("(%p)\n", this);
1621 basic_streambuf_wchar_ctor(this);
1622 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1626 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
1627 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
1628 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
1629 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
1630 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_dtor
, 4)
1631 void __thiscall
basic_streambuf_wchar_dtor(basic_streambuf_wchar
*this)
1633 TRACE("(%p)\n", this);
1635 mutex_dtor(&this->lock
);
1636 locale_dtor(this->loc
);
1637 MSVCRT_operator_delete(this->loc
);
1640 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_vector_dtor
, 8)
1641 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1643 TRACE("(%p %x)\n", this, flags
);
1645 /* we have an array, with the number of elements stored before the first object */
1646 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
1648 for(i
=*ptr
-1; i
>=0; i
--)
1649 basic_streambuf_wchar_dtor(this+i
);
1650 MSVCRT_operator_delete(ptr
);
1652 basic_streambuf_wchar_dtor(this);
1654 MSVCRT_operator_delete(this);
1660 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1661 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1662 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1663 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1664 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnavail
, 4)
1665 streamsize __thiscall
basic_streambuf_wchar__Gnavail(const basic_streambuf_wchar
*this)
1667 TRACE("(%p)\n", this);
1668 return *this->prpos
? *this->prsize
: 0;
1671 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1672 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1673 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1674 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1675 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gndec
, 4)
1676 wchar_t* __thiscall
basic_streambuf_wchar__Gndec(basic_streambuf_wchar
*this)
1678 TRACE("(%p)\n", this);
1681 return *this->prpos
;
1684 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1685 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1686 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1687 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1688 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gninc
, 4)
1689 wchar_t* __thiscall
basic_streambuf_wchar__Gninc(basic_streambuf_wchar
*this)
1691 TRACE("(%p)\n", this);
1693 return (*this->prpos
)++;
1696 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1697 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1698 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1699 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1700 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnpreinc
, 4)
1701 wchar_t* __thiscall
basic_streambuf_wchar__Gnpreinc(basic_streambuf_wchar
*this)
1703 TRACE("(%p)\n", this);
1706 return *this->prpos
;
1709 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPAPA_W0PAH001@Z */
1710 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAPEA_W0PEAH001@Z */
1711 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z */
1712 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z */
1713 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init
, 28)
1714 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
)
1716 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1726 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1727 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1728 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1729 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1730 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Lock
, 4)
1731 void __thiscall
basic_streambuf_wchar__Lock(basic_streambuf_wchar
*this)
1733 TRACE("(%p)\n", this);
1734 mutex_lock(&this->lock
);
1737 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1738 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1739 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1740 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1741 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pnavail
, 4)
1742 streamsize __thiscall
basic_streambuf_wchar__Pnavail(const basic_streambuf_wchar
*this)
1744 TRACE("(%p)\n", this);
1745 return *this->pwpos
? *this->pwsize
: 0;
1748 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1749 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1750 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1751 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1752 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pninc
, 4)
1753 wchar_t* __thiscall
basic_streambuf_wchar__Pninc(basic_streambuf_wchar
*this)
1755 TRACE("(%p)\n", this);
1757 return (*this->pwpos
)++;
1760 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1761 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1762 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1763 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1764 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_underflow
, 4)
1765 #define call_basic_streambuf_wchar_underflow(this) CALL_VTBL_FUNC(this, 16, \
1766 unsigned short, (basic_streambuf_wchar*), (this))
1767 unsigned short __thiscall
basic_streambuf_wchar_underflow(basic_streambuf_wchar
*this)
1769 TRACE("(%p)\n", this);
1773 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1774 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1775 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1776 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1777 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_uflow
, 4)
1778 #define call_basic_streambuf_wchar_uflow(this) CALL_VTBL_FUNC(this, 20, \
1779 unsigned short, (basic_streambuf_wchar*), (this))
1780 unsigned short __thiscall
basic_streambuf_wchar_uflow(basic_streambuf_wchar
*this)
1784 TRACE("(%p)\n", this);
1786 if(call_basic_streambuf_wchar_underflow(this)==WEOF
)
1789 ret
= **this->prpos
;
1795 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WIH@Z */
1796 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
1797 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
1798 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
1799 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s
, 16)
1800 #define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1801 streamsize, (basic_streambuf_wchar*, wchar_t*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1802 streamsize __thiscall
basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1804 streamsize copied
, chunk
;
1807 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1809 for(copied
=0; copied
<count
&& size
;) {
1810 chunk
= basic_streambuf_wchar__Gnavail(this);
1811 if(chunk
> count
-copied
)
1812 chunk
= count
-copied
;
1815 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
*sizeof(wchar_t));
1816 *this->prpos
+= chunk
;
1817 *this->prsize
-= chunk
;
1819 size
-= chunk
*sizeof(wchar_t);
1820 }else if((c
= call_basic_streambuf_wchar_uflow(this)) != WEOF
) {
1832 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
1833 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
1834 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
1835 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
1836 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Sgetn_s
, 16)
1837 streamsize __thiscall
basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1839 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1840 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, size
, count
);
1843 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1844 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1845 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1846 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1847 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Unlock
, 4)
1848 void __thiscall
basic_streambuf_wchar__Unlock(basic_streambuf_wchar
*this)
1850 TRACE("(%p)\n", this);
1851 mutex_unlock(&this->lock
);
1854 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1855 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1856 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1857 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1858 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_eback
, 4)
1859 wchar_t* __thiscall
basic_streambuf_wchar_eback(const basic_streambuf_wchar
*this)
1861 TRACE("(%p)\n", this);
1862 return *this->prbuf
;
1865 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1866 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1867 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1868 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1869 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gptr
, 4)
1870 wchar_t* __thiscall
basic_streambuf_wchar_gptr(const basic_streambuf_wchar
*this)
1872 TRACE("(%p)\n", this);
1873 return *this->prpos
;
1876 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1877 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1878 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1879 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1880 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_egptr
, 4)
1881 wchar_t* __thiscall
basic_streambuf_wchar_egptr(const basic_streambuf_wchar
*this)
1883 TRACE("(%p)\n", this);
1884 return *this->prpos
+*this->prsize
;
1887 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1888 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1889 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1890 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1891 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_epptr
, 4)
1892 wchar_t* __thiscall
basic_streambuf_wchar_epptr(const basic_streambuf_wchar
*this)
1894 TRACE("(%p)\n", this);
1895 return *this->pwpos
+*this->pwsize
;
1898 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1899 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1900 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1901 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1902 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gbump
, 8)
1903 void __thiscall
basic_streambuf_wchar_gbump(basic_streambuf_wchar
*this, int off
)
1905 TRACE("(%p %d)\n", this, off
);
1906 *this->prpos
+= off
;
1907 *this->prsize
-= off
;
1910 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QBE?AVlocale@2@XZ */
1911 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEBA?AVlocale@2@XZ */
1912 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QBE?AVlocale@2@XZ */
1913 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEBA?AVlocale@2@XZ */
1914 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_getloc
, 8)
1915 locale
* __thiscall
basic_streambuf_wchar_getloc(const basic_streambuf_wchar
*this, locale
*ret
)
1917 TRACE("(%p)\n", this);
1918 return locale_copy_ctor(ret
, this->loc
);
1921 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
1922 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
1923 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
1924 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
1925 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue
, 8)
1926 #define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
1927 void, (basic_streambuf_wchar*, const locale*), (this, loc))
1928 void __thiscall
basic_streambuf_wchar_imbue(basic_streambuf_wchar
*this, const locale
*loc
)
1930 TRACE("(%p %p)\n", this, loc
);
1933 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1934 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1935 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1936 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1937 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_overflow
, 8)
1938 #define call_basic_streambuf_wchar_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1939 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1940 unsigned short __thiscall
basic_streambuf_wchar_overflow(basic_streambuf_wchar
*this, unsigned short ch
)
1942 TRACE("(%p %d)\n", this, ch
);
1946 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1947 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1948 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1949 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1950 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbackfail
, 8)
1951 #define call_basic_streambuf_wchar_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1952 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1953 unsigned short __thiscall
basic_streambuf_wchar_pbackfail(basic_streambuf_wchar
*this, unsigned short ch
)
1955 TRACE("(%p %d)\n", this, ch
);
1959 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1960 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1961 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1962 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1963 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbase
, 4)
1964 wchar_t* __thiscall
basic_streambuf_wchar_pbase(const basic_streambuf_wchar
*this)
1966 TRACE("(%p)\n", this);
1967 return *this->pwbuf
;
1970 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1971 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1972 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1973 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1974 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbump
, 8)
1975 void __thiscall
basic_streambuf_wchar_pbump(basic_streambuf_wchar
*this, int off
)
1977 TRACE("(%p %d)\n", this, off
);
1978 *this->pwpos
+= off
;
1979 *this->pwsize
-= off
;
1982 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1983 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1984 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1985 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1986 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pptr
, 4)
1987 wchar_t* __thiscall
basic_streambuf_wchar_pptr(const basic_streambuf_wchar
*this)
1989 TRACE("(%p)\n", this);
1990 return *this->pwpos
;
1993 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1994 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1995 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1996 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1997 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubimbue
, 12)
1998 locale
* __thiscall
basic_streambuf_wchar_pubimbue(basic_streambuf_wchar
*this, locale
*ret
, const locale
*loc
)
2000 TRACE("(%p %p)\n", this, loc
);
2001 memcpy(ret
, this->loc
, sizeof(locale
));
2002 call_basic_streambuf_wchar_imbue(this, loc
);
2003 locale_copy_ctor(this->loc
, loc
);
2007 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2008 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2009 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2010 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2011 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff
, 20)
2012 #define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
2013 fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
2014 fpos_int
* __thiscall
basic_streambuf_wchar_seekoff(basic_streambuf_wchar
*this,
2015 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2017 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
2024 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2025 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2026 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2027 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2028 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff
, 20)
2029 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff(basic_streambuf_wchar
*this,
2030 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2032 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
2033 return call_basic_streambuf_wchar_seekoff(this, ret
, off
, way
, mode
);
2036 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2037 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2038 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2039 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2040 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old
, 20)
2041 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
*this,
2042 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
2044 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
2045 return basic_streambuf_wchar_pubseekoff(this, ret
, off
, way
, mode
);
2048 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2049 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2050 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2051 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2052 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekpos
, 36)
2053 #define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
2054 fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
2055 fpos_int
* __thiscall
basic_streambuf_wchar_seekpos(basic_streambuf_wchar
*this,
2056 fpos_int
*ret
, fpos_int pos
, int mode
)
2058 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2065 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2066 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2067 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2068 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2069 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos
, 36)
2070 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar
*this,
2071 fpos_int
*ret
, fpos_int pos
, int mode
)
2073 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2074 return call_basic_streambuf_wchar_seekpos(this, ret
, pos
, mode
);
2077 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2078 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2079 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2080 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2081 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos_old
, 36)
2082 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar
*this,
2083 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
2085 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2086 return basic_streambuf_wchar_pubseekpos(this, ret
, pos
, mode
);
2089 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEPAV12@PA_WH@Z */
2090 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV12@PEA_W_J@Z */
2091 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
2092 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
2093 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf
, 12)
2094 #define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
2095 basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
2096 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_setbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2098 TRACE("(%p %p %ld)\n", this, buf
, count
);
2102 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PA_WH@Z */
2103 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEA_W_J@Z */
2104 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z */
2105 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z */
2106 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsetbuf
, 12)
2107 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_pubsetbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2109 TRACE("(%p %p %ld)\n", this, buf
, count
);
2110 return call_basic_streambuf_wchar_setbuf(this, buf
, count
);
2113 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2114 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
2115 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2116 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
2117 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync
, 4)
2118 #define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 48, \
2119 int, (basic_streambuf_wchar*), (this))
2120 int __thiscall
basic_streambuf_wchar_sync(basic_streambuf_wchar
*this)
2122 TRACE("(%p)\n", this);
2126 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2127 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
2128 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2129 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ */
2130 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsync
, 4)
2131 int __thiscall
basic_streambuf_wchar_pubsync(basic_streambuf_wchar
*this)
2133 TRACE("(%p)\n", this);
2134 return call_basic_streambuf_wchar_sync(this);
2137 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
2138 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
2139 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
2140 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
2141 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn
, 12)
2142 streamsize __thiscall
basic_streambuf_wchar_sgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2144 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2145 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2148 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2149 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JXZ */
2150 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2151 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JXZ */
2152 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_showmanyc
, 4)
2153 #define call_basic_streambuf_wchar_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
2154 streamsize, (basic_streambuf_wchar*), (this))
2155 streamsize __thiscall
basic_streambuf_wchar_showmanyc(basic_streambuf_wchar
*this)
2157 TRACE("(%p)\n", this);
2161 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2162 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JXZ */
2163 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2164 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ */
2165 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_in_avail
, 4)
2166 streamsize __thiscall
basic_streambuf_wchar_in_avail(basic_streambuf_wchar
*this)
2170 TRACE("(%p)\n", this);
2172 ret
= basic_streambuf_wchar__Gnavail(this);
2173 return ret
? ret
: call_basic_streambuf_wchar_showmanyc(this);
2176 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2177 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2178 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2179 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
2180 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputbackc
, 8)
2181 unsigned short __thiscall
basic_streambuf_wchar_sputbackc(basic_streambuf_wchar
*this, wchar_t ch
)
2183 TRACE("(%p %d)\n", this, ch
);
2184 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
2190 return call_basic_streambuf_wchar_pbackfail(this, ch
);
2193 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2194 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2195 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2196 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHG@Z */
2197 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputc
, 8)
2198 unsigned short __thiscall
basic_streambuf_wchar_sputc(basic_streambuf_wchar
*this, wchar_t ch
)
2200 TRACE("(%p %d)\n", this, ch
);
2201 return basic_streambuf_wchar__Pnavail(this) ?
2202 (*basic_streambuf_wchar__Pninc(this) = ch
) :
2203 call_basic_streambuf_wchar_overflow(this, ch
);
2206 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2207 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2208 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2209 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2210 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sungetc
, 4)
2211 unsigned short __thiscall
basic_streambuf_wchar_sungetc(basic_streambuf_wchar
*this)
2213 TRACE("(%p)\n", this);
2214 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
2217 return **this->prpos
;
2220 return call_basic_streambuf_wchar_pbackfail(this, WEOF
);
2223 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
2224 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
2225 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
2226 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
2227 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_stossc
, 4)
2228 void __thiscall
basic_streambuf_wchar_stossc(basic_streambuf_wchar
*this)
2230 TRACE("(%p)\n", this);
2231 if(basic_streambuf_wchar__Gnavail(this))
2232 basic_streambuf_wchar__Gninc(this);
2234 call_basic_streambuf_wchar_uflow(this);
2237 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2238 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2239 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2240 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2241 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sbumpc
, 4)
2242 unsigned short __thiscall
basic_streambuf_wchar_sbumpc(basic_streambuf_wchar
*this)
2244 TRACE("(%p)\n", this);
2245 return basic_streambuf_wchar__Gnavail(this) ?
2246 *basic_streambuf_wchar__Gninc(this) : call_basic_streambuf_wchar_uflow(this);
2249 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2250 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2251 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2252 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2253 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetc
, 4)
2254 unsigned short __thiscall
basic_streambuf_wchar_sgetc(basic_streambuf_wchar
*this)
2256 TRACE("(%p)\n", this);
2257 return basic_streambuf_wchar__Gnavail(this) ?
2258 *basic_streambuf_wchar_gptr(this) : call_basic_streambuf_wchar_underflow(this);
2261 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2262 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2263 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2264 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2265 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_snextc
, 4)
2266 unsigned short __thiscall
basic_streambuf_wchar_snextc(basic_streambuf_wchar
*this)
2268 TRACE("(%p)\n", this);
2270 if(basic_streambuf_wchar__Gnavail(this) > 1)
2271 return *basic_streambuf_wchar__Gnpreinc(this);
2272 return basic_streambuf_wchar_sbumpc(this)==WEOF
?
2273 WEOF
: basic_streambuf_wchar_sgetc(this);
2276 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
2277 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
2278 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
2279 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
2280 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn
, 12)
2281 #define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
2282 streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
2283 streamsize __thiscall
basic_streambuf_wchar_xsgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2285 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2286 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2289 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
2290 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
2291 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
2292 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
2293 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn
, 12)
2294 #define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
2295 streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
2296 streamsize __thiscall
basic_streambuf_wchar_xsputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2298 streamsize copied
, chunk
;
2300 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2302 for(copied
=0; copied
<count
;) {
2303 chunk
= basic_streambuf_wchar__Pnavail(this);
2304 if(chunk
> count
-copied
)
2305 chunk
= count
-copied
;
2308 memcpy(*this->pwpos
, ptr
+copied
, chunk
*sizeof(wchar_t));
2309 *this->pwpos
+= chunk
;
2310 *this->pwsize
-= chunk
;
2312 }else if(call_basic_streambuf_wchar_overflow(this, ptr
[copied
]) != WEOF
) {
2322 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z */
2323 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEB_W_J@Z */
2324 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z */
2325 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z */
2326 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputn
, 12)
2327 streamsize __thiscall
basic_streambuf_wchar_sputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2329 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2330 return call_basic_streambuf_wchar_xsputn(this, ptr
, count
);
2333 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2334 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2335 int basic_filebuf_char__Init__Stinit
= 0;
2337 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2338 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2339 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Init
, 12)
2340 void __thiscall
basic_filebuf_char__Init(basic_filebuf_char
*this, FILE *file
, basic_filebuf__Initfl which
)
2342 TRACE("(%p %p %d)\n", this, file
, which
);
2345 this->wrotesome
= FALSE
;
2346 this->state
= basic_filebuf_char__Init__Stinit
;
2347 this->close
= (which
== INITFL_open
);
2350 basic_streambuf_char__Init_empty(&this->base
);
2352 basic_streambuf_char__Init(&this->base
, &file
->_base
, &file
->_ptr
,
2353 &file
->_cnt
, &file
->_base
, &file
->_ptr
, &file
->_cnt
);
2356 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z */
2357 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$codecvt@DDH@2@@Z */
2358 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Initcvt
, 8)
2359 void __thiscall
basic_filebuf_char__Initcvt(basic_filebuf_char
*this, codecvt_char
*cvt
)
2361 TRACE("(%p %p)\n", this, cvt
);
2363 if(codecvt_base_always_noconv(&cvt
->base
)) {
2366 basic_streambuf_char__Init_empty(&this->base
);
2371 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ */
2372 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAA_NXZ */
2373 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Endwrite
, 4)
2374 MSVCP_bool __thiscall
basic_filebuf_char__Endwrite(basic_filebuf_char
*this)
2376 TRACE("(%p)\n", this);
2378 if(!this->wrotesome
|| !this->cvt
)
2382 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2386 /* TODO: check if we need a dynamic buffer here */
2391 ret
= codecvt_char_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2394 this->wrotesome
= FALSE
;
2396 case CODECVT_partial
:
2397 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2402 case CODECVT_noconv
:
2403 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2412 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ */
2413 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ */
2414 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_close
, 4)
2415 basic_filebuf_char
* __thiscall
basic_filebuf_char_close(basic_filebuf_char
*this)
2417 basic_filebuf_char
*ret
= this;
2419 TRACE("(%p)\n", this);
2424 /* TODO: handle exceptions */
2425 if(!basic_filebuf_char__Endwrite(this))
2427 if(!fclose(this->file
))
2430 basic_filebuf_char__Init(this, NULL
, INITFL_close
);
2434 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
2435 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2436 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_file
, 8)
2437 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_file(basic_filebuf_char
*this, FILE *file
)
2439 TRACE("(%p %p)\n", this, file
);
2441 basic_streambuf_char_ctor(&this->base
);
2442 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2444 basic_filebuf_char__Init(this, file
, INITFL_new
);
2448 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
2449 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2450 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor
, 4)
2451 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor(basic_filebuf_char
*this)
2453 return basic_filebuf_char_ctor_file(this, NULL
);
2456 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
2457 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
2458 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_uninitialized
, 8)
2459 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_uninitialized(basic_filebuf_char
*this, int uninitialized
)
2461 TRACE("(%p %d)\n", this, uninitialized
);
2463 basic_streambuf_char_ctor(&this->base
);
2464 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2468 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
2469 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2470 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_dtor
, 4)
2471 void __thiscall
basic_filebuf_char_dtor(basic_filebuf_char
*this)
2473 TRACE("(%p)\n", this);
2476 basic_filebuf_char_close(this);
2477 basic_streambuf_char_dtor(&this->base
);
2480 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_vector_dtor
, 8)
2481 basic_filebuf_char
* __thiscall
basic_filebuf_char_vector_dtor(basic_filebuf_char
*this, unsigned int flags
)
2483 TRACE("(%p %x)\n", this, flags
);
2485 /* we have an array, with the number of elements stored before the first object */
2486 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
2488 for(i
=*ptr
-1; i
>=0; i
--)
2489 basic_filebuf_char_dtor(this+i
);
2490 MSVCRT_operator_delete(ptr
);
2492 basic_filebuf_char_dtor(this);
2494 MSVCRT_operator_delete(this);
2500 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ */
2501 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
2502 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_is_open
, 4)
2503 MSVCP_bool __thiscall
basic_filebuf_char_is_open(const basic_filebuf_char
*this)
2505 TRACE("(%p)\n", this);
2506 return this->file
!= NULL
;
2509 /* ?_Fiopen@std@@YAPAU_iobuf@@PB_WHH@Z */
2510 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEB_WHH@Z */
2511 FILE* __cdecl
_Fiopen_wchar(const wchar_t *name
, int mode
, int prot
)
2513 static const wchar_t rW
[] = {'r',0};
2514 static const struct {
2516 const wchar_t str
[4];
2517 const wchar_t str_bin
[4];
2519 {OPENMODE_out
, {'w',0}, {'w','b',0}},
2520 {OPENMODE_out
|OPENMODE_app
, {'a',0}, {'a','b',0}},
2521 {OPENMODE_app
, {'a',0}, {'a','b',0}},
2522 {OPENMODE_out
|OPENMODE_trunc
, {'w',0}, {'w','b',0}},
2523 {OPENMODE_in
, {'r',0}, {'r','b',0}},
2524 {OPENMODE_in
|OPENMODE_out
, {'r','+',0}, {'r','+','b',0}},
2525 {OPENMODE_in
|OPENMODE_out
|OPENMODE_trunc
, {'w','+',0}, {'w','+','b',0}},
2526 {OPENMODE_in
|OPENMODE_out
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}},
2527 {OPENMODE_in
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}}
2530 int real_mode
= mode
& ~(OPENMODE_ate
|OPENMODE__Nocreate
|OPENMODE__Noreplace
|OPENMODE_binary
);
2534 TRACE("(%s %d %d)\n", debugstr_w(name
), mode
, prot
);
2536 for(mode_idx
=0; mode_idx
<sizeof(str_mode
)/sizeof(str_mode
[0]); mode_idx
++)
2537 if(str_mode
[mode_idx
].mode
== real_mode
)
2539 if(mode_idx
== sizeof(str_mode
)/sizeof(str_mode
[0]))
2542 if((mode
& OPENMODE__Nocreate
) && !(f
= _wfopen(name
, rW
)))
2547 if((mode
& OPENMODE__Noreplace
) && (mode
& (OPENMODE_out
|OPENMODE_app
))
2548 && (f
= _wfopen(name
, rW
))) {
2553 f
= _wfsopen(name
, (mode
& OPENMODE_binary
) ? str_mode
[mode_idx
].str_bin
2554 : str_mode
[mode_idx
].str
, prot
);
2558 if((mode
& OPENMODE_ate
) && fseek(f
, 0, SEEK_END
)) {
2566 /* ?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z */
2567 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEBDHH@Z */
2568 FILE* __cdecl
_Fiopen(const char *name
, int mode
, int prot
)
2570 wchar_t nameW
[FILENAME_MAX
];
2572 TRACE("(%s %d %d)\n", name
, mode
, prot
);
2574 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2576 return _Fiopen_wchar(nameW
, mode
, prot
);
2579 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WHH@Z */
2580 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
2581 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGHH@Z */
2582 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGHH@Z */
2583 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar
, 16)
2584 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar(basic_filebuf_char
*this, const wchar_t *name
, int mode
, int prot
)
2588 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
2590 if(basic_filebuf_char_is_open(this))
2593 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
2596 basic_filebuf_char__Init(this, f
, INITFL_open
);
2597 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(this->base
.loc
));
2601 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WI@Z */
2602 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WI@Z */
2603 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGI@Z */
2604 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGI@Z */
2605 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar_mode
, 12)
2606 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar_mode(basic_filebuf_char
*this, const wchar_t *name
, unsigned int mode
)
2608 return basic_filebuf_char_open_wchar(this, name
, mode
, SH_DENYNO
);
2611 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z */
2612 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDHH@Z */
2613 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open
, 16)
2614 basic_filebuf_char
* __thiscall
basic_filebuf_char_open(basic_filebuf_char
*this, const char *name
, int mode
, int prot
)
2616 wchar_t nameW
[FILENAME_MAX
];
2618 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
2620 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2622 return basic_filebuf_char_open_wchar(this, nameW
, mode
, prot
);
2625 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDI@Z */
2626 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDI@Z */
2627 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_mode
, 12)
2628 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_mode(basic_filebuf_char
*this, const char *name
, unsigned int mode
)
2630 return basic_filebuf_char_open(this, name
, mode
, SH_DENYNO
);
2633 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2634 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2635 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_overflow
, 8)
2636 int __thiscall
basic_filebuf_char_overflow(basic_filebuf_char
*this, int c
)
2638 char buf
[8], *dyn_buf
;
2639 char ch
= c
, *to_next
;
2640 const char *from_next
;
2644 TRACE("(%p %d)\n", this, c
);
2646 if(!basic_filebuf_char_is_open(this))
2652 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2656 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2657 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
2660 case CODECVT_partial
:
2665 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
2667 if(ret
== CODECVT_partial
)
2670 case CODECVT_noconv
:
2671 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2679 max_size
= codecvt_base_max_length(&this->cvt
->base
);
2680 dyn_buf
= malloc(max_size
);
2684 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2685 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
2689 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
2691 return ret
? c
: EOF
;
2692 case CODECVT_partial
:
2693 ERR("buffer should be big enough to store all output\n");
2701 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2702 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2703 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_pbackfail
, 8)
2704 int __thiscall
basic_filebuf_char_pbackfail(basic_filebuf_char
*this, int c
)
2706 TRACE("(%p %d)\n", this, c
);
2708 if(!basic_filebuf_char_is_open(this))
2711 if(basic_streambuf_char_gptr(&this->base
)>basic_streambuf_char_eback(&this->base
)
2712 && (c
==EOF
|| basic_streambuf_char_gptr(&this->base
)[-1]==(char)c
)) {
2713 basic_streambuf_char__Gndec(&this->base
);
2714 return c
==EOF
? !c
: c
;
2715 }else if(c
!=EOF
&& !this->cvt
) {
2716 return ungetc(c
, this->file
);
2722 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2723 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2724 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_uflow
, 4)
2725 int __thiscall
basic_filebuf_char_uflow(basic_filebuf_char
*this)
2727 char ch
, buf
[128], *to_next
;
2728 const char *buf_next
;
2731 TRACE("(%p)\n", this);
2733 if(!basic_filebuf_char_is_open(this))
2736 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2737 return *basic_streambuf_char__Gninc(&this->base
);
2739 c
= fgetc(this->file
);
2740 if(!this->cvt
|| c
==EOF
)
2744 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
2747 switch(codecvt_char_in(this->cvt
, &this->state
, buf_next
,
2748 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
2749 case CODECVT_partial
:
2751 if(to_next
== &ch
) {
2752 c
= fgetc(this->file
);
2758 for(i
--; i
>=buf_next
-buf
; i
--)
2759 ungetc(buf
[i
], this->file
);
2761 case CODECVT_noconv
:
2768 FIXME("buffer is too small\n");
2772 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2773 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2774 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_underflow
, 4)
2775 int __thiscall
basic_filebuf_char_underflow(basic_filebuf_char
*this)
2779 TRACE("(%p)\n", this);
2781 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2782 return *basic_streambuf_char_gptr(&this->base
);
2784 ret
= call_basic_streambuf_char_uflow(&this->base
);
2786 ret
= call_basic_streambuf_char_pbackfail(&this->base
, ret
);
2790 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2791 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2792 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekoff
, 20)
2793 fpos_int
* __thiscall
basic_filebuf_char_seekoff(basic_filebuf_char
*this,
2794 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2798 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
2800 if(!basic_filebuf_char_is_open(this) || !basic_filebuf_char__Endwrite(this)
2801 || fseek(this->file
, off
, way
)) {
2808 fgetpos(this->file
, &pos
);
2811 ret
->state
= this->state
;
2815 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2816 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2817 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekpos
, 36)
2818 fpos_int
* __thiscall
basic_filebuf_char_seekpos(basic_filebuf_char
*this,
2819 fpos_int
*ret
, fpos_int pos
, int mode
)
2823 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
2825 if(!basic_filebuf_char_is_open(this) || !basic_filebuf_char__Endwrite(this)
2826 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
2827 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
2834 fgetpos(this->file
, &fpos
);
2837 ret
->state
= this->state
;
2841 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z */
2842 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAD_J@Z */
2843 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_setbuf
, 12)
2844 basic_streambuf_char
* __thiscall
basic_filebuf_char_setbuf(basic_filebuf_char
*this, char *buf
, streamsize count
)
2846 TRACE("(%p %p %ld)\n", this, buf
, count
);
2848 if(!basic_filebuf_char_is_open(this))
2851 if(setvbuf(this->file
, buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
))
2854 basic_filebuf_char__Init(this, this->file
, INITFL_open
);
2858 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2859 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2860 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_sync
, 4)
2861 int __thiscall
basic_filebuf_char_sync(basic_filebuf_char
*this)
2863 TRACE("(%p)\n", this);
2865 if(!basic_filebuf_char_is_open(this))
2868 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2870 return fflush(this->file
);
2873 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
2874 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
2875 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_imbue
, 8)
2876 void __thiscall
basic_filebuf_char_imbue(basic_filebuf_char
*this, const locale
*loc
)
2878 TRACE("(%p %p)\n", this, loc
);
2879 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(loc
));
2882 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2883 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2884 int basic_filebuf_wchar__Init__Stinit
= 0;
2886 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2887 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2888 int basic_filebuf_short__Init__Stinit
= 0;
2890 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2891 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2892 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Init
, 12)
2893 void __thiscall
basic_filebuf_wchar__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2895 TRACE("(%p %p %d)\n", this, file
, which
);
2898 this->wrotesome
= FALSE
;
2899 this->state
= basic_filebuf_wchar__Init__Stinit
;
2900 this->close
= (which
== INITFL_open
);
2903 basic_streambuf_wchar__Init_empty(&this->base
);
2906 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2907 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2908 DEFINE_THISCALL_WRAPPER(basic_filebuf_short__Init
, 12)
2909 void __thiscall
basic_filebuf_short__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2911 TRACE("(%p %p %d)\n", this, file
, which
);
2914 this->wrotesome
= FALSE
;
2915 this->state
= basic_filebuf_short__Init__Stinit
;
2916 this->close
= (which
== INITFL_open
);
2919 basic_streambuf_wchar__Init_empty(&this->base
);
2922 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$codecvt@_WDH@2@@Z */
2923 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$codecvt@_WDH@2@@Z */
2924 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAV?$codecvt@GDH@2@@Z */
2925 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$codecvt@GDH@2@@Z */
2926 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Initcvt
, 8)
2927 void __thiscall
basic_filebuf_wchar__Initcvt(basic_filebuf_wchar
*this, codecvt_wchar
*cvt
)
2929 TRACE("(%p %p)\n", this, cvt
);
2931 if(codecvt_base_always_noconv(&cvt
->base
)) {
2934 basic_streambuf_wchar__Init_empty(&this->base
);
2939 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAE_NXZ */
2940 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAA_NXZ */
2941 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAE_NXZ */
2942 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAA_NXZ */
2943 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Endwrite
, 4)
2944 MSVCP_bool __thiscall
basic_filebuf_wchar__Endwrite(basic_filebuf_wchar
*this)
2946 TRACE("(%p)\n", this);
2948 if(!this->wrotesome
|| !this->cvt
)
2951 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
2955 /* TODO: check if we need a dynamic buffer here */
2960 ret
= codecvt_wchar_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2963 this->wrotesome
= FALSE
;
2965 case CODECVT_partial
:
2966 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2971 case CODECVT_noconv
:
2972 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
2981 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@XZ */
2982 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@XZ */
2983 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ */
2984 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ */
2985 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_close
, 4)
2986 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_close(basic_filebuf_wchar
*this)
2988 basic_filebuf_wchar
*ret
= this;
2990 TRACE("(%p)\n", this);
2995 /* TODO: handle exceptions */
2996 if(!basic_filebuf_wchar__Endwrite(this))
2998 if(!fclose(this->file
))
3001 basic_filebuf_wchar__Init(this, NULL
, INITFL_close
);
3005 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
3006 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
3007 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_file
, 8)
3008 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
3010 TRACE("(%p %p)\n", this, file
);
3012 basic_streambuf_wchar_ctor(&this->base
);
3013 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
3015 basic_filebuf_wchar__Init(this, file
, INITFL_new
);
3019 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
3020 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
3021 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_file
, 8)
3022 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
3024 TRACE("(%p %p)\n", this, file
);
3026 basic_streambuf_short_ctor(&this->base
);
3027 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
3029 basic_filebuf_short__Init(this, file
, INITFL_new
);
3033 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
3034 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
3035 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor
, 4)
3036 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor(basic_filebuf_wchar
*this)
3038 return basic_filebuf_wchar_ctor_file(this, NULL
);
3041 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
3042 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
3043 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor
, 4)
3044 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor(basic_filebuf_wchar
*this)
3046 return basic_filebuf_short_ctor_file(this, NULL
);
3049 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3050 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3051 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_uninitialized
, 8)
3052 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3054 TRACE("(%p %d)\n", this, uninitialized
);
3056 basic_streambuf_wchar_ctor(&this->base
);
3057 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
3061 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3062 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3063 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_uninitialized
, 8)
3064 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3066 TRACE("(%p %d)\n", this, uninitialized
);
3068 basic_streambuf_short_ctor(&this->base
);
3069 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
3073 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
3074 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
3075 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
3076 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
3077 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_dtor
, 4)
3078 void __thiscall
basic_filebuf_wchar_dtor(basic_filebuf_wchar
*this)
3080 TRACE("(%p)\n", this);
3083 basic_filebuf_wchar_close(this);
3084 basic_streambuf_wchar_dtor(&this->base
);
3087 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_vector_dtor
, 8)
3088 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_vector_dtor(basic_filebuf_wchar
*this, unsigned int flags
)
3090 TRACE("(%p %x)\n", this, flags
);
3092 /* we have an array, with the number of elements stored before the first object */
3093 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
3095 for(i
=*ptr
-1; i
>=0; i
--)
3096 basic_filebuf_wchar_dtor(this+i
);
3097 MSVCRT_operator_delete(ptr
);
3099 basic_filebuf_wchar_dtor(this);
3101 MSVCRT_operator_delete(this);
3107 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
3108 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
3109 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ */
3110 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
3111 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_is_open
, 4)
3112 MSVCP_bool __thiscall
basic_filebuf_wchar_is_open(const basic_filebuf_wchar
*this)
3114 TRACE("(%p)\n", this);
3115 return this->file
!= NULL
;
3118 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WHH@Z */
3119 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3120 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGHH@Z */
3121 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3122 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar
, 16)
3123 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3127 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3129 if(basic_filebuf_wchar_is_open(this))
3132 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3135 basic_filebuf_wchar__Init(this, f
, INITFL_open
);
3136 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(this->base
.loc
));
3140 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WHH@Z */
3141 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3142 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGHH@Z */
3143 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3144 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar
, 16)
3145 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3149 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3151 if(basic_filebuf_wchar_is_open(this))
3154 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3157 basic_filebuf_short__Init(this, f
, INITFL_open
);
3158 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(this->base
.loc
));
3162 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WI@Z */
3163 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3164 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGI@Z */
3165 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGI@Z */
3166 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar_mode
, 12)
3167 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3169 return basic_filebuf_wchar_open_wchar(this, name
, mode
, SH_DENYNO
);
3172 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WI@Z */
3173 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3174 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGI@Z */
3175 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGI@Z */
3176 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar_mode
, 12)
3177 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3179 return basic_filebuf_short_open_wchar(this, name
, mode
, SH_DENYNO
);
3182 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDHH@Z */
3183 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3184 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open
, 16)
3185 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3187 wchar_t nameW
[FILENAME_MAX
];
3189 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3191 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3193 return basic_filebuf_wchar_open_wchar(this, nameW
, mode
, prot
);
3196 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDHH@Z */
3197 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3198 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open
, 16)
3199 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3201 wchar_t nameW
[FILENAME_MAX
];
3203 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3205 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3207 return basic_filebuf_short_open_wchar(this, nameW
, mode
, prot
);
3210 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDI@Z */
3211 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDI@Z */
3212 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_mode
, 12)
3213 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3215 return basic_filebuf_wchar_open(this, name
, mode
, SH_DENYNO
);
3218 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDI@Z */
3219 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDI@Z */
3220 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_mode
, 12)
3221 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3223 return basic_filebuf_short_open(this, name
, mode
, SH_DENYNO
);
3226 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3227 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3228 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3229 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3230 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_overflow
, 8)
3231 unsigned short __thiscall
basic_filebuf_wchar_overflow(basic_filebuf_wchar
*this, unsigned short c
)
3233 char buf
[8], *dyn_buf
, *to_next
;
3235 const wchar_t *from_next
;
3240 TRACE("(%p %d)\n", this, c
);
3242 if(!basic_filebuf_wchar_is_open(this))
3248 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3252 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3253 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
3256 case CODECVT_partial
:
3261 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
3263 if(ret
== CODECVT_partial
)
3266 case CODECVT_noconv
:
3267 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3275 max_size
= codecvt_base_max_length(&this->cvt
->base
);
3276 dyn_buf
= malloc(max_size
);
3280 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3281 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
3285 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
3287 return ret
? c
: WEOF
;
3288 case CODECVT_partial
:
3289 ERR("buffer should be big enough to store all output\n");
3297 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3298 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3299 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3300 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3301 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_pbackfail
, 8)
3302 unsigned short __thiscall
basic_filebuf_wchar_pbackfail(basic_filebuf_wchar
*this, unsigned short c
)
3304 TRACE("(%p %d)\n", this, c
);
3306 if(!basic_filebuf_wchar_is_open(this))
3309 if(basic_streambuf_wchar_gptr(&this->base
)>basic_streambuf_wchar_eback(&this->base
)
3310 && (c
==WEOF
|| basic_streambuf_wchar_gptr(&this->base
)[-1]==(wchar_t)c
)) {
3311 basic_streambuf_wchar__Gndec(&this->base
);
3312 return c
==WEOF
? !c
: c
;
3313 }else if(c
!=WEOF
&& !this->cvt
) {
3314 return ungetwc(c
, this->file
);
3315 }else if(c
!=WEOF
&& basic_streambuf_wchar_gptr(&this->base
)!=&this->putback
) {
3317 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
, &this->putback
+1);
3324 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3325 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3326 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3327 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3328 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_uflow
, 4)
3329 unsigned short __thiscall
basic_filebuf_wchar_uflow(basic_filebuf_wchar
*this)
3331 wchar_t ch
, *to_next
;
3333 const char *buf_next
;
3336 TRACE("(%p)\n", this);
3338 if(!basic_filebuf_wchar_is_open(this))
3341 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3342 return *basic_streambuf_wchar__Gninc(&this->base
);
3345 return fgetwc(this->file
);
3348 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
3349 if((c
= fgetc(this->file
)) == EOF
)
3353 switch(codecvt_wchar_in(this->cvt
, &this->state
, buf_next
,
3354 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
3355 case CODECVT_partial
:
3360 for(i
--; i
>=buf_next
-buf
; i
--)
3361 ungetc(buf
[i
], this->file
);
3363 case CODECVT_noconv
:
3364 if(i
+1 < sizeof(wchar_t))
3367 memcpy(&ch
, buf
, sizeof(wchar_t));
3374 FIXME("buffer is too small\n");
3378 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3379 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3380 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3381 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3382 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_underflow
, 4)
3383 unsigned short __thiscall
basic_filebuf_wchar_underflow(basic_filebuf_wchar
*this)
3387 TRACE("(%p)\n", this);
3389 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3390 return *basic_streambuf_wchar_gptr(&this->base
);
3392 ret
= call_basic_streambuf_wchar_uflow(&this->base
);
3394 ret
= call_basic_streambuf_wchar_pbackfail(&this->base
, ret
);
3398 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3399 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3400 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3401 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3402 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekoff
, 20)
3403 fpos_int
* __thiscall
basic_filebuf_wchar_seekoff(basic_filebuf_wchar
*this,
3404 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3408 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
3410 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
) {
3411 if(way
== SEEKDIR_cur
)
3412 off
-= sizeof(wchar_t);
3414 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3417 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3418 || fseek(this->file
, off
, way
)) {
3425 fgetpos(this->file
, &pos
);
3428 ret
->state
= this->state
;
3432 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3433 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3434 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3435 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3436 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekpos
, 36)
3437 fpos_int
* __thiscall
basic_filebuf_wchar_seekpos(basic_filebuf_wchar
*this,
3438 fpos_int
*ret
, fpos_int pos
, int mode
)
3442 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3444 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3445 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
3446 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
3453 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
)
3454 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3456 fgetpos(this->file
, &fpos
);
3459 ret
->state
= this->state
;
3463 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PA_WH@Z */
3464 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEA_W_J@Z */
3465 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_setbuf
, 12)
3466 basic_streambuf_wchar
* __thiscall
basic_filebuf_wchar_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3468 TRACE("(%p %p %ld)\n", this, buf
, count
);
3470 if(!basic_filebuf_wchar_is_open(this))
3473 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3476 basic_filebuf_wchar__Init(this, this->file
, INITFL_open
);
3480 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z */
3481 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAG_J@Z */
3482 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_setbuf
, 12)
3483 basic_streambuf_wchar
* __thiscall
basic_filebuf_short_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3485 TRACE("(%p %p %ld)\n", this, buf
, count
);
3487 if(!basic_filebuf_wchar_is_open(this))
3490 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3493 basic_filebuf_short__Init(this, this->file
, INITFL_open
);
3497 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
3498 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
3499 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
3500 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
3501 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_sync
, 4)
3502 int __thiscall
basic_filebuf_wchar_sync(basic_filebuf_wchar
*this)
3504 TRACE("(%p)\n", this);
3506 if(!basic_filebuf_wchar_is_open(this))
3509 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
3511 return fflush(this->file
);
3514 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
3515 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
3516 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_imbue
, 8)
3517 void __thiscall
basic_filebuf_wchar_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3519 TRACE("(%p %p)\n", this, loc
);
3520 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(loc
));
3523 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
3524 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
3525 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_imbue
, 8)
3526 void __thiscall
basic_filebuf_short_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3528 TRACE("(%p %p)\n", this, loc
);
3529 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(loc
));
3532 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z */
3533 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z */
3534 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Getstate
, 8)
3535 int __thiscall
basic_stringbuf_char__Getstate(basic_stringbuf_char
*this, IOSB_openmode mode
)
3539 if(!(mode
& OPENMODE_in
))
3540 state
|= STRINGBUF_no_read
;
3542 if(!(mode
& OPENMODE_out
))
3543 state
|= STRINGBUF_no_write
;
3545 if(mode
& OPENMODE_ate
)
3546 state
|= STRINGBUF_at_end
;
3548 if(mode
& OPENMODE_app
)
3549 state
|= STRINGBUF_append
;
3554 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z */
3555 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z */
3556 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Init
, 16)
3557 void __thiscall
basic_stringbuf_char__Init(basic_stringbuf_char
*this, const char *str
, MSVCP_size_t count
, int state
)
3559 TRACE("(%p, %p, %ld, %d)\n", this, str
, count
, state
);
3561 basic_streambuf_char__Init_empty(&this->base
);
3563 this->state
= state
;
3564 this->seekhigh
= NULL
;
3567 char *buf
= MSVCRT_operator_new(count
);
3569 ERR("Out of memory\n");
3570 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3573 memcpy(buf
, str
, count
);
3574 this->seekhigh
= buf
+ count
;
3576 this->state
|= STRINGBUF_allocated
;
3578 if(!(state
& STRINGBUF_no_read
))
3579 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+ count
);
3581 if(!(state
& STRINGBUF_no_write
)) {
3582 basic_streambuf_char_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3584 if(!basic_streambuf_char_gptr(&this->base
))
3585 basic_streambuf_char_setg(&this->base
, buf
, 0, buf
);
3590 /* ??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 */
3591 /* ??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 */
3592 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_str
, 12)
3593 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_str(basic_stringbuf_char
*this,
3594 const basic_string_char
*str
, IOSB_openmode mode
)
3596 TRACE("(%p %p %d)\n", this, str
, mode
);
3598 basic_streambuf_char_ctor(&this->base
);
3599 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3601 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
),
3602 str
->size
, basic_stringbuf_char__Getstate(this, mode
));
3606 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
3607 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
3608 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_mode
, 8)
3609 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_mode(
3610 basic_stringbuf_char
*this, IOSB_openmode mode
)
3612 TRACE("(%p %d)\n", this, mode
);
3614 basic_streambuf_char_ctor(&this->base
);
3615 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3617 basic_stringbuf_char__Init(this, NULL
, 0, basic_stringbuf_char__Getstate(this, mode
));
3621 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
3622 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
3623 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor
, 4)
3624 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor(basic_stringbuf_char
*this)
3626 return basic_stringbuf_char_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3629 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ */
3630 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ */
3631 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Tidy
, 4)
3632 void __thiscall
basic_stringbuf_char__Tidy(basic_stringbuf_char
*this)
3634 TRACE("(%p)\n", this);
3636 if(this->state
& STRINGBUF_allocated
) {
3637 MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base
));
3638 this->seekhigh
= NULL
;
3639 this->state
&= ~STRINGBUF_allocated
;
3642 basic_streambuf_char__Init_empty(&this->base
);
3645 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
3646 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
3647 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_dtor
, 4)
3648 void __thiscall
basic_stringbuf_char_dtor(basic_stringbuf_char
*this)
3650 TRACE("(%p)\n", this);
3652 basic_stringbuf_char__Tidy(this);
3653 basic_streambuf_char_dtor(&this->base
);
3656 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_vector_dtor
, 8)
3657 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_vector_dtor(basic_stringbuf_char
*this, unsigned int flags
)
3659 TRACE("(%p %x)\n", this, flags
);
3662 /* we have an array, with the number of elements stored before the first object */
3663 INT_PTR i
, *ptr
= (INT_PTR
*) this - 1;
3665 for (i
= *ptr
- 1; i
>= 0; i
--)
3666 basic_stringbuf_char_dtor(this+i
);
3668 MSVCRT_operator_delete(ptr
);
3670 basic_stringbuf_char_dtor(this);
3673 MSVCRT_operator_delete(this);
3679 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3680 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3681 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_overflow
, 8)
3682 int __thiscall
basic_stringbuf_char_overflow(basic_stringbuf_char
*this, int meta
)
3684 MSVCP_size_t oldsize
, size
;
3687 TRACE("(%p %x)\n", this, meta
);
3691 if(this->state
& STRINGBUF_no_write
)
3694 ptr
= basic_streambuf_char_pptr(&this->base
);
3695 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
3696 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
3697 this->seekhigh
, basic_streambuf_char_epptr(&this->base
));
3699 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
3700 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3702 oldsize
= (ptr
? basic_streambuf_char_epptr(&this->base
)-basic_streambuf_char_eback(&this->base
): 0);
3705 buf
= MSVCRT_operator_new(size
);
3707 ERR("Out of memory\n");
3708 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3712 this->seekhigh
= buf
;
3713 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
3714 if(this->state
& STRINGBUF_no_read
)
3715 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3717 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+1);
3719 this->state
|= STRINGBUF_allocated
;
3721 ptr
= basic_streambuf_char_eback(&this->base
);
3722 memcpy(buf
, ptr
, oldsize
);
3724 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
3725 basic_streambuf_char_setp_next(&this->base
, buf
,
3726 buf
+(basic_streambuf_char_pptr(&this->base
)-ptr
), buf
+size
);
3727 if(this->state
& STRINGBUF_no_read
)
3728 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3730 basic_streambuf_char_setg(&this->base
, buf
,
3731 buf
+(basic_streambuf_char_gptr(&this->base
)-ptr
),
3732 basic_streambuf_char_pptr(&this->base
)+1);
3734 MSVCRT_operator_delete(ptr
);
3737 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3740 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3741 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3742 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_pbackfail
, 8)
3743 int __thiscall
basic_stringbuf_char_pbackfail(basic_stringbuf_char
*this, int c
)
3747 TRACE("(%p %x)\n", this, c
);
3749 cur
= basic_streambuf_char_gptr(&this->base
);
3750 if(!cur
|| cur
==basic_streambuf_char_eback(&this->base
)
3751 || (c
!=EOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
3756 basic_streambuf_char_gbump(&this->base
, -1);
3757 return c
==EOF
? !EOF
: c
;
3760 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ */
3761 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ */
3762 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_underflow
, 4)
3763 int __thiscall
basic_stringbuf_char_underflow(basic_stringbuf_char
*this)
3767 TRACE("(%p)\n", this);
3769 cur
= basic_streambuf_char_gptr(&this->base
);
3770 if(!cur
|| this->state
&STRINGBUF_no_read
)
3773 ptr
= basic_streambuf_char_pptr(&this->base
);
3774 if(this->seekhigh
< ptr
)
3775 this->seekhigh
= ptr
;
3777 ptr
= basic_streambuf_char_egptr(&this->base
);
3778 if(this->seekhigh
> ptr
)
3779 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
), cur
, this->seekhigh
);
3781 if(cur
< this->seekhigh
)
3786 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3787 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3788 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekoff
, 20)
3789 fpos_int
* __thiscall
basic_stringbuf_char_seekoff(basic_stringbuf_char
*this,
3790 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3792 char *beg
, *cur_r
, *cur_w
;
3794 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
3796 cur_w
= basic_streambuf_char_pptr(&this->base
);
3797 if(cur_w
> this->seekhigh
)
3798 this->seekhigh
= cur_w
;
3803 beg
= basic_streambuf_char_eback(&this->base
);
3804 cur_r
= basic_streambuf_char_gptr(&this->base
);
3805 if((mode
& OPENMODE_in
) && cur_r
) {
3806 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
3808 else if(way
== SEEKDIR_end
)
3809 off
+= this->seekhigh
-beg
;
3810 else if(way
!= SEEKDIR_beg
)
3813 if(off
<0 || off
>this->seekhigh
-beg
) {
3816 basic_streambuf_char_gbump(&this->base
, beg
-cur_r
+off
);
3817 if((mode
& OPENMODE_out
) && cur_w
) {
3818 basic_streambuf_char_setp_next(&this->base
, beg
,
3819 basic_streambuf_char_gptr(&this->base
),
3820 basic_streambuf_char_epptr(&this->base
));
3823 }else if((mode
& OPENMODE_out
) && cur_w
) {
3824 if(way
== SEEKDIR_cur
)
3826 else if(way
== SEEKDIR_end
)
3827 off
+= this->seekhigh
-beg
;
3828 else if(way
!= SEEKDIR_beg
)
3831 if(off
<0 || off
>this->seekhigh
-beg
)
3834 basic_streambuf_char_pbump(&this->base
, beg
-cur_w
+off
);
3843 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3844 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3845 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekpos
, 36)
3846 fpos_int
* __thiscall
basic_stringbuf_char_seekpos(basic_stringbuf_char
*this,
3847 fpos_int
*ret
, fpos_int pos
, int mode
)
3849 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3851 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
3856 return basic_stringbuf_char_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
3859 /* ?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 */
3860 /* ?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 */
3861 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_set
, 8)
3862 void __thiscall
basic_stringbuf_char_str_set(basic_stringbuf_char
*this, const basic_string_char
*str
)
3864 TRACE("(%p %p)\n", this, str
);
3866 basic_stringbuf_char__Tidy(this);
3867 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
), str
->size
, this->state
);
3870 /* ?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 */
3871 /* ?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 */
3872 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_get
, 8)
3873 basic_string_char
* __thiscall
basic_stringbuf_char_str_get(const basic_stringbuf_char
*this, basic_string_char
*ret
)
3877 TRACE("(%p)\n", this);
3879 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_char_pptr(&this->base
)) {
3882 ptr
= basic_streambuf_char_pbase(&this->base
);
3883 pptr
= basic_streambuf_char_pptr(&this->base
);
3885 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
3888 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_char_gptr(&this->base
)) {
3889 ptr
= basic_streambuf_char_eback(&this->base
);
3890 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, basic_streambuf_char_egptr(&this->base
) - ptr
);
3893 return MSVCP_basic_string_char_ctor(ret
);
3896 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEHH@Z */
3897 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEAAHH@Z */
3898 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z */
3899 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z */
3900 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Getstate
, 8)
3901 int __thiscall
basic_stringbuf_wchar__Getstate(basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3905 if(!(mode
& OPENMODE_in
))
3906 state
|= STRINGBUF_no_read
;
3908 if(!(mode
& OPENMODE_out
))
3909 state
|= STRINGBUF_no_write
;
3911 if(mode
& OPENMODE_ate
)
3912 state
|= STRINGBUF_at_end
;
3914 if(mode
& OPENMODE_app
)
3915 state
|= STRINGBUF_append
;
3920 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXPB_WIH@Z */
3921 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXPEB_W_KH@Z */
3922 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z */
3923 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z */
3924 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Init
, 16)
3925 void __thiscall
basic_stringbuf_wchar__Init(basic_stringbuf_wchar
*this, const wchar_t *str
, MSVCP_size_t count
, int state
)
3927 TRACE("(%p, %p, %lu, %d)\n", this, str
, count
, state
);
3929 basic_streambuf_wchar__Init_empty(&this->base
);
3931 this->state
= state
;
3932 this->seekhigh
= NULL
;
3935 wchar_t *buf
= MSVCRT_operator_new(count
*sizeof(wchar_t));
3937 ERR("Out of memory\n");
3938 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3941 memcpy(buf
, str
, count
*sizeof(wchar_t));
3942 this->seekhigh
= buf
+ count
;
3944 this->state
|= STRINGBUF_allocated
;
3946 if(!(state
& STRINGBUF_no_read
))
3947 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+ count
);
3949 if(!(state
& STRINGBUF_no_write
)) {
3950 basic_streambuf_wchar_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3952 if(!basic_streambuf_wchar_gptr(&this->base
))
3953 basic_streambuf_wchar_setg(&this->base
, buf
, 0, buf
);
3958 /* ??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 */
3959 /* ??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 */
3960 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_str
, 12)
3961 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_str(basic_stringbuf_wchar
*this,
3962 const basic_string_wchar
*str
, IOSB_openmode mode
)
3964 TRACE("(%p %p %d)\n", this, str
, mode
);
3966 basic_streambuf_wchar_ctor(&this->base
);
3967 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
3969 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
),
3970 str
->size
, basic_stringbuf_wchar__Getstate(this, mode
));
3974 /* ??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 */
3975 /* ??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 */
3976 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_str
, 12)
3977 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_str(basic_stringbuf_wchar
*this,
3978 const basic_string_wchar
*str
, IOSB_openmode mode
)
3980 basic_stringbuf_wchar_ctor_str(this, str
, mode
);
3981 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
3985 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
3986 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
3987 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_mode
, 8)
3988 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_mode(
3989 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3991 TRACE("(%p %d)\n", this, mode
);
3993 basic_streambuf_wchar_ctor(&this->base
);
3994 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
3996 basic_stringbuf_wchar__Init(this, NULL
, 0, basic_stringbuf_wchar__Getstate(this, mode
));
4000 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
4001 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
4002 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_mode
, 8)
4003 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_mode(
4004 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
4006 basic_stringbuf_wchar_ctor_mode(this, mode
);
4007 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
4011 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
4012 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
4013 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor
, 4)
4014 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor(basic_stringbuf_wchar
*this)
4016 return basic_stringbuf_wchar_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
4019 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
4020 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
4021 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor
, 4)
4022 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor(basic_stringbuf_wchar
*this)
4024 return basic_stringbuf_short_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
4027 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXXZ */
4028 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXXZ */
4029 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ */
4030 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ */
4031 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Tidy
, 4)
4032 void __thiscall
basic_stringbuf_wchar__Tidy(basic_stringbuf_wchar
*this)
4034 TRACE("(%p)\n", this);
4036 if(this->state
& STRINGBUF_allocated
) {
4037 MSVCRT_operator_delete(basic_streambuf_wchar_eback(&this->base
));
4038 this->seekhigh
= NULL
;
4039 this->state
&= ~STRINGBUF_allocated
;
4042 basic_streambuf_wchar__Init_empty(&this->base
);
4045 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
4046 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
4047 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
4048 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
4049 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_dtor
, 4)
4050 void __thiscall
basic_stringbuf_wchar_dtor(basic_stringbuf_wchar
*this)
4052 TRACE("(%p)\n", this);
4054 basic_stringbuf_wchar__Tidy(this);
4055 basic_streambuf_wchar_dtor(&this->base
);
4058 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_vector_dtor
, 8)
4059 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_vector_dtor(basic_stringbuf_wchar
*this, unsigned int flags
)
4061 TRACE("(%p %x)\n", this, flags
);
4064 /* we have an array, with the number of elements stored before the first object */
4065 INT_PTR i
, *ptr
= (INT_PTR
*) this - 1;
4067 for (i
= *ptr
- 1; i
>= 0; i
--)
4068 basic_stringbuf_wchar_dtor(this+i
);
4070 MSVCRT_operator_delete(ptr
);
4072 basic_stringbuf_wchar_dtor(this);
4075 MSVCRT_operator_delete(this);
4081 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4082 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4083 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4084 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4085 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_overflow
, 8)
4086 unsigned short __thiscall
basic_stringbuf_wchar_overflow(basic_stringbuf_wchar
*this, unsigned short meta
)
4088 MSVCP_size_t oldsize
, size
;
4091 TRACE("(%p %x)\n", this, meta
);
4095 if(this->state
& STRINGBUF_no_write
)
4098 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4099 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
4100 basic_streambuf_wchar_setp_next(&this->base
, basic_streambuf_wchar_pbase(&this->base
),
4101 this->seekhigh
, basic_streambuf_wchar_epptr(&this->base
));
4103 if(ptr
&& ptr
<basic_streambuf_wchar_epptr(&this->base
))
4104 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4106 oldsize
= (ptr
? basic_streambuf_wchar_epptr(&this->base
)-basic_streambuf_wchar_eback(&this->base
): 0);
4109 buf
= MSVCRT_operator_new(size
*sizeof(wchar_t));
4111 ERR("Out of memory\n");
4112 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
4116 this->seekhigh
= buf
;
4117 basic_streambuf_wchar_setp(&this->base
, buf
, buf
+size
);
4118 if(this->state
& STRINGBUF_no_read
)
4119 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4121 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+1);
4123 this->state
|= STRINGBUF_allocated
;
4125 ptr
= basic_streambuf_wchar_eback(&this->base
);
4126 memcpy(buf
, ptr
, oldsize
*sizeof(wchar_t));
4128 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
4129 basic_streambuf_wchar_setp_next(&this->base
, buf
,
4130 buf
+(basic_streambuf_wchar_pptr(&this->base
)-ptr
), buf
+size
);
4131 if(this->state
& STRINGBUF_no_read
)
4132 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4134 basic_streambuf_wchar_setg(&this->base
, buf
,
4135 buf
+(basic_streambuf_wchar_gptr(&this->base
)-ptr
),
4136 basic_streambuf_wchar_pptr(&this->base
)+1);
4138 MSVCRT_operator_delete(ptr
);
4141 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4144 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4145 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4146 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4147 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4148 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_pbackfail
, 8)
4149 unsigned short __thiscall
basic_stringbuf_wchar_pbackfail(basic_stringbuf_wchar
*this, unsigned short c
)
4153 TRACE("(%p %x)\n", this, c
);
4155 cur
= basic_streambuf_wchar_gptr(&this->base
);
4156 if(!cur
|| cur
==basic_streambuf_wchar_eback(&this->base
)
4157 || (c
!=WEOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
4162 basic_streambuf_wchar_gbump(&this->base
, -1);
4163 return c
==WEOF
? !WEOF
: c
;
4166 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGXZ */
4167 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGXZ */
4168 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ */
4169 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ */
4170 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_underflow
, 4)
4171 unsigned short __thiscall
basic_stringbuf_wchar_underflow(basic_stringbuf_wchar
*this)
4175 TRACE("(%p)\n", this);
4177 cur
= basic_streambuf_wchar_gptr(&this->base
);
4178 if(!cur
|| this->state
&STRINGBUF_no_read
)
4181 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4182 if(this->seekhigh
< ptr
)
4183 this->seekhigh
= ptr
;
4185 ptr
= basic_streambuf_wchar_egptr(&this->base
);
4186 if(this->seekhigh
> ptr
)
4187 basic_streambuf_wchar_setg(&this->base
, basic_streambuf_wchar_eback(&this->base
), cur
, this->seekhigh
);
4189 if(cur
< this->seekhigh
)
4194 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4195 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4196 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4197 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4198 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekoff
, 20)
4199 fpos_int
* __thiscall
basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar
*this,
4200 fpos_int
*ret
, streamoff off
, int way
, int mode
)
4202 wchar_t *beg
, *cur_r
, *cur_w
;
4204 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
4206 cur_w
= basic_streambuf_wchar_pptr(&this->base
);
4207 if(cur_w
> this->seekhigh
)
4208 this->seekhigh
= cur_w
;
4213 beg
= basic_streambuf_wchar_eback(&this->base
);
4214 cur_r
= basic_streambuf_wchar_gptr(&this->base
);
4215 if((mode
& OPENMODE_in
) && cur_r
) {
4216 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
4218 else if(way
== SEEKDIR_end
)
4219 off
+= this->seekhigh
-beg
;
4220 else if(way
!= SEEKDIR_beg
)
4223 if(off
<0 || off
>this->seekhigh
-beg
) {
4226 basic_streambuf_wchar_gbump(&this->base
, beg
-cur_r
+off
);
4227 if((mode
& OPENMODE_out
) && cur_w
) {
4228 basic_streambuf_wchar_setp_next(&this->base
, beg
,
4229 basic_streambuf_wchar_gptr(&this->base
),
4230 basic_streambuf_wchar_epptr(&this->base
));
4233 }else if((mode
& OPENMODE_out
) && cur_w
) {
4234 if(way
== SEEKDIR_cur
)
4236 else if(way
== SEEKDIR_end
)
4237 off
+= this->seekhigh
-beg
;
4238 else if(way
!= SEEKDIR_beg
)
4241 if(off
<0 || off
>this->seekhigh
-beg
)
4244 basic_streambuf_wchar_pbump(&this->base
, beg
-cur_w
+off
);
4253 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4254 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4255 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4256 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4257 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekpos
, 36)
4258 fpos_int
* __thiscall
basic_stringbuf_wchar_seekpos(basic_stringbuf_wchar
*this,
4259 fpos_int
*ret
, fpos_int pos
, int mode
)
4261 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
4263 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
4268 return basic_stringbuf_wchar_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
4271 /* ?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 */
4272 /* ?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 */
4273 /* ?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 */
4274 /* ?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 */
4275 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_set
, 8)
4276 void __thiscall
basic_stringbuf_wchar_str_set(basic_stringbuf_wchar
*this, const basic_string_wchar
*str
)
4278 TRACE("(%p %p)\n", this, str
);
4280 basic_stringbuf_wchar__Tidy(this);
4281 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
), str
->size
, this->state
);
4284 /* ?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 */
4285 /* ?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 */
4286 /* ?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 */
4287 /* ?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 */
4288 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_get
, 8)
4289 basic_string_wchar
* __thiscall
basic_stringbuf_wchar_str_get(const basic_stringbuf_wchar
*this, basic_string_wchar
*ret
)
4293 TRACE("(%p)\n", this);
4295 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_wchar_pptr(&this->base
)) {
4298 ptr
= basic_streambuf_wchar_pbase(&this->base
);
4299 pptr
= basic_streambuf_wchar_pptr(&this->base
);
4301 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
4304 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_wchar_gptr(&this->base
)) {
4305 ptr
= basic_streambuf_wchar_eback(&this->base
);
4306 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, basic_streambuf_wchar_egptr(&this->base
) - ptr
);
4309 return MSVCP_basic_string_wchar_ctor(ret
);
4312 /* ??0ios_base@std@@IAE@XZ */
4313 /* ??0ios_base@std@@IEAA@XZ */
4314 DEFINE_THISCALL_WRAPPER(ios_base_ctor
, 4)
4315 ios_base
* __thiscall
ios_base_ctor(ios_base
*this)
4317 TRACE("(%p)\n", this);
4318 this->vtable
= &MSVCP_ios_base_vtable
;
4322 /* ??0ios_base@std@@QAE@ABV01@@Z */
4323 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
4324 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor
, 8)
4325 ios_base
* __thiscall
ios_base_copy_ctor(ios_base
*this, const ios_base
*copy
)
4327 TRACE("(%p %p)\n", this, copy
);
4329 this->vtable
= &MSVCP_ios_base_vtable
;
4333 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
4334 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
4335 DEFINE_THISCALL_WRAPPER(ios_base_Callfns
, 8)
4336 void __thiscall
ios_base_Callfns(ios_base
*this, IOS_BASE_event event
)
4338 IOS_BASE_fnarray
*cur
;
4340 TRACE("(%p %x)\n", this, event
);
4342 for(cur
=this->calls
; cur
; cur
=cur
->next
)
4343 cur
->event_handler(event
, this, cur
->index
);
4346 /* ?_Tidy@ios_base@std@@AAAXXZ */
4347 /* ?_Tidy@ios_base@std@@AEAAXXZ */
4348 void CDECL
ios_base_Tidy(ios_base
*this)
4350 IOS_BASE_iosarray
*arr_cur
, *arr_next
;
4351 IOS_BASE_fnarray
*event_cur
, *event_next
;
4353 TRACE("(%p)\n", this);
4355 ios_base_Callfns(this, EVENT_erase_event
);
4357 for(arr_cur
=this->arr
; arr_cur
; arr_cur
=arr_next
) {
4358 arr_next
= arr_cur
->next
;
4359 MSVCRT_operator_delete(arr_cur
);
4363 for(event_cur
=this->calls
; event_cur
; event_cur
=event_next
) {
4364 event_next
= event_cur
->next
;
4365 MSVCRT_operator_delete(event_cur
);
4370 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
4371 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
4372 void CDECL
ios_base_Ios_base_dtor(ios_base
*obj
)
4374 TRACE("(%p)\n", obj
);
4376 locale_dtor(obj
->loc
);
4377 MSVCRT_operator_delete(obj
->loc
);
4382 /* ??1ios_base@std@@UAE@XZ */
4383 /* ??1ios_base@std@@UEAA@XZ */
4384 DEFINE_THISCALL_WRAPPER(ios_base_dtor
, 4)
4385 void __thiscall
ios_base_dtor(ios_base
*this)
4387 ios_base_Ios_base_dtor(this);
4390 DEFINE_THISCALL_WRAPPER(ios_base_vector_dtor
, 8)
4391 ios_base
* __thiscall
ios_base_vector_dtor(ios_base
*this, unsigned int flags
)
4393 TRACE("(%p %x)\n", this, flags
);
4395 /* we have an array, with the number of elements stored before the first object */
4396 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
4398 for(i
=*ptr
-1; i
>=0; i
--)
4399 ios_base_dtor(this+i
);
4400 MSVCRT_operator_delete(ptr
);
4402 ios_base_dtor(this);
4404 MSVCRT_operator_delete(this);
4410 DEFINE_THISCALL_WRAPPER(iosb_vector_dtor
, 8)
4411 void* __thiscall
iosb_vector_dtor(void *this, unsigned int flags
)
4413 TRACE("(%p %x)\n", this, flags
);
4415 INT_PTR
*ptr
= (INT_PTR
*)this-1;
4416 MSVCRT_operator_delete(ptr
);
4419 MSVCRT_operator_delete(this);
4425 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
4426 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
4427 DEFINE_THISCALL_WRAPPER(ios_base_Findarr
, 8)
4428 IOS_BASE_iosarray
* __thiscall
ios_base_Findarr(ios_base
*this, int index
)
4430 IOS_BASE_iosarray
*p
;
4432 TRACE("(%p %d)\n", this, index
);
4434 for(p
=this->arr
; p
; p
=p
->next
) {
4435 if(p
->index
== index
)
4439 for(p
=this->arr
; p
; p
=p
->next
) {
4440 if(!p
->long_val
&& !p
->ptr_val
) {
4446 p
= MSVCRT_operator_new(sizeof(IOS_BASE_iosarray
));
4447 p
->next
= this->arr
;
4455 /* ?iword@ios_base@std@@QAEAAJH@Z */
4456 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
4457 DEFINE_THISCALL_WRAPPER(ios_base_iword
, 8)
4458 LONG
* __thiscall
ios_base_iword(ios_base
*this, int index
)
4460 TRACE("(%p %d)\n", this, index
);
4461 return &ios_base_Findarr(this, index
)->long_val
;
4464 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
4465 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
4466 DEFINE_THISCALL_WRAPPER(ios_base_pword
, 8)
4467 void** __thiscall
ios_base_pword(ios_base
*this, int index
)
4469 TRACE("(%p %d)\n", this, index
);
4470 return &ios_base_Findarr(this, index
)->ptr_val
;
4473 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
4474 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
4475 DEFINE_THISCALL_WRAPPER(ios_base_register_callback
, 12)
4476 void __thiscall
ios_base_register_callback(ios_base
*this, IOS_BASE_event_callback callback
, int index
)
4478 IOS_BASE_fnarray
*event
;
4480 TRACE("(%p %p %d)\n", this, callback
, index
);
4482 event
= MSVCRT_operator_new(sizeof(IOS_BASE_fnarray
));
4483 event
->next
= this->calls
;
4484 event
->index
= index
;
4485 event
->event_handler
= callback
;
4486 this->calls
= event
;
4489 /* ?clear@ios_base@std@@QAEXH_N@Z */
4490 /* ?clear@ios_base@std@@QEAAXH_N@Z */
4491 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise
, 12)
4492 void __thiscall
ios_base_clear_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4494 TRACE("(%p %x %x)\n", this, state
, reraise
);
4496 this->state
= state
& IOSTATE_mask
;
4497 if(!(this->state
& this->except
))
4501 throw_exception(EXCEPTION_RERAISE
, NULL
);
4502 else if(this->state
& this->except
& IOSTATE_eofbit
)
4503 throw_exception(EXCEPTION_FAILURE
, "eofbit is set");
4504 else if(this->state
& this->except
& IOSTATE_failbit
)
4505 throw_exception(EXCEPTION_FAILURE
, "failbit is set");
4506 else if(this->state
& this->except
& IOSTATE_badbit
)
4507 throw_exception(EXCEPTION_FAILURE
, "badbit is set");
4508 else if(this->state
& this->except
& IOSTATE__Hardfail
)
4509 throw_exception(EXCEPTION_FAILURE
, "_Hardfail is set");
4512 /* ?clear@ios_base@std@@QAEXH@Z */
4513 /* ?clear@ios_base@std@@QEAAXH@Z */
4514 DEFINE_THISCALL_WRAPPER(ios_base_clear
, 8)
4515 void __thiscall
ios_base_clear(ios_base
*this, IOSB_iostate state
)
4517 ios_base_clear_reraise(this, state
, FALSE
);
4520 /* ?clear@ios_base@std@@QAEXI@Z */
4521 /* ?clear@ios_base@std@@QEAAXI@Z */
4522 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned
, 8)
4523 void __thiscall
ios_base_clear_unsigned(ios_base
*this, unsigned int state
)
4525 ios_base_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4528 /* ?exceptions@ios_base@std@@QAEXH@Z */
4529 /* ?exceptions@ios_base@std@@QEAAXH@Z */
4530 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set
, 8)
4531 void __thiscall
ios_base_exceptions_set(ios_base
*this, IOSB_iostate state
)
4533 TRACE("(%p %x)\n", this, state
);
4534 this->except
= state
& IOSTATE_mask
;
4535 ios_base_clear(this, this->state
);
4538 /* ?exceptions@ios_base@std@@QAEXI@Z */
4539 /* ?exceptions@ios_base@std@@QEAAXI@Z */
4540 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set_unsigned
, 8)
4541 void __thiscall
ios_base_exceptions_set_unsigned(ios_base
*this, unsigned int state
)
4543 TRACE("(%p %x)\n", this, state
);
4544 ios_base_exceptions_set(this, state
);
4547 /* ?exceptions@ios_base@std@@QBEHXZ */
4548 /* ?exceptions@ios_base@std@@QEBAHXZ */
4549 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_get
, 4)
4550 IOSB_iostate __thiscall
ios_base_exceptions_get(ios_base
*this)
4552 TRACE("(%p)\n", this);
4553 return this->except
;
4556 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
4557 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
4558 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt
, 8)
4559 ios_base
* __thiscall
ios_base_copyfmt(ios_base
*this, const ios_base
*rhs
)
4561 TRACE("(%p %p)\n", this, rhs
);
4564 IOS_BASE_iosarray
*arr_cur
;
4565 IOS_BASE_fnarray
*event_cur
;
4567 ios_base_Tidy(this);
4569 for(arr_cur
=rhs
->arr
; arr_cur
; arr_cur
=arr_cur
->next
) {
4570 if(arr_cur
->long_val
)
4571 *ios_base_iword(this, arr_cur
->index
) = arr_cur
->long_val
;
4572 if(arr_cur
->ptr_val
)
4573 *ios_base_pword(this, arr_cur
->index
) = arr_cur
->ptr_val
;
4575 this->stdstr
= rhs
->stdstr
;
4576 this->fmtfl
= rhs
->fmtfl
;
4577 this->prec
= rhs
->prec
;
4578 this->wide
= rhs
->wide
;
4579 locale_operator_assign(this->loc
, rhs
->loc
);
4581 for(event_cur
=rhs
->calls
; event_cur
; event_cur
=event_cur
->next
)
4582 ios_base_register_callback(this, event_cur
->event_handler
, event_cur
->index
);
4584 ios_base_Callfns(this, EVENT_copyfmt_event
);
4585 ios_base_exceptions_set(this, rhs
->except
);
4591 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
4592 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
4593 DEFINE_THISCALL_WRAPPER(ios_base_assign
, 8)
4594 ios_base
* __thiscall
ios_base_assign(ios_base
*this, const ios_base
*right
)
4596 TRACE("(%p %p)\n", this, right
);
4599 this->state
= right
->state
;
4600 ios_base_copyfmt(this, right
);
4606 /* ?fail@ios_base@std@@QBE_NXZ */
4607 /* ?fail@ios_base@std@@QEBA_NXZ */
4608 DEFINE_THISCALL_WRAPPER(ios_base_fail
, 4)
4609 MSVCP_bool __thiscall
ios_base_fail(const ios_base
*this)
4611 TRACE("(%p)\n", this);
4612 return (this->state
& (IOSTATE_failbit
|IOSTATE_badbit
)) != 0;
4615 /* ??7ios_base@std@@QBE_NXZ */
4616 /* ??7ios_base@std@@QEBA_NXZ */
4617 DEFINE_THISCALL_WRAPPER(ios_base_op_succ
, 4)
4618 MSVCP_bool __thiscall
ios_base_op_succ(const ios_base
*this)
4620 TRACE("(%p)\n", this);
4621 return ios_base_fail(this);
4624 /* ??Bios_base@std@@QBEPAXXZ */
4625 /* ??Bios_base@std@@QEBAPEAXXZ */
4626 DEFINE_THISCALL_WRAPPER(ios_base_op_fail
, 4)
4627 void* __thiscall
ios_base_op_fail(const ios_base
*this)
4629 TRACE("(%p)\n", this);
4630 return ios_base_fail(this) ? NULL
: (void*)this;
4633 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
4634 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
4635 void CDECL
ios_base_Addstd(ios_base
*add
)
4637 FIXME("(%p) stub\n", add
);
4640 /* ?_Index_func@ios_base@std@@CAAAHXZ */
4641 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
4642 int* CDECL
ios_base_Index_func(void)
4645 return &ios_base_Index
;
4648 /* ?_Init@ios_base@std@@IAEXXZ */
4649 /* ?_Init@ios_base@std@@IEAAXXZ */
4650 DEFINE_THISCALL_WRAPPER(ios_base_Init
, 4)
4651 void __thiscall
ios_base_Init(ios_base
*this)
4653 TRACE("(%p)\n", this);
4656 this->state
= this->except
= IOSTATE_goodbit
;
4657 this->fmtfl
= FMTFLAG_skipws
| FMTFLAG_dec
;
4662 this->loc
= MSVCRT_operator_new(sizeof(locale
));
4663 locale_ctor(this->loc
);
4666 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
4667 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
4668 MSVCP_bool
* CDECL
ios_base_Sync_func(void)
4671 return &ios_base_Sync
;
4674 /* ?bad@ios_base@std@@QBE_NXZ */
4675 /* ?bad@ios_base@std@@QEBA_NXZ */
4676 DEFINE_THISCALL_WRAPPER(ios_base_bad
, 4)
4677 MSVCP_bool __thiscall
ios_base_bad(const ios_base
*this)
4679 TRACE("(%p)\n", this);
4680 return (this->state
& IOSTATE_badbit
) != 0;
4683 /* ?eof@ios_base@std@@QBE_NXZ */
4684 /* ?eof@ios_base@std@@QEBA_NXZ */
4685 DEFINE_THISCALL_WRAPPER(ios_base_eof
, 4)
4686 MSVCP_bool __thiscall
ios_base_eof(const ios_base
*this)
4688 TRACE("(%p)\n", this);
4689 return (this->state
& IOSTATE_eofbit
) != 0;
4692 /* ?flags@ios_base@std@@QAEHH@Z */
4693 /* ?flags@ios_base@std@@QEAAHH@Z */
4694 DEFINE_THISCALL_WRAPPER(ios_base_flags_set
, 8)
4695 IOSB_fmtflags __thiscall
ios_base_flags_set(ios_base
*this, IOSB_fmtflags flags
)
4697 IOSB_fmtflags ret
= this->fmtfl
;
4699 TRACE("(%p %x)\n", this, flags
);
4701 this->fmtfl
= flags
& FMTFLAG_mask
;
4705 /* ?flags@ios_base@std@@QBEHXZ */
4706 /* ?flags@ios_base@std@@QEBAHXZ */
4707 DEFINE_THISCALL_WRAPPER(ios_base_flags_get
, 4)
4708 IOSB_fmtflags __thiscall
ios_base_flags_get(const ios_base
*this)
4710 TRACE("(%p)\n", this);
4714 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
4715 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
4716 DEFINE_THISCALL_WRAPPER(ios_base_getloc
, 8)
4717 locale
* __thiscall
ios_base_getloc(const ios_base
*this, locale
*ret
)
4719 TRACE("(%p)\n", this);
4720 return locale_copy_ctor(ret
, this->loc
);
4723 /* ?good@ios_base@std@@QBE_NXZ */
4724 /* ?good@ios_base@std@@QEBA_NXZ */
4725 DEFINE_THISCALL_WRAPPER(ios_base_good
, 4)
4726 MSVCP_bool __thiscall
ios_base_good(const ios_base
*this)
4728 TRACE("(%p)\n", this);
4729 return this->state
== IOSTATE_goodbit
;
4732 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
4733 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
4734 DEFINE_THISCALL_WRAPPER(ios_base_imbue
, 12)
4735 locale
* __thiscall
ios_base_imbue(ios_base
*this, locale
*ret
, const locale
*loc
)
4737 TRACE("(%p %p)\n", this, loc
);
4739 locale_copy_ctor(this->loc
, loc
);
4743 /* ?precision@ios_base@std@@QAEHH@Z */
4744 /* ?precision@ios_base@std@@QEAA_J_J@Z */
4745 DEFINE_THISCALL_WRAPPER(ios_base_precision_set
, 8)
4746 streamsize __thiscall
ios_base_precision_set(ios_base
*this, streamsize precision
)
4748 streamsize ret
= this->prec
;
4750 TRACE("(%p %ld)\n", this, precision
);
4752 this->prec
= precision
;
4756 /* ?precision@ios_base@std@@QBEHXZ */
4757 /* ?precision@ios_base@std@@QEBA_JXZ */
4758 DEFINE_THISCALL_WRAPPER(ios_base_precision_get
, 4)
4759 streamsize __thiscall
ios_base_precision_get(const ios_base
*this)
4761 TRACE("(%p)\n", this);
4765 /* ?rdstate@ios_base@std@@QBEHXZ */
4766 /* ?rdstate@ios_base@std@@QEBAHXZ */
4767 DEFINE_THISCALL_WRAPPER(ios_base_rdstate
, 4)
4768 IOSB_iostate __thiscall
ios_base_rdstate(const ios_base
*this)
4770 TRACE("(%p)\n", this);
4774 /* ?setf@ios_base@std@@QAEHHH@Z */
4775 /* ?setf@ios_base@std@@QEAAHHH@Z */
4776 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask
, 12)
4777 IOSB_fmtflags __thiscall
ios_base_setf_mask(ios_base
*this, IOSB_fmtflags flags
, IOSB_fmtflags mask
)
4779 IOSB_fmtflags ret
= this->fmtfl
;
4781 TRACE("(%p %x %x)\n", this, flags
, mask
);
4783 this->fmtfl
= (this->fmtfl
& (~mask
)) | (flags
& mask
& FMTFLAG_mask
);
4787 /* ?setf@ios_base@std@@QAEHH@Z */
4788 /* ?setf@ios_base@std@@QEAAHH@Z */
4789 DEFINE_THISCALL_WRAPPER(ios_base_setf
, 8)
4790 IOSB_fmtflags __thiscall
ios_base_setf(ios_base
*this, IOSB_fmtflags flags
)
4792 return ios_base_setf_mask(this, flags
, ~0);
4795 /* ?setstate@ios_base@std@@QAEXH_N@Z */
4796 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
4797 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise
, 12)
4798 void __thiscall
ios_base_setstate_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4800 TRACE("(%p %x %x)\n", this, state
, reraise
);
4802 if(state
!= IOSTATE_goodbit
)
4803 ios_base_clear_reraise(this, this->state
| state
, reraise
);
4806 /* ?setstate@ios_base@std@@QAEXH@Z */
4807 /* ?setstate@ios_base@std@@QEAAXH@Z */
4808 DEFINE_THISCALL_WRAPPER(ios_base_setstate
, 8)
4809 void __thiscall
ios_base_setstate(ios_base
*this, IOSB_iostate state
)
4811 ios_base_setstate_reraise(this, state
, FALSE
);
4814 /* ?setstate@ios_base@std@@QAEXI@Z */
4815 /* ?setstate@ios_base@std@@QEAAXI@Z */
4816 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned
, 8)
4817 void __thiscall
ios_base_setstate_unsigned(ios_base
*this, unsigned int state
)
4819 ios_base_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
4822 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
4823 MSVCP_bool CDECL
ios_base_sync_with_stdio(MSVCP_bool sync
)
4828 TRACE("(%x)\n", sync
);
4830 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4831 ret
= ios_base_Sync
;
4832 ios_base_Sync
= sync
;
4833 _Lockit_dtor(&lock
);
4837 /* ?unsetf@ios_base@std@@QAEXH@Z */
4838 /* ?unsetf@ios_base@std@@QEAAXH@Z */
4839 DEFINE_THISCALL_WRAPPER(ios_base_unsetf
, 8)
4840 void __thiscall
ios_base_unsetf(ios_base
*this, IOSB_fmtflags flags
)
4842 TRACE("(%p %x)\n", this, flags
);
4843 this->fmtfl
&= ~flags
;
4846 /* ?width@ios_base@std@@QAEHH@Z */
4847 /* ?width@ios_base@std@@QEAA_J_J@Z */
4848 DEFINE_THISCALL_WRAPPER(ios_base_width_set
, 8)
4849 streamsize __thiscall
ios_base_width_set(ios_base
*this, streamsize width
)
4851 streamsize ret
= this->wide
;
4853 TRACE("(%p %ld)\n", this, width
);
4859 /* ?width@ios_base@std@@QBEHXZ */
4860 /* ?width@ios_base@std@@QEBA_JXZ */
4861 DEFINE_THISCALL_WRAPPER(ios_base_width_get
, 4)
4862 streamsize __thiscall
ios_base_width_get(ios_base
*this)
4864 TRACE("(%p)\n", this);
4868 /* ?xalloc@ios_base@std@@SAHXZ */
4869 int CDECL
ios_base_xalloc(void)
4876 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4877 ret
= ios_base_Index
++;
4878 _Lockit_dtor(&lock
);
4882 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
4883 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
4884 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor
, 4)
4885 basic_ios_char
* __thiscall
basic_ios_char_ctor(basic_ios_char
*this)
4887 TRACE("(%p)\n", this);
4889 ios_base_ctor(&this->base
);
4890 this->base
.vtable
= &MSVCP_basic_ios_char_vtable
;
4894 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4895 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4896 DEFINE_THISCALL_WRAPPER(basic_ios_char_init
, 12)
4897 void __thiscall
basic_ios_char_init(basic_ios_char
*this, basic_streambuf_char
*streambuf
, MSVCP_bool isstd
)
4899 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
4900 ios_base_Init(&this->base
);
4901 this->strbuf
= streambuf
;
4902 this->stream
= NULL
;
4906 ios_base_setstate(&this->base
, IOSTATE_badbit
);
4909 FIXME("standard streams not handled yet\n");
4912 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4913 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4914 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor_streambuf
, 8)
4915 basic_ios_char
* __thiscall
basic_ios_char_ctor_streambuf(basic_ios_char
*this, basic_streambuf_char
*strbuf
)
4917 TRACE("(%p %p)\n", this, strbuf
);
4919 basic_ios_char_ctor(this);
4920 basic_ios_char_init(this, strbuf
, FALSE
);
4924 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
4925 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
4926 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor
, 4)
4927 void __thiscall
basic_ios_char_dtor(basic_ios_char
*this)
4929 TRACE("(%p)\n", this);
4930 ios_base_dtor(&this->base
);
4933 DEFINE_THISCALL_WRAPPER(basic_ios_char_vector_dtor
, 8)
4934 basic_ios_char
* __thiscall
basic_ios_char_vector_dtor(basic_ios_char
*this, unsigned int flags
)
4936 TRACE("(%p %x)\n", this, flags
);
4938 /* we have an array, with the number of elements stored before the first object */
4939 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
4941 for(i
=*ptr
-1; i
>=0; i
--)
4942 basic_ios_char_dtor(this+i
);
4943 MSVCRT_operator_delete(ptr
);
4945 basic_ios_char_dtor(this);
4947 MSVCRT_operator_delete(this);
4953 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
4954 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
4955 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise
, 12)
4956 void __thiscall
basic_ios_char_clear_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4958 TRACE("(%p %x %x)\n", this, state
, reraise
);
4959 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
4962 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
4963 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
4964 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear
, 8)
4965 void __thiscall
basic_ios_char_clear(basic_ios_char
*this, unsigned int state
)
4967 basic_ios_char_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4970 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
4971 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
4972 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt
, 8)
4973 basic_ios_char
* __thiscall
basic_ios_char_copyfmt(basic_ios_char
*this, basic_ios_char
*copy
)
4975 TRACE("(%p %p)\n", this, copy
);
4979 this->stream
= copy
->stream
;
4980 this->fillch
= copy
->fillch
;
4981 ios_base_copyfmt(&this->base
, ©
->base
);
4985 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
4986 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
4987 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set
, 8)
4988 char __thiscall
basic_ios_char_fill_set(basic_ios_char
*this, char fill
)
4990 char ret
= this->fillch
;
4992 TRACE("(%p %c)\n", this, fill
);
4994 this->fillch
= fill
;
4998 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
4999 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
5000 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get
, 4)
5001 char __thiscall
basic_ios_char_fill_get(basic_ios_char
*this)
5003 TRACE("(%p)\n", this);
5004 return this->fillch
;
5007 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5008 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5009 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue
, 12)
5010 locale
*__thiscall
basic_ios_char_imbue(basic_ios_char
*this, locale
*ret
, const locale
*loc
)
5012 TRACE("(%p %p %p)\n", this, ret
, loc
);
5015 basic_streambuf_char_pubimbue(this->strbuf
, ret
, loc
);
5019 return ios_base_imbue(&this->base
, ret
, loc
);
5022 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
5023 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
5024 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow
, 12)
5025 char __thiscall
basic_ios_char_narrow(basic_ios_char
*this, char ch
, char def
)
5027 TRACE("(%p %c %c)\n", this, ch
, def
);
5028 return ctype_char_narrow_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
, def
);
5031 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
5032 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5033 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set
, 8)
5034 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_set(basic_ios_char
*this, basic_streambuf_char
*streambuf
)
5036 basic_streambuf_char
*ret
= this->strbuf
;
5038 TRACE("(%p %p)\n", this, streambuf
);
5040 this->strbuf
= streambuf
;
5041 basic_ios_char_clear(this, IOSTATE_goodbit
);
5045 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5046 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5047 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get
, 4)
5048 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_get(const basic_ios_char
*this)
5050 TRACE("(%p)\n", this);
5051 return this->strbuf
;
5054 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
5055 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
5056 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise
, 12)
5057 void __thiscall
basic_ios_char_setstate_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5059 TRACE("(%p %x %x)\n", this, state
, reraise
);
5061 if(state
!= IOSTATE_goodbit
)
5062 basic_ios_char_clear_reraise(this, this->base
.state
| state
, reraise
);
5065 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
5066 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
5067 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate
, 8)
5068 void __thiscall
basic_ios_char_setstate(basic_ios_char
*this, unsigned int state
)
5070 basic_ios_char_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
5073 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
5074 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5075 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set
, 8)
5076 basic_ostream_char
* __thiscall
basic_ios_char_tie_set(basic_ios_char
*this, basic_ostream_char
*ostream
)
5078 basic_ostream_char
*ret
= this->stream
;
5080 TRACE("(%p %p)\n", this, ostream
);
5082 this->stream
= ostream
;
5086 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5087 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5088 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get
, 4)
5089 basic_ostream_char
* __thiscall
basic_ios_char_tie_get(const basic_ios_char
*this)
5091 TRACE("(%p)\n", this);
5092 return this->stream
;
5095 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
5096 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
5097 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen
, 8)
5098 char __thiscall
basic_ios_char_widen(basic_ios_char
*this, char ch
)
5100 TRACE("(%p %c)\n", this, ch
);
5101 return ctype_char_widen_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
);
5105 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
5106 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
5107 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor
, 4)
5108 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor(basic_ios_wchar
*this)
5110 TRACE("(%p)\n", this);
5112 ios_base_ctor(&this->base
);
5113 this->base
.vtable
= &MSVCP_basic_ios_wchar_vtable
;
5117 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ */
5118 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IEAA@XZ */
5119 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor
, 4)
5120 basic_ios_wchar
* __thiscall
basic_ios_short_ctor(basic_ios_wchar
*this)
5122 basic_ios_wchar_ctor(this);
5123 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5127 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5128 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5129 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5130 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5131 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init
, 12)
5132 void __thiscall
basic_ios_wchar_init(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
, MSVCP_bool isstd
)
5134 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
5135 ios_base_Init(&this->base
);
5136 this->strbuf
= streambuf
;
5137 this->stream
= NULL
;
5141 ios_base_setstate(&this->base
, IOSTATE_badbit
);
5144 FIXME("standard streams not handled yet\n");
5147 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5148 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5149 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor_streambuf
, 8)
5150 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5152 TRACE("(%p %p)\n", this, strbuf
);
5154 basic_ios_wchar_ctor(this);
5155 basic_ios_wchar_init(this, strbuf
, FALSE
);
5159 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5160 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5161 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor_streambuf
, 8)
5162 basic_ios_wchar
* __thiscall
basic_ios_short_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5164 basic_ios_wchar_ctor_streambuf(this, strbuf
);
5165 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5169 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
5170 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
5171 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ */
5172 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UEAA@XZ */
5173 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor
, 4)
5174 void __thiscall
basic_ios_wchar_dtor(basic_ios_wchar
*this)
5176 TRACE("(%p)\n", this);
5177 ios_base_dtor(&this->base
);
5180 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_vector_dtor
, 8)
5181 basic_ios_wchar
* __thiscall
basic_ios_wchar_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
5183 TRACE("(%p %x)\n", this, flags
);
5185 /* we have an array, with the number of elements stored before the first object */
5186 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
5188 for(i
=*ptr
-1; i
>=0; i
--)
5189 basic_ios_wchar_dtor(this+i
);
5190 MSVCRT_operator_delete(ptr
);
5192 basic_ios_wchar_dtor(this);
5194 MSVCRT_operator_delete(this);
5200 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5201 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5202 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5203 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5204 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise
, 12)
5205 void __thiscall
basic_ios_wchar_clear_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5207 TRACE("(%p %x %x)\n", this, state
, reraise
);
5208 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
5211 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5212 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5213 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5214 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5215 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear
, 8)
5216 void __thiscall
basic_ios_wchar_clear(basic_ios_wchar
*this, unsigned int state
)
5218 basic_ios_wchar_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
5221 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
5222 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5223 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z */
5224 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5225 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt
, 8)
5226 basic_ios_wchar
* __thiscall
basic_ios_wchar_copyfmt(basic_ios_wchar
*this, basic_ios_wchar
*copy
)
5228 TRACE("(%p %p)\n", this, copy
);
5232 this->stream
= copy
->stream
;
5233 this->fillch
= copy
->fillch
;
5234 ios_base_copyfmt(&this->base
, ©
->base
);
5238 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
5239 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
5240 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z */
5241 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
5242 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set
, 8)
5243 wchar_t __thiscall
basic_ios_wchar_fill_set(basic_ios_wchar
*this, wchar_t fill
)
5245 wchar_t ret
= this->fillch
;
5247 TRACE("(%p %c)\n", this, fill
);
5249 this->fillch
= fill
;
5253 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
5254 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
5255 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ */
5256 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGXZ */
5257 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get
, 4)
5258 wchar_t __thiscall
basic_ios_wchar_fill_get(basic_ios_wchar
*this)
5260 TRACE("(%p)\n", this);
5261 return this->fillch
;
5264 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5265 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5266 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5267 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5268 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue
, 12)
5269 locale
*__thiscall
basic_ios_wchar_imbue(basic_ios_wchar
*this, locale
*ret
, const locale
*loc
)
5271 TRACE("(%p %p %p)\n", this, ret
, loc
);
5274 return basic_streambuf_wchar_pubimbue(this->strbuf
, ret
, loc
);
5276 locale_copy_ctor(ret
, loc
);
5280 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
5281 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
5282 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z */
5283 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBADGD@Z */
5284 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow
, 12)
5285 char __thiscall
basic_ios_wchar_narrow(basic_ios_wchar
*this, wchar_t ch
, char def
)
5287 TRACE("(%p %c %c)\n", this, ch
, def
);
5288 return ctype_wchar_narrow_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
, def
);
5291 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5292 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5293 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z */
5294 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5295 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set
, 8)
5296 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_set(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
)
5298 basic_streambuf_wchar
*ret
= this->strbuf
;
5300 TRACE("(%p %p)\n", this, streambuf
);
5302 this->strbuf
= streambuf
;
5303 basic_ios_wchar_clear(this, IOSTATE_goodbit
);
5307 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5308 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5309 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5310 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5311 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get
, 4)
5312 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_get(const basic_ios_wchar
*this)
5314 TRACE("(%p)\n", this);
5315 return this->strbuf
;
5318 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5319 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5320 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5321 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5322 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise
, 12)
5323 void __thiscall
basic_ios_wchar_setstate_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5325 TRACE("(%p %x %x)\n", this, state
, reraise
);
5327 if(state
!= IOSTATE_goodbit
)
5328 basic_ios_wchar_clear_reraise(this, this->base
.state
| state
, reraise
);
5331 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5332 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5333 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5334 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5335 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate
, 8)
5336 void __thiscall
basic_ios_wchar_setstate(basic_ios_wchar
*this, IOSB_iostate state
)
5338 basic_ios_wchar_setstate_reraise(this, state
, FALSE
);
5341 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5342 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5343 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z */
5344 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5345 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set
, 8)
5346 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_set(basic_ios_wchar
*this, basic_ostream_wchar
*ostream
)
5348 basic_ostream_wchar
*ret
= this->stream
;
5350 TRACE("(%p %p)\n", this, ostream
);
5352 this->stream
= ostream
;
5356 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5357 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5358 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5359 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5360 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get
, 4)
5361 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_get(const basic_ios_wchar
*this)
5363 TRACE("(%p)\n", this);
5364 return this->stream
;
5367 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
5368 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
5369 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z */
5370 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGD@Z */
5371 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen
, 8)
5372 wchar_t __thiscall
basic_ios_wchar_widen(basic_ios_wchar
*this, char ch
)
5374 TRACE("(%p %c)\n", this, ch
);
5375 return ctype_wchar_widen_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
);
5378 /* Caution: basic_ostream uses virtual inheritance.
5379 * All constructors have additional parameter that says if base class should be initialized.
5380 * Base class needs to be accessed using vbtable.
5382 static inline basic_ios_char
* basic_ostream_char_get_basic_ios(basic_ostream_char
*this)
5384 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
5387 static inline basic_ios_char
* basic_ostream_char_to_basic_ios(basic_ostream_char
*ptr
)
5389 return (basic_ios_char
*)((char*)ptr
+basic_ostream_char_vbtable
[1]);
5392 static inline basic_ostream_char
* basic_ostream_char_from_basic_ios(basic_ios_char
*ptr
)
5394 return (basic_ostream_char
*)((char*)ptr
-basic_ostream_char_vbtable
[1]);
5397 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5398 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5399 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor
, 16)
5400 basic_ostream_char
* __thiscall
basic_ostream_char_ctor(basic_ostream_char
*this,
5401 basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
5403 basic_ios_char
*base
;
5405 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
5408 this->vbtable
= basic_ostream_char_vbtable
;
5409 base
= basic_ostream_char_get_basic_ios(this);
5410 basic_ios_char_ctor(base
);
5412 base
= basic_ostream_char_get_basic_ios(this);
5415 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5416 basic_ios_char_init(base
, strbuf
, isstd
);
5420 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
5421 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
5422 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor_uninitialized
, 16)
5423 basic_ostream_char
* __thiscall
basic_ostream_char_ctor_uninitialized(basic_ostream_char
*this,
5424 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
5426 basic_ios_char
*base
;
5428 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
5431 this->vbtable
= basic_ostream_char_vbtable
;
5432 base
= basic_ostream_char_get_basic_ios(this);
5433 basic_ios_char_ctor(base
);
5435 base
= basic_ostream_char_get_basic_ios(this);
5438 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5440 ios_base_Addstd(&base
->base
);
5444 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
5445 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
5446 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor
, 4)
5447 void __thiscall
basic_ostream_char_dtor(basic_ios_char
*base
)
5449 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5451 /* don't destroy virtual base here */
5452 TRACE("(%p)\n", this);
5455 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5456 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5457 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vbase_dtor
, 4)
5458 void __thiscall
basic_ostream_char_vbase_dtor(basic_ostream_char
*this)
5460 TRACE("(%p)\n", this);
5461 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(this));
5462 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(this));
5465 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vector_dtor
, 8)
5466 basic_ostream_char
* __thiscall
basic_ostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
5468 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5470 TRACE("(%p %x)\n", this, flags
);
5473 /* we have an array, with the number of elements stored before the first object */
5474 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
5476 for(i
=*ptr
-1; i
>=0; i
--)
5477 basic_ostream_char_vbase_dtor(this+i
);
5478 MSVCRT_operator_delete(ptr
);
5480 basic_ostream_char_vbase_dtor(this);
5482 MSVCRT_operator_delete(this);
5488 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
5489 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
5490 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush
, 4)
5491 basic_ostream_char
* __thiscall
basic_ostream_char_flush(basic_ostream_char
*this)
5493 /* this function is not matching C++ specification */
5494 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5496 TRACE("(%p)\n", this);
5498 if(basic_ios_char_rdbuf_get(base
) && ios_base_good(&base
->base
)
5499 && basic_streambuf_char_pubsync(basic_ios_char_rdbuf_get(base
))==-1)
5500 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5504 /* ?flush@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
5505 /* ?flush@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
5506 basic_ostream_char
* __cdecl
flush_ostream_char(basic_ostream_char
*ostream
)
5508 return basic_ostream_char_flush(ostream
);
5511 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5512 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5513 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx
, 4)
5514 void __thiscall
basic_ostream_char__Osfx(basic_ostream_char
*this)
5516 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5518 TRACE("(%p)\n", this);
5520 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
5521 basic_ostream_char_flush(this);
5524 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5525 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5526 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx
, 4)
5527 void __thiscall
basic_ostream_char_osfx(basic_ostream_char
*this)
5529 TRACE("(%p)\n", this);
5530 basic_ostream_char__Osfx(this);
5533 static BOOL
basic_ostream_char_sentry_create(basic_ostream_char
*ostr
)
5535 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5537 if(basic_ios_char_rdbuf_get(base
))
5538 basic_streambuf_char__Lock(base
->strbuf
);
5540 if(ios_base_good(&base
->base
) && base
->stream
)
5541 basic_ostream_char_flush(base
->stream
);
5543 return ios_base_good(&base
->base
);
5546 static void basic_ostream_char_sentry_destroy(basic_ostream_char
*ostr
)
5548 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5550 if(ios_base_good(&base
->base
) && !__uncaught_exception())
5551 basic_ostream_char_osfx(ostr
);
5553 if(basic_ios_char_rdbuf_get(base
))
5554 basic_streambuf_char__Unlock(base
->strbuf
);
5557 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
5558 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
5559 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx
, 4)
5560 MSVCP_bool __thiscall
basic_ostream_char_opfx(basic_ostream_char
*this)
5562 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5564 TRACE("(%p)\n", this);
5566 if(ios_base_good(&base
->base
) && base
->stream
)
5567 basic_ostream_char_flush(base
->stream
);
5568 return ios_base_good(&base
->base
);
5571 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
5572 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
5573 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put
, 8)
5574 basic_ostream_char
* __thiscall
basic_ostream_char_put(basic_ostream_char
*this, char ch
)
5576 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5578 TRACE("(%p %c)\n", this, ch
);
5580 if(!basic_ostream_char_sentry_create(this)
5581 || basic_streambuf_char_sputc(base
->strbuf
, ch
)==EOF
) {
5582 basic_ostream_char_sentry_destroy(this);
5583 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5587 basic_ostream_char_sentry_destroy(this);
5591 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
5592 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
5593 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp
, 12)
5594 basic_ostream_char
* __thiscall
basic_ostream_char_seekp(basic_ostream_char
*this, streamoff off
, int way
)
5596 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5598 TRACE("(%p %ld %d)\n", this, off
, way
);
5600 if(!ios_base_fail(&base
->base
)) {
5603 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5604 &seek
, off
, way
, OPENMODE_out
);
5605 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5606 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5611 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
5612 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
5613 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos
, 28)
5614 basic_ostream_char
* __thiscall
basic_ostream_char_seekp_fpos(basic_ostream_char
*this, fpos_int pos
)
5616 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5618 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
5620 if(!ios_base_fail(&base
->base
)) {
5623 basic_streambuf_char_pubseekpos(basic_ios_char_rdbuf_get(base
),
5624 &seek
, pos
, OPENMODE_out
);
5625 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5626 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5631 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
5632 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
5633 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp
, 8)
5634 fpos_int
* __thiscall
basic_ostream_char_tellp(basic_ostream_char
*this, fpos_int
*ret
)
5636 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5638 TRACE("(%p)\n", this);
5640 if(!ios_base_fail(&base
->base
)) {
5641 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5642 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
5651 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
5652 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
5653 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write
, 12)
5654 basic_ostream_char
* __thiscall
basic_ostream_char_write(basic_ostream_char
*this, const char *str
, streamsize count
)
5656 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5658 TRACE("(%p %s %ld)\n", this, debugstr_a(str
), count
);
5660 if(!basic_ostream_char_sentry_create(this)
5661 || basic_streambuf_char_sputn(base
->strbuf
, str
, count
)!=count
) {
5662 basic_ostream_char_sentry_destroy(this);
5663 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5667 basic_ostream_char_sentry_destroy(this);
5671 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
5672 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
5673 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short
, 8)
5674 basic_ostream_char
* __thiscall
basic_ostream_char_print_short(basic_ostream_char
*this, short val
)
5676 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5677 int state
= IOSTATE_goodbit
;
5679 TRACE("(%p %d)\n", this, val
);
5681 if(basic_ostream_char_sentry_create(this)) {
5682 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5683 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5684 ostreambuf_iterator_char dest
= {0, strbuf
};
5686 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
),
5687 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
5688 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
5690 basic_ostream_char_sentry_destroy(this);
5692 basic_ios_char_setstate(base
, state
);
5696 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
5697 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
5698 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort
, 8)
5699 basic_ostream_char
* __thiscall
basic_ostream_char_print_ushort(basic_ostream_char
*this, unsigned short val
)
5701 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5702 int state
= IOSTATE_goodbit
;
5704 TRACE("(%p %u)\n", this, val
);
5706 if(basic_ostream_char_sentry_create(this)) {
5707 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5708 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5709 ostreambuf_iterator_char dest
= {0, strbuf
};
5711 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5713 basic_ostream_char_sentry_destroy(this);
5715 basic_ios_char_setstate(base
, state
);
5719 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
5720 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
5721 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
5722 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
5723 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int
, 8)
5724 basic_ostream_char
* __thiscall
basic_ostream_char_print_int(basic_ostream_char
*this, int val
)
5726 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5727 int state
= IOSTATE_goodbit
;
5729 TRACE("(%p %d)\n", this, val
);
5731 if(basic_ostream_char_sentry_create(this)) {
5732 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5733 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5734 ostreambuf_iterator_char dest
= {0, strbuf
};
5736 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5738 basic_ostream_char_sentry_destroy(this);
5740 basic_ios_char_setstate(base
, state
);
5744 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
5745 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
5746 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
5747 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
5748 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint
, 8)
5749 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint(basic_ostream_char
*this, unsigned int val
)
5751 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5752 int state
= IOSTATE_goodbit
;
5754 TRACE("(%p %u)\n", this, val
);
5756 if(basic_ostream_char_sentry_create(this)) {
5757 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5758 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5759 ostreambuf_iterator_char dest
= {0, strbuf
};
5761 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5763 basic_ostream_char_sentry_destroy(this);
5765 basic_ios_char_setstate(base
, state
);
5769 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
5770 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
5771 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float
, 8)
5772 basic_ostream_char
* __thiscall
basic_ostream_char_print_float(basic_ostream_char
*this, float val
)
5774 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5775 int state
= IOSTATE_goodbit
;
5777 TRACE("(%p %f)\n", this, val
);
5779 if(basic_ostream_char_sentry_create(this)) {
5780 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5781 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5782 ostreambuf_iterator_char dest
= {0, strbuf
};
5784 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5786 basic_ostream_char_sentry_destroy(this);
5788 basic_ios_char_setstate(base
, state
);
5792 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
5793 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
5794 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double
, 12)
5795 basic_ostream_char
* __thiscall
basic_ostream_char_print_double(basic_ostream_char
*this, double val
)
5797 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5798 int state
= IOSTATE_goodbit
;
5800 TRACE("(%p %lf)\n", this, val
);
5802 if(basic_ostream_char_sentry_create(this)) {
5803 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5804 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5805 ostreambuf_iterator_char dest
= {0, strbuf
};
5807 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5809 basic_ostream_char_sentry_destroy(this);
5811 basic_ios_char_setstate(base
, state
);
5815 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z */
5816 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@O@Z */
5817 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ldouble
, 12)
5818 basic_ostream_char
* __thiscall
basic_ostream_char_print_ldouble(basic_ostream_char
*this, double val
)
5820 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5821 int state
= IOSTATE_goodbit
;
5823 TRACE("(%p %lf)\n", this, val
);
5825 if(basic_ostream_char_sentry_create(this)) {
5826 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5827 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5828 ostreambuf_iterator_char dest
= {0, strbuf
};
5830 num_put_char_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5832 basic_ostream_char_sentry_destroy(this);
5834 basic_ios_char_setstate(base
, state
);
5838 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5839 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5840 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf
, 8)
5841 basic_ostream_char
* __thiscall
basic_ostream_char_print_streambuf(basic_ostream_char
*this, basic_streambuf_char
*val
)
5843 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5844 IOSB_iostate state
= IOSTATE_badbit
;
5847 TRACE("(%p %p)\n", this, val
);
5849 if(basic_ostream_char_sentry_create(this)) {
5850 for(c
= basic_streambuf_char_sgetc(val
); c
!=EOF
;
5851 c
= basic_streambuf_char_snextc(val
)) {
5852 state
= IOSTATE_goodbit
;
5854 if(basic_streambuf_char_sputc(base
->strbuf
, c
) == EOF
) {
5855 state
= IOSTATE_badbit
;
5860 state
= IOSTATE_badbit
;
5862 basic_ostream_char_sentry_destroy(this);
5864 ios_base_width_set(&base
->base
, 0);
5865 basic_ios_char_setstate(base
, state
);
5869 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
5870 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
5871 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr
, 8)
5872 basic_ostream_char
* __thiscall
basic_ostream_char_print_ptr(basic_ostream_char
*this, const void *val
)
5874 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5875 int state
= IOSTATE_goodbit
;
5877 TRACE("(%p %p)\n", this, val
);
5879 if(basic_ostream_char_sentry_create(this)) {
5880 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5881 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5882 ostreambuf_iterator_char dest
= {0, strbuf
};
5884 num_put_char_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5886 basic_ostream_char_sentry_destroy(this);
5888 basic_ios_char_setstate(base
, state
);
5892 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
5893 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
5894 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64
, 12)
5895 basic_ostream_char
* __thiscall
basic_ostream_char_print_int64(basic_ostream_char
*this, __int64 val
)
5897 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5898 int state
= IOSTATE_goodbit
;
5900 TRACE("(%p)\n", this);
5902 if(basic_ostream_char_sentry_create(this)) {
5903 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5904 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5905 ostreambuf_iterator_char dest
= {0, strbuf
};
5907 num_put_char_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5909 basic_ostream_char_sentry_destroy(this);
5911 basic_ios_char_setstate(base
, state
);
5915 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
5916 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
5917 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64
, 12)
5918 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint64(basic_ostream_char
*this, unsigned __int64 val
)
5920 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5921 int state
= IOSTATE_goodbit
;
5923 TRACE("(%p)\n", this);
5925 if(basic_ostream_char_sentry_create(this)) {
5926 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5927 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5928 ostreambuf_iterator_char dest
= {0, strbuf
};
5930 num_put_char_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5932 basic_ostream_char_sentry_destroy(this);
5934 basic_ios_char_setstate(base
, state
);
5938 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
5939 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
5940 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool
, 8)
5941 basic_ostream_char
* __thiscall
basic_ostream_char_print_bool(basic_ostream_char
*this, MSVCP_bool val
)
5943 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5944 int state
= IOSTATE_goodbit
;
5946 TRACE("(%p %x)\n", this, val
);
5948 if(basic_ostream_char_sentry_create(this)) {
5949 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5950 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5951 ostreambuf_iterator_char dest
= {0, strbuf
};
5953 num_put_char_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5955 basic_ostream_char_sentry_destroy(this);
5957 basic_ios_char_setstate(base
, state
);
5961 /* ?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
5962 /* ?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
5963 basic_ostream_char
* __cdecl
basic_ostream_char_endl(basic_ostream_char
*ostr
)
5965 TRACE("(%p)\n", ostr
);
5967 basic_ostream_char_put(ostr
, '\n');
5968 basic_ostream_char_flush(ostr
);
5972 /* $?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 */
5973 /* ??$?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 */
5974 basic_ostream_char
* __cdecl
basic_ostream_char_print_bstr(basic_ostream_char
*ostr
, const basic_string_char
*str
)
5976 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5977 IOSB_iostate state
= IOSTATE_goodbit
;
5979 TRACE("(%p %p)\n", ostr
, str
);
5981 if(basic_ostream_char_sentry_create(ostr
)) {
5982 MSVCP_size_t len
= MSVCP_basic_string_char_length(str
);
5983 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
5985 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
5986 for(; pad
!=0; pad
--) {
5987 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5988 state
= IOSTATE_badbit
;
5994 if(state
== IOSTATE_goodbit
) {
5995 if(basic_streambuf_char_sputn(base
->strbuf
, MSVCP_basic_string_char_c_str(str
), len
) != len
)
5996 state
= IOSTATE_badbit
;
5999 if(state
== IOSTATE_goodbit
) {
6000 for(; pad
!=0; pad
--) {
6001 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6002 state
= IOSTATE_badbit
;
6008 base
->base
.wide
= 0;
6010 state
= IOSTATE_badbit
;
6012 basic_ostream_char_sentry_destroy(ostr
);
6014 basic_ios_char_setstate(base
, state
);
6018 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z */
6019 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z */
6020 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z */
6021 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z */
6022 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z */
6023 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z */
6024 basic_ostream_char
* __cdecl
basic_ostream_char_print_ch(basic_ostream_char
*ostr
, char ch
)
6026 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6027 IOSB_iostate state
= IOSTATE_goodbit
;
6029 TRACE("(%p %d)\n", ostr
, ch
);
6031 if(basic_ostream_char_sentry_create(ostr
)) {
6032 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6034 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6035 for(; pad
!=0; pad
--) {
6036 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6037 state
= IOSTATE_badbit
;
6043 if(state
== IOSTATE_goodbit
) {
6044 if(basic_streambuf_char_sputc(base
->strbuf
, ch
) == EOF
)
6045 state
= IOSTATE_badbit
;
6048 if(state
== IOSTATE_goodbit
) {
6049 for(; pad
!=0; pad
--) {
6050 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6051 state
= IOSTATE_badbit
;
6057 base
->base
.wide
= 0;
6059 state
= IOSTATE_badbit
;
6061 basic_ostream_char_sentry_destroy(ostr
);
6063 basic_ios_char_setstate(base
, state
);
6067 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z */
6068 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z */
6069 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z */
6070 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z */
6071 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z */
6072 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z */
6073 basic_ostream_char
* __cdecl
basic_ostream_char_print_str(basic_ostream_char
*ostr
, const char *str
)
6075 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6076 IOSB_iostate state
= IOSTATE_goodbit
;
6078 TRACE("(%p %s)\n", ostr
, str
);
6080 if(basic_ostream_char_sentry_create(ostr
)) {
6081 MSVCP_size_t len
= strlen(str
);
6082 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6084 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6085 for(; pad
!=0; pad
--) {
6086 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6087 state
= IOSTATE_badbit
;
6093 if(state
== IOSTATE_goodbit
) {
6094 if(basic_streambuf_char_sputn(base
->strbuf
, str
, len
) != len
)
6095 state
= IOSTATE_badbit
;
6098 if(state
== IOSTATE_goodbit
) {
6099 for(; pad
!=0; pad
--) {
6100 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6101 state
= IOSTATE_badbit
;
6107 base
->base
.wide
= 0;
6109 state
= IOSTATE_badbit
;
6111 basic_ostream_char_sentry_destroy(ostr
);
6113 basic_ios_char_setstate(base
, state
);
6117 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
6118 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
6119 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func
, 8)
6120 basic_ostream_char
* __thiscall
basic_ostream_char_print_func(basic_ostream_char
*this,
6121 basic_ostream_char
* (__cdecl
*pfunc
)(basic_ostream_char
*))
6123 TRACE("(%p %p)\n", this, pfunc
);
6128 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
6129 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
6130 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_basic_ios
, 8)
6131 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_basic_ios(basic_ostream_char
*this,
6132 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
6134 TRACE("(%p %p)\n", this, pfunc
);
6135 pfunc(basic_ostream_char_get_basic_ios(this));
6139 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
6140 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
6141 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_ios_base
, 8)
6142 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_ios_base(
6143 basic_ostream_char
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
6145 TRACE("(%p %p)\n", this, pfunc
);
6146 pfunc(&basic_ostream_char_get_basic_ios(this)->base
);
6150 /* Caution: basic_ostream uses virtual inheritance. */
6151 static inline basic_ios_wchar
* basic_ostream_wchar_get_basic_ios(basic_ostream_wchar
*this)
6153 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
6156 static inline basic_ios_wchar
* basic_ostream_wchar_to_basic_ios(basic_ostream_wchar
*ptr
)
6158 return (basic_ios_wchar
*)((char*)ptr
+basic_ostream_wchar_vbtable
[1]);
6161 static inline basic_ostream_wchar
* basic_ostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
6163 return (basic_ostream_wchar
*)((char*)ptr
-basic_ostream_wchar_vbtable
[1]);
6166 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6167 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6168 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_ctor
, 16)
6169 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_ctor(basic_ostream_wchar
*this,
6170 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6172 basic_ios_wchar
*base
;
6174 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
6177 this->vbtable
= basic_ostream_wchar_vbtable
;
6178 base
= basic_ostream_wchar_get_basic_ios(this);
6179 basic_ios_wchar_ctor(base
);
6181 base
= basic_ostream_wchar_get_basic_ios(this);
6184 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6185 basic_ios_wchar_init(base
, strbuf
, isstd
);
6189 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6190 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6191 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor
, 16)
6192 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor(basic_ostream_wchar
*this,
6193 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6195 basic_ostream_wchar_ctor(this, strbuf
, isstd
, virt_init
);
6196 basic_ostream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_ostream_short_vtable
;
6200 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
6201 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
6202 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_ctor_uninitialized
, 16)
6203 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_ctor_uninitialized(basic_ostream_wchar
*this,
6204 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
6206 basic_ios_wchar
*base
;
6208 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
6211 this->vbtable
= basic_ostream_wchar_vbtable
;
6212 base
= basic_ostream_wchar_get_basic_ios(this);
6213 basic_ios_wchar_ctor(base
);
6215 base
= basic_ostream_wchar_get_basic_ios(this);
6218 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6220 ios_base_Addstd(&base
->base
);
6224 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
6225 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
6226 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor_uninitialized
, 16)
6227 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor_uninitialized(basic_ostream_wchar
*this,
6228 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
6230 basic_ostream_wchar_ctor_uninitialized(this, uninitialized
, addstd
, virt_init
);
6231 basic_ostream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_ostream_short_vtable
;
6235 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
6236 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
6237 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
6238 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
6239 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_dtor
, 4)
6240 void __thiscall
basic_ostream_wchar_dtor(basic_ios_wchar
*base
)
6242 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6244 /* don't destroy virtual base here */
6245 TRACE("(%p)\n", this);
6248 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6249 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6250 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6251 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6252 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vbase_dtor
, 4)
6253 void __thiscall
basic_ostream_wchar_vbase_dtor(basic_ostream_wchar
*this)
6255 TRACE("(%p)\n", this);
6256 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(this));
6257 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(this));
6260 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vector_dtor
, 8)
6261 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
6263 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6265 TRACE("(%p %x)\n", this, flags
);
6268 /* we have an array, with the number of elements stored before the first object */
6269 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
6271 for(i
=*ptr
-1; i
>=0; i
--)
6272 basic_ostream_wchar_vbase_dtor(this+i
);
6273 MSVCRT_operator_delete(ptr
);
6275 basic_ostream_wchar_vbase_dtor(this);
6277 MSVCRT_operator_delete(this);
6283 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
6284 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
6285 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
6286 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
6287 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_flush
, 4)
6288 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_flush(basic_ostream_wchar
*this)
6290 /* this function is not matching C++ specification */
6291 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6293 TRACE("(%p)\n", this);
6295 if(basic_ios_wchar_rdbuf_get(base
) && ios_base_good(&base
->base
)
6296 && basic_streambuf_wchar_pubsync(basic_ios_wchar_rdbuf_get(base
))==-1)
6297 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6301 /* ?flush@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
6302 /* ?flush@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
6303 /* ?flush@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
6304 /* ?flush@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
6305 basic_ostream_wchar
* __cdecl
flush_ostream_wchar(basic_ostream_wchar
*ostream
)
6307 return basic_ostream_wchar_flush(ostream
);
6310 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6311 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6312 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6313 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6314 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar__Osfx
, 4)
6315 void __thiscall
basic_ostream_wchar__Osfx(basic_ostream_wchar
*this)
6317 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6319 TRACE("(%p)\n", this);
6321 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
6322 basic_ostream_wchar_flush(this);
6325 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6326 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6327 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6328 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6329 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_osfx
, 4)
6330 void __thiscall
basic_ostream_wchar_osfx(basic_ostream_wchar
*this)
6332 TRACE("(%p)\n", this);
6333 basic_ostream_wchar__Osfx(this);
6336 static BOOL
basic_ostream_wchar_sentry_create(basic_ostream_wchar
*ostr
)
6338 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6340 if(basic_ios_wchar_rdbuf_get(base
))
6341 basic_streambuf_wchar__Lock(base
->strbuf
);
6343 if(ios_base_good(&base
->base
) && base
->stream
)
6344 basic_ostream_wchar_flush(base
->stream
);
6346 return ios_base_good(&base
->base
);
6349 static void basic_ostream_wchar_sentry_destroy(basic_ostream_wchar
*ostr
)
6351 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6353 if(ios_base_good(&base
->base
) && !__uncaught_exception())
6354 basic_ostream_wchar_osfx(ostr
);
6356 if(basic_ios_wchar_rdbuf_get(base
))
6357 basic_streambuf_wchar__Unlock(base
->strbuf
);
6360 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE_NXZ */
6361 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA_NXZ */
6362 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ */
6363 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA_NXZ */
6364 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_opfx
, 4)
6365 MSVCP_bool __thiscall
basic_ostream_wchar_opfx(basic_ostream_wchar
*this)
6367 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6369 TRACE("(%p)\n", this);
6371 if(ios_base_good(&base
->base
) && base
->stream
)
6372 basic_ostream_wchar_flush(base
->stream
);
6373 return ios_base_good(&base
->base
);
6376 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
6377 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
6378 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
6379 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
6380 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_put
, 8)
6381 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_put(basic_ostream_wchar
*this, wchar_t ch
)
6383 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6385 TRACE("(%p %c)\n", this, ch
);
6387 if(!basic_ostream_wchar_sentry_create(this)
6388 || basic_streambuf_wchar_sputc(base
->strbuf
, ch
)==WEOF
) {
6389 basic_ostream_wchar_sentry_destroy(this);
6390 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6394 basic_ostream_wchar_sentry_destroy(this);
6398 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
6399 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
6400 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
6401 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
6402 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp
, 12)
6403 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp(basic_ostream_wchar
*this, streamoff off
, int way
)
6405 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6407 TRACE("(%p %ld %d)\n", this, off
, way
);
6409 if(!ios_base_fail(&base
->base
)) {
6412 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6413 &seek
, off
, way
, OPENMODE_out
);
6414 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6415 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6420 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6421 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6422 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6423 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6424 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp_fpos
, 28)
6425 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp_fpos(basic_ostream_wchar
*this, fpos_int pos
)
6427 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6429 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
6431 if(!ios_base_fail(&base
->base
)) {
6434 basic_streambuf_wchar_pubseekpos(basic_ios_wchar_rdbuf_get(base
),
6435 &seek
, pos
, OPENMODE_out
);
6436 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6437 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6442 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6443 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6444 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6445 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6446 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_tellp
, 8)
6447 fpos_int
* __thiscall
basic_ostream_wchar_tellp(basic_ostream_wchar
*this, fpos_int
*ret
)
6449 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6451 TRACE("(%p)\n", this);
6453 if(!ios_base_fail(&base
->base
)) {
6454 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6455 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
6464 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PB_WH@Z */
6465 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEB_W_J@Z */
6466 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z */
6467 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z */
6468 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_write
, 12)
6469 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_write(basic_ostream_wchar
*this, const wchar_t *str
, streamsize count
)
6471 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6473 TRACE("(%p %s %ld)\n", this, debugstr_w(str
), count
);
6475 if(!basic_ostream_wchar_sentry_create(this)
6476 || basic_streambuf_wchar_sputn(base
->strbuf
, str
, count
)!=count
) {
6477 basic_ostream_wchar_sentry_destroy(this);
6478 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6482 basic_ostream_wchar_sentry_destroy(this);
6486 static basic_ostream_wchar
* basic_ostream_print_short(basic_ostream_wchar
*this, short val
, const num_put
*numput
)
6488 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6489 int state
= IOSTATE_goodbit
;
6491 TRACE("(%p %d)\n", this, val
);
6493 if(basic_ostream_wchar_sentry_create(this)) {
6494 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6495 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6497 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
),
6498 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
6499 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
6501 basic_ostream_wchar_sentry_destroy(this);
6503 basic_ios_wchar_setstate(base
, state
);
6507 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@F@Z */
6508 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@F@Z */
6509 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_short
, 8)
6510 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_short(basic_ostream_wchar
*this, short val
)
6512 return basic_ostream_print_short(this, val
, num_put_wchar_use_facet(
6513 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6516 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z */
6517 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@F@Z */
6518 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_short
, 8)
6519 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_short(basic_ostream_wchar
*this, short val
)
6521 return basic_ostream_print_short(this, val
, num_put_short_use_facet(
6522 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6525 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@G@Z */
6526 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@G@Z */
6527 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ushort
, 8)
6528 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ushort(basic_ostream_wchar
*this, unsigned short val
)
6530 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6531 int state
= IOSTATE_goodbit
;
6533 TRACE("(%p %u)\n", this, val
);
6535 if(basic_ostream_wchar_sentry_create(this)) {
6536 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6537 const num_put
*numput
= num_put_wchar_use_facet(strbuf
->loc
);
6538 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6540 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6542 basic_ostream_wchar_sentry_destroy(this);
6544 basic_ios_wchar_setstate(base
, state
);
6548 static basic_ostream_wchar
* basic_ostream_print_int(basic_ostream_wchar
*this, int val
, const num_put
*numput
)
6550 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6551 int state
= IOSTATE_goodbit
;
6553 TRACE("(%p %d)\n", this, val
);
6555 if(basic_ostream_wchar_sentry_create(this)) {
6556 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6557 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6559 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6561 basic_ostream_wchar_sentry_destroy(this);
6563 basic_ios_wchar_setstate(base
, state
);
6567 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@H@Z */
6568 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@H@Z */
6569 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@J@Z */
6570 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@J@Z */
6571 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int
, 8)
6572 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int(basic_ostream_wchar
*this, int val
)
6574 return basic_ostream_print_int(this, val
, num_put_wchar_use_facet(
6575 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6578 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z */
6579 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@H@Z */
6580 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z */
6581 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@J@Z */
6582 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int
, 8)
6583 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int(basic_ostream_wchar
*this, int val
)
6585 return basic_ostream_print_int(this, val
, num_put_short_use_facet(
6586 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6589 static basic_ostream_wchar
* basic_ostream_print_uint(basic_ostream_wchar
*this, unsigned int val
, const num_put
*numput
)
6591 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6592 int state
= IOSTATE_goodbit
;
6594 TRACE("(%p %u)\n", this, val
);
6596 if(basic_ostream_wchar_sentry_create(this)) {
6597 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6598 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6600 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6602 basic_ostream_wchar_sentry_destroy(this);
6604 basic_ios_wchar_setstate(base
, state
);
6608 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@I@Z */
6609 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@I@Z */
6610 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@K@Z */
6611 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@K@Z */
6612 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint
, 8)
6613 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6615 return basic_ostream_print_uint(this, val
, num_put_wchar_use_facet(
6616 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6619 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z */
6620 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@I@Z */
6621 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z */
6622 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@K@Z */
6623 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint
, 8)
6624 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6626 return basic_ostream_print_uint(this, val
, num_put_short_use_facet(
6627 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6630 static basic_ostream_wchar
* basic_ostream_print_float(basic_ostream_wchar
*this, float val
, const num_put
*numput
)
6632 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6633 int state
= IOSTATE_goodbit
;
6635 TRACE("(%p %f)\n", this, val
);
6637 if(basic_ostream_wchar_sentry_create(this)) {
6638 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6639 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6641 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6643 basic_ostream_wchar_sentry_destroy(this);
6645 basic_ios_wchar_setstate(base
, state
);
6649 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@M@Z */
6650 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@M@Z */
6651 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_float
, 8)
6652 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_float(basic_ostream_wchar
*this, float val
)
6654 return basic_ostream_print_float(this, val
, num_put_wchar_use_facet(
6655 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6658 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z */
6659 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@M@Z */
6660 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_float
, 8)
6661 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_float(basic_ostream_wchar
*this, float val
)
6663 return basic_ostream_print_float(this, val
, num_put_short_use_facet(
6664 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6667 static basic_ostream_wchar
* basic_ostream_print_double(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6669 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6670 int state
= IOSTATE_goodbit
;
6672 TRACE("(%p %lf)\n", this, val
);
6674 if(basic_ostream_wchar_sentry_create(this)) {
6675 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6676 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6678 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6680 basic_ostream_wchar_sentry_destroy(this);
6682 basic_ios_wchar_setstate(base
, state
);
6686 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@N@Z */
6687 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@N@Z */
6688 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_double
, 12)
6689 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_double(basic_ostream_wchar
*this, double val
)
6691 return basic_ostream_print_double(this, val
, num_put_wchar_use_facet(
6692 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6695 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z */
6696 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@N@Z */
6697 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_double
, 12)
6698 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_double(basic_ostream_wchar
*this, double val
)
6700 return basic_ostream_print_double(this, val
, num_put_short_use_facet(
6701 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6704 static basic_ostream_wchar
* basic_ostream_print_ldouble(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6706 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6707 int state
= IOSTATE_goodbit
;
6709 TRACE("(%p %lf)\n", this, val
);
6711 if(basic_ostream_wchar_sentry_create(this)) {
6712 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6713 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6715 num_put_wchar_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6717 basic_ostream_wchar_sentry_destroy(this);
6719 basic_ios_wchar_setstate(base
, state
);
6723 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@O@Z */
6724 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@O@Z */
6725 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ldouble
, 12)
6726 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ldouble(basic_ostream_wchar
*this, double val
)
6728 return basic_ostream_print_ldouble(this, val
, num_put_wchar_use_facet(
6729 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6732 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z */
6733 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@O@Z */
6734 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ldouble
, 12)
6735 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ldouble(basic_ostream_wchar
*this, double val
)
6737 return basic_ostream_print_ldouble(this, val
, num_put_short_use_facet(
6738 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6741 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6742 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6743 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6744 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6745 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_streambuf
, 8)
6746 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_streambuf(basic_ostream_wchar
*this, basic_streambuf_wchar
*val
)
6748 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6749 IOSB_iostate state
= IOSTATE_badbit
;
6750 unsigned short c
= '\n';
6752 TRACE("(%p %p)\n", this, val
);
6754 if(basic_ostream_wchar_sentry_create(this)) {
6755 for(c
= basic_streambuf_wchar_sgetc(val
); c
!=WEOF
;
6756 c
= basic_streambuf_wchar_snextc(val
)) {
6757 state
= IOSTATE_goodbit
;
6759 if(basic_streambuf_wchar_sputc(base
->strbuf
, c
) == WEOF
) {
6760 state
= IOSTATE_badbit
;
6765 state
= IOSTATE_badbit
;
6767 basic_ostream_wchar_sentry_destroy(this);
6769 ios_base_width_set(&base
->base
, 0);
6770 basic_ios_wchar_setstate(base
, state
);
6774 static basic_ostream_wchar
* basic_ostream_print_ptr(basic_ostream_wchar
*this, const void *val
, const num_put
*numput
)
6776 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6777 int state
= IOSTATE_goodbit
;
6779 TRACE("(%p %p)\n", this, val
);
6781 if(basic_ostream_wchar_sentry_create(this)) {
6782 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6783 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6785 num_put_wchar_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6787 basic_ostream_wchar_sentry_destroy(this);
6789 basic_ios_wchar_setstate(base
, state
);
6793 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PBX@Z */
6794 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEBX@Z */
6795 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ptr
, 8)
6796 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ptr(basic_ostream_wchar
*this, const void *val
)
6798 return basic_ostream_print_ptr(this, val
, num_put_wchar_use_facet(
6799 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6802 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z */
6803 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEBX@Z */
6804 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ptr
, 8)
6805 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ptr(basic_ostream_wchar
*this, const void *val
)
6807 return basic_ostream_print_ptr(this, val
, num_put_short_use_facet(
6808 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6811 static basic_ostream_wchar
* basic_ostream_print_int64(basic_ostream_wchar
*this, __int64 val
, const num_put
*numput
)
6813 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6814 int state
= IOSTATE_goodbit
;
6816 TRACE("(%p)\n", this);
6818 if(basic_ostream_wchar_sentry_create(this)) {
6819 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6820 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6822 num_put_wchar_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6824 basic_ostream_wchar_sentry_destroy(this);
6826 basic_ios_wchar_setstate(base
, state
);
6830 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_J@Z */
6831 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_J@Z */
6832 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int64
, 12)
6833 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int64(basic_ostream_wchar
*this, __int64 val
)
6835 return basic_ostream_print_int64(this, val
, num_put_wchar_use_facet(
6836 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6839 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_J@Z */
6840 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_J@Z */
6841 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int64
, 12)
6842 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int64(basic_ostream_wchar
*this, __int64 val
)
6844 return basic_ostream_print_int64(this, val
, num_put_short_use_facet(
6845 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6848 static basic_ostream_wchar
* basic_ostream_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
, const num_put
*numput
)
6850 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6851 int state
= IOSTATE_goodbit
;
6853 TRACE("(%p)\n", this);
6855 if(basic_ostream_wchar_sentry_create(this)) {
6856 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6857 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6859 num_put_wchar_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6861 basic_ostream_wchar_sentry_destroy(this);
6863 basic_ios_wchar_setstate(base
, state
);
6867 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_K@Z */
6868 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_K@Z */
6869 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint64
, 12)
6870 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6872 return basic_ostream_print_uint64(this, val
, num_put_wchar_use_facet(
6873 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6876 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_K@Z */
6877 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_K@Z */
6878 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint64
, 12)
6879 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6881 return basic_ostream_print_uint64(this, val
, num_put_short_use_facet(
6882 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6885 static basic_ostream_wchar
* basic_ostream_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
, const num_put
*numput
)
6887 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6888 int state
= IOSTATE_goodbit
;
6890 TRACE("(%p %x)\n", this, val
);
6892 if(basic_ostream_wchar_sentry_create(this)) {
6893 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6894 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6896 num_put_wchar_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6898 basic_ostream_wchar_sentry_destroy(this);
6900 basic_ios_wchar_setstate(base
, state
);
6904 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_N@Z */
6905 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_N@Z */
6906 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_bool
, 8)
6907 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6909 return basic_ostream_print_bool(this, val
, num_put_wchar_use_facet(
6910 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6913 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z */
6914 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_N@Z */
6915 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_bool
, 8)
6916 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6918 return basic_ostream_print_bool(this, val
, num_put_short_use_facet(
6919 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6922 /* ?endl@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
6923 /* ?endl@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
6924 /* ?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
6925 /* ?endl@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
6926 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_endl(basic_ostream_wchar
*ostr
)
6928 TRACE("(%p)\n", ostr
);
6930 basic_ostream_wchar_put(ostr
, '\n');
6931 basic_ostream_wchar_flush(ostr
);
6935 /* ??$?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 */
6936 /* ??$?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 */
6937 /* ??$?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 */
6938 /* ??$?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 */
6939 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_bstr(basic_ostream_wchar
*ostr
, const basic_string_wchar
*str
)
6941 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6942 IOSB_iostate state
= IOSTATE_goodbit
;
6944 TRACE("(%p %p)\n", ostr
, str
);
6946 if(basic_ostream_wchar_sentry_create(ostr
)) {
6947 MSVCP_size_t len
= MSVCP_basic_string_wchar_length(str
);
6948 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6950 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6951 for(; pad
!=0; pad
--) {
6952 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6953 state
= IOSTATE_badbit
;
6959 if(state
== IOSTATE_goodbit
) {
6960 if(basic_streambuf_wchar_sputn(base
->strbuf
, MSVCP_basic_string_wchar_c_str(str
), len
) != len
)
6961 state
= IOSTATE_badbit
;
6964 if(state
== IOSTATE_goodbit
) {
6965 for(; pad
!=0; pad
--) {
6966 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6967 state
= IOSTATE_badbit
;
6973 base
->base
.wide
= 0;
6975 state
= IOSTATE_badbit
;
6977 basic_ostream_wchar_sentry_destroy(ostr
);
6979 basic_ios_wchar_setstate(base
, state
);
6983 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@_W@Z */
6984 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@_W@Z */
6985 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z */
6986 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z */
6987 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_ch(basic_ostream_wchar
*ostr
, wchar_t ch
)
6989 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6990 IOSB_iostate state
= IOSTATE_goodbit
;
6992 TRACE("(%p %d)\n", ostr
, ch
);
6994 if(basic_ostream_wchar_sentry_create(ostr
)) {
6995 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6997 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6998 for(; pad
!=0; pad
--) {
6999 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7000 state
= IOSTATE_badbit
;
7006 if(state
== IOSTATE_goodbit
) {
7007 if(basic_streambuf_wchar_sputc(base
->strbuf
, ch
) == WEOF
)
7008 state
= IOSTATE_badbit
;
7011 if(state
== IOSTATE_goodbit
) {
7012 for(; pad
!=0; pad
--) {
7013 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7014 state
= IOSTATE_badbit
;
7020 base
->base
.wide
= 0;
7022 state
= IOSTATE_badbit
;
7024 basic_ostream_wchar_sentry_destroy(ostr
);
7026 basic_ios_wchar_setstate(base
, state
);
7030 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@PB_W@Z */
7031 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@PEB_W@Z */
7032 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z */
7033 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z */
7034 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_str(basic_ostream_wchar
*ostr
, const wchar_t *str
)
7036 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
7037 IOSB_iostate state
= IOSTATE_goodbit
;
7039 TRACE("(%p %s)\n", ostr
, debugstr_w(str
));
7041 if(basic_ostream_wchar_sentry_create(ostr
)) {
7042 MSVCP_size_t len
= wcslen(str
);
7043 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
7045 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
7046 for(; pad
!=0; pad
--) {
7047 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7048 state
= IOSTATE_badbit
;
7054 if(state
== IOSTATE_goodbit
) {
7055 if(basic_streambuf_wchar_sputn(base
->strbuf
, str
, len
) != len
)
7056 state
= IOSTATE_badbit
;
7059 if(state
== IOSTATE_goodbit
) {
7060 for(; pad
!=0; pad
--) {
7061 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7062 state
= IOSTATE_badbit
;
7068 base
->base
.wide
= 0;
7070 state
= IOSTATE_badbit
;
7072 basic_ostream_wchar_sentry_destroy(ostr
);
7074 basic_ios_wchar_setstate(base
, state
);
7078 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7079 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7080 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7081 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7082 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func
, 8)
7083 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func(basic_ostream_wchar
*this,
7084 basic_ostream_wchar
* (__cdecl
*pfunc
)(basic_ostream_wchar
*))
7086 TRACE("(%p %p)\n", this, pfunc
);
7091 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
7092 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
7093 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
7094 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
7095 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_basic_ios
, 8)
7096 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_basic_ios(basic_ostream_wchar
*this,
7097 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
7099 TRACE("(%p %p)\n", this, pfunc
);
7100 pfunc(basic_ostream_wchar_get_basic_ios(this));
7104 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7105 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7106 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7107 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7108 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_ios_base
, 8)
7109 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_ios_base(
7110 basic_ostream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
7112 TRACE("(%p %p)\n", this, pfunc
);
7113 pfunc(&basic_ostream_wchar_get_basic_ios(this)->base
);
7117 /* Caution: basic_istream uses virtual inheritance. */
7118 static inline basic_ios_char
* basic_istream_char_get_basic_ios(basic_istream_char
*this)
7120 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
7123 static inline basic_ios_char
* basic_istream_char_to_basic_ios(basic_istream_char
*ptr
)
7125 return (basic_ios_char
*)((char*)ptr
+basic_istream_char_vbtable
[1]);
7128 static inline basic_istream_char
* basic_istream_char_from_basic_ios(basic_ios_char
*ptr
)
7130 return (basic_istream_char
*)((char*)ptr
-basic_istream_char_vbtable
[1]);
7133 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7134 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7135 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_init
, 20)
7136 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
)
7138 basic_ios_char
*base
;
7140 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
7143 this->vbtable
= basic_istream_char_vbtable
;
7144 base
= basic_istream_char_get_basic_ios(this);
7145 basic_ios_char_ctor(base
);
7147 base
= basic_istream_char_get_basic_ios(this);
7150 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7153 basic_ios_char_init(base
, strbuf
, isstd
);
7157 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7158 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7159 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor
, 16)
7160 basic_istream_char
* __thiscall
basic_istream_char_ctor(basic_istream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
7162 return basic_istream_char_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
7165 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
7166 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
7167 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_uninitialized
, 12)
7168 basic_istream_char
* __thiscall
basic_istream_char_ctor_uninitialized(basic_istream_char
*this, int uninitialized
, MSVCP_bool virt_init
)
7170 basic_ios_char
*base
;
7172 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
7175 this->vbtable
= basic_istream_char_vbtable
;
7176 base
= basic_istream_char_get_basic_ios(this);
7177 basic_ios_char_ctor(base
);
7179 base
= basic_istream_char_get_basic_ios(this);
7182 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7183 ios_base_Addstd(&base
->base
);
7187 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ */
7188 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
7189 DEFINE_THISCALL_WRAPPER(basic_istream_char_dtor
, 4)
7190 void __thiscall
basic_istream_char_dtor(basic_ios_char
*base
)
7192 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7194 /* don't destroy virtual base here */
7195 TRACE("(%p)\n", this);
7198 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7199 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7200 DEFINE_THISCALL_WRAPPER(basic_istream_char_vbase_dtor
, 4)
7201 void __thiscall
basic_istream_char_vbase_dtor(basic_istream_char
*this)
7203 TRACE("(%p)\n", this);
7204 basic_istream_char_dtor(basic_istream_char_to_basic_ios(this));
7205 basic_ios_char_dtor(basic_istream_char_get_basic_ios(this));
7208 DEFINE_THISCALL_WRAPPER(basic_istream_char_vector_dtor
, 8)
7209 basic_istream_char
* __thiscall
basic_istream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
7211 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7213 TRACE("(%p %x)\n", this, flags
);
7216 /* we have an array, with the number of elements stored before the first object */
7217 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
7219 for(i
=*ptr
-1; i
>=0; i
--)
7220 basic_istream_char_vbase_dtor(this+i
);
7221 MSVCRT_operator_delete(ptr
);
7223 basic_istream_char_vbase_dtor(this);
7225 MSVCRT_operator_delete(this);
7231 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7232 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7233 DEFINE_THISCALL_WRAPPER(basic_istream_char__Ipfx
, 8)
7234 MSVCP_bool __thiscall
basic_istream_char__Ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7236 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7238 TRACE("(%p %d)\n", this, noskip
);
7240 if(!ios_base_good(&base
->base
)) {
7241 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7245 if(basic_ios_char_tie_get(base
))
7246 basic_ostream_char_flush(basic_ios_char_tie_get(base
));
7248 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
7249 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7250 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
7253 for(ch
= basic_streambuf_char_sgetc(strbuf
); ;
7254 ch
= basic_streambuf_char_snextc(strbuf
)) {
7256 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7260 if(!ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
7268 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7269 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7270 DEFINE_THISCALL_WRAPPER(basic_istream_char_ipfx
, 8)
7271 MSVCP_bool __thiscall
basic_istream_char_ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7273 return basic_istream_char__Ipfx(this, noskip
);
7276 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7277 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7278 DEFINE_THISCALL_WRAPPER(basic_istream_char_isfx
, 4)
7279 void __thiscall
basic_istream_char_isfx(basic_istream_char
*this)
7281 TRACE("(%p)\n", this);
7284 static BOOL
basic_istream_char_sentry_create(basic_istream_char
*istr
, MSVCP_bool noskip
)
7286 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7288 if(basic_ios_char_rdbuf_get(base
))
7289 basic_streambuf_char__Lock(base
->strbuf
);
7291 return basic_istream_char_ipfx(istr
, noskip
);
7294 static void basic_istream_char_sentry_destroy(basic_istream_char
*istr
)
7296 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7298 if(basic_ios_char_rdbuf_get(base
))
7299 basic_streambuf_char__Unlock(base
->strbuf
);
7302 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ */
7303 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QEBA_JXZ */
7304 DEFINE_THISCALL_WRAPPER(basic_istream_char_gcount
, 4)
7305 int __thiscall
basic_istream_char_gcount(const basic_istream_char
*this)
7307 TRACE("(%p)\n", this);
7311 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7312 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7313 DEFINE_THISCALL_WRAPPER(basic_istream_char_get
, 4)
7314 int __thiscall
basic_istream_char_get(basic_istream_char
*this)
7316 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7319 TRACE("(%p)\n", this);
7323 if(!basic_istream_char_sentry_create(this, TRUE
)) {
7324 basic_istream_char_sentry_destroy(this);
7328 ret
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(base
));
7329 basic_istream_char_sentry_destroy(this);
7331 basic_ios_char_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
7338 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z */
7339 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAD@Z */
7340 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_ch
, 8)
7341 basic_istream_char
* __thiscall
basic_istream_char_get_ch(basic_istream_char
*this, char *ch
)
7345 TRACE("(%p %p)\n", this, ch
);
7347 ret
= basic_istream_char_get(this);
7353 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7354 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7355 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str_delim
, 16)
7356 basic_istream_char
* __thiscall
basic_istream_char_get_str_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7358 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7361 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
7365 if(basic_istream_char_sentry_create(this, TRUE
)) {
7366 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7368 for(ch
= basic_streambuf_char_sgetc(strbuf
); count
>1;
7369 ch
= basic_streambuf_char_snextc(strbuf
)) {
7370 if(ch
==EOF
|| ch
==delim
)
7378 basic_istream_char_sentry_destroy(this);
7380 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7381 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7387 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7388 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7389 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str
, 12)
7390 basic_istream_char
* __thiscall
basic_istream_char_get_str(basic_istream_char
*this, char *str
, streamsize count
)
7392 return basic_istream_char_get_str_delim(this, str
, count
, '\n');
7395 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7396 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7397 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf_delim
, 12)
7398 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf_delim(basic_istream_char
*this, basic_streambuf_char
*strbuf
, char delim
)
7400 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7403 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
7407 if(basic_istream_char_sentry_create(this, TRUE
)) {
7408 basic_streambuf_char
*strbuf_read
= basic_ios_char_rdbuf_get(base
);
7410 for(ch
= basic_streambuf_char_sgetc(strbuf_read
); ;
7411 ch
= basic_streambuf_char_snextc(strbuf_read
)) {
7412 if(ch
==EOF
|| ch
==delim
)
7415 if(basic_streambuf_char_sputc(strbuf
, ch
) == EOF
)
7420 basic_istream_char_sentry_destroy(this);
7422 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7423 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7427 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7428 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7429 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf
, 8)
7430 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf(basic_istream_char
*this, basic_streambuf_char
*strbuf
)
7432 return basic_istream_char_get_streambuf_delim(this, strbuf
, '\n');
7435 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7436 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7437 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline_delim
, 16)
7438 basic_istream_char
* __thiscall
basic_istream_char_getline_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7440 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7443 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
7447 if(basic_istream_char_sentry_create(this, TRUE
) && count
>0) {
7448 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7451 ch
= basic_streambuf_char_sbumpc(strbuf
);
7453 if(ch
==EOF
|| ch
==delim
)
7463 else if(ch
!= EOF
) {
7464 ch
= basic_streambuf_char_sgetc(strbuf
);
7467 basic_streambuf_char__Gninc(strbuf
);
7472 basic_istream_char_sentry_destroy(this);
7474 basic_ios_char_setstate(base
, (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
7475 (!this->count
|| (ch
!=delim
&& ch
!=EOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
7481 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7482 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7483 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline
, 12)
7484 basic_istream_char
* __thiscall
basic_istream_char_getline(basic_istream_char
*this, char *str
, streamsize count
)
7486 return basic_istream_char_getline_delim(this, str
, count
, '\n');
7489 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z */
7490 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7491 DEFINE_THISCALL_WRAPPER(basic_istream_char_ignore
, 12)
7492 basic_istream_char
* __thiscall
basic_istream_char_ignore(basic_istream_char
*this, streamsize count
, int delim
)
7494 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7497 TRACE("(%p %ld %d)\n", this, count
, delim
);
7501 if(basic_istream_char_sentry_create(this, TRUE
)) {
7502 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7505 ch
= basic_streambuf_char_sbumpc(strbuf
);
7507 if(ch
==EOF
|| ch
==delim
)
7511 if(count
!= INT_MAX
)
7515 basic_istream_char_sentry_destroy(this);
7518 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7522 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7523 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7524 DEFINE_THISCALL_WRAPPER(basic_istream_char_peek
, 4)
7525 int __thiscall
basic_istream_char_peek(basic_istream_char
*this)
7527 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7530 TRACE("(%p)\n", this);
7534 if(basic_istream_char_sentry_create(this, TRUE
))
7535 ret
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
7536 basic_istream_char_sentry_destroy(this);
7540 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADIH@Z */
7541 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_K_J@Z */
7542 DEFINE_THISCALL_WRAPPER(basic_istream_char__Read_s
, 16)
7543 basic_istream_char
* __thiscall
basic_istream_char__Read_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7545 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7546 IOSB_iostate state
= IOSTATE_goodbit
;
7548 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
7550 if(basic_istream_char_sentry_create(this, TRUE
)) {
7551 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7553 this->count
= basic_streambuf_char__Sgetn_s(strbuf
, str
, size
, count
);
7554 if(this->count
!= count
)
7555 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
7559 basic_istream_char_sentry_destroy(this);
7561 basic_ios_char_setstate(base
, state
);
7565 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7566 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7567 DEFINE_THISCALL_WRAPPER(basic_istream_char_read
, 12)
7568 basic_istream_char
* __thiscall
basic_istream_char_read(basic_istream_char
*this, char *str
, streamsize count
)
7570 return basic_istream_char__Read_s(this, str
, count
, count
);
7573 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
7574 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
7575 DEFINE_THISCALL_WRAPPER(basic_istream_char__Readsome_s
, 16)
7576 streamsize __thiscall
basic_istream_char__Readsome_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7578 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7579 IOSB_iostate state
= IOSTATE_goodbit
;
7581 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
7585 if(basic_istream_char_sentry_create(this, TRUE
)) {
7586 streamsize avail
= basic_streambuf_char_in_avail(basic_ios_char_rdbuf_get(base
));
7591 state
|= IOSTATE_eofbit
;
7593 basic_istream_char__Read_s(this, str
, size
, avail
);
7595 state
|= IOSTATE_failbit
;
7597 basic_istream_char_sentry_destroy(this);
7599 basic_ios_char_setstate(base
, state
);
7603 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
7604 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
7605 DEFINE_THISCALL_WRAPPER(basic_istream_char_readsome
, 12)
7606 streamsize __thiscall
basic_istream_char_readsome(basic_istream_char
*this, char *str
, streamsize count
)
7608 return basic_istream_char__Readsome_s(this, str
, count
, count
);
7611 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
7612 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
7613 DEFINE_THISCALL_WRAPPER(basic_istream_char_putback
, 8)
7614 basic_istream_char
* __thiscall
basic_istream_char_putback(basic_istream_char
*this, char ch
)
7616 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7617 IOSB_iostate state
= IOSTATE_goodbit
;
7619 TRACE("(%p %c)\n", this, ch
);
7623 if(basic_istream_char_sentry_create(this, TRUE
)) {
7624 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7626 if(!ios_base_good(&base
->base
))
7627 state
|= IOSTATE_failbit
;
7628 else if(!strbuf
|| basic_streambuf_char_sputbackc(strbuf
, ch
)==EOF
)
7629 state
|= IOSTATE_badbit
;
7631 basic_istream_char_sentry_destroy(this);
7633 basic_ios_char_setstate(base
, state
);
7637 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
7638 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
7639 DEFINE_THISCALL_WRAPPER(basic_istream_char_unget
, 4)
7640 basic_istream_char
* __thiscall
basic_istream_char_unget(basic_istream_char
*this)
7642 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7643 IOSB_iostate state
= IOSTATE_goodbit
;
7645 TRACE("(%p)\n", this);
7649 if(basic_istream_char_sentry_create(this, TRUE
)) {
7650 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7652 if(!ios_base_good(&base
->base
))
7653 state
|= IOSTATE_failbit
;
7654 else if(!strbuf
|| basic_streambuf_char_sungetc(strbuf
)==EOF
)
7655 state
|= IOSTATE_badbit
;
7657 basic_istream_char_sentry_destroy(this);
7659 basic_ios_char_setstate(base
, state
);
7663 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7664 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7665 DEFINE_THISCALL_WRAPPER(basic_istream_char_sync
, 4)
7666 int __thiscall
basic_istream_char_sync(basic_istream_char
*this)
7668 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7669 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7671 TRACE("(%p)\n", this);
7676 if(basic_istream_char_sentry_create(this, TRUE
)) {
7677 if(basic_streambuf_char_pubsync(strbuf
) != -1) {
7678 basic_istream_char_sentry_destroy(this);
7682 basic_istream_char_sentry_destroy(this);
7684 basic_ios_char_setstate(base
, IOSTATE_badbit
);
7688 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
7689 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
7690 DEFINE_THISCALL_WRAPPER(basic_istream_char_tellg
, 8)
7691 fpos_int
* __thiscall
basic_istream_char_tellg(basic_istream_char
*this, fpos_int
*ret
)
7693 TRACE("(%p %p)\n", this, ret
);
7695 if(basic_istream_char_sentry_create(this, TRUE
)) {
7696 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7697 if(!ios_base_fail(&base
->base
)) {
7698 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
7699 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
7700 basic_istream_char_sentry_destroy(this);
7702 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
7703 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7707 basic_istream_char_sentry_destroy(this);
7715 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
7716 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7717 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg
, 12)
7718 basic_istream_char
* __thiscall
basic_istream_char_seekg(basic_istream_char
*this, streamoff off
, int dir
)
7720 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7722 TRACE("(%p %ld %d)\n", this, off
, dir
);
7724 if(basic_istream_char_sentry_create(this, TRUE
)) {
7725 if(!ios_base_fail(&base
->base
)) {
7726 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7729 basic_streambuf_char_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
7730 basic_istream_char_sentry_destroy(this);
7732 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7733 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7735 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7739 basic_istream_char_sentry_destroy(this);
7741 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7745 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
7746 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
7747 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg_fpos
, 28)
7748 basic_istream_char
* __thiscall
basic_istream_char_seekg_fpos(basic_istream_char
*this, fpos_int pos
)
7750 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7752 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
7754 if(basic_istream_char_sentry_create(this, TRUE
)) {
7755 if(!ios_base_fail(&base
->base
)) {
7756 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7759 basic_streambuf_char_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
7760 basic_istream_char_sentry_destroy(this);
7762 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7763 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7765 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7769 basic_istream_char_sentry_destroy(this);
7771 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7775 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z */
7776 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAF@Z */
7777 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_short
, 8)
7778 basic_istream_char
* __thiscall
basic_istream_char_read_short(basic_istream_char
*this, short *v
)
7780 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7781 int state
= IOSTATE_goodbit
;
7783 TRACE("(%p %p)\n", this, v
);
7785 if(basic_istream_char_sentry_create(this, FALSE
)) {
7786 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7787 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7788 istreambuf_iterator_char first
={0}, last
={0};
7791 first
.strbuf
= strbuf
;
7792 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
7794 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
7797 state
|= IOSTATE_failbit
;
7799 basic_istream_char_sentry_destroy(this);
7801 basic_ios_char_setstate(base
, state
);
7805 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z */
7806 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAG@Z */
7807 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ushort
, 8)
7808 basic_istream_char
* __thiscall
basic_istream_char_read_ushort(basic_istream_char
*this, unsigned short *v
)
7810 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7811 int state
= IOSTATE_goodbit
;
7813 TRACE("(%p %p)\n", this, v
);
7815 if(basic_istream_char_sentry_create(this, FALSE
)) {
7816 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7817 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7818 istreambuf_iterator_char first
={0}, last
={0};
7820 first
.strbuf
= strbuf
;
7821 num_get_char_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7823 basic_istream_char_sentry_destroy(this);
7825 basic_ios_char_setstate(base
, state
);
7829 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z */
7830 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z */
7831 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int
, 8)
7832 basic_istream_char
* __thiscall
basic_istream_char_read_int(basic_istream_char
*this, int *v
)
7834 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7835 int state
= IOSTATE_goodbit
;
7837 TRACE("(%p %p)\n", this, v
);
7839 if(basic_istream_char_sentry_create(this, FALSE
)) {
7840 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7841 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7842 istreambuf_iterator_char first
={0}, last
={0};
7844 first
.strbuf
= strbuf
;
7845 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7847 basic_istream_char_sentry_destroy(this);
7849 basic_ios_char_setstate(base
, state
);
7853 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z */
7854 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAI@Z */
7855 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint
, 8)
7856 basic_istream_char
* __thiscall
basic_istream_char_read_uint(basic_istream_char
*this, unsigned int *v
)
7858 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7859 int state
= IOSTATE_goodbit
;
7861 TRACE("(%p %p)\n", this, v
);
7863 if(basic_istream_char_sentry_create(this, FALSE
)) {
7864 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7865 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7866 istreambuf_iterator_char first
={0}, last
={0};
7868 first
.strbuf
= strbuf
;
7869 num_get_char_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7871 basic_istream_char_sentry_destroy(this);
7873 basic_ios_char_setstate(base
, state
);
7877 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z */
7878 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAJ@Z */
7879 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_long
, 8)
7880 basic_istream_char
* __thiscall
basic_istream_char_read_long(basic_istream_char
*this, LONG
*v
)
7882 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7883 int state
= IOSTATE_goodbit
;
7885 TRACE("(%p %p)\n", this, v
);
7887 if(basic_istream_char_sentry_create(this, FALSE
)) {
7888 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7889 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7890 istreambuf_iterator_char first
={0}, last
={0};
7892 first
.strbuf
= strbuf
;
7893 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7895 basic_istream_char_sentry_destroy(this);
7897 basic_ios_char_setstate(base
, state
);
7901 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z */
7902 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAK@Z */
7903 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ulong
, 8)
7904 basic_istream_char
* __thiscall
basic_istream_char_read_ulong(basic_istream_char
*this, ULONG
*v
)
7906 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7907 int state
= IOSTATE_goodbit
;
7909 TRACE("(%p %p)\n", this, v
);
7911 if(basic_istream_char_sentry_create(this, FALSE
)) {
7912 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7913 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7914 istreambuf_iterator_char first
={0}, last
={0};
7916 first
.strbuf
= strbuf
;
7917 num_get_char_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7919 basic_istream_char_sentry_destroy(this);
7921 basic_ios_char_setstate(base
, state
);
7925 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z */
7926 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAM@Z */
7927 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_float
, 8)
7928 basic_istream_char
* __thiscall
basic_istream_char_read_float(basic_istream_char
*this, float *v
)
7930 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7931 int state
= IOSTATE_goodbit
;
7933 TRACE("(%p %p)\n", this, v
);
7935 if(basic_istream_char_sentry_create(this, FALSE
)) {
7936 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7937 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7938 istreambuf_iterator_char first
={0}, last
={0};
7940 first
.strbuf
= strbuf
;
7941 num_get_char_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7943 basic_istream_char_sentry_destroy(this);
7945 basic_ios_char_setstate(base
, state
);
7949 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z */
7950 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAN@Z */
7951 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_double
, 8)
7952 basic_istream_char
* __thiscall
basic_istream_char_read_double(basic_istream_char
*this, double *v
)
7954 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7955 int state
= IOSTATE_goodbit
;
7957 TRACE("(%p %p)\n", this, v
);
7959 if(basic_istream_char_sentry_create(this, FALSE
)) {
7960 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7961 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7962 istreambuf_iterator_char first
={0}, last
={0};
7964 first
.strbuf
= strbuf
;
7965 num_get_char_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7967 basic_istream_char_sentry_destroy(this);
7969 basic_ios_char_setstate(base
, state
);
7973 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z */
7974 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAO@Z */
7975 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ldouble
, 8)
7976 basic_istream_char
* __thiscall
basic_istream_char_read_ldouble(basic_istream_char
*this, double *v
)
7978 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7979 int state
= IOSTATE_goodbit
;
7981 TRACE("(%p %p)\n", this, v
);
7983 if(basic_istream_char_sentry_create(this, FALSE
)) {
7984 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7985 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7986 istreambuf_iterator_char first
={0}, last
={0};
7988 first
.strbuf
= strbuf
;
7989 num_get_char_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7991 basic_istream_char_sentry_destroy(this);
7993 basic_ios_char_setstate(base
, state
);
7997 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z */
7998 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
7999 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ptr
, 8)
8000 basic_istream_char
* __thiscall
basic_istream_char_read_ptr(basic_istream_char
*this, void **v
)
8002 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8003 int state
= IOSTATE_goodbit
;
8005 TRACE("(%p %p)\n", this, v
);
8007 if(basic_istream_char_sentry_create(this, FALSE
)) {
8008 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8009 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8010 istreambuf_iterator_char first
={0}, last
={0};
8012 first
.strbuf
= strbuf
;
8013 num_get_char_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8015 basic_istream_char_sentry_destroy(this);
8017 basic_ios_char_setstate(base
, state
);
8021 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_J@Z */
8022 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_J@Z */
8023 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int64
, 8)
8024 basic_istream_char
* __thiscall
basic_istream_char_read_int64(basic_istream_char
*this, __int64
*v
)
8026 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8027 int state
= IOSTATE_goodbit
;
8029 TRACE("(%p %p)\n", this, v
);
8031 if(basic_istream_char_sentry_create(this, FALSE
)) {
8032 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8033 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8034 istreambuf_iterator_char first
={0}, last
={0};
8036 first
.strbuf
= strbuf
;
8037 num_get_char_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8039 basic_istream_char_sentry_destroy(this);
8041 basic_ios_char_setstate(base
, state
);
8045 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_K@Z */
8046 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_K@Z */
8047 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint64
, 8)
8048 basic_istream_char
* __thiscall
basic_istream_char_read_uint64(basic_istream_char
*this, unsigned __int64
*v
)
8050 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8051 int state
= IOSTATE_goodbit
;
8053 TRACE("(%p %p)\n", this, v
);
8055 if(basic_istream_char_sentry_create(this, FALSE
)) {
8056 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8057 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8058 istreambuf_iterator_char first
={0}, last
={0};
8060 first
.strbuf
= strbuf
;
8061 num_get_char_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8063 basic_istream_char_sentry_destroy(this);
8065 basic_ios_char_setstate(base
, state
);
8069 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z */
8070 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_N@Z */
8071 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_bool
, 8)
8072 basic_istream_char
* __thiscall
basic_istream_char_read_bool(basic_istream_char
*this, MSVCP_bool
*v
)
8074 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8075 int state
= IOSTATE_goodbit
;
8077 TRACE("(%p %p)\n", this, v
);
8079 if(basic_istream_char_sentry_create(this, FALSE
)) {
8080 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8081 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8082 istreambuf_iterator_char first
={0}, last
={0};
8084 first
.strbuf
= strbuf
;
8085 num_get_char_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8087 basic_istream_char_sentry_destroy(this);
8089 basic_ios_char_setstate(base
, state
);
8093 /* ??$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 */
8094 /* ??$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 */
8095 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr_delim(
8096 basic_istream_char
*istream
, basic_string_char
*str
, char delim
)
8098 IOSB_iostate state
= IOSTATE_failbit
;
8101 TRACE("(%p %p %c)\n", istream
, str
, delim
);
8103 if(basic_istream_char_sentry_create(istream
, TRUE
)) {
8104 MSVCP_basic_string_char_clear(str
);
8106 c
= basic_istream_char_get(istream
);
8108 state
= IOSTATE_goodbit
;
8110 for(; c
!=delim
&& c
!=EOF
; c
= basic_istream_char_get(istream
)) {
8111 state
= IOSTATE_goodbit
;
8112 MSVCP_basic_string_char_append_ch(str
, c
);
8115 basic_istream_char_sentry_destroy(istream
);
8117 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8118 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8122 /* ??$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 */
8123 /* ??$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 */
8124 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr(
8125 basic_istream_char
*istream
, basic_string_char
*str
)
8127 return basic_istream_char_getline_bstr_delim(istream
, str
, '\n');
8130 /* ??$?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 */
8131 /* ??$?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 */
8132 basic_istream_char
* __cdecl
basic_istream_char_read_bstr(
8133 basic_istream_char
*istream
, basic_string_char
*str
)
8135 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8136 IOSB_iostate state
= IOSTATE_failbit
;
8139 TRACE("(%p %p)\n", istream
, str
);
8141 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8142 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8143 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
8148 MSVCP_basic_string_char_clear(str
);
8150 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8151 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8152 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8153 state
= IOSTATE_goodbit
;
8154 MSVCP_basic_string_char_append_ch(str
, c
);
8157 basic_istream_char_sentry_destroy(istream
);
8159 ios_base_width_set(&base
->base
, 0);
8160 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8164 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z */
8165 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z */
8166 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z */
8167 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z */
8168 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z */
8169 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z */
8170 basic_istream_char
* __cdecl
basic_istream_char_read_str(basic_istream_char
*istream
, char *str
)
8172 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8173 IOSB_iostate state
= IOSTATE_failbit
;
8176 TRACE("(%p %p)\n", istream
, str
);
8178 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8179 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8180 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
8182 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8183 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8184 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8185 state
= IOSTATE_goodbit
;
8189 basic_istream_char_sentry_destroy(istream
);
8192 ios_base_width_set(&base
->base
, 0);
8193 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8197 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z */
8198 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z */
8199 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z */
8200 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z */
8201 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z */
8202 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z */
8203 basic_istream_char
* __cdecl
basic_istream_char_read_ch(basic_istream_char
*istream
, char *ch
)
8205 IOSB_iostate state
= IOSTATE_failbit
;
8208 TRACE("(%p %p)\n", istream
, ch
);
8210 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8211 c
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(
8212 basic_istream_char_get_basic_ios(istream
)));
8214 state
= IOSTATE_goodbit
;
8218 basic_istream_char_sentry_destroy(istream
);
8220 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8221 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8225 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8226 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8227 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_streambuf
, 8)
8228 basic_istream_char
* __thiscall
basic_istream_char_read_streambuf(
8229 basic_istream_char
*this, basic_streambuf_char
*streambuf
)
8231 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8232 IOSB_iostate state
= IOSTATE_failbit
;
8235 TRACE("(%p %p)\n", this, streambuf
);
8237 if(basic_istream_char_sentry_create(this, FALSE
)) {
8238 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
)); c
!=EOF
;
8239 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
))) {
8240 state
= IOSTATE_goodbit
;
8241 if(basic_streambuf_char_sputc(streambuf
, c
) == EOF
)
8245 basic_istream_char_sentry_destroy(this);
8247 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8251 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
8252 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
8253 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func
, 8)
8254 basic_istream_char
* __thiscall
basic_istream_char_read_func(basic_istream_char
*this,
8255 basic_istream_char
* (__cdecl
*pfunc
)(basic_istream_char
*))
8257 TRACE("(%p %p)\n", this, pfunc
);
8262 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
8263 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
8264 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_basic_ios
, 8)
8265 basic_istream_char
* __thiscall
basic_istream_char_read_func_basic_ios(basic_istream_char
*this,
8266 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
8268 TRACE("(%p %p)\n", this, pfunc
);
8269 pfunc(basic_istream_char_get_basic_ios(this));
8273 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
8274 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
8275 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_ios_base
, 8)
8276 basic_istream_char
* __thiscall
basic_istream_char_read_func_ios_base(basic_istream_char
*this,
8277 ios_base
* (__cdecl
*pfunc
)(ios_base
*))
8279 TRACE("(%p %p)\n", this, pfunc
);
8280 pfunc(&basic_istream_char_get_basic_ios(this)->base
);
8284 /* Caution: basic_istream uses virtual inheritance. */
8285 static inline basic_ios_wchar
* basic_istream_wchar_get_basic_ios(basic_istream_wchar
*this)
8287 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
8290 static inline basic_ios_wchar
* basic_istream_wchar_to_basic_ios(basic_istream_wchar
*ptr
)
8292 return (basic_ios_wchar
*)((char*)ptr
+basic_istream_wchar_vbtable
[1]);
8295 static inline basic_istream_wchar
* basic_istream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
8297 return (basic_istream_wchar
*)((char*)ptr
-basic_istream_wchar_vbtable
[1]);
8300 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8301 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8302 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_init
, 20)
8303 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_init(basic_istream_wchar
*this,
8304 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8306 basic_ios_wchar
*base
;
8308 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
8311 this->vbtable
= basic_istream_wchar_vbtable
;
8312 base
= basic_istream_wchar_get_basic_ios(this);
8313 basic_ios_wchar_ctor(base
);
8315 base
= basic_istream_wchar_get_basic_ios(this);
8318 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8321 basic_ios_wchar_init(base
, strbuf
, isstd
);
8325 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8326 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8327 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_init
, 20)
8328 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_init(basic_istream_wchar
*this,
8329 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8331 basic_istream_wchar_ctor_init(this, strbuf
, isstd
, noinit
, virt_init
);
8332 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8336 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8337 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8338 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor
, 16)
8339 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor(basic_istream_wchar
*this,
8340 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8342 return basic_istream_wchar_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8345 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8346 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8347 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor
, 16)
8348 basic_istream_wchar
* __thiscall
basic_istream_short_ctor(basic_istream_wchar
*this,
8349 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8351 return basic_istream_short_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8354 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8355 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8356 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_uninitialized
, 12)
8357 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_uninitialized(
8358 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8360 basic_ios_wchar
*base
;
8362 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
8365 this->vbtable
= basic_istream_wchar_vbtable
;
8366 base
= basic_istream_wchar_get_basic_ios(this);
8367 basic_ios_wchar_ctor(base
);
8369 base
= basic_istream_wchar_get_basic_ios(this);
8372 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8373 ios_base_Addstd(&base
->base
);
8377 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8378 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8379 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_uninitialized
, 12)
8380 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_uninitialized(
8381 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8383 basic_istream_wchar_ctor_uninitialized(this, uninitialized
, virt_init
);
8384 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8388 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
8389 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
8390 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ */
8391 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
8392 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_dtor
, 4)
8393 void __thiscall
basic_istream_wchar_dtor(basic_ios_wchar
*base
)
8395 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8397 /* don't destroy virtual base here */
8398 TRACE("(%p)\n", this);
8401 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8402 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8403 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8404 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8405 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vbase_dtor
, 4)
8406 void __thiscall
basic_istream_wchar_vbase_dtor(basic_istream_wchar
*this)
8408 TRACE("(%p)\n", this);
8409 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(this));
8410 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(this));
8413 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vector_dtor
, 8)
8414 basic_istream_wchar
* __thiscall
basic_istream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
8416 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8418 TRACE("(%p %x)\n", this, flags
);
8421 /* we have an array, with the number of elements stored before the first object */
8422 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
8424 for(i
=*ptr
-1; i
>=0; i
--)
8425 basic_istream_wchar_vbase_dtor(this+i
);
8426 MSVCRT_operator_delete(ptr
);
8428 basic_istream_wchar_vbase_dtor(this);
8430 MSVCRT_operator_delete(this);
8436 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8437 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8438 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8439 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8440 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Ipfx
, 8)
8441 MSVCP_bool __thiscall
basic_istream_wchar__Ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8443 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8445 TRACE("(%p %d)\n", this, noskip
);
8447 if(!ios_base_good(&base
->base
)) {
8448 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8452 if(basic_ios_wchar_tie_get(base
))
8453 basic_ostream_wchar_flush(basic_ios_wchar_tie_get(base
));
8455 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
8456 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8457 const ctype_wchar
*ctype
= ctype_wchar_use_facet(base
->strbuf
->loc
);
8460 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); ;
8461 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8463 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8467 if(!ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
8475 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8476 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8477 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8478 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8479 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ipfx
, 8)
8480 MSVCP_bool __thiscall
basic_istream_wchar_ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8482 return basic_istream_wchar__Ipfx(this, noskip
);
8485 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8486 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8487 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8488 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8489 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_isfx
, 4)
8490 void __thiscall
basic_istream_wchar_isfx(basic_istream_wchar
*this)
8492 TRACE("(%p)\n", this);
8495 static BOOL
basic_istream_wchar_sentry_create(basic_istream_wchar
*istr
, MSVCP_bool noskip
)
8497 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8499 if(basic_ios_wchar_rdbuf_get(base
))
8500 basic_streambuf_wchar__Lock(base
->strbuf
);
8502 return basic_istream_wchar_ipfx(istr
, noskip
);
8505 static void basic_istream_wchar_sentry_destroy(basic_istream_wchar
*istr
)
8507 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8509 if(basic_ios_wchar_rdbuf_get(base
))
8510 basic_streambuf_wchar__Unlock(base
->strbuf
);
8513 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QBEHXZ */
8514 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEBA_JXZ */
8515 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ */
8516 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QEBA_JXZ */
8517 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_gcount
, 4)
8518 int __thiscall
basic_istream_wchar_gcount(const basic_istream_wchar
*this)
8520 TRACE("(%p)\n", this);
8524 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8525 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8526 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8527 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8528 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get
, 4)
8529 unsigned short __thiscall
basic_istream_wchar_get(basic_istream_wchar
*this)
8531 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8534 TRACE("(%p)\n", this);
8538 if(!basic_istream_wchar_sentry_create(this, TRUE
)) {
8539 basic_istream_wchar_sentry_destroy(this);
8543 ret
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(base
));
8544 basic_istream_wchar_sentry_destroy(this);
8546 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
8553 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AA_W@Z */
8554 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEA_W@Z */
8555 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z */
8556 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAG@Z */
8557 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_ch
, 8)
8558 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_ch(basic_istream_wchar
*this, wchar_t *ch
)
8562 TRACE("(%p %p)\n", this, ch
);
8564 ret
= basic_istream_wchar_get(this);
8570 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8571 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8572 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8573 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8574 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str_delim
, 16)
8575 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8577 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8578 unsigned short ch
= delim
;
8580 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
8584 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8585 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8587 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); count
>1;
8588 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8589 if(ch
==WEOF
|| ch
==delim
)
8597 basic_istream_wchar_sentry_destroy(this);
8599 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8600 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8606 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8607 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8608 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8609 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8610 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str
, 12)
8611 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8613 return basic_istream_wchar_get_str_delim(this, str
, count
, '\n');
8616 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8617 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8618 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8619 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8620 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf_delim
, 12)
8621 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf_delim(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
, wchar_t delim
)
8623 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8624 unsigned short ch
= delim
;
8626 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
8630 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8631 basic_streambuf_wchar
*strbuf_read
= basic_ios_wchar_rdbuf_get(base
);
8633 for(ch
= basic_streambuf_wchar_sgetc(strbuf_read
); ;
8634 ch
= basic_streambuf_wchar_snextc(strbuf_read
)) {
8635 if(ch
==WEOF
|| ch
==delim
)
8638 if(basic_streambuf_wchar_sputc(strbuf
, ch
) == WEOF
)
8643 basic_istream_wchar_sentry_destroy(this);
8645 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8646 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8650 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8651 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8652 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8653 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8654 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf
, 8)
8655 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
)
8657 return basic_istream_wchar_get_streambuf_delim(this, strbuf
, '\n');
8660 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8661 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8662 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8663 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8664 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline_delim
, 16)
8665 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8667 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8668 unsigned short ch
= delim
;
8670 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
8674 if(basic_istream_wchar_sentry_create(this, TRUE
) && count
>0) {
8675 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8678 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8680 if(ch
==WEOF
|| ch
==delim
)
8690 else if(ch
!= WEOF
) {
8691 ch
= basic_streambuf_wchar_sgetc(strbuf
);
8694 basic_streambuf_wchar__Gninc(strbuf
);
8699 basic_istream_wchar_sentry_destroy(this);
8701 basic_ios_wchar_setstate(base
, (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
8702 (!this->count
|| (ch
!=delim
&& ch
!=WEOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
8708 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8709 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8710 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8711 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8712 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline
, 12)
8713 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8715 return basic_istream_wchar_getline_delim(this, str
, count
, '\n');
8718 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@HG@Z */
8719 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JG@Z */
8720 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z */
8721 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z */
8722 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ignore
, 12)
8723 basic_istream_wchar
* __thiscall
basic_istream_wchar_ignore(basic_istream_wchar
*this, streamsize count
, unsigned short delim
)
8725 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8726 unsigned short ch
= delim
;
8728 TRACE("(%p %ld %d)\n", this, count
, delim
);
8732 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8733 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8736 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8738 if(ch
==WEOF
|| ch
==delim
)
8742 if(count
!= INT_MAX
)
8746 basic_istream_wchar_sentry_destroy(this);
8749 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8753 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8754 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8755 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8756 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8757 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_peek
, 4)
8758 unsigned short __thiscall
basic_istream_wchar_peek(basic_istream_wchar
*this)
8760 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8761 unsigned short ret
= WEOF
;
8763 TRACE("(%p)\n", this);
8767 if(basic_istream_wchar_sentry_create(this, TRUE
))
8768 ret
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
8769 basic_istream_wchar_sentry_destroy(this);
8773 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WIH@Z */
8774 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_K_J@Z */
8775 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGIH@Z */
8776 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_K_J@Z */
8777 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Read_s
, 16)
8778 basic_istream_wchar
* __thiscall
basic_istream_wchar__Read_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8780 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8781 IOSB_iostate state
= IOSTATE_goodbit
;
8783 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
8785 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8786 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8788 this->count
= basic_streambuf_wchar__Sgetn_s(strbuf
, str
, size
, count
);
8789 if(this->count
!= count
)
8790 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
8794 basic_istream_wchar_sentry_destroy(this);
8796 basic_ios_wchar_setstate(base
, state
);
8800 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8801 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8802 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8803 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8804 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read
, 12)
8805 basic_istream_wchar
* __thiscall
basic_istream_wchar_read(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8807 return basic_istream_wchar__Read_s(this, str
, count
, count
);
8810 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
8811 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
8812 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
8813 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
8814 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Readsome_s
, 16)
8815 streamsize __thiscall
basic_istream_wchar__Readsome_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8817 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8818 IOSB_iostate state
= IOSTATE_goodbit
;
8820 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
8824 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8825 streamsize avail
= basic_streambuf_wchar_in_avail(basic_ios_wchar_rdbuf_get(base
));
8830 state
|= IOSTATE_eofbit
;
8832 basic_istream_wchar__Read_s(this, str
, size
, avail
);
8834 state
|= IOSTATE_failbit
;
8836 basic_istream_wchar_sentry_destroy(this);
8838 basic_ios_wchar_setstate(base
, state
);
8842 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
8843 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
8844 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
8845 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
8846 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_readsome
, 12)
8847 streamsize __thiscall
basic_istream_wchar_readsome(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8849 return basic_istream_wchar__Readsome_s(this, str
, count
, count
);
8852 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
8853 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
8854 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
8855 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
8856 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_putback
, 8)
8857 basic_istream_wchar
* __thiscall
basic_istream_wchar_putback(basic_istream_wchar
*this, wchar_t ch
)
8859 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8860 IOSB_iostate state
= IOSTATE_goodbit
;
8862 TRACE("(%p %c)\n", this, ch
);
8866 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8867 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8869 if(!ios_base_good(&base
->base
))
8870 state
|= IOSTATE_failbit
;
8871 else if(!strbuf
|| basic_streambuf_wchar_sputbackc(strbuf
, ch
)==WEOF
)
8872 state
|= IOSTATE_badbit
;
8874 basic_istream_wchar_sentry_destroy(this);
8876 basic_ios_wchar_setstate(base
, state
);
8880 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
8881 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
8882 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
8883 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
8884 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_unget
, 4)
8885 basic_istream_wchar
* __thiscall
basic_istream_wchar_unget(basic_istream_wchar
*this)
8887 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8888 IOSB_iostate state
= IOSTATE_goodbit
;
8890 TRACE("(%p)\n", this);
8894 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8895 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8897 if(!ios_base_good(&base
->base
))
8898 state
|= IOSTATE_failbit
;
8899 else if(!strbuf
|| basic_streambuf_wchar_sungetc(strbuf
)==WEOF
)
8900 state
|= IOSTATE_badbit
;
8902 basic_istream_wchar_sentry_destroy(this);
8904 basic_ios_wchar_setstate(base
, state
);
8908 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
8909 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
8910 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ */
8911 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAHXZ */
8912 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_sync
, 4)
8913 int __thiscall
basic_istream_wchar_sync(basic_istream_wchar
*this)
8915 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8916 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8918 TRACE("(%p)\n", this);
8923 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8924 if(basic_streambuf_wchar_pubsync(strbuf
) != -1) {
8925 basic_istream_wchar_sentry_destroy(this);
8929 basic_istream_wchar_sentry_destroy(this);
8931 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
8935 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8936 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8937 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8938 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8939 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_tellg
, 8)
8940 fpos_int
* __thiscall
basic_istream_wchar_tellg(basic_istream_wchar
*this, fpos_int
*ret
)
8942 TRACE("(%p %p)\n", this, ret
);
8944 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8945 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8946 if(!ios_base_fail(&base
->base
)) {
8947 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
8948 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
8949 basic_istream_wchar_sentry_destroy(this);
8951 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
8952 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8956 basic_istream_wchar_sentry_destroy(this);
8964 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
8965 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
8966 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
8967 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
8968 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg
, 12)
8969 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg(basic_istream_wchar
*this, streamoff off
, int dir
)
8971 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8973 TRACE("(%p %ld %d)\n", this, off
, dir
);
8975 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8976 if(!ios_base_fail(&base
->base
)) {
8977 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8980 basic_streambuf_wchar_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
8981 basic_istream_wchar_sentry_destroy(this);
8983 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
8984 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8986 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
8990 basic_istream_wchar_sentry_destroy(this);
8992 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8996 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
8997 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
8998 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
8999 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
9000 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg_fpos
, 28)
9001 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg_fpos(basic_istream_wchar
*this, fpos_int pos
)
9003 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9005 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
9007 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
9008 if(!ios_base_fail(&base
->base
)) {
9009 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9012 basic_streambuf_wchar_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
9013 basic_istream_wchar_sentry_destroy(this);
9015 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
9016 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
9018 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
9022 basic_istream_wchar_sentry_destroy(this);
9024 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
9028 static basic_istream_wchar
* basic_istream_read_short(basic_istream_wchar
*this, short *v
, const num_get
*numget
)
9030 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9031 int state
= IOSTATE_goodbit
;
9033 TRACE("(%p %p)\n", this, v
);
9035 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9036 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9037 istreambuf_iterator_wchar first
={0}, last
={0};
9040 first
.strbuf
= strbuf
;
9041 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
9043 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
9046 state
|= IOSTATE_failbit
;
9048 basic_istream_wchar_sentry_destroy(this);
9050 basic_ios_wchar_setstate(base
, state
);
9054 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAF@Z */
9055 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAF@Z */
9056 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_short
, 8)
9057 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_short(basic_istream_wchar
*this, short *v
)
9059 return basic_istream_read_short(this, v
, num_get_wchar_use_facet(
9060 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9063 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z */
9064 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAF@Z */
9065 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_short
, 8)
9066 basic_istream_wchar
* __thiscall
basic_istream_short_read_short(basic_istream_wchar
*this, short *v
)
9068 return basic_istream_read_short(this, v
, num_get_short_use_facet(
9069 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9072 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAG@Z */
9073 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAG@Z */
9074 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ushort
, 8)
9075 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ushort(basic_istream_wchar
*this, unsigned short *v
)
9077 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9078 int state
= IOSTATE_goodbit
;
9080 TRACE("(%p %p)\n", this, v
);
9082 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9083 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9084 const num_get
*numget
= num_get_wchar_use_facet(strbuf
->loc
);
9085 istreambuf_iterator_wchar first
={0}, last
={0};
9087 first
.strbuf
= strbuf
;
9088 num_get_wchar_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9090 basic_istream_wchar_sentry_destroy(this);
9092 basic_ios_wchar_setstate(base
, state
);
9096 static basic_istream_wchar
* basic_istream_read_int(basic_istream_wchar
*this, int *v
, const num_get
*numget
)
9098 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9099 int state
= IOSTATE_goodbit
;
9101 TRACE("(%p %p)\n", this, v
);
9103 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9104 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9105 istreambuf_iterator_wchar first
={0}, last
={0};
9107 first
.strbuf
= strbuf
;
9108 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9110 basic_istream_wchar_sentry_destroy(this);
9112 basic_ios_wchar_setstate(base
, state
);
9116 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAH@Z */
9117 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAH@Z */
9118 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int
, 8)
9119 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int(basic_istream_wchar
*this, int *v
)
9121 return basic_istream_read_int(this, v
, num_get_wchar_use_facet(
9122 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9125 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z */
9126 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAH@Z */
9127 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int
, 8)
9128 basic_istream_wchar
* __thiscall
basic_istream_short_read_int(basic_istream_wchar
*this, int *v
)
9130 return basic_istream_read_int(this, v
, num_get_short_use_facet(
9131 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9134 static basic_istream_wchar
* basic_istream_read_uint(basic_istream_wchar
*this, unsigned int *v
, const num_get
*numget
)
9136 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9137 int state
= IOSTATE_goodbit
;
9139 TRACE("(%p %p)\n", this, v
);
9141 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9142 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9143 istreambuf_iterator_wchar first
={0}, last
={0};
9145 first
.strbuf
= strbuf
;
9146 num_get_wchar_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9148 basic_istream_wchar_sentry_destroy(this);
9150 basic_ios_wchar_setstate(base
, state
);
9154 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAI@Z */
9155 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAI@Z */
9156 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint
, 8)
9157 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9159 return basic_istream_read_uint(this, v
, num_get_wchar_use_facet(
9160 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9163 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z */
9164 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAI@Z */
9165 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint
, 8)
9166 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9168 return basic_istream_read_uint(this, v
, num_get_short_use_facet(
9169 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9172 static basic_istream_wchar
* basic_istream_read_long(basic_istream_wchar
*this, LONG
*v
, const num_get
*numget
)
9174 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9175 int state
= IOSTATE_goodbit
;
9177 TRACE("(%p %p)\n", this, v
);
9179 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9180 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9181 istreambuf_iterator_wchar first
={0}, last
={0};
9183 first
.strbuf
= strbuf
;
9184 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9186 basic_istream_wchar_sentry_destroy(this);
9188 basic_ios_wchar_setstate(base
, state
);
9192 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9193 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9194 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_long
, 8)
9195 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_long(basic_istream_wchar
*this, LONG
*v
)
9197 return basic_istream_read_long(this, v
, num_get_wchar_use_facet(
9198 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9201 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9202 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9203 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_long
, 8)
9204 basic_istream_wchar
* __thiscall
basic_istream_short_read_long(basic_istream_wchar
*this, LONG
*v
)
9206 return basic_istream_read_long(this, v
, num_get_short_use_facet(
9207 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9210 static basic_istream_wchar
* basic_istream_read_ulong(basic_istream_wchar
*this, ULONG
*v
, const num_get
*numget
)
9212 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9213 int state
= IOSTATE_goodbit
;
9215 TRACE("(%p %p)\n", this, v
);
9217 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9218 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9219 istreambuf_iterator_wchar first
={0}, last
={0};
9221 first
.strbuf
= strbuf
;
9222 num_get_wchar_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9224 basic_istream_wchar_sentry_destroy(this);
9226 basic_ios_wchar_setstate(base
, state
);
9230 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAK@Z */
9231 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAK@Z */
9232 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ulong
, 8)
9233 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9235 return basic_istream_read_ulong(this, v
, num_get_wchar_use_facet(
9236 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9239 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z */
9240 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAK@Z */
9241 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ulong
, 8)
9242 basic_istream_wchar
* __thiscall
basic_istream_short_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9244 return basic_istream_read_ulong(this, v
, num_get_short_use_facet(
9245 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9248 static basic_istream_wchar
* basic_istream_read_float(basic_istream_wchar
*this, float *v
, const num_get
*numget
)
9250 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9251 int state
= IOSTATE_goodbit
;
9253 TRACE("(%p %p)\n", this, v
);
9255 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9256 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9257 istreambuf_iterator_wchar first
={0}, last
={0};
9259 first
.strbuf
= strbuf
;
9260 num_get_wchar_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9262 basic_istream_wchar_sentry_destroy(this);
9264 basic_ios_wchar_setstate(base
, state
);
9268 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAM@Z */
9269 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAM@Z */
9270 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_float
, 8)
9271 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_float(basic_istream_wchar
*this, float *v
)
9273 return basic_istream_read_float(this, v
, num_get_wchar_use_facet(
9274 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9277 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z */
9278 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAM@Z */
9279 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_float
, 8)
9280 basic_istream_wchar
* __thiscall
basic_istream_short_read_float(basic_istream_wchar
*this, float *v
)
9282 return basic_istream_read_float(this, v
, num_get_short_use_facet(
9283 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9286 static basic_istream_wchar
* basic_istream_read_double(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9288 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9289 int state
= IOSTATE_goodbit
;
9291 TRACE("(%p %p)\n", this, v
);
9293 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9294 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9295 istreambuf_iterator_wchar first
={0}, last
={0};
9297 first
.strbuf
= strbuf
;
9298 num_get_wchar_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9300 basic_istream_wchar_sentry_destroy(this);
9302 basic_ios_wchar_setstate(base
, state
);
9306 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAN@Z */
9307 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAN@Z */
9308 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_double
, 8)
9309 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_double(basic_istream_wchar
*this, double *v
)
9311 return basic_istream_read_double(this, v
, num_get_wchar_use_facet(
9312 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9315 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z */
9316 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAN@Z */
9317 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_double
, 8)
9318 basic_istream_wchar
* __thiscall
basic_istream_short_read_double(basic_istream_wchar
*this, double *v
)
9320 return basic_istream_read_double(this, v
, num_get_short_use_facet(
9321 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9324 static basic_istream_wchar
* basic_istream_read_ldouble(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9326 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9327 int state
= IOSTATE_goodbit
;
9329 TRACE("(%p %p)\n", this, v
);
9331 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9332 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9333 istreambuf_iterator_wchar first
={0}, last
={0};
9335 first
.strbuf
= strbuf
;
9336 num_get_wchar_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9338 basic_istream_wchar_sentry_destroy(this);
9340 basic_ios_wchar_setstate(base
, state
);
9344 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAO@Z */
9345 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAO@Z */
9346 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ldouble
, 8)
9347 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ldouble(basic_istream_wchar
*this, double *v
)
9349 return basic_istream_read_ldouble(this, v
, num_get_wchar_use_facet(
9350 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9353 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z */
9354 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAO@Z */
9355 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ldouble
, 8)
9356 basic_istream_wchar
* __thiscall
basic_istream_short_read_ldouble(basic_istream_wchar
*this, double *v
)
9358 return basic_istream_read_ldouble(this, v
, num_get_short_use_facet(
9359 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9362 static basic_istream_wchar
* basic_istream_read_ptr(basic_istream_wchar
*this, void **v
, const num_get
*numget
)
9364 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9365 int state
= IOSTATE_goodbit
;
9367 TRACE("(%p %p)\n", this, v
);
9369 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9370 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9371 istreambuf_iterator_wchar first
={0}, last
={0};
9373 first
.strbuf
= strbuf
;
9374 num_get_wchar_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9376 basic_istream_wchar_sentry_destroy(this);
9378 basic_ios_wchar_setstate(base
, state
);
9382 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAPAX@Z */
9383 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9384 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ptr
, 8)
9385 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ptr(basic_istream_wchar
*this, void **v
)
9387 return basic_istream_read_ptr(this, v
, num_get_wchar_use_facet(
9388 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9391 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z */
9392 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9393 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ptr
, 8)
9394 basic_istream_wchar
* __thiscall
basic_istream_short_read_ptr(basic_istream_wchar
*this, void **v
)
9396 return basic_istream_read_ptr(this, v
, num_get_short_use_facet(
9397 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9400 static basic_istream_wchar
* basic_istream_read_int64(basic_istream_wchar
*this, __int64
*v
, const num_get
*numget
)
9402 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9403 int state
= IOSTATE_goodbit
;
9405 TRACE("(%p %p)\n", this, v
);
9407 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9408 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9409 istreambuf_iterator_wchar first
={0}, last
={0};
9411 first
.strbuf
= strbuf
;
9412 num_get_wchar_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9414 basic_istream_wchar_sentry_destroy(this);
9416 basic_ios_wchar_setstate(base
, state
);
9420 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_J@Z */
9421 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_J@Z */
9422 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int64
, 8)
9423 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int64(basic_istream_wchar
*this, __int64
*v
)
9425 return basic_istream_read_int64(this, v
, num_get_wchar_use_facet(
9426 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9429 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_J@Z */
9430 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_J@Z */
9431 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int64
, 8)
9432 basic_istream_wchar
* __thiscall
basic_istream_short_read_int64(basic_istream_wchar
*this, __int64
*v
)
9434 return basic_istream_read_int64(this, v
, num_get_short_use_facet(
9435 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9438 static basic_istream_wchar
* basic_istream_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
, const num_get
*numget
)
9440 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9441 int state
= IOSTATE_goodbit
;
9443 TRACE("(%p %p)\n", this, v
);
9445 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9446 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9447 istreambuf_iterator_wchar first
={0}, last
={0};
9449 first
.strbuf
= strbuf
;
9450 num_get_wchar_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9452 basic_istream_wchar_sentry_destroy(this);
9454 basic_ios_wchar_setstate(base
, state
);
9458 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_K@Z */
9459 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_K@Z */
9460 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint64
, 8)
9461 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9463 return basic_istream_read_uint64(this, v
, num_get_wchar_use_facet(
9464 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9467 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_K@Z */
9468 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_K@Z */
9469 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint64
, 8)
9470 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9472 return basic_istream_read_uint64(this, v
, num_get_short_use_facet(
9473 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9476 static basic_istream_wchar
* basic_istream_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
, const num_get
*numget
)
9478 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9479 int state
= IOSTATE_goodbit
;
9481 TRACE("(%p %p)\n", this, v
);
9483 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9484 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9485 istreambuf_iterator_wchar first
={0}, last
={0};
9487 first
.strbuf
= strbuf
;
9488 num_get_wchar_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9490 basic_istream_wchar_sentry_destroy(this);
9492 basic_ios_wchar_setstate(base
, state
);
9496 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_N@Z */
9497 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_N@Z */
9498 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_bool
, 8)
9499 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9501 return basic_istream_read_bool(this, v
, num_get_wchar_use_facet(
9502 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9505 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z */
9506 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_N@Z */
9507 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_bool
, 8)
9508 basic_istream_wchar
* __thiscall
basic_istream_short_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9510 return basic_istream_read_bool(this, v
, num_get_short_use_facet(
9511 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9514 /* ??$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 */
9515 /* ??$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 */
9516 /* ??$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 */
9517 /* ??$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 */
9518 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr_delim(
9519 basic_istream_wchar
*istream
, basic_string_wchar
*str
, wchar_t delim
)
9521 IOSB_iostate state
= IOSTATE_failbit
;
9524 TRACE("(%p %p %c)\n", istream
, str
, delim
);
9526 if(basic_istream_wchar_sentry_create(istream
, TRUE
)) {
9527 MSVCP_basic_string_wchar_clear(str
);
9529 c
= basic_istream_wchar_get(istream
);
9531 state
= IOSTATE_goodbit
;
9533 for(; c
!=delim
&& c
!=WEOF
; c
= basic_istream_wchar_get(istream
)) {
9534 state
= IOSTATE_goodbit
;
9535 MSVCP_basic_string_wchar_append_ch(str
, c
);
9538 basic_istream_wchar_sentry_destroy(istream
);
9540 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9541 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9545 /* ??$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 */
9546 /* ??$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 */
9547 /* ??$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 */
9548 /* ??$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 */
9549 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr(
9550 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9552 return basic_istream_wchar_getline_bstr_delim(istream
, str
, '\n');
9555 static basic_istream_wchar
* basic_istream_read_bstr(basic_istream_wchar
*istream
,
9556 basic_string_wchar
*str
, const ctype_wchar
*ctype
)
9558 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9559 IOSB_iostate state
= IOSTATE_failbit
;
9562 TRACE("(%p %p)\n", istream
, str
);
9564 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9565 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
9570 MSVCP_basic_string_wchar_clear(str
);
9572 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9573 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9574 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9575 state
= IOSTATE_goodbit
;
9576 MSVCP_basic_string_wchar_append_ch(str
, c
);
9579 basic_istream_wchar_sentry_destroy(istream
);
9581 ios_base_width_set(&base
->base
, 0);
9582 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9586 /* ??$?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 */
9587 /* ??$?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 */
9588 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_bstr(
9589 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9591 return basic_istream_read_bstr(istream
, str
, ctype_wchar_use_facet(
9592 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9595 /* ??$?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 */
9596 /* ??$?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 */
9597 basic_istream_wchar
* __cdecl
basic_istream_short_read_bstr(
9598 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9600 return basic_istream_read_bstr(istream
, str
, ctype_short_use_facet(
9601 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9604 static basic_istream_wchar
* basic_istream_read_str(basic_istream_wchar
*istream
, wchar_t *str
, const ctype_wchar
*ctype
)
9606 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9607 IOSB_iostate state
= IOSTATE_failbit
;
9608 unsigned short c
= '\n';
9610 TRACE("(%p %p)\n", istream
, str
);
9612 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9613 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
9615 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9616 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9617 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9618 state
= IOSTATE_goodbit
;
9622 basic_istream_wchar_sentry_destroy(istream
);
9625 ios_base_width_set(&base
->base
, 0);
9626 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9630 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@PA_W@Z */
9631 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@PEA_W@Z */
9632 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9634 return basic_istream_read_str(istream
, str
, ctype_wchar_use_facet(
9635 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9638 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z */
9639 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z */
9640 basic_istream_wchar
* __cdecl
basic_istream_short_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9642 return basic_istream_read_str(istream
, str
, ctype_short_use_facet(
9643 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9646 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AA_W@Z */
9647 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEA_W@Z */
9648 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z */
9649 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z */
9650 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_ch(basic_istream_wchar
*istream
, wchar_t *ch
)
9652 IOSB_iostate state
= IOSTATE_failbit
;
9653 unsigned short c
= 0;
9655 TRACE("(%p %p)\n", istream
, ch
);
9657 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9658 c
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(
9659 basic_istream_wchar_get_basic_ios(istream
)));
9661 state
= IOSTATE_goodbit
;
9665 basic_istream_wchar_sentry_destroy(istream
);
9667 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9668 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9672 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9673 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9674 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9675 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9676 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_streambuf
, 8)
9677 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_streambuf(
9678 basic_istream_wchar
*this, basic_streambuf_wchar
*streambuf
)
9680 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9681 IOSB_iostate state
= IOSTATE_failbit
;
9682 unsigned short c
= '\n';
9684 TRACE("(%p %p)\n", this, streambuf
);
9686 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9687 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
)); c
!=WEOF
;
9688 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
))) {
9689 state
= IOSTATE_goodbit
;
9690 if(basic_streambuf_wchar_sputc(streambuf
, c
) == WEOF
)
9694 basic_istream_wchar_sentry_destroy(this);
9696 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9700 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9701 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9702 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9703 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9704 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func
, 8)
9705 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func(basic_istream_wchar
*this,
9706 basic_istream_wchar
* (__cdecl
*pfunc
)(basic_istream_wchar
*))
9708 TRACE("(%p %p)\n", this, pfunc
);
9713 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
9714 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
9715 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
9716 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
9717 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_basic_ios
, 8)
9718 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_basic_ios(basic_istream_wchar
*this,
9719 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
9721 TRACE("(%p %p)\n", this, pfunc
);
9722 pfunc(basic_istream_wchar_get_basic_ios(this));
9726 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9727 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9728 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9729 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9730 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_ios_base
, 8)
9731 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_ios_base(
9732 basic_istream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
9734 TRACE("(%p %p)\n", this, pfunc
);
9735 pfunc(&basic_istream_wchar_get_basic_ios(this)->base
);
9739 static inline basic_ios_char
* basic_iostream_char_to_basic_ios(basic_iostream_char
*ptr
)
9741 return (basic_ios_char
*)((char*)ptr
+basic_iostream_char_vbtable1
[1]);
9744 static inline basic_iostream_char
* basic_iostream_char_from_basic_ios(basic_ios_char
*ptr
)
9746 return (basic_iostream_char
*)((char*)ptr
-basic_iostream_char_vbtable1
[1]);
9749 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9750 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9751 DEFINE_THISCALL_WRAPPER(basic_iostream_char_ctor
, 12)
9752 basic_iostream_char
* __thiscall
basic_iostream_char_ctor(basic_iostream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool virt_init
)
9754 basic_ios_char
*basic_ios
;
9756 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9759 this->base1
.vbtable
= basic_iostream_char_vbtable1
;
9760 this->base2
.vbtable
= basic_iostream_char_vbtable2
;
9761 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9762 basic_ios_char_ctor(basic_ios
);
9764 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9767 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_char_vtable
;
9769 basic_istream_char_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9770 basic_ostream_char_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9774 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
9775 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
9776 DEFINE_THISCALL_WRAPPER(basic_iostream_char_dtor
, 4)
9777 void __thiscall
basic_iostream_char_dtor(basic_ios_char
*base
)
9779 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9781 TRACE("(%p)\n", this);
9782 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base2
));
9783 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base1
));
9786 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
9787 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
9788 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vbase_dtor
, 4)
9789 void __thiscall
basic_iostream_char_vbase_dtor(basic_iostream_char
*this)
9791 TRACE("(%p)\n", this);
9792 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(this));
9793 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base1
));
9796 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vector_dtor
, 8)
9797 basic_iostream_char
* __thiscall
basic_iostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
9799 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9801 TRACE("(%p %x)\n", this, flags
);
9804 /* we have an array, with the number of elements stored before the first object */
9805 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
9807 for(i
=*ptr
-1; i
>=0; i
--)
9808 basic_iostream_char_vbase_dtor(this+i
);
9809 MSVCRT_operator_delete(ptr
);
9811 basic_iostream_char_vbase_dtor(this);
9813 MSVCRT_operator_delete(this);
9819 static inline basic_ios_wchar
* basic_iostream_wchar_to_basic_ios(basic_iostream_wchar
*ptr
)
9821 return (basic_ios_wchar
*)((char*)ptr
+basic_iostream_wchar_vbtable1
[1]);
9824 static inline basic_iostream_wchar
* basic_iostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
9826 return (basic_iostream_wchar
*)((char*)ptr
-basic_iostream_wchar_vbtable1
[1]);
9829 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9830 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9831 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_ctor
, 12)
9832 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_ctor(basic_iostream_wchar
*this,
9833 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9835 basic_ios_wchar
*basic_ios
;
9837 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9840 this->base1
.vbtable
= basic_iostream_wchar_vbtable1
;
9841 this->base2
.vbtable
= basic_iostream_wchar_vbtable2
;
9842 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9843 basic_ios_wchar_ctor(basic_ios
);
9845 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9848 basic_istream_wchar_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9849 basic_ostream_wchar_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9851 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_wchar_vtable
;
9855 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9856 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9857 DEFINE_THISCALL_WRAPPER(basic_iostream_short_ctor
, 12)
9858 basic_iostream_wchar
* __thiscall
basic_iostream_short_ctor(basic_iostream_wchar
*this,
9859 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9861 basic_iostream_wchar_ctor(this, strbuf
, virt_init
);
9862 basic_istream_wchar_get_basic_ios(&this->base1
)->base
.vtable
= &MSVCP_basic_iostream_short_vtable
;
9866 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
9867 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
9868 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
9869 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
9870 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_dtor
, 4)
9871 void __thiscall
basic_iostream_wchar_dtor(basic_ios_wchar
*base
)
9873 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9875 TRACE("(%p)\n", this);
9876 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base2
));
9877 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base1
));
9880 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
9881 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
9882 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
9883 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
9884 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vbase_dtor
, 4)
9885 void __thiscall
basic_iostream_wchar_vbase_dtor(basic_iostream_wchar
*this)
9887 TRACE("(%p)\n", this);
9888 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(this));
9889 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base1
));
9892 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vector_dtor
, 8)
9893 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
9895 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9897 TRACE("(%p %x)\n", this, flags
);
9900 /* we have an array, with the number of elements stored before the first object */
9901 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
9903 for(i
=*ptr
-1; i
>=0; i
--)
9904 basic_iostream_wchar_vbase_dtor(this+i
);
9905 MSVCRT_operator_delete(ptr
);
9907 basic_iostream_wchar_vbase_dtor(this);
9909 MSVCRT_operator_delete(this);
9915 static inline basic_ios_char
* basic_ofstream_char_to_basic_ios(basic_ofstream_char
*ptr
)
9917 return (basic_ios_char
*)((char*)ptr
+basic_ofstream_char_vbtable
[1]);
9920 static inline basic_ofstream_char
* basic_ofstream_char_from_basic_ios(basic_ios_char
*ptr
)
9922 return (basic_ofstream_char
*)((char*)ptr
-basic_ofstream_char_vbtable
[1]);
9925 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
9926 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
9927 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor
, 8)
9928 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor(basic_ofstream_char
*this, MSVCP_bool virt_init
)
9930 basic_ios_char
*basic_ios
;
9932 TRACE("(%p %d)\n", this, virt_init
);
9935 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9936 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9937 basic_ios_char_ctor(basic_ios
);
9939 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9942 basic_filebuf_char_ctor(&this->filebuf
);
9943 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
9944 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
9948 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
9949 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
9950 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_file
, 12)
9951 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_file(
9952 basic_ofstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
9954 basic_ios_char
*basic_ios
;
9956 TRACE("(%p %p %d)\n", this, file
, virt_init
);
9959 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9960 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9961 basic_ios_char_ctor(basic_ios
);
9963 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9966 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
9967 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
9968 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
9972 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
9973 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
9974 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name
, 20)
9975 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name(basic_ofstream_char
*this,
9976 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
9978 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
9980 basic_ofstream_char_ctor(this, virt_init
);
9982 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
9983 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9984 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
9989 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
9990 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
9991 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
9992 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
9993 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name_wchar
, 20)
9994 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name_wchar(basic_ofstream_char
*this,
9995 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
9997 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
9999 basic_ofstream_char_ctor(this, virt_init
);
10001 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10002 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10003 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10008 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10009 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10010 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_dtor
, 4)
10011 void __thiscall
basic_ofstream_char_dtor(basic_ios_char
*base
)
10013 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10015 TRACE("(%p)\n", this);
10017 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
10018 basic_filebuf_char_dtor(&this->filebuf
);
10021 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10022 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10023 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vbase_dtor
, 4)
10024 void __thiscall
basic_ofstream_char_vbase_dtor(basic_ofstream_char
*this)
10026 TRACE("(%p)\n", this);
10028 basic_ofstream_char_dtor(basic_ofstream_char_to_basic_ios(this));
10029 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
10032 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vector_dtor
, 8)
10033 basic_ofstream_char
* __thiscall
basic_ofstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10035 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10037 TRACE("(%p %x)\n", this, flags
);
10040 /* we have an array, with the number of elements stored before the first object */
10041 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10043 for(i
=*ptr
-1; i
>=0; i
--)
10044 basic_ofstream_char_vbase_dtor(this+i
);
10045 MSVCRT_operator_delete(ptr
);
10047 basic_ofstream_char_vbase_dtor(this);
10049 MSVCRT_operator_delete(this);
10055 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10056 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10057 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_close
, 4)
10058 void __thiscall
basic_ofstream_char_close(basic_ofstream_char
*this)
10060 TRACE("(%p)\n", this);
10062 if(!basic_filebuf_char_close(&this->filebuf
)) {
10063 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10064 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10068 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10069 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10070 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_is_open
, 4)
10071 MSVCP_bool __thiscall
basic_ofstream_char_is_open(const basic_ofstream_char
*this)
10073 TRACE("(%p)\n", this);
10074 return basic_filebuf_char_is_open(&this->filebuf
);
10077 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10078 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10079 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open
, 16)
10080 void __thiscall
basic_ofstream_char_open(basic_ofstream_char
*this,
10081 const char *name
, int mode
, int prot
)
10083 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10085 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10086 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10087 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10091 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10092 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10093 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old
, 12)
10094 void __thiscall
basic_ofstream_char_open_old(basic_ofstream_char
*this,
10095 const char *name
, unsigned int mode
)
10097 basic_ofstream_char_open(this, name
, mode
, _SH_DENYNO
);
10100 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
10101 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
10102 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
10103 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
10104 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar
, 16)
10105 void __thiscall
basic_ofstream_char_open_wchar(basic_ofstream_char
*this,
10106 const wchar_t *name
, int mode
, int prot
)
10108 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10110 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10111 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10112 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10116 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
10117 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
10118 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
10119 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
10120 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar_old
, 12)
10121 void __thiscall
basic_ofstream_char_open_wchar_old(basic_ofstream_char
*this,
10122 const wchar_t *name
, unsigned int mode
)
10124 basic_ofstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
10127 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10128 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10129 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_rdbuf
, 4)
10130 basic_filebuf_char
* __thiscall
basic_ofstream_char_rdbuf(const basic_ofstream_char
*this)
10132 TRACE("(%p)\n", this);
10133 return (basic_filebuf_char
*)&this->filebuf
;
10136 static inline basic_ios_wchar
* basic_ofstream_wchar_to_basic_ios(basic_ofstream_wchar
*ptr
)
10138 return (basic_ios_wchar
*)((char*)ptr
+basic_ofstream_wchar_vbtable
[1]);
10141 static inline basic_ofstream_wchar
* basic_ofstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10143 return (basic_ofstream_wchar
*)((char*)ptr
-basic_ofstream_wchar_vbtable
[1]);
10146 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10147 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10148 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor
, 8)
10149 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10151 basic_ios_wchar
*basic_ios
;
10153 TRACE("(%p %d)\n", this, virt_init
);
10156 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10157 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10158 basic_ios_wchar_ctor(basic_ios
);
10160 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10163 basic_filebuf_wchar_ctor(&this->filebuf
);
10164 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10165 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10169 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10170 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10171 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor
, 8)
10172 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10174 basic_ofstream_wchar_ctor(this, virt_init
);
10175 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10179 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10180 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10181 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_file
, 12)
10182 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_file(
10183 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10185 basic_ios_wchar
*basic_ios
;
10187 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10190 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10191 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10192 basic_ios_wchar_ctor(basic_ios
);
10194 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10197 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10198 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10199 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10203 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10204 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10205 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_file
, 12)
10206 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_file(
10207 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10209 basic_ofstream_wchar_ctor_file(this, file
, virt_init
);
10210 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10214 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10215 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10216 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name
, 20)
10217 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_name(basic_ofstream_wchar
*this,
10218 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10220 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10222 basic_ofstream_wchar_ctor(this, virt_init
);
10224 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10225 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10226 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10231 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10232 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10233 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name
, 20)
10234 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name(basic_ofstream_wchar
*this,
10235 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10237 basic_ofstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10238 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10242 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
10243 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
10244 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
10245 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
10246 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name_wchar
, 20)
10247 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_name_wchar(basic_ofstream_wchar
*this,
10248 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10250 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10252 basic_ofstream_wchar_ctor(this, virt_init
);
10254 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10255 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10256 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10261 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
10262 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
10263 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
10264 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
10265 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name_wchar
, 20)
10266 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name_wchar(basic_ofstream_wchar
*this,
10267 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10269 basic_ofstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
10270 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10274 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10275 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10276 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10277 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10278 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_dtor
, 4)
10279 void __thiscall
basic_ofstream_wchar_dtor(basic_ios_wchar
*base
)
10281 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10283 TRACE("(%p)\n", this);
10285 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
10286 basic_filebuf_wchar_dtor(&this->filebuf
);
10289 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10290 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10291 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10292 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10293 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vbase_dtor
, 4)
10294 void __thiscall
basic_ofstream_wchar_vbase_dtor(basic_ofstream_wchar
*this)
10296 TRACE("(%p)\n", this);
10298 basic_ofstream_wchar_dtor(basic_ofstream_wchar_to_basic_ios(this));
10299 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
10302 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vector_dtor
, 8)
10303 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10305 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10307 TRACE("(%p %x)\n", this, flags
);
10310 /* we have an array, with the number of elements stored before the first object */
10311 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10313 for(i
=*ptr
-1; i
>=0; i
--)
10314 basic_ofstream_wchar_vbase_dtor(this+i
);
10315 MSVCRT_operator_delete(ptr
);
10317 basic_ofstream_wchar_vbase_dtor(this);
10319 MSVCRT_operator_delete(this);
10325 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10326 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10327 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10328 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10329 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_close
, 4)
10330 void __thiscall
basic_ofstream_wchar_close(basic_ofstream_wchar
*this)
10332 TRACE("(%p)\n", this);
10334 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10335 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10336 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10340 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10341 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10342 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10343 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10344 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_is_open
, 4)
10345 MSVCP_bool __thiscall
basic_ofstream_wchar_is_open(const basic_ofstream_wchar
*this)
10347 TRACE("(%p)\n", this);
10348 return basic_filebuf_wchar_is_open(&this->filebuf
);
10351 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10352 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10353 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10354 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10355 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open
, 16)
10356 void __thiscall
basic_ofstream_wchar_open(basic_ofstream_wchar
*this,
10357 const char *name
, int mode
, int prot
)
10359 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10361 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10362 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10363 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10367 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10368 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10369 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10370 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10371 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old
, 12)
10372 void __thiscall
basic_ofstream_wchar_open_old(basic_ofstream_wchar
*this,
10373 const char *name
, unsigned int mode
)
10375 basic_ofstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10378 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
10379 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
10380 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
10381 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
10382 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
10383 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
10384 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
10385 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
10386 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar
, 16)
10387 void __thiscall
basic_ofstream_wchar_open_wchar(basic_ofstream_wchar
*this,
10388 const wchar_t *name
, int mode
, int prot
)
10390 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10392 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10393 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10394 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10398 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
10399 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
10400 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
10401 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
10402 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
10403 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
10404 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
10405 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
10406 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar_old
, 12)
10407 void __thiscall
basic_ofstream_wchar_open_wchar_old(basic_ofstream_wchar
*this,
10408 const wchar_t *name
, unsigned int mode
)
10410 basic_ofstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
10413 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10414 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10415 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10416 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10417 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_rdbuf
, 4)
10418 basic_filebuf_wchar
* __thiscall
basic_ofstream_wchar_rdbuf(const basic_ofstream_wchar
*this)
10420 TRACE("(%p)\n", this);
10421 return (basic_filebuf_wchar
*)&this->filebuf
;
10424 static inline basic_ios_char
* basic_ifstream_char_to_basic_ios(basic_ifstream_char
*ptr
)
10426 return (basic_ios_char
*)((char*)ptr
+basic_ifstream_char_vbtable
[1]);
10429 static inline basic_ifstream_char
* basic_ifstream_char_from_basic_ios(basic_ios_char
*ptr
)
10431 return (basic_ifstream_char
*)((char*)ptr
-basic_ifstream_char_vbtable
[1]);
10434 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10435 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10436 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor
, 8)
10437 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor(basic_ifstream_char
*this, MSVCP_bool virt_init
)
10439 basic_ios_char
*basic_ios
;
10441 TRACE("(%p %d)\n", this, virt_init
);
10444 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10445 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10446 basic_ios_char_ctor(basic_ios
);
10448 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10451 basic_filebuf_char_ctor(&this->filebuf
);
10452 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10453 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10457 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10458 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10459 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_file
, 12)
10460 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_file(
10461 basic_ifstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
10463 basic_ios_char
*basic_ios
;
10465 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10468 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10469 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10470 basic_ios_char_ctor(basic_ios
);
10472 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10475 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10476 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10477 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10481 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10482 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10483 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name
, 20)
10484 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name(basic_ifstream_char
*this,
10485 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10487 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10489 basic_ifstream_char_ctor(this, virt_init
);
10491 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10492 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10493 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10498 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
10499 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
10500 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
10501 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
10502 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name_wchar
, 20)
10503 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name_wchar(basic_ifstream_char
*this,
10504 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10506 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10508 basic_ifstream_char_ctor(this, virt_init
);
10510 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10511 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10512 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10517 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10518 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10519 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_dtor
, 4)
10520 void __thiscall
basic_ifstream_char_dtor(basic_ios_char
*base
)
10522 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10524 TRACE("(%p)\n", this);
10526 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
10527 basic_filebuf_char_dtor(&this->filebuf
);
10530 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10531 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10532 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vbase_dtor
, 4)
10533 void __thiscall
basic_ifstream_char_vbase_dtor(basic_ifstream_char
*this)
10535 TRACE("(%p)\n", this);
10537 basic_ifstream_char_dtor(basic_ifstream_char_to_basic_ios(this));
10538 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
10541 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vector_dtor
, 8)
10542 basic_ifstream_char
* __thiscall
basic_ifstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10544 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10546 TRACE("(%p %x)\n", this, flags
);
10549 /* we have an array, with the number of elements stored before the first object */
10550 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10552 for(i
=*ptr
-1; i
>=0; i
--)
10553 basic_ifstream_char_vbase_dtor(this+i
);
10554 MSVCRT_operator_delete(ptr
);
10556 basic_ifstream_char_vbase_dtor(this);
10558 MSVCRT_operator_delete(this);
10564 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10565 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10566 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_close
, 4)
10567 void __thiscall
basic_ifstream_char_close(basic_ifstream_char
*this)
10569 TRACE("(%p)\n", this);
10571 if(!basic_filebuf_char_close(&this->filebuf
)) {
10572 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10573 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10577 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10578 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10579 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_is_open
, 4)
10580 MSVCP_bool __thiscall
basic_ifstream_char_is_open(const basic_ifstream_char
*this)
10582 TRACE("(%p)\n", this);
10583 return basic_filebuf_char_is_open(&this->filebuf
);
10586 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10587 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10588 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open
, 16)
10589 void __thiscall
basic_ifstream_char_open(basic_ifstream_char
*this,
10590 const char *name
, int mode
, int prot
)
10592 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10594 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10595 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10596 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10600 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10601 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10602 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_old
, 12)
10603 void __thiscall
basic_ifstream_char_open_old(basic_ifstream_char
*this,
10604 const char *name
, unsigned int mode
)
10606 basic_ifstream_char_open(this, name
, mode
, _SH_DENYNO
);
10609 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
10610 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
10611 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
10612 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
10613 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar
, 16)
10614 void __thiscall
basic_ifstream_char_open_wchar(basic_ifstream_char
*this,
10615 const wchar_t *name
, int mode
, int prot
)
10617 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10619 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10620 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10621 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10625 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
10626 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
10627 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
10628 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
10629 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar_old
, 12)
10630 void __thiscall
basic_ifstream_char_open_wchar_old(basic_ifstream_char
*this,
10631 const wchar_t *name
, unsigned int mode
)
10633 basic_ifstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
10636 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10637 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10638 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_rdbuf
, 4)
10639 basic_filebuf_char
* __thiscall
basic_ifstream_char_rdbuf(const basic_ifstream_char
*this)
10641 TRACE("(%p)\n", this);
10642 return (basic_filebuf_char
*)&this->filebuf
;
10645 static inline basic_ios_wchar
* basic_ifstream_wchar_to_basic_ios(basic_ifstream_wchar
*ptr
)
10647 return (basic_ios_wchar
*)((char*)ptr
+basic_ifstream_wchar_vbtable
[1]);
10650 static inline basic_ifstream_wchar
* basic_ifstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10652 return (basic_ifstream_wchar
*)((char*)ptr
-basic_ifstream_wchar_vbtable
[1]);
10655 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10656 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10657 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor
, 8)
10658 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10660 basic_ios_wchar
*basic_ios
;
10662 TRACE("(%p %d)\n", this, virt_init
);
10665 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10666 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10667 basic_ios_wchar_ctor(basic_ios
);
10669 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10672 basic_filebuf_wchar_ctor(&this->filebuf
);
10673 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10674 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10678 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10679 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10680 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor
, 8)
10681 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10683 basic_ifstream_wchar_ctor(this, virt_init
);
10684 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10688 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10689 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10690 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_file
, 12)
10691 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_file(
10692 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10694 basic_ios_wchar
*basic_ios
;
10696 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10699 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10700 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10701 basic_ios_wchar_ctor(basic_ios
);
10703 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10706 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10707 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10708 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10712 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10713 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10714 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_file
, 12)
10715 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_file(
10716 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10718 basic_ifstream_wchar_ctor_file(this, file
, virt_init
);
10719 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10723 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10724 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10725 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name
, 20)
10726 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_name(basic_ifstream_wchar
*this,
10727 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10729 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10731 basic_ifstream_wchar_ctor(this, virt_init
);
10733 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10734 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10735 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10740 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10741 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10742 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name
, 20)
10743 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name(basic_ifstream_wchar
*this,
10744 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10746 basic_ifstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10747 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10751 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
10752 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
10753 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
10754 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
10755 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name_wchar
, 20)
10756 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_name_wchar(basic_ifstream_wchar
*this,
10757 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10759 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10761 basic_ifstream_wchar_ctor(this, virt_init
);
10763 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10764 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10765 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10770 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
10771 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
10772 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
10773 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
10774 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name_wchar
, 20)
10775 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name_wchar(basic_ifstream_wchar
*this,
10776 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10778 basic_ifstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
10779 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10783 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10784 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10785 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10786 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10787 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_dtor
, 4)
10788 void __thiscall
basic_ifstream_wchar_dtor(basic_ios_wchar
*base
)
10790 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10792 TRACE("(%p)\n", this);
10794 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
10795 basic_filebuf_wchar_dtor(&this->filebuf
);
10798 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10799 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10800 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10801 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10802 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vbase_dtor
, 4)
10803 void __thiscall
basic_ifstream_wchar_vbase_dtor(basic_ifstream_wchar
*this)
10805 TRACE("(%p)\n", this);
10807 basic_ifstream_wchar_dtor(basic_ifstream_wchar_to_basic_ios(this));
10808 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
10811 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vector_dtor
, 8)
10812 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10814 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10816 TRACE("(%p %x)\n", this, flags
);
10819 /* we have an array, with the number of elements stored before the first object */
10820 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
10822 for(i
=*ptr
-1; i
>=0; i
--)
10823 basic_ifstream_wchar_vbase_dtor(this+i
);
10824 MSVCRT_operator_delete(ptr
);
10826 basic_ifstream_wchar_vbase_dtor(this);
10828 MSVCRT_operator_delete(this);
10834 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10835 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10836 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10837 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10838 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_close
, 4)
10839 void __thiscall
basic_ifstream_wchar_close(basic_ifstream_wchar
*this)
10841 TRACE("(%p)\n", this);
10843 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10844 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10845 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10849 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10850 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10851 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10852 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10853 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_is_open
, 4)
10854 MSVCP_bool __thiscall
basic_ifstream_wchar_is_open(const basic_ifstream_wchar
*this)
10856 TRACE("(%p)\n", this);
10857 return basic_filebuf_wchar_is_open(&this->filebuf
);
10860 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10861 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10862 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10863 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10864 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open
, 16)
10865 void __thiscall
basic_ifstream_wchar_open(basic_ifstream_wchar
*this,
10866 const char *name
, int mode
, int prot
)
10868 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10870 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10871 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10872 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10876 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10877 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10878 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10879 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10880 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_old
, 12)
10881 void __thiscall
basic_ifstream_wchar_open_old(basic_ifstream_wchar
*this,
10882 const char *name
, unsigned int mode
)
10884 basic_ifstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10887 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
10888 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
10889 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
10890 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
10891 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
10892 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
10893 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
10894 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
10895 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar
, 16)
10896 void __thiscall
basic_ifstream_wchar_open_wchar(basic_ifstream_wchar
*this,
10897 const wchar_t *name
, int mode
, int prot
)
10899 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10901 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10902 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10903 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10907 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
10908 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
10909 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
10910 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
10911 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
10912 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
10913 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
10914 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
10915 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar_old
, 12)
10916 void __thiscall
basic_ifstream_wchar_open_wchar_old(basic_ifstream_wchar
*this,
10917 const wchar_t *name
, unsigned int mode
)
10919 basic_ifstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
10922 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10923 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10924 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10925 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10926 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_rdbuf
, 4)
10927 basic_filebuf_wchar
* __thiscall
basic_ifstream_wchar_rdbuf(const basic_ifstream_wchar
*this)
10929 TRACE("(%p)\n", this);
10930 return (basic_filebuf_wchar
*)&this->filebuf
;
10933 static inline basic_ios_char
* basic_fstream_char_to_basic_ios(basic_fstream_char
*ptr
)
10935 return (basic_ios_char
*)((char*)ptr
+basic_fstream_char_vbtable1
[1]);
10938 static inline basic_fstream_char
* basic_fstream_char_from_basic_ios(basic_ios_char
*ptr
)
10940 return (basic_fstream_char
*)((char*)ptr
-basic_fstream_char_vbtable1
[1]);
10943 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10944 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10945 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor
, 8)
10946 basic_fstream_char
* __thiscall
basic_fstream_char_ctor(basic_fstream_char
*this, MSVCP_bool virt_init
)
10948 basic_ios_char
*basic_ios
;
10950 TRACE("(%p %d)\n", this, virt_init
);
10953 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10954 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10955 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10956 basic_ios_char_ctor(basic_ios
);
10958 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10961 basic_filebuf_char_ctor(&this->filebuf
);
10962 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10963 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10967 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10968 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10969 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_file
, 12)
10970 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_file(basic_fstream_char
*this,
10971 FILE *file
, MSVCP_bool virt_init
)
10973 basic_ios_char
*basic_ios
;
10975 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10978 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10979 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10980 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10981 basic_ios_char_ctor(basic_ios
);
10983 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10986 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10987 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10988 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10992 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10993 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10994 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name
, 20)
10995 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name(basic_fstream_char
*this,
10996 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10998 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
11000 basic_fstream_char_ctor(this, virt_init
);
11002 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
11003 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11004 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11009 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
11010 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
11011 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
11012 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
11013 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name_wchar
, 20)
11014 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name_wchar(basic_fstream_char
*this,
11015 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11017 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
11019 basic_fstream_char_ctor(this, virt_init
);
11021 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11022 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11023 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11028 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
11029 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
11030 DEFINE_THISCALL_WRAPPER(basic_fstream_char_dtor
, 4)
11031 void __thiscall
basic_fstream_char_dtor(basic_ios_char
*base
)
11033 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
11035 TRACE("(%p)\n", this);
11037 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
11038 basic_filebuf_char_dtor(&this->filebuf
);
11041 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
11042 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
11043 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vbase_dtor
, 4)
11044 void __thiscall
basic_fstream_char_vbase_dtor(basic_fstream_char
*this)
11046 TRACE("(%p)\n", this);
11048 basic_fstream_char_dtor(basic_fstream_char_to_basic_ios(this));
11049 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
11052 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vector_dtor
, 8)
11053 basic_fstream_char
* __thiscall
basic_fstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11055 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
11057 TRACE("(%p %x)\n", this, flags
);
11060 /* we have an array, with the number of elements stored before the first object */
11061 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11063 for(i
=*ptr
-1; i
>=0; i
--)
11064 basic_fstream_char_vbase_dtor(this+i
);
11065 MSVCRT_operator_delete(ptr
);
11067 basic_fstream_char_vbase_dtor(this);
11069 MSVCRT_operator_delete(this);
11075 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
11076 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
11077 DEFINE_THISCALL_WRAPPER(basic_fstream_char_close
, 4)
11078 void __thiscall
basic_fstream_char_close(basic_fstream_char
*this)
11080 TRACE("(%p)\n", this);
11082 if(!basic_filebuf_char_close(&this->filebuf
)) {
11083 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11084 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11088 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
11089 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
11090 DEFINE_THISCALL_WRAPPER(basic_fstream_char_is_open
, 4)
11091 MSVCP_bool __thiscall
basic_fstream_char_is_open(const basic_fstream_char
*this)
11093 TRACE("(%p)\n", this);
11094 return basic_filebuf_char_is_open(&this->filebuf
);
11097 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
11098 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
11099 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open
, 16)
11100 void __thiscall
basic_fstream_char_open(basic_fstream_char
*this,
11101 const char *name
, int mode
, int prot
)
11103 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
11105 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
11106 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11107 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11111 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
11112 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
11113 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old
, 12)
11114 void __thiscall
basic_fstream_char_open_old(basic_fstream_char
*this,
11115 const char *name
, unsigned int mode
)
11117 basic_fstream_char_open(this, name
, mode
, _SH_DENYNO
);
11120 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
11121 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
11122 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
11123 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
11124 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar
, 16)
11125 void __thiscall
basic_fstream_char_open_wchar(basic_fstream_char
*this,
11126 const wchar_t *name
, int mode
, int prot
)
11128 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
11130 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11131 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11132 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11136 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
11137 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
11138 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
11139 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
11140 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar_old
, 12)
11141 void __thiscall
basic_fstream_char_open_wchar_old(basic_fstream_char
*this,
11142 const wchar_t *name
, unsigned int mode
)
11144 basic_fstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
11147 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11148 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11149 DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf
, 4)
11150 basic_filebuf_char
* __thiscall
basic_fstream_char_rdbuf(const basic_fstream_char
*this)
11152 TRACE("(%p)\n", this);
11153 return (basic_filebuf_char
*)&this->filebuf
;
11156 static inline basic_ios_wchar
* basic_fstream_wchar_to_basic_ios(basic_fstream_wchar
*ptr
)
11158 return (basic_ios_wchar
*)((char*)ptr
+basic_fstream_wchar_vbtable1
[1]);
11161 static inline basic_fstream_wchar
* basic_fstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11163 return (basic_fstream_wchar
*)((char*)ptr
-basic_fstream_wchar_vbtable1
[1]);
11166 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
11167 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
11168 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor
, 8)
11169 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
11171 basic_ios_wchar
*basic_ios
;
11173 TRACE("(%p %d)\n", this, virt_init
);
11176 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11177 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11178 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11179 basic_ios_wchar_ctor(basic_ios
);
11181 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11184 basic_filebuf_wchar_ctor(&this->filebuf
);
11185 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11186 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
11190 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
11191 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
11192 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor
, 8)
11193 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
11195 basic_fstream_wchar_ctor(this, virt_init
);
11196 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11200 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
11201 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11202 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_file
, 12)
11203 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_file(basic_fstream_wchar
*this,
11204 FILE *file
, MSVCP_bool virt_init
)
11206 basic_ios_wchar
*basic_ios
;
11208 TRACE("(%p %p %d)\n", this, file
, virt_init
);
11211 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11212 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11213 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11214 basic_ios_wchar_ctor(basic_ios
);
11216 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11219 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
11220 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11221 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
11225 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
11226 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11227 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_file
, 12)
11228 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_file(basic_fstream_wchar
*this,
11229 FILE *file
, MSVCP_bool virt_init
)
11231 basic_fstream_wchar_ctor_file(this, file
, virt_init
);
11232 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11236 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11237 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11238 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name
, 20)
11239 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_name(basic_fstream_wchar
*this,
11240 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11242 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
11244 basic_fstream_wchar_ctor(this, virt_init
);
11246 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11247 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11248 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11253 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
11254 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
11255 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name
, 20)
11256 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name(basic_fstream_wchar
*this,
11257 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11259 basic_fstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
11260 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11264 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
11265 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
11266 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11267 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11268 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name_wchar
, 20)
11269 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_name_wchar(basic_fstream_wchar
*this,
11270 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11272 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
11274 basic_fstream_wchar_ctor(this, virt_init
);
11276 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11277 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11278 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11283 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
11284 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
11285 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
11286 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
11287 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name_wchar
, 20)
11288 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name_wchar(basic_fstream_wchar
*this,
11289 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11291 basic_fstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
11292 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11296 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
11297 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
11298 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
11299 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
11300 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_dtor
, 4)
11301 void __thiscall
basic_fstream_wchar_dtor(basic_ios_wchar
*base
)
11303 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11305 TRACE("(%p)\n", this);
11307 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
11308 basic_filebuf_wchar_dtor(&this->filebuf
);
11311 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11312 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11313 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11314 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11315 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vbase_dtor
, 4)
11316 void __thiscall
basic_fstream_wchar_vbase_dtor(basic_fstream_wchar
*this)
11318 TRACE("(%p)\n", this);
11320 basic_fstream_wchar_dtor(basic_fstream_wchar_to_basic_ios(this));
11321 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
11324 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vector_dtor
, 8)
11325 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11327 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11329 TRACE("(%p %x)\n", this, flags
);
11332 /* we have an array, with the number of elements stored before the first object */
11333 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11335 for(i
=*ptr
-1; i
>=0; i
--)
11336 basic_fstream_wchar_vbase_dtor(this+i
);
11337 MSVCRT_operator_delete(ptr
);
11339 basic_fstream_wchar_vbase_dtor(this);
11341 MSVCRT_operator_delete(this);
11347 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11348 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11349 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11350 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11351 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_close
, 4)
11352 void __thiscall
basic_fstream_wchar_close(basic_fstream_wchar
*this)
11354 TRACE("(%p)\n", this);
11356 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
11357 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11358 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11362 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
11363 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
11364 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
11365 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
11366 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_is_open
, 4)
11367 MSVCP_bool __thiscall
basic_fstream_wchar_is_open(const basic_fstream_wchar
*this)
11369 TRACE("(%p)\n", this);
11370 return basic_filebuf_wchar_is_open(&this->filebuf
);
11373 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
11374 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
11375 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
11376 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
11377 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open
, 16)
11378 void __thiscall
basic_fstream_wchar_open(basic_fstream_wchar
*this,
11379 const char *name
, int mode
, int prot
)
11381 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
11383 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11384 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11385 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11389 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
11390 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
11391 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
11392 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
11393 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old
, 12)
11394 void __thiscall
basic_fstream_wchar_open_old(basic_fstream_wchar
*this,
11395 const char *name
, unsigned int mode
)
11397 basic_fstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
11400 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
11401 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
11402 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
11403 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
11404 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
11405 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
11406 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
11407 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
11408 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar
, 16)
11409 void __thiscall
basic_fstream_wchar_open_wchar(basic_fstream_wchar
*this,
11410 const wchar_t *name
, int mode
, int prot
)
11412 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
11414 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11415 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11416 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11420 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
11421 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
11422 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
11423 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
11424 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
11425 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
11426 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
11427 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
11428 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar_old
, 12)
11429 void __thiscall
basic_fstream_wchar_open_wchar_old(basic_fstream_wchar
*this,
11430 const wchar_t *name
, unsigned int mode
)
11432 basic_fstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
11435 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11436 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11437 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11438 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11439 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_rdbuf
, 4)
11440 basic_filebuf_wchar
* __thiscall
basic_fstream_wchar_rdbuf(const basic_fstream_wchar
*this)
11442 TRACE("(%p)\n", this);
11443 return (basic_filebuf_wchar
*)&this->filebuf
;
11446 static inline basic_ios_char
* basic_ostringstream_char_to_basic_ios(basic_ostringstream_char
*ptr
)
11448 return (basic_ios_char
*)((char*)ptr
+basic_ostringstream_char_vbtable
[1]);
11451 static inline basic_ostringstream_char
* basic_ostringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11453 return (basic_ostringstream_char
*)((char*)ptr
-basic_ostringstream_char_vbtable
[1]);
11456 /* ??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 */
11457 /* ??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 */
11458 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_str
, 16)
11459 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_str(basic_ostringstream_char
*this,
11460 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11462 basic_ios_char
*basic_ios
;
11464 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11467 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11468 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11469 basic_ios_char_ctor(basic_ios
);
11471 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11474 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11475 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11476 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11480 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11481 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11482 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_mode
, 12)
11483 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_mode(
11484 basic_ostringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11486 basic_ios_char
*basic_ios
;
11488 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11491 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11492 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11493 basic_ios_char_ctor(basic_ios
);
11495 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11498 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11499 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11500 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11504 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11505 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11506 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor
, 8)
11507 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor(
11508 basic_ostringstream_char
*this, MSVCP_bool virt_init
)
11510 return basic_ostringstream_char_ctor_mode(this, 0, virt_init
);
11513 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11514 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11515 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_dtor
, 4)
11516 void __thiscall
basic_ostringstream_char_dtor(basic_ios_char
*base
)
11518 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11520 TRACE("(%p)\n", this);
11522 basic_stringbuf_char_dtor(&this->strbuf
);
11523 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
11526 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11527 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11528 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vbase_dtor
, 4)
11529 void __thiscall
basic_ostringstream_char_vbase_dtor(basic_ostringstream_char
*this)
11531 TRACE("(%p)\n", this);
11533 basic_ostringstream_char_dtor(basic_ostringstream_char_to_basic_ios(this));
11534 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
11537 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vector_dtor
, 8)
11538 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11540 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11542 TRACE("(%p %x)\n", this, flags
);
11545 /* we have an array, with the number of elements stored before the first object */
11546 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11548 for(i
=*ptr
-1; i
>=0; i
--)
11549 basic_ostringstream_char_vbase_dtor(this+i
);
11550 MSVCRT_operator_delete(ptr
);
11552 basic_ostringstream_char_vbase_dtor(this);
11554 MSVCRT_operator_delete(this);
11560 /* ?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 */
11561 /* ?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 */
11562 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_rdbuf
, 4)
11563 basic_stringbuf_char
* __thiscall
basic_ostringstream_char_rdbuf(const basic_ostringstream_char
*this)
11565 TRACE("(%p)\n", this);
11566 return (basic_stringbuf_char
*)&this->strbuf
;
11569 /* ?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 */
11570 /* ?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 */
11571 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_set
, 8)
11572 void __thiscall
basic_ostringstream_char_str_set(basic_ostringstream_char
*this, const basic_string_char
*str
)
11574 TRACE("(%p %p)\n", this, str
);
11575 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11578 /* ?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 */
11579 /* ?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 */
11580 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_get
, 8)
11581 basic_string_char
* __thiscall
basic_ostringstream_char_str_get(const basic_ostringstream_char
*this, basic_string_char
*ret
)
11583 TRACE("(%p %p)\n", this, ret
);
11584 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11587 static inline basic_ios_wchar
* basic_ostringstream_wchar_to_basic_ios(basic_ostringstream_wchar
*ptr
)
11589 return (basic_ios_wchar
*)((char*)ptr
+basic_ostringstream_wchar_vbtable
[1]);
11592 static inline basic_ostringstream_wchar
* basic_ostringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11594 return (basic_ostringstream_wchar
*)((char*)ptr
-basic_ostringstream_wchar_vbtable
[1]);
11597 /* ??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 */
11598 /* ??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 */
11599 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_str
, 16)
11600 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_str(basic_ostringstream_wchar
*this,
11601 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11603 basic_ios_wchar
*basic_ios
;
11605 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11608 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11609 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11610 basic_ios_wchar_ctor(basic_ios
);
11612 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11615 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11616 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11617 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11621 /* ??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 */
11622 /* ??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 */
11623 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_str
, 16)
11624 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_str(basic_ostringstream_wchar
*this,
11625 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11627 basic_ostringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11628 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11632 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11633 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11634 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_mode
, 12)
11635 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_mode(
11636 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11638 basic_ios_wchar
*basic_ios
;
11640 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11643 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11644 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11645 basic_ios_wchar_ctor(basic_ios
);
11647 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11650 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11651 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11652 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11656 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11657 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11658 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_mode
, 12)
11659 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_mode(
11660 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11662 basic_ostringstream_wchar_ctor_mode(this, mode
, virt_init
);
11663 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11667 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11668 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11669 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor
, 8)
11670 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor(
11671 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11673 return basic_ostringstream_wchar_ctor_mode(this, 0, virt_init
);
11676 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11677 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11678 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor
, 8)
11679 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor(
11680 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11682 return basic_ostringstream_short_ctor_mode(this, 0, virt_init
);
11685 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
11686 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
11687 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
11688 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
11689 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_dtor
, 4)
11690 void __thiscall
basic_ostringstream_wchar_dtor(basic_ios_wchar
*base
)
11692 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11694 TRACE("(%p)\n", this);
11696 basic_stringbuf_wchar_dtor(&this->strbuf
);
11697 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
11700 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11701 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11702 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11703 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11704 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vbase_dtor
, 4)
11705 void __thiscall
basic_ostringstream_wchar_vbase_dtor(basic_ostringstream_wchar
*this)
11707 TRACE("(%p)\n", this);
11709 basic_ostringstream_wchar_dtor(basic_ostringstream_wchar_to_basic_ios(this));
11710 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
11713 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vector_dtor
, 8)
11714 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11716 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11718 TRACE("(%p %x)\n", this, flags
);
11721 /* we have an array, with the number of elements stored before the first object */
11722 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11724 for(i
=*ptr
-1; i
>=0; i
--)
11725 basic_ostringstream_wchar_vbase_dtor(this+i
);
11726 MSVCRT_operator_delete(ptr
);
11728 basic_ostringstream_wchar_vbase_dtor(this);
11730 MSVCRT_operator_delete(this);
11736 /* ?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 */
11737 /* ?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 */
11738 /* ?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 */
11739 /* ?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 */
11740 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_rdbuf
, 4)
11741 basic_stringbuf_wchar
* __thiscall
basic_ostringstream_wchar_rdbuf(const basic_ostringstream_wchar
*this)
11743 TRACE("(%p)\n", this);
11744 return (basic_stringbuf_wchar
*)&this->strbuf
;
11747 /* ?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 */
11748 /* ?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 */
11749 /* ?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 */
11750 /* ?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 */
11751 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_set
, 8)
11752 void __thiscall
basic_ostringstream_wchar_str_set(basic_ostringstream_wchar
*this, const basic_string_wchar
*str
)
11754 TRACE("(%p %p)\n", this, str
);
11755 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
11758 /* ?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 */
11759 /* ?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 */
11760 /* ?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 */
11761 /* ?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 */
11762 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_get
, 8)
11763 basic_string_wchar
* __thiscall
basic_ostringstream_wchar_str_get(const basic_ostringstream_wchar
*this, basic_string_wchar
*ret
)
11765 TRACE("(%p %p)\n", this, ret
);
11766 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
11769 static inline basic_ios_char
* basic_istringstream_char_to_basic_ios(basic_istringstream_char
*ptr
)
11771 return (basic_ios_char
*)((char*)ptr
+basic_istringstream_char_vbtable
[1]);
11774 static inline basic_istringstream_char
* basic_istringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11776 return (basic_istringstream_char
*)((char*)ptr
-basic_istringstream_char_vbtable
[1]);
11779 /* ??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 */
11780 /* ??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 */
11781 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_str
, 16)
11782 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_str(basic_istringstream_char
*this,
11783 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11785 basic_ios_char
*basic_ios
;
11787 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11790 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11791 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11792 basic_ios_char_ctor(basic_ios
);
11794 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11797 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11798 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11799 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11803 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11804 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11805 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_mode
, 12)
11806 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_mode(
11807 basic_istringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11809 basic_ios_char
*basic_ios
;
11811 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11814 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11815 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11816 basic_ios_char_ctor(basic_ios
);
11818 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11821 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11822 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11823 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11827 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11828 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11829 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor
, 8)
11830 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor(
11831 basic_istringstream_char
*this, MSVCP_bool virt_init
)
11833 return basic_istringstream_char_ctor_mode(this, 0, virt_init
);
11836 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11837 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11838 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_dtor
, 4)
11839 void __thiscall
basic_istringstream_char_dtor(basic_ios_char
*base
)
11841 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11843 TRACE("(%p)\n", this);
11845 basic_stringbuf_char_dtor(&this->strbuf
);
11846 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
11849 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11850 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11851 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vbase_dtor
, 4)
11852 void __thiscall
basic_istringstream_char_vbase_dtor(basic_istringstream_char
*this)
11854 TRACE("(%p)\n", this);
11856 basic_istringstream_char_dtor(basic_istringstream_char_to_basic_ios(this));
11857 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
11860 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vector_dtor
, 8)
11861 basic_istringstream_char
* __thiscall
basic_istringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11863 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11865 TRACE("(%p %x)\n", this, flags
);
11868 /* we have an array, with the number of elements stored before the first object */
11869 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
11871 for(i
=*ptr
-1; i
>=0; i
--)
11872 basic_istringstream_char_vbase_dtor(this+i
);
11873 MSVCRT_operator_delete(ptr
);
11875 basic_istringstream_char_vbase_dtor(this);
11877 MSVCRT_operator_delete(this);
11883 /* ?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 */
11884 /* ?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 */
11885 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_rdbuf
, 4)
11886 basic_stringbuf_char
* __thiscall
basic_istringstream_char_rdbuf(const basic_istringstream_char
*this)
11888 TRACE("(%p)\n", this);
11889 return (basic_stringbuf_char
*)&this->strbuf
;
11892 /* ?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 */
11893 /* ?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 */
11894 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_set
, 8)
11895 void __thiscall
basic_istringstream_char_str_set(basic_istringstream_char
*this, const basic_string_char
*str
)
11897 TRACE("(%p %p)\n", this, str
);
11898 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11901 /* ?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 */
11902 /* ?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 */
11903 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_get
, 8)
11904 basic_string_char
* __thiscall
basic_istringstream_char_str_get(const basic_istringstream_char
*this, basic_string_char
*ret
)
11906 TRACE("(%p %p)\n", this, ret
);
11907 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11910 static inline basic_ios_wchar
* basic_istringstream_wchar_to_basic_ios(basic_istringstream_wchar
*ptr
)
11912 return (basic_ios_wchar
*)((char*)ptr
+basic_istringstream_wchar_vbtable
[1]);
11915 static inline basic_istringstream_wchar
* basic_istringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11917 return (basic_istringstream_wchar
*)((char*)ptr
-basic_istringstream_wchar_vbtable
[1]);
11920 /* ??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 */
11921 /* ??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 */
11922 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_str
, 16)
11923 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_str(basic_istringstream_wchar
*this,
11924 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11926 basic_ios_wchar
*basic_ios
;
11928 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11931 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11932 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11933 basic_ios_wchar_ctor(basic_ios
);
11935 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11938 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11939 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11940 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11944 /* ??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 */
11945 /* ??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 */
11946 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_str
, 16)
11947 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_str(basic_istringstream_wchar
*this,
11948 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11950 basic_istringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11951 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_istringstream_short_vtable
;
11955 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11956 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11957 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_mode
, 12)
11958 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_mode(
11959 basic_istringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11961 basic_ios_wchar
*basic_ios
;
11963 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11966 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11967 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11968 basic_ios_wchar_ctor(basic_ios
);
11970 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11973 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11974 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11975 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11979 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11980 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11981 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_mode
, 12)
11982 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_mode(
11983 basic_istringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11985 basic_istringstream_wchar_ctor_mode(this, mode
, virt_init
);
11986 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_istringstream_short_vtable
;
11990 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11991 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11992 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor
, 8)
11993 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor(
11994 basic_istringstream_wchar
*this, MSVCP_bool virt_init
)
11996 return basic_istringstream_wchar_ctor_mode(this, 0, virt_init
);
11999 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12000 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12001 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor
, 8)
12002 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor(
12003 basic_istringstream_wchar
*this, MSVCP_bool virt_init
)
12005 return basic_istringstream_short_ctor_mode(this, 0, virt_init
);
12008 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
12009 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
12010 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
12011 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
12012 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_dtor
, 4)
12013 void __thiscall
basic_istringstream_wchar_dtor(basic_ios_wchar
*base
)
12015 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
12017 TRACE("(%p)\n", this);
12019 basic_stringbuf_wchar_dtor(&this->strbuf
);
12020 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
12023 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12024 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12025 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12026 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12027 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vbase_dtor
, 4)
12028 void __thiscall
basic_istringstream_wchar_vbase_dtor(basic_istringstream_wchar
*this)
12030 TRACE("(%p)\n", this);
12032 basic_istringstream_wchar_dtor(basic_istringstream_wchar_to_basic_ios(this));
12033 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
12036 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vector_dtor
, 8)
12037 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12039 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
12041 TRACE("(%p %x)\n", this, flags
);
12044 /* we have an array, with the number of elements stored before the first object */
12045 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12047 for(i
=*ptr
-1; i
>=0; i
--)
12048 basic_istringstream_wchar_vbase_dtor(this+i
);
12049 MSVCRT_operator_delete(ptr
);
12051 basic_istringstream_wchar_vbase_dtor(this);
12053 MSVCRT_operator_delete(this);
12059 /* ?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 */
12060 /* ?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 */
12061 /* ?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 */
12062 /* ?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 */
12063 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_rdbuf
, 4)
12064 basic_stringbuf_wchar
* __thiscall
basic_istringstream_wchar_rdbuf(const basic_istringstream_wchar
*this)
12066 TRACE("(%p)\n", this);
12067 return (basic_stringbuf_wchar
*)&this->strbuf
;
12070 /* ?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 */
12071 /* ?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 */
12072 /* ?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 */
12073 /* ?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 */
12074 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_set
, 8)
12075 void __thiscall
basic_istringstream_wchar_str_set(basic_istringstream_wchar
*this, const basic_string_wchar
*str
)
12077 TRACE("(%p %p)\n", this, str
);
12078 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12081 /* ?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 */
12082 /* ?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 */
12083 /* ?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 */
12084 /* ?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 */
12085 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_get
, 8)
12086 basic_string_wchar
* __thiscall
basic_istringstream_wchar_str_get(const basic_istringstream_wchar
*this, basic_string_wchar
*ret
)
12088 TRACE("(%p %p)\n", this, ret
);
12089 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12092 static inline basic_ios_char
* basic_stringstream_char_to_basic_ios(basic_stringstream_char
*ptr
)
12094 return (basic_ios_char
*)((char*)ptr
+basic_stringstream_char_vbtable1
[1]);
12097 static inline basic_stringstream_char
* basic_stringstream_char_from_basic_ios(basic_ios_char
*ptr
)
12099 return (basic_stringstream_char
*)((char*)ptr
-basic_stringstream_char_vbtable1
[1]);
12102 /* ??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 */
12103 /* ??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 */
12104 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_str
, 16)
12105 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_str(basic_stringstream_char
*this,
12106 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
12108 basic_ios_char
*basic_ios
;
12110 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12113 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12114 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12115 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12116 basic_ios_char_ctor(basic_ios
);
12118 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12121 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
);
12122 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12123 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
12127 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
12128 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
12129 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_mode
, 12)
12130 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_mode(
12131 basic_stringstream_char
*this, int mode
, MSVCP_bool virt_init
)
12133 basic_ios_char
*basic_ios
;
12135 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12138 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12139 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12140 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12141 basic_ios_char_ctor(basic_ios
);
12143 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12146 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
);
12147 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12148 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
12152 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12153 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12154 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor
, 8)
12155 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor(
12156 basic_stringstream_char
*this, MSVCP_bool virt_init
)
12158 return basic_stringstream_char_ctor_mode(
12159 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12162 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
12163 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
12164 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_dtor
, 4)
12165 void __thiscall
basic_stringstream_char_dtor(basic_ios_char
*base
)
12167 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12169 TRACE("(%p)\n", this);
12171 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
12172 basic_stringbuf_char_dtor(&this->strbuf
);
12175 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12176 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12177 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vbase_dtor
, 4)
12178 void __thiscall
basic_stringstream_char_vbase_dtor(basic_stringstream_char
*this)
12180 TRACE("(%p)\n", this);
12182 basic_stringstream_char_dtor(basic_stringstream_char_to_basic_ios(this));
12183 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
12186 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vector_dtor
, 8)
12187 basic_stringstream_char
* __thiscall
basic_stringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
12189 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12191 TRACE("(%p %x)\n", this, flags
);
12194 /* we have an array, with the number of elements stored before the first object */
12195 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12197 for(i
=*ptr
-1; i
>=0; i
--)
12198 basic_stringstream_char_vbase_dtor(this+i
);
12199 MSVCRT_operator_delete(ptr
);
12201 basic_stringstream_char_vbase_dtor(this);
12203 MSVCRT_operator_delete(this);
12209 /* ?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 */
12210 /* ?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 */
12211 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_rdbuf
, 4)
12212 basic_stringbuf_char
* __thiscall
basic_stringstream_char_rdbuf(const basic_stringstream_char
*this)
12214 TRACE("(%p)\n", this);
12215 return (basic_stringbuf_char
*)&this->strbuf
;
12218 /* ?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 */
12219 /* ?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 */
12220 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_set
, 8)
12221 void __thiscall
basic_stringstream_char_str_set(basic_stringstream_char
*this, const basic_string_char
*str
)
12223 TRACE("(%p %p)\n", this, str
);
12224 basic_stringbuf_char_str_set(&this->strbuf
, str
);
12227 /* ?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 */
12228 /* ?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 */
12229 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_get
, 8)
12230 basic_string_char
* __thiscall
basic_stringstream_char_str_get(const basic_stringstream_char
*this, basic_string_char
*ret
)
12232 TRACE("(%p %p)\n", this, ret
);
12233 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
12236 static inline basic_ios_wchar
* basic_stringstream_wchar_to_basic_ios(basic_stringstream_wchar
*ptr
)
12238 return (basic_ios_wchar
*)((char*)ptr
+basic_stringstream_wchar_vbtable1
[1]);
12241 static inline basic_stringstream_wchar
* basic_stringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
12243 return (basic_stringstream_wchar
*)((char*)ptr
-basic_stringstream_wchar_vbtable1
[1]);
12246 /* ??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 */
12247 /* ??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 */
12248 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_str
, 16)
12249 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_str(basic_stringstream_wchar
*this,
12250 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
12252 basic_ios_wchar
*basic_ios
;
12254 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12257 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
12258 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
12259 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12260 basic_ios_wchar_ctor(basic_ios
);
12262 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12265 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
);
12266 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12267 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
12271 /* ??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 */
12272 /* ??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 */
12273 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_str
, 16)
12274 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_str(basic_stringstream_wchar
*this,
12275 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
12277 basic_stringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
12278 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_stringstream_short_vtable
;
12282 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
12283 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
12284 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_mode
, 12)
12285 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_mode(
12286 basic_stringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
12288 basic_ios_wchar
*basic_ios
;
12290 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12293 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
12294 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
12295 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12296 basic_ios_wchar_ctor(basic_ios
);
12298 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12301 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
);
12302 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12303 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
12307 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
12308 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
12309 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_mode
, 12)
12310 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_mode(
12311 basic_stringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
12313 basic_stringstream_wchar_ctor_mode(this, mode
, virt_init
);
12314 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_stringstream_short_vtable
;
12318 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12319 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12320 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor
, 8)
12321 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor(
12322 basic_stringstream_wchar
*this, MSVCP_bool virt_init
)
12324 return basic_stringstream_wchar_ctor_mode(
12325 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12328 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12329 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12330 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor
, 8)
12331 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor(
12332 basic_stringstream_wchar
*this, MSVCP_bool virt_init
)
12334 return basic_stringstream_short_ctor_mode(
12335 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12338 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
12339 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
12340 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
12341 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
12342 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_dtor
, 4)
12343 void __thiscall
basic_stringstream_wchar_dtor(basic_ios_wchar
*base
)
12345 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12347 TRACE("(%p)\n", this);
12349 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
12350 basic_stringbuf_wchar_dtor(&this->strbuf
);
12353 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12354 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12355 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12356 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12357 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vbase_dtor
, 4)
12358 void __thiscall
basic_stringstream_wchar_vbase_dtor(basic_stringstream_wchar
*this)
12360 TRACE("(%p)\n", this);
12362 basic_stringstream_wchar_dtor(basic_stringstream_wchar_to_basic_ios(this));
12363 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
12366 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vector_dtor
, 8)
12367 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12369 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12371 TRACE("(%p %x)\n", this, flags
);
12374 /* we have an array, with the number of elements stored before the first object */
12375 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12377 for(i
=*ptr
-1; i
>=0; i
--)
12378 basic_stringstream_wchar_vbase_dtor(this+i
);
12379 MSVCRT_operator_delete(ptr
);
12381 basic_stringstream_wchar_vbase_dtor(this);
12383 MSVCRT_operator_delete(this);
12389 /* ?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 */
12390 /* ?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 */
12391 /* ?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 */
12392 /* ?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 */
12393 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_rdbuf
, 4)
12394 basic_stringbuf_wchar
* __thiscall
basic_stringstream_wchar_rdbuf(const basic_stringstream_wchar
*this)
12396 TRACE("(%p)\n", this);
12397 return (basic_stringbuf_wchar
*)&this->strbuf
;
12400 /* ?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 */
12401 /* ?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 */
12402 /* ?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 */
12403 /* ?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 */
12404 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_set
, 8)
12405 void __thiscall
basic_stringstream_wchar_str_set(basic_stringstream_wchar
*this, const basic_string_wchar
*str
)
12407 TRACE("(%p %p)\n", this, str
);
12408 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12411 /* ?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 */
12412 /* ?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 */
12413 /* ?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 */
12414 /* ?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 */
12415 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_get
, 8)
12416 basic_string_wchar
* __thiscall
basic_stringstream_wchar_str_get(const basic_stringstream_wchar
*this, basic_string_wchar
*ret
)
12418 TRACE("(%p %p)\n", this, ret
);
12419 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12422 /* ?_Init@strstreambuf@std@@IAEXHPAD0H@Z */
12423 /* ?_Init@strstreambuf@std@@IEAAX_JPEAD1H@Z */
12424 DEFINE_THISCALL_WRAPPER(strstreambuf__Init
, 20)
12425 void __thiscall
strstreambuf__Init(strstreambuf
*this, streamsize len
, char *g
, char *p
, int mode
)
12427 TRACE("(%p %ld %p %p %d)\n", this, len
, g
, p
, mode
);
12429 this->minsize
= 32;
12430 this->endsave
= NULL
;
12431 this->strmode
= mode
;
12432 this->palloc
= NULL
;
12433 this->pfree
= NULL
;
12436 this->strmode
|= STRSTATE_Dynamic
;
12437 if(len
> this->minsize
)
12438 this->minsize
= len
;
12439 this->seekhigh
= NULL
;
12448 this->seekhigh
= g
+len
;
12449 basic_streambuf_char_setg(&this->base
, g
, g
, p
? p
: this->seekhigh
);
12451 basic_streambuf_char_setp(&this->base
, p
, this->seekhigh
);
12454 /* ??0strstreambuf@std@@QAE@PACH0@Z */
12455 /* ??0strstreambuf@std@@QEAA@PEAC_J0@Z */
12456 /* ??0strstreambuf@std@@QAE@PADH0@Z */
12457 /* ??0strstreambuf@std@@QEAA@PEAD_J0@Z */
12458 /* ??0strstreambuf@std@@QAE@PAEH0@Z */
12459 /* ??0strstreambuf@std@@QEAA@PEAE_J0@Z */
12460 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get_put
, 16)
12461 strstreambuf
* __thiscall
strstreambuf_ctor_get_put(strstreambuf
*this, char *g
, streamsize len
, char *p
)
12463 TRACE("(%p %p %ld %p)\n", this, g
, len
, p
);
12465 basic_streambuf_char_ctor(&this->base
);
12466 this->base
.vtable
= &MSVCP_strstreambuf_vtable
;
12468 strstreambuf__Init(this, len
, g
, p
, 0);
12472 /* ??0strstreambuf@std@@QAE@H@Z */
12473 /* ??0strstreambuf@std@@QEAA@_J@Z */
12474 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_len
, 8)
12475 strstreambuf
* __thiscall
strstreambuf_ctor_len(strstreambuf
*this, streamsize len
)
12477 return strstreambuf_ctor_get_put(this, NULL
, len
, NULL
);
12480 /* ??0strstreambuf@std@@QAE@P6APAXI@ZP6AXPAX@Z@Z */
12481 /* ??0strstreambuf@std@@QEAA@P6APEAX_K@ZP6AXPEAX@Z@Z */
12482 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_alloc
, 12)
12483 strstreambuf
* __thiscall
strstreambuf_ctor_alloc(strstreambuf
*this, void* (__cdecl
*palloc
)(MSVCP_size_t
), void (__cdecl
*pfree
)(void*))
12485 TRACE("(%p %p %p)\n", this, palloc
, pfree
);
12487 strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12488 this->palloc
= palloc
;
12489 this->pfree
= pfree
;
12493 /* ??0strstreambuf@std@@QAE@PBCH@Z */
12494 /* ??0strstreambuf@std@@QEAA@PEBC_J@Z */
12495 /* ??0strstreambuf@std@@QAE@PBDH@Z */
12496 /* ??0strstreambuf@std@@QEAA@PEBD_J@Z */
12497 /* ??0strstreambuf@std@@QAE@PBEH@Z */
12498 /* ??0strstreambuf@std@@QEAA@PEBE_J@Z */
12499 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get
, 12)
12500 strstreambuf
* __thiscall
strstreambuf_ctor_get(strstreambuf
*this, const char *g
, streamsize len
)
12502 TRACE("(%p %p %ld)\n", this, g
, len
);
12504 strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12505 this->strmode
|= STRSTATE_Constant
;
12509 /* ??_Fstrstreambuf@std@@QAEXXZ */
12510 /* ??_Fstrstreambuf@std@@QEAAXXZ */
12511 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor
, 4)
12512 strstreambuf
* __thiscall
strstreambuf_ctor(strstreambuf
*this)
12514 return strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12517 /* ?_Tidy@strstreambuf@std@@IAEXXZ */
12518 /* ?_Tidy@strstreambuf@std@@IEAAXXZ */
12519 DEFINE_THISCALL_WRAPPER(strstreambuf__Tidy
, 4)
12520 void __thiscall
strstreambuf__Tidy(strstreambuf
*this)
12522 TRACE("(%p)\n", this);
12524 if((this->strmode
& STRSTATE_Allocated
) && !(this->strmode
& STRSTATE_Frozen
)) {
12526 this->pfree(basic_streambuf_char_eback(&this->base
));
12528 MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base
));
12531 this->endsave
= NULL
;
12532 this->seekhigh
= NULL
;
12533 this->strmode
&= ~(STRSTATE_Allocated
| STRSTATE_Frozen
);
12534 basic_streambuf_char_setg(&this->base
, NULL
, NULL
, NULL
);
12535 basic_streambuf_char_setp(&this->base
, NULL
, NULL
);
12538 /* ??1strstreambuf@std@@UAE@XZ */
12539 /* ??1strstreambuf@std@@UEAA@XZ */
12540 DEFINE_THISCALL_WRAPPER(strstreambuf_dtor
, 4)
12541 void __thiscall
strstreambuf_dtor(strstreambuf
*this)
12543 TRACE("(%p)\n", this);
12545 strstreambuf__Tidy(this);
12546 basic_streambuf_char_dtor(&this->base
);
12549 DEFINE_THISCALL_WRAPPER(strstreambuf_vector_dtor
, 8)
12550 strstreambuf
* __thiscall
strstreambuf_vector_dtor(strstreambuf
*this, unsigned int flags
)
12552 TRACE("(%p %x)\n", this, flags
);
12554 /* we have an array, with the number of elements stored before the first object */
12555 INT_PTR i
, *ptr
= (INT_PTR
*)this-1;
12557 for(i
=*ptr
-1; i
>=0; i
--)
12558 strstreambuf_dtor(this+i
);
12559 MSVCRT_operator_delete(ptr
);
12561 strstreambuf_dtor(this);
12563 MSVCRT_operator_delete(this);
12569 /* ?freeze@strstreambuf@std@@QAEX_N@Z */
12570 /* ?freeze@strstreambuf@std@@QEAAX_N@Z */
12571 DEFINE_THISCALL_WRAPPER(strstreambuf_freeze
, 8)
12572 void __thiscall
strstreambuf_freeze(strstreambuf
*this, MSVCP_bool freeze
)
12574 TRACE("(%p %d)\n", this, freeze
);
12576 if(!freeze
== !(this->strmode
*STRSTATE_Frozen
))
12580 this->strmode
|= STRSTATE_Frozen
;
12581 this->endsave
= basic_streambuf_char_epptr(&this->base
);
12582 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12583 basic_streambuf_char_pptr(&this->base
), basic_streambuf_char_eback(&this->base
));
12585 this->strmode
&= ~STRSTATE_Frozen
;
12586 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12587 basic_streambuf_char_pptr(&this->base
), this->endsave
);
12591 /* ?str@strstreambuf@std@@QAEPADXZ */
12592 /* ?str@strstreambuf@std@@QEAAPEADXZ */
12593 DEFINE_THISCALL_WRAPPER(strstreambuf_str
, 4)
12594 char* __thiscall
strstreambuf_str(strstreambuf
*this)
12596 TRACE("(%p)\n", this);
12598 strstreambuf_freeze(this, TRUE
);
12599 return basic_streambuf_char_gptr(&this->base
);
12602 /* ?pcount@strstreambuf@std@@QBEHXZ */
12603 /* ?pcount@strstreambuf@std@@QEBA_JXZ */
12604 DEFINE_THISCALL_WRAPPER(strstreambuf_pcount
, 4)
12605 streamsize __thiscall
strstreambuf_pcount(const strstreambuf
*this)
12607 char *ppos
= basic_streambuf_char_pptr(&this->base
);
12609 TRACE("(%p)\n", this);
12611 return ppos
? ppos
-basic_streambuf_char_pbase(&this->base
) : 0;
12614 /* ?overflow@strstreambuf@std@@MAEHH@Z */
12615 /* ?overflow@strstreambuf@std@@MEAAHH@Z */
12616 DEFINE_THISCALL_WRAPPER(strstreambuf_overflow
, 8)
12617 int __thiscall
strstreambuf_overflow(strstreambuf
*this, int c
)
12619 MSVCP_size_t old_size
, size
;
12622 TRACE("(%p %d)\n", this, c
);
12627 if(this->strmode
& STRSTATE_Frozen
)
12630 ptr
= basic_streambuf_char_pptr(&this->base
);
12631 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
12632 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12634 if(!(this->strmode
& STRSTATE_Dynamic
) || (this->strmode
& STRSTATE_Constant
))
12637 ptr
= basic_streambuf_char_eback(&this->base
);
12638 old_size
= ptr
? basic_streambuf_char_epptr(&this->base
) - ptr
: 0;
12640 size
= old_size
+ old_size
/2;
12641 if(size
< this->minsize
)
12642 size
= this->minsize
;
12645 buf
= this->palloc(size
);
12647 buf
= MSVCRT_operator_new(size
);
12651 memcpy(buf
, ptr
, old_size
);
12652 if(this->strmode
& STRSTATE_Allocated
) {
12656 MSVCRT_operator_delete(ptr
);
12659 this->strmode
|= STRSTATE_Allocated
;
12661 this->seekhigh
= buf
;
12662 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
12663 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
);
12665 this->seekhigh
= this->seekhigh
-ptr
+buf
;
12666 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
)-ptr
+buf
,
12667 basic_streambuf_char_pptr(&this->base
)-ptr
+buf
, buf
+size
);
12668 basic_streambuf_char_setg(&this->base
, buf
, basic_streambuf_char_gptr(&this->base
)-ptr
+buf
,
12669 basic_streambuf_char_pptr(&this->base
));
12672 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12675 /* ?pbackfail@strstreambuf@std@@MAEHH@Z */
12676 /* ?pbackfail@strstreambuf@std@@MEAAHH@Z */
12677 DEFINE_THISCALL_WRAPPER(strstreambuf_pbackfail
, 8)
12678 int __thiscall
strstreambuf_pbackfail(strstreambuf
*this, int c
)
12680 char *ptr
= basic_streambuf_char_gptr(&this->base
);
12682 TRACE("(%p %d)\n", this, c
);
12684 if(ptr
<=basic_streambuf_char_eback(&this->base
)
12685 || ((this->strmode
& STRSTATE_Constant
) && c
!=ptr
[-1]))
12688 basic_streambuf_char_gbump(&this->base
, -1);
12691 if(this->strmode
& STRSTATE_Constant
)
12692 return (unsigned char)c
;
12694 return (unsigned char)(ptr
[0] = c
);
12697 /* ?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JHH@Z */
12698 /* ?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
12699 DEFINE_THISCALL_WRAPPER(strstreambuf_seekoff
, 20)
12700 fpos_int
* __thiscall
strstreambuf_seekoff(strstreambuf
*this, fpos_int
*ret
, streamoff off
, int way
, int mode
)
12702 char *eback
= basic_streambuf_char_eback(&this->base
);
12703 char *pptr
= basic_streambuf_char_pptr(&this->base
);
12704 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12706 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
12711 if(pptr
> this->seekhigh
)
12712 this->seekhigh
= pptr
;
12714 if((mode
& OPENMODE_in
) && gptr
) {
12715 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
12717 else if(way
== SEEKDIR_end
)
12718 off
+= this->seekhigh
-eback
;
12719 else if(way
!= SEEKDIR_beg
)
12722 if(off
<0 || off
>this->seekhigh
-eback
) {
12725 basic_streambuf_char_gbump(&this->base
, eback
-gptr
+off
);
12726 if((mode
& OPENMODE_out
) && pptr
) {
12727 basic_streambuf_char_setp_next(&this->base
, eback
,
12728 gptr
, basic_streambuf_char_epptr(&this->base
));
12731 }else if((mode
& OPENMODE_out
) && pptr
) {
12732 if(way
== SEEKDIR_cur
)
12734 else if(way
== SEEKDIR_end
)
12735 off
+= this->seekhigh
-eback
;
12736 else if(way
!= SEEKDIR_beg
)
12739 if(off
<0 || off
>this->seekhigh
-eback
)
12742 basic_streambuf_char_pbump(&this->base
, eback
-pptr
+off
);
12751 /* ?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z */
12752 /* ?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
12753 DEFINE_THISCALL_WRAPPER(strstreambuf_seekpos
, 36)
12754 fpos_int
* __thiscall
strstreambuf_seekpos(strstreambuf
*this, fpos_int
*ret
, fpos_int pos
, int mode
)
12756 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
12758 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
12763 return strstreambuf_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
12766 /* ?underflow@strstreambuf@std@@MAEHXZ */
12767 /* ?underflow@strstreambuf@std@@MEAAHXZ */
12768 DEFINE_THISCALL_WRAPPER(strstreambuf_underflow
, 4)
12769 int __thiscall
strstreambuf_underflow(strstreambuf
*this)
12771 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12774 TRACE("(%p)\n", this);
12779 if(gptr
< basic_streambuf_char_egptr(&this->base
))
12780 return (unsigned char)(*gptr
);
12782 pptr
= basic_streambuf_char_gptr(&this->base
);
12783 if(pptr
> this->seekhigh
)
12784 this->seekhigh
= pptr
;
12786 if(this->seekhigh
<= gptr
)
12789 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
),
12790 gptr
, this->seekhigh
);
12791 return (unsigned char)(*gptr
);
12794 static void __cdecl
setprecision_func(ios_base
*base
, streamsize prec
)
12796 ios_base_precision_set(base
, prec
);
12799 /* ?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z */
12800 /* ?setprecision@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12801 manip_streamsize
* __cdecl
setprecision(manip_streamsize
*ret
, streamsize prec
)
12803 TRACE("(%p %ld)\n", ret
, prec
);
12805 ret
->pfunc
= setprecision_func
;
12810 static void __cdecl
setw_func(ios_base
*base
, streamsize width
)
12812 ios_base_width_set(base
, width
);
12815 /* ?setw@std@@YA?AU?$_Smanip@H@1@H@Z */
12816 /* ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12817 manip_streamsize
* __cdecl
setw(manip_streamsize
*ret
, streamsize width
)
12819 TRACE("(%p %ld)\n", ret
, width
);
12821 ret
->pfunc
= setw_func
;
12826 static basic_filebuf_char filebuf_char_stdin
;
12827 /* ?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A */
12829 basic_istream_char obj
;
12830 basic_ios_char vbase
;
12832 /* ?_Ptr_cin@std@@3PAV?$basic_istream@DU?$char_traits@D@std@@@1@A */
12833 /* ?_Ptr_cin@std@@3PEAV?$basic_istream@DU?$char_traits@D@std@@@1@EA */
12834 basic_istream_char
*_Ptr_cin
= &cin
.obj
;
12836 static basic_filebuf_wchar filebuf_short_stdin
;
12837 /* ?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A */
12839 basic_istream_wchar obj
;
12840 basic_ios_wchar vbase
;
12841 } ucin
= { { 0 } };
12842 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@GU?$char_traits@G@std@@@1@A */
12843 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@GU?$char_traits@G@std@@@1@EA */
12844 basic_istream_wchar
*_Ptr_ucin
= &ucin
.obj
;
12846 static basic_filebuf_wchar filebuf_wchar_stdin
;
12847 /* ?wcin@std@@3V?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12849 basic_istream_wchar obj
;
12850 basic_ios_wchar vbase
;
12851 } wcin
= { { 0 } };
12852 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12853 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@EA */
12854 basic_istream_wchar
*_Ptr_wcin
= &wcin
.obj
;
12856 static basic_filebuf_char filebuf_char_stdout
;
12857 /* ?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12859 basic_ostream_char obj
;
12860 basic_ios_char vbase
;
12861 } cout
= { { 0 } };
12862 /* ?_Ptr_cout@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12863 /* ?_Ptr_cout@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12864 basic_ostream_char
*_Ptr_cout
= &cout
.obj
;
12866 static basic_filebuf_wchar filebuf_short_stdout
;
12867 /* ?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12869 basic_ostream_wchar obj
;
12870 basic_ios_wchar vbase
;
12871 } ucout
= { { 0 } };
12872 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12873 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12874 basic_ostream_wchar
*_Ptr_ucout
= &ucout
.obj
;
12876 static basic_filebuf_wchar filebuf_wchar_stdout
;
12877 /* ?wcout@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12879 basic_ostream_wchar obj
;
12880 basic_ios_wchar vbase
;
12881 } wcout
= { { 0 } };
12882 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12883 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12884 basic_ostream_wchar
*_Ptr_wcout
= &wcout
.obj
;
12886 static basic_filebuf_char filebuf_char_stderr
;
12887 /* ?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12889 basic_ostream_char obj
;
12890 basic_ios_char vbase
;
12891 } cerr
= { { 0 } };
12892 /* ?_Ptr_cerr@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12893 /* ?_Ptr_cerr@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12894 basic_ostream_char
*_Ptr_cerr
= &cerr
.obj
;
12896 static basic_filebuf_wchar filebuf_short_stderr
;
12897 /* ?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12899 basic_ostream_wchar obj
;
12900 basic_ios_wchar vbase
;
12901 } ucerr
= { { 0 } };
12902 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12903 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12904 basic_ostream_wchar
*_Ptr_ucerr
= &ucerr
.obj
;
12906 static basic_filebuf_wchar filebuf_wchar_stderr
;
12907 /* ?wcerr@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12909 basic_ostream_wchar obj
;
12910 basic_ios_wchar vbase
;
12911 } wcerr
= { { 0 } };
12912 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12913 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12914 basic_ostream_wchar
*_Ptr_wcerr
= &wcerr
.obj
;
12916 static basic_filebuf_char filebuf_char_log
;
12917 /* ?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12919 basic_ostream_char obj
;
12920 basic_ios_char vbase
;
12921 } clog
= { { 0 } };
12922 /* ?_Ptr_clog@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12923 /* ?_Ptr_clog@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12924 basic_ostream_char
*_Ptr_clog
= &clog
.obj
;
12926 static basic_filebuf_wchar filebuf_short_log
;
12927 /* ?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12929 basic_ostream_wchar obj
;
12930 basic_ios_wchar vbase
;
12931 } uclog
= { { 0 } };
12932 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12933 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12934 basic_ostream_wchar
*_Ptr_uclog
= &uclog
.obj
;
12936 static basic_filebuf_wchar filebuf_wchar_log
;
12937 /* ?wclog@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12939 basic_ostream_wchar obj
;
12940 basic_ios_wchar vbase
;
12941 } wclog
= { { 0 } };
12942 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12943 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12944 basic_ostream_wchar
*_Ptr_wclog
= &wclog
.obj
;
12946 void init_io(void *base
)
12949 init_iosb_rtti(base
);
12950 init_ios_base_rtti(base
);
12951 init_basic_ios_char_rtti(base
);
12952 init_basic_ios_wchar_rtti(base
);
12953 init_basic_ios_short_rtti(base
);
12954 init_basic_streambuf_char_rtti(base
);
12955 init_basic_streambuf_wchar_rtti(base
);
12956 init_basic_streambuf_short_rtti(base
);
12957 init_basic_filebuf_char_rtti(base
);
12958 init_basic_filebuf_wchar_rtti(base
);
12959 init_basic_filebuf_short_rtti(base
);
12960 init_basic_stringbuf_char_rtti(base
);
12961 init_basic_stringbuf_wchar_rtti(base
);
12962 init_basic_stringbuf_short_rtti(base
);
12963 init_basic_ostream_char_rtti(base
);
12964 init_basic_ostream_wchar_rtti(base
);
12965 init_basic_ostream_short_rtti(base
);
12966 init_basic_istream_char_rtti(base
);
12967 init_basic_istream_wchar_rtti(base
);
12968 init_basic_istream_short_rtti(base
);
12969 init_basic_iostream_char_rtti(base
);
12970 init_basic_iostream_wchar_rtti(base
);
12971 init_basic_iostream_short_rtti(base
);
12972 init_basic_ofstream_char_rtti(base
);
12973 init_basic_ofstream_wchar_rtti(base
);
12974 init_basic_ofstream_short_rtti(base
);
12975 init_basic_ifstream_char_rtti(base
);
12976 init_basic_ifstream_wchar_rtti(base
);
12977 init_basic_ifstream_short_rtti(base
);
12978 init_basic_fstream_char_rtti(base
);
12979 init_basic_fstream_wchar_rtti(base
);
12980 init_basic_fstream_short_rtti(base
);
12981 init_basic_ostringstream_char_rtti(base
);
12982 init_basic_ostringstream_wchar_rtti(base
);
12983 init_basic_ostringstream_short_rtti(base
);
12984 init_basic_istringstream_char_rtti(base
);
12985 init_basic_istringstream_wchar_rtti(base
);
12986 init_basic_istringstream_short_rtti(base
);
12987 init_basic_stringstream_char_rtti(base
);
12988 init_basic_stringstream_wchar_rtti(base
);
12989 init_basic_stringstream_short_rtti(base
);
12990 init_strstreambuf_rtti(base
);
12993 basic_filebuf_char_ctor_file(&filebuf_char_stdin
, stdin
);
12994 basic_istream_char_ctor(&cin
.obj
, &filebuf_char_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12996 basic_filebuf_short_ctor_file(&filebuf_short_stdin
, stdin
);
12997 basic_istream_short_ctor(&ucin
.obj
, &filebuf_short_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12999 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdin
, stdin
);
13000 basic_istream_wchar_ctor(&wcin
.obj
, &filebuf_wchar_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
13002 basic_filebuf_char_ctor_file(&filebuf_char_stdout
, stdout
);
13003 basic_ostream_char_ctor(&cout
.obj
, &filebuf_char_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
13005 basic_filebuf_short_ctor_file(&filebuf_short_stdout
, stdout
);
13006 basic_ostream_short_ctor(&ucout
.obj
, &filebuf_short_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
13008 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdout
, stdout
);
13009 basic_ostream_wchar_ctor(&wcout
.obj
, &filebuf_wchar_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
13011 basic_filebuf_char_ctor_file(&filebuf_char_stderr
, stderr
);
13012 basic_ostream_char_ctor(&cerr
.obj
, &filebuf_char_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
13014 basic_filebuf_short_ctor_file(&filebuf_short_stderr
, stderr
);
13015 basic_ostream_short_ctor(&ucerr
.obj
, &filebuf_short_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
13017 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stderr
, stderr
);
13018 basic_ostream_wchar_ctor(&wcerr
.obj
, &filebuf_wchar_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
13020 basic_filebuf_char_ctor_file(&filebuf_char_log
, stderr
);
13021 basic_ostream_char_ctor(&clog
.obj
, &filebuf_char_log
.base
, FALSE
/*FIXME*/, TRUE
);
13023 basic_filebuf_short_ctor_file(&filebuf_short_log
, stderr
);
13024 basic_ostream_short_ctor(&uclog
.obj
, &filebuf_short_log
.base
, FALSE
/*FIXME*/, TRUE
);
13026 basic_filebuf_wchar_ctor_file(&filebuf_wchar_log
, stderr
);
13027 basic_ostream_wchar_ctor(&wclog
.obj
, &filebuf_wchar_log
.base
, FALSE
/*FIXME*/, TRUE
);
13032 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&cin
.obj
));
13033 basic_filebuf_char_dtor(&filebuf_char_stdin
);
13035 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&ucin
.obj
));
13036 basic_filebuf_wchar_dtor(&filebuf_short_stdin
);
13038 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&wcin
.obj
));
13039 basic_filebuf_wchar_dtor(&filebuf_wchar_stdin
);
13041 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&cout
.obj
));
13042 basic_filebuf_char_dtor(&filebuf_char_stdout
);
13044 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&ucout
.obj
));
13045 basic_filebuf_wchar_dtor(&filebuf_short_stdout
);
13047 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wcout
.obj
));
13048 basic_filebuf_wchar_dtor(&filebuf_wchar_stdout
);
13050 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&cerr
.obj
));
13051 basic_filebuf_char_dtor(&filebuf_char_stderr
);
13053 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&ucerr
.obj
));
13054 basic_filebuf_wchar_dtor(&filebuf_short_stderr
);
13056 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wcerr
.obj
));
13057 basic_filebuf_wchar_dtor(&filebuf_wchar_stderr
);
13059 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&clog
.obj
));
13060 basic_filebuf_char_dtor(&filebuf_char_log
);
13062 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&uclog
.obj
));
13063 basic_filebuf_wchar_dtor(&filebuf_short_log
);
13065 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wclog
.obj
));
13066 basic_filebuf_wchar_dtor(&filebuf_wchar_log
);