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
;
257 extern const vtable_ptr MSVCP_iosb_vtable
;
259 /* ??_7ios_base@std@@6B@ */
260 extern const vtable_ptr MSVCP_ios_base_vtable
;
262 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
263 extern const vtable_ptr MSVCP_basic_ios_char_vtable
;
265 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
266 extern const vtable_ptr MSVCP_basic_ios_wchar_vtable
;
268 /* ??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@ */
269 extern const vtable_ptr MSVCP_basic_ios_short_vtable
;
271 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
272 extern const vtable_ptr MSVCP_basic_streambuf_char_vtable
;
274 /* ??_7?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@6B@ */
275 extern const vtable_ptr MSVCP_basic_streambuf_wchar_vtable
;
277 /* ??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ */
278 extern const vtable_ptr MSVCP_basic_streambuf_short_vtable
;
280 /* ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ */
281 extern const vtable_ptr MSVCP_basic_filebuf_char_vtable
;
283 /* ??_7?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@6B@ */
284 extern const vtable_ptr MSVCP_basic_filebuf_wchar_vtable
;
286 /* ??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ */
287 extern const vtable_ptr MSVCP_basic_filebuf_short_vtable
;
289 /* ??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
290 extern const vtable_ptr MSVCP_basic_stringbuf_char_vtable
;
292 /* ??_7?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
293 extern const vtable_ptr MSVCP_basic_stringbuf_wchar_vtable
;
295 /* ??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
296 extern const vtable_ptr MSVCP_basic_stringbuf_short_vtable
;
298 /* ??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ */
299 const int basic_ostream_char_vbtable
[] = {0, sizeof(basic_ostream_char
)};
300 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
301 extern const vtable_ptr MSVCP_basic_ostream_char_vtable
;
303 /* ??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@ */
304 const int basic_ostream_wchar_vbtable
[] = {0, sizeof(basic_ostream_wchar
)};
305 /* ??_7?$basic_ostream@_WU?$char_traits@_W@std@@@std@@6B@ */
306 extern const vtable_ptr MSVCP_basic_ostream_wchar_vtable
;
308 /* ??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ */
309 const int basic_ostream_short_vbtable
[] = {0, sizeof(basic_ostream_wchar
)};
310 /* ??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ */
311 extern const vtable_ptr MSVCP_basic_ostream_short_vtable
;
313 /* ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ */
314 const int basic_istream_char_vbtable
[] = {0, sizeof(basic_istream_char
)};
315 /* ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ */
316 extern const vtable_ptr MSVCP_basic_istream_char_vtable
;
318 /* ??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@ */
319 const int basic_istream_wchar_vbtable
[] = {0, sizeof(basic_istream_wchar
)};
320 /* ??_7?$basic_istream@_WU?$char_traits@_W@std@@@std@@6B@ */
321 extern const vtable_ptr MSVCP_basic_istream_wchar_vtable
;
323 /* ??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ */
324 const int basic_istream_short_vbtable
[] = {0, sizeof(basic_istream_wchar
)};
325 /* ??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ */
326 extern const vtable_ptr MSVCP_basic_istream_short_vtable
;
328 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
329 const int basic_iostream_char_vbtable1
[] = {0, sizeof(basic_iostream_char
)};
330 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
331 const int basic_iostream_char_vbtable2
[] = {0, sizeof(basic_iostream_char
)-FIELD_OFFSET(basic_iostream_char
, base2
)};
332 /* ??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ */
333 extern const vtable_ptr MSVCP_basic_iostream_char_vtable
;
335 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
336 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
337 const int basic_iostream_wchar_vbtable1
[] = {0, sizeof(basic_iostream_wchar
)};
338 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
339 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
340 const int basic_iostream_wchar_vbtable2
[] = {0, sizeof(basic_iostream_wchar
)-FIELD_OFFSET(basic_iostream_wchar
, base2
)};
341 /* ??_7?$basic_iostream@_WU?$char_traits@_W@std@@@std@@6B@ */
342 extern const vtable_ptr MSVCP_basic_iostream_wchar_vtable
;
343 /* ??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ */
344 extern const vtable_ptr MSVCP_basic_iostream_short_vtable
;
346 /* ??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ */
347 const int basic_ofstream_char_vbtable
[] = {0, sizeof(basic_ofstream_char
)};
348 /* ??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ */
349 extern const vtable_ptr MSVCP_basic_ofstream_char_vtable
;
351 /* ??_8?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@7B@ */
352 const int basic_ofstream_wchar_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
353 /* ??_7?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@6B@ */
354 extern const vtable_ptr MSVCP_basic_ofstream_wchar_vtable
;
356 /* ??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ */
357 const int basic_ofstream_short_vbtable
[] = {0, sizeof(basic_ofstream_wchar
)};
358 /* ??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ */
359 extern const vtable_ptr MSVCP_basic_ofstream_short_vtable
;
361 /* ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ */
362 const int basic_ifstream_char_vbtable
[] = {0, sizeof(basic_ifstream_char
)};
363 /* ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ */
364 extern const vtable_ptr MSVCP_basic_ifstream_char_vtable
;
366 /* ??_8?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@7B@ */
367 const int basic_ifstream_wchar_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
368 /* ??_7?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@6B@ */
369 extern const vtable_ptr MSVCP_basic_ifstream_wchar_vtable
;
371 /* ??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ */
372 const int basic_ifstream_short_vbtable
[] = {0, sizeof(basic_ifstream_wchar
)};
373 /* ??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ */
374 extern const vtable_ptr MSVCP_basic_ifstream_short_vtable
;
376 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
377 const int basic_fstream_char_vbtable1
[] = {0, sizeof(basic_fstream_char
)};
378 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
379 const int basic_fstream_char_vbtable2
[] = {0, sizeof(basic_fstream_char
)-FIELD_OFFSET(basic_fstream_char
, base
.base2
)};
380 /* ??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ */
381 extern const vtable_ptr MSVCP_basic_fstream_char_vtable
;
383 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
384 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
385 const int basic_fstream_wchar_vbtable1
[] = {0, sizeof(basic_fstream_wchar
)};
386 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
387 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
388 const int basic_fstream_wchar_vbtable2
[] = {0, sizeof(basic_fstream_wchar
)-FIELD_OFFSET(basic_fstream_wchar
, base
.base2
)};
389 /* ??_7?$basic_fstream@_WU?$char_traits@_W@std@@@std@@6B@ */
390 extern const vtable_ptr MSVCP_basic_fstream_wchar_vtable
;
391 /* ??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ */
392 extern const vtable_ptr MSVCP_basic_fstream_short_vtable
;
394 /* ??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
395 const int basic_ostringstream_char_vbtable
[] = {0, sizeof(basic_ostringstream_char
)};
396 /* ??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
397 extern const vtable_ptr MSVCP_basic_ostringstream_char_vtable
;
399 /* ??_8?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
400 const int basic_ostringstream_wchar_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
401 /* ??_7?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
402 extern const vtable_ptr MSVCP_basic_ostringstream_wchar_vtable
;
404 /* ??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
405 const int basic_ostringstream_short_vbtable
[] = {0, sizeof(basic_ostringstream_wchar
)};
406 /* ??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
407 extern const vtable_ptr MSVCP_basic_ostringstream_short_vtable
;
409 /* ??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
410 const int basic_istringstream_char_vbtable
[] = {0, sizeof(basic_istringstream_char
)};
411 /* ??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
412 extern const vtable_ptr MSVCP_basic_istringstream_char_vtable
;
414 /* ??_8?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
415 const int basic_istringstream_wchar_vbtable
[] = {0, sizeof(basic_istringstream_wchar
)};
416 /* ??_7?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
417 extern const vtable_ptr MSVCP_basic_istringstream_wchar_vtable
;
419 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
420 const int basic_stringstream_char_vbtable1
[] = {0, sizeof(basic_stringstream_char
)};
421 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
422 const int basic_stringstream_char_vbtable2
[] = {0, sizeof(basic_stringstream_char
)-FIELD_OFFSET(basic_stringstream_char
, base
.base2
)};
423 /* ??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
424 extern const vtable_ptr MSVCP_basic_stringstream_char_vtable
;
426 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
427 const int basic_stringstream_wchar_vbtable1
[] = {0, sizeof(basic_stringstream_wchar
)};
428 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
429 const int basic_stringstream_wchar_vbtable2
[] = {0, sizeof(basic_stringstream_wchar
)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
430 /* ??_7?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
431 extern const vtable_ptr MSVCP_basic_stringstream_wchar_vtable
;
433 DEFINE_RTTI_DATA0(iosb
, 0, ".?AV?$_Iosb@H@std@@");
434 DEFINE_RTTI_DATA1(ios_base
, 0, &iosb_rtti_base_descriptor
, ".?AV?$_Iosb@H@std@@");
435 DEFINE_RTTI_DATA2(basic_ios_char
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
436 ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@");
437 DEFINE_RTTI_DATA2(basic_ios_wchar
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
438 ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@");
439 DEFINE_RTTI_DATA2(basic_ios_short
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
440 ".?AV?$basic_ios@GU?$char_traits@G@std@@@std@@");
441 DEFINE_RTTI_DATA0(basic_streambuf_char
, 0,
442 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@");
443 DEFINE_RTTI_DATA0(basic_streambuf_wchar
, 0,
444 ".?AV?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@");
445 DEFINE_RTTI_DATA0(basic_streambuf_short
, 0,
446 ".?AV?$basic_streambuf@GU?$char_traits@G@std@@@std@@");
447 DEFINE_RTTI_DATA1(basic_filebuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
448 ".?AV?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@");
449 DEFINE_RTTI_DATA1(basic_filebuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
450 ".?AV?$basic_filebuf@GU?$char_traits@G@std@@@std@@");
451 DEFINE_RTTI_DATA1(basic_filebuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
452 ".?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@");
453 DEFINE_RTTI_DATA1(basic_stringbuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
454 ".?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
455 DEFINE_RTTI_DATA1(basic_stringbuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
456 ".?AV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
457 DEFINE_RTTI_DATA1(basic_stringbuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
458 ".?AV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
459 DEFINE_RTTI_DATA3(basic_ostream_char
, sizeof(basic_ostream_char
), &basic_ios_char_rtti_base_descriptor
,
460 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
461 ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@");
462 DEFINE_RTTI_DATA3(basic_ostream_wchar
, sizeof(basic_ostream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
463 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
464 ".?AV?$basic_ostream@_WU?$char_traits@_W@std@@@std@@");
465 DEFINE_RTTI_DATA3(basic_ostream_short
, sizeof(basic_ostream_wchar
), &basic_ios_short_rtti_base_descriptor
,
466 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
467 ".?AV?$basic_ostream@GU?$char_traits@G@std@@@std@@");
468 DEFINE_RTTI_DATA3(basic_istream_char
, sizeof(basic_istream_char
), &basic_ios_char_rtti_base_descriptor
,
469 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
470 ".?AV?$basic_istream@DU?$char_traits@D@std@@@std@@");
471 DEFINE_RTTI_DATA3(basic_istream_wchar
, sizeof(basic_istream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
472 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
473 ".?AV?$basic_istream@_WU?$char_traits@_W@std@@@std@@");
474 DEFINE_RTTI_DATA3(basic_istream_short
, sizeof(basic_istream_wchar
), &basic_ios_short_rtti_base_descriptor
,
475 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
476 ".?AV?$basic_istream@GU?$char_traits@G@std@@@std@@");
477 DEFINE_RTTI_DATA8(basic_iostream_char
, sizeof(basic_iostream_char
),
478 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
479 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
480 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
481 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
482 ".?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@");
483 DEFINE_RTTI_DATA8(basic_iostream_wchar
, sizeof(basic_iostream_wchar
),
484 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
485 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
486 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
487 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
488 ".?AV?$basic_iostream@_WU?$char_traits@_W@std@@@std@@");
489 DEFINE_RTTI_DATA8(basic_iostream_short
, sizeof(basic_iostream_wchar
),
490 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
491 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
492 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
493 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
494 ".?AV?$basic_iostream@GU?$char_traits@G@std@@@std@@");
495 DEFINE_RTTI_DATA4(basic_ofstream_char
, sizeof(basic_ofstream_char
),
496 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
497 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
498 ".?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@");
499 DEFINE_RTTI_DATA4(basic_ofstream_wchar
, sizeof(basic_ofstream_wchar
),
500 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
501 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
502 ".?AV?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@");
503 DEFINE_RTTI_DATA4(basic_ofstream_short
, sizeof(basic_ofstream_wchar
),
504 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
505 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
506 ".?AV?$basic_ofstream@GU?$char_traits@G@std@@@std@@");
507 DEFINE_RTTI_DATA4(basic_ifstream_char
, sizeof(basic_ifstream_char
),
508 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
509 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
510 ".?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@");
511 DEFINE_RTTI_DATA4(basic_ifstream_wchar
, sizeof(basic_ifstream_wchar
),
512 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
513 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
514 ".?AV?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@");
515 DEFINE_RTTI_DATA4(basic_ifstream_short
, sizeof(basic_ifstream_wchar
),
516 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
517 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
518 ".?AV?$basic_ifstream@GU?$char_traits@G@std@@@std@@");
519 DEFINE_RTTI_DATA8(basic_fstream_char
, sizeof(basic_fstream_char
),
520 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
521 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
522 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
523 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
524 ".?AV?$basic_fstream@DU?$char_traits@D@std@@@std@@");
525 DEFINE_RTTI_DATA8(basic_fstream_wchar
, sizeof(basic_fstream_wchar
),
526 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
527 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
528 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
529 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
530 ".?AV?$basic_fstream@_WU?$char_traits@_W@std@@@std@@");
531 DEFINE_RTTI_DATA8(basic_fstream_short
, sizeof(basic_fstream_wchar
),
532 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
533 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
534 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
535 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
536 ".?AV?$basic_fstream@GU?$char_traits@G@std@@@std@@");
537 DEFINE_RTTI_DATA4(basic_ostringstream_char
, sizeof(basic_ostringstream_char
),
538 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
539 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
540 ".?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
541 DEFINE_RTTI_DATA4(basic_ostringstream_wchar
, sizeof(basic_ostringstream_wchar
),
542 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
543 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
544 ".?AV?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
545 DEFINE_RTTI_DATA4(basic_ostringstream_short
, sizeof(basic_ostringstream_wchar
),
546 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
547 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
548 ".?AV?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
549 DEFINE_RTTI_DATA4(basic_istringstream_char
, sizeof(basic_istringstream_char
),
550 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
551 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
552 ".?AV?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
553 DEFINE_RTTI_DATA4(basic_istringstream_wchar
, sizeof(basic_istringstream_wchar
),
554 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
555 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
556 ".?AV?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
557 DEFINE_RTTI_DATA8(basic_stringstream_char
, sizeof(basic_stringstream_char
),
558 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
559 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
560 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
561 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
562 ".?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
563 DEFINE_RTTI_DATA8(basic_stringstream_wchar
, sizeof(basic_stringstream_wchar
),
564 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
565 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
566 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
567 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
568 ".?AV?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
571 void __asm_dummy_vtables(void) {
573 __ASM_VTABLE(iosb
, "");
574 __ASM_VTABLE(ios_base
, "");
575 __ASM_VTABLE(basic_ios_char
, "");
576 __ASM_VTABLE(basic_ios_wchar
, "");
577 __ASM_VTABLE(basic_ios_short
, "");
578 __ASM_VTABLE(basic_streambuf_char
,
579 VTABLE_ADD_FUNC(basic_streambuf_char_overflow
)
580 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail
)
581 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
582 VTABLE_ADD_FUNC(basic_streambuf_char_underflow
)
583 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
584 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
585 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
586 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
587 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff
)
588 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos
)
589 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
590 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
591 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
592 __ASM_VTABLE(basic_streambuf_wchar
,
593 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
594 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
595 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
596 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
597 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
598 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
599 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
600 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
601 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
602 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
603 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
604 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
605 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
606 __ASM_VTABLE(basic_streambuf_short
,
607 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
608 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
609 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
610 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
611 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
612 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
613 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
614 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
615 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
616 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
617 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
618 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
619 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
620 __ASM_VTABLE(basic_filebuf_char
,
621 VTABLE_ADD_FUNC(basic_filebuf_char_overflow
)
622 VTABLE_ADD_FUNC(basic_filebuf_char_pbackfail
)
623 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
624 VTABLE_ADD_FUNC(basic_filebuf_char_underflow
)
625 VTABLE_ADD_FUNC(basic_filebuf_char_uflow
)
626 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
627 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
628 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
629 VTABLE_ADD_FUNC(basic_filebuf_char_seekoff
)
630 VTABLE_ADD_FUNC(basic_filebuf_char_seekpos
)
631 VTABLE_ADD_FUNC(basic_filebuf_char_setbuf
)
632 VTABLE_ADD_FUNC(basic_filebuf_char_sync
)
633 VTABLE_ADD_FUNC(basic_filebuf_char_imbue
));
634 __ASM_VTABLE(basic_filebuf_wchar
,
635 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
636 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
637 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
638 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
639 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
640 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
641 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
642 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
643 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
644 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
645 VTABLE_ADD_FUNC(basic_filebuf_wchar_setbuf
)
646 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
647 VTABLE_ADD_FUNC(basic_filebuf_wchar_imbue
));
648 __ASM_VTABLE(basic_filebuf_short
,
649 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
650 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
651 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
652 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
653 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
654 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
655 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
656 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
657 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
658 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
659 VTABLE_ADD_FUNC(basic_filebuf_short_setbuf
)
660 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
661 VTABLE_ADD_FUNC(basic_filebuf_short_imbue
));
662 __ASM_VTABLE(basic_stringbuf_char
,
663 VTABLE_ADD_FUNC(basic_stringbuf_char_overflow
)
664 VTABLE_ADD_FUNC(basic_stringbuf_char_pbackfail
)
665 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
666 VTABLE_ADD_FUNC(basic_stringbuf_char_underflow
)
667 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
668 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
669 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s
)
670 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
671 VTABLE_ADD_FUNC(basic_stringbuf_char_seekoff
)
672 VTABLE_ADD_FUNC(basic_stringbuf_char_seekpos
)
673 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
674 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
675 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
676 __ASM_VTABLE(basic_stringbuf_wchar
,
677 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
678 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
679 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
680 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
681 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
682 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
683 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
684 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
685 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
686 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
687 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
688 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
689 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
690 __ASM_VTABLE(basic_stringbuf_short
,
691 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
692 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
693 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
694 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
695 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
696 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
697 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s
)
698 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
699 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
700 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
701 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
702 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
703 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
704 __ASM_VTABLE(basic_ostream_char
, "");
705 __ASM_VTABLE(basic_ostream_wchar
, "");
706 __ASM_VTABLE(basic_ostream_short
, "");
707 __ASM_VTABLE(basic_istream_char
, "");
708 __ASM_VTABLE(basic_istream_wchar
, "");
709 __ASM_VTABLE(basic_istream_short
, "");
710 __ASM_VTABLE(basic_iostream_char
, "");
711 __ASM_VTABLE(basic_iostream_wchar
, "");
712 __ASM_VTABLE(basic_iostream_short
, "");
713 __ASM_VTABLE(basic_ofstream_char
, "");
714 __ASM_VTABLE(basic_ofstream_wchar
, "");
715 __ASM_VTABLE(basic_ofstream_short
, "");
716 __ASM_VTABLE(basic_ifstream_char
, "");
717 __ASM_VTABLE(basic_ifstream_wchar
, "");
718 __ASM_VTABLE(basic_ifstream_short
, "");
719 __ASM_VTABLE(basic_fstream_char
, "");
720 __ASM_VTABLE(basic_fstream_wchar
, "");
721 __ASM_VTABLE(basic_fstream_short
, "");
722 __ASM_VTABLE(basic_ostringstream_char
, "");
723 __ASM_VTABLE(basic_ostringstream_wchar
, "");
724 __ASM_VTABLE(basic_ostringstream_short
, "");
725 __ASM_VTABLE(basic_istringstream_char
, "");
726 __ASM_VTABLE(basic_istringstream_wchar
, "");
727 __ASM_VTABLE(basic_stringstream_char
, "");
728 __ASM_VTABLE(basic_stringstream_wchar
, "");
733 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
734 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
735 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next
, 16)
736 void __thiscall
basic_streambuf_char_setp_next(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
738 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
742 this->wsize
= last
-next
;
745 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
746 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
747 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp
, 12)
748 void __thiscall
basic_streambuf_char_setp(basic_streambuf_char
*this, char *first
, char *last
)
750 basic_streambuf_char_setp_next(this, first
, first
, last
);
753 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
754 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
755 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg
, 16)
756 void __thiscall
basic_streambuf_char_setg(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
758 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
762 this->rsize
= last
-next
;
765 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
766 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
767 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty
, 4)
768 void __thiscall
basic_streambuf_char__Init_empty(basic_streambuf_char
*this)
770 TRACE("(%p)\n", this);
772 this->prbuf
= &this->rbuf
;
773 this->pwbuf
= &this->wbuf
;
774 this->prpos
= &this->rpos
;
775 this->pwpos
= &this->wpos
;
776 this->prsize
= &this->rsize
;
777 this->pwsize
= &this->wsize
;
779 basic_streambuf_char_setp(this, NULL
, NULL
);
780 basic_streambuf_char_setg(this, NULL
, NULL
, NULL
);
783 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
784 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
785 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized
, 8)
786 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor_uninitialized(basic_streambuf_char
*this, int uninitialized
)
788 TRACE("(%p %d)\n", this, uninitialized
);
789 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
790 mutex_ctor(&this->lock
);
794 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
795 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
796 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor
, 4)
797 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor(basic_streambuf_char
*this)
799 TRACE("(%p)\n", this);
801 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
802 mutex_ctor(&this->lock
);
803 this->loc
= MSVCRT_operator_new(sizeof(locale
));
804 locale_ctor(this->loc
);
805 basic_streambuf_char__Init_empty(this);
810 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
811 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
812 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor
, 4)
813 void __thiscall
basic_streambuf_char_dtor(basic_streambuf_char
*this)
815 TRACE("(%p)\n", this);
817 mutex_dtor(&this->lock
);
818 locale_dtor(this->loc
);
819 MSVCRT_operator_delete(this->loc
);
822 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_char_vector_dtor
, 8)
823 basic_streambuf_char
* __thiscall
MSVCP_basic_streambuf_char_vector_dtor(basic_streambuf_char
*this, unsigned int flags
)
825 TRACE("(%p %x)\n", this, flags
);
827 /* we have an array, with the number of elements stored before the first object */
828 int i
, *ptr
= (int *)this-1;
830 for(i
=*ptr
-1; i
>=0; i
--)
831 basic_streambuf_char_dtor(this+i
);
832 MSVCRT_operator_delete(ptr
);
834 basic_streambuf_char_dtor(this);
836 MSVCRT_operator_delete(this);
842 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
843 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
844 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnavail
, 4)
845 streamsize __thiscall
basic_streambuf_char__Gnavail(const basic_streambuf_char
*this)
847 TRACE("(%p)\n", this);
848 return *this->prpos
? *this->prsize
: 0;
851 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
852 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
853 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec
, 4)
854 char* __thiscall
basic_streambuf_char__Gndec(basic_streambuf_char
*this)
856 TRACE("(%p)\n", this);
862 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
863 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
864 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc
, 4)
865 char* __thiscall
basic_streambuf_char__Gninc(basic_streambuf_char
*this)
867 TRACE("(%p)\n", this);
869 return (*this->prpos
)++;
872 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
873 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
874 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnpreinc
, 4)
875 char* __thiscall
basic_streambuf_char__Gnpreinc(basic_streambuf_char
*this)
877 TRACE("(%p)\n", this);
883 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
884 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
885 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init
, 28)
886 void __thiscall
basic_streambuf_char__Init(basic_streambuf_char
*this, char **gf
, char **gn
, int *gc
, char **pf
, char **pn
, int *pc
)
888 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
898 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
899 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
900 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock
, 4)
901 void __thiscall
basic_streambuf_char__Lock(basic_streambuf_char
*this)
903 TRACE("(%p)\n", this);
904 mutex_lock(&this->lock
);
907 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
908 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
909 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pnavail
, 4)
910 streamsize __thiscall
basic_streambuf_char__Pnavail(const basic_streambuf_char
*this)
912 TRACE("(%p)\n", this);
913 return *this->pwpos
? *this->pwsize
: 0;
916 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
917 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
918 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc
, 4)
919 char* __thiscall
basic_streambuf_char__Pninc(basic_streambuf_char
*this)
921 TRACE("(%p)\n", this);
923 return (*this->pwpos
)++;
926 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
927 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
928 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow
, 4)
929 #define call_basic_streambuf_char_underflow(this) CALL_VTBL_FUNC(this, 16, \
930 int, (basic_streambuf_char*), (this))
931 int __thiscall
basic_streambuf_char_underflow(basic_streambuf_char
*this)
933 TRACE("(%p)\n", this);
937 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
938 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
939 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow
, 4)
940 #define call_basic_streambuf_char_uflow(this) CALL_VTBL_FUNC(this, 20, \
941 int, (basic_streambuf_char*), (this))
942 int __thiscall
basic_streambuf_char_uflow(basic_streambuf_char
*this)
946 TRACE("(%p)\n", this);
948 if(call_basic_streambuf_char_underflow(this)==EOF
)
957 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
958 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
959 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s
, 16)
960 #define call_basic_streambuf_char__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
961 streamsize, (basic_streambuf_char*, char*, MSVCP_size_t, streamsize), (this, ptr, size, count))
962 streamsize __thiscall
basic_streambuf_char__Xsgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
964 streamsize copied
, chunk
;
967 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
969 for(copied
=0; copied
<count
&& size
;) {
970 chunk
= basic_streambuf_char__Gnavail(this);
971 if(chunk
> count
-copied
)
972 chunk
= count
-copied
;
975 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
976 *this->prpos
+= chunk
;
977 *this->prsize
-= chunk
;
980 }else if((c
= call_basic_streambuf_char_uflow(this)) != EOF
) {
992 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
993 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
994 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s
, 16)
995 streamsize __thiscall
basic_streambuf_char__Sgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
997 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
998 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, size
, count
);
1001 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1002 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1003 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock
, 4)
1004 void __thiscall
basic_streambuf_char__Unlock(basic_streambuf_char
*this)
1006 TRACE("(%p)\n", this);
1007 mutex_unlock(&this->lock
);
1010 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1011 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1012 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback
, 4)
1013 char* __thiscall
basic_streambuf_char_eback(const basic_streambuf_char
*this)
1015 TRACE("(%p)\n", this);
1016 return *this->prbuf
;
1019 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1020 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1021 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr
, 4)
1022 char* __thiscall
basic_streambuf_char_gptr(const basic_streambuf_char
*this)
1024 TRACE("(%p)\n", this);
1025 return *this->prpos
;
1028 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1029 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1030 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr
, 4)
1031 char* __thiscall
basic_streambuf_char_egptr(const basic_streambuf_char
*this)
1033 TRACE("(%p)\n", this);
1034 return *this->prpos
+*this->prsize
;
1037 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1038 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1039 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr
, 4)
1040 char* __thiscall
basic_streambuf_char_epptr(const basic_streambuf_char
*this)
1042 TRACE("(%p)\n", this);
1043 return *this->pwpos
+*this->pwsize
;
1046 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1047 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1048 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump
, 8)
1049 void __thiscall
basic_streambuf_char_gbump(basic_streambuf_char
*this, int off
)
1051 TRACE("(%p %d)\n", this, off
);
1052 *this->prpos
+= off
;
1053 *this->prsize
-= off
;
1056 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
1057 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
1058 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc
, 8)
1059 locale
* __thiscall
basic_streambuf_char_getloc(const basic_streambuf_char
*this, locale
*ret
)
1061 TRACE("(%p)\n", this);
1062 return locale_copy_ctor(ret
, this->loc
);
1065 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
1066 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
1067 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue
, 8)
1068 #define call_basic_streambuf_char_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
1069 void, (basic_streambuf_char*, const locale*), (this, loc))
1070 void __thiscall
basic_streambuf_char_imbue(basic_streambuf_char
*this, const locale
*loc
)
1072 TRACE("(%p %p)\n", this, loc
);
1075 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1076 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1077 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow
, 8)
1078 #define call_basic_streambuf_char_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1079 int, (basic_streambuf_char*, int), (this, ch))
1080 int __thiscall
basic_streambuf_char_overflow(basic_streambuf_char
*this, int ch
)
1082 TRACE("(%p %d)\n", this, ch
);
1086 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1087 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1088 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail
, 8)
1089 #define call_basic_streambuf_char_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1090 int, (basic_streambuf_char*, int), (this, ch))
1091 int __thiscall
basic_streambuf_char_pbackfail(basic_streambuf_char
*this, int ch
)
1093 TRACE("(%p %d)\n", this, ch
);
1097 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1098 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1099 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase
, 4)
1100 char* __thiscall
basic_streambuf_char_pbase(const basic_streambuf_char
*this)
1102 TRACE("(%p)\n", this);
1103 return *this->pwbuf
;
1106 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1107 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1108 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump
, 8)
1109 void __thiscall
basic_streambuf_char_pbump(basic_streambuf_char
*this, int off
)
1111 TRACE("(%p %d)\n", this, off
);
1112 *this->pwpos
+= off
;
1113 *this->pwsize
-= off
;
1116 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1117 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1118 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr
, 4)
1119 char* __thiscall
basic_streambuf_char_pptr(const basic_streambuf_char
*this)
1121 TRACE("(%p)\n", this);
1122 return *this->pwpos
;
1125 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1126 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1127 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue
, 12)
1128 locale
* __thiscall
basic_streambuf_char_pubimbue(basic_streambuf_char
*this, locale
*ret
, const locale
*loc
)
1130 TRACE("(%p %p)\n", this, loc
);
1131 memcpy(ret
, this->loc
, sizeof(locale
));
1132 call_basic_streambuf_char_imbue(this, loc
);
1133 locale_copy_ctor(this->loc
, loc
);
1137 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1138 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1139 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff
, 20)
1140 #define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
1141 fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1142 fpos_int
* __thiscall
basic_streambuf_char_seekoff(basic_streambuf_char
*this,
1143 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1145 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1152 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1153 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1154 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff
, 20)
1155 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff(basic_streambuf_char
*this,
1156 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1158 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1159 return call_basic_streambuf_char_seekoff(this, ret
, off
, way
, mode
);
1162 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1163 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1164 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old
, 20)
1165 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff_old(basic_streambuf_char
*this,
1166 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
1168 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1169 return basic_streambuf_char_pubseekoff(this, ret
, off
, way
, mode
);
1172 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1173 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1174 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos
, 36)
1175 #define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
1176 fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1177 fpos_int
* __thiscall
basic_streambuf_char_seekpos(basic_streambuf_char
*this,
1178 fpos_int
*ret
, fpos_int pos
, int mode
)
1180 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1187 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1188 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1189 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos
, 36)
1190 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos(basic_streambuf_char
*this,
1191 fpos_int
*ret
, fpos_int pos
, int mode
)
1193 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1194 return call_basic_streambuf_char_seekpos(this, ret
, pos
, mode
);
1197 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1198 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1199 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old
, 36)
1200 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos_old(basic_streambuf_char
*this,
1201 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
1203 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1204 return basic_streambuf_char_pubseekpos(this, ret
, pos
, mode
);
1207 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
1208 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
1209 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf
, 12)
1210 #define call_basic_streambuf_char_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
1211 basic_streambuf_char*, (basic_streambuf_char*, char*, streamsize), (this, buf, count))
1212 basic_streambuf_char
* __thiscall
basic_streambuf_char_setbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1214 TRACE("(%p %p %ld)\n", this, buf
, count
);
1218 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
1219 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
1220 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf
, 12)
1221 basic_streambuf_char
* __thiscall
basic_streambuf_char_pubsetbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1223 TRACE("(%p %p %ld)\n", this, buf
, count
);
1224 return call_basic_streambuf_char_setbuf(this, buf
, count
);
1227 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1228 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1229 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync
, 4)
1230 #define call_basic_streambuf_char_sync(this) CALL_VTBL_FUNC(this, 48, \
1231 int, (basic_streambuf_char*), (this))
1232 int __thiscall
basic_streambuf_char_sync(basic_streambuf_char
*this)
1234 TRACE("(%p)\n", this);
1238 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1239 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1240 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync
, 4)
1241 int __thiscall
basic_streambuf_char_pubsync(basic_streambuf_char
*this)
1243 TRACE("(%p)\n", this);
1244 return call_basic_streambuf_char_sync(this);
1247 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
1248 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
1249 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn
, 12)
1250 streamsize __thiscall
basic_streambuf_char_sgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1252 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1253 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1256 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1257 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
1258 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc
, 4)
1259 #define call_basic_streambuf_char_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
1260 streamsize, (basic_streambuf_char*), (this))
1261 streamsize __thiscall
basic_streambuf_char_showmanyc(basic_streambuf_char
*this)
1263 TRACE("(%p)\n", this);
1267 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1268 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
1269 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail
, 4)
1270 streamsize __thiscall
basic_streambuf_char_in_avail(basic_streambuf_char
*this)
1274 TRACE("(%p)\n", this);
1276 ret
= basic_streambuf_char__Gnavail(this);
1277 return ret
? ret
: call_basic_streambuf_char_showmanyc(this);
1280 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1281 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1282 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc
, 8)
1283 int __thiscall
basic_streambuf_char_sputbackc(basic_streambuf_char
*this, char ch
)
1285 TRACE("(%p %d)\n", this, ch
);
1286 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
1292 return call_basic_streambuf_char_pbackfail(this, ch
);
1295 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1296 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1297 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc
, 8)
1298 int __thiscall
basic_streambuf_char_sputc(basic_streambuf_char
*this, char ch
)
1300 TRACE("(%p %d)\n", this, ch
);
1301 return basic_streambuf_char__Pnavail(this) ?
1302 (*basic_streambuf_char__Pninc(this) = ch
) :
1303 call_basic_streambuf_char_overflow(this, ch
);
1306 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1307 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1308 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc
, 4)
1309 int __thiscall
basic_streambuf_char_sungetc(basic_streambuf_char
*this)
1311 TRACE("(%p)\n", this);
1312 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
1315 return **this->prpos
;
1318 return call_basic_streambuf_char_pbackfail(this, EOF
);
1321 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1322 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1323 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc
, 4)
1324 void __thiscall
basic_streambuf_char_stossc(basic_streambuf_char
*this)
1326 TRACE("(%p)\n", this);
1327 if(basic_streambuf_char__Gnavail(this))
1328 basic_streambuf_char__Gninc(this);
1330 call_basic_streambuf_char_uflow(this);
1333 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1334 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1335 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc
, 4)
1336 int __thiscall
basic_streambuf_char_sbumpc(basic_streambuf_char
*this)
1338 TRACE("(%p)\n", this);
1339 return basic_streambuf_char__Gnavail(this) ?
1340 *basic_streambuf_char__Gninc(this) : call_basic_streambuf_char_uflow(this);
1343 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1344 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1345 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc
, 4)
1346 int __thiscall
basic_streambuf_char_sgetc(basic_streambuf_char
*this)
1348 TRACE("(%p)\n", this);
1349 return basic_streambuf_char__Gnavail(this) ?
1350 *basic_streambuf_char_gptr(this) : call_basic_streambuf_char_underflow(this);
1353 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1354 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1355 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc
, 4)
1356 int __thiscall
basic_streambuf_char_snextc(basic_streambuf_char
*this)
1358 TRACE("(%p)\n", this);
1360 if(basic_streambuf_char__Gnavail(this) > 1)
1361 return *basic_streambuf_char__Gnpreinc(this);
1362 return basic_streambuf_char_sbumpc(this)==EOF
?
1363 EOF
: basic_streambuf_char_sgetc(this);
1366 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
1367 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
1368 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn
, 12)
1369 #define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
1370 streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
1371 streamsize __thiscall
basic_streambuf_char_xsgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1373 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1374 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1377 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
1378 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
1379 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn
, 12)
1380 #define call_basic_streambuf_char_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
1381 streamsize, (basic_streambuf_char*, const char*, streamsize), (this, ptr, count))
1382 streamsize __thiscall
basic_streambuf_char_xsputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1384 streamsize copied
, chunk
;
1386 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1388 for(copied
=0; copied
<count
;) {
1389 chunk
= basic_streambuf_char__Pnavail(this);
1390 if(chunk
> count
-copied
)
1391 chunk
= count
-copied
;
1394 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
1395 *this->pwpos
+= chunk
;
1396 *this->pwsize
-= chunk
;
1398 }else if(call_basic_streambuf_char_overflow(this, ptr
[copied
]) != EOF
) {
1408 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
1409 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
1410 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn
, 12)
1411 streamsize __thiscall
basic_streambuf_char_sputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1413 TRACE("(%p %p %ld)\n", this, ptr
, count
);
1414 return call_basic_streambuf_char_xsputn(this, ptr
, count
);
1417 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1418 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1419 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1420 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1421 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp_next
, 16)
1422 void __thiscall
basic_streambuf_wchar_setp_next(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1424 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1428 this->wsize
= last
-next
;
1431 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W0@Z */
1432 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z */
1433 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z */
1434 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z */
1435 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp
, 12)
1436 void __thiscall
basic_streambuf_wchar_setp(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *last
)
1438 basic_streambuf_wchar_setp_next(this, first
, first
, last
);
1441 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1442 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1443 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1444 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1445 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setg
, 16)
1446 void __thiscall
basic_streambuf_wchar_setg(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1448 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1452 this->rsize
= last
-next
;
1455 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXXZ */
1456 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXXZ */
1457 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
1458 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
1459 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init_empty
, 4)
1460 void __thiscall
basic_streambuf_wchar__Init_empty(basic_streambuf_wchar
*this)
1462 TRACE("(%p)\n", this);
1464 this->prbuf
= &this->rbuf
;
1465 this->pwbuf
= &this->wbuf
;
1466 this->prpos
= &this->rpos
;
1467 this->pwpos
= &this->wpos
;
1468 this->prsize
= &this->rsize
;
1469 this->pwsize
= &this->wsize
;
1471 basic_streambuf_wchar_setp(this, NULL
, NULL
);
1472 basic_streambuf_wchar_setg(this, NULL
, NULL
, NULL
);
1475 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1476 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1477 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor_uninitialized
, 8)
1478 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1480 TRACE("(%p %d)\n", this, uninitialized
);
1481 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1482 mutex_ctor(&this->lock
);
1486 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1487 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1488 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor_uninitialized
, 8)
1489 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1491 TRACE("(%p %d)\n", this, uninitialized
);
1492 basic_streambuf_wchar_ctor_uninitialized(this, uninitialized
);
1493 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1497 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
1498 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
1499 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor
, 4)
1500 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor(basic_streambuf_wchar
*this)
1502 TRACE("(%p)\n", this);
1504 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1505 mutex_ctor(&this->lock
);
1506 this->loc
= MSVCRT_operator_new(sizeof(locale
));
1507 locale_ctor(this->loc
);
1508 basic_streambuf_wchar__Init_empty(this);
1513 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ */
1514 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ */
1515 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor
, 4)
1516 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor(basic_streambuf_wchar
*this)
1518 TRACE("(%p)\n", this);
1519 basic_streambuf_wchar_ctor(this);
1520 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1524 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
1525 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
1526 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
1527 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
1528 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_dtor
, 4)
1529 void __thiscall
basic_streambuf_wchar_dtor(basic_streambuf_wchar
*this)
1531 TRACE("(%p)\n", this);
1533 mutex_dtor(&this->lock
);
1534 locale_dtor(this->loc
);
1535 MSVCRT_operator_delete(this->loc
);
1538 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_wchar_vector_dtor
, 8)
1539 basic_streambuf_wchar
* __thiscall
MSVCP_basic_streambuf_wchar_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1541 TRACE("(%p %x)\n", this, flags
);
1543 /* we have an array, with the number of elements stored before the first object */
1544 int i
, *ptr
= (int *)this-1;
1546 for(i
=*ptr
-1; i
>=0; i
--)
1547 basic_streambuf_wchar_dtor(this+i
);
1548 MSVCRT_operator_delete(ptr
);
1550 basic_streambuf_wchar_dtor(this);
1552 MSVCRT_operator_delete(this);
1558 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_short_vector_dtor
, 8)
1559 basic_streambuf_wchar
* __thiscall
MSVCP_basic_streambuf_short_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1561 TRACE("(%p %x)\n", this, flags
);
1562 return MSVCP_basic_streambuf_wchar_vector_dtor(this, flags
);
1565 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1566 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1567 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1568 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1569 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnavail
, 4)
1570 streamsize __thiscall
basic_streambuf_wchar__Gnavail(const basic_streambuf_wchar
*this)
1572 TRACE("(%p)\n", this);
1573 return *this->prpos
? *this->prsize
: 0;
1576 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1577 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1578 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1579 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1580 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gndec
, 4)
1581 wchar_t* __thiscall
basic_streambuf_wchar__Gndec(basic_streambuf_wchar
*this)
1583 TRACE("(%p)\n", this);
1586 return *this->prpos
;
1589 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1590 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1591 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1592 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1593 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gninc
, 4)
1594 wchar_t* __thiscall
basic_streambuf_wchar__Gninc(basic_streambuf_wchar
*this)
1596 TRACE("(%p)\n", this);
1598 return (*this->prpos
)++;
1601 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1602 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1603 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1604 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1605 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnpreinc
, 4)
1606 wchar_t* __thiscall
basic_streambuf_wchar__Gnpreinc(basic_streambuf_wchar
*this)
1608 TRACE("(%p)\n", this);
1611 return *this->prpos
;
1614 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPAPA_W0PAH001@Z */
1615 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAPEA_W0PEAH001@Z */
1616 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z */
1617 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z */
1618 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init
, 28)
1619 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
)
1621 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1631 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1632 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1633 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1634 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1635 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Lock
, 4)
1636 void __thiscall
basic_streambuf_wchar__Lock(basic_streambuf_wchar
*this)
1638 TRACE("(%p)\n", this);
1639 mutex_lock(&this->lock
);
1642 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1643 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1644 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1645 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1646 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pnavail
, 4)
1647 streamsize __thiscall
basic_streambuf_wchar__Pnavail(const basic_streambuf_wchar
*this)
1649 TRACE("(%p)\n", this);
1650 return *this->pwpos
? *this->pwsize
: 0;
1653 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1654 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1655 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1656 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1657 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pninc
, 4)
1658 wchar_t* __thiscall
basic_streambuf_wchar__Pninc(basic_streambuf_wchar
*this)
1660 TRACE("(%p)\n", this);
1662 return (*this->pwpos
)++;
1665 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1666 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1667 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1668 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1669 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_underflow
, 4)
1670 #define call_basic_streambuf_wchar_underflow(this) CALL_VTBL_FUNC(this, 16, \
1671 unsigned short, (basic_streambuf_wchar*), (this))
1672 unsigned short __thiscall
basic_streambuf_wchar_underflow(basic_streambuf_wchar
*this)
1674 TRACE("(%p)\n", this);
1678 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1679 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1680 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1681 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1682 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_uflow
, 4)
1683 #define call_basic_streambuf_wchar_uflow(this) CALL_VTBL_FUNC(this, 20, \
1684 unsigned short, (basic_streambuf_wchar*), (this))
1685 unsigned short __thiscall
basic_streambuf_wchar_uflow(basic_streambuf_wchar
*this)
1689 TRACE("(%p)\n", this);
1691 if(call_basic_streambuf_wchar_underflow(this)==WEOF
)
1694 ret
= **this->prpos
;
1700 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WIH@Z */
1701 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
1702 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
1703 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
1704 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s
, 16)
1705 #define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1706 streamsize, (basic_streambuf_wchar*, wchar_t*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1707 streamsize __thiscall
basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1709 streamsize copied
, chunk
;
1712 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1714 for(copied
=0; copied
<count
&& size
;) {
1715 chunk
= basic_streambuf_wchar__Gnavail(this);
1716 if(chunk
> count
-copied
)
1717 chunk
= count
-copied
;
1720 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
1721 *this->prpos
+= chunk
;
1722 *this->prsize
-= chunk
;
1725 }else if((c
= call_basic_streambuf_wchar_uflow(this)) != WEOF
) {
1737 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
1738 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
1739 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
1740 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
1741 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Sgetn_s
, 16)
1742 streamsize __thiscall
basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1744 TRACE("(%p %p %lu %ld)\n", this, ptr
, size
, count
);
1745 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, size
, count
);
1748 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1749 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1750 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1751 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1752 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Unlock
, 4)
1753 void __thiscall
basic_streambuf_wchar__Unlock(basic_streambuf_wchar
*this)
1755 TRACE("(%p)\n", this);
1756 mutex_unlock(&this->lock
);
1759 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1760 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1761 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1762 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1763 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_eback
, 4)
1764 wchar_t* __thiscall
basic_streambuf_wchar_eback(const basic_streambuf_wchar
*this)
1766 TRACE("(%p)\n", this);
1767 return *this->prbuf
;
1770 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1771 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1772 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1773 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1774 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gptr
, 4)
1775 wchar_t* __thiscall
basic_streambuf_wchar_gptr(const basic_streambuf_wchar
*this)
1777 TRACE("(%p)\n", this);
1778 return *this->prpos
;
1781 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1782 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1783 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1784 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1785 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_egptr
, 4)
1786 wchar_t* __thiscall
basic_streambuf_wchar_egptr(const basic_streambuf_wchar
*this)
1788 TRACE("(%p)\n", this);
1789 return *this->prpos
+*this->prsize
;
1792 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1793 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1794 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1795 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1796 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_epptr
, 4)
1797 wchar_t* __thiscall
basic_streambuf_wchar_epptr(const basic_streambuf_wchar
*this)
1799 TRACE("(%p)\n", this);
1800 return *this->pwpos
+*this->pwsize
;
1803 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1804 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1805 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1806 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1807 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gbump
, 8)
1808 void __thiscall
basic_streambuf_wchar_gbump(basic_streambuf_wchar
*this, int off
)
1810 TRACE("(%p %d)\n", this, off
);
1811 *this->prpos
+= off
;
1812 *this->prsize
-= off
;
1815 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QBE?AVlocale@2@XZ */
1816 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEBA?AVlocale@2@XZ */
1817 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QBE?AVlocale@2@XZ */
1818 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEBA?AVlocale@2@XZ */
1819 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_getloc
, 8)
1820 locale
* __thiscall
basic_streambuf_wchar_getloc(const basic_streambuf_wchar
*this, locale
*ret
)
1822 TRACE("(%p)\n", this);
1823 return locale_copy_ctor(ret
, this->loc
);
1826 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
1827 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
1828 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
1829 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
1830 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue
, 8)
1831 #define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
1832 void, (basic_streambuf_wchar*, const locale*), (this, loc))
1833 void __thiscall
basic_streambuf_wchar_imbue(basic_streambuf_wchar
*this, const locale
*loc
)
1835 TRACE("(%p %p)\n", this, loc
);
1838 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1839 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1840 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1841 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1842 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_overflow
, 8)
1843 #define call_basic_streambuf_wchar_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1844 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1845 unsigned short __thiscall
basic_streambuf_wchar_overflow(basic_streambuf_wchar
*this, unsigned short ch
)
1847 TRACE("(%p %d)\n", this, ch
);
1851 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1852 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1853 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1854 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1855 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbackfail
, 8)
1856 #define call_basic_streambuf_wchar_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1857 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1858 unsigned short __thiscall
basic_streambuf_wchar_pbackfail(basic_streambuf_wchar
*this, unsigned short ch
)
1860 TRACE("(%p %d)\n", this, ch
);
1864 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1865 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1866 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1867 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1868 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbase
, 4)
1869 wchar_t* __thiscall
basic_streambuf_wchar_pbase(const basic_streambuf_wchar
*this)
1871 TRACE("(%p)\n", this);
1872 return *this->pwbuf
;
1875 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1876 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1877 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1878 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1879 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbump
, 8)
1880 void __thiscall
basic_streambuf_wchar_pbump(basic_streambuf_wchar
*this, int off
)
1882 TRACE("(%p %d)\n", this, off
);
1883 *this->pwpos
+= off
;
1884 *this->pwsize
-= off
;
1887 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1888 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1889 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1890 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1891 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pptr
, 4)
1892 wchar_t* __thiscall
basic_streambuf_wchar_pptr(const basic_streambuf_wchar
*this)
1894 TRACE("(%p)\n", this);
1895 return *this->pwpos
;
1898 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1899 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1900 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1901 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1902 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubimbue
, 12)
1903 locale
* __thiscall
basic_streambuf_wchar_pubimbue(basic_streambuf_wchar
*this, locale
*ret
, const locale
*loc
)
1905 TRACE("(%p %p)\n", this, loc
);
1906 memcpy(ret
, this->loc
, sizeof(locale
));
1907 call_basic_streambuf_wchar_imbue(this, loc
);
1908 locale_copy_ctor(this->loc
, loc
);
1912 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1913 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1914 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1915 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1916 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff
, 20)
1917 #define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
1918 fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1919 fpos_int
* __thiscall
basic_streambuf_wchar_seekoff(basic_streambuf_wchar
*this,
1920 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1922 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1929 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1930 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1931 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1932 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1933 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff
, 20)
1934 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff(basic_streambuf_wchar
*this,
1935 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1937 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1938 return call_basic_streambuf_wchar_seekoff(this, ret
, off
, way
, mode
);
1941 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1942 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1943 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1944 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1945 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old
, 20)
1946 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
*this,
1947 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
1949 TRACE("(%p %ld %d %d)\n", this, off
, way
, mode
);
1950 return basic_streambuf_wchar_pubseekoff(this, ret
, off
, way
, mode
);
1953 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1954 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1955 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1956 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1957 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekpos
, 36)
1958 #define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
1959 fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1960 fpos_int
* __thiscall
basic_streambuf_wchar_seekpos(basic_streambuf_wchar
*this,
1961 fpos_int
*ret
, fpos_int pos
, int mode
)
1963 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1970 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1971 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1972 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1973 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1974 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos
, 36)
1975 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar
*this,
1976 fpos_int
*ret
, fpos_int pos
, int mode
)
1978 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1979 return call_basic_streambuf_wchar_seekpos(this, ret
, pos
, mode
);
1982 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1983 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1984 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1985 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1986 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos_old
, 36)
1987 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar
*this,
1988 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
1990 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1991 return basic_streambuf_wchar_pubseekpos(this, ret
, pos
, mode
);
1994 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEPAV12@PA_WH@Z */
1995 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV12@PEA_W_J@Z */
1996 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
1997 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
1998 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf
, 12)
1999 #define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
2000 basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
2001 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_setbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2003 TRACE("(%p %p %ld)\n", this, buf
, count
);
2007 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PA_WH@Z */
2008 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEA_W_J@Z */
2009 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z */
2010 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z */
2011 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsetbuf
, 12)
2012 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_pubsetbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2014 TRACE("(%p %p %ld)\n", this, buf
, count
);
2015 return call_basic_streambuf_wchar_setbuf(this, buf
, count
);
2018 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2019 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
2020 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2021 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
2022 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync
, 4)
2023 #define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 48, \
2024 int, (basic_streambuf_wchar*), (this))
2025 int __thiscall
basic_streambuf_wchar_sync(basic_streambuf_wchar
*this)
2027 TRACE("(%p)\n", this);
2031 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2032 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
2033 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2034 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ */
2035 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsync
, 4)
2036 int __thiscall
basic_streambuf_wchar_pubsync(basic_streambuf_wchar
*this)
2038 TRACE("(%p)\n", this);
2039 return call_basic_streambuf_wchar_sync(this);
2042 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
2043 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
2044 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
2045 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
2046 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn
, 12)
2047 streamsize __thiscall
basic_streambuf_wchar_sgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2049 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2050 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2053 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2054 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JXZ */
2055 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2056 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JXZ */
2057 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_showmanyc
, 4)
2058 #define call_basic_streambuf_wchar_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
2059 streamsize, (basic_streambuf_wchar*), (this))
2060 streamsize __thiscall
basic_streambuf_wchar_showmanyc(basic_streambuf_wchar
*this)
2062 TRACE("(%p)\n", this);
2066 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2067 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JXZ */
2068 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2069 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ */
2070 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_in_avail
, 4)
2071 streamsize __thiscall
basic_streambuf_wchar_in_avail(basic_streambuf_wchar
*this)
2075 TRACE("(%p)\n", this);
2077 ret
= basic_streambuf_wchar__Gnavail(this);
2078 return ret
? ret
: call_basic_streambuf_wchar_showmanyc(this);
2081 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2082 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2083 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2084 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
2085 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputbackc
, 8)
2086 unsigned short __thiscall
basic_streambuf_wchar_sputbackc(basic_streambuf_wchar
*this, wchar_t ch
)
2088 TRACE("(%p %d)\n", this, ch
);
2089 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
2095 return call_basic_streambuf_wchar_pbackfail(this, ch
);
2098 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2099 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2100 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2101 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHG@Z */
2102 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputc
, 8)
2103 unsigned short __thiscall
basic_streambuf_wchar_sputc(basic_streambuf_wchar
*this, wchar_t ch
)
2105 TRACE("(%p %d)\n", this, ch
);
2106 return basic_streambuf_wchar__Pnavail(this) ?
2107 (*basic_streambuf_wchar__Pninc(this) = ch
) :
2108 call_basic_streambuf_wchar_overflow(this, ch
);
2111 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2112 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2113 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2114 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2115 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sungetc
, 4)
2116 unsigned short __thiscall
basic_streambuf_wchar_sungetc(basic_streambuf_wchar
*this)
2118 TRACE("(%p)\n", this);
2119 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
2122 return **this->prpos
;
2125 return call_basic_streambuf_wchar_pbackfail(this, WEOF
);
2128 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
2129 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
2130 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
2131 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
2132 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_stossc
, 4)
2133 void __thiscall
basic_streambuf_wchar_stossc(basic_streambuf_wchar
*this)
2135 TRACE("(%p)\n", this);
2136 if(basic_streambuf_wchar__Gnavail(this))
2137 basic_streambuf_wchar__Gninc(this);
2139 call_basic_streambuf_wchar_uflow(this);
2142 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2143 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2144 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2145 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2146 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sbumpc
, 4)
2147 unsigned short __thiscall
basic_streambuf_wchar_sbumpc(basic_streambuf_wchar
*this)
2149 TRACE("(%p)\n", this);
2150 return basic_streambuf_wchar__Gnavail(this) ?
2151 *basic_streambuf_wchar__Gninc(this) : call_basic_streambuf_wchar_uflow(this);
2154 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2155 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2156 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2157 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2158 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetc
, 4)
2159 unsigned short __thiscall
basic_streambuf_wchar_sgetc(basic_streambuf_wchar
*this)
2161 TRACE("(%p)\n", this);
2162 return basic_streambuf_wchar__Gnavail(this) ?
2163 *basic_streambuf_wchar_gptr(this) : call_basic_streambuf_wchar_underflow(this);
2166 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2167 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2168 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2169 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2170 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_snextc
, 4)
2171 unsigned short __thiscall
basic_streambuf_wchar_snextc(basic_streambuf_wchar
*this)
2173 TRACE("(%p)\n", this);
2175 if(basic_streambuf_wchar__Gnavail(this) > 1)
2176 return *basic_streambuf_wchar__Gnpreinc(this);
2177 return basic_streambuf_wchar_sbumpc(this)==WEOF
?
2178 WEOF
: basic_streambuf_wchar_sgetc(this);
2181 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
2182 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
2183 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
2184 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
2185 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn
, 12)
2186 #define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
2187 streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
2188 streamsize __thiscall
basic_streambuf_wchar_xsgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2190 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2191 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2194 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
2195 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
2196 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
2197 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
2198 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn
, 12)
2199 #define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
2200 streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
2201 streamsize __thiscall
basic_streambuf_wchar_xsputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2203 streamsize copied
, chunk
;
2205 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2207 for(copied
=0; copied
<count
;) {
2208 chunk
= basic_streambuf_wchar__Pnavail(this);
2209 if(chunk
> count
-copied
)
2210 chunk
= count
-copied
;
2213 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
2214 *this->pwpos
+= chunk
;
2215 *this->pwsize
-= chunk
;
2217 }else if(call_basic_streambuf_wchar_overflow(this, ptr
[copied
]) != WEOF
) {
2227 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z */
2228 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEB_W_J@Z */
2229 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z */
2230 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z */
2231 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputn
, 12)
2232 streamsize __thiscall
basic_streambuf_wchar_sputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2234 TRACE("(%p %p %ld)\n", this, ptr
, count
);
2235 return call_basic_streambuf_wchar_xsputn(this, ptr
, count
);
2238 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2239 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2240 int basic_filebuf_char__Init__Stinit
= 0;
2242 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2243 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2244 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Init
, 12)
2245 void __thiscall
basic_filebuf_char__Init(basic_filebuf_char
*this, FILE *file
, basic_filebuf__Initfl which
)
2247 TRACE("(%p %p %d)\n", this, file
, which
);
2250 this->wrotesome
= FALSE
;
2251 this->state
= basic_filebuf_char__Init__Stinit
;
2252 this->close
= (which
== INITFL_open
);
2255 basic_streambuf_char__Init_empty(&this->base
);
2257 basic_streambuf_char__Init(&this->base
, &file
->_base
, &file
->_ptr
,
2258 &file
->_cnt
, &file
->_base
, &file
->_ptr
, &file
->_cnt
);
2261 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z */
2262 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$codecvt@DDH@2@@Z */
2263 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Initcvt
, 8)
2264 void __thiscall
basic_filebuf_char__Initcvt(basic_filebuf_char
*this, codecvt_char
*cvt
)
2266 TRACE("(%p %p)\n", this, cvt
);
2268 if(codecvt_base_always_noconv(&cvt
->base
)) {
2271 basic_streambuf_char__Init_empty(&this->base
);
2276 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ */
2277 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAA_NXZ */
2278 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Endwrite
, 4)
2279 MSVCP_bool __thiscall
basic_filebuf_char__Endwrite(basic_filebuf_char
*this)
2281 TRACE("(%p)\n", this);
2283 if(!this->wrotesome
|| !this->cvt
)
2287 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2291 /* TODO: check if we need a dynamic buffer here */
2296 ret
= codecvt_char_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2299 this->wrotesome
= FALSE
;
2301 case CODECVT_partial
:
2302 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2307 case CODECVT_noconv
:
2308 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2317 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ */
2318 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ */
2319 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_close
, 4)
2320 basic_filebuf_char
* __thiscall
basic_filebuf_char_close(basic_filebuf_char
*this)
2322 basic_filebuf_char
*ret
= this;
2324 TRACE("(%p)\n", this);
2329 /* TODO: handle exceptions */
2330 if(!basic_filebuf_char__Endwrite(this))
2332 if(!fclose(this->file
))
2335 basic_filebuf_char__Init(this, NULL
, INITFL_close
);
2339 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
2340 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2341 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_file
, 8)
2342 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_file(basic_filebuf_char
*this, FILE *file
)
2344 TRACE("(%p %p)\n", this, file
);
2346 basic_streambuf_char_ctor(&this->base
);
2347 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2349 basic_filebuf_char__Init(this, file
, INITFL_new
);
2353 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
2354 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2355 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor
, 4)
2356 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor(basic_filebuf_char
*this)
2358 return basic_filebuf_char_ctor_file(this, NULL
);
2361 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
2362 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
2363 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_uninitialized
, 8)
2364 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_uninitialized(basic_filebuf_char
*this, int uninitialized
)
2366 TRACE("(%p %d)\n", this, uninitialized
);
2368 basic_streambuf_char_ctor(&this->base
);
2369 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2373 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
2374 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2375 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_dtor
, 4)
2376 void __thiscall
basic_filebuf_char_dtor(basic_filebuf_char
*this)
2378 TRACE("(%p)\n", this);
2381 basic_filebuf_char_close(this);
2382 basic_streambuf_char_dtor(&this->base
);
2385 DEFINE_THISCALL_WRAPPER(MSVCP_basic_filebuf_char_vector_dtor
, 8)
2386 basic_filebuf_char
* __thiscall
MSVCP_basic_filebuf_char_vector_dtor(basic_filebuf_char
*this, unsigned int flags
)
2388 TRACE("(%p %x)\n", this, flags
);
2390 /* we have an array, with the number of elements stored before the first object */
2391 int i
, *ptr
= (int *)this-1;
2393 for(i
=*ptr
-1; i
>=0; i
--)
2394 basic_filebuf_char_dtor(this+i
);
2395 MSVCRT_operator_delete(ptr
);
2397 basic_filebuf_char_dtor(this);
2399 MSVCRT_operator_delete(this);
2405 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ */
2406 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
2407 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_is_open
, 4)
2408 MSVCP_bool __thiscall
basic_filebuf_char_is_open(const basic_filebuf_char
*this)
2410 TRACE("(%p)\n", this);
2411 return this->file
!= NULL
;
2414 /* ?_Fiopen@std@@YAPAU_iobuf@@PB_WHH@Z */
2415 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEB_WHH@Z */
2416 FILE* __cdecl
_Fiopen_wchar(const wchar_t *name
, int mode
, int prot
)
2418 static const wchar_t rW
[] = {'r',0};
2419 static const struct {
2421 const wchar_t str
[4];
2422 const wchar_t str_bin
[4];
2424 {OPENMODE_out
, {'w',0}, {'w','b',0}},
2425 {OPENMODE_out
|OPENMODE_app
, {'a',0}, {'a','b',0}},
2426 {OPENMODE_app
, {'a',0}, {'a','b',0}},
2427 {OPENMODE_out
|OPENMODE_trunc
, {'w',0}, {'w','b',0}},
2428 {OPENMODE_in
, {'r',0}, {'r','b',0}},
2429 {OPENMODE_in
|OPENMODE_out
, {'r','+',0}, {'r','+','b',0}},
2430 {OPENMODE_in
|OPENMODE_out
|OPENMODE_trunc
, {'w','+',0}, {'w','+','b',0}},
2431 {OPENMODE_in
|OPENMODE_out
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}},
2432 {OPENMODE_in
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}}
2435 int real_mode
= mode
& ~(OPENMODE_ate
|OPENMODE__Nocreate
|OPENMODE__Noreplace
|OPENMODE_binary
);
2439 TRACE("(%s %d %d)\n", debugstr_w(name
), mode
, prot
);
2441 for(mode_idx
=0; mode_idx
<sizeof(str_mode
)/sizeof(str_mode
[0]); mode_idx
++)
2442 if(str_mode
[mode_idx
].mode
== real_mode
)
2444 if(mode_idx
== sizeof(str_mode
)/sizeof(str_mode
[0]))
2447 if((mode
& OPENMODE__Nocreate
) && !(f
= _wfopen(name
, rW
)))
2452 if((mode
& OPENMODE__Noreplace
) && (mode
& (OPENMODE_out
|OPENMODE_app
))
2453 && (f
= _wfopen(name
, rW
))) {
2458 f
= _wfsopen(name
, (mode
& OPENMODE_binary
) ? str_mode
[mode_idx
].str_bin
2459 : str_mode
[mode_idx
].str
, prot
);
2463 if((mode
& OPENMODE_ate
) && fseek(f
, 0, SEEK_END
)) {
2471 /* ?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z */
2472 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEBDHH@Z */
2473 FILE* __cdecl
_Fiopen(const char *name
, int mode
, int prot
)
2475 wchar_t nameW
[FILENAME_MAX
];
2477 TRACE("(%s %d %d)\n", name
, mode
, prot
);
2479 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2481 return _Fiopen_wchar(nameW
, mode
, prot
);
2484 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WHH@Z */
2485 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
2486 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGHH@Z */
2487 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGHH@Z */
2488 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar
, 16)
2489 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar(basic_filebuf_char
*this, const wchar_t *name
, int mode
, int prot
)
2493 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
2495 if(basic_filebuf_char_is_open(this))
2498 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
2501 basic_filebuf_char__Init(this, f
, INITFL_open
);
2502 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(this->base
.loc
));
2506 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WI@Z */
2507 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WI@Z */
2508 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGI@Z */
2509 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGI@Z */
2510 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar_mode
, 12)
2511 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar_mode(basic_filebuf_char
*this, const wchar_t *name
, unsigned int mode
)
2513 return basic_filebuf_char_open_wchar(this, name
, mode
, SH_DENYNO
);
2516 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z */
2517 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDHH@Z */
2518 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open
, 16)
2519 basic_filebuf_char
* __thiscall
basic_filebuf_char_open(basic_filebuf_char
*this, const char *name
, int mode
, int prot
)
2521 wchar_t nameW
[FILENAME_MAX
];
2523 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
2525 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2527 return basic_filebuf_char_open_wchar(this, nameW
, mode
, prot
);
2530 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDI@Z */
2531 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDI@Z */
2532 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_mode
, 12)
2533 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_mode(basic_filebuf_char
*this, const char *name
, unsigned int mode
)
2535 return basic_filebuf_char_open(this, name
, mode
, SH_DENYNO
);
2538 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2539 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2540 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_overflow
, 8)
2541 int __thiscall
basic_filebuf_char_overflow(basic_filebuf_char
*this, int c
)
2543 char buf
[8], *dyn_buf
;
2544 char ch
= c
, *to_next
;
2545 const char *from_next
;
2549 TRACE("(%p %d)\n", this, c
);
2551 if(!basic_filebuf_char_is_open(this))
2557 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2561 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2562 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
2565 case CODECVT_partial
:
2570 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
2572 if(ret
== CODECVT_partial
)
2575 case CODECVT_noconv
:
2576 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2584 max_size
= codecvt_base_max_length(&this->cvt
->base
);
2585 dyn_buf
= malloc(max_size
);
2589 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2590 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
2594 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
2596 return ret
? c
: EOF
;
2597 case CODECVT_partial
:
2598 ERR("buffer should be big enough to store all output\n");
2606 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2607 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2608 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_pbackfail
, 8)
2609 int __thiscall
basic_filebuf_char_pbackfail(basic_filebuf_char
*this, int c
)
2611 TRACE("(%p %d)\n", this, c
);
2613 if(!basic_filebuf_char_is_open(this))
2616 if(basic_streambuf_char_gptr(&this->base
)>basic_streambuf_char_eback(&this->base
)
2617 && (c
==EOF
|| basic_streambuf_char_gptr(&this->base
)[-1]==(char)c
)) {
2618 basic_streambuf_char__Gndec(&this->base
);
2619 return c
==EOF
? !c
: c
;
2620 }else if(c
!=EOF
&& !this->cvt
) {
2621 return ungetc(c
, this->file
);
2627 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2628 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2629 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_uflow
, 4)
2630 int __thiscall
basic_filebuf_char_uflow(basic_filebuf_char
*this)
2632 char ch
, buf
[128], *to_next
;
2633 const char *buf_next
;
2636 TRACE("(%p)\n", this);
2638 if(!basic_filebuf_char_is_open(this))
2641 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2642 return *basic_streambuf_char__Gninc(&this->base
);
2644 c
= fgetc(this->file
);
2645 if(!this->cvt
|| c
==EOF
)
2649 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
2652 switch(codecvt_char_in(this->cvt
, &this->state
, buf_next
,
2653 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
2654 case CODECVT_partial
:
2656 if(to_next
== &ch
) {
2657 c
= fgetc(this->file
);
2663 for(i
--; i
>=buf_next
-buf
; i
--)
2664 ungetc(buf
[i
], this->file
);
2666 case CODECVT_noconv
:
2673 FIXME("buffer is too small\n");
2677 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2678 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2679 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_underflow
, 4)
2680 int __thiscall
basic_filebuf_char_underflow(basic_filebuf_char
*this)
2684 TRACE("(%p)\n", this);
2686 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2687 return *basic_streambuf_char_gptr(&this->base
);
2689 ret
= call_basic_streambuf_char_uflow(&this->base
);
2691 ret
= call_basic_streambuf_char_pbackfail(&this->base
, ret
);
2695 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2696 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2697 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekoff
, 20)
2698 fpos_int
* __thiscall
basic_filebuf_char_seekoff(basic_filebuf_char
*this,
2699 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2703 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
2705 if(!basic_filebuf_char_is_open(this) || !basic_filebuf_char__Endwrite(this)
2706 || fseek(this->file
, off
, way
)) {
2713 fgetpos(this->file
, &pos
);
2716 ret
->state
= this->state
;
2720 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2721 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2722 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekpos
, 36)
2723 fpos_int
* __thiscall
basic_filebuf_char_seekpos(basic_filebuf_char
*this,
2724 fpos_int
*ret
, fpos_int pos
, int mode
)
2728 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
2730 if(!basic_filebuf_char_is_open(this) || !basic_filebuf_char__Endwrite(this)
2731 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
2732 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
2739 fgetpos(this->file
, &fpos
);
2742 ret
->state
= this->state
;
2746 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z */
2747 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAD_J@Z */
2748 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_setbuf
, 12)
2749 basic_streambuf_char
* __thiscall
basic_filebuf_char_setbuf(basic_filebuf_char
*this, char *buf
, streamsize count
)
2751 TRACE("(%p %p %ld)\n", this, buf
, count
);
2753 if(!basic_filebuf_char_is_open(this))
2756 if(setvbuf(this->file
, buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
))
2759 basic_filebuf_char__Init(this, this->file
, INITFL_open
);
2763 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2764 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2765 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_sync
, 4)
2766 int __thiscall
basic_filebuf_char_sync(basic_filebuf_char
*this)
2768 TRACE("(%p)\n", this);
2770 if(!basic_filebuf_char_is_open(this))
2773 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2775 return fflush(this->file
);
2778 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
2779 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
2780 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_imbue
, 8)
2781 void __thiscall
basic_filebuf_char_imbue(basic_filebuf_char
*this, const locale
*loc
)
2783 TRACE("(%p %p)\n", this, loc
);
2784 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(loc
));
2787 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2788 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2789 int basic_filebuf_wchar__Init__Stinit
= 0;
2791 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2792 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2793 int basic_filebuf_short__Init__Stinit
= 0;
2795 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2796 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2797 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Init
, 12)
2798 void __thiscall
basic_filebuf_wchar__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2800 TRACE("(%p %p %d)\n", this, file
, which
);
2803 this->wrotesome
= FALSE
;
2804 this->state
= basic_filebuf_wchar__Init__Stinit
;
2805 this->close
= (which
== INITFL_open
);
2808 basic_streambuf_wchar__Init_empty(&this->base
);
2811 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2812 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2813 DEFINE_THISCALL_WRAPPER(basic_filebuf_short__Init
, 12)
2814 void __thiscall
basic_filebuf_short__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2816 TRACE("(%p %p %d)\n", this, file
, which
);
2819 this->wrotesome
= FALSE
;
2820 this->state
= basic_filebuf_short__Init__Stinit
;
2821 this->close
= (which
== INITFL_open
);
2824 basic_streambuf_wchar__Init_empty(&this->base
);
2827 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$codecvt@_WDH@2@@Z */
2828 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$codecvt@_WDH@2@@Z */
2829 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAV?$codecvt@GDH@2@@Z */
2830 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$codecvt@GDH@2@@Z */
2831 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Initcvt
, 8)
2832 void __thiscall
basic_filebuf_wchar__Initcvt(basic_filebuf_wchar
*this, codecvt_wchar
*cvt
)
2834 TRACE("(%p %p)\n", this, cvt
);
2836 if(codecvt_base_always_noconv(&cvt
->base
)) {
2839 basic_streambuf_wchar__Init_empty(&this->base
);
2844 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAE_NXZ */
2845 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAA_NXZ */
2846 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAE_NXZ */
2847 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAA_NXZ */
2848 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Endwrite
, 4)
2849 MSVCP_bool __thiscall
basic_filebuf_wchar__Endwrite(basic_filebuf_wchar
*this)
2851 TRACE("(%p)\n", this);
2853 if(!this->wrotesome
|| !this->cvt
)
2856 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
2860 /* TODO: check if we need a dynamic buffer here */
2865 ret
= codecvt_wchar_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2868 this->wrotesome
= FALSE
;
2870 case CODECVT_partial
:
2871 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2876 case CODECVT_noconv
:
2877 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
2886 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@XZ */
2887 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@XZ */
2888 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ */
2889 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ */
2890 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_close
, 4)
2891 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_close(basic_filebuf_wchar
*this)
2893 basic_filebuf_wchar
*ret
= this;
2895 TRACE("(%p)\n", this);
2900 /* TODO: handle exceptions */
2901 if(!basic_filebuf_wchar__Endwrite(this))
2903 if(!fclose(this->file
))
2906 basic_filebuf_wchar__Init(this, NULL
, INITFL_close
);
2910 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
2911 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2912 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_file
, 8)
2913 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
2915 TRACE("(%p %p)\n", this, file
);
2917 basic_streambuf_wchar_ctor(&this->base
);
2918 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
2920 basic_filebuf_wchar__Init(this, file
, INITFL_new
);
2924 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
2925 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2926 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_file
, 8)
2927 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
2929 TRACE("(%p %p)\n", this, file
);
2931 basic_streambuf_short_ctor(&this->base
);
2932 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
2934 basic_filebuf_short__Init(this, file
, INITFL_new
);
2938 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
2939 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
2940 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor
, 4)
2941 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor(basic_filebuf_wchar
*this)
2943 return basic_filebuf_wchar_ctor_file(this, NULL
);
2946 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
2947 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
2948 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor
, 4)
2949 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor(basic_filebuf_wchar
*this)
2951 return basic_filebuf_short_ctor_file(this, NULL
);
2954 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
2955 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
2956 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_uninitialized
, 8)
2957 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
2959 TRACE("(%p %d)\n", this, uninitialized
);
2961 basic_streambuf_wchar_ctor(&this->base
);
2962 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
2966 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
2967 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
2968 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_uninitialized
, 8)
2969 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
2971 TRACE("(%p %d)\n", this, uninitialized
);
2973 basic_streambuf_short_ctor(&this->base
);
2974 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
2978 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
2979 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
2980 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
2981 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
2982 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_dtor
, 4)
2983 void __thiscall
basic_filebuf_wchar_dtor(basic_filebuf_wchar
*this)
2985 TRACE("(%p)\n", this);
2988 basic_filebuf_wchar_close(this);
2989 basic_streambuf_wchar_dtor(&this->base
);
2992 DEFINE_THISCALL_WRAPPER(MSVCP_basic_filebuf_wchar_vector_dtor
, 8)
2993 basic_filebuf_wchar
* __thiscall
MSVCP_basic_filebuf_wchar_vector_dtor(basic_filebuf_wchar
*this, unsigned int flags
)
2995 TRACE("(%p %x)\n", this, flags
);
2997 /* we have an array, with the number of elements stored before the first object */
2998 int i
, *ptr
= (int *)this-1;
3000 for(i
=*ptr
-1; i
>=0; i
--)
3001 basic_filebuf_wchar_dtor(this+i
);
3002 MSVCRT_operator_delete(ptr
);
3004 basic_filebuf_wchar_dtor(this);
3006 MSVCRT_operator_delete(this);
3012 DEFINE_THISCALL_WRAPPER(MSVCP_basic_filebuf_short_vector_dtor
, 8)
3013 basic_filebuf_wchar
* __thiscall
MSVCP_basic_filebuf_short_vector_dtor(basic_filebuf_wchar
*this, unsigned int flags
)
3015 return MSVCP_basic_filebuf_wchar_vector_dtor(this, flags
);
3018 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
3019 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
3020 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ */
3021 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
3022 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_is_open
, 4)
3023 MSVCP_bool __thiscall
basic_filebuf_wchar_is_open(const basic_filebuf_wchar
*this)
3025 TRACE("(%p)\n", this);
3026 return this->file
!= NULL
;
3029 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WHH@Z */
3030 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3031 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGHH@Z */
3032 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3033 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar
, 16)
3034 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3038 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3040 if(basic_filebuf_wchar_is_open(this))
3043 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3046 basic_filebuf_wchar__Init(this, f
, INITFL_open
);
3047 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(this->base
.loc
));
3051 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WHH@Z */
3052 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3053 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGHH@Z */
3054 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3055 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar
, 16)
3056 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3060 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3062 if(basic_filebuf_wchar_is_open(this))
3065 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3068 basic_filebuf_short__Init(this, f
, INITFL_open
);
3069 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(this->base
.loc
));
3073 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WI@Z */
3074 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3075 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGI@Z */
3076 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGI@Z */
3077 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar_mode
, 12)
3078 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3080 return basic_filebuf_wchar_open_wchar(this, name
, mode
, SH_DENYNO
);
3083 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WI@Z */
3084 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3085 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGI@Z */
3086 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGI@Z */
3087 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar_mode
, 12)
3088 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3090 return basic_filebuf_short_open_wchar(this, name
, mode
, SH_DENYNO
);
3093 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDHH@Z */
3094 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3095 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open
, 16)
3096 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3098 wchar_t nameW
[FILENAME_MAX
];
3100 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3102 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3104 return basic_filebuf_wchar_open_wchar(this, nameW
, mode
, prot
);
3107 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDHH@Z */
3108 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3109 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open
, 16)
3110 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3112 wchar_t nameW
[FILENAME_MAX
];
3114 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3116 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3118 return basic_filebuf_short_open_wchar(this, nameW
, mode
, prot
);
3121 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDI@Z */
3122 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDI@Z */
3123 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_mode
, 12)
3124 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3126 return basic_filebuf_wchar_open(this, name
, mode
, SH_DENYNO
);
3129 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDI@Z */
3130 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDI@Z */
3131 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_mode
, 12)
3132 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3134 return basic_filebuf_short_open(this, name
, mode
, SH_DENYNO
);
3137 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3138 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3139 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3140 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3141 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_overflow
, 8)
3142 unsigned short __thiscall
basic_filebuf_wchar_overflow(basic_filebuf_wchar
*this, unsigned short c
)
3144 char buf
[8], *dyn_buf
, *to_next
;
3146 const wchar_t *from_next
;
3151 TRACE("(%p %d)\n", this, c
);
3153 if(!basic_filebuf_wchar_is_open(this))
3159 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3163 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3164 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
3167 case CODECVT_partial
:
3172 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
3174 if(ret
== CODECVT_partial
)
3177 case CODECVT_noconv
:
3178 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3186 max_size
= codecvt_base_max_length(&this->cvt
->base
);
3187 dyn_buf
= malloc(max_size
);
3191 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3192 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
3196 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
3198 return ret
? c
: WEOF
;
3199 case CODECVT_partial
:
3200 ERR("buffer should be big enough to store all output\n");
3208 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3209 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3210 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3211 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3212 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_pbackfail
, 8)
3213 unsigned short __thiscall
basic_filebuf_wchar_pbackfail(basic_filebuf_wchar
*this, unsigned short c
)
3215 TRACE("(%p %d)\n", this, c
);
3217 if(!basic_filebuf_wchar_is_open(this))
3220 if(basic_streambuf_wchar_gptr(&this->base
)>basic_streambuf_wchar_eback(&this->base
)
3221 && (c
==WEOF
|| basic_streambuf_wchar_gptr(&this->base
)[-1]==(wchar_t)c
)) {
3222 basic_streambuf_wchar__Gndec(&this->base
);
3223 return c
==WEOF
? !c
: c
;
3224 }else if(c
!=WEOF
&& !this->cvt
) {
3225 return ungetwc(c
, this->file
);
3226 }else if(c
!=WEOF
&& basic_streambuf_wchar_gptr(&this->base
)!=&this->putback
) {
3228 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
, &this->putback
+1);
3235 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3236 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3237 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3238 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3239 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_uflow
, 4)
3240 unsigned short __thiscall
basic_filebuf_wchar_uflow(basic_filebuf_wchar
*this)
3242 wchar_t ch
, *to_next
;
3244 const char *buf_next
;
3247 TRACE("(%p)\n", this);
3249 if(!basic_filebuf_wchar_is_open(this))
3252 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3253 return *basic_streambuf_wchar__Gninc(&this->base
);
3256 return fgetwc(this->file
);
3259 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
3260 if((c
= fgetc(this->file
)) == EOF
)
3264 switch(codecvt_wchar_in(this->cvt
, &this->state
, buf_next
,
3265 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
3266 case CODECVT_partial
:
3271 for(i
--; i
>=buf_next
-buf
; i
--)
3272 ungetc(buf
[i
], this->file
);
3274 case CODECVT_noconv
:
3275 if(i
+1 < sizeof(wchar_t))
3278 memcpy(&ch
, buf
, sizeof(wchar_t));
3285 FIXME("buffer is too small\n");
3289 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3290 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3291 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3292 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3293 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_underflow
, 4)
3294 unsigned short __thiscall
basic_filebuf_wchar_underflow(basic_filebuf_wchar
*this)
3298 TRACE("(%p)\n", this);
3300 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3301 return *basic_streambuf_wchar_gptr(&this->base
);
3303 ret
= call_basic_streambuf_wchar_uflow(&this->base
);
3305 ret
= call_basic_streambuf_wchar_pbackfail(&this->base
, ret
);
3309 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3310 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3311 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3312 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3313 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekoff
, 20)
3314 fpos_int
* __thiscall
basic_filebuf_wchar_seekoff(basic_filebuf_wchar
*this,
3315 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3319 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
3321 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
) {
3322 if(way
== SEEKDIR_cur
)
3323 off
-= sizeof(wchar_t);
3325 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3328 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3329 || fseek(this->file
, off
, way
)) {
3336 fgetpos(this->file
, &pos
);
3339 ret
->state
= this->state
;
3343 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3344 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3345 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3346 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3347 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekpos
, 36)
3348 fpos_int
* __thiscall
basic_filebuf_wchar_seekpos(basic_filebuf_wchar
*this,
3349 fpos_int
*ret
, fpos_int pos
, int mode
)
3353 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3355 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3356 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
3357 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
3364 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
)
3365 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3367 fgetpos(this->file
, &fpos
);
3370 ret
->state
= this->state
;
3374 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PA_WH@Z */
3375 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEA_W_J@Z */
3376 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_setbuf
, 12)
3377 basic_streambuf_wchar
* __thiscall
basic_filebuf_wchar_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3379 TRACE("(%p %p %ld)\n", this, buf
, count
);
3381 if(!basic_filebuf_wchar_is_open(this))
3384 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3387 basic_filebuf_wchar__Init(this, this->file
, INITFL_open
);
3391 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z */
3392 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAG_J@Z */
3393 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_setbuf
, 12)
3394 basic_streambuf_wchar
* __thiscall
basic_filebuf_short_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3396 TRACE("(%p %p %ld)\n", this, buf
, count
);
3398 if(!basic_filebuf_wchar_is_open(this))
3401 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3404 basic_filebuf_short__Init(this, this->file
, INITFL_open
);
3408 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
3409 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
3410 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
3411 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
3412 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_sync
, 4)
3413 int __thiscall
basic_filebuf_wchar_sync(basic_filebuf_wchar
*this)
3415 TRACE("(%p)\n", this);
3417 if(!basic_filebuf_wchar_is_open(this))
3420 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
3422 return fflush(this->file
);
3425 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
3426 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
3427 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_imbue
, 8)
3428 void __thiscall
basic_filebuf_wchar_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3430 TRACE("(%p %p)\n", this, loc
);
3431 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(loc
));
3434 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
3435 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
3436 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_imbue
, 8)
3437 void __thiscall
basic_filebuf_short_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3439 TRACE("(%p %p)\n", this, loc
);
3440 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(loc
));
3443 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z */
3444 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z */
3445 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Getstate
, 8)
3446 int __thiscall
basic_stringbuf_char__Getstate(basic_stringbuf_char
*this, IOSB_openmode mode
)
3450 if(!(mode
& OPENMODE_in
))
3451 state
|= STRINGBUF_no_read
;
3453 if(!(mode
& OPENMODE_out
))
3454 state
|= STRINGBUF_no_write
;
3456 if(mode
& OPENMODE_ate
)
3457 state
|= STRINGBUF_at_end
;
3459 if(mode
& OPENMODE_app
)
3460 state
|= STRINGBUF_append
;
3465 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z */
3466 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z */
3467 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Init
, 16)
3468 void __thiscall
basic_stringbuf_char__Init(basic_stringbuf_char
*this, const char *str
, MSVCP_size_t count
, int state
)
3470 TRACE("(%p, %p, %ld, %d)\n", this, str
, count
, state
);
3472 basic_streambuf_char__Init_empty(&this->base
);
3474 this->state
= state
;
3475 this->seekhigh
= NULL
;
3478 char *buf
= MSVCRT_operator_new(count
);
3480 ERR("Out of memory\n");
3481 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3484 memcpy(buf
, str
, count
);
3485 this->seekhigh
= buf
+ count
;
3487 this->state
|= STRINGBUF_allocated
;
3489 if(!(state
& STRINGBUF_no_read
))
3490 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+ count
);
3492 if(!(state
& STRINGBUF_no_write
)) {
3493 basic_streambuf_char_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3495 if(!basic_streambuf_char_gptr(&this->base
))
3496 basic_streambuf_char_setg(&this->base
, buf
, 0, buf
);
3501 /* ??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 */
3502 /* ??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 */
3503 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_str
, 12)
3504 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_str(basic_stringbuf_char
*this,
3505 const basic_string_char
*str
, IOSB_openmode mode
)
3507 TRACE("(%p %p %d)\n", this, str
, mode
);
3509 basic_streambuf_char_ctor(&this->base
);
3510 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3512 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
),
3513 str
->size
, basic_stringbuf_char__Getstate(this, mode
));
3517 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
3518 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
3519 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_mode
, 8)
3520 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_mode(
3521 basic_stringbuf_char
*this, IOSB_openmode mode
)
3523 TRACE("(%p %d)\n", this, mode
);
3525 basic_streambuf_char_ctor(&this->base
);
3526 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3528 basic_stringbuf_char__Init(this, NULL
, 0, basic_stringbuf_char__Getstate(this, mode
));
3532 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
3533 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
3534 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor
, 4)
3535 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor(basic_stringbuf_char
*this)
3537 return basic_stringbuf_char_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3540 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ */
3541 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ */
3542 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Tidy
, 4)
3543 void __thiscall
basic_stringbuf_char__Tidy(basic_stringbuf_char
*this)
3545 TRACE("(%p)\n", this);
3547 if(this->state
& STRINGBUF_allocated
) {
3548 MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base
));
3549 this->seekhigh
= NULL
;
3550 this->state
&= ~STRINGBUF_allocated
;
3553 basic_streambuf_char__Init_empty(&this->base
);
3556 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
3557 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
3558 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_dtor
, 4)
3559 void __thiscall
basic_stringbuf_char_dtor(basic_stringbuf_char
*this)
3561 TRACE("(%p)\n", this);
3563 basic_stringbuf_char__Tidy(this);
3564 basic_streambuf_char_dtor(&this->base
);
3567 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringbuf_char_vector_dtor
, 8)
3568 basic_stringbuf_char
* __thiscall
MSVCP_basic_stringbuf_char_vector_dtor(basic_stringbuf_char
*this, unsigned int flags
)
3570 TRACE("(%p %x)\n", this, flags
);
3573 /* we have an array, with the number of elements stored before the first object */
3574 int i
, *ptr
= (int *) this - 1;
3576 for (i
= *ptr
- 1; i
>= 0; i
--)
3577 basic_stringbuf_char_dtor(this+i
);
3579 MSVCRT_operator_delete(ptr
);
3581 basic_stringbuf_char_dtor(this);
3584 MSVCRT_operator_delete(this);
3590 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3591 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3592 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_overflow
, 8)
3593 int __thiscall
basic_stringbuf_char_overflow(basic_stringbuf_char
*this, int meta
)
3595 MSVCP_size_t oldsize
, size
;
3598 TRACE("(%p %x)\n", this, meta
);
3602 if(this->state
& STRINGBUF_no_write
)
3605 ptr
= basic_streambuf_char_pptr(&this->base
);
3606 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
3607 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
3608 this->seekhigh
, basic_streambuf_char_epptr(&this->base
));
3610 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
3611 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3613 oldsize
= (ptr
? basic_streambuf_char_epptr(&this->base
)-basic_streambuf_char_eback(&this->base
): 0);
3616 buf
= MSVCRT_operator_new(size
);
3618 ERR("Out of memory\n");
3619 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3623 this->seekhigh
= buf
;
3624 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
3625 if(this->state
& STRINGBUF_no_read
)
3626 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3628 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+1);
3630 this->state
|= STRINGBUF_allocated
;
3632 ptr
= basic_streambuf_char_eback(&this->base
);
3633 memcpy(buf
, ptr
, oldsize
);
3635 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
3636 basic_streambuf_char_setp_next(&this->base
, buf
,
3637 buf
+(basic_streambuf_char_pptr(&this->base
)-ptr
), buf
+size
);
3638 if(this->state
& STRINGBUF_no_read
)
3639 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3641 basic_streambuf_char_setg(&this->base
, buf
,
3642 buf
+(basic_streambuf_char_gptr(&this->base
)-ptr
),
3643 basic_streambuf_char_pptr(&this->base
)+1);
3645 MSVCRT_operator_delete(ptr
);
3648 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3651 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3652 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3653 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_pbackfail
, 8)
3654 int __thiscall
basic_stringbuf_char_pbackfail(basic_stringbuf_char
*this, int c
)
3658 TRACE("(%p %x)\n", this, c
);
3660 cur
= basic_streambuf_char_gptr(&this->base
);
3661 if(!cur
|| cur
==basic_streambuf_char_eback(&this->base
)
3662 || (c
!=EOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
3667 basic_streambuf_char_gbump(&this->base
, -1);
3668 return c
==EOF
? !EOF
: c
;
3671 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ */
3672 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ */
3673 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_underflow
, 4)
3674 int __thiscall
basic_stringbuf_char_underflow(basic_stringbuf_char
*this)
3678 TRACE("(%p)\n", this);
3680 cur
= basic_streambuf_char_gptr(&this->base
);
3681 if(!cur
|| this->state
&STRINGBUF_no_read
)
3684 ptr
= basic_streambuf_char_pptr(&this->base
);
3685 if(this->seekhigh
< ptr
)
3686 this->seekhigh
= ptr
;
3688 ptr
= basic_streambuf_char_egptr(&this->base
);
3689 if(this->seekhigh
> ptr
)
3690 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
), cur
, this->seekhigh
);
3692 if(cur
< this->seekhigh
)
3697 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3698 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3699 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekoff
, 20)
3700 fpos_int
* __thiscall
basic_stringbuf_char_seekoff(basic_stringbuf_char
*this,
3701 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3703 char *beg
, *cur_r
, *cur_w
;
3705 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
3707 cur_w
= basic_streambuf_char_pptr(&this->base
);
3708 if(cur_w
> this->seekhigh
)
3709 this->seekhigh
= cur_w
;
3714 beg
= basic_streambuf_char_eback(&this->base
);
3715 cur_r
= basic_streambuf_char_gptr(&this->base
);
3716 if((mode
& OPENMODE_in
) && cur_r
) {
3717 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
3719 else if(way
== SEEKDIR_end
)
3720 off
+= this->seekhigh
-beg
;
3721 else if(way
!= SEEKDIR_beg
)
3724 if(off
<0 || off
>this->seekhigh
-beg
) {
3727 basic_streambuf_char_gbump(&this->base
, beg
-cur_r
+off
);
3728 if((mode
& OPENMODE_out
) && cur_w
) {
3729 basic_streambuf_char_setp_next(&this->base
, beg
,
3730 basic_streambuf_char_gptr(&this->base
),
3731 basic_streambuf_char_epptr(&this->base
));
3734 }else if((mode
& OPENMODE_out
) && cur_w
) {
3735 if(way
== SEEKDIR_cur
)
3737 else if(way
== SEEKDIR_end
)
3738 off
+= this->seekhigh
-beg
;
3739 else if(way
!= SEEKDIR_beg
)
3742 if(off
<0 || off
>this->seekhigh
-beg
)
3745 basic_streambuf_char_pbump(&this->base
, beg
-cur_w
+off
);
3754 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3755 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3756 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekpos
, 36)
3757 fpos_int
* __thiscall
basic_stringbuf_char_seekpos(basic_stringbuf_char
*this,
3758 fpos_int
*ret
, fpos_int pos
, int mode
)
3760 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3762 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
3767 return basic_stringbuf_char_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
3770 /* ?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 */
3771 /* ?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 */
3772 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_set
, 8)
3773 void __thiscall
basic_stringbuf_char_str_set(basic_stringbuf_char
*this, const basic_string_char
*str
)
3775 TRACE("(%p %p)\n", this, str
);
3777 basic_stringbuf_char__Tidy(this);
3778 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
), str
->size
, this->state
);
3781 /* ?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 */
3782 /* ?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 */
3783 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_get
, 8)
3784 basic_string_char
* __thiscall
basic_stringbuf_char_str_get(const basic_stringbuf_char
*this, basic_string_char
*ret
)
3788 TRACE("(%p)\n", this);
3790 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_char_pptr(&this->base
)) {
3793 ptr
= basic_streambuf_char_pbase(&this->base
);
3794 pptr
= basic_streambuf_char_pptr(&this->base
);
3796 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
3799 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_char_gptr(&this->base
)) {
3800 ptr
= basic_streambuf_char_eback(&this->base
);
3801 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, basic_streambuf_char_egptr(&this->base
) - ptr
);
3804 return MSVCP_basic_string_char_ctor(ret
);
3807 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEHH@Z */
3808 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEAAHH@Z */
3809 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z */
3810 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z */
3811 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Getstate
, 8)
3812 int __thiscall
basic_stringbuf_wchar__Getstate(basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3816 if(!(mode
& OPENMODE_in
))
3817 state
|= STRINGBUF_no_read
;
3819 if(!(mode
& OPENMODE_out
))
3820 state
|= STRINGBUF_no_write
;
3822 if(mode
& OPENMODE_ate
)
3823 state
|= STRINGBUF_at_end
;
3825 if(mode
& OPENMODE_app
)
3826 state
|= STRINGBUF_append
;
3831 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXPB_WIH@Z */
3832 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXPEB_W_KH@Z */
3833 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z */
3834 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z */
3835 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Init
, 16)
3836 void __thiscall
basic_stringbuf_wchar__Init(basic_stringbuf_wchar
*this, const wchar_t *str
, MSVCP_size_t count
, int state
)
3838 TRACE("(%p, %p, %ld, %d)\n", this, str
, count
, state
);
3840 basic_streambuf_wchar__Init_empty(&this->base
);
3842 this->state
= state
;
3843 this->seekhigh
= NULL
;
3846 wchar_t *buf
= MSVCRT_operator_new(count
);
3848 ERR("Out of memory\n");
3849 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3852 memcpy(buf
, str
, count
);
3853 this->seekhigh
= buf
+ count
;
3855 this->state
|= STRINGBUF_allocated
;
3857 if(!(state
& STRINGBUF_no_read
))
3858 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+ count
);
3860 if(!(state
& STRINGBUF_no_write
)) {
3861 basic_streambuf_wchar_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3863 if(!basic_streambuf_wchar_gptr(&this->base
))
3864 basic_streambuf_wchar_setg(&this->base
, buf
, 0, buf
);
3869 /* ??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 */
3870 /* ??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 */
3871 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_str
, 12)
3872 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_str(basic_stringbuf_wchar
*this,
3873 const basic_string_wchar
*str
, IOSB_openmode mode
)
3875 TRACE("(%p %p %d)\n", this, str
, mode
);
3877 basic_streambuf_wchar_ctor(&this->base
);
3878 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
3880 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
),
3881 str
->size
, basic_stringbuf_wchar__Getstate(this, mode
));
3885 /* ??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 */
3886 /* ??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 */
3887 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_str
, 12)
3888 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_str(basic_stringbuf_wchar
*this,
3889 const basic_string_wchar
*str
, IOSB_openmode mode
)
3891 basic_stringbuf_wchar_ctor_str(this, str
, mode
);
3892 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
3896 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
3897 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
3898 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_mode
, 8)
3899 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_mode(
3900 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3902 TRACE("(%p %d)\n", this, mode
);
3904 basic_streambuf_wchar_ctor(&this->base
);
3905 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
3907 basic_stringbuf_wchar__Init(this, NULL
, 0, basic_stringbuf_wchar__Getstate(this, mode
));
3911 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
3912 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
3913 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_mode
, 8)
3914 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_mode(
3915 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3917 basic_stringbuf_wchar_ctor_mode(this, mode
);
3918 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
3922 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
3923 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
3924 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor
, 4)
3925 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor(basic_stringbuf_wchar
*this)
3927 return basic_stringbuf_wchar_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3930 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
3931 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
3932 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor
, 4)
3933 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor(basic_stringbuf_wchar
*this)
3935 return basic_stringbuf_short_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3938 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXXZ */
3939 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXXZ */
3940 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ */
3941 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ */
3942 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Tidy
, 4)
3943 void __thiscall
basic_stringbuf_wchar__Tidy(basic_stringbuf_wchar
*this)
3945 TRACE("(%p)\n", this);
3947 if(this->state
& STRINGBUF_allocated
) {
3948 MSVCRT_operator_delete(basic_streambuf_wchar_eback(&this->base
));
3949 this->seekhigh
= NULL
;
3950 this->state
&= ~STRINGBUF_allocated
;
3953 basic_streambuf_wchar__Init_empty(&this->base
);
3956 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
3957 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
3958 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
3959 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
3960 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_dtor
, 4)
3961 void __thiscall
basic_stringbuf_wchar_dtor(basic_stringbuf_wchar
*this)
3963 TRACE("(%p)\n", this);
3965 basic_stringbuf_wchar__Tidy(this);
3966 basic_streambuf_wchar_dtor(&this->base
);
3969 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringbuf_wchar_vector_dtor
, 8)
3970 basic_stringbuf_wchar
* __thiscall
MSVCP_basic_stringbuf_wchar_vector_dtor(basic_stringbuf_wchar
*this, unsigned int flags
)
3972 TRACE("(%p %x)\n", this, flags
);
3975 /* we have an array, with the number of elements stored before the first object */
3976 int i
, *ptr
= (int *) this - 1;
3978 for (i
= *ptr
- 1; i
>= 0; i
--)
3979 basic_stringbuf_wchar_dtor(this+i
);
3981 MSVCRT_operator_delete(ptr
);
3983 basic_stringbuf_wchar_dtor(this);
3986 MSVCRT_operator_delete(this);
3992 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringbuf_short_vector_dtor
, 8)
3993 basic_stringbuf_wchar
* __thiscall
MSVCP_basic_stringbuf_short_vector_dtor(basic_stringbuf_wchar
*this, unsigned int flags
)
3995 return MSVCP_basic_stringbuf_wchar_vector_dtor(this, flags
);
3998 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
3999 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4000 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4001 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4002 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_overflow
, 8)
4003 unsigned short __thiscall
basic_stringbuf_wchar_overflow(basic_stringbuf_wchar
*this, unsigned short meta
)
4005 MSVCP_size_t oldsize
, size
;
4008 TRACE("(%p %x)\n", this, meta
);
4012 if(this->state
& STRINGBUF_no_write
)
4015 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4016 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
4017 basic_streambuf_wchar_setp_next(&this->base
, basic_streambuf_wchar_pbase(&this->base
),
4018 this->seekhigh
, basic_streambuf_wchar_epptr(&this->base
));
4020 if(ptr
&& ptr
<basic_streambuf_wchar_epptr(&this->base
))
4021 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4023 oldsize
= (ptr
? basic_streambuf_wchar_epptr(&this->base
)-basic_streambuf_wchar_eback(&this->base
): 0);
4026 buf
= MSVCRT_operator_new(size
);
4028 ERR("Out of memory\n");
4029 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
4033 this->seekhigh
= buf
;
4034 basic_streambuf_wchar_setp(&this->base
, buf
, buf
+size
);
4035 if(this->state
& STRINGBUF_no_read
)
4036 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4038 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+1);
4040 this->state
|= STRINGBUF_allocated
;
4042 ptr
= basic_streambuf_wchar_eback(&this->base
);
4043 memcpy(buf
, ptr
, oldsize
);
4045 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
4046 basic_streambuf_wchar_setp_next(&this->base
, buf
,
4047 buf
+(basic_streambuf_wchar_pptr(&this->base
)-ptr
), buf
+size
);
4048 if(this->state
& STRINGBUF_no_read
)
4049 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4051 basic_streambuf_wchar_setg(&this->base
, buf
,
4052 buf
+(basic_streambuf_wchar_gptr(&this->base
)-ptr
),
4053 basic_streambuf_wchar_pptr(&this->base
)+1);
4055 MSVCRT_operator_delete(ptr
);
4058 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4061 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4062 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4063 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4064 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4065 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_pbackfail
, 8)
4066 unsigned short __thiscall
basic_stringbuf_wchar_pbackfail(basic_stringbuf_wchar
*this, unsigned short c
)
4070 TRACE("(%p %x)\n", this, c
);
4072 cur
= basic_streambuf_wchar_gptr(&this->base
);
4073 if(!cur
|| cur
==basic_streambuf_wchar_eback(&this->base
)
4074 || (c
!=WEOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
4079 basic_streambuf_wchar_gbump(&this->base
, -1);
4080 return c
==WEOF
? !WEOF
: c
;
4083 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGXZ */
4084 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGXZ */
4085 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ */
4086 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ */
4087 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_underflow
, 4)
4088 unsigned short __thiscall
basic_stringbuf_wchar_underflow(basic_stringbuf_wchar
*this)
4092 TRACE("(%p)\n", this);
4094 cur
= basic_streambuf_wchar_gptr(&this->base
);
4095 if(!cur
|| this->state
&STRINGBUF_no_read
)
4098 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4099 if(this->seekhigh
< ptr
)
4100 this->seekhigh
= ptr
;
4102 ptr
= basic_streambuf_wchar_egptr(&this->base
);
4103 if(this->seekhigh
> ptr
)
4104 basic_streambuf_wchar_setg(&this->base
, basic_streambuf_wchar_eback(&this->base
), cur
, this->seekhigh
);
4106 if(cur
< this->seekhigh
)
4111 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4112 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4113 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4114 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4115 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekoff
, 20)
4116 fpos_int
* __thiscall
basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar
*this,
4117 fpos_int
*ret
, streamoff off
, int way
, int mode
)
4119 wchar_t *beg
, *cur_r
, *cur_w
;
4121 TRACE("(%p %p %ld %d %d)\n", this, ret
, off
, way
, mode
);
4123 cur_w
= basic_streambuf_wchar_pptr(&this->base
);
4124 if(cur_w
> this->seekhigh
)
4125 this->seekhigh
= cur_w
;
4130 beg
= basic_streambuf_wchar_eback(&this->base
);
4131 cur_r
= basic_streambuf_wchar_gptr(&this->base
);
4132 if((mode
& OPENMODE_in
) && cur_r
) {
4133 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
4135 else if(way
== SEEKDIR_end
)
4136 off
+= this->seekhigh
-beg
;
4137 else if(way
!= SEEKDIR_beg
)
4140 if(off
<0 || off
>this->seekhigh
-beg
) {
4143 basic_streambuf_wchar_gbump(&this->base
, beg
-cur_r
+off
);
4144 if((mode
& OPENMODE_out
) && cur_w
) {
4145 basic_streambuf_wchar_setp_next(&this->base
, beg
,
4146 basic_streambuf_wchar_gptr(&this->base
),
4147 basic_streambuf_wchar_epptr(&this->base
));
4150 }else if((mode
& OPENMODE_out
) && cur_w
) {
4151 if(way
== SEEKDIR_cur
)
4153 else if(way
== SEEKDIR_end
)
4154 off
+= this->seekhigh
-beg
;
4155 else if(way
!= SEEKDIR_beg
)
4158 if(off
<0 || off
>this->seekhigh
-beg
)
4161 basic_streambuf_wchar_pbump(&this->base
, beg
-cur_w
+off
);
4170 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4171 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4172 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4173 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4174 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekpos
, 36)
4175 fpos_int
* __thiscall
basic_stringbuf_wchar_seekpos(basic_stringbuf_wchar
*this,
4176 fpos_int
*ret
, fpos_int pos
, int mode
)
4178 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
4180 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
4185 return basic_stringbuf_wchar_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
4188 /* ?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 */
4189 /* ?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 */
4190 /* ?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 */
4191 /* ?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 */
4192 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_set
, 8)
4193 void __thiscall
basic_stringbuf_wchar_str_set(basic_stringbuf_wchar
*this, const basic_string_wchar
*str
)
4195 TRACE("(%p %p)\n", this, str
);
4197 basic_stringbuf_wchar__Tidy(this);
4198 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
), str
->size
, this->state
);
4201 /* ?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 */
4202 /* ?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 */
4203 /* ?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 */
4204 /* ?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 */
4205 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_get
, 8)
4206 basic_string_wchar
* __thiscall
basic_stringbuf_wchar_str_get(const basic_stringbuf_wchar
*this, basic_string_wchar
*ret
)
4210 TRACE("(%p)\n", this);
4212 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_wchar_pptr(&this->base
)) {
4215 ptr
= basic_streambuf_wchar_pbase(&this->base
);
4216 pptr
= basic_streambuf_wchar_pptr(&this->base
);
4218 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
4221 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_wchar_gptr(&this->base
)) {
4222 ptr
= basic_streambuf_wchar_eback(&this->base
);
4223 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, basic_streambuf_wchar_egptr(&this->base
) - ptr
);
4226 return MSVCP_basic_string_wchar_ctor(ret
);
4229 /* ??0ios_base@std@@IAE@XZ */
4230 /* ??0ios_base@std@@IEAA@XZ */
4231 DEFINE_THISCALL_WRAPPER(ios_base_ctor
, 4)
4232 ios_base
* __thiscall
ios_base_ctor(ios_base
*this)
4234 TRACE("(%p)\n", this);
4235 this->vtable
= &MSVCP_ios_base_vtable
;
4239 /* ??0ios_base@std@@QAE@ABV01@@Z */
4240 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
4241 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor
, 8)
4242 ios_base
* __thiscall
ios_base_copy_ctor(ios_base
*this, const ios_base
*copy
)
4244 TRACE("(%p %p)\n", this, copy
);
4246 this->vtable
= &MSVCP_ios_base_vtable
;
4250 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
4251 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
4252 DEFINE_THISCALL_WRAPPER(ios_base_Callfns
, 8)
4253 void __thiscall
ios_base_Callfns(ios_base
*this, IOS_BASE_event event
)
4255 IOS_BASE_fnarray
*cur
;
4257 TRACE("(%p %x)\n", this, event
);
4259 for(cur
=this->calls
; cur
; cur
=cur
->next
)
4260 cur
->event_handler(event
, this, cur
->index
);
4263 /* ?_Tidy@ios_base@std@@AAAXXZ */
4264 /* ?_Tidy@ios_base@std@@AEAAXXZ */
4265 void CDECL
ios_base_Tidy(ios_base
*this)
4267 IOS_BASE_iosarray
*arr_cur
, *arr_next
;
4268 IOS_BASE_fnarray
*event_cur
, *event_next
;
4270 TRACE("(%p)\n", this);
4272 ios_base_Callfns(this, EVENT_erase_event
);
4274 for(arr_cur
=this->arr
; arr_cur
; arr_cur
=arr_next
) {
4275 arr_next
= arr_cur
->next
;
4276 MSVCRT_operator_delete(arr_cur
);
4280 for(event_cur
=this->calls
; event_cur
; event_cur
=event_next
) {
4281 event_next
= event_cur
->next
;
4282 MSVCRT_operator_delete(event_cur
);
4287 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
4288 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
4289 void CDECL
ios_base_Ios_base_dtor(ios_base
*obj
)
4291 TRACE("(%p)\n", obj
);
4293 locale_dtor(obj
->loc
);
4294 MSVCRT_operator_delete(obj
->loc
);
4299 /* ??1ios_base@std@@UAE@XZ */
4300 /* ??1ios_base@std@@UEAA@XZ */
4301 DEFINE_THISCALL_WRAPPER(ios_base_dtor
, 4)
4302 void __thiscall
ios_base_dtor(ios_base
*this)
4304 ios_base_Ios_base_dtor(this);
4307 DEFINE_THISCALL_WRAPPER(MSVCP_ios_base_vector_dtor
, 8)
4308 ios_base
* __thiscall
MSVCP_ios_base_vector_dtor(ios_base
*this, unsigned int flags
)
4310 TRACE("(%p %x)\n", this, flags
);
4312 /* we have an array, with the number of elements stored before the first object */
4313 int i
, *ptr
= (int *)this-1;
4315 for(i
=*ptr
-1; i
>=0; i
--)
4316 ios_base_dtor(this+i
);
4317 MSVCRT_operator_delete(ptr
);
4319 ios_base_dtor(this);
4321 MSVCRT_operator_delete(this);
4327 DEFINE_THISCALL_WRAPPER(MSVCP_iosb_vector_dtor
, 8)
4328 void* __thiscall
MSVCP_iosb_vector_dtor(void *this, unsigned int flags
)
4330 TRACE("(%p %x)\n", this, flags
);
4332 int *ptr
= (int *)this-1;
4333 MSVCRT_operator_delete(ptr
);
4336 MSVCRT_operator_delete(this);
4342 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
4343 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
4344 DEFINE_THISCALL_WRAPPER(ios_base_Findarr
, 8)
4345 IOS_BASE_iosarray
* __thiscall
ios_base_Findarr(ios_base
*this, int index
)
4347 IOS_BASE_iosarray
*p
;
4349 TRACE("(%p %d)\n", this, index
);
4351 for(p
=this->arr
; p
; p
=p
->next
) {
4352 if(p
->index
== index
)
4356 for(p
=this->arr
; p
; p
=p
->next
) {
4357 if(!p
->long_val
&& !p
->ptr_val
) {
4363 p
= MSVCRT_operator_new(sizeof(IOS_BASE_iosarray
));
4364 p
->next
= this->arr
;
4372 /* ?iword@ios_base@std@@QAEAAJH@Z */
4373 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
4374 DEFINE_THISCALL_WRAPPER(ios_base_iword
, 8)
4375 LONG
* __thiscall
ios_base_iword(ios_base
*this, int index
)
4377 TRACE("(%p %d)\n", this, index
);
4378 return &ios_base_Findarr(this, index
)->long_val
;
4381 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
4382 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
4383 DEFINE_THISCALL_WRAPPER(ios_base_pword
, 8)
4384 void** __thiscall
ios_base_pword(ios_base
*this, int index
)
4386 TRACE("(%p %d)\n", this, index
);
4387 return &ios_base_Findarr(this, index
)->ptr_val
;
4390 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
4391 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
4392 DEFINE_THISCALL_WRAPPER(ios_base_register_callback
, 12)
4393 void __thiscall
ios_base_register_callback(ios_base
*this, IOS_BASE_event_callback callback
, int index
)
4395 IOS_BASE_fnarray
*event
;
4397 TRACE("(%p %p %d)\n", this, callback
, index
);
4399 event
= MSVCRT_operator_new(sizeof(IOS_BASE_fnarray
));
4400 event
->next
= this->calls
;
4401 event
->index
= index
;
4402 event
->event_handler
= callback
;
4403 this->calls
= event
;
4406 /* ?clear@ios_base@std@@QAEXH_N@Z */
4407 /* ?clear@ios_base@std@@QEAAXH_N@Z */
4408 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise
, 12)
4409 void __thiscall
ios_base_clear_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4411 TRACE("(%p %x %x)\n", this, state
, reraise
);
4413 this->state
= state
& IOSTATE_mask
;
4414 if(!(this->state
& this->except
))
4418 throw_exception(EXCEPTION_RERAISE
, NULL
);
4419 else if(this->state
& this->except
& IOSTATE_eofbit
)
4420 throw_exception(EXCEPTION_FAILURE
, "eofbit is set");
4421 else if(this->state
& this->except
& IOSTATE_failbit
)
4422 throw_exception(EXCEPTION_FAILURE
, "failbit is set");
4423 else if(this->state
& this->except
& IOSTATE_badbit
)
4424 throw_exception(EXCEPTION_FAILURE
, "badbit is set");
4425 else if(this->state
& this->except
& IOSTATE__Hardfail
)
4426 throw_exception(EXCEPTION_FAILURE
, "_Hardfail is set");
4429 /* ?clear@ios_base@std@@QAEXH@Z */
4430 /* ?clear@ios_base@std@@QEAAXH@Z */
4431 DEFINE_THISCALL_WRAPPER(ios_base_clear
, 8)
4432 void __thiscall
ios_base_clear(ios_base
*this, IOSB_iostate state
)
4434 ios_base_clear_reraise(this, state
, FALSE
);
4437 /* ?clear@ios_base@std@@QAEXI@Z */
4438 /* ?clear@ios_base@std@@QEAAXI@Z */
4439 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned
, 8)
4440 void __thiscall
ios_base_clear_unsigned(ios_base
*this, unsigned int state
)
4442 ios_base_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4445 /* ?exceptions@ios_base@std@@QAEXH@Z */
4446 /* ?exceptions@ios_base@std@@QEAAXH@Z */
4447 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set
, 8)
4448 void __thiscall
ios_base_exceptions_set(ios_base
*this, IOSB_iostate state
)
4450 TRACE("(%p %x)\n", this, state
);
4451 this->except
= state
& IOSTATE_mask
;
4452 ios_base_clear(this, this->state
);
4455 /* ?exceptions@ios_base@std@@QAEXI@Z */
4456 /* ?exceptions@ios_base@std@@QEAAXI@Z */
4457 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set_unsigned
, 8)
4458 void __thiscall
ios_base_exceptions_set_unsigned(ios_base
*this, unsigned int state
)
4460 TRACE("(%p %x)\n", this, state
);
4461 ios_base_exceptions_set(this, state
);
4464 /* ?exceptions@ios_base@std@@QBEHXZ */
4465 /* ?exceptions@ios_base@std@@QEBAHXZ */
4466 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_get
, 4)
4467 IOSB_iostate __thiscall
ios_base_exceptions_get(ios_base
*this)
4469 TRACE("(%p)\n", this);
4470 return this->except
;
4473 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
4474 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
4475 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt
, 8)
4476 ios_base
* __thiscall
ios_base_copyfmt(ios_base
*this, const ios_base
*rhs
)
4478 TRACE("(%p %p)\n", this, rhs
);
4481 IOS_BASE_iosarray
*arr_cur
;
4482 IOS_BASE_fnarray
*event_cur
;
4484 ios_base_Tidy(this);
4486 for(arr_cur
=rhs
->arr
; arr_cur
; arr_cur
=arr_cur
->next
) {
4487 if(arr_cur
->long_val
)
4488 *ios_base_iword(this, arr_cur
->index
) = arr_cur
->long_val
;
4489 if(arr_cur
->ptr_val
)
4490 *ios_base_pword(this, arr_cur
->index
) = arr_cur
->ptr_val
;
4492 this->stdstr
= rhs
->stdstr
;
4493 this->fmtfl
= rhs
->fmtfl
;
4494 this->prec
= rhs
->prec
;
4495 this->wide
= rhs
->wide
;
4496 locale_operator_assign(this->loc
, rhs
->loc
);
4498 for(event_cur
=rhs
->calls
; event_cur
; event_cur
=event_cur
->next
)
4499 ios_base_register_callback(this, event_cur
->event_handler
, event_cur
->index
);
4501 ios_base_Callfns(this, EVENT_copyfmt_event
);
4502 ios_base_exceptions_set(this, rhs
->except
);
4508 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
4509 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
4510 DEFINE_THISCALL_WRAPPER(ios_base_assign
, 8)
4511 ios_base
* __thiscall
ios_base_assign(ios_base
*this, const ios_base
*right
)
4513 TRACE("(%p %p)\n", this, right
);
4516 this->state
= right
->state
;
4517 ios_base_copyfmt(this, right
);
4523 /* ?fail@ios_base@std@@QBE_NXZ */
4524 /* ?fail@ios_base@std@@QEBA_NXZ */
4525 DEFINE_THISCALL_WRAPPER(ios_base_fail
, 4)
4526 MSVCP_bool __thiscall
ios_base_fail(const ios_base
*this)
4528 TRACE("(%p)\n", this);
4529 return (this->state
& (IOSTATE_failbit
|IOSTATE_badbit
)) != 0;
4532 /* ??7ios_base@std@@QBE_NXZ */
4533 /* ??7ios_base@std@@QEBA_NXZ */
4534 DEFINE_THISCALL_WRAPPER(ios_base_op_succ
, 4)
4535 MSVCP_bool __thiscall
ios_base_op_succ(const ios_base
*this)
4537 TRACE("(%p)\n", this);
4538 return ios_base_fail(this);
4541 /* ??Bios_base@std@@QBEPAXXZ */
4542 /* ??Bios_base@std@@QEBAPEAXXZ */
4543 DEFINE_THISCALL_WRAPPER(ios_base_op_fail
, 4)
4544 void* __thiscall
ios_base_op_fail(const ios_base
*this)
4546 TRACE("(%p)\n", this);
4547 return ios_base_fail(this) ? NULL
: (void*)this;
4550 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
4551 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
4552 void CDECL
ios_base_Addstd(ios_base
*add
)
4554 FIXME("(%p) stub\n", add
);
4557 /* ?_Index_func@ios_base@std@@CAAAHXZ */
4558 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
4559 int* CDECL
ios_base_Index_func(void)
4562 return &ios_base_Index
;
4565 /* ?_Init@ios_base@std@@IAEXXZ */
4566 /* ?_Init@ios_base@std@@IEAAXXZ */
4567 DEFINE_THISCALL_WRAPPER(ios_base_Init
, 4)
4568 void __thiscall
ios_base_Init(ios_base
*this)
4570 TRACE("(%p)\n", this);
4573 this->state
= this->except
= IOSTATE_goodbit
;
4574 this->fmtfl
= FMTFLAG_skipws
| FMTFLAG_dec
;
4579 this->loc
= MSVCRT_operator_new(sizeof(locale
));
4580 locale_ctor(this->loc
);
4583 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
4584 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
4585 MSVCP_bool
* CDECL
ios_base_Sync_func(void)
4588 return &ios_base_Sync
;
4591 /* ?bad@ios_base@std@@QBE_NXZ */
4592 /* ?bad@ios_base@std@@QEBA_NXZ */
4593 DEFINE_THISCALL_WRAPPER(ios_base_bad
, 4)
4594 MSVCP_bool __thiscall
ios_base_bad(const ios_base
*this)
4596 TRACE("(%p)\n", this);
4597 return (this->state
& IOSTATE_badbit
) != 0;
4600 /* ?eof@ios_base@std@@QBE_NXZ */
4601 /* ?eof@ios_base@std@@QEBA_NXZ */
4602 DEFINE_THISCALL_WRAPPER(ios_base_eof
, 4)
4603 MSVCP_bool __thiscall
ios_base_eof(const ios_base
*this)
4605 TRACE("(%p)\n", this);
4606 return (this->state
& IOSTATE_eofbit
) != 0;
4609 /* ?flags@ios_base@std@@QAEHH@Z */
4610 /* ?flags@ios_base@std@@QEAAHH@Z */
4611 DEFINE_THISCALL_WRAPPER(ios_base_flags_set
, 8)
4612 IOSB_fmtflags __thiscall
ios_base_flags_set(ios_base
*this, IOSB_fmtflags flags
)
4614 IOSB_fmtflags ret
= this->fmtfl
;
4616 TRACE("(%p %x)\n", this, flags
);
4618 this->fmtfl
= flags
& FMTFLAG_mask
;
4622 /* ?flags@ios_base@std@@QBEHXZ */
4623 /* ?flags@ios_base@std@@QEBAHXZ */
4624 DEFINE_THISCALL_WRAPPER(ios_base_flags_get
, 4)
4625 IOSB_fmtflags __thiscall
ios_base_flags_get(const ios_base
*this)
4627 TRACE("(%p)\n", this);
4631 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
4632 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
4633 DEFINE_THISCALL_WRAPPER(ios_base_getloc
, 8)
4634 locale
* __thiscall
ios_base_getloc(const ios_base
*this, locale
*ret
)
4636 TRACE("(%p)\n", this);
4637 return locale_copy_ctor(ret
, this->loc
);
4640 /* ?good@ios_base@std@@QBE_NXZ */
4641 /* ?good@ios_base@std@@QEBA_NXZ */
4642 DEFINE_THISCALL_WRAPPER(ios_base_good
, 4)
4643 MSVCP_bool __thiscall
ios_base_good(const ios_base
*this)
4645 TRACE("(%p)\n", this);
4646 return this->state
== IOSTATE_goodbit
;
4649 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
4650 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
4651 DEFINE_THISCALL_WRAPPER(ios_base_imbue
, 12)
4652 locale
* __thiscall
ios_base_imbue(ios_base
*this, locale
*ret
, const locale
*loc
)
4654 TRACE("(%p %p)\n", this, loc
);
4656 locale_copy_ctor(this->loc
, loc
);
4660 /* ?precision@ios_base@std@@QAEHH@Z */
4661 /* ?precision@ios_base@std@@QEAA_J_J@Z */
4662 DEFINE_THISCALL_WRAPPER(ios_base_precision_set
, 8)
4663 streamsize __thiscall
ios_base_precision_set(ios_base
*this, streamsize precision
)
4665 streamsize ret
= this->prec
;
4667 TRACE("(%p %ld)\n", this, precision
);
4669 this->prec
= precision
;
4673 /* ?precision@ios_base@std@@QBEHXZ */
4674 /* ?precision@ios_base@std@@QEBA_JXZ */
4675 DEFINE_THISCALL_WRAPPER(ios_base_precision_get
, 4)
4676 streamsize __thiscall
ios_base_precision_get(const ios_base
*this)
4678 TRACE("(%p)\n", this);
4682 /* ?rdstate@ios_base@std@@QBEHXZ */
4683 /* ?rdstate@ios_base@std@@QEBAHXZ */
4684 DEFINE_THISCALL_WRAPPER(ios_base_rdstate
, 4)
4685 IOSB_iostate __thiscall
ios_base_rdstate(const ios_base
*this)
4687 TRACE("(%p)\n", this);
4691 /* ?setf@ios_base@std@@QAEHHH@Z */
4692 /* ?setf@ios_base@std@@QEAAHHH@Z */
4693 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask
, 12)
4694 IOSB_fmtflags __thiscall
ios_base_setf_mask(ios_base
*this, IOSB_fmtflags flags
, IOSB_fmtflags mask
)
4696 IOSB_fmtflags ret
= this->fmtfl
;
4698 TRACE("(%p %x %x)\n", this, flags
, mask
);
4700 this->fmtfl
= (this->fmtfl
& (~mask
)) | (flags
& mask
& FMTFLAG_mask
);
4704 /* ?setf@ios_base@std@@QAEHH@Z */
4705 /* ?setf@ios_base@std@@QEAAHH@Z */
4706 DEFINE_THISCALL_WRAPPER(ios_base_setf
, 8)
4707 IOSB_fmtflags __thiscall
ios_base_setf(ios_base
*this, IOSB_fmtflags flags
)
4709 return ios_base_setf_mask(this, flags
, ~0);
4712 /* ?setstate@ios_base@std@@QAEXH_N@Z */
4713 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
4714 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise
, 12)
4715 void __thiscall
ios_base_setstate_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4717 TRACE("(%p %x %x)\n", this, state
, reraise
);
4719 if(state
!= IOSTATE_goodbit
)
4720 ios_base_clear_reraise(this, this->state
| state
, reraise
);
4723 /* ?setstate@ios_base@std@@QAEXH@Z */
4724 /* ?setstate@ios_base@std@@QEAAXH@Z */
4725 DEFINE_THISCALL_WRAPPER(ios_base_setstate
, 8)
4726 void __thiscall
ios_base_setstate(ios_base
*this, IOSB_iostate state
)
4728 ios_base_setstate_reraise(this, state
, FALSE
);
4731 /* ?setstate@ios_base@std@@QAEXI@Z */
4732 /* ?setstate@ios_base@std@@QEAAXI@Z */
4733 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned
, 8)
4734 void __thiscall
ios_base_setstate_unsigned(ios_base
*this, unsigned int state
)
4736 ios_base_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
4739 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
4740 MSVCP_bool CDECL
ios_base_sync_with_stdio(MSVCP_bool sync
)
4745 TRACE("(%x)\n", sync
);
4747 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4748 ret
= ios_base_Sync
;
4749 ios_base_Sync
= sync
;
4750 _Lockit_dtor(&lock
);
4754 /* ?unsetf@ios_base@std@@QAEXH@Z */
4755 /* ?unsetf@ios_base@std@@QEAAXH@Z */
4756 DEFINE_THISCALL_WRAPPER(ios_base_unsetf
, 8)
4757 void __thiscall
ios_base_unsetf(ios_base
*this, IOSB_fmtflags flags
)
4759 TRACE("(%p %x)\n", this, flags
);
4760 this->fmtfl
&= ~flags
;
4763 /* ?width@ios_base@std@@QAEHH@Z */
4764 /* ?width@ios_base@std@@QEAA_J_J@Z */
4765 DEFINE_THISCALL_WRAPPER(ios_base_width_set
, 8)
4766 streamsize __thiscall
ios_base_width_set(ios_base
*this, streamsize width
)
4768 streamsize ret
= this->wide
;
4770 TRACE("(%p %ld)\n", this, width
);
4776 /* ?width@ios_base@std@@QBEHXZ */
4777 /* ?width@ios_base@std@@QEBA_JXZ */
4778 DEFINE_THISCALL_WRAPPER(ios_base_width_get
, 4)
4779 streamsize __thiscall
ios_base_width_get(ios_base
*this)
4781 TRACE("(%p)\n", this);
4785 /* ?xalloc@ios_base@std@@SAHXZ */
4786 int CDECL
ios_base_xalloc(void)
4793 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4794 ret
= ios_base_Index
++;
4795 _Lockit_dtor(&lock
);
4799 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
4800 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
4801 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor
, 4)
4802 basic_ios_char
* __thiscall
basic_ios_char_ctor(basic_ios_char
*this)
4804 TRACE("(%p)\n", this);
4806 ios_base_ctor(&this->base
);
4807 this->base
.vtable
= &MSVCP_basic_ios_char_vtable
;
4811 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4812 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4813 DEFINE_THISCALL_WRAPPER(basic_ios_char_init
, 12)
4814 void __thiscall
basic_ios_char_init(basic_ios_char
*this, basic_streambuf_char
*streambuf
, MSVCP_bool isstd
)
4816 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
4817 ios_base_Init(&this->base
);
4818 this->strbuf
= streambuf
;
4819 this->stream
= NULL
;
4823 ios_base_setstate(&this->base
, IOSTATE_badbit
);
4826 FIXME("standard streams not handled yet\n");
4829 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4830 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4831 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor_streambuf
, 8)
4832 basic_ios_char
* __thiscall
basic_ios_char_ctor_streambuf(basic_ios_char
*this, basic_streambuf_char
*strbuf
)
4834 TRACE("(%p %p)\n", this, strbuf
);
4836 basic_ios_char_ctor(this);
4837 basic_ios_char_init(this, strbuf
, FALSE
);
4841 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
4842 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
4843 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor
, 4)
4844 void __thiscall
basic_ios_char_dtor(basic_ios_char
*this)
4846 TRACE("(%p)\n", this);
4847 ios_base_dtor(&this->base
);
4850 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_char_vector_dtor
, 8)
4851 basic_ios_char
* __thiscall
MSVCP_basic_ios_char_vector_dtor(basic_ios_char
*this, unsigned int flags
)
4853 TRACE("(%p %x)\n", this, flags
);
4855 /* we have an array, with the number of elements stored before the first object */
4856 int i
, *ptr
= (int *)this-1;
4858 for(i
=*ptr
-1; i
>=0; i
--)
4859 basic_ios_char_dtor(this+i
);
4860 MSVCRT_operator_delete(ptr
);
4862 basic_ios_char_dtor(this);
4864 MSVCRT_operator_delete(this);
4870 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
4871 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
4872 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise
, 12)
4873 void __thiscall
basic_ios_char_clear_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4875 TRACE("(%p %x %x)\n", this, state
, reraise
);
4876 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
4879 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
4880 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
4881 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear
, 8)
4882 void __thiscall
basic_ios_char_clear(basic_ios_char
*this, unsigned int state
)
4884 basic_ios_char_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4887 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
4888 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
4889 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt
, 8)
4890 basic_ios_char
* __thiscall
basic_ios_char_copyfmt(basic_ios_char
*this, basic_ios_char
*copy
)
4892 TRACE("(%p %p)\n", this, copy
);
4896 this->stream
= copy
->stream
;
4897 this->fillch
= copy
->fillch
;
4898 ios_base_copyfmt(&this->base
, ©
->base
);
4902 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
4903 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
4904 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set
, 8)
4905 char __thiscall
basic_ios_char_fill_set(basic_ios_char
*this, char fill
)
4907 char ret
= this->fillch
;
4909 TRACE("(%p %c)\n", this, fill
);
4911 this->fillch
= fill
;
4915 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
4916 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
4917 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get
, 4)
4918 char __thiscall
basic_ios_char_fill_get(basic_ios_char
*this)
4920 TRACE("(%p)\n", this);
4921 return this->fillch
;
4924 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
4925 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
4926 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue
, 12)
4927 locale
*__thiscall
basic_ios_char_imbue(basic_ios_char
*this, locale
*ret
, const locale
*loc
)
4929 TRACE("(%p %p %p)\n", this, ret
, loc
);
4932 basic_streambuf_char_pubimbue(this->strbuf
, ret
, loc
);
4936 return ios_base_imbue(&this->base
, ret
, loc
);
4939 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
4940 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
4941 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow
, 12)
4942 char __thiscall
basic_ios_char_narrow(basic_ios_char
*this, char ch
, char def
)
4944 TRACE("(%p %c %c)\n", this, ch
, def
);
4945 return ctype_char_narrow_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
, def
);
4948 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
4949 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
4950 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set
, 8)
4951 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_set(basic_ios_char
*this, basic_streambuf_char
*streambuf
)
4953 basic_streambuf_char
*ret
= this->strbuf
;
4955 TRACE("(%p %p)\n", this, streambuf
);
4957 this->strbuf
= streambuf
;
4958 basic_ios_char_clear(this, IOSTATE_goodbit
);
4962 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
4963 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
4964 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get
, 4)
4965 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_get(const basic_ios_char
*this)
4967 TRACE("(%p)\n", this);
4968 return this->strbuf
;
4971 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
4972 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
4973 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise
, 12)
4974 void __thiscall
basic_ios_char_setstate_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4976 TRACE("(%p %x %x)\n", this, state
, reraise
);
4978 if(state
!= IOSTATE_goodbit
)
4979 basic_ios_char_clear_reraise(this, this->base
.state
| state
, reraise
);
4982 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
4983 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
4984 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate
, 8)
4985 void __thiscall
basic_ios_char_setstate(basic_ios_char
*this, unsigned int state
)
4987 basic_ios_char_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
4990 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
4991 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
4992 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set
, 8)
4993 basic_ostream_char
* __thiscall
basic_ios_char_tie_set(basic_ios_char
*this, basic_ostream_char
*ostream
)
4995 basic_ostream_char
*ret
= this->stream
;
4997 TRACE("(%p %p)\n", this, ostream
);
4999 this->stream
= ostream
;
5003 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5004 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5005 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get
, 4)
5006 basic_ostream_char
* __thiscall
basic_ios_char_tie_get(const basic_ios_char
*this)
5008 TRACE("(%p)\n", this);
5009 return this->stream
;
5012 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
5013 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
5014 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen
, 8)
5015 char __thiscall
basic_ios_char_widen(basic_ios_char
*this, char ch
)
5017 TRACE("(%p %c)\n", this, ch
);
5018 return ctype_char_widen_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
);
5022 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
5023 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
5024 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor
, 4)
5025 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor(basic_ios_wchar
*this)
5027 TRACE("(%p)\n", this);
5029 ios_base_ctor(&this->base
);
5030 this->base
.vtable
= &MSVCP_basic_ios_wchar_vtable
;
5034 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ */
5035 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IEAA@XZ */
5036 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor
, 4)
5037 basic_ios_wchar
* __thiscall
basic_ios_short_ctor(basic_ios_wchar
*this)
5039 basic_ios_wchar_ctor(this);
5040 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5044 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5045 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5046 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5047 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5048 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init
, 12)
5049 void __thiscall
basic_ios_wchar_init(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
, MSVCP_bool isstd
)
5051 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
5052 ios_base_Init(&this->base
);
5053 this->strbuf
= streambuf
;
5054 this->stream
= NULL
;
5058 ios_base_setstate(&this->base
, IOSTATE_badbit
);
5061 FIXME("standard streams not handled yet\n");
5064 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5065 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5066 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor_streambuf
, 8)
5067 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5069 TRACE("(%p %p)\n", this, strbuf
);
5071 basic_ios_wchar_ctor(this);
5072 basic_ios_wchar_init(this, strbuf
, FALSE
);
5076 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5077 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5078 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor_streambuf
, 8)
5079 basic_ios_wchar
* __thiscall
basic_ios_short_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5081 basic_ios_wchar_ctor_streambuf(this, strbuf
);
5082 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5086 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
5087 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
5088 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ */
5089 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UEAA@XZ */
5090 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor
, 4)
5091 void __thiscall
basic_ios_wchar_dtor(basic_ios_wchar
*this)
5093 TRACE("(%p)\n", this);
5094 ios_base_dtor(&this->base
);
5097 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_wchar_vector_dtor
, 8)
5098 basic_ios_wchar
* __thiscall
MSVCP_basic_ios_wchar_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
5100 TRACE("(%p %x)\n", this, flags
);
5102 /* we have an array, with the number of elements stored before the first object */
5103 int i
, *ptr
= (int *)this-1;
5105 for(i
=*ptr
-1; i
>=0; i
--)
5106 basic_ios_wchar_dtor(this+i
);
5107 MSVCRT_operator_delete(ptr
);
5109 basic_ios_wchar_dtor(this);
5111 MSVCRT_operator_delete(this);
5117 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_short_vector_dtor
, 8)
5118 basic_ios_wchar
* __thiscall
MSVCP_basic_ios_short_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
5120 return MSVCP_basic_ios_wchar_vector_dtor(this, flags
);
5123 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5124 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5125 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5126 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5127 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise
, 12)
5128 void __thiscall
basic_ios_wchar_clear_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5130 TRACE("(%p %x %x)\n", this, state
, reraise
);
5131 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
5134 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5135 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5136 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5137 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5138 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear
, 8)
5139 void __thiscall
basic_ios_wchar_clear(basic_ios_wchar
*this, unsigned int state
)
5141 basic_ios_wchar_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
5144 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
5145 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5146 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z */
5147 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5148 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt
, 8)
5149 basic_ios_wchar
* __thiscall
basic_ios_wchar_copyfmt(basic_ios_wchar
*this, basic_ios_wchar
*copy
)
5151 TRACE("(%p %p)\n", this, copy
);
5155 this->stream
= copy
->stream
;
5156 this->fillch
= copy
->fillch
;
5157 ios_base_copyfmt(&this->base
, ©
->base
);
5161 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
5162 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
5163 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z */
5164 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
5165 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set
, 8)
5166 wchar_t __thiscall
basic_ios_wchar_fill_set(basic_ios_wchar
*this, wchar_t fill
)
5168 wchar_t ret
= this->fillch
;
5170 TRACE("(%p %c)\n", this, fill
);
5172 this->fillch
= fill
;
5176 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
5177 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
5178 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ */
5179 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGXZ */
5180 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get
, 4)
5181 wchar_t __thiscall
basic_ios_wchar_fill_get(basic_ios_wchar
*this)
5183 TRACE("(%p)\n", this);
5184 return this->fillch
;
5187 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5188 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5189 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5190 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5191 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue
, 12)
5192 locale
*__thiscall
basic_ios_wchar_imbue(basic_ios_wchar
*this, locale
*ret
, const locale
*loc
)
5194 TRACE("(%p %p %p)\n", this, ret
, loc
);
5197 return basic_streambuf_wchar_pubimbue(this->strbuf
, ret
, loc
);
5199 locale_copy_ctor(ret
, loc
);
5203 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
5204 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
5205 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z */
5206 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBADGD@Z */
5207 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow
, 12)
5208 char __thiscall
basic_ios_wchar_narrow(basic_ios_wchar
*this, wchar_t ch
, char def
)
5210 TRACE("(%p %c %c)\n", this, ch
, def
);
5211 return ctype_wchar_narrow_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
, def
);
5214 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5215 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5216 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z */
5217 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5218 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set
, 8)
5219 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_set(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
)
5221 basic_streambuf_wchar
*ret
= this->strbuf
;
5223 TRACE("(%p %p)\n", this, streambuf
);
5225 this->strbuf
= streambuf
;
5226 basic_ios_wchar_clear(this, IOSTATE_goodbit
);
5230 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5231 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5232 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5233 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5234 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get
, 4)
5235 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_get(const basic_ios_wchar
*this)
5237 TRACE("(%p)\n", this);
5238 return this->strbuf
;
5241 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5242 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5243 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5244 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5245 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise
, 12)
5246 void __thiscall
basic_ios_wchar_setstate_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5248 TRACE("(%p %x %x)\n", this, state
, reraise
);
5250 if(state
!= IOSTATE_goodbit
)
5251 basic_ios_wchar_clear_reraise(this, this->base
.state
| state
, reraise
);
5254 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5255 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5256 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5257 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5258 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate
, 8)
5259 void __thiscall
basic_ios_wchar_setstate(basic_ios_wchar
*this, IOSB_iostate state
)
5261 basic_ios_wchar_setstate_reraise(this, state
, FALSE
);
5264 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5265 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5266 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z */
5267 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5268 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set
, 8)
5269 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_set(basic_ios_wchar
*this, basic_ostream_wchar
*ostream
)
5271 basic_ostream_wchar
*ret
= this->stream
;
5273 TRACE("(%p %p)\n", this, ostream
);
5275 this->stream
= ostream
;
5279 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5280 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5281 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5282 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5283 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get
, 4)
5284 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_get(const basic_ios_wchar
*this)
5286 TRACE("(%p)\n", this);
5287 return this->stream
;
5290 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
5291 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
5292 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z */
5293 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGD@Z */
5294 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen
, 8)
5295 wchar_t __thiscall
basic_ios_wchar_widen(basic_ios_wchar
*this, char ch
)
5297 TRACE("(%p %c)\n", this, ch
);
5298 return ctype_wchar_widen_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
);
5301 /* Caution: basic_ostream uses virtual inheritance.
5302 * All constructors have additional parameter that says if base class should be initialized.
5303 * Base class needs to be accessed using vbtable.
5305 static inline basic_ios_char
* basic_ostream_char_get_basic_ios(basic_ostream_char
*this)
5307 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
5310 static inline basic_ios_char
* basic_ostream_char_to_basic_ios(basic_ostream_char
*ptr
)
5312 return (basic_ios_char
*)((char*)ptr
+basic_ostream_char_vbtable
[1]);
5315 static inline basic_ostream_char
* basic_ostream_char_from_basic_ios(basic_ios_char
*ptr
)
5317 return (basic_ostream_char
*)((char*)ptr
-basic_ostream_char_vbtable
[1]);
5320 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5321 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5322 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor
, 16)
5323 basic_ostream_char
* __thiscall
basic_ostream_char_ctor(basic_ostream_char
*this,
5324 basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
5326 basic_ios_char
*base
;
5328 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
5331 this->vbtable
= basic_ostream_char_vbtable
;
5332 base
= basic_ostream_char_get_basic_ios(this);
5333 basic_ios_char_ctor(base
);
5335 base
= basic_ostream_char_get_basic_ios(this);
5338 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5339 basic_ios_char_init(base
, strbuf
, isstd
);
5343 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
5344 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
5345 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor_uninitialized
, 16)
5346 basic_ostream_char
* __thiscall
basic_ostream_char_ctor_uninitialized(basic_ostream_char
*this,
5347 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
5349 basic_ios_char
*base
;
5351 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
5354 this->vbtable
= basic_ostream_char_vbtable
;
5355 base
= basic_ostream_char_get_basic_ios(this);
5356 basic_ios_char_ctor(base
);
5358 base
= basic_ostream_char_get_basic_ios(this);
5361 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5363 ios_base_Addstd(&base
->base
);
5367 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
5368 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
5369 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor
, 4)
5370 void __thiscall
basic_ostream_char_dtor(basic_ios_char
*base
)
5372 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5374 /* don't destroy virtual base here */
5375 TRACE("(%p)\n", this);
5378 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5379 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5380 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vbase_dtor
, 4)
5381 void __thiscall
basic_ostream_char_vbase_dtor(basic_ostream_char
*this)
5383 TRACE("(%p)\n", this);
5384 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(this));
5385 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(this));
5388 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_char_vector_dtor
, 8)
5389 basic_ostream_char
* __thiscall
MSVCP_basic_ostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
5391 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5393 TRACE("(%p %x)\n", this, flags
);
5396 /* we have an array, with the number of elements stored before the first object */
5397 int i
, *ptr
= (int *)this-1;
5399 for(i
=*ptr
-1; i
>=0; i
--)
5400 basic_ostream_char_vbase_dtor(this+i
);
5401 MSVCRT_operator_delete(ptr
);
5403 basic_ostream_char_vbase_dtor(this);
5405 MSVCRT_operator_delete(this);
5411 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
5412 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
5413 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush
, 4)
5414 basic_ostream_char
* __thiscall
basic_ostream_char_flush(basic_ostream_char
*this)
5416 /* this function is not matching C++ specification */
5417 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5419 TRACE("(%p)\n", this);
5421 if(basic_ios_char_rdbuf_get(base
) && ios_base_good(&base
->base
)
5422 && basic_streambuf_char_pubsync(basic_ios_char_rdbuf_get(base
))==-1)
5423 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5427 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5428 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5429 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx
, 4)
5430 void __thiscall
basic_ostream_char__Osfx(basic_ostream_char
*this)
5432 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5434 TRACE("(%p)\n", this);
5436 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
5437 basic_ostream_char_flush(this);
5440 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5441 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5442 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx
, 4)
5443 void __thiscall
basic_ostream_char_osfx(basic_ostream_char
*this)
5445 TRACE("(%p)\n", this);
5446 basic_ostream_char__Osfx(this);
5449 static BOOL
basic_ostream_char_sentry_create(basic_ostream_char
*ostr
)
5451 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5453 if(basic_ios_char_rdbuf_get(base
))
5454 basic_streambuf_char__Lock(base
->strbuf
);
5456 if(ios_base_good(&base
->base
) && base
->stream
)
5457 basic_ostream_char_flush(base
->stream
);
5459 return ios_base_good(&base
->base
);
5462 static void basic_ostream_char_sentry_destroy(basic_ostream_char
*ostr
)
5464 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5466 if(ios_base_good(&base
->base
) && !__uncaught_exception())
5467 basic_ostream_char_osfx(ostr
);
5469 if(basic_ios_char_rdbuf_get(base
))
5470 basic_streambuf_char__Unlock(base
->strbuf
);
5473 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
5474 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
5475 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx
, 4)
5476 MSVCP_bool __thiscall
basic_ostream_char_opfx(basic_ostream_char
*this)
5478 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5480 TRACE("(%p)\n", this);
5482 if(ios_base_good(&base
->base
) && base
->stream
)
5483 basic_ostream_char_flush(base
->stream
);
5484 return ios_base_good(&base
->base
);
5487 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
5488 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
5489 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put
, 8)
5490 basic_ostream_char
* __thiscall
basic_ostream_char_put(basic_ostream_char
*this, char ch
)
5492 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5494 TRACE("(%p %c)\n", this, ch
);
5496 if(!basic_ostream_char_sentry_create(this)
5497 || basic_streambuf_char_sputc(base
->strbuf
, ch
)==EOF
) {
5498 basic_ostream_char_sentry_destroy(this);
5499 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5503 basic_ostream_char_sentry_destroy(this);
5507 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
5508 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
5509 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp
, 12)
5510 basic_ostream_char
* __thiscall
basic_ostream_char_seekp(basic_ostream_char
*this, streamoff off
, int way
)
5512 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5514 TRACE("(%p %ld %d)\n", this, off
, way
);
5516 if(!ios_base_fail(&base
->base
)) {
5519 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5520 &seek
, off
, way
, OPENMODE_out
);
5521 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5522 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5527 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
5528 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
5529 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos
, 28)
5530 basic_ostream_char
* __thiscall
basic_ostream_char_seekp_fpos(basic_ostream_char
*this, fpos_int pos
)
5532 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5534 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
5536 if(!ios_base_fail(&base
->base
)) {
5539 basic_streambuf_char_pubseekpos(basic_ios_char_rdbuf_get(base
),
5540 &seek
, pos
, OPENMODE_out
);
5541 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5542 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5547 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
5548 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
5549 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp
, 8)
5550 fpos_int
* __thiscall
basic_ostream_char_tellp(basic_ostream_char
*this, fpos_int
*ret
)
5552 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5554 TRACE("(%p)\n", this);
5556 if(!ios_base_fail(&base
->base
)) {
5557 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5558 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
5567 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
5568 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
5569 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write
, 12)
5570 basic_ostream_char
* __thiscall
basic_ostream_char_write(basic_ostream_char
*this, const char *str
, streamsize count
)
5572 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5574 TRACE("(%p %s %ld)\n", this, debugstr_a(str
), count
);
5576 if(!basic_ostream_char_sentry_create(this)
5577 || basic_streambuf_char_sputn(base
->strbuf
, str
, count
)!=count
) {
5578 basic_ostream_char_sentry_destroy(this);
5579 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5583 basic_ostream_char_sentry_destroy(this);
5587 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
5588 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
5589 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short
, 8)
5590 basic_ostream_char
* __thiscall
basic_ostream_char_print_short(basic_ostream_char
*this, short val
)
5592 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5593 int state
= IOSTATE_goodbit
;
5595 TRACE("(%p %d)\n", this, val
);
5597 if(basic_ostream_char_sentry_create(this)) {
5598 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5599 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5600 ostreambuf_iterator_char dest
= {0, strbuf
};
5602 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
),
5603 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
5604 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
5606 basic_ostream_char_sentry_destroy(this);
5608 basic_ios_char_setstate(base
, state
);
5612 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
5613 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
5614 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort
, 8)
5615 basic_ostream_char
* __thiscall
basic_ostream_char_print_ushort(basic_ostream_char
*this, unsigned short val
)
5617 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5618 int state
= IOSTATE_goodbit
;
5620 TRACE("(%p %u)\n", this, val
);
5622 if(basic_ostream_char_sentry_create(this)) {
5623 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5624 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5625 ostreambuf_iterator_char dest
= {0, strbuf
};
5627 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5629 basic_ostream_char_sentry_destroy(this);
5631 basic_ios_char_setstate(base
, state
);
5635 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
5636 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
5637 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
5638 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
5639 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int
, 8)
5640 basic_ostream_char
* __thiscall
basic_ostream_char_print_int(basic_ostream_char
*this, int val
)
5642 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5643 int state
= IOSTATE_goodbit
;
5645 TRACE("(%p %d)\n", this, val
);
5647 if(basic_ostream_char_sentry_create(this)) {
5648 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5649 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5650 ostreambuf_iterator_char dest
= {0, strbuf
};
5652 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5654 basic_ostream_char_sentry_destroy(this);
5656 basic_ios_char_setstate(base
, state
);
5660 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
5661 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
5662 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
5663 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
5664 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint
, 8)
5665 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint(basic_ostream_char
*this, unsigned int val
)
5667 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5668 int state
= IOSTATE_goodbit
;
5670 TRACE("(%p %u)\n", this, val
);
5672 if(basic_ostream_char_sentry_create(this)) {
5673 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5674 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5675 ostreambuf_iterator_char dest
= {0, strbuf
};
5677 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5679 basic_ostream_char_sentry_destroy(this);
5681 basic_ios_char_setstate(base
, state
);
5685 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
5686 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
5687 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float
, 8)
5688 basic_ostream_char
* __thiscall
basic_ostream_char_print_float(basic_ostream_char
*this, float val
)
5690 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5691 int state
= IOSTATE_goodbit
;
5693 TRACE("(%p %f)\n", this, val
);
5695 if(basic_ostream_char_sentry_create(this)) {
5696 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5697 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5698 ostreambuf_iterator_char dest
= {0, strbuf
};
5700 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5702 basic_ostream_char_sentry_destroy(this);
5704 basic_ios_char_setstate(base
, state
);
5708 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
5709 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
5710 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double
, 12)
5711 basic_ostream_char
* __thiscall
basic_ostream_char_print_double(basic_ostream_char
*this, double val
)
5713 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5714 int state
= IOSTATE_goodbit
;
5716 TRACE("(%p %lf)\n", this, val
);
5718 if(basic_ostream_char_sentry_create(this)) {
5719 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5720 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5721 ostreambuf_iterator_char dest
= {0, strbuf
};
5723 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5725 basic_ostream_char_sentry_destroy(this);
5727 basic_ios_char_setstate(base
, state
);
5731 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z */
5732 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@O@Z */
5733 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ldouble
, 12)
5734 basic_ostream_char
* __thiscall
basic_ostream_char_print_ldouble(basic_ostream_char
*this, double val
)
5736 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5737 int state
= IOSTATE_goodbit
;
5739 TRACE("(%p %lf)\n", this, val
);
5741 if(basic_ostream_char_sentry_create(this)) {
5742 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5743 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5744 ostreambuf_iterator_char dest
= {0, strbuf
};
5746 num_put_char_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5748 basic_ostream_char_sentry_destroy(this);
5750 basic_ios_char_setstate(base
, state
);
5754 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5755 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5756 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf
, 8)
5757 basic_ostream_char
* __thiscall
basic_ostream_char_print_streambuf(basic_ostream_char
*this, basic_streambuf_char
*val
)
5759 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5760 IOSB_iostate state
= IOSTATE_badbit
;
5763 TRACE("(%p %p)\n", this, val
);
5765 if(basic_ostream_char_sentry_create(this)) {
5766 for(c
= basic_streambuf_char_sgetc(val
); c
!=EOF
;
5767 c
= basic_streambuf_char_snextc(val
)) {
5768 state
= IOSTATE_goodbit
;
5770 if(basic_streambuf_char_sputc(base
->strbuf
, c
) == EOF
) {
5771 state
= IOSTATE_badbit
;
5776 state
= IOSTATE_badbit
;
5778 basic_ostream_char_sentry_destroy(this);
5780 ios_base_width_set(&base
->base
, 0);
5781 basic_ios_char_setstate(base
, state
);
5785 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
5786 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
5787 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr
, 8)
5788 basic_ostream_char
* __thiscall
basic_ostream_char_print_ptr(basic_ostream_char
*this, const void *val
)
5790 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5791 int state
= IOSTATE_goodbit
;
5793 TRACE("(%p %p)\n", this, val
);
5795 if(basic_ostream_char_sentry_create(this)) {
5796 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5797 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5798 ostreambuf_iterator_char dest
= {0, strbuf
};
5800 num_put_char_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5802 basic_ostream_char_sentry_destroy(this);
5804 basic_ios_char_setstate(base
, state
);
5808 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
5809 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
5810 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64
, 12)
5811 basic_ostream_char
* __thiscall
basic_ostream_char_print_int64(basic_ostream_char
*this, __int64 val
)
5813 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5814 int state
= IOSTATE_goodbit
;
5816 TRACE("(%p)\n", this);
5818 if(basic_ostream_char_sentry_create(this)) {
5819 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5820 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5821 ostreambuf_iterator_char dest
= {0, strbuf
};
5823 num_put_char_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5825 basic_ostream_char_sentry_destroy(this);
5827 basic_ios_char_setstate(base
, state
);
5831 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
5832 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
5833 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64
, 12)
5834 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint64(basic_ostream_char
*this, unsigned __int64 val
)
5836 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5837 int state
= IOSTATE_goodbit
;
5839 TRACE("(%p)\n", this);
5841 if(basic_ostream_char_sentry_create(this)) {
5842 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5843 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5844 ostreambuf_iterator_char dest
= {0, strbuf
};
5846 num_put_char_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5848 basic_ostream_char_sentry_destroy(this);
5850 basic_ios_char_setstate(base
, state
);
5854 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
5855 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
5856 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool
, 8)
5857 basic_ostream_char
* __thiscall
basic_ostream_char_print_bool(basic_ostream_char
*this, MSVCP_bool val
)
5859 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5860 int state
= IOSTATE_goodbit
;
5862 TRACE("(%p %x)\n", this, val
);
5864 if(basic_ostream_char_sentry_create(this)) {
5865 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5866 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5867 ostreambuf_iterator_char dest
= {0, strbuf
};
5869 num_put_char_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5871 basic_ostream_char_sentry_destroy(this);
5873 basic_ios_char_setstate(base
, state
);
5877 /* ?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
5878 /* ?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
5879 basic_ostream_char
* __cdecl
basic_ostream_char_endl(basic_ostream_char
*ostr
)
5881 TRACE("(%p)\n", ostr
);
5883 basic_ostream_char_put(ostr
, '\n');
5884 basic_ostream_char_flush(ostr
);
5888 /* $?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 */
5889 /* ??$?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 */
5890 basic_ostream_char
* __cdecl
basic_ostream_char_print_bstr(basic_ostream_char
*ostr
, const basic_string_char
*str
)
5892 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5893 IOSB_iostate state
= IOSTATE_goodbit
;
5895 TRACE("(%p %p)\n", ostr
, str
);
5897 if(basic_ostream_char_sentry_create(ostr
)) {
5898 MSVCP_size_t len
= MSVCP_basic_string_char_length(str
);
5899 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
5901 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
5902 for(; pad
!=0; pad
--) {
5903 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5904 state
= IOSTATE_badbit
;
5910 if(state
== IOSTATE_goodbit
) {
5911 if(basic_streambuf_char_sputn(base
->strbuf
, MSVCP_basic_string_char_c_str(str
), len
) != len
)
5912 state
= IOSTATE_badbit
;
5915 if(state
== IOSTATE_goodbit
) {
5916 for(; pad
!=0; pad
--) {
5917 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5918 state
= IOSTATE_badbit
;
5924 base
->base
.wide
= 0;
5926 state
= IOSTATE_badbit
;
5928 basic_ostream_char_sentry_destroy(ostr
);
5930 basic_ios_char_setstate(base
, state
);
5934 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z */
5935 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z */
5936 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z */
5937 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z */
5938 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z */
5939 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z */
5940 basic_ostream_char
* __cdecl
basic_ostream_char_print_ch(basic_ostream_char
*ostr
, char ch
)
5942 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5943 IOSB_iostate state
= IOSTATE_goodbit
;
5945 TRACE("(%p %d)\n", ostr
, ch
);
5947 if(basic_ostream_char_sentry_create(ostr
)) {
5948 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
5950 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
5951 for(; pad
!=0; pad
--) {
5952 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5953 state
= IOSTATE_badbit
;
5959 if(state
== IOSTATE_goodbit
) {
5960 if(basic_streambuf_char_sputc(base
->strbuf
, ch
) == EOF
)
5961 state
= IOSTATE_badbit
;
5964 if(state
== IOSTATE_goodbit
) {
5965 for(; pad
!=0; pad
--) {
5966 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5967 state
= IOSTATE_badbit
;
5973 base
->base
.wide
= 0;
5975 state
= IOSTATE_badbit
;
5977 basic_ostream_char_sentry_destroy(ostr
);
5979 basic_ios_char_setstate(base
, state
);
5983 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z */
5984 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z */
5985 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z */
5986 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z */
5987 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z */
5988 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z */
5989 basic_ostream_char
* __cdecl
basic_ostream_char_print_str(basic_ostream_char
*ostr
, const char *str
)
5991 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5992 IOSB_iostate state
= IOSTATE_goodbit
;
5994 TRACE("(%p %s)\n", ostr
, str
);
5996 if(basic_ostream_char_sentry_create(ostr
)) {
5997 MSVCP_size_t len
= strlen(str
);
5998 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6000 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6001 for(; pad
!=0; pad
--) {
6002 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6003 state
= IOSTATE_badbit
;
6009 if(state
== IOSTATE_goodbit
) {
6010 if(basic_streambuf_char_sputn(base
->strbuf
, str
, len
) != len
)
6011 state
= IOSTATE_badbit
;
6014 if(state
== IOSTATE_goodbit
) {
6015 for(; pad
!=0; pad
--) {
6016 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6017 state
= IOSTATE_badbit
;
6023 base
->base
.wide
= 0;
6025 state
= IOSTATE_badbit
;
6027 basic_ostream_char_sentry_destroy(ostr
);
6029 basic_ios_char_setstate(base
, state
);
6033 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
6034 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
6035 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func
, 8)
6036 basic_ostream_char
* __thiscall
basic_ostream_char_print_func(basic_ostream_char
*this,
6037 basic_ostream_char
* (__cdecl
*pfunc
)(basic_ostream_char
*))
6039 TRACE("(%p %p)\n", this, pfunc
);
6044 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
6045 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
6046 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_basic_ios
, 8)
6047 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_basic_ios(basic_ostream_char
*this,
6048 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
6050 TRACE("(%p %p)\n", this, pfunc
);
6051 pfunc(basic_ostream_char_get_basic_ios(this));
6055 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
6056 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
6057 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_ios_base
, 8)
6058 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_ios_base(
6059 basic_ostream_char
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
6061 TRACE("(%p %p)\n", this, pfunc
);
6062 pfunc(&basic_ostream_char_get_basic_ios(this)->base
);
6066 /* Caution: basic_ostream uses virtual inheritance. */
6067 static inline basic_ios_wchar
* basic_ostream_wchar_get_basic_ios(basic_ostream_wchar
*this)
6069 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
6072 static inline basic_ios_wchar
* basic_ostream_wchar_to_basic_ios(basic_ostream_wchar
*ptr
)
6074 return (basic_ios_wchar
*)((char*)ptr
+basic_ostream_wchar_vbtable
[1]);
6077 static inline basic_ostream_wchar
* basic_ostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
6079 return (basic_ostream_wchar
*)((char*)ptr
-basic_ostream_wchar_vbtable
[1]);
6082 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6083 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6084 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_ctor
, 16)
6085 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_ctor(basic_ostream_wchar
*this,
6086 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6088 basic_ios_wchar
*base
;
6090 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
6093 this->vbtable
= basic_ostream_wchar_vbtable
;
6094 base
= basic_ostream_wchar_get_basic_ios(this);
6095 basic_ios_wchar_ctor(base
);
6097 base
= basic_ostream_wchar_get_basic_ios(this);
6100 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6101 basic_ios_wchar_init(base
, strbuf
, isstd
);
6105 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6106 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6107 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor
, 16)
6108 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor(basic_ostream_wchar
*this,
6109 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6111 basic_ostream_wchar_ctor(this, strbuf
, isstd
, virt_init
);
6112 basic_ostream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_ostream_short_vtable
;
6116 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
6117 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
6118 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_ctor_uninitialized
, 16)
6119 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_ctor_uninitialized(basic_ostream_wchar
*this,
6120 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
6122 basic_ios_wchar
*base
;
6124 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
6127 this->vbtable
= basic_ostream_wchar_vbtable
;
6128 base
= basic_ostream_wchar_get_basic_ios(this);
6129 basic_ios_wchar_ctor(base
);
6131 base
= basic_ostream_wchar_get_basic_ios(this);
6134 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6136 ios_base_Addstd(&base
->base
);
6140 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
6141 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
6142 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor_uninitialized
, 16)
6143 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor_uninitialized(basic_ostream_wchar
*this,
6144 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
6146 basic_ostream_wchar_ctor_uninitialized(this, uninitialized
, addstd
, virt_init
);
6147 basic_ostream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_ostream_short_vtable
;
6151 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
6152 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
6153 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
6154 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
6155 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_dtor
, 4)
6156 void __thiscall
basic_ostream_wchar_dtor(basic_ios_wchar
*base
)
6158 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6160 /* don't destroy virtual base here */
6161 TRACE("(%p)\n", this);
6164 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6165 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6166 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6167 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6168 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vbase_dtor
, 4)
6169 void __thiscall
basic_ostream_wchar_vbase_dtor(basic_ostream_wchar
*this)
6171 TRACE("(%p)\n", this);
6172 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(this));
6173 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(this));
6176 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_wchar_vector_dtor
, 8)
6177 basic_ostream_wchar
* __thiscall
MSVCP_basic_ostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
6179 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6181 TRACE("(%p %x)\n", this, flags
);
6184 /* we have an array, with the number of elements stored before the first object */
6185 int i
, *ptr
= (int *)this-1;
6187 for(i
=*ptr
-1; i
>=0; i
--)
6188 basic_ostream_wchar_vbase_dtor(this+i
);
6189 MSVCRT_operator_delete(ptr
);
6191 basic_ostream_wchar_vbase_dtor(this);
6193 MSVCRT_operator_delete(this);
6199 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_short_vector_dtor
, 8)
6200 basic_ostream_wchar
* __thiscall
MSVCP_basic_ostream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
6202 return MSVCP_basic_ostream_wchar_vector_dtor(base
, flags
);
6205 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
6206 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
6207 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
6208 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
6209 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_flush
, 4)
6210 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_flush(basic_ostream_wchar
*this)
6212 /* this function is not matching C++ specification */
6213 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6215 TRACE("(%p)\n", this);
6217 if(basic_ios_wchar_rdbuf_get(base
) && ios_base_good(&base
->base
)
6218 && basic_streambuf_wchar_pubsync(basic_ios_wchar_rdbuf_get(base
))==-1)
6219 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6223 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6224 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6225 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6226 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6227 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar__Osfx
, 4)
6228 void __thiscall
basic_ostream_wchar__Osfx(basic_ostream_wchar
*this)
6230 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6232 TRACE("(%p)\n", this);
6234 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
6235 basic_ostream_wchar_flush(this);
6238 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6239 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6240 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6241 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6242 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_osfx
, 4)
6243 void __thiscall
basic_ostream_wchar_osfx(basic_ostream_wchar
*this)
6245 TRACE("(%p)\n", this);
6246 basic_ostream_wchar__Osfx(this);
6249 static BOOL
basic_ostream_wchar_sentry_create(basic_ostream_wchar
*ostr
)
6251 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6253 if(basic_ios_wchar_rdbuf_get(base
))
6254 basic_streambuf_wchar__Lock(base
->strbuf
);
6256 if(ios_base_good(&base
->base
) && base
->stream
)
6257 basic_ostream_wchar_flush(base
->stream
);
6259 return ios_base_good(&base
->base
);
6262 static void basic_ostream_wchar_sentry_destroy(basic_ostream_wchar
*ostr
)
6264 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6266 if(ios_base_good(&base
->base
) && !__uncaught_exception())
6267 basic_ostream_wchar_osfx(ostr
);
6269 if(basic_ios_wchar_rdbuf_get(base
))
6270 basic_streambuf_wchar__Unlock(base
->strbuf
);
6273 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE_NXZ */
6274 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA_NXZ */
6275 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ */
6276 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA_NXZ */
6277 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_opfx
, 4)
6278 MSVCP_bool __thiscall
basic_ostream_wchar_opfx(basic_ostream_wchar
*this)
6280 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6282 TRACE("(%p)\n", this);
6284 if(ios_base_good(&base
->base
) && base
->stream
)
6285 basic_ostream_wchar_flush(base
->stream
);
6286 return ios_base_good(&base
->base
);
6289 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
6290 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
6291 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
6292 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
6293 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_put
, 8)
6294 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_put(basic_ostream_wchar
*this, wchar_t ch
)
6296 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6298 TRACE("(%p %c)\n", this, ch
);
6300 if(!basic_ostream_wchar_sentry_create(this)
6301 || basic_streambuf_wchar_sputc(base
->strbuf
, ch
)==WEOF
) {
6302 basic_ostream_wchar_sentry_destroy(this);
6303 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6307 basic_ostream_wchar_sentry_destroy(this);
6311 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
6312 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
6313 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
6314 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
6315 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp
, 12)
6316 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp(basic_ostream_wchar
*this, streamoff off
, int way
)
6318 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6320 TRACE("(%p %ld %d)\n", this, off
, way
);
6322 if(!ios_base_fail(&base
->base
)) {
6325 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6326 &seek
, off
, way
, OPENMODE_out
);
6327 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6328 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6333 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6334 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6335 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6336 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6337 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp_fpos
, 28)
6338 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp_fpos(basic_ostream_wchar
*this, fpos_int pos
)
6340 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6342 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
6344 if(!ios_base_fail(&base
->base
)) {
6347 basic_streambuf_wchar_pubseekpos(basic_ios_wchar_rdbuf_get(base
),
6348 &seek
, pos
, OPENMODE_out
);
6349 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6350 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6355 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6356 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6357 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6358 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6359 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_tellp
, 8)
6360 fpos_int
* __thiscall
basic_ostream_wchar_tellp(basic_ostream_wchar
*this, fpos_int
*ret
)
6362 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6364 TRACE("(%p)\n", this);
6366 if(!ios_base_fail(&base
->base
)) {
6367 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6368 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
6377 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PB_WH@Z */
6378 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEB_W_J@Z */
6379 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z */
6380 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z */
6381 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_write
, 12)
6382 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_write(basic_ostream_wchar
*this, const wchar_t *str
, streamsize count
)
6384 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6386 TRACE("(%p %s %ld)\n", this, debugstr_w(str
), count
);
6388 if(!basic_ostream_wchar_sentry_create(this)
6389 || basic_streambuf_wchar_sputn(base
->strbuf
, str
, count
)!=count
) {
6390 basic_ostream_wchar_sentry_destroy(this);
6391 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6395 basic_ostream_wchar_sentry_destroy(this);
6399 static basic_ostream_wchar
* basic_ostream_print_short(basic_ostream_wchar
*this, short val
, const num_put
*numput
)
6401 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6402 int state
= IOSTATE_goodbit
;
6404 TRACE("(%p %d)\n", this, val
);
6406 if(basic_ostream_wchar_sentry_create(this)) {
6407 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6408 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6410 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
),
6411 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
6412 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
6414 basic_ostream_wchar_sentry_destroy(this);
6416 basic_ios_wchar_setstate(base
, state
);
6420 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@F@Z */
6421 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@F@Z */
6422 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_short
, 8)
6423 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_short(basic_ostream_wchar
*this, short val
)
6425 return basic_ostream_print_short(this, val
, num_put_wchar_use_facet(
6426 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6429 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z */
6430 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@F@Z */
6431 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_short
, 8)
6432 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_short(basic_ostream_wchar
*this, short val
)
6434 return basic_ostream_print_short(this, val
, num_put_short_use_facet(
6435 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6438 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@G@Z */
6439 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@G@Z */
6440 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ushort
, 8)
6441 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ushort(basic_ostream_wchar
*this, unsigned short val
)
6443 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6444 int state
= IOSTATE_goodbit
;
6446 TRACE("(%p %u)\n", this, val
);
6448 if(basic_ostream_wchar_sentry_create(this)) {
6449 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6450 const num_put
*numput
= num_put_wchar_use_facet(strbuf
->loc
);
6451 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6453 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6455 basic_ostream_wchar_sentry_destroy(this);
6457 basic_ios_wchar_setstate(base
, state
);
6461 static basic_ostream_wchar
* basic_ostream_print_int(basic_ostream_wchar
*this, int val
, const num_put
*numput
)
6463 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6464 int state
= IOSTATE_goodbit
;
6466 TRACE("(%p %d)\n", this, val
);
6468 if(basic_ostream_wchar_sentry_create(this)) {
6469 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6470 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6472 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6474 basic_ostream_wchar_sentry_destroy(this);
6476 basic_ios_wchar_setstate(base
, state
);
6480 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@H@Z */
6481 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@H@Z */
6482 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@J@Z */
6483 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@J@Z */
6484 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int
, 8)
6485 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int(basic_ostream_wchar
*this, int val
)
6487 return basic_ostream_print_int(this, val
, num_put_wchar_use_facet(
6488 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6491 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z */
6492 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@H@Z */
6493 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z */
6494 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@J@Z */
6495 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int
, 8)
6496 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int(basic_ostream_wchar
*this, int val
)
6498 return basic_ostream_print_int(this, val
, num_put_short_use_facet(
6499 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6502 static basic_ostream_wchar
* basic_ostream_print_uint(basic_ostream_wchar
*this, unsigned int val
, const num_put
*numput
)
6504 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6505 int state
= IOSTATE_goodbit
;
6507 TRACE("(%p %u)\n", this, val
);
6509 if(basic_ostream_wchar_sentry_create(this)) {
6510 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6511 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6513 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6515 basic_ostream_wchar_sentry_destroy(this);
6517 basic_ios_wchar_setstate(base
, state
);
6521 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@I@Z */
6522 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@I@Z */
6523 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@K@Z */
6524 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@K@Z */
6525 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint
, 8)
6526 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6528 return basic_ostream_print_uint(this, val
, num_put_wchar_use_facet(
6529 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6532 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z */
6533 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@I@Z */
6534 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z */
6535 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@K@Z */
6536 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint
, 8)
6537 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6539 return basic_ostream_print_uint(this, val
, num_put_short_use_facet(
6540 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6543 static basic_ostream_wchar
* basic_ostream_print_float(basic_ostream_wchar
*this, float val
, const num_put
*numput
)
6545 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6546 int state
= IOSTATE_goodbit
;
6548 TRACE("(%p %f)\n", this, val
);
6550 if(basic_ostream_wchar_sentry_create(this)) {
6551 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6552 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6554 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6556 basic_ostream_wchar_sentry_destroy(this);
6558 basic_ios_wchar_setstate(base
, state
);
6562 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@M@Z */
6563 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@M@Z */
6564 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_float
, 8)
6565 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_float(basic_ostream_wchar
*this, float val
)
6567 return basic_ostream_print_float(this, val
, num_put_wchar_use_facet(
6568 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6571 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z */
6572 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@M@Z */
6573 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_float
, 8)
6574 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_float(basic_ostream_wchar
*this, float val
)
6576 return basic_ostream_print_float(this, val
, num_put_short_use_facet(
6577 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6580 static basic_ostream_wchar
* basic_ostream_print_double(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6582 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6583 int state
= IOSTATE_goodbit
;
6585 TRACE("(%p %lf)\n", this, val
);
6587 if(basic_ostream_wchar_sentry_create(this)) {
6588 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6589 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6591 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6593 basic_ostream_wchar_sentry_destroy(this);
6595 basic_ios_wchar_setstate(base
, state
);
6599 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@N@Z */
6600 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@N@Z */
6601 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_double
, 12)
6602 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_double(basic_ostream_wchar
*this, double val
)
6604 return basic_ostream_print_double(this, val
, num_put_wchar_use_facet(
6605 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6608 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z */
6609 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@N@Z */
6610 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_double
, 12)
6611 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_double(basic_ostream_wchar
*this, double val
)
6613 return basic_ostream_print_double(this, val
, num_put_short_use_facet(
6614 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6617 static basic_ostream_wchar
* basic_ostream_print_ldouble(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6619 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6620 int state
= IOSTATE_goodbit
;
6622 TRACE("(%p %lf)\n", this, val
);
6624 if(basic_ostream_wchar_sentry_create(this)) {
6625 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6626 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6628 num_put_wchar_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6630 basic_ostream_wchar_sentry_destroy(this);
6632 basic_ios_wchar_setstate(base
, state
);
6636 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@O@Z */
6637 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@O@Z */
6638 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ldouble
, 12)
6639 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ldouble(basic_ostream_wchar
*this, double val
)
6641 return basic_ostream_print_ldouble(this, val
, num_put_wchar_use_facet(
6642 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6645 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z */
6646 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@O@Z */
6647 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ldouble
, 12)
6648 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ldouble(basic_ostream_wchar
*this, double val
)
6650 return basic_ostream_print_ldouble(this, val
, num_put_short_use_facet(
6651 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6654 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6655 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6656 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6657 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6658 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_streambuf
, 8)
6659 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_streambuf(basic_ostream_wchar
*this, basic_streambuf_wchar
*val
)
6661 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6662 IOSB_iostate state
= IOSTATE_badbit
;
6663 unsigned short c
= '\n';
6665 TRACE("(%p %p)\n", this, val
);
6667 if(basic_ostream_wchar_sentry_create(this)) {
6668 for(c
= basic_streambuf_wchar_sgetc(val
); c
!=WEOF
;
6669 c
= basic_streambuf_wchar_snextc(val
)) {
6670 state
= IOSTATE_goodbit
;
6672 if(basic_streambuf_wchar_sputc(base
->strbuf
, c
) == WEOF
) {
6673 state
= IOSTATE_badbit
;
6678 state
= IOSTATE_badbit
;
6680 basic_ostream_wchar_sentry_destroy(this);
6682 ios_base_width_set(&base
->base
, 0);
6683 basic_ios_wchar_setstate(base
, state
);
6687 static basic_ostream_wchar
* basic_ostream_print_ptr(basic_ostream_wchar
*this, const void *val
, const num_put
*numput
)
6689 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6690 int state
= IOSTATE_goodbit
;
6692 TRACE("(%p %p)\n", this, val
);
6694 if(basic_ostream_wchar_sentry_create(this)) {
6695 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6696 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6698 num_put_wchar_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6700 basic_ostream_wchar_sentry_destroy(this);
6702 basic_ios_wchar_setstate(base
, state
);
6706 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PBX@Z */
6707 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEBX@Z */
6708 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ptr
, 8)
6709 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ptr(basic_ostream_wchar
*this, const void *val
)
6711 return basic_ostream_print_ptr(this, val
, num_put_wchar_use_facet(
6712 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6715 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z */
6716 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEBX@Z */
6717 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ptr
, 8)
6718 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ptr(basic_ostream_wchar
*this, const void *val
)
6720 return basic_ostream_print_ptr(this, val
, num_put_short_use_facet(
6721 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6724 static basic_ostream_wchar
* basic_ostream_print_int64(basic_ostream_wchar
*this, __int64 val
, const num_put
*numput
)
6726 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6727 int state
= IOSTATE_goodbit
;
6729 TRACE("(%p)\n", this);
6731 if(basic_ostream_wchar_sentry_create(this)) {
6732 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6733 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6735 num_put_wchar_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6737 basic_ostream_wchar_sentry_destroy(this);
6739 basic_ios_wchar_setstate(base
, state
);
6743 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_J@Z */
6744 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_J@Z */
6745 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int64
, 12)
6746 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int64(basic_ostream_wchar
*this, __int64 val
)
6748 return basic_ostream_print_int64(this, val
, num_put_wchar_use_facet(
6749 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6752 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_J@Z */
6753 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_J@Z */
6754 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int64
, 12)
6755 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int64(basic_ostream_wchar
*this, __int64 val
)
6757 return basic_ostream_print_int64(this, val
, num_put_short_use_facet(
6758 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6761 static basic_ostream_wchar
* basic_ostream_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
, const num_put
*numput
)
6763 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6764 int state
= IOSTATE_goodbit
;
6766 TRACE("(%p)\n", this);
6768 if(basic_ostream_wchar_sentry_create(this)) {
6769 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6770 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6772 num_put_wchar_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6774 basic_ostream_wchar_sentry_destroy(this);
6776 basic_ios_wchar_setstate(base
, state
);
6780 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_K@Z */
6781 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_K@Z */
6782 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint64
, 12)
6783 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6785 return basic_ostream_print_uint64(this, val
, num_put_wchar_use_facet(
6786 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6789 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_K@Z */
6790 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_K@Z */
6791 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint64
, 12)
6792 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6794 return basic_ostream_print_uint64(this, val
, num_put_short_use_facet(
6795 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6798 static basic_ostream_wchar
* basic_ostream_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
, const num_put
*numput
)
6800 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6801 int state
= IOSTATE_goodbit
;
6803 TRACE("(%p %x)\n", this, val
);
6805 if(basic_ostream_wchar_sentry_create(this)) {
6806 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6807 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6809 num_put_wchar_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6811 basic_ostream_wchar_sentry_destroy(this);
6813 basic_ios_wchar_setstate(base
, state
);
6817 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_N@Z */
6818 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_N@Z */
6819 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_bool
, 8)
6820 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6822 return basic_ostream_print_bool(this, val
, num_put_wchar_use_facet(
6823 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6826 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z */
6827 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_N@Z */
6828 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_bool
, 8)
6829 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6831 return basic_ostream_print_bool(this, val
, num_put_short_use_facet(
6832 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6835 /* ?endl@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
6836 /* ?endl@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
6837 /* ?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
6838 /* ?endl@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
6839 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_endl(basic_ostream_wchar
*ostr
)
6841 TRACE("(%p)\n", ostr
);
6843 basic_ostream_wchar_put(ostr
, '\n');
6844 basic_ostream_wchar_flush(ostr
);
6848 /* ??$?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 */
6849 /* ??$?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 */
6850 /* ??$?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 */
6851 /* ??$?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 */
6852 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_bstr(basic_ostream_wchar
*ostr
, const basic_string_wchar
*str
)
6854 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6855 IOSB_iostate state
= IOSTATE_goodbit
;
6857 TRACE("(%p %p)\n", ostr
, str
);
6859 if(basic_ostream_wchar_sentry_create(ostr
)) {
6860 MSVCP_size_t len
= MSVCP_basic_string_wchar_length(str
);
6861 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6863 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6864 for(; pad
!=0; pad
--) {
6865 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6866 state
= IOSTATE_badbit
;
6872 if(state
== IOSTATE_goodbit
) {
6873 if(basic_streambuf_wchar_sputn(base
->strbuf
, MSVCP_basic_string_wchar_c_str(str
), len
) != len
)
6874 state
= IOSTATE_badbit
;
6877 if(state
== IOSTATE_goodbit
) {
6878 for(; pad
!=0; pad
--) {
6879 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6880 state
= IOSTATE_badbit
;
6886 base
->base
.wide
= 0;
6888 state
= IOSTATE_badbit
;
6890 basic_ostream_wchar_sentry_destroy(ostr
);
6892 basic_ios_wchar_setstate(base
, state
);
6896 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@_W@Z */
6897 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@_W@Z */
6898 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z */
6899 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z */
6900 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_ch(basic_ostream_wchar
*ostr
, wchar_t ch
)
6902 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6903 IOSB_iostate state
= IOSTATE_goodbit
;
6905 TRACE("(%p %d)\n", ostr
, ch
);
6907 if(basic_ostream_wchar_sentry_create(ostr
)) {
6908 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6910 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6911 for(; pad
!=0; pad
--) {
6912 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6913 state
= IOSTATE_badbit
;
6919 if(state
== IOSTATE_goodbit
) {
6920 if(basic_streambuf_wchar_sputc(base
->strbuf
, ch
) == WEOF
)
6921 state
= IOSTATE_badbit
;
6924 if(state
== IOSTATE_goodbit
) {
6925 for(; pad
!=0; pad
--) {
6926 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6927 state
= IOSTATE_badbit
;
6933 base
->base
.wide
= 0;
6935 state
= IOSTATE_badbit
;
6937 basic_ostream_wchar_sentry_destroy(ostr
);
6939 basic_ios_wchar_setstate(base
, state
);
6943 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@PB_W@Z */
6944 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@PEB_W@Z */
6945 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z */
6946 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z */
6947 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_str(basic_ostream_wchar
*ostr
, const wchar_t *str
)
6949 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6950 IOSB_iostate state
= IOSTATE_goodbit
;
6952 TRACE("(%p %s)\n", ostr
, debugstr_w(str
));
6954 if(basic_ostream_wchar_sentry_create(ostr
)) {
6955 MSVCP_size_t len
= wcslen(str
);
6956 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6958 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6959 for(; pad
!=0; pad
--) {
6960 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6961 state
= IOSTATE_badbit
;
6967 if(state
== IOSTATE_goodbit
) {
6968 if(basic_streambuf_wchar_sputn(base
->strbuf
, str
, len
) != len
)
6969 state
= IOSTATE_badbit
;
6972 if(state
== IOSTATE_goodbit
) {
6973 for(; pad
!=0; pad
--) {
6974 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6975 state
= IOSTATE_badbit
;
6981 base
->base
.wide
= 0;
6983 state
= IOSTATE_badbit
;
6985 basic_ostream_wchar_sentry_destroy(ostr
);
6987 basic_ios_wchar_setstate(base
, state
);
6991 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
6992 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
6993 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
6994 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
6995 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func
, 8)
6996 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func(basic_ostream_wchar
*this,
6997 basic_ostream_wchar
* (__cdecl
*pfunc
)(basic_ostream_wchar
*))
6999 TRACE("(%p %p)\n", this, pfunc
);
7004 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
7005 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
7006 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
7007 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
7008 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_basic_ios
, 8)
7009 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_basic_ios(basic_ostream_wchar
*this,
7010 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
7012 TRACE("(%p %p)\n", this, pfunc
);
7013 pfunc(basic_ostream_wchar_get_basic_ios(this));
7017 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7018 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7019 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7020 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7021 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_ios_base
, 8)
7022 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_ios_base(
7023 basic_ostream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
7025 TRACE("(%p %p)\n", this, pfunc
);
7026 pfunc(&basic_ostream_wchar_get_basic_ios(this)->base
);
7030 /* Caution: basic_istream uses virtual inheritance. */
7031 static inline basic_ios_char
* basic_istream_char_get_basic_ios(basic_istream_char
*this)
7033 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
7036 static inline basic_ios_char
* basic_istream_char_to_basic_ios(basic_istream_char
*ptr
)
7038 return (basic_ios_char
*)((char*)ptr
+basic_istream_char_vbtable
[1]);
7041 static inline basic_istream_char
* basic_istream_char_from_basic_ios(basic_ios_char
*ptr
)
7043 return (basic_istream_char
*)((char*)ptr
-basic_istream_char_vbtable
[1]);
7046 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7047 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7048 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_init
, 20)
7049 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
)
7051 basic_ios_char
*base
;
7053 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
7056 this->vbtable
= basic_istream_char_vbtable
;
7057 base
= basic_istream_char_get_basic_ios(this);
7058 basic_ios_char_ctor(base
);
7060 base
= basic_istream_char_get_basic_ios(this);
7063 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7066 basic_ios_char_init(base
, strbuf
, isstd
);
7070 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7071 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7072 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor
, 16)
7073 basic_istream_char
* __thiscall
basic_istream_char_ctor(basic_istream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
7075 return basic_istream_char_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
7078 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
7079 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
7080 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_uninitialized
, 12)
7081 basic_istream_char
* __thiscall
basic_istream_char_ctor_uninitialized(basic_istream_char
*this, int uninitialized
, MSVCP_bool virt_init
)
7083 basic_ios_char
*base
;
7085 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
7088 this->vbtable
= basic_istream_char_vbtable
;
7089 base
= basic_istream_char_get_basic_ios(this);
7090 basic_ios_char_ctor(base
);
7092 base
= basic_istream_char_get_basic_ios(this);
7095 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7096 ios_base_Addstd(&base
->base
);
7100 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ */
7101 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
7102 DEFINE_THISCALL_WRAPPER(basic_istream_char_dtor
, 4)
7103 void __thiscall
basic_istream_char_dtor(basic_ios_char
*base
)
7105 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7107 /* don't destroy virtual base here */
7108 TRACE("(%p)\n", this);
7111 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7112 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7113 DEFINE_THISCALL_WRAPPER(basic_istream_char_vbase_dtor
, 4)
7114 void __thiscall
basic_istream_char_vbase_dtor(basic_istream_char
*this)
7116 TRACE("(%p)\n", this);
7117 basic_istream_char_dtor(basic_istream_char_to_basic_ios(this));
7118 basic_ios_char_dtor(basic_istream_char_get_basic_ios(this));
7121 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istream_char_vector_dtor
, 8)
7122 basic_istream_char
* __thiscall
MSVCP_basic_istream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
7124 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7126 TRACE("(%p %x)\n", this, flags
);
7129 /* we have an array, with the number of elements stored before the first object */
7130 int i
, *ptr
= (int *)this-1;
7132 for(i
=*ptr
-1; i
>=0; i
--)
7133 basic_istream_char_vbase_dtor(this+i
);
7134 MSVCRT_operator_delete(ptr
);
7136 basic_istream_char_vbase_dtor(this);
7138 MSVCRT_operator_delete(this);
7144 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7145 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7146 DEFINE_THISCALL_WRAPPER(basic_istream_char__Ipfx
, 8)
7147 MSVCP_bool __thiscall
basic_istream_char__Ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7149 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7151 TRACE("(%p %d)\n", this, noskip
);
7153 if(!ios_base_good(&base
->base
)) {
7154 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7158 if(basic_ios_char_tie_get(base
))
7159 basic_ostream_char_flush(basic_ios_char_tie_get(base
));
7161 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
7162 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7163 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
7166 for(ch
= basic_streambuf_char_sgetc(strbuf
); ;
7167 ch
= basic_streambuf_char_snextc(strbuf
)) {
7169 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7173 if(!ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
7181 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7182 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7183 DEFINE_THISCALL_WRAPPER(basic_istream_char_ipfx
, 8)
7184 MSVCP_bool __thiscall
basic_istream_char_ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7186 return basic_istream_char__Ipfx(this, noskip
);
7189 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7190 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7191 DEFINE_THISCALL_WRAPPER(basic_istream_char_isfx
, 4)
7192 void __thiscall
basic_istream_char_isfx(basic_istream_char
*this)
7194 TRACE("(%p)\n", this);
7197 static BOOL
basic_istream_char_sentry_create(basic_istream_char
*istr
, MSVCP_bool noskip
)
7199 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7201 if(basic_ios_char_rdbuf_get(base
))
7202 basic_streambuf_char__Lock(base
->strbuf
);
7204 return basic_istream_char_ipfx(istr
, noskip
);
7207 static void basic_istream_char_sentry_destroy(basic_istream_char
*istr
)
7209 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7211 if(basic_ios_char_rdbuf_get(base
))
7212 basic_streambuf_char__Unlock(base
->strbuf
);
7215 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ */
7216 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QEBA_JXZ */
7217 DEFINE_THISCALL_WRAPPER(basic_istream_char_gcount
, 4)
7218 int __thiscall
basic_istream_char_gcount(const basic_istream_char
*this)
7220 TRACE("(%p)\n", this);
7224 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7225 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7226 DEFINE_THISCALL_WRAPPER(basic_istream_char_get
, 4)
7227 int __thiscall
basic_istream_char_get(basic_istream_char
*this)
7229 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7232 TRACE("(%p)\n", this);
7236 if(!basic_istream_char_sentry_create(this, TRUE
)) {
7237 basic_istream_char_sentry_destroy(this);
7241 ret
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(base
));
7242 basic_istream_char_sentry_destroy(this);
7244 basic_ios_char_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
7251 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z */
7252 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAD@Z */
7253 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_ch
, 8)
7254 basic_istream_char
* __thiscall
basic_istream_char_get_ch(basic_istream_char
*this, char *ch
)
7258 TRACE("(%p %p)\n", this, ch
);
7260 ret
= basic_istream_char_get(this);
7266 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7267 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7268 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str_delim
, 16)
7269 basic_istream_char
* __thiscall
basic_istream_char_get_str_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7271 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7274 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
7278 if(basic_istream_char_sentry_create(this, TRUE
)) {
7279 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7281 for(ch
= basic_streambuf_char_sgetc(strbuf
); count
>1;
7282 ch
= basic_streambuf_char_snextc(strbuf
)) {
7283 if(ch
==EOF
|| ch
==delim
)
7291 basic_istream_char_sentry_destroy(this);
7293 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7294 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7300 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7301 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7302 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str
, 12)
7303 basic_istream_char
* __thiscall
basic_istream_char_get_str(basic_istream_char
*this, char *str
, streamsize count
)
7305 return basic_istream_char_get_str_delim(this, str
, count
, '\n');
7308 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7309 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7310 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf_delim
, 12)
7311 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf_delim(basic_istream_char
*this, basic_streambuf_char
*strbuf
, char delim
)
7313 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7316 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
7320 if(basic_istream_char_sentry_create(this, TRUE
)) {
7321 basic_streambuf_char
*strbuf_read
= basic_ios_char_rdbuf_get(base
);
7323 for(ch
= basic_streambuf_char_sgetc(strbuf_read
); ;
7324 ch
= basic_streambuf_char_snextc(strbuf_read
)) {
7325 if(ch
==EOF
|| ch
==delim
)
7328 if(basic_streambuf_char_sputc(strbuf
, ch
) == EOF
)
7333 basic_istream_char_sentry_destroy(this);
7335 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7336 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7340 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7341 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7342 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf
, 8)
7343 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf(basic_istream_char
*this, basic_streambuf_char
*strbuf
)
7345 return basic_istream_char_get_streambuf_delim(this, strbuf
, '\n');
7348 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7349 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7350 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline_delim
, 16)
7351 basic_istream_char
* __thiscall
basic_istream_char_getline_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7353 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7356 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
7360 if(basic_istream_char_sentry_create(this, TRUE
) && count
>0) {
7361 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7364 ch
= basic_streambuf_char_sbumpc(strbuf
);
7366 if(ch
==EOF
|| ch
==delim
)
7376 else if(ch
!= EOF
) {
7377 ch
= basic_streambuf_char_sgetc(strbuf
);
7380 basic_streambuf_char__Gninc(strbuf
);
7385 basic_istream_char_sentry_destroy(this);
7387 basic_ios_char_setstate(base
, (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
7388 (!this->count
|| (ch
!=delim
&& ch
!=EOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
7394 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7395 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7396 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline
, 12)
7397 basic_istream_char
* __thiscall
basic_istream_char_getline(basic_istream_char
*this, char *str
, streamsize count
)
7399 return basic_istream_char_getline_delim(this, str
, count
, '\n');
7402 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z */
7403 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7404 DEFINE_THISCALL_WRAPPER(basic_istream_char_ignore
, 12)
7405 basic_istream_char
* __thiscall
basic_istream_char_ignore(basic_istream_char
*this, streamsize count
, int delim
)
7407 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7410 TRACE("(%p %ld %d)\n", this, count
, delim
);
7414 if(basic_istream_char_sentry_create(this, TRUE
)) {
7415 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7418 ch
= basic_streambuf_char_sbumpc(strbuf
);
7420 if(ch
==EOF
|| ch
==delim
)
7424 if(count
!= INT_MAX
)
7428 basic_istream_char_sentry_destroy(this);
7431 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7435 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7436 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7437 DEFINE_THISCALL_WRAPPER(basic_istream_char_peek
, 4)
7438 int __thiscall
basic_istream_char_peek(basic_istream_char
*this)
7440 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7443 TRACE("(%p)\n", this);
7447 if(basic_istream_char_sentry_create(this, TRUE
))
7448 ret
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
7449 basic_istream_char_sentry_destroy(this);
7453 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADIH@Z */
7454 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_K_J@Z */
7455 DEFINE_THISCALL_WRAPPER(basic_istream_char__Read_s
, 16)
7456 basic_istream_char
* __thiscall
basic_istream_char__Read_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7458 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7459 IOSB_iostate state
= IOSTATE_goodbit
;
7461 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
7463 if(basic_istream_char_sentry_create(this, TRUE
)) {
7464 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7466 this->count
= basic_streambuf_char__Sgetn_s(strbuf
, str
, size
, count
);
7467 if(this->count
!= count
)
7468 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
7472 basic_istream_char_sentry_destroy(this);
7474 basic_ios_char_setstate(base
, state
);
7478 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7479 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7480 DEFINE_THISCALL_WRAPPER(basic_istream_char_read
, 12)
7481 basic_istream_char
* __thiscall
basic_istream_char_read(basic_istream_char
*this, char *str
, streamsize count
)
7483 return basic_istream_char__Read_s(this, str
, count
, count
);
7486 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
7487 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
7488 DEFINE_THISCALL_WRAPPER(basic_istream_char__Readsome_s
, 16)
7489 streamsize __thiscall
basic_istream_char__Readsome_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7491 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7492 IOSB_iostate state
= IOSTATE_goodbit
;
7494 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
7498 if(basic_istream_char_sentry_create(this, TRUE
)) {
7499 streamsize avail
= basic_streambuf_char_in_avail(basic_ios_char_rdbuf_get(base
));
7504 state
|= IOSTATE_eofbit
;
7506 basic_istream_char__Read_s(this, str
, size
, avail
);
7508 state
|= IOSTATE_failbit
;
7510 basic_istream_char_sentry_destroy(this);
7512 basic_ios_char_setstate(base
, state
);
7516 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
7517 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
7518 DEFINE_THISCALL_WRAPPER(basic_istream_char_readsome
, 12)
7519 streamsize __thiscall
basic_istream_char_readsome(basic_istream_char
*this, char *str
, streamsize count
)
7521 return basic_istream_char__Readsome_s(this, str
, count
, count
);
7524 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
7525 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
7526 DEFINE_THISCALL_WRAPPER(basic_istream_char_putback
, 8)
7527 basic_istream_char
* __thiscall
basic_istream_char_putback(basic_istream_char
*this, char ch
)
7529 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7530 IOSB_iostate state
= IOSTATE_goodbit
;
7532 TRACE("(%p %c)\n", this, ch
);
7536 if(basic_istream_char_sentry_create(this, TRUE
)) {
7537 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7539 if(!ios_base_good(&base
->base
))
7540 state
|= IOSTATE_failbit
;
7541 else if(!strbuf
|| basic_streambuf_char_sputbackc(strbuf
, ch
)==EOF
)
7542 state
|= IOSTATE_badbit
;
7544 basic_istream_char_sentry_destroy(this);
7546 basic_ios_char_setstate(base
, state
);
7550 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
7551 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
7552 DEFINE_THISCALL_WRAPPER(basic_istream_char_unget
, 4)
7553 basic_istream_char
* __thiscall
basic_istream_char_unget(basic_istream_char
*this)
7555 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7556 IOSB_iostate state
= IOSTATE_goodbit
;
7558 TRACE("(%p)\n", this);
7562 if(basic_istream_char_sentry_create(this, TRUE
)) {
7563 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7565 if(!ios_base_good(&base
->base
))
7566 state
|= IOSTATE_failbit
;
7567 else if(!strbuf
|| basic_streambuf_char_sungetc(strbuf
)==EOF
)
7568 state
|= IOSTATE_badbit
;
7570 basic_istream_char_sentry_destroy(this);
7572 basic_ios_char_setstate(base
, state
);
7576 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7577 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7578 DEFINE_THISCALL_WRAPPER(basic_istream_char_sync
, 4)
7579 int __thiscall
basic_istream_char_sync(basic_istream_char
*this)
7581 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7582 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7584 TRACE("(%p)\n", this);
7589 if(basic_istream_char_sentry_create(this, TRUE
)) {
7590 if(basic_streambuf_char_pubsync(strbuf
) != -1) {
7591 basic_istream_char_sentry_destroy(this);
7595 basic_istream_char_sentry_destroy(this);
7597 basic_ios_char_setstate(base
, IOSTATE_badbit
);
7601 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
7602 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
7603 DEFINE_THISCALL_WRAPPER(basic_istream_char_tellg
, 8)
7604 fpos_int
* __thiscall
basic_istream_char_tellg(basic_istream_char
*this, fpos_int
*ret
)
7606 TRACE("(%p %p)\n", this, ret
);
7608 if(basic_istream_char_sentry_create(this, TRUE
)) {
7609 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7610 if(!ios_base_fail(&base
->base
)) {
7611 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
7612 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
7613 basic_istream_char_sentry_destroy(this);
7615 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
7616 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7620 basic_istream_char_sentry_destroy(this);
7628 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
7629 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7630 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg
, 12)
7631 basic_istream_char
* __thiscall
basic_istream_char_seekg(basic_istream_char
*this, streamoff off
, int dir
)
7633 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7635 TRACE("(%p %ld %d)\n", this, off
, dir
);
7637 if(basic_istream_char_sentry_create(this, TRUE
)) {
7638 if(!ios_base_fail(&base
->base
)) {
7639 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7642 basic_streambuf_char_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
7643 basic_istream_char_sentry_destroy(this);
7645 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7646 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7648 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7652 basic_istream_char_sentry_destroy(this);
7654 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7658 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
7659 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
7660 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg_fpos
, 28)
7661 basic_istream_char
* __thiscall
basic_istream_char_seekg_fpos(basic_istream_char
*this, fpos_int pos
)
7663 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7665 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
7667 if(basic_istream_char_sentry_create(this, TRUE
)) {
7668 if(!ios_base_fail(&base
->base
)) {
7669 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7672 basic_streambuf_char_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
7673 basic_istream_char_sentry_destroy(this);
7675 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7676 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7678 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7682 basic_istream_char_sentry_destroy(this);
7684 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7688 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z */
7689 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAF@Z */
7690 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_short
, 8)
7691 basic_istream_char
* __thiscall
basic_istream_char_read_short(basic_istream_char
*this, short *v
)
7693 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7694 int state
= IOSTATE_goodbit
;
7696 TRACE("(%p %p)\n", this, v
);
7698 if(basic_istream_char_sentry_create(this, FALSE
)) {
7699 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7700 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7701 istreambuf_iterator_char first
={0}, last
={0};
7704 first
.strbuf
= strbuf
;
7705 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
7707 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
7710 state
|= IOSTATE_failbit
;
7712 basic_istream_char_sentry_destroy(this);
7714 basic_ios_char_setstate(base
, state
);
7718 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z */
7719 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAG@Z */
7720 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ushort
, 8)
7721 basic_istream_char
* __thiscall
basic_istream_char_read_ushort(basic_istream_char
*this, unsigned short *v
)
7723 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7724 int state
= IOSTATE_goodbit
;
7726 TRACE("(%p %p)\n", this, v
);
7728 if(basic_istream_char_sentry_create(this, FALSE
)) {
7729 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7730 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7731 istreambuf_iterator_char first
={0}, last
={0};
7733 first
.strbuf
= strbuf
;
7734 num_get_char_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7736 basic_istream_char_sentry_destroy(this);
7738 basic_ios_char_setstate(base
, state
);
7742 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z */
7743 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z */
7744 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int
, 8)
7745 basic_istream_char
* __thiscall
basic_istream_char_read_int(basic_istream_char
*this, int *v
)
7747 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7748 int state
= IOSTATE_goodbit
;
7750 TRACE("(%p %p)\n", this, v
);
7752 if(basic_istream_char_sentry_create(this, FALSE
)) {
7753 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7754 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7755 istreambuf_iterator_char first
={0}, last
={0};
7757 first
.strbuf
= strbuf
;
7758 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7760 basic_istream_char_sentry_destroy(this);
7762 basic_ios_char_setstate(base
, state
);
7766 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z */
7767 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAI@Z */
7768 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint
, 8)
7769 basic_istream_char
* __thiscall
basic_istream_char_read_uint(basic_istream_char
*this, unsigned int *v
)
7771 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7772 int state
= IOSTATE_goodbit
;
7774 TRACE("(%p %p)\n", this, v
);
7776 if(basic_istream_char_sentry_create(this, FALSE
)) {
7777 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7778 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7779 istreambuf_iterator_char first
={0}, last
={0};
7781 first
.strbuf
= strbuf
;
7782 num_get_char_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7784 basic_istream_char_sentry_destroy(this);
7786 basic_ios_char_setstate(base
, state
);
7790 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z */
7791 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAJ@Z */
7792 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_long
, 8)
7793 basic_istream_char
* __thiscall
basic_istream_char_read_long(basic_istream_char
*this, LONG
*v
)
7795 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7796 int state
= IOSTATE_goodbit
;
7798 TRACE("(%p %p)\n", this, v
);
7800 if(basic_istream_char_sentry_create(this, FALSE
)) {
7801 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7802 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7803 istreambuf_iterator_char first
={0}, last
={0};
7805 first
.strbuf
= strbuf
;
7806 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7808 basic_istream_char_sentry_destroy(this);
7810 basic_ios_char_setstate(base
, state
);
7814 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z */
7815 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAK@Z */
7816 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ulong
, 8)
7817 basic_istream_char
* __thiscall
basic_istream_char_read_ulong(basic_istream_char
*this, ULONG
*v
)
7819 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7820 int state
= IOSTATE_goodbit
;
7822 TRACE("(%p %p)\n", this, v
);
7824 if(basic_istream_char_sentry_create(this, FALSE
)) {
7825 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7826 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7827 istreambuf_iterator_char first
={0}, last
={0};
7829 first
.strbuf
= strbuf
;
7830 num_get_char_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7832 basic_istream_char_sentry_destroy(this);
7834 basic_ios_char_setstate(base
, state
);
7838 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z */
7839 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAM@Z */
7840 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_float
, 8)
7841 basic_istream_char
* __thiscall
basic_istream_char_read_float(basic_istream_char
*this, float *v
)
7843 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7844 int state
= IOSTATE_goodbit
;
7846 TRACE("(%p %p)\n", this, v
);
7848 if(basic_istream_char_sentry_create(this, FALSE
)) {
7849 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7850 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7851 istreambuf_iterator_char first
={0}, last
={0};
7853 first
.strbuf
= strbuf
;
7854 num_get_char_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7856 basic_istream_char_sentry_destroy(this);
7858 basic_ios_char_setstate(base
, state
);
7862 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z */
7863 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAN@Z */
7864 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_double
, 8)
7865 basic_istream_char
* __thiscall
basic_istream_char_read_double(basic_istream_char
*this, double *v
)
7867 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7868 int state
= IOSTATE_goodbit
;
7870 TRACE("(%p %p)\n", this, v
);
7872 if(basic_istream_char_sentry_create(this, FALSE
)) {
7873 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7874 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7875 istreambuf_iterator_char first
={0}, last
={0};
7877 first
.strbuf
= strbuf
;
7878 num_get_char_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7880 basic_istream_char_sentry_destroy(this);
7882 basic_ios_char_setstate(base
, state
);
7886 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z */
7887 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAO@Z */
7888 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ldouble
, 8)
7889 basic_istream_char
* __thiscall
basic_istream_char_read_ldouble(basic_istream_char
*this, double *v
)
7891 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7892 int state
= IOSTATE_goodbit
;
7894 TRACE("(%p %p)\n", this, v
);
7896 if(basic_istream_char_sentry_create(this, FALSE
)) {
7897 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7898 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7899 istreambuf_iterator_char first
={0}, last
={0};
7901 first
.strbuf
= strbuf
;
7902 num_get_char_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7904 basic_istream_char_sentry_destroy(this);
7906 basic_ios_char_setstate(base
, state
);
7910 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z */
7911 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
7912 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ptr
, 8)
7913 basic_istream_char
* __thiscall
basic_istream_char_read_ptr(basic_istream_char
*this, void **v
)
7915 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7916 int state
= IOSTATE_goodbit
;
7918 TRACE("(%p %p)\n", this, v
);
7920 if(basic_istream_char_sentry_create(this, FALSE
)) {
7921 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7922 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7923 istreambuf_iterator_char first
={0}, last
={0};
7925 first
.strbuf
= strbuf
;
7926 num_get_char_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7928 basic_istream_char_sentry_destroy(this);
7930 basic_ios_char_setstate(base
, state
);
7934 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_J@Z */
7935 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_J@Z */
7936 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int64
, 8)
7937 basic_istream_char
* __thiscall
basic_istream_char_read_int64(basic_istream_char
*this, __int64
*v
)
7939 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7940 int state
= IOSTATE_goodbit
;
7942 TRACE("(%p %p)\n", this, v
);
7944 if(basic_istream_char_sentry_create(this, FALSE
)) {
7945 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7946 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7947 istreambuf_iterator_char first
={0}, last
={0};
7949 first
.strbuf
= strbuf
;
7950 num_get_char_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7952 basic_istream_char_sentry_destroy(this);
7954 basic_ios_char_setstate(base
, state
);
7958 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_K@Z */
7959 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_K@Z */
7960 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint64
, 8)
7961 basic_istream_char
* __thiscall
basic_istream_char_read_uint64(basic_istream_char
*this, unsigned __int64
*v
)
7963 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7964 int state
= IOSTATE_goodbit
;
7966 TRACE("(%p %p)\n", this, v
);
7968 if(basic_istream_char_sentry_create(this, FALSE
)) {
7969 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7970 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7971 istreambuf_iterator_char first
={0}, last
={0};
7973 first
.strbuf
= strbuf
;
7974 num_get_char_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7976 basic_istream_char_sentry_destroy(this);
7978 basic_ios_char_setstate(base
, state
);
7982 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z */
7983 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_N@Z */
7984 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_bool
, 8)
7985 basic_istream_char
* __thiscall
basic_istream_char_read_bool(basic_istream_char
*this, MSVCP_bool
*v
)
7987 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7988 int state
= IOSTATE_goodbit
;
7990 TRACE("(%p %p)\n", this, v
);
7992 if(basic_istream_char_sentry_create(this, FALSE
)) {
7993 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7994 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7995 istreambuf_iterator_char first
={0}, last
={0};
7997 first
.strbuf
= strbuf
;
7998 num_get_char_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8000 basic_istream_char_sentry_destroy(this);
8002 basic_ios_char_setstate(base
, state
);
8006 /* ??$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 */
8007 /* ??$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 */
8008 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr_delim(
8009 basic_istream_char
*istream
, basic_string_char
*str
, char delim
)
8011 IOSB_iostate state
= IOSTATE_failbit
;
8014 TRACE("(%p %p %c)\n", istream
, str
, delim
);
8016 if(basic_istream_char_sentry_create(istream
, TRUE
)) {
8017 MSVCP_basic_string_char_clear(str
);
8019 for(c
= basic_istream_char_get(istream
); c
!=delim
&& c
!=EOF
;
8020 c
= basic_istream_char_get(istream
)) {
8021 state
= IOSTATE_goodbit
;
8022 MSVCP_basic_string_char_append_ch(str
, c
);
8025 basic_istream_char_sentry_destroy(istream
);
8027 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8028 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8032 /* ??$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 */
8033 /* ??$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 */
8034 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr(
8035 basic_istream_char
*istream
, basic_string_char
*str
)
8037 return basic_istream_char_getline_bstr_delim(istream
, str
, '\n');
8040 /* ??$?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 */
8041 /* ??$?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 */
8042 basic_istream_char
* __cdecl
basic_istream_char_read_bstr(
8043 basic_istream_char
*istream
, basic_string_char
*str
)
8045 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8046 IOSB_iostate state
= IOSTATE_failbit
;
8049 TRACE("(%p %p)\n", istream
, str
);
8051 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8052 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8053 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
8058 MSVCP_basic_string_char_clear(str
);
8060 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8061 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8062 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8063 state
= IOSTATE_goodbit
;
8064 MSVCP_basic_string_char_append_ch(str
, c
);
8067 ios_base_width_set(&base
->base
, 0);
8069 basic_istream_char_sentry_destroy(istream
);
8071 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8075 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z */
8076 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z */
8077 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z */
8078 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z */
8079 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z */
8080 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z */
8081 basic_istream_char
* __cdecl
basic_istream_char_read_str(basic_istream_char
*istream
, char *str
)
8083 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8084 IOSB_iostate state
= IOSTATE_failbit
;
8087 TRACE("(%p %p)\n", istream
, str
);
8089 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8090 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8091 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
8093 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8094 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8095 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8096 state
= IOSTATE_goodbit
;
8101 ios_base_width_set(&base
->base
, 0);
8103 basic_istream_char_sentry_destroy(istream
);
8105 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8109 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z */
8110 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z */
8111 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z */
8112 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z */
8113 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z */
8114 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z */
8115 basic_istream_char
* __cdecl
basic_istream_char_read_ch(basic_istream_char
*istream
, char *ch
)
8117 IOSB_iostate state
= IOSTATE_failbit
;
8120 TRACE("(%p %p)\n", istream
, ch
);
8122 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8123 c
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(
8124 basic_istream_char_get_basic_ios(istream
)));
8126 state
= IOSTATE_goodbit
;
8130 basic_istream_char_sentry_destroy(istream
);
8132 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8133 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8137 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8138 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8139 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_streambuf
, 8)
8140 basic_istream_char
* __thiscall
basic_istream_char_read_streambuf(
8141 basic_istream_char
*this, basic_streambuf_char
*streambuf
)
8143 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8144 IOSB_iostate state
= IOSTATE_failbit
;
8147 TRACE("(%p %p)\n", this, streambuf
);
8149 if(basic_istream_char_sentry_create(this, FALSE
)) {
8150 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
)); c
!=EOF
;
8151 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
))) {
8152 state
= IOSTATE_goodbit
;
8153 if(basic_streambuf_char_sputc(streambuf
, c
) == EOF
)
8157 basic_istream_char_sentry_destroy(this);
8159 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8163 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
8164 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
8165 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func
, 8)
8166 basic_istream_char
* __thiscall
basic_istream_char_read_func(basic_istream_char
*this,
8167 basic_istream_char
* (__cdecl
*pfunc
)(basic_istream_char
*))
8169 TRACE("(%p %p)\n", this, pfunc
);
8174 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
8175 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
8176 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_basic_ios
, 8)
8177 basic_istream_char
* __thiscall
basic_istream_char_read_func_basic_ios(basic_istream_char
*this,
8178 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
8180 TRACE("(%p %p)\n", this, pfunc
);
8181 pfunc(basic_istream_char_get_basic_ios(this));
8185 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
8186 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
8187 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_ios_base
, 8)
8188 basic_istream_char
* __thiscall
basic_istream_char_read_func_ios_base(basic_istream_char
*this,
8189 ios_base
* (__cdecl
*pfunc
)(ios_base
*))
8191 TRACE("(%p %p)\n", this, pfunc
);
8192 pfunc(&basic_istream_char_get_basic_ios(this)->base
);
8196 /* Caution: basic_istream uses virtual inheritance. */
8197 static inline basic_ios_wchar
* basic_istream_wchar_get_basic_ios(basic_istream_wchar
*this)
8199 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
8202 static inline basic_ios_wchar
* basic_istream_wchar_to_basic_ios(basic_istream_wchar
*ptr
)
8204 return (basic_ios_wchar
*)((char*)ptr
+basic_istream_wchar_vbtable
[1]);
8207 static inline basic_istream_wchar
* basic_istream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
8209 return (basic_istream_wchar
*)((char*)ptr
-basic_istream_wchar_vbtable
[1]);
8212 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8213 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8214 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_init
, 20)
8215 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_init(basic_istream_wchar
*this,
8216 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8218 basic_ios_wchar
*base
;
8220 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
8223 this->vbtable
= basic_istream_wchar_vbtable
;
8224 base
= basic_istream_wchar_get_basic_ios(this);
8225 basic_ios_wchar_ctor(base
);
8227 base
= basic_istream_wchar_get_basic_ios(this);
8230 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8233 basic_ios_wchar_init(base
, strbuf
, isstd
);
8237 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8238 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8239 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_init
, 20)
8240 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_init(basic_istream_wchar
*this,
8241 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8243 basic_istream_wchar_ctor_init(this, strbuf
, isstd
, noinit
, virt_init
);
8244 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8248 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8249 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8250 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor
, 16)
8251 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor(basic_istream_wchar
*this,
8252 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8254 return basic_istream_wchar_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8257 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8258 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8259 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor
, 16)
8260 basic_istream_wchar
* __thiscall
basic_istream_short_ctor(basic_istream_wchar
*this,
8261 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8263 return basic_istream_short_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8266 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8267 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8268 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_uninitialized
, 12)
8269 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_uninitialized(
8270 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8272 basic_ios_wchar
*base
;
8274 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
8277 this->vbtable
= basic_istream_wchar_vbtable
;
8278 base
= basic_istream_wchar_get_basic_ios(this);
8279 basic_ios_wchar_ctor(base
);
8281 base
= basic_istream_wchar_get_basic_ios(this);
8284 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8285 ios_base_Addstd(&base
->base
);
8289 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8290 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8291 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_uninitialized
, 12)
8292 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_uninitialized(
8293 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8295 basic_istream_wchar_ctor_uninitialized(this, uninitialized
, virt_init
);
8296 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8300 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
8301 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
8302 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ */
8303 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
8304 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_dtor
, 4)
8305 void __thiscall
basic_istream_wchar_dtor(basic_ios_wchar
*base
)
8307 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8309 /* don't destroy virtual base here */
8310 TRACE("(%p)\n", this);
8313 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8314 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8315 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8316 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8317 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vbase_dtor
, 4)
8318 void __thiscall
basic_istream_wchar_vbase_dtor(basic_istream_wchar
*this)
8320 TRACE("(%p)\n", this);
8321 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(this));
8322 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(this));
8325 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istream_wchar_vector_dtor
, 8)
8326 basic_istream_wchar
* __thiscall
MSVCP_basic_istream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
8328 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8330 TRACE("(%p %x)\n", this, flags
);
8333 /* we have an array, with the number of elements stored before the first object */
8334 int i
, *ptr
= (int *)this-1;
8336 for(i
=*ptr
-1; i
>=0; i
--)
8337 basic_istream_wchar_vbase_dtor(this+i
);
8338 MSVCRT_operator_delete(ptr
);
8340 basic_istream_wchar_vbase_dtor(this);
8342 MSVCRT_operator_delete(this);
8348 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istream_short_vector_dtor
, 8)
8349 basic_istream_wchar
* __thiscall
MSVCP_basic_istream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
8351 return MSVCP_basic_istream_wchar_vector_dtor(base
, flags
);
8354 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8355 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8356 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8357 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8358 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Ipfx
, 8)
8359 MSVCP_bool __thiscall
basic_istream_wchar__Ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8361 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8363 TRACE("(%p %d)\n", this, noskip
);
8365 if(!ios_base_good(&base
->base
)) {
8366 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8370 if(basic_ios_wchar_tie_get(base
))
8371 basic_ostream_wchar_flush(basic_ios_wchar_tie_get(base
));
8373 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
8374 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8375 const ctype_wchar
*ctype
= ctype_wchar_use_facet(base
->strbuf
->loc
);
8378 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); ;
8379 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8381 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8385 if(!ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
8393 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8394 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8395 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8396 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8397 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ipfx
, 8)
8398 MSVCP_bool __thiscall
basic_istream_wchar_ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8400 return basic_istream_wchar__Ipfx(this, noskip
);
8403 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8404 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8405 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8406 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8407 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_isfx
, 4)
8408 void __thiscall
basic_istream_wchar_isfx(basic_istream_wchar
*this)
8410 TRACE("(%p)\n", this);
8413 static BOOL
basic_istream_wchar_sentry_create(basic_istream_wchar
*istr
, MSVCP_bool noskip
)
8415 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8417 if(basic_ios_wchar_rdbuf_get(base
))
8418 basic_streambuf_wchar__Lock(base
->strbuf
);
8420 return basic_istream_wchar_ipfx(istr
, noskip
);
8423 static void basic_istream_wchar_sentry_destroy(basic_istream_wchar
*istr
)
8425 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8427 if(basic_ios_wchar_rdbuf_get(base
))
8428 basic_streambuf_wchar__Unlock(base
->strbuf
);
8431 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QBEHXZ */
8432 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEBA_JXZ */
8433 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ */
8434 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QEBA_JXZ */
8435 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_gcount
, 4)
8436 int __thiscall
basic_istream_wchar_gcount(const basic_istream_wchar
*this)
8438 TRACE("(%p)\n", this);
8442 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8443 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8444 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8445 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8446 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get
, 4)
8447 unsigned short __thiscall
basic_istream_wchar_get(basic_istream_wchar
*this)
8449 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8452 TRACE("(%p)\n", this);
8456 if(!basic_istream_wchar_sentry_create(this, TRUE
)) {
8457 basic_istream_wchar_sentry_destroy(this);
8461 ret
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(base
));
8462 basic_istream_wchar_sentry_destroy(this);
8464 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
8471 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AA_W@Z */
8472 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEA_W@Z */
8473 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z */
8474 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAG@Z */
8475 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_ch
, 8)
8476 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_ch(basic_istream_wchar
*this, wchar_t *ch
)
8480 TRACE("(%p %p)\n", this, ch
);
8482 ret
= basic_istream_wchar_get(this);
8488 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8489 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8490 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8491 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8492 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str_delim
, 16)
8493 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8495 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8496 unsigned short ch
= delim
;
8498 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
8502 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8503 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8505 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); count
>1;
8506 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8507 if(ch
==WEOF
|| ch
==delim
)
8515 basic_istream_wchar_sentry_destroy(this);
8517 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8518 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8524 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8525 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8526 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8527 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8528 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str
, 12)
8529 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8531 return basic_istream_wchar_get_str_delim(this, str
, count
, '\n');
8534 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8535 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8536 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8537 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8538 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf_delim
, 12)
8539 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf_delim(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
, wchar_t delim
)
8541 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8542 unsigned short ch
= delim
;
8544 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
8548 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8549 basic_streambuf_wchar
*strbuf_read
= basic_ios_wchar_rdbuf_get(base
);
8551 for(ch
= basic_streambuf_wchar_sgetc(strbuf_read
); ;
8552 ch
= basic_streambuf_wchar_snextc(strbuf_read
)) {
8553 if(ch
==WEOF
|| ch
==delim
)
8556 if(basic_streambuf_wchar_sputc(strbuf
, ch
) == WEOF
)
8561 basic_istream_wchar_sentry_destroy(this);
8563 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8564 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8568 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8569 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8570 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8571 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8572 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf
, 8)
8573 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
)
8575 return basic_istream_wchar_get_streambuf_delim(this, strbuf
, '\n');
8578 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8579 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8580 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8581 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8582 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline_delim
, 16)
8583 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8585 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8586 unsigned short ch
= delim
;
8588 TRACE("(%p %p %ld %c)\n", this, str
, count
, delim
);
8592 if(basic_istream_wchar_sentry_create(this, TRUE
) && count
>0) {
8593 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8596 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8598 if(ch
==WEOF
|| ch
==delim
)
8608 else if(ch
!= WEOF
) {
8609 ch
= basic_streambuf_wchar_sgetc(strbuf
);
8612 basic_streambuf_wchar__Gninc(strbuf
);
8617 basic_istream_wchar_sentry_destroy(this);
8619 basic_ios_wchar_setstate(base
, (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
8620 (!this->count
|| (ch
!=delim
&& ch
!=WEOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
8626 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8627 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8628 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8629 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8630 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline
, 12)
8631 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8633 return basic_istream_wchar_getline_delim(this, str
, count
, '\n');
8636 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@HG@Z */
8637 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JG@Z */
8638 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z */
8639 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z */
8640 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ignore
, 12)
8641 basic_istream_wchar
* __thiscall
basic_istream_wchar_ignore(basic_istream_wchar
*this, streamsize count
, unsigned short delim
)
8643 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8644 unsigned short ch
= delim
;
8646 TRACE("(%p %ld %d)\n", this, count
, delim
);
8650 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8651 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8654 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8656 if(ch
==WEOF
|| ch
==delim
)
8660 if(count
!= INT_MAX
)
8664 basic_istream_wchar_sentry_destroy(this);
8667 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8671 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8672 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8673 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8674 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8675 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_peek
, 4)
8676 unsigned short __thiscall
basic_istream_wchar_peek(basic_istream_wchar
*this)
8678 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8679 unsigned short ret
= WEOF
;
8681 TRACE("(%p)\n", this);
8685 if(basic_istream_wchar_sentry_create(this, TRUE
))
8686 ret
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
8687 basic_istream_wchar_sentry_destroy(this);
8691 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WIH@Z */
8692 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_K_J@Z */
8693 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGIH@Z */
8694 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_K_J@Z */
8695 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Read_s
, 16)
8696 basic_istream_wchar
* __thiscall
basic_istream_wchar__Read_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8698 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8699 IOSB_iostate state
= IOSTATE_goodbit
;
8701 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
8703 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8704 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8706 this->count
= basic_streambuf_wchar__Sgetn_s(strbuf
, str
, size
, count
);
8707 if(this->count
!= count
)
8708 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
8712 basic_istream_wchar_sentry_destroy(this);
8714 basic_ios_wchar_setstate(base
, state
);
8718 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8719 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8720 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8721 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8722 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read
, 12)
8723 basic_istream_wchar
* __thiscall
basic_istream_wchar_read(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8725 return basic_istream_wchar__Read_s(this, str
, count
, count
);
8728 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
8729 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
8730 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
8731 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
8732 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Readsome_s
, 16)
8733 streamsize __thiscall
basic_istream_wchar__Readsome_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8735 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8736 IOSB_iostate state
= IOSTATE_goodbit
;
8738 TRACE("(%p %p %lu %ld)\n", this, str
, size
, count
);
8742 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8743 streamsize avail
= basic_streambuf_wchar_in_avail(basic_ios_wchar_rdbuf_get(base
));
8748 state
|= IOSTATE_eofbit
;
8750 basic_istream_wchar__Read_s(this, str
, size
, avail
);
8752 state
|= IOSTATE_failbit
;
8754 basic_istream_wchar_sentry_destroy(this);
8756 basic_ios_wchar_setstate(base
, state
);
8760 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
8761 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
8762 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
8763 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
8764 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_readsome
, 12)
8765 streamsize __thiscall
basic_istream_wchar_readsome(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8767 return basic_istream_wchar__Readsome_s(this, str
, count
, count
);
8770 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
8771 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
8772 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
8773 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
8774 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_putback
, 8)
8775 basic_istream_wchar
* __thiscall
basic_istream_wchar_putback(basic_istream_wchar
*this, wchar_t ch
)
8777 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8778 IOSB_iostate state
= IOSTATE_goodbit
;
8780 TRACE("(%p %c)\n", this, ch
);
8784 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8785 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8787 if(!ios_base_good(&base
->base
))
8788 state
|= IOSTATE_failbit
;
8789 else if(!strbuf
|| basic_streambuf_wchar_sputbackc(strbuf
, ch
)==WEOF
)
8790 state
|= IOSTATE_badbit
;
8792 basic_istream_wchar_sentry_destroy(this);
8794 basic_ios_wchar_setstate(base
, state
);
8798 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
8799 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
8800 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
8801 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
8802 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_unget
, 4)
8803 basic_istream_wchar
* __thiscall
basic_istream_wchar_unget(basic_istream_wchar
*this)
8805 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8806 IOSB_iostate state
= IOSTATE_goodbit
;
8808 TRACE("(%p)\n", this);
8812 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8813 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8815 if(!ios_base_good(&base
->base
))
8816 state
|= IOSTATE_failbit
;
8817 else if(!strbuf
|| basic_streambuf_wchar_sungetc(strbuf
)==WEOF
)
8818 state
|= IOSTATE_badbit
;
8820 basic_istream_wchar_sentry_destroy(this);
8822 basic_ios_wchar_setstate(base
, state
);
8826 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
8827 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
8828 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ */
8829 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAHXZ */
8830 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_sync
, 4)
8831 int __thiscall
basic_istream_wchar_sync(basic_istream_wchar
*this)
8833 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8834 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8836 TRACE("(%p)\n", this);
8841 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8842 if(basic_streambuf_wchar_pubsync(strbuf
) != -1) {
8843 basic_istream_wchar_sentry_destroy(this);
8847 basic_istream_wchar_sentry_destroy(this);
8849 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
8853 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8854 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8855 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8856 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8857 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_tellg
, 8)
8858 fpos_int
* __thiscall
basic_istream_wchar_tellg(basic_istream_wchar
*this, fpos_int
*ret
)
8860 TRACE("(%p %p)\n", this, ret
);
8862 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8863 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8864 if(!ios_base_fail(&base
->base
)) {
8865 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
8866 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
8867 basic_istream_wchar_sentry_destroy(this);
8869 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
8870 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8874 basic_istream_wchar_sentry_destroy(this);
8882 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
8883 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
8884 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
8885 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
8886 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg
, 12)
8887 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg(basic_istream_wchar
*this, streamoff off
, int dir
)
8889 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8891 TRACE("(%p %ld %d)\n", this, off
, dir
);
8893 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8894 if(!ios_base_fail(&base
->base
)) {
8895 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8898 basic_streambuf_wchar_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
8899 basic_istream_wchar_sentry_destroy(this);
8901 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
8902 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8904 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
8908 basic_istream_wchar_sentry_destroy(this);
8910 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8914 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
8915 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
8916 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
8917 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
8918 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg_fpos
, 28)
8919 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg_fpos(basic_istream_wchar
*this, fpos_int pos
)
8921 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8923 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
8925 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8926 if(!ios_base_fail(&base
->base
)) {
8927 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8930 basic_streambuf_wchar_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
8931 basic_istream_wchar_sentry_destroy(this);
8933 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
8934 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8936 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
8940 basic_istream_wchar_sentry_destroy(this);
8942 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8946 static basic_istream_wchar
* basic_istream_read_short(basic_istream_wchar
*this, short *v
, const num_get
*numget
)
8948 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8949 int state
= IOSTATE_goodbit
;
8951 TRACE("(%p %p)\n", this, v
);
8953 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
8954 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8955 istreambuf_iterator_wchar first
={0}, last
={0};
8958 first
.strbuf
= strbuf
;
8959 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
8961 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
8964 state
|= IOSTATE_failbit
;
8966 basic_istream_wchar_sentry_destroy(this);
8968 basic_ios_wchar_setstate(base
, state
);
8972 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAF@Z */
8973 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAF@Z */
8974 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_short
, 8)
8975 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_short(basic_istream_wchar
*this, short *v
)
8977 return basic_istream_read_short(this, v
, num_get_wchar_use_facet(
8978 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
8981 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z */
8982 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAF@Z */
8983 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_short
, 8)
8984 basic_istream_wchar
* __thiscall
basic_istream_short_read_short(basic_istream_wchar
*this, short *v
)
8986 return basic_istream_read_short(this, v
, num_get_short_use_facet(
8987 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
8990 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAG@Z */
8991 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAG@Z */
8992 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ushort
, 8)
8993 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ushort(basic_istream_wchar
*this, unsigned short *v
)
8995 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8996 int state
= IOSTATE_goodbit
;
8998 TRACE("(%p %p)\n", this, v
);
9000 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9001 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9002 const num_get
*numget
= num_get_wchar_use_facet(strbuf
->loc
);
9003 istreambuf_iterator_wchar first
={0}, last
={0};
9005 first
.strbuf
= strbuf
;
9006 num_get_wchar_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9008 basic_istream_wchar_sentry_destroy(this);
9010 basic_ios_wchar_setstate(base
, state
);
9014 static basic_istream_wchar
* basic_istream_read_int(basic_istream_wchar
*this, int *v
, const num_get
*numget
)
9016 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9017 int state
= IOSTATE_goodbit
;
9019 TRACE("(%p %p)\n", this, v
);
9021 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9022 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9023 istreambuf_iterator_wchar first
={0}, last
={0};
9025 first
.strbuf
= strbuf
;
9026 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9028 basic_istream_wchar_sentry_destroy(this);
9030 basic_ios_wchar_setstate(base
, state
);
9034 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAH@Z */
9035 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAH@Z */
9036 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int
, 8)
9037 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int(basic_istream_wchar
*this, int *v
)
9039 return basic_istream_read_int(this, v
, num_get_wchar_use_facet(
9040 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9043 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z */
9044 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAH@Z */
9045 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int
, 8)
9046 basic_istream_wchar
* __thiscall
basic_istream_short_read_int(basic_istream_wchar
*this, int *v
)
9048 return basic_istream_read_int(this, v
, num_get_short_use_facet(
9049 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9052 static basic_istream_wchar
* basic_istream_read_uint(basic_istream_wchar
*this, unsigned int *v
, const num_get
*numget
)
9054 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9055 int state
= IOSTATE_goodbit
;
9057 TRACE("(%p %p)\n", this, v
);
9059 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9060 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9061 istreambuf_iterator_wchar first
={0}, last
={0};
9063 first
.strbuf
= strbuf
;
9064 num_get_wchar_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9066 basic_istream_wchar_sentry_destroy(this);
9068 basic_ios_wchar_setstate(base
, state
);
9072 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAI@Z */
9073 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAI@Z */
9074 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint
, 8)
9075 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9077 return basic_istream_read_uint(this, v
, num_get_wchar_use_facet(
9078 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9081 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z */
9082 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAI@Z */
9083 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint
, 8)
9084 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9086 return basic_istream_read_uint(this, v
, num_get_short_use_facet(
9087 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9090 static basic_istream_wchar
* basic_istream_read_long(basic_istream_wchar
*this, LONG
*v
, const num_get
*numget
)
9092 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9093 int state
= IOSTATE_goodbit
;
9095 TRACE("(%p %p)\n", this, v
);
9097 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9098 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9099 istreambuf_iterator_wchar first
={0}, last
={0};
9101 first
.strbuf
= strbuf
;
9102 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9104 basic_istream_wchar_sentry_destroy(this);
9106 basic_ios_wchar_setstate(base
, state
);
9110 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9111 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9112 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_long
, 8)
9113 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_long(basic_istream_wchar
*this, LONG
*v
)
9115 return basic_istream_read_long(this, v
, num_get_wchar_use_facet(
9116 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9119 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9120 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9121 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_long
, 8)
9122 basic_istream_wchar
* __thiscall
basic_istream_short_read_long(basic_istream_wchar
*this, LONG
*v
)
9124 return basic_istream_read_long(this, v
, num_get_short_use_facet(
9125 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9128 static basic_istream_wchar
* basic_istream_read_ulong(basic_istream_wchar
*this, ULONG
*v
, const num_get
*numget
)
9130 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9131 int state
= IOSTATE_goodbit
;
9133 TRACE("(%p %p)\n", this, v
);
9135 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9136 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9137 istreambuf_iterator_wchar first
={0}, last
={0};
9139 first
.strbuf
= strbuf
;
9140 num_get_wchar_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9142 basic_istream_wchar_sentry_destroy(this);
9144 basic_ios_wchar_setstate(base
, state
);
9148 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAK@Z */
9149 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAK@Z */
9150 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ulong
, 8)
9151 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9153 return basic_istream_read_ulong(this, v
, num_get_wchar_use_facet(
9154 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9157 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z */
9158 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAK@Z */
9159 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ulong
, 8)
9160 basic_istream_wchar
* __thiscall
basic_istream_short_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9162 return basic_istream_read_ulong(this, v
, num_get_short_use_facet(
9163 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9166 static basic_istream_wchar
* basic_istream_read_float(basic_istream_wchar
*this, float *v
, const num_get
*numget
)
9168 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9169 int state
= IOSTATE_goodbit
;
9171 TRACE("(%p %p)\n", this, v
);
9173 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9174 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9175 istreambuf_iterator_wchar first
={0}, last
={0};
9177 first
.strbuf
= strbuf
;
9178 num_get_wchar_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9180 basic_istream_wchar_sentry_destroy(this);
9182 basic_ios_wchar_setstate(base
, state
);
9186 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAM@Z */
9187 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAM@Z */
9188 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_float
, 8)
9189 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_float(basic_istream_wchar
*this, float *v
)
9191 return basic_istream_read_float(this, v
, num_get_wchar_use_facet(
9192 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9195 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z */
9196 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAM@Z */
9197 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_float
, 8)
9198 basic_istream_wchar
* __thiscall
basic_istream_short_read_float(basic_istream_wchar
*this, float *v
)
9200 return basic_istream_read_float(this, v
, num_get_short_use_facet(
9201 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9204 static basic_istream_wchar
* basic_istream_read_double(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9206 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9207 int state
= IOSTATE_goodbit
;
9209 TRACE("(%p %p)\n", this, v
);
9211 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9212 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9213 istreambuf_iterator_wchar first
={0}, last
={0};
9215 first
.strbuf
= strbuf
;
9216 num_get_wchar_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9218 basic_istream_wchar_sentry_destroy(this);
9220 basic_ios_wchar_setstate(base
, state
);
9224 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAN@Z */
9225 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAN@Z */
9226 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_double
, 8)
9227 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_double(basic_istream_wchar
*this, double *v
)
9229 return basic_istream_read_double(this, v
, num_get_wchar_use_facet(
9230 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9233 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z */
9234 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAN@Z */
9235 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_double
, 8)
9236 basic_istream_wchar
* __thiscall
basic_istream_short_read_double(basic_istream_wchar
*this, double *v
)
9238 return basic_istream_read_double(this, v
, num_get_short_use_facet(
9239 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9242 static basic_istream_wchar
* basic_istream_read_ldouble(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9244 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9245 int state
= IOSTATE_goodbit
;
9247 TRACE("(%p %p)\n", this, v
);
9249 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9250 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9251 istreambuf_iterator_wchar first
={0}, last
={0};
9253 first
.strbuf
= strbuf
;
9254 num_get_wchar_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9256 basic_istream_wchar_sentry_destroy(this);
9258 basic_ios_wchar_setstate(base
, state
);
9262 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAO@Z */
9263 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAO@Z */
9264 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ldouble
, 8)
9265 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ldouble(basic_istream_wchar
*this, double *v
)
9267 return basic_istream_read_ldouble(this, v
, num_get_wchar_use_facet(
9268 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9271 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z */
9272 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAO@Z */
9273 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ldouble
, 8)
9274 basic_istream_wchar
* __thiscall
basic_istream_short_read_ldouble(basic_istream_wchar
*this, double *v
)
9276 return basic_istream_read_ldouble(this, v
, num_get_short_use_facet(
9277 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9280 static basic_istream_wchar
* basic_istream_read_ptr(basic_istream_wchar
*this, void **v
, const num_get
*numget
)
9282 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9283 int state
= IOSTATE_goodbit
;
9285 TRACE("(%p %p)\n", this, v
);
9287 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9288 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9289 istreambuf_iterator_wchar first
={0}, last
={0};
9291 first
.strbuf
= strbuf
;
9292 num_get_wchar_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9294 basic_istream_wchar_sentry_destroy(this);
9296 basic_ios_wchar_setstate(base
, state
);
9300 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAPAX@Z */
9301 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9302 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ptr
, 8)
9303 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ptr(basic_istream_wchar
*this, void **v
)
9305 return basic_istream_read_ptr(this, v
, num_get_wchar_use_facet(
9306 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9309 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z */
9310 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9311 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ptr
, 8)
9312 basic_istream_wchar
* __thiscall
basic_istream_short_read_ptr(basic_istream_wchar
*this, void **v
)
9314 return basic_istream_read_ptr(this, v
, num_get_short_use_facet(
9315 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9318 static basic_istream_wchar
* basic_istream_read_int64(basic_istream_wchar
*this, __int64
*v
, const num_get
*numget
)
9320 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9321 int state
= IOSTATE_goodbit
;
9323 TRACE("(%p %p)\n", this, v
);
9325 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9326 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9327 istreambuf_iterator_wchar first
={0}, last
={0};
9329 first
.strbuf
= strbuf
;
9330 num_get_wchar_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9332 basic_istream_wchar_sentry_destroy(this);
9334 basic_ios_wchar_setstate(base
, state
);
9338 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_J@Z */
9339 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_J@Z */
9340 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int64
, 8)
9341 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int64(basic_istream_wchar
*this, __int64
*v
)
9343 return basic_istream_read_int64(this, v
, num_get_wchar_use_facet(
9344 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9347 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_J@Z */
9348 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_J@Z */
9349 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int64
, 8)
9350 basic_istream_wchar
* __thiscall
basic_istream_short_read_int64(basic_istream_wchar
*this, __int64
*v
)
9352 return basic_istream_read_int64(this, v
, num_get_short_use_facet(
9353 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9356 static basic_istream_wchar
* basic_istream_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
, const num_get
*numget
)
9358 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9359 int state
= IOSTATE_goodbit
;
9361 TRACE("(%p %p)\n", this, v
);
9363 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9364 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9365 istreambuf_iterator_wchar first
={0}, last
={0};
9367 first
.strbuf
= strbuf
;
9368 num_get_wchar_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9370 basic_istream_wchar_sentry_destroy(this);
9372 basic_ios_wchar_setstate(base
, state
);
9376 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_K@Z */
9377 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_K@Z */
9378 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint64
, 8)
9379 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9381 return basic_istream_read_uint64(this, v
, num_get_wchar_use_facet(
9382 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9385 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_K@Z */
9386 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_K@Z */
9387 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint64
, 8)
9388 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9390 return basic_istream_read_uint64(this, v
, num_get_short_use_facet(
9391 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9394 static basic_istream_wchar
* basic_istream_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
, const num_get
*numget
)
9396 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9397 int state
= IOSTATE_goodbit
;
9399 TRACE("(%p %p)\n", this, v
);
9401 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9402 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9403 istreambuf_iterator_wchar first
={0}, last
={0};
9405 first
.strbuf
= strbuf
;
9406 num_get_wchar_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9408 basic_istream_wchar_sentry_destroy(this);
9410 basic_ios_wchar_setstate(base
, state
);
9414 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_N@Z */
9415 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_N@Z */
9416 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_bool
, 8)
9417 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9419 return basic_istream_read_bool(this, v
, num_get_wchar_use_facet(
9420 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9423 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z */
9424 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_N@Z */
9425 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_bool
, 8)
9426 basic_istream_wchar
* __thiscall
basic_istream_short_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9428 return basic_istream_read_bool(this, v
, num_get_short_use_facet(
9429 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9432 /* ??$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 */
9433 /* ??$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 */
9434 /* ??$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 */
9435 /* ??$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 */
9436 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr_delim(
9437 basic_istream_wchar
*istream
, basic_string_wchar
*str
, wchar_t delim
)
9439 IOSB_iostate state
= IOSTATE_failbit
;
9442 TRACE("(%p %p %c)\n", istream
, str
, delim
);
9444 if(basic_istream_wchar_sentry_create(istream
, TRUE
)) {
9445 MSVCP_basic_string_wchar_clear(str
);
9447 for(c
= basic_istream_wchar_get(istream
); c
!=delim
&& c
!=WEOF
;
9448 c
= basic_istream_wchar_get(istream
)) {
9449 state
= IOSTATE_goodbit
;
9450 MSVCP_basic_string_wchar_append_ch(str
, c
);
9453 basic_istream_wchar_sentry_destroy(istream
);
9455 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9456 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9460 /* ??$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 */
9461 /* ??$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 */
9462 /* ??$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 */
9463 /* ??$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 */
9464 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr(
9465 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9467 return basic_istream_wchar_getline_bstr_delim(istream
, str
, '\n');
9470 static basic_istream_wchar
* basic_istream_read_bstr(basic_istream_wchar
*istream
,
9471 basic_string_wchar
*str
, const ctype_wchar
*ctype
)
9473 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9474 IOSB_iostate state
= IOSTATE_failbit
;
9477 TRACE("(%p %p)\n", istream
, str
);
9479 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9480 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
9485 MSVCP_basic_string_wchar_clear(str
);
9487 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9488 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9489 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9490 state
= IOSTATE_goodbit
;
9491 MSVCP_basic_string_wchar_append_ch(str
, c
);
9494 ios_base_width_set(&base
->base
, 0);
9496 basic_istream_wchar_sentry_destroy(istream
);
9498 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9502 /* ??$?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 */
9503 /* ??$?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 */
9504 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_bstr(
9505 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9507 return basic_istream_read_bstr(istream
, str
, ctype_wchar_use_facet(
9508 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9511 /* ??$?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 */
9512 /* ??$?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 */
9513 basic_istream_wchar
* __cdecl
basic_istream_short_read_bstr(
9514 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9516 return basic_istream_read_bstr(istream
, str
, ctype_short_use_facet(
9517 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9520 basic_istream_wchar
* basic_istream_read_str(basic_istream_wchar
*istream
, wchar_t *str
, const ctype_wchar
*ctype
)
9522 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9523 IOSB_iostate state
= IOSTATE_failbit
;
9524 unsigned short c
= '\n';
9526 TRACE("(%p %p)\n", istream
, str
);
9528 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9529 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
9531 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9532 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9533 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9534 state
= IOSTATE_goodbit
;
9539 ios_base_width_set(&base
->base
, 0);
9541 basic_istream_wchar_sentry_destroy(istream
);
9543 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9547 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@PA_W@Z */
9548 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@PEA_W@Z */
9549 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9551 return basic_istream_read_str(istream
, str
, ctype_wchar_use_facet(
9552 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9555 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z */
9556 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z */
9557 basic_istream_wchar
* __cdecl
basic_istream_short_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9559 return basic_istream_read_str(istream
, str
, ctype_short_use_facet(
9560 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9563 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AA_W@Z */
9564 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEA_W@Z */
9565 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z */
9566 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z */
9567 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_ch(basic_istream_wchar
*istream
, wchar_t *ch
)
9569 IOSB_iostate state
= IOSTATE_failbit
;
9570 unsigned short c
= 0;
9572 TRACE("(%p %p)\n", istream
, ch
);
9574 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9575 c
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(
9576 basic_istream_wchar_get_basic_ios(istream
)));
9578 state
= IOSTATE_goodbit
;
9582 basic_istream_wchar_sentry_destroy(istream
);
9584 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9585 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9589 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9590 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9591 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9592 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9593 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_streambuf
, 8)
9594 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_streambuf(
9595 basic_istream_wchar
*this, basic_streambuf_wchar
*streambuf
)
9597 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9598 IOSB_iostate state
= IOSTATE_failbit
;
9599 unsigned short c
= '\n';
9601 TRACE("(%p %p)\n", this, streambuf
);
9603 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9604 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
)); c
!=WEOF
;
9605 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
))) {
9606 state
= IOSTATE_goodbit
;
9607 if(basic_streambuf_wchar_sputc(streambuf
, c
) == WEOF
)
9611 basic_istream_wchar_sentry_destroy(this);
9613 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9617 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9618 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9619 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9620 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9621 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func
, 8)
9622 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func(basic_istream_wchar
*this,
9623 basic_istream_wchar
* (__cdecl
*pfunc
)(basic_istream_wchar
*))
9625 TRACE("(%p %p)\n", this, pfunc
);
9630 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
9631 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
9632 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
9633 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
9634 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_basic_ios
, 8)
9635 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_basic_ios(basic_istream_wchar
*this,
9636 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
9638 TRACE("(%p %p)\n", this, pfunc
);
9639 pfunc(basic_istream_wchar_get_basic_ios(this));
9643 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9644 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9645 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9646 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9647 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_ios_base
, 8)
9648 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_ios_base(
9649 basic_istream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
9651 TRACE("(%p %p)\n", this, pfunc
);
9652 pfunc(&basic_istream_wchar_get_basic_ios(this)->base
);
9656 static inline basic_ios_char
* basic_iostream_char_to_basic_ios(basic_iostream_char
*ptr
)
9658 return (basic_ios_char
*)((char*)ptr
+basic_iostream_char_vbtable1
[1]);
9661 static inline basic_iostream_char
* basic_iostream_char_from_basic_ios(basic_ios_char
*ptr
)
9663 return (basic_iostream_char
*)((char*)ptr
-basic_iostream_char_vbtable1
[1]);
9666 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9667 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9668 DEFINE_THISCALL_WRAPPER(basic_iostream_char_ctor
, 12)
9669 basic_iostream_char
* __thiscall
basic_iostream_char_ctor(basic_iostream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool virt_init
)
9671 basic_ios_char
*basic_ios
;
9673 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9676 this->base1
.vbtable
= basic_iostream_char_vbtable1
;
9677 this->base2
.vbtable
= basic_iostream_char_vbtable2
;
9678 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9679 basic_ios_char_ctor(basic_ios
);
9681 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9684 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_char_vtable
;
9686 basic_istream_char_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9687 basic_ostream_char_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9691 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
9692 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
9693 DEFINE_THISCALL_WRAPPER(basic_iostream_char_dtor
, 4)
9694 void __thiscall
basic_iostream_char_dtor(basic_ios_char
*base
)
9696 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9698 TRACE("(%p)\n", this);
9699 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base2
));
9700 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base1
));
9703 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
9704 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
9705 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vbase_dtor
, 4)
9706 void __thiscall
basic_iostream_char_vbase_dtor(basic_iostream_char
*this)
9708 TRACE("(%p)\n", this);
9709 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(this));
9710 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base1
));
9713 DEFINE_THISCALL_WRAPPER(MSVCP_basic_iostream_char_vector_dtor
, 8)
9714 basic_iostream_char
* __thiscall
MSVCP_basic_iostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
9716 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9718 TRACE("(%p %x)\n", this, flags
);
9721 /* we have an array, with the number of elements stored before the first object */
9722 int i
, *ptr
= (int *)this-1;
9724 for(i
=*ptr
-1; i
>=0; i
--)
9725 basic_iostream_char_vbase_dtor(this+i
);
9726 MSVCRT_operator_delete(ptr
);
9728 basic_iostream_char_vbase_dtor(this);
9730 MSVCRT_operator_delete(this);
9736 static inline basic_ios_wchar
* basic_iostream_wchar_to_basic_ios(basic_iostream_wchar
*ptr
)
9738 return (basic_ios_wchar
*)((char*)ptr
+basic_iostream_wchar_vbtable1
[1]);
9741 static inline basic_iostream_wchar
* basic_iostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
9743 return (basic_iostream_wchar
*)((char*)ptr
-basic_iostream_wchar_vbtable1
[1]);
9746 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9747 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9748 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_ctor
, 12)
9749 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_ctor(basic_iostream_wchar
*this,
9750 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9752 basic_ios_wchar
*basic_ios
;
9754 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9757 this->base1
.vbtable
= basic_iostream_wchar_vbtable1
;
9758 this->base2
.vbtable
= basic_iostream_wchar_vbtable2
;
9759 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9760 basic_ios_wchar_ctor(basic_ios
);
9762 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9765 basic_istream_wchar_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9766 basic_ostream_wchar_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9768 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_wchar_vtable
;
9772 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9773 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9774 DEFINE_THISCALL_WRAPPER(basic_iostream_short_ctor
, 12)
9775 basic_iostream_wchar
* __thiscall
basic_iostream_short_ctor(basic_iostream_wchar
*this,
9776 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9778 basic_iostream_wchar_ctor(this, strbuf
, virt_init
);
9779 basic_istream_wchar_get_basic_ios(&this->base1
)->base
.vtable
= &MSVCP_basic_iostream_short_vtable
;
9783 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
9784 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
9785 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
9786 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
9787 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_dtor
, 4)
9788 void __thiscall
basic_iostream_wchar_dtor(basic_ios_wchar
*base
)
9790 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9792 TRACE("(%p)\n", this);
9793 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base2
));
9794 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base1
));
9797 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
9798 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
9799 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
9800 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
9801 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vbase_dtor
, 4)
9802 void __thiscall
basic_iostream_wchar_vbase_dtor(basic_iostream_wchar
*this)
9804 TRACE("(%p)\n", this);
9805 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(this));
9806 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base1
));
9809 DEFINE_THISCALL_WRAPPER(MSVCP_basic_iostream_wchar_vector_dtor
, 8)
9810 basic_iostream_wchar
* __thiscall
MSVCP_basic_iostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
9812 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9814 TRACE("(%p %x)\n", this, flags
);
9817 /* we have an array, with the number of elements stored before the first object */
9818 int i
, *ptr
= (int *)this-1;
9820 for(i
=*ptr
-1; i
>=0; i
--)
9821 basic_iostream_wchar_vbase_dtor(this+i
);
9822 MSVCRT_operator_delete(ptr
);
9824 basic_iostream_wchar_vbase_dtor(this);
9826 MSVCRT_operator_delete(this);
9832 DEFINE_THISCALL_WRAPPER(MSVCP_basic_iostream_short_vector_dtor
, 8)
9833 basic_iostream_wchar
* __thiscall
MSVCP_basic_iostream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
9835 return MSVCP_basic_iostream_wchar_vector_dtor(base
, flags
);
9838 static inline basic_ios_char
* basic_ofstream_char_to_basic_ios(basic_ofstream_char
*ptr
)
9840 return (basic_ios_char
*)((char*)ptr
+basic_ofstream_char_vbtable
[1]);
9843 static inline basic_ofstream_char
* basic_ofstream_char_from_basic_ios(basic_ios_char
*ptr
)
9845 return (basic_ofstream_char
*)((char*)ptr
-basic_ofstream_char_vbtable
[1]);
9848 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
9849 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
9850 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor
, 8)
9851 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor(basic_ofstream_char
*this, MSVCP_bool virt_init
)
9853 basic_ios_char
*basic_ios
;
9855 TRACE("(%p %d)\n", this, virt_init
);
9858 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9859 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9860 basic_ios_char_ctor(basic_ios
);
9862 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9865 basic_filebuf_char_ctor(&this->filebuf
);
9866 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
9867 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
9871 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
9872 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
9873 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_file
, 12)
9874 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_file(
9875 basic_ofstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
9877 basic_ios_char
*basic_ios
;
9879 TRACE("(%p %p %d)\n", this, file
, virt_init
);
9882 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9883 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9884 basic_ios_char_ctor(basic_ios
);
9886 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9889 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
9890 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
9891 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
9895 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
9896 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
9897 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name
, 20)
9898 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name(basic_ofstream_char
*this,
9899 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
9901 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
9903 basic_ofstream_char_ctor(this, virt_init
);
9905 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
9906 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9907 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
9912 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
9913 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
9914 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
9915 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
9916 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name_wchar
, 20)
9917 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name_wchar(basic_ofstream_char
*this,
9918 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
9920 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
9922 basic_ofstream_char_ctor(this, virt_init
);
9924 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
9925 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9926 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
9931 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
9932 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
9933 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_dtor
, 4)
9934 void __thiscall
basic_ofstream_char_dtor(basic_ios_char
*base
)
9936 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
9938 TRACE("(%p)\n", this);
9940 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
9941 basic_filebuf_char_dtor(&this->filebuf
);
9944 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
9945 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
9946 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vbase_dtor
, 4)
9947 void __thiscall
basic_ofstream_char_vbase_dtor(basic_ofstream_char
*this)
9949 TRACE("(%p)\n", this);
9951 basic_ofstream_char_dtor(basic_ofstream_char_to_basic_ios(this));
9952 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
9955 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ofstream_char_vector_dtor
, 8)
9956 basic_ofstream_char
* __thiscall
MSVCP_basic_ofstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
9958 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
9960 TRACE("(%p %x)\n", this, flags
);
9963 /* we have an array, with the number of elements stored before the first object */
9964 int i
, *ptr
= (int *)this-1;
9966 for(i
=*ptr
-1; i
>=0; i
--)
9967 basic_ofstream_char_vbase_dtor(this+i
);
9968 MSVCRT_operator_delete(ptr
);
9970 basic_ofstream_char_vbase_dtor(this);
9972 MSVCRT_operator_delete(this);
9978 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
9979 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
9980 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_close
, 4)
9981 void __thiscall
basic_ofstream_char_close(basic_ofstream_char
*this)
9983 TRACE("(%p)\n", this);
9985 if(!basic_filebuf_char_close(&this->filebuf
)) {
9986 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9987 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
9991 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
9992 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
9993 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_is_open
, 4)
9994 MSVCP_bool __thiscall
basic_ofstream_char_is_open(const basic_ofstream_char
*this)
9996 TRACE("(%p)\n", this);
9997 return basic_filebuf_char_is_open(&this->filebuf
);
10000 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10001 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10002 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open
, 16)
10003 void __thiscall
basic_ofstream_char_open(basic_ofstream_char
*this,
10004 const char *name
, int mode
, int prot
)
10006 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10008 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10009 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10010 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10014 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10015 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10016 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old
, 12)
10017 void __thiscall
basic_ofstream_char_open_old(basic_ofstream_char
*this,
10018 const char *name
, unsigned int mode
)
10020 basic_ofstream_char_open(this, name
, mode
, _SH_DENYNO
);
10023 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
10024 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
10025 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
10026 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
10027 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar
, 16)
10028 void __thiscall
basic_ofstream_char_open_wchar(basic_ofstream_char
*this,
10029 const wchar_t *name
, int mode
, int prot
)
10031 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10033 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10034 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10035 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10039 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
10040 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
10041 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
10042 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
10043 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar_old
, 12)
10044 void __thiscall
basic_ofstream_char_open_wchar_old(basic_ofstream_char
*this,
10045 const wchar_t *name
, unsigned int mode
)
10047 basic_ofstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
10050 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10051 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10052 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_rdbuf
, 4)
10053 basic_filebuf_char
* __thiscall
basic_ofstream_char_rdbuf(const basic_ofstream_char
*this)
10055 TRACE("(%p)\n", this);
10056 return (basic_filebuf_char
*)&this->filebuf
;
10059 static inline basic_ios_wchar
* basic_ofstream_wchar_to_basic_ios(basic_ofstream_wchar
*ptr
)
10061 return (basic_ios_wchar
*)((char*)ptr
+basic_ofstream_wchar_vbtable
[1]);
10064 static inline basic_ofstream_wchar
* basic_ofstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10066 return (basic_ofstream_wchar
*)((char*)ptr
-basic_ofstream_wchar_vbtable
[1]);
10069 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10070 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10071 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor
, 8)
10072 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10074 basic_ios_wchar
*basic_ios
;
10076 TRACE("(%p %d)\n", this, virt_init
);
10079 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10080 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10081 basic_ios_wchar_ctor(basic_ios
);
10083 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10086 basic_filebuf_wchar_ctor(&this->filebuf
);
10087 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10088 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10092 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10093 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10094 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor
, 8)
10095 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10097 basic_ofstream_wchar_ctor(this, virt_init
);
10098 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10102 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10103 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10104 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_file
, 12)
10105 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_file(
10106 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10108 basic_ios_wchar
*basic_ios
;
10110 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10113 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10114 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10115 basic_ios_wchar_ctor(basic_ios
);
10117 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10120 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10121 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10122 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10126 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10127 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10128 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_file
, 12)
10129 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_file(
10130 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10132 basic_ofstream_wchar_ctor_file(this, file
, virt_init
);
10133 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10137 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10138 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10139 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name
, 20)
10140 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_name(basic_ofstream_wchar
*this,
10141 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10143 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10145 basic_ofstream_wchar_ctor(this, virt_init
);
10147 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10148 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10149 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10154 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10155 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10156 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name
, 20)
10157 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name(basic_ofstream_wchar
*this,
10158 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10160 basic_ofstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10161 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10165 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
10166 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
10167 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
10168 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
10169 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name_wchar
, 20)
10170 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_name_wchar(basic_ofstream_wchar
*this,
10171 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10173 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10175 basic_ofstream_wchar_ctor(this, virt_init
);
10177 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10178 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10179 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10184 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
10185 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
10186 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
10187 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
10188 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name_wchar
, 20)
10189 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name_wchar(basic_ofstream_wchar
*this,
10190 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10192 basic_ofstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
10193 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10197 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10198 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10199 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10200 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10201 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_dtor
, 4)
10202 void __thiscall
basic_ofstream_wchar_dtor(basic_ios_wchar
*base
)
10204 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10206 TRACE("(%p)\n", this);
10208 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
10209 basic_filebuf_wchar_dtor(&this->filebuf
);
10212 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10213 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10214 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10215 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10216 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vbase_dtor
, 4)
10217 void __thiscall
basic_ofstream_wchar_vbase_dtor(basic_ofstream_wchar
*this)
10219 TRACE("(%p)\n", this);
10221 basic_ofstream_wchar_dtor(basic_ofstream_wchar_to_basic_ios(this));
10222 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
10225 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ofstream_wchar_vector_dtor
, 8)
10226 basic_ofstream_wchar
* __thiscall
MSVCP_basic_ofstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10228 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10230 TRACE("(%p %x)\n", this, flags
);
10233 /* we have an array, with the number of elements stored before the first object */
10234 int i
, *ptr
= (int *)this-1;
10236 for(i
=*ptr
-1; i
>=0; i
--)
10237 basic_ofstream_wchar_vbase_dtor(this+i
);
10238 MSVCRT_operator_delete(ptr
);
10240 basic_ofstream_wchar_vbase_dtor(this);
10242 MSVCRT_operator_delete(this);
10248 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ofstream_short_vector_dtor
, 8)
10249 basic_ofstream_wchar
* __thiscall
MSVCP_basic_ofstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10251 return MSVCP_basic_ofstream_wchar_vector_dtor(base
, flags
);
10254 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10255 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10256 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10257 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10258 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_close
, 4)
10259 void __thiscall
basic_ofstream_wchar_close(basic_ofstream_wchar
*this)
10261 TRACE("(%p)\n", this);
10263 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10264 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10265 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10269 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10270 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10271 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10272 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10273 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_is_open
, 4)
10274 MSVCP_bool __thiscall
basic_ofstream_wchar_is_open(const basic_ofstream_wchar
*this)
10276 TRACE("(%p)\n", this);
10277 return basic_filebuf_wchar_is_open(&this->filebuf
);
10280 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10281 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10282 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10283 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10284 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open
, 16)
10285 void __thiscall
basic_ofstream_wchar_open(basic_ofstream_wchar
*this,
10286 const char *name
, int mode
, int prot
)
10288 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10290 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10291 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10292 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10296 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10297 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10298 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10299 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10300 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old
, 12)
10301 void __thiscall
basic_ofstream_wchar_open_old(basic_ofstream_wchar
*this,
10302 const char *name
, unsigned int mode
)
10304 basic_ofstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10307 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
10308 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
10309 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
10310 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
10311 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
10312 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
10313 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
10314 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
10315 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar
, 16)
10316 void __thiscall
basic_ofstream_wchar_open_wchar(basic_ofstream_wchar
*this,
10317 const wchar_t *name
, int mode
, int prot
)
10319 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10321 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10322 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10323 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10327 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
10328 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
10329 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
10330 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
10331 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
10332 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
10333 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
10334 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
10335 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar_old
, 12)
10336 void __thiscall
basic_ofstream_wchar_open_wchar_old(basic_ofstream_wchar
*this,
10337 const wchar_t *name
, unsigned int mode
)
10339 basic_ofstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
10342 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10343 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10344 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10345 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10346 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_rdbuf
, 4)
10347 basic_filebuf_wchar
* __thiscall
basic_ofstream_wchar_rdbuf(const basic_ofstream_wchar
*this)
10349 TRACE("(%p)\n", this);
10350 return (basic_filebuf_wchar
*)&this->filebuf
;
10353 static inline basic_ios_char
* basic_ifstream_char_to_basic_ios(basic_ifstream_char
*ptr
)
10355 return (basic_ios_char
*)((char*)ptr
+basic_ifstream_char_vbtable
[1]);
10358 static inline basic_ifstream_char
* basic_ifstream_char_from_basic_ios(basic_ios_char
*ptr
)
10360 return (basic_ifstream_char
*)((char*)ptr
-basic_ifstream_char_vbtable
[1]);
10363 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10364 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10365 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor
, 8)
10366 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor(basic_ifstream_char
*this, MSVCP_bool virt_init
)
10368 basic_ios_char
*basic_ios
;
10370 TRACE("(%p %d)\n", this, virt_init
);
10373 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10374 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10375 basic_ios_char_ctor(basic_ios
);
10377 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10380 basic_filebuf_char_ctor(&this->filebuf
);
10381 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10382 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10386 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10387 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10388 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_file
, 12)
10389 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_file(
10390 basic_ifstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
10392 basic_ios_char
*basic_ios
;
10394 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10397 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10398 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10399 basic_ios_char_ctor(basic_ios
);
10401 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10404 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10405 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10406 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10410 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10411 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10412 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name
, 20)
10413 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name(basic_ifstream_char
*this,
10414 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10416 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10418 basic_ifstream_char_ctor(this, virt_init
);
10420 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10421 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10422 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10427 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
10428 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
10429 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
10430 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
10431 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name_wchar
, 20)
10432 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name_wchar(basic_ifstream_char
*this,
10433 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10435 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10437 basic_ifstream_char_ctor(this, virt_init
);
10439 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10440 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10441 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10446 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10447 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10448 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_dtor
, 4)
10449 void __thiscall
basic_ifstream_char_dtor(basic_ios_char
*base
)
10451 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10453 TRACE("(%p)\n", this);
10455 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
10456 basic_filebuf_char_dtor(&this->filebuf
);
10459 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10460 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10461 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vbase_dtor
, 4)
10462 void __thiscall
basic_ifstream_char_vbase_dtor(basic_ifstream_char
*this)
10464 TRACE("(%p)\n", this);
10466 basic_ifstream_char_dtor(basic_ifstream_char_to_basic_ios(this));
10467 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
10470 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ifstream_char_vector_dtor
, 8)
10471 basic_ifstream_char
* __thiscall
MSVCP_basic_ifstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10473 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10475 TRACE("(%p %x)\n", this, flags
);
10478 /* we have an array, with the number of elements stored before the first object */
10479 int i
, *ptr
= (int *)this-1;
10481 for(i
=*ptr
-1; i
>=0; i
--)
10482 basic_ifstream_char_vbase_dtor(this+i
);
10483 MSVCRT_operator_delete(ptr
);
10485 basic_ifstream_char_vbase_dtor(this);
10487 MSVCRT_operator_delete(this);
10493 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10494 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10495 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_close
, 4)
10496 void __thiscall
basic_ifstream_char_close(basic_ifstream_char
*this)
10498 TRACE("(%p)\n", this);
10500 if(!basic_filebuf_char_close(&this->filebuf
)) {
10501 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10502 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10506 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10507 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10508 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_is_open
, 4)
10509 MSVCP_bool __thiscall
basic_ifstream_char_is_open(const basic_ifstream_char
*this)
10511 TRACE("(%p)\n", this);
10512 return basic_filebuf_char_is_open(&this->filebuf
);
10515 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10516 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10517 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open
, 16)
10518 void __thiscall
basic_ifstream_char_open(basic_ifstream_char
*this,
10519 const char *name
, int mode
, int prot
)
10521 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10523 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10524 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10525 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10529 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10530 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10531 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_old
, 12)
10532 void __thiscall
basic_ifstream_char_open_old(basic_ifstream_char
*this,
10533 const char *name
, unsigned int mode
)
10535 basic_ifstream_char_open(this, name
, mode
, _SH_DENYNO
);
10538 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
10539 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
10540 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
10541 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
10542 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar
, 16)
10543 void __thiscall
basic_ifstream_char_open_wchar(basic_ifstream_char
*this,
10544 const wchar_t *name
, int mode
, int prot
)
10546 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10548 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10549 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10550 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10554 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
10555 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
10556 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
10557 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
10558 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar_old
, 12)
10559 void __thiscall
basic_ifstream_char_open_wchar_old(basic_ifstream_char
*this,
10560 const wchar_t *name
, unsigned int mode
)
10562 basic_ifstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
10565 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10566 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10567 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_rdbuf
, 4)
10568 basic_filebuf_char
* __thiscall
basic_ifstream_char_rdbuf(const basic_ifstream_char
*this)
10570 TRACE("(%p)\n", this);
10571 return (basic_filebuf_char
*)&this->filebuf
;
10574 static inline basic_ios_wchar
* basic_ifstream_wchar_to_basic_ios(basic_ifstream_wchar
*ptr
)
10576 return (basic_ios_wchar
*)((char*)ptr
+basic_ifstream_wchar_vbtable
[1]);
10579 static inline basic_ifstream_wchar
* basic_ifstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10581 return (basic_ifstream_wchar
*)((char*)ptr
-basic_ifstream_wchar_vbtable
[1]);
10584 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10585 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10586 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor
, 8)
10587 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10589 basic_ios_wchar
*basic_ios
;
10591 TRACE("(%p %d)\n", this, virt_init
);
10594 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10595 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10596 basic_ios_wchar_ctor(basic_ios
);
10598 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10601 basic_filebuf_wchar_ctor(&this->filebuf
);
10602 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10603 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10607 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10608 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10609 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor
, 8)
10610 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10612 basic_ifstream_wchar_ctor(this, virt_init
);
10613 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10617 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10618 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10619 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_file
, 12)
10620 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_file(
10621 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10623 basic_ios_wchar
*basic_ios
;
10625 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10628 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10629 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10630 basic_ios_wchar_ctor(basic_ios
);
10632 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10635 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10636 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10637 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10641 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10642 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10643 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_file
, 12)
10644 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_file(
10645 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10647 basic_ifstream_wchar_ctor_file(this, file
, virt_init
);
10648 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10652 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10653 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10654 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name
, 20)
10655 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_name(basic_ifstream_wchar
*this,
10656 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10658 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10660 basic_ifstream_wchar_ctor(this, virt_init
);
10662 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10663 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10664 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10669 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10670 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10671 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name
, 20)
10672 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name(basic_ifstream_wchar
*this,
10673 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10675 basic_ifstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10676 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10680 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
10681 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
10682 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
10683 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
10684 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name_wchar
, 20)
10685 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_name_wchar(basic_ifstream_wchar
*this,
10686 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10688 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10690 basic_ifstream_wchar_ctor(this, virt_init
);
10692 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10693 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10694 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10699 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
10700 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
10701 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
10702 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
10703 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name_wchar
, 20)
10704 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name_wchar(basic_ifstream_wchar
*this,
10705 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10707 basic_ifstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
10708 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10712 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10713 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10714 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10715 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10716 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_dtor
, 4)
10717 void __thiscall
basic_ifstream_wchar_dtor(basic_ios_wchar
*base
)
10719 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10721 TRACE("(%p)\n", this);
10723 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
10724 basic_filebuf_wchar_dtor(&this->filebuf
);
10727 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10728 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10729 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10730 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10731 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vbase_dtor
, 4)
10732 void __thiscall
basic_ifstream_wchar_vbase_dtor(basic_ifstream_wchar
*this)
10734 TRACE("(%p)\n", this);
10736 basic_ifstream_wchar_dtor(basic_ifstream_wchar_to_basic_ios(this));
10737 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
10740 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ifstream_wchar_vector_dtor
, 8)
10741 basic_ifstream_wchar
* __thiscall
MSVCP_basic_ifstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10743 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10745 TRACE("(%p %x)\n", this, flags
);
10748 /* we have an array, with the number of elements stored before the first object */
10749 int i
, *ptr
= (int *)this-1;
10751 for(i
=*ptr
-1; i
>=0; i
--)
10752 basic_ifstream_wchar_vbase_dtor(this+i
);
10753 MSVCRT_operator_delete(ptr
);
10755 basic_ifstream_wchar_vbase_dtor(this);
10757 MSVCRT_operator_delete(this);
10763 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ifstream_short_vector_dtor
, 8)
10764 basic_ifstream_wchar
* __thiscall
MSVCP_basic_ifstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10766 return MSVCP_basic_ifstream_wchar_vector_dtor(base
, flags
);
10769 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10770 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10771 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10772 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10773 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_close
, 4)
10774 void __thiscall
basic_ifstream_wchar_close(basic_ifstream_wchar
*this)
10776 TRACE("(%p)\n", this);
10778 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10779 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10780 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10784 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10785 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10786 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10787 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10788 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_is_open
, 4)
10789 MSVCP_bool __thiscall
basic_ifstream_wchar_is_open(const basic_ifstream_wchar
*this)
10791 TRACE("(%p)\n", this);
10792 return basic_filebuf_wchar_is_open(&this->filebuf
);
10795 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10796 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10797 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10798 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10799 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open
, 16)
10800 void __thiscall
basic_ifstream_wchar_open(basic_ifstream_wchar
*this,
10801 const char *name
, int mode
, int prot
)
10803 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10805 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10806 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10807 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10811 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10812 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10813 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10814 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10815 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_old
, 12)
10816 void __thiscall
basic_ifstream_wchar_open_old(basic_ifstream_wchar
*this,
10817 const char *name
, unsigned int mode
)
10819 basic_ifstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10822 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
10823 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
10824 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
10825 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
10826 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
10827 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
10828 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
10829 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
10830 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar
, 16)
10831 void __thiscall
basic_ifstream_wchar_open_wchar(basic_ifstream_wchar
*this,
10832 const wchar_t *name
, int mode
, int prot
)
10834 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10836 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10837 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10838 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10842 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
10843 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
10844 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
10845 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
10846 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
10847 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
10848 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
10849 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
10850 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar_old
, 12)
10851 void __thiscall
basic_ifstream_wchar_open_wchar_old(basic_ifstream_wchar
*this,
10852 const wchar_t *name
, unsigned int mode
)
10854 basic_ifstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
10857 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10858 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10859 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10860 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10861 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_rdbuf
, 4)
10862 basic_filebuf_wchar
* __thiscall
basic_ifstream_wchar_rdbuf(const basic_ifstream_wchar
*this)
10864 TRACE("(%p)\n", this);
10865 return (basic_filebuf_wchar
*)&this->filebuf
;
10868 static inline basic_ios_char
* basic_fstream_char_to_basic_ios(basic_fstream_char
*ptr
)
10870 return (basic_ios_char
*)((char*)ptr
+basic_fstream_char_vbtable1
[1]);
10873 static inline basic_fstream_char
* basic_fstream_char_from_basic_ios(basic_ios_char
*ptr
)
10875 return (basic_fstream_char
*)((char*)ptr
-basic_fstream_char_vbtable1
[1]);
10878 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10879 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10880 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor
, 8)
10881 basic_fstream_char
* __thiscall
basic_fstream_char_ctor(basic_fstream_char
*this, MSVCP_bool virt_init
)
10883 basic_ios_char
*basic_ios
;
10885 TRACE("(%p %d)\n", this, virt_init
);
10888 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10889 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10890 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10891 basic_ios_char_ctor(basic_ios
);
10893 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10896 basic_filebuf_char_ctor(&this->filebuf
);
10897 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10898 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10902 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10903 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10904 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_file
, 12)
10905 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_file(basic_fstream_char
*this,
10906 FILE *file
, MSVCP_bool virt_init
)
10908 basic_ios_char
*basic_ios
;
10910 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10913 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10914 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10915 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10916 basic_ios_char_ctor(basic_ios
);
10918 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10921 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10922 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10923 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10927 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10928 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10929 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name
, 20)
10930 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name(basic_fstream_char
*this,
10931 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10933 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10935 basic_fstream_char_ctor(this, virt_init
);
10937 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
10938 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10939 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10944 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
10945 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
10946 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
10947 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
10948 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name_wchar
, 20)
10949 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name_wchar(basic_fstream_char
*this,
10950 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10952 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10954 basic_fstream_char_ctor(this, virt_init
);
10956 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
10957 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10958 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10963 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10964 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10965 DEFINE_THISCALL_WRAPPER(basic_fstream_char_dtor
, 4)
10966 void __thiscall
basic_fstream_char_dtor(basic_ios_char
*base
)
10968 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
10970 TRACE("(%p)\n", this);
10972 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
10973 basic_filebuf_char_dtor(&this->filebuf
);
10976 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10977 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10978 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vbase_dtor
, 4)
10979 void __thiscall
basic_fstream_char_vbase_dtor(basic_fstream_char
*this)
10981 TRACE("(%p)\n", this);
10983 basic_fstream_char_dtor(basic_fstream_char_to_basic_ios(this));
10984 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
10987 DEFINE_THISCALL_WRAPPER(MSVCP_basic_fstream_char_vector_dtor
, 8)
10988 basic_fstream_char
* __thiscall
MSVCP_basic_fstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10990 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
10992 TRACE("(%p %x)\n", this, flags
);
10995 /* we have an array, with the number of elements stored before the first object */
10996 int i
, *ptr
= (int *)this-1;
10998 for(i
=*ptr
-1; i
>=0; i
--)
10999 basic_fstream_char_vbase_dtor(this+i
);
11000 MSVCRT_operator_delete(ptr
);
11002 basic_fstream_char_vbase_dtor(this);
11004 MSVCRT_operator_delete(this);
11010 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
11011 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
11012 DEFINE_THISCALL_WRAPPER(basic_fstream_char_close
, 4)
11013 void __thiscall
basic_fstream_char_close(basic_fstream_char
*this)
11015 TRACE("(%p)\n", this);
11017 if(!basic_filebuf_char_close(&this->filebuf
)) {
11018 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11019 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11023 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
11024 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
11025 DEFINE_THISCALL_WRAPPER(basic_fstream_char_is_open
, 4)
11026 MSVCP_bool __thiscall
basic_fstream_char_is_open(const basic_fstream_char
*this)
11028 TRACE("(%p)\n", this);
11029 return basic_filebuf_char_is_open(&this->filebuf
);
11032 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
11033 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
11034 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open
, 16)
11035 void __thiscall
basic_fstream_char_open(basic_fstream_char
*this,
11036 const char *name
, int mode
, int prot
)
11038 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
11040 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
11041 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11042 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11046 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
11047 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
11048 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old
, 12)
11049 void __thiscall
basic_fstream_char_open_old(basic_fstream_char
*this,
11050 const char *name
, unsigned int mode
)
11052 basic_fstream_char_open(this, name
, mode
, _SH_DENYNO
);
11055 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
11056 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
11057 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
11058 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
11059 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar
, 16)
11060 void __thiscall
basic_fstream_char_open_wchar(basic_fstream_char
*this,
11061 const wchar_t *name
, int mode
, int prot
)
11063 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
11065 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11066 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11067 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11071 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
11072 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
11073 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
11074 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
11075 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar_old
, 12)
11076 void __thiscall
basic_fstream_char_open_wchar_old(basic_fstream_char
*this,
11077 const wchar_t *name
, unsigned int mode
)
11079 basic_fstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
11082 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11083 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11084 DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf
, 4)
11085 basic_filebuf_char
* __thiscall
basic_fstream_char_rdbuf(const basic_fstream_char
*this)
11087 TRACE("(%p)\n", this);
11088 return (basic_filebuf_char
*)&this->filebuf
;
11091 static inline basic_ios_wchar
* basic_fstream_wchar_to_basic_ios(basic_fstream_wchar
*ptr
)
11093 return (basic_ios_wchar
*)((char*)ptr
+basic_fstream_wchar_vbtable1
[1]);
11096 static inline basic_fstream_wchar
* basic_fstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11098 return (basic_fstream_wchar
*)((char*)ptr
-basic_fstream_wchar_vbtable1
[1]);
11101 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
11102 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
11103 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor
, 8)
11104 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
11106 basic_ios_wchar
*basic_ios
;
11108 TRACE("(%p %d)\n", this, virt_init
);
11111 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11112 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11113 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11114 basic_ios_wchar_ctor(basic_ios
);
11116 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11119 basic_filebuf_wchar_ctor(&this->filebuf
);
11120 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11121 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
11125 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
11126 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
11127 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor
, 8)
11128 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
11130 basic_fstream_wchar_ctor(this, virt_init
);
11131 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11135 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
11136 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11137 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_file
, 12)
11138 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_file(basic_fstream_wchar
*this,
11139 FILE *file
, MSVCP_bool virt_init
)
11141 basic_ios_wchar
*basic_ios
;
11143 TRACE("(%p %p %d)\n", this, file
, virt_init
);
11146 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11147 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11148 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11149 basic_ios_wchar_ctor(basic_ios
);
11151 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11154 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
11155 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11156 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
11160 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
11161 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11162 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_file
, 12)
11163 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_file(basic_fstream_wchar
*this,
11164 FILE *file
, MSVCP_bool virt_init
)
11166 basic_fstream_wchar_ctor_file(this, file
, virt_init
);
11167 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11171 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11172 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11173 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name
, 20)
11174 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_name(basic_fstream_wchar
*this,
11175 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11177 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
11179 basic_fstream_wchar_ctor(this, virt_init
);
11181 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11182 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11183 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11188 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
11189 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
11190 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name
, 20)
11191 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name(basic_fstream_wchar
*this,
11192 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11194 basic_fstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
11195 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11199 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
11200 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
11201 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11202 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11203 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name_wchar
, 20)
11204 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_name_wchar(basic_fstream_wchar
*this,
11205 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11207 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
11209 basic_fstream_wchar_ctor(this, virt_init
);
11211 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11212 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11213 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11218 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
11219 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
11220 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
11221 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
11222 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name_wchar
, 20)
11223 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name_wchar(basic_fstream_wchar
*this,
11224 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11226 basic_fstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
11227 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11231 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
11232 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
11233 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
11234 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
11235 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_dtor
, 4)
11236 void __thiscall
basic_fstream_wchar_dtor(basic_ios_wchar
*base
)
11238 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11240 TRACE("(%p)\n", this);
11242 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
11243 basic_filebuf_wchar_dtor(&this->filebuf
);
11246 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11247 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11248 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11249 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11250 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vbase_dtor
, 4)
11251 void __thiscall
basic_fstream_wchar_vbase_dtor(basic_fstream_wchar
*this)
11253 TRACE("(%p)\n", this);
11255 basic_fstream_wchar_dtor(basic_fstream_wchar_to_basic_ios(this));
11256 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
11259 DEFINE_THISCALL_WRAPPER(MSVCP_basic_fstream_wchar_vector_dtor
, 8)
11260 basic_fstream_wchar
* __thiscall
MSVCP_basic_fstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11262 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11264 TRACE("(%p %x)\n", this, flags
);
11267 /* we have an array, with the number of elements stored before the first object */
11268 int i
, *ptr
= (int *)this-1;
11270 for(i
=*ptr
-1; i
>=0; i
--)
11271 basic_fstream_wchar_vbase_dtor(this+i
);
11272 MSVCRT_operator_delete(ptr
);
11274 basic_fstream_wchar_vbase_dtor(this);
11276 MSVCRT_operator_delete(this);
11282 DEFINE_THISCALL_WRAPPER(MSVCP_basic_fstream_short_vector_dtor
, 8)
11283 basic_fstream_wchar
* __thiscall
MSVCP_basic_fstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11285 return MSVCP_basic_fstream_wchar_vector_dtor(base
, flags
);
11288 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11289 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11290 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11291 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11292 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_close
, 4)
11293 void __thiscall
basic_fstream_wchar_close(basic_fstream_wchar
*this)
11295 TRACE("(%p)\n", this);
11297 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
11298 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11299 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11303 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
11304 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
11305 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
11306 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
11307 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_is_open
, 4)
11308 MSVCP_bool __thiscall
basic_fstream_wchar_is_open(const basic_fstream_wchar
*this)
11310 TRACE("(%p)\n", this);
11311 return basic_filebuf_wchar_is_open(&this->filebuf
);
11314 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
11315 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
11316 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
11317 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
11318 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open
, 16)
11319 void __thiscall
basic_fstream_wchar_open(basic_fstream_wchar
*this,
11320 const char *name
, int mode
, int prot
)
11322 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
11324 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11325 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11326 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11330 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
11331 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
11332 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
11333 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
11334 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old
, 12)
11335 void __thiscall
basic_fstream_wchar_open_old(basic_fstream_wchar
*this,
11336 const char *name
, unsigned int mode
)
11338 basic_fstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
11341 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
11342 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
11343 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
11344 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
11345 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
11346 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
11347 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
11348 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
11349 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar
, 16)
11350 void __thiscall
basic_fstream_wchar_open_wchar(basic_fstream_wchar
*this,
11351 const wchar_t *name
, int mode
, int prot
)
11353 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
11355 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11356 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11357 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11361 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
11362 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
11363 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
11364 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
11365 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
11366 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
11367 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
11368 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
11369 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar_old
, 12)
11370 void __thiscall
basic_fstream_wchar_open_wchar_old(basic_fstream_wchar
*this,
11371 const wchar_t *name
, unsigned int mode
)
11373 basic_fstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
11376 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11377 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11378 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11379 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11380 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_rdbuf
, 4)
11381 basic_filebuf_wchar
* __thiscall
basic_fstream_wchar_rdbuf(const basic_fstream_wchar
*this)
11383 TRACE("(%p)\n", this);
11384 return (basic_filebuf_wchar
*)&this->filebuf
;
11387 static inline basic_ios_char
* basic_ostringstream_char_to_basic_ios(basic_ostringstream_char
*ptr
)
11389 return (basic_ios_char
*)((char*)ptr
+basic_ostringstream_char_vbtable
[1]);
11392 static inline basic_ostringstream_char
* basic_ostringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11394 return (basic_ostringstream_char
*)((char*)ptr
-basic_ostringstream_char_vbtable
[1]);
11397 /* ??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 */
11398 /* ??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 */
11399 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_str
, 16)
11400 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_str(basic_ostringstream_char
*this,
11401 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11403 basic_ios_char
*basic_ios
;
11405 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11408 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11409 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11410 basic_ios_char_ctor(basic_ios
);
11412 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11415 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11416 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11417 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11421 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11422 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11423 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_mode
, 12)
11424 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_mode(
11425 basic_ostringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11427 basic_ios_char
*basic_ios
;
11429 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11432 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11433 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11434 basic_ios_char_ctor(basic_ios
);
11436 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11439 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11440 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11441 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11445 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11446 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11447 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor
, 8)
11448 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor(
11449 basic_ostringstream_char
*this, MSVCP_bool virt_init
)
11451 return basic_ostringstream_char_ctor_mode(this, 0, virt_init
);
11454 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11455 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11456 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_dtor
, 4)
11457 void __thiscall
basic_ostringstream_char_dtor(basic_ios_char
*base
)
11459 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11461 TRACE("(%p)\n", this);
11463 basic_stringbuf_char_dtor(&this->strbuf
);
11464 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
11467 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11468 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11469 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vbase_dtor
, 4)
11470 void __thiscall
basic_ostringstream_char_vbase_dtor(basic_ostringstream_char
*this)
11472 TRACE("(%p)\n", this);
11474 basic_ostringstream_char_dtor(basic_ostringstream_char_to_basic_ios(this));
11475 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
11478 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostringstream_char_vector_dtor
, 8)
11479 basic_ostringstream_char
* __thiscall
MSVCP_basic_ostringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11481 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11483 TRACE("(%p %x)\n", this, flags
);
11486 /* we have an array, with the number of elements stored before the first object */
11487 int i
, *ptr
= (int *)this-1;
11489 for(i
=*ptr
-1; i
>=0; i
--)
11490 basic_ostringstream_char_vbase_dtor(this+i
);
11491 MSVCRT_operator_delete(ptr
);
11493 basic_ostringstream_char_vbase_dtor(this);
11495 MSVCRT_operator_delete(this);
11501 /* ?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 */
11502 /* ?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 */
11503 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_rdbuf
, 4)
11504 basic_stringbuf_char
* __thiscall
basic_ostringstream_char_rdbuf(const basic_ostringstream_char
*this)
11506 TRACE("(%p)\n", this);
11507 return (basic_stringbuf_char
*)&this->strbuf
;
11510 /* ?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 */
11511 /* ?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 */
11512 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_set
, 8)
11513 void __thiscall
basic_ostringstream_char_str_set(basic_ostringstream_char
*this, const basic_string_char
*str
)
11515 TRACE("(%p %p)\n", this, str
);
11516 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11519 /* ?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 */
11520 /* ?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 */
11521 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_get
, 8)
11522 basic_string_char
* __thiscall
basic_ostringstream_char_str_get(const basic_ostringstream_char
*this, basic_string_char
*ret
)
11524 TRACE("(%p %p)\n", this, ret
);
11525 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11528 static inline basic_ios_wchar
* basic_ostringstream_wchar_to_basic_ios(basic_ostringstream_wchar
*ptr
)
11530 return (basic_ios_wchar
*)((char*)ptr
+basic_ostringstream_wchar_vbtable
[1]);
11533 static inline basic_ostringstream_wchar
* basic_ostringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11535 return (basic_ostringstream_wchar
*)((char*)ptr
-basic_ostringstream_wchar_vbtable
[1]);
11538 /* ??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 */
11539 /* ??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 */
11540 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_str
, 16)
11541 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_str(basic_ostringstream_wchar
*this,
11542 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11544 basic_ios_wchar
*basic_ios
;
11546 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11549 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11550 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11551 basic_ios_wchar_ctor(basic_ios
);
11553 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11556 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11557 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11558 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11562 /* ??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 */
11563 /* ??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 */
11564 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_str
, 16)
11565 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_str(basic_ostringstream_wchar
*this,
11566 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11568 basic_ostringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11569 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11573 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11574 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11575 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_mode
, 12)
11576 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_mode(
11577 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11579 basic_ios_wchar
*basic_ios
;
11581 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11584 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11585 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11586 basic_ios_wchar_ctor(basic_ios
);
11588 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11591 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11592 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11593 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11597 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11598 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11599 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_mode
, 12)
11600 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_mode(
11601 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11603 basic_ostringstream_wchar_ctor_mode(this, mode
, virt_init
);
11604 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11608 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11609 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11610 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor
, 8)
11611 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor(
11612 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11614 return basic_ostringstream_wchar_ctor_mode(this, 0, virt_init
);
11617 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11618 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11619 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor
, 8)
11620 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor(
11621 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11623 return basic_ostringstream_short_ctor_mode(this, 0, virt_init
);
11626 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
11627 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
11628 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
11629 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
11630 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_dtor
, 4)
11631 void __thiscall
basic_ostringstream_wchar_dtor(basic_ios_wchar
*base
)
11633 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11635 TRACE("(%p)\n", this);
11637 basic_stringbuf_wchar_dtor(&this->strbuf
);
11638 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
11641 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11642 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11643 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11644 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11645 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vbase_dtor
, 4)
11646 void __thiscall
basic_ostringstream_wchar_vbase_dtor(basic_ostringstream_wchar
*this)
11648 TRACE("(%p)\n", this);
11650 basic_ostringstream_wchar_dtor(basic_ostringstream_wchar_to_basic_ios(this));
11651 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
11654 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostringstream_wchar_vector_dtor
, 8)
11655 basic_ostringstream_wchar
* __thiscall
MSVCP_basic_ostringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11657 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11659 TRACE("(%p %x)\n", this, flags
);
11662 /* we have an array, with the number of elements stored before the first object */
11663 int i
, *ptr
= (int *)this-1;
11665 for(i
=*ptr
-1; i
>=0; i
--)
11666 basic_ostringstream_wchar_vbase_dtor(this+i
);
11667 MSVCRT_operator_delete(ptr
);
11669 basic_ostringstream_wchar_vbase_dtor(this);
11671 MSVCRT_operator_delete(this);
11677 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostringstream_short_vector_dtor
, 8)
11678 basic_ostringstream_wchar
* __thiscall
MSVCP_basic_ostringstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11680 return MSVCP_basic_ostringstream_wchar_vector_dtor(base
, flags
);
11683 /* ?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 */
11684 /* ?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 */
11685 /* ?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 */
11686 /* ?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 */
11687 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_rdbuf
, 4)
11688 basic_stringbuf_wchar
* __thiscall
basic_ostringstream_wchar_rdbuf(const basic_ostringstream_wchar
*this)
11690 TRACE("(%p)\n", this);
11691 return (basic_stringbuf_wchar
*)&this->strbuf
;
11694 /* ?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 */
11695 /* ?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 */
11696 /* ?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 */
11697 /* ?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 */
11698 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_set
, 8)
11699 void __thiscall
basic_ostringstream_wchar_str_set(basic_ostringstream_wchar
*this, const basic_string_wchar
*str
)
11701 TRACE("(%p %p)\n", this, str
);
11702 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
11705 /* ?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 */
11706 /* ?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 */
11707 /* ?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 */
11708 /* ?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 */
11709 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_get
, 8)
11710 basic_string_wchar
* __thiscall
basic_ostringstream_wchar_str_get(const basic_ostringstream_wchar
*this, basic_string_wchar
*ret
)
11712 TRACE("(%p %p)\n", this, ret
);
11713 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
11716 static inline basic_ios_char
* basic_istringstream_char_to_basic_ios(basic_istringstream_char
*ptr
)
11718 return (basic_ios_char
*)((char*)ptr
+basic_istringstream_char_vbtable
[1]);
11721 static inline basic_istringstream_char
* basic_istringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11723 return (basic_istringstream_char
*)((char*)ptr
-basic_istringstream_char_vbtable
[1]);
11726 /* ??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 */
11727 /* ??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 */
11728 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_str
, 16)
11729 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_str(basic_istringstream_char
*this,
11730 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11732 basic_ios_char
*basic_ios
;
11734 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11737 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11738 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11739 basic_ios_char_ctor(basic_ios
);
11741 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11744 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11745 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11746 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11750 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11751 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11752 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_mode
, 12)
11753 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_mode(
11754 basic_istringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11756 basic_ios_char
*basic_ios
;
11758 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11761 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11762 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11763 basic_ios_char_ctor(basic_ios
);
11765 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11768 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11769 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11770 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11774 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11775 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11776 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor
, 8)
11777 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor(
11778 basic_istringstream_char
*this, MSVCP_bool virt_init
)
11780 return basic_istringstream_char_ctor_mode(this, 0, virt_init
);
11783 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11784 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11785 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_dtor
, 4)
11786 void __thiscall
basic_istringstream_char_dtor(basic_ios_char
*base
)
11788 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11790 TRACE("(%p)\n", this);
11792 basic_stringbuf_char_dtor(&this->strbuf
);
11793 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
11796 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11797 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11798 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vbase_dtor
, 4)
11799 void __thiscall
basic_istringstream_char_vbase_dtor(basic_istringstream_char
*this)
11801 TRACE("(%p)\n", this);
11803 basic_istringstream_char_dtor(basic_istringstream_char_to_basic_ios(this));
11804 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
11807 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istringstream_char_vector_dtor
, 8)
11808 basic_istringstream_char
* __thiscall
MSVCP_basic_istringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11810 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11812 TRACE("(%p %x)\n", this, flags
);
11815 /* we have an array, with the number of elements stored before the first object */
11816 int i
, *ptr
= (int *)this-1;
11818 for(i
=*ptr
-1; i
>=0; i
--)
11819 basic_istringstream_char_vbase_dtor(this+i
);
11820 MSVCRT_operator_delete(ptr
);
11822 basic_istringstream_char_vbase_dtor(this);
11824 MSVCRT_operator_delete(this);
11830 /* ?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 */
11831 /* ?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 */
11832 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_rdbuf
, 4)
11833 basic_stringbuf_char
* __thiscall
basic_istringstream_char_rdbuf(const basic_istringstream_char
*this)
11835 TRACE("(%p)\n", this);
11836 return (basic_stringbuf_char
*)&this->strbuf
;
11839 /* ?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 */
11840 /* ?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 */
11841 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_set
, 8)
11842 void __thiscall
basic_istringstream_char_str_set(basic_istringstream_char
*this, const basic_string_char
*str
)
11844 TRACE("(%p %p)\n", this, str
);
11845 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11848 /* ?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 */
11849 /* ?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 */
11850 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_get
, 8)
11851 basic_string_char
* __thiscall
basic_istringstream_char_str_get(const basic_istringstream_char
*this, basic_string_char
*ret
)
11853 TRACE("(%p %p)\n", this, ret
);
11854 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11857 static inline basic_ios_wchar
* basic_istringstream_wchar_to_basic_ios(basic_istringstream_wchar
*ptr
)
11859 return (basic_ios_wchar
*)((char*)ptr
+basic_istringstream_wchar_vbtable
[1]);
11862 static inline basic_istringstream_wchar
* basic_istringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11864 return (basic_istringstream_wchar
*)((char*)ptr
-basic_istringstream_wchar_vbtable
[1]);
11867 /* ??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 */
11868 /* ??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 */
11869 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_str
, 16)
11870 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_str(basic_istringstream_wchar
*this,
11871 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11873 basic_ios_wchar
*basic_ios
;
11875 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11878 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11879 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11880 basic_ios_wchar_ctor(basic_ios
);
11882 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11885 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11886 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11887 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11891 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11892 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11893 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_mode
, 12)
11894 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_mode(
11895 basic_istringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11897 basic_ios_wchar
*basic_ios
;
11899 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11902 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11903 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11904 basic_ios_wchar_ctor(basic_ios
);
11906 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11909 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11910 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11911 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11915 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11916 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11917 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor
, 8)
11918 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor(
11919 basic_istringstream_wchar
*this, MSVCP_bool virt_init
)
11921 return basic_istringstream_wchar_ctor_mode(this, 0, virt_init
);
11924 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
11925 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
11926 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_dtor
, 4)
11927 void __thiscall
basic_istringstream_wchar_dtor(basic_ios_wchar
*base
)
11929 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
11931 TRACE("(%p)\n", this);
11933 basic_stringbuf_wchar_dtor(&this->strbuf
);
11934 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
11937 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11938 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11939 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vbase_dtor
, 4)
11940 void __thiscall
basic_istringstream_wchar_vbase_dtor(basic_istringstream_wchar
*this)
11942 TRACE("(%p)\n", this);
11944 basic_istringstream_wchar_dtor(basic_istringstream_wchar_to_basic_ios(this));
11945 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
11948 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istringstream_wchar_vector_dtor
, 8)
11949 basic_istringstream_wchar
* __thiscall
MSVCP_basic_istringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11951 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
11953 TRACE("(%p %x)\n", this, flags
);
11956 /* we have an array, with the number of elements stored before the first object */
11957 int i
, *ptr
= (int *)this-1;
11959 for(i
=*ptr
-1; i
>=0; i
--)
11960 basic_istringstream_wchar_vbase_dtor(this+i
);
11961 MSVCRT_operator_delete(ptr
);
11963 basic_istringstream_wchar_vbase_dtor(this);
11965 MSVCRT_operator_delete(this);
11971 /* ?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 */
11972 /* ?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 */
11973 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_rdbuf
, 4)
11974 basic_stringbuf_wchar
* __thiscall
basic_istringstream_wchar_rdbuf(const basic_istringstream_wchar
*this)
11976 TRACE("(%p)\n", this);
11977 return (basic_stringbuf_wchar
*)&this->strbuf
;
11980 /* ?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 */
11981 /* ?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 */
11982 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_set
, 8)
11983 void __thiscall
basic_istringstream_wchar_str_set(basic_istringstream_wchar
*this, const basic_string_wchar
*str
)
11985 TRACE("(%p %p)\n", this, str
);
11986 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
11989 /* ?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 */
11990 /* ?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 */
11991 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_get
, 8)
11992 basic_string_wchar
* __thiscall
basic_istringstream_wchar_str_get(const basic_istringstream_wchar
*this, basic_string_wchar
*ret
)
11994 TRACE("(%p %p)\n", this, ret
);
11995 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
11998 static inline basic_ios_char
* basic_stringstream_char_to_basic_ios(basic_stringstream_char
*ptr
)
12000 return (basic_ios_char
*)((char*)ptr
+basic_stringstream_char_vbtable1
[1]);
12003 static inline basic_stringstream_char
* basic_stringstream_char_from_basic_ios(basic_ios_char
*ptr
)
12005 return (basic_stringstream_char
*)((char*)ptr
-basic_stringstream_char_vbtable1
[1]);
12008 /* ??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 */
12009 /* ??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 */
12010 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_str
, 16)
12011 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_str(basic_stringstream_char
*this,
12012 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
12014 basic_ios_char
*basic_ios
;
12016 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12019 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12020 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12021 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12022 basic_ios_char_ctor(basic_ios
);
12024 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12027 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
);
12028 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12029 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
12033 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
12034 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
12035 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_mode
, 12)
12036 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_mode(
12037 basic_stringstream_char
*this, int mode
, MSVCP_bool virt_init
)
12039 basic_ios_char
*basic_ios
;
12041 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12044 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12045 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12046 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12047 basic_ios_char_ctor(basic_ios
);
12049 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12052 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
);
12053 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12054 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
12058 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12059 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12060 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor
, 8)
12061 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor(
12062 basic_stringstream_char
*this, MSVCP_bool virt_init
)
12064 return basic_stringstream_char_ctor_mode(
12065 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12068 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
12069 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
12070 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_dtor
, 4)
12071 void __thiscall
basic_stringstream_char_dtor(basic_ios_char
*base
)
12073 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12075 TRACE("(%p)\n", this);
12077 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
12078 basic_stringbuf_char_dtor(&this->strbuf
);
12081 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12082 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12083 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vbase_dtor
, 4)
12084 void __thiscall
basic_stringstream_char_vbase_dtor(basic_stringstream_char
*this)
12086 TRACE("(%p)\n", this);
12088 basic_stringstream_char_dtor(basic_stringstream_char_to_basic_ios(this));
12089 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
12092 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringstream_char_vector_dtor
, 8)
12093 basic_stringstream_char
* __thiscall
MSVCP_basic_stringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
12095 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12097 TRACE("(%p %x)\n", this, flags
);
12100 /* we have an array, with the number of elements stored before the first object */
12101 int i
, *ptr
= (int *)this-1;
12103 for(i
=*ptr
-1; i
>=0; i
--)
12104 basic_stringstream_char_vbase_dtor(this+i
);
12105 MSVCRT_operator_delete(ptr
);
12107 basic_stringstream_char_vbase_dtor(this);
12109 MSVCRT_operator_delete(this);
12115 /* ?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 */
12116 /* ?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 */
12117 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_rdbuf
, 4)
12118 basic_stringbuf_char
* __thiscall
basic_stringstream_char_rdbuf(const basic_stringstream_char
*this)
12120 TRACE("(%p)\n", this);
12121 return (basic_stringbuf_char
*)&this->strbuf
;
12124 /* ?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 */
12125 /* ?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 */
12126 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_set
, 8)
12127 void __thiscall
basic_stringstream_char_str_set(basic_stringstream_char
*this, const basic_string_char
*str
)
12129 TRACE("(%p %p)\n", this, str
);
12130 basic_stringbuf_char_str_set(&this->strbuf
, str
);
12133 /* ?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 */
12134 /* ?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 */
12135 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_get
, 8)
12136 basic_string_char
* __thiscall
basic_stringstream_char_str_get(const basic_stringstream_char
*this, basic_string_char
*ret
)
12138 TRACE("(%p %p)\n", this, ret
);
12139 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
12142 static inline basic_ios_wchar
* basic_stringstream_wchar_to_basic_ios(basic_stringstream_wchar
*ptr
)
12144 return (basic_ios_wchar
*)((char*)ptr
+basic_stringstream_wchar_vbtable1
[1]);
12147 static inline basic_stringstream_wchar
* basic_stringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
12149 return (basic_stringstream_wchar
*)((char*)ptr
-basic_stringstream_wchar_vbtable1
[1]);
12152 /* ??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 */
12153 /* ??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 */
12154 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_str
, 16)
12155 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_str(basic_stringstream_wchar
*this,
12156 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
12158 basic_ios_wchar
*basic_ios
;
12160 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12163 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
12164 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
12165 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12166 basic_ios_wchar_ctor(basic_ios
);
12168 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12171 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
);
12172 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12173 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
12177 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
12178 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
12179 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_mode
, 12)
12180 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_mode(
12181 basic_stringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
12183 basic_ios_wchar
*basic_ios
;
12185 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12188 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
12189 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
12190 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12191 basic_ios_wchar_ctor(basic_ios
);
12193 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12196 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
);
12197 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12198 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
12202 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12203 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12204 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor
, 8)
12205 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor(
12206 basic_stringstream_wchar
*this, MSVCP_bool virt_init
)
12208 return basic_stringstream_wchar_ctor_mode(
12209 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12212 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
12213 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
12214 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_dtor
, 4)
12215 void __thiscall
basic_stringstream_wchar_dtor(basic_ios_wchar
*base
)
12217 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12219 TRACE("(%p)\n", this);
12221 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
12222 basic_stringbuf_wchar_dtor(&this->strbuf
);
12225 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12226 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12227 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vbase_dtor
, 4)
12228 void __thiscall
basic_stringstream_wchar_vbase_dtor(basic_stringstream_wchar
*this)
12230 TRACE("(%p)\n", this);
12232 basic_stringstream_wchar_dtor(basic_stringstream_wchar_to_basic_ios(this));
12233 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
12236 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringstream_wchar_vector_dtor
, 8)
12237 basic_stringstream_wchar
* __thiscall
MSVCP_basic_stringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12239 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12241 TRACE("(%p %x)\n", this, flags
);
12244 /* we have an array, with the number of elements stored before the first object */
12245 int i
, *ptr
= (int *)this-1;
12247 for(i
=*ptr
-1; i
>=0; i
--)
12248 basic_stringstream_wchar_vbase_dtor(this+i
);
12249 MSVCRT_operator_delete(ptr
);
12251 basic_stringstream_wchar_vbase_dtor(this);
12253 MSVCRT_operator_delete(this);
12259 /* ?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 */
12260 /* ?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 */
12261 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_rdbuf
, 4)
12262 basic_stringbuf_wchar
* __thiscall
basic_stringstream_wchar_rdbuf(const basic_stringstream_wchar
*this)
12264 TRACE("(%p)\n", this);
12265 return (basic_stringbuf_wchar
*)&this->strbuf
;
12268 /* ?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 */
12269 /* ?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 */
12270 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_set
, 8)
12271 void __thiscall
basic_stringstream_wchar_str_set(basic_stringstream_wchar
*this, const basic_string_wchar
*str
)
12273 TRACE("(%p %p)\n", this, str
);
12274 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12277 /* ?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 */
12278 /* ?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 */
12279 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_get
, 8)
12280 basic_string_wchar
* __thiscall
basic_stringstream_wchar_str_get(const basic_stringstream_wchar
*this, basic_string_wchar
*ret
)
12282 TRACE("(%p %p)\n", this, ret
);
12283 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12286 static void __cdecl
setprecision_func(ios_base
*base
, streamsize prec
)
12288 ios_base_precision_set(base
, prec
);
12291 /* ?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z */
12292 /* ?setprecision@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12293 manip_streamsize
* __cdecl
setprecision(manip_streamsize
*ret
, streamsize prec
)
12295 TRACE("(%p %ld)\n", ret
, prec
);
12297 ret
->pfunc
= setprecision_func
;
12302 static void __cdecl
setw_func(ios_base
*base
, streamsize width
)
12304 ios_base_width_set(base
, width
);
12307 /* ?setw@std@@YA?AU?$_Smanip@H@1@H@Z */
12308 /* ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12309 manip_streamsize
* __cdecl
setw(manip_streamsize
*ret
, streamsize width
)
12311 TRACE("(%p %ld)\n", ret
, width
);
12313 ret
->pfunc
= setw_func
;
12318 static basic_filebuf_char filebuf_char_stdin
;
12319 /* ?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A */
12321 basic_istream_char obj
;
12322 basic_ios_char vbase
;
12324 /* ?_Ptr_cin@std@@3PAV?$basic_istream@DU?$char_traits@D@std@@@1@A */
12325 /* ?_Ptr_cin@std@@3PEAV?$basic_istream@DU?$char_traits@D@std@@@1@EA */
12326 basic_istream_char
*_Ptr_cin
= &cin
.obj
;
12328 static basic_filebuf_wchar filebuf_short_stdin
;
12329 /* ?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A */
12331 basic_istream_wchar obj
;
12332 basic_ios_wchar vbase
;
12333 } ucin
= { { 0 } };
12334 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@GU?$char_traits@G@std@@@1@A */
12335 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@GU?$char_traits@G@std@@@1@EA */
12336 basic_istream_wchar
*_Ptr_ucin
= &ucin
.obj
;
12338 static basic_filebuf_wchar filebuf_wchar_stdin
;
12339 /* ?wcin@std@@3V?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12341 basic_istream_wchar obj
;
12342 basic_ios_wchar vbase
;
12343 } wcin
= { { 0 } };
12344 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12345 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@EA */
12346 basic_istream_wchar
*_Ptr_wcin
= &wcin
.obj
;
12348 static basic_filebuf_char filebuf_char_stdout
;
12349 /* ?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12351 basic_ostream_char obj
;
12352 basic_ios_char vbase
;
12353 } cout
= { { 0 } };
12354 /* ?_Ptr_cout@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12355 /* ?_Ptr_cout@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12356 basic_ostream_char
*_Ptr_cout
= &cout
.obj
;
12358 static basic_filebuf_wchar filebuf_short_stdout
;
12359 /* ?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12361 basic_ostream_wchar obj
;
12362 basic_ios_wchar vbase
;
12363 } ucout
= { { 0 } };
12364 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12365 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12366 basic_ostream_wchar
*_Ptr_ucout
= &ucout
.obj
;
12368 static basic_filebuf_wchar filebuf_wchar_stdout
;
12369 /* ?wcout@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12371 basic_ostream_wchar obj
;
12372 basic_ios_wchar vbase
;
12373 } wcout
= { { 0 } };
12374 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12375 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12376 basic_ostream_wchar
*_Ptr_wcout
= &wcout
.obj
;
12378 static basic_filebuf_char filebuf_char_stderr
;
12379 /* ?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12381 basic_ostream_char obj
;
12382 basic_ios_char vbase
;
12383 } cerr
= { { 0 } };
12384 /* ?_Ptr_cerr@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12385 /* ?_Ptr_cerr@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12386 basic_ostream_char
*_Ptr_cerr
= &cerr
.obj
;
12388 static basic_filebuf_wchar filebuf_short_stderr
;
12389 /* ?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12391 basic_ostream_wchar obj
;
12392 basic_ios_wchar vbase
;
12393 } ucerr
= { { 0 } };
12394 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12395 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12396 basic_ostream_wchar
*_Ptr_ucerr
= &ucerr
.obj
;
12398 static basic_filebuf_wchar filebuf_wchar_stderr
;
12399 /* ?wcerr@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12401 basic_ostream_wchar obj
;
12402 basic_ios_wchar vbase
;
12403 } wcerr
= { { 0 } };
12404 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12405 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12406 basic_ostream_wchar
*_Ptr_wcerr
= &wcerr
.obj
;
12408 static basic_filebuf_char filebuf_char_log
;
12409 /* ?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12411 basic_ostream_char obj
;
12412 basic_ios_char vbase
;
12413 } clog
= { { 0 } };
12414 /* ?_Ptr_clog@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12415 /* ?_Ptr_clog@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12416 basic_ostream_char
*_Ptr_clog
= &clog
.obj
;
12418 static basic_filebuf_wchar filebuf_short_log
;
12419 /* ?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12421 basic_ostream_wchar obj
;
12422 basic_ios_wchar vbase
;
12423 } uclog
= { { 0 } };
12424 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12425 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12426 basic_ostream_wchar
*_Ptr_uclog
= &uclog
.obj
;
12428 static basic_filebuf_wchar filebuf_wchar_log
;
12429 /* ?wclog@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12431 basic_ostream_wchar obj
;
12432 basic_ios_wchar vbase
;
12433 } wclog
= { { 0 } };
12434 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12435 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12436 basic_ostream_wchar
*_Ptr_wclog
= &wclog
.obj
;
12440 basic_filebuf_char_ctor_file(&filebuf_char_stdin
, stdin
);
12441 basic_istream_char_ctor(&cin
.obj
, &filebuf_char_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12443 basic_filebuf_short_ctor_file(&filebuf_short_stdin
, stdin
);
12444 basic_istream_short_ctor(&ucin
.obj
, &filebuf_short_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12446 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdin
, stdin
);
12447 basic_istream_wchar_ctor(&wcin
.obj
, &filebuf_wchar_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12449 basic_filebuf_char_ctor_file(&filebuf_char_stdout
, stdout
);
12450 basic_ostream_char_ctor(&cout
.obj
, &filebuf_char_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12452 basic_filebuf_short_ctor_file(&filebuf_short_stdout
, stdout
);
12453 basic_ostream_short_ctor(&ucout
.obj
, &filebuf_short_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12455 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdout
, stdout
);
12456 basic_ostream_wchar_ctor(&wcout
.obj
, &filebuf_wchar_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12458 basic_filebuf_char_ctor_file(&filebuf_char_stderr
, stderr
);
12459 basic_ostream_char_ctor(&cerr
.obj
, &filebuf_char_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
12461 basic_filebuf_short_ctor_file(&filebuf_short_stderr
, stderr
);
12462 basic_ostream_short_ctor(&ucerr
.obj
, &filebuf_short_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
12464 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stderr
, stderr
);
12465 basic_ostream_wchar_ctor(&wcerr
.obj
, &filebuf_wchar_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
12467 basic_filebuf_char_ctor_file(&filebuf_char_log
, stderr
);
12468 basic_ostream_char_ctor(&clog
.obj
, &filebuf_char_log
.base
, FALSE
/*FIXME*/, TRUE
);
12470 basic_filebuf_short_ctor_file(&filebuf_short_log
, stderr
);
12471 basic_ostream_short_ctor(&uclog
.obj
, &filebuf_short_log
.base
, FALSE
/*FIXME*/, TRUE
);
12473 basic_filebuf_wchar_ctor_file(&filebuf_wchar_log
, stderr
);
12474 basic_ostream_wchar_ctor(&wclog
.obj
, &filebuf_wchar_log
.base
, FALSE
/*FIXME*/, TRUE
);
12479 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&cin
.obj
));
12480 basic_filebuf_char_dtor(&filebuf_char_stdin
);
12482 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&ucin
.obj
));
12483 basic_filebuf_wchar_dtor(&filebuf_short_stdin
);
12485 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&wcin
.obj
));
12486 basic_filebuf_wchar_dtor(&filebuf_wchar_stdin
);
12488 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&cout
.obj
));
12489 basic_filebuf_char_dtor(&filebuf_char_stdout
);
12491 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&ucout
.obj
));
12492 basic_filebuf_wchar_dtor(&filebuf_short_stdout
);
12494 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wcout
.obj
));
12495 basic_filebuf_wchar_dtor(&filebuf_wchar_stdout
);
12497 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&cerr
.obj
));
12498 basic_filebuf_char_dtor(&filebuf_char_stderr
);
12500 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&ucerr
.obj
));
12501 basic_filebuf_wchar_dtor(&filebuf_short_stderr
);
12503 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wcerr
.obj
));
12504 basic_filebuf_wchar_dtor(&filebuf_wchar_stderr
);
12506 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&clog
.obj
));
12507 basic_filebuf_char_dtor(&filebuf_char_log
);
12509 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&uclog
.obj
));
12510 basic_filebuf_wchar_dtor(&filebuf_short_log
);
12512 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wclog
.obj
));
12513 basic_filebuf_wchar_dtor(&filebuf_wchar_log
);