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(%s %s %d)", wine_dbgstr_longlong(fpos
->off
), wine_dbgstr_longlong(fpos
->pos
), fpos
->state
);
49 void (__cdecl
*pfunc
)(ios_base
*, streamsize
);
57 } basic_filebuf__Initfl
;
60 basic_streambuf_char base
;
70 basic_streambuf_wchar base
;
77 } basic_filebuf_wchar
;
80 STRINGBUF_allocated
= 1,
81 STRINGBUF_no_write
= 2,
82 STRINGBUF_no_read
= 4,
85 } basic_stringbuf_state
;
88 basic_streambuf_char base
;
91 char allocator
; /* empty struct */
92 } basic_stringbuf_char
;
95 basic_streambuf_wchar base
;
98 char allocator
; /* empty struct */
99 } basic_stringbuf_wchar
;
103 basic_streambuf_char
*strbuf
;
104 struct _basic_ostream_char
*stream
;
110 basic_streambuf_wchar
*strbuf
;
111 struct _basic_ostream_wchar
*stream
;
115 typedef struct _basic_ostream_char
{
117 /* virtual inheritance
118 * basic_ios_char basic_ios;
120 } basic_ostream_char
;
122 typedef struct _basic_ostream_wchar
{
124 /* virtual inheritance
125 * basic_ios_wchar basic_ios;
127 } basic_ostream_wchar
;
132 /* virtual inheritance
133 * basic_ios_char basic_ios;
135 } basic_istream_char
;
140 /* virtual inheritance
141 * basic_ios_wchar basic_ios;
143 } basic_istream_wchar
;
146 basic_istream_char base1
;
147 basic_ostream_char base2
;
148 /* virtual inheritance
149 * basic_ios_char basic_ios;
151 } basic_iostream_char
;
154 basic_istream_wchar base1
;
155 basic_ostream_wchar base2
;
156 /* virtual inheritance
157 * basic_ios_wchar basic_ios;
159 } basic_iostream_wchar
;
162 basic_ostream_char base
;
163 basic_filebuf_char filebuf
;
164 /* virtual inheritance
165 * basic_ios_char basic_ios;
167 } basic_ofstream_char
;
170 basic_ostream_wchar base
;
171 basic_filebuf_wchar filebuf
;
172 /* virtual inheritance
173 * basic_ios_wchar basic_ios;
175 } basic_ofstream_wchar
;
178 basic_istream_char base
;
179 basic_filebuf_char filebuf
;
180 /* virtual inheritance
181 * basic_ios_char basic_ios;
183 } basic_ifstream_char
;
186 basic_istream_wchar base
;
187 basic_filebuf_wchar filebuf
;
188 /* virtual inheritance
189 * basic_ios_wchar basic_ios;
191 } basic_ifstream_wchar
;
194 basic_iostream_char base
;
195 basic_filebuf_char filebuf
;
196 /* virtual inheritance
197 * basic_ios_char basic_ios;
199 } basic_fstream_char
;
202 basic_iostream_wchar base
;
203 basic_filebuf_wchar filebuf
;
204 /* virtual inheritance
205 * basic_ios_char basic_ios;
207 } basic_fstream_wchar
;
210 basic_ostream_char base
;
211 basic_stringbuf_char strbuf
;
212 /* virtual inheritance
213 * basic_ios_char basic_ios;
215 } basic_ostringstream_char
;
218 basic_ostream_wchar base
;
219 basic_stringbuf_wchar strbuf
;
220 /* virtual inheritance
221 * basic_ios_wchar basic_ios;
223 } basic_ostringstream_wchar
;
226 basic_istream_char base
;
227 basic_stringbuf_char strbuf
;
228 /* virtual inheritance
229 * basic_ios_char basic_ios;
231 } basic_istringstream_char
;
234 basic_istream_wchar base
;
235 basic_stringbuf_wchar strbuf
;
236 /* virtual inheritance
237 * basic_ios_wchar basic_ios;
239 } basic_istringstream_wchar
;
242 basic_iostream_char base
;
243 basic_stringbuf_char strbuf
;
244 /* virtual inheritance
245 * basic_ios_char basic_ios;
247 } basic_stringstream_char
;
250 basic_iostream_wchar base
;
251 basic_stringbuf_wchar strbuf
;
252 /* virtual inheritance
253 * basic_ios_wchar basic_ios;
255 } basic_stringstream_wchar
;
258 STRSTATE_Allocated
= 1,
259 STRSTATE_Constant
= 2,
260 STRSTATE_Dynamic
= 4,
262 } strstreambuf__Strstate
;
265 basic_streambuf_char base
;
270 void* (__cdecl
*palloc
)(MSVCP_size_t
);
271 void (__cdecl
*pfree
)(void*);
274 extern const vtable_ptr MSVCP_iosb_vtable
;
276 /* ??_7ios_base@std@@6B@ */
277 extern const vtable_ptr MSVCP_ios_base_vtable
;
279 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
280 extern const vtable_ptr MSVCP_basic_ios_char_vtable
;
282 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
283 extern const vtable_ptr MSVCP_basic_ios_wchar_vtable
;
285 /* ??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@ */
286 extern const vtable_ptr MSVCP_basic_ios_short_vtable
;
288 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
289 extern const vtable_ptr MSVCP_basic_streambuf_char_vtable
;
291 /* ??_7?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@6B@ */
292 extern const vtable_ptr MSVCP_basic_streambuf_wchar_vtable
;
294 /* ??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ */
295 extern const vtable_ptr MSVCP_basic_streambuf_short_vtable
;
297 /* ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ */
298 extern const vtable_ptr MSVCP_basic_filebuf_char_vtable
;
300 /* ??_7?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@6B@ */
301 extern const vtable_ptr MSVCP_basic_filebuf_wchar_vtable
;
303 /* ??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ */
304 extern const vtable_ptr MSVCP_basic_filebuf_short_vtable
;
306 /* ??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
307 extern const vtable_ptr MSVCP_basic_stringbuf_char_vtable
;
309 /* ??_7?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
310 extern const vtable_ptr MSVCP_basic_stringbuf_wchar_vtable
;
312 /* ??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
313 extern const vtable_ptr MSVCP_basic_stringbuf_short_vtable
;
315 /* ??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ */
316 const int basic_ostream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostream_char
), 8)};
317 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
318 extern const vtable_ptr MSVCP_basic_ostream_char_vtable
;
320 /* ??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@ */
321 const int basic_ostream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostream_wchar
), 8)};
322 /* ??_7?$basic_ostream@_WU?$char_traits@_W@std@@@std@@6B@ */
323 extern const vtable_ptr MSVCP_basic_ostream_wchar_vtable
;
325 /* ??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ */
326 const int basic_ostream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostream_wchar
), 8)};
327 /* ??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ */
328 extern const vtable_ptr MSVCP_basic_ostream_short_vtable
;
330 /* ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ */
331 const int basic_istream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istream_char
), 8)};
332 /* ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ */
333 extern const vtable_ptr MSVCP_basic_istream_char_vtable
;
335 /* ??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@ */
336 const int basic_istream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istream_wchar
), 8)};
337 /* ??_7?$basic_istream@_WU?$char_traits@_W@std@@@std@@6B@ */
338 extern const vtable_ptr MSVCP_basic_istream_wchar_vtable
;
340 /* ??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ */
341 const int basic_istream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istream_wchar
), 8)};
342 /* ??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ */
343 extern const vtable_ptr MSVCP_basic_istream_short_vtable
;
345 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
346 const int basic_iostream_char_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_char
), 8)};
347 /* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
348 const int basic_iostream_char_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_char
), 8)-FIELD_OFFSET(basic_iostream_char
, base2
)};
349 /* ??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ */
350 extern const vtable_ptr MSVCP_basic_iostream_char_vtable
;
352 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
353 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
354 const int basic_iostream_wchar_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_wchar
), 8)};
355 /* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
356 /* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
357 const int basic_iostream_wchar_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_iostream_wchar
), 8)-FIELD_OFFSET(basic_iostream_wchar
, base2
)};
358 /* ??_7?$basic_iostream@_WU?$char_traits@_W@std@@@std@@6B@ */
359 extern const vtable_ptr MSVCP_basic_iostream_wchar_vtable
;
360 /* ??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ */
361 extern const vtable_ptr MSVCP_basic_iostream_short_vtable
;
363 /* ??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ */
364 const int basic_ofstream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ofstream_char
), 8)};
365 /* ??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ */
366 extern const vtable_ptr MSVCP_basic_ofstream_char_vtable
;
368 /* ??_8?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@7B@ */
369 const int basic_ofstream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ofstream_wchar
), 8)};
370 /* ??_7?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@6B@ */
371 extern const vtable_ptr MSVCP_basic_ofstream_wchar_vtable
;
373 /* ??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ */
374 const int basic_ofstream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ofstream_wchar
), 8)};
375 /* ??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ */
376 extern const vtable_ptr MSVCP_basic_ofstream_short_vtable
;
378 /* ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ */
379 const int basic_ifstream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ifstream_char
), 8)};
380 /* ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ */
381 extern const vtable_ptr MSVCP_basic_ifstream_char_vtable
;
383 /* ??_8?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@7B@ */
384 const int basic_ifstream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ifstream_wchar
), 8)};
385 /* ??_7?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@6B@ */
386 extern const vtable_ptr MSVCP_basic_ifstream_wchar_vtable
;
388 /* ??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ */
389 const int basic_ifstream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ifstream_wchar
), 8)};
390 /* ??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ */
391 extern const vtable_ptr MSVCP_basic_ifstream_short_vtable
;
393 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
394 const int basic_fstream_char_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_fstream_char
), 8)};
395 /* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
396 const int basic_fstream_char_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_fstream_char
), 8)-FIELD_OFFSET(basic_fstream_char
, base
.base2
)};
397 /* ??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ */
398 extern const vtable_ptr MSVCP_basic_fstream_char_vtable
;
400 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
401 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
402 const int basic_fstream_wchar_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_fstream_wchar
), 8)};
403 /* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
404 /* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
405 const int basic_fstream_wchar_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_fstream_wchar
), 8)-FIELD_OFFSET(basic_fstream_wchar
, base
.base2
)};
406 /* ??_7?$basic_fstream@_WU?$char_traits@_W@std@@@std@@6B@ */
407 extern const vtable_ptr MSVCP_basic_fstream_wchar_vtable
;
408 /* ??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ */
409 extern const vtable_ptr MSVCP_basic_fstream_short_vtable
;
411 /* ??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
412 const int basic_ostringstream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostringstream_char
), 8)};
413 /* ??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
414 extern const vtable_ptr MSVCP_basic_ostringstream_char_vtable
;
416 /* ??_8?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
417 const int basic_ostringstream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostringstream_wchar
), 8)};
418 /* ??_7?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
419 extern const vtable_ptr MSVCP_basic_ostringstream_wchar_vtable
;
421 /* ??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
422 const int basic_ostringstream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_ostringstream_wchar
), 8)};
423 /* ??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
424 extern const vtable_ptr MSVCP_basic_ostringstream_short_vtable
;
426 /* ??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
427 const int basic_istringstream_char_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istringstream_char
), 8)};
428 /* ??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
429 extern const vtable_ptr MSVCP_basic_istringstream_char_vtable
;
431 /* ??_8?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
432 const int basic_istringstream_wchar_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istringstream_wchar
), 8)};
433 /* ??_7?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
434 extern const vtable_ptr MSVCP_basic_istringstream_wchar_vtable
;
436 /* ??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
437 const int basic_istringstream_short_vbtable
[] = {0, ALIGNED_SIZE(sizeof(basic_istringstream_wchar
), 8)};
438 /* ??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
439 extern const vtable_ptr MSVCP_basic_istringstream_short_vtable
;
441 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
442 const int basic_stringstream_char_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_stringstream_char
), 8)};
443 /* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
444 const int basic_stringstream_char_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_stringstream_char
), 8)-FIELD_OFFSET(basic_stringstream_char
, base
.base2
)};
445 /* ??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
446 extern const vtable_ptr MSVCP_basic_stringstream_char_vtable
;
448 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
449 const int basic_stringstream_wchar_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_stringstream_wchar
), 8)};
450 /* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
451 const int basic_stringstream_wchar_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_stringstream_wchar
), 8)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
452 /* ??_7?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
453 extern const vtable_ptr MSVCP_basic_stringstream_wchar_vtable
;
455 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
456 const int basic_stringstream_short_vbtable1
[] = {0, ALIGNED_SIZE(sizeof(basic_stringstream_wchar
), 8)};
457 /* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
458 const int basic_stringstream_short_vbtable2
[] = {0, ALIGNED_SIZE(sizeof(basic_stringstream_wchar
), 8)-FIELD_OFFSET(basic_stringstream_wchar
, base
.base2
)};
459 /* ??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
460 extern const vtable_ptr MSVCP_basic_stringstream_short_vtable
;
462 /* ??_7strstreambuf@std@@6B */
463 extern const vtable_ptr MSVCP_strstreambuf_vtable
;
465 DEFINE_RTTI_DATA0(iosb
, 0, ".?AV?$_Iosb@H@std@@");
466 DEFINE_RTTI_DATA1(ios_base
, 0, &iosb_rtti_base_descriptor
, ".?AV?$_Iosb@H@std@@");
467 DEFINE_RTTI_DATA2(basic_ios_char
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
468 ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@");
469 DEFINE_RTTI_DATA2(basic_ios_wchar
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
470 ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@");
471 DEFINE_RTTI_DATA2(basic_ios_short
, 0, &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
472 ".?AV?$basic_ios@GU?$char_traits@G@std@@@std@@");
473 DEFINE_RTTI_DATA0(basic_streambuf_char
, 0,
474 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@");
475 DEFINE_RTTI_DATA0(basic_streambuf_wchar
, 0,
476 ".?AV?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@");
477 DEFINE_RTTI_DATA0(basic_streambuf_short
, 0,
478 ".?AV?$basic_streambuf@GU?$char_traits@G@std@@@std@@");
479 DEFINE_RTTI_DATA1(basic_filebuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
480 ".?AV?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@");
481 DEFINE_RTTI_DATA1(basic_filebuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
482 ".?AV?$basic_filebuf@GU?$char_traits@G@std@@@std@@");
483 DEFINE_RTTI_DATA1(basic_filebuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
484 ".?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@");
485 DEFINE_RTTI_DATA1(basic_stringbuf_char
, 0, &basic_streambuf_char_rtti_base_descriptor
,
486 ".?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
487 DEFINE_RTTI_DATA1(basic_stringbuf_wchar
, 0, &basic_streambuf_wchar_rtti_base_descriptor
,
488 ".?AV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
489 DEFINE_RTTI_DATA1(basic_stringbuf_short
, 0, &basic_streambuf_short_rtti_base_descriptor
,
490 ".?AV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
491 DEFINE_RTTI_DATA3(basic_ostream_char
, sizeof(basic_ostream_char
), &basic_ios_char_rtti_base_descriptor
,
492 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
493 ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@");
494 DEFINE_RTTI_DATA3(basic_ostream_wchar
, sizeof(basic_ostream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
495 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
496 ".?AV?$basic_ostream@_WU?$char_traits@_W@std@@@std@@");
497 DEFINE_RTTI_DATA3(basic_ostream_short
, sizeof(basic_ostream_wchar
), &basic_ios_short_rtti_base_descriptor
,
498 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
499 ".?AV?$basic_ostream@GU?$char_traits@G@std@@@std@@");
500 DEFINE_RTTI_DATA3(basic_istream_char
, sizeof(basic_istream_char
), &basic_ios_char_rtti_base_descriptor
,
501 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
502 ".?AV?$basic_istream@DU?$char_traits@D@std@@@std@@");
503 DEFINE_RTTI_DATA3(basic_istream_wchar
, sizeof(basic_istream_wchar
), &basic_ios_wchar_rtti_base_descriptor
,
504 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
505 ".?AV?$basic_istream@_WU?$char_traits@_W@std@@@std@@");
506 DEFINE_RTTI_DATA3(basic_istream_short
, sizeof(basic_istream_wchar
), &basic_ios_short_rtti_base_descriptor
,
507 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
508 ".?AV?$basic_istream@GU?$char_traits@G@std@@@std@@");
509 DEFINE_RTTI_DATA8(basic_iostream_char
, sizeof(basic_iostream_char
),
510 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
511 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
512 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
513 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
514 ".?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@");
515 DEFINE_RTTI_DATA8(basic_iostream_wchar
, sizeof(basic_iostream_wchar
),
516 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
517 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
518 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
519 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
520 ".?AV?$basic_iostream@_WU?$char_traits@_W@std@@@std@@");
521 DEFINE_RTTI_DATA8(basic_iostream_short
, sizeof(basic_iostream_wchar
),
522 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
523 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
524 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
525 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
526 ".?AV?$basic_iostream@GU?$char_traits@G@std@@@std@@");
527 DEFINE_RTTI_DATA4(basic_ofstream_char
, sizeof(basic_ofstream_char
),
528 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
529 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
530 ".?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@");
531 DEFINE_RTTI_DATA4(basic_ofstream_wchar
, sizeof(basic_ofstream_wchar
),
532 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
533 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
534 ".?AV?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@");
535 DEFINE_RTTI_DATA4(basic_ofstream_short
, sizeof(basic_ofstream_wchar
),
536 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
537 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
538 ".?AV?$basic_ofstream@GU?$char_traits@G@std@@@std@@");
539 DEFINE_RTTI_DATA4(basic_ifstream_char
, sizeof(basic_ifstream_char
),
540 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
541 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
542 ".?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@");
543 DEFINE_RTTI_DATA4(basic_ifstream_wchar
, sizeof(basic_ifstream_wchar
),
544 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
545 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
546 ".?AV?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@");
547 DEFINE_RTTI_DATA4(basic_ifstream_short
, sizeof(basic_ifstream_wchar
),
548 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
549 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
550 ".?AV?$basic_ifstream@GU?$char_traits@G@std@@@std@@");
551 DEFINE_RTTI_DATA8(basic_fstream_char
, sizeof(basic_fstream_char
),
552 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
553 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
554 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
555 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
556 ".?AV?$basic_fstream@DU?$char_traits@D@std@@@std@@");
557 DEFINE_RTTI_DATA8(basic_fstream_wchar
, sizeof(basic_fstream_wchar
),
558 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
559 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
560 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
561 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
562 ".?AV?$basic_fstream@_WU?$char_traits@_W@std@@@std@@");
563 DEFINE_RTTI_DATA8(basic_fstream_short
, sizeof(basic_fstream_wchar
),
564 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
565 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
566 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
567 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
568 ".?AV?$basic_fstream@GU?$char_traits@G@std@@@std@@");
569 DEFINE_RTTI_DATA4(basic_ostringstream_char
, sizeof(basic_ostringstream_char
),
570 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
571 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
572 ".?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
573 DEFINE_RTTI_DATA4(basic_ostringstream_wchar
, sizeof(basic_ostringstream_wchar
),
574 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
575 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
576 ".?AV?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
577 DEFINE_RTTI_DATA4(basic_ostringstream_short
, sizeof(basic_ostringstream_wchar
),
578 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
579 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
580 ".?AV?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
581 DEFINE_RTTI_DATA4(basic_istringstream_char
, sizeof(basic_istringstream_char
),
582 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
583 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
584 ".?AV?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
585 DEFINE_RTTI_DATA4(basic_istringstream_wchar
, sizeof(basic_istringstream_wchar
),
586 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
587 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
588 ".?AV?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
589 DEFINE_RTTI_DATA4(basic_istringstream_short
, sizeof(basic_istringstream_wchar
),
590 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
591 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
592 ".?AV?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
593 DEFINE_RTTI_DATA8(basic_stringstream_char
, sizeof(basic_stringstream_char
),
594 &basic_istream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
595 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
596 &basic_ostream_char_rtti_base_descriptor
, &basic_ios_char_rtti_base_descriptor
,
597 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
598 ".?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@");
599 DEFINE_RTTI_DATA8(basic_stringstream_wchar
, sizeof(basic_stringstream_wchar
),
600 &basic_istream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
601 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
602 &basic_ostream_wchar_rtti_base_descriptor
, &basic_ios_wchar_rtti_base_descriptor
,
603 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
604 ".?AV?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@");
605 DEFINE_RTTI_DATA8(basic_stringstream_short
, sizeof(basic_stringstream_wchar
),
606 &basic_istream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
607 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
608 &basic_ostream_short_rtti_base_descriptor
, &basic_ios_short_rtti_base_descriptor
,
609 &ios_base_rtti_base_descriptor
, &iosb_rtti_base_descriptor
,
610 ".?AV?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@");
611 DEFINE_RTTI_DATA1(strstreambuf
, sizeof(strstreambuf
),
612 &basic_streambuf_char_rtti_base_descriptor
, ".?AVstrstreambuf@std@@");
615 void __asm_dummy_vtables(void) {
617 __ASM_VTABLE(iosb
, "");
618 __ASM_VTABLE(ios_base
, "");
619 __ASM_VTABLE(basic_ios_char
, "");
620 __ASM_VTABLE(basic_ios_wchar
, "");
621 __ASM_VTABLE(basic_ios_short
, "");
622 __ASM_VTABLE(basic_streambuf_char
,
623 VTABLE_ADD_FUNC(basic_streambuf_char__Lock
)
624 VTABLE_ADD_FUNC(basic_streambuf_char__Unlock
)
625 VTABLE_ADD_FUNC(basic_streambuf_char_overflow
)
626 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail
)
627 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
628 VTABLE_ADD_FUNC(basic_streambuf_char_underflow
)
629 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
630 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
631 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
632 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff
)
633 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos
)
634 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
635 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
636 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
637 __ASM_VTABLE(basic_streambuf_wchar
,
638 VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock
)
639 VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock
)
640 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
641 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
642 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
643 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
644 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
645 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
646 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
647 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
648 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
649 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
650 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
651 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
652 __ASM_VTABLE(basic_streambuf_short
,
653 VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock
)
654 VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock
)
655 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow
)
656 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail
)
657 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
658 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow
)
659 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
660 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
661 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
662 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff
)
663 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos
)
664 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
665 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
666 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
667 __ASM_VTABLE(basic_filebuf_char
,
668 VTABLE_ADD_FUNC(basic_streambuf_char__Lock
)
669 VTABLE_ADD_FUNC(basic_streambuf_char__Unlock
)
670 VTABLE_ADD_FUNC(basic_filebuf_char_overflow
)
671 VTABLE_ADD_FUNC(basic_filebuf_char_pbackfail
)
672 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
673 VTABLE_ADD_FUNC(basic_filebuf_char_underflow
)
674 VTABLE_ADD_FUNC(basic_filebuf_char_uflow
)
675 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
676 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
677 VTABLE_ADD_FUNC(basic_filebuf_char_seekoff
)
678 VTABLE_ADD_FUNC(basic_filebuf_char_seekpos
)
679 VTABLE_ADD_FUNC(basic_filebuf_char_setbuf
)
680 VTABLE_ADD_FUNC(basic_filebuf_char_sync
)
681 VTABLE_ADD_FUNC(basic_filebuf_char_imbue
));
682 __ASM_VTABLE(basic_filebuf_wchar
,
683 VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock
)
684 VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock
)
685 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
686 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
687 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
688 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
689 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
690 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
691 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
692 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
693 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
694 VTABLE_ADD_FUNC(basic_filebuf_wchar_setbuf
)
695 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
696 VTABLE_ADD_FUNC(basic_filebuf_wchar_imbue
));
697 __ASM_VTABLE(basic_filebuf_short
,
698 VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock
)
699 VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock
)
700 VTABLE_ADD_FUNC(basic_filebuf_wchar_overflow
)
701 VTABLE_ADD_FUNC(basic_filebuf_wchar_pbackfail
)
702 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
703 VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow
)
704 VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow
)
705 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
706 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
707 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff
)
708 VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos
)
709 VTABLE_ADD_FUNC(basic_filebuf_short_setbuf
)
710 VTABLE_ADD_FUNC(basic_filebuf_wchar_sync
)
711 VTABLE_ADD_FUNC(basic_filebuf_short_imbue
));
712 __ASM_VTABLE(basic_stringbuf_char
,
713 VTABLE_ADD_FUNC(basic_streambuf_char__Lock
)
714 VTABLE_ADD_FUNC(basic_streambuf_char__Unlock
)
715 VTABLE_ADD_FUNC(basic_stringbuf_char_overflow
)
716 VTABLE_ADD_FUNC(basic_stringbuf_char_pbackfail
)
717 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
718 VTABLE_ADD_FUNC(basic_stringbuf_char_underflow
)
719 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
720 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
721 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
722 VTABLE_ADD_FUNC(basic_stringbuf_char_seekoff
)
723 VTABLE_ADD_FUNC(basic_stringbuf_char_seekpos
)
724 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
725 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
726 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
727 __ASM_VTABLE(basic_stringbuf_wchar
,
728 VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock
)
729 VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock
)
730 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
731 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
732 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
733 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
734 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
735 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
736 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
737 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
738 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
739 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
740 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
741 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
742 __ASM_VTABLE(basic_stringbuf_short
,
743 VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock
)
744 VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock
)
745 VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow
)
746 VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail
)
747 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc
)
748 VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow
)
749 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow
)
750 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn
)
751 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn
)
752 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff
)
753 VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos
)
754 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf
)
755 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync
)
756 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue
));
757 __ASM_VTABLE(basic_ostream_char
, "");
758 __ASM_VTABLE(basic_ostream_wchar
, "");
759 __ASM_VTABLE(basic_ostream_short
, "");
760 __ASM_VTABLE(basic_istream_char
, "");
761 __ASM_VTABLE(basic_istream_wchar
, "");
762 __ASM_VTABLE(basic_istream_short
, "");
763 __ASM_VTABLE(basic_iostream_char
, "");
764 __ASM_VTABLE(basic_iostream_wchar
, "");
765 __ASM_VTABLE(basic_iostream_short
, "");
766 __ASM_VTABLE(basic_ofstream_char
, "");
767 __ASM_VTABLE(basic_ofstream_wchar
, "");
768 __ASM_VTABLE(basic_ofstream_short
, "");
769 __ASM_VTABLE(basic_ifstream_char
, "");
770 __ASM_VTABLE(basic_ifstream_wchar
, "");
771 __ASM_VTABLE(basic_ifstream_short
, "");
772 __ASM_VTABLE(basic_fstream_char
, "");
773 __ASM_VTABLE(basic_fstream_wchar
, "");
774 __ASM_VTABLE(basic_fstream_short
, "");
775 __ASM_VTABLE(basic_ostringstream_char
, "");
776 __ASM_VTABLE(basic_ostringstream_wchar
, "");
777 __ASM_VTABLE(basic_ostringstream_short
, "");
778 __ASM_VTABLE(basic_istringstream_char
, "");
779 __ASM_VTABLE(basic_istringstream_wchar
, "");
780 __ASM_VTABLE(basic_istringstream_short
, "");
781 __ASM_VTABLE(basic_stringstream_char
, "");
782 __ASM_VTABLE(basic_stringstream_wchar
, "");
783 __ASM_VTABLE(basic_stringstream_short
, "");
784 __ASM_VTABLE(strstreambuf
,
785 VTABLE_ADD_FUNC(basic_streambuf_char__Lock
)
786 VTABLE_ADD_FUNC(basic_streambuf_char__Unlock
)
787 VTABLE_ADD_FUNC(strstreambuf_overflow
)
788 VTABLE_ADD_FUNC(strstreambuf_pbackfail
)
789 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc
)
790 VTABLE_ADD_FUNC(strstreambuf_underflow
)
791 VTABLE_ADD_FUNC(basic_streambuf_char_uflow
)
792 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn
)
793 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn
)
794 VTABLE_ADD_FUNC(strstreambuf_seekoff
)
795 VTABLE_ADD_FUNC(strstreambuf_seekpos
)
796 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf
)
797 VTABLE_ADD_FUNC(basic_streambuf_char_sync
)
798 VTABLE_ADD_FUNC(basic_streambuf_char_imbue
));
803 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
804 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
805 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next
, 16)
806 void __thiscall
basic_streambuf_char_setp_next(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
808 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
812 this->wsize
= last
-next
;
815 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
816 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
817 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp
, 12)
818 void __thiscall
basic_streambuf_char_setp(basic_streambuf_char
*this, char *first
, char *last
)
820 basic_streambuf_char_setp_next(this, first
, first
, last
);
823 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
824 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
825 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg
, 16)
826 void __thiscall
basic_streambuf_char_setg(basic_streambuf_char
*this, char *first
, char *next
, char *last
)
828 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
832 this->rsize
= last
-next
;
835 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
836 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
837 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty
, 4)
838 void __thiscall
basic_streambuf_char__Init_empty(basic_streambuf_char
*this)
840 TRACE("(%p)\n", this);
842 this->prbuf
= &this->rbuf
;
843 this->pwbuf
= &this->wbuf
;
844 this->prpos
= &this->rpos
;
845 this->pwpos
= &this->wpos
;
846 this->prsize
= &this->rsize
;
847 this->pwsize
= &this->wsize
;
849 basic_streambuf_char_setp(this, NULL
, NULL
);
850 basic_streambuf_char_setg(this, NULL
, NULL
, NULL
);
853 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
854 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
855 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized
, 8)
856 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor_uninitialized(basic_streambuf_char
*this, int uninitialized
)
858 TRACE("(%p %d)\n", this, uninitialized
);
859 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
860 mutex_ctor(&this->lock
);
864 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
865 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
866 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor
, 4)
867 basic_streambuf_char
* __thiscall
basic_streambuf_char_ctor(basic_streambuf_char
*this)
869 TRACE("(%p)\n", this);
871 this->vtable
= &MSVCP_basic_streambuf_char_vtable
;
872 mutex_ctor(&this->lock
);
873 this->loc
= MSVCRT_operator_new(sizeof(locale
));
874 locale_ctor(this->loc
);
875 basic_streambuf_char__Init_empty(this);
880 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
881 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
882 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor
, 4)
883 void __thiscall
basic_streambuf_char_dtor(basic_streambuf_char
*this)
885 TRACE("(%p)\n", this);
887 mutex_dtor(&this->lock
);
888 locale_dtor(this->loc
);
889 MSVCRT_operator_delete(this->loc
);
892 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_char_vector_dtor
, 8)
893 basic_streambuf_char
* __thiscall
MSVCP_basic_streambuf_char_vector_dtor(basic_streambuf_char
*this, unsigned int flags
)
895 TRACE("(%p %x)\n", this, flags
);
897 /* we have an array, with the number of elements stored before the first object */
898 int i
, *ptr
= (int *)this-1;
900 for(i
=*ptr
-1; i
>=0; i
--)
901 basic_streambuf_char_dtor(this+i
);
902 MSVCRT_operator_delete(ptr
);
904 basic_streambuf_char_dtor(this);
906 MSVCRT_operator_delete(this);
912 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
913 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
914 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnavail
, 4)
915 streamsize __thiscall
basic_streambuf_char__Gnavail(const basic_streambuf_char
*this)
917 TRACE("(%p)\n", this);
918 return *this->prpos
? *this->prsize
: 0;
921 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
922 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
923 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec
, 4)
924 char* __thiscall
basic_streambuf_char__Gndec(basic_streambuf_char
*this)
926 TRACE("(%p)\n", this);
932 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
933 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
934 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc
, 4)
935 char* __thiscall
basic_streambuf_char__Gninc(basic_streambuf_char
*this)
937 TRACE("(%p)\n", this);
939 return (*this->prpos
)++;
942 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
943 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
944 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnpreinc
, 4)
945 char* __thiscall
basic_streambuf_char__Gnpreinc(basic_streambuf_char
*this)
947 TRACE("(%p)\n", this);
953 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
954 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
955 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init
, 28)
956 void __thiscall
basic_streambuf_char__Init(basic_streambuf_char
*this, char **gf
, char **gn
, int *gc
, char **pf
, char **pn
, int *pc
)
958 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
968 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
969 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
970 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock
, 4)
971 #define call_basic_streambuf_char__Lock(this) CALL_VTBL_FUNC(this, 4, \
972 void, (basic_streambuf_char*), (this))
973 void __thiscall
basic_streambuf_char__Lock(basic_streambuf_char
*this)
975 TRACE("(%p)\n", this);
976 mutex_lock(&this->lock
);
979 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
980 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
981 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pnavail
, 4)
982 streamsize __thiscall
basic_streambuf_char__Pnavail(const basic_streambuf_char
*this)
984 TRACE("(%p)\n", this);
985 return *this->pwpos
? *this->pwsize
: 0;
988 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
989 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
990 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc
, 4)
991 char* __thiscall
basic_streambuf_char__Pninc(basic_streambuf_char
*this)
993 TRACE("(%p)\n", this);
995 return (*this->pwpos
)++;
998 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
999 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1000 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow
, 4)
1001 #define call_basic_streambuf_char_underflow(this) CALL_VTBL_FUNC(this, 24, \
1002 int, (basic_streambuf_char*), (this))
1003 int __thiscall
basic_streambuf_char_underflow(basic_streambuf_char
*this)
1005 TRACE("(%p)\n", this);
1009 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1010 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1011 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow
, 4)
1012 #define call_basic_streambuf_char_uflow(this) CALL_VTBL_FUNC(this, 28, \
1013 int, (basic_streambuf_char*), (this))
1014 int __thiscall
basic_streambuf_char_uflow(basic_streambuf_char
*this)
1018 TRACE("(%p)\n", this);
1020 if(call_basic_streambuf_char_underflow(this)==EOF
)
1023 ret
= **this->prpos
;
1029 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
1030 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
1031 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s
, 20)
1032 #define call_basic_streambuf_char__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1033 streamsize, (basic_streambuf_char*, char*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1034 streamsize __thiscall
basic_streambuf_char__Xsgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
1036 streamsize copied
, chunk
;
1039 TRACE("(%p %p %lu %s)\n", this, ptr
, size
, wine_dbgstr_longlong(count
));
1041 for(copied
=0; copied
<count
&& size
;) {
1042 chunk
= basic_streambuf_char__Gnavail(this);
1043 if(chunk
> count
-copied
)
1044 chunk
= count
-copied
;
1047 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
1048 *this->prpos
+= chunk
;
1049 *this->prsize
-= chunk
;
1052 }else if((c
= call_basic_streambuf_char_uflow(this)) != EOF
) {
1064 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
1065 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
1066 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s
, 20)
1067 streamsize __thiscall
basic_streambuf_char__Sgetn_s(basic_streambuf_char
*this, char *ptr
, MSVCP_size_t size
, streamsize count
)
1069 TRACE("(%p %p %lu %s)\n", this, ptr
, size
, wine_dbgstr_longlong(count
));
1070 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, size
, count
);
1073 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1074 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1075 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock
, 4)
1076 #define call_basic_streambuf_char__Unlock(this) CALL_VTBL_FUNC(this, 8, \
1077 void, (basic_streambuf_char*), (this))
1078 void __thiscall
basic_streambuf_char__Unlock(basic_streambuf_char
*this)
1080 TRACE("(%p)\n", this);
1081 mutex_unlock(&this->lock
);
1084 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1085 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1086 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback
, 4)
1087 char* __thiscall
basic_streambuf_char_eback(const basic_streambuf_char
*this)
1089 TRACE("(%p)\n", this);
1090 return *this->prbuf
;
1093 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1094 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1095 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr
, 4)
1096 char* __thiscall
basic_streambuf_char_gptr(const basic_streambuf_char
*this)
1098 TRACE("(%p)\n", this);
1099 return *this->prpos
;
1102 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1103 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1104 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr
, 4)
1105 char* __thiscall
basic_streambuf_char_egptr(const basic_streambuf_char
*this)
1107 TRACE("(%p)\n", this);
1108 return *this->prpos
+*this->prsize
;
1111 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1112 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1113 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr
, 4)
1114 char* __thiscall
basic_streambuf_char_epptr(const basic_streambuf_char
*this)
1116 TRACE("(%p)\n", this);
1117 return *this->pwpos
+*this->pwsize
;
1120 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1121 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1122 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump
, 8)
1123 void __thiscall
basic_streambuf_char_gbump(basic_streambuf_char
*this, int off
)
1125 TRACE("(%p %d)\n", this, off
);
1126 *this->prpos
+= off
;
1127 *this->prsize
-= off
;
1130 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
1131 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
1132 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc
, 8)
1133 locale
* __thiscall
basic_streambuf_char_getloc(const basic_streambuf_char
*this, locale
*ret
)
1135 TRACE("(%p)\n", this);
1136 return locale_copy_ctor(ret
, this->loc
);
1139 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
1140 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
1141 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue
, 8)
1142 #define call_basic_streambuf_char_imbue(this, loc) CALL_VTBL_FUNC(this, 56, \
1143 void, (basic_streambuf_char*, const locale*), (this, loc))
1144 void __thiscall
basic_streambuf_char_imbue(basic_streambuf_char
*this, const locale
*loc
)
1146 TRACE("(%p %p)\n", this, loc
);
1149 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1150 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1151 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow
, 8)
1152 #define call_basic_streambuf_char_overflow(this, ch) CALL_VTBL_FUNC(this, 12, \
1153 int, (basic_streambuf_char*, int), (this, ch))
1154 int __thiscall
basic_streambuf_char_overflow(basic_streambuf_char
*this, int ch
)
1156 TRACE("(%p %d)\n", this, ch
);
1160 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1161 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1162 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail
, 8)
1163 #define call_basic_streambuf_char_pbackfail(this, ch) CALL_VTBL_FUNC(this, 16, \
1164 int, (basic_streambuf_char*, int), (this, ch))
1165 int __thiscall
basic_streambuf_char_pbackfail(basic_streambuf_char
*this, int ch
)
1167 TRACE("(%p %d)\n", this, ch
);
1171 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1172 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1173 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase
, 4)
1174 char* __thiscall
basic_streambuf_char_pbase(const basic_streambuf_char
*this)
1176 TRACE("(%p)\n", this);
1177 return *this->pwbuf
;
1180 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1181 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1182 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump
, 8)
1183 void __thiscall
basic_streambuf_char_pbump(basic_streambuf_char
*this, int off
)
1185 TRACE("(%p %d)\n", this, off
);
1186 *this->pwpos
+= off
;
1187 *this->pwsize
-= off
;
1190 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1191 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1192 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr
, 4)
1193 char* __thiscall
basic_streambuf_char_pptr(const basic_streambuf_char
*this)
1195 TRACE("(%p)\n", this);
1196 return *this->pwpos
;
1199 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1200 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1201 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue
, 12)
1202 locale
* __thiscall
basic_streambuf_char_pubimbue(basic_streambuf_char
*this, locale
*ret
, const locale
*loc
)
1204 TRACE("(%p %p)\n", this, loc
);
1205 memcpy(ret
, this->loc
, sizeof(locale
));
1206 call_basic_streambuf_char_imbue(this, loc
);
1207 locale_copy_ctor(this->loc
, loc
);
1211 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1212 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1213 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff
, 24)
1214 #define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 40, \
1215 fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1216 fpos_int
* __thiscall
basic_streambuf_char_seekoff(basic_streambuf_char
*this,
1217 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1219 TRACE("(%p %s %d %d)\n", this, wine_dbgstr_longlong(off
), way
, mode
);
1226 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1227 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1228 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff
, 24)
1229 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff(basic_streambuf_char
*this,
1230 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1232 TRACE("(%p %s %d %d)\n", this, wine_dbgstr_longlong(off
), way
, mode
);
1233 return call_basic_streambuf_char_seekoff(this, ret
, off
, way
, mode
);
1236 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1237 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1238 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old
, 24)
1239 fpos_int
* __thiscall
basic_streambuf_char_pubseekoff_old(basic_streambuf_char
*this,
1240 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
1242 TRACE("(%p %s %d %d)\n", this, wine_dbgstr_longlong(off
), way
, mode
);
1243 return basic_streambuf_char_pubseekoff(this, ret
, off
, way
, mode
);
1246 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1247 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1248 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos
, 36)
1249 #define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 44, \
1250 fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1251 fpos_int
* __thiscall
basic_streambuf_char_seekpos(basic_streambuf_char
*this,
1252 fpos_int
*ret
, fpos_int pos
, int mode
)
1254 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1261 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1262 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1263 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos
, 36)
1264 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos(basic_streambuf_char
*this,
1265 fpos_int
*ret
, fpos_int pos
, int mode
)
1267 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1268 return call_basic_streambuf_char_seekpos(this, ret
, pos
, mode
);
1271 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1272 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1273 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old
, 36)
1274 fpos_int
* __thiscall
basic_streambuf_char_pubseekpos_old(basic_streambuf_char
*this,
1275 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
1277 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
1278 return basic_streambuf_char_pubseekpos(this, ret
, pos
, mode
);
1281 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
1282 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
1283 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf
, 16)
1284 #define call_basic_streambuf_char_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 48, \
1285 basic_streambuf_char*, (basic_streambuf_char*, char*, streamsize), (this, buf, count))
1286 basic_streambuf_char
* __thiscall
basic_streambuf_char_setbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1288 TRACE("(%p %p %s)\n", this, buf
, wine_dbgstr_longlong(count
));
1292 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
1293 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
1294 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf
, 16)
1295 basic_streambuf_char
* __thiscall
basic_streambuf_char_pubsetbuf(basic_streambuf_char
*this, char *buf
, streamsize count
)
1297 TRACE("(%p %p %s)\n", this, buf
, wine_dbgstr_longlong(count
));
1298 return call_basic_streambuf_char_setbuf(this, buf
, count
);
1301 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1302 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1303 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync
, 4)
1304 #define call_basic_streambuf_char_sync(this) CALL_VTBL_FUNC(this, 52, \
1305 int, (basic_streambuf_char*), (this))
1306 int __thiscall
basic_streambuf_char_sync(basic_streambuf_char
*this)
1308 TRACE("(%p)\n", this);
1312 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1313 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1314 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync
, 4)
1315 int __thiscall
basic_streambuf_char_pubsync(basic_streambuf_char
*this)
1317 TRACE("(%p)\n", this);
1318 return call_basic_streambuf_char_sync(this);
1321 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
1322 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
1323 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn
, 16)
1324 streamsize __thiscall
basic_streambuf_char_sgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1326 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
1327 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1330 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1331 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
1332 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc
, 4)
1333 #define call_basic_streambuf_char_showmanyc(this) CALL_VTBL_FUNC(this, 20, \
1334 streamsize, (basic_streambuf_char*), (this))
1335 streamsize __thiscall
basic_streambuf_char_showmanyc(basic_streambuf_char
*this)
1337 TRACE("(%p)\n", this);
1341 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1342 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
1343 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail
, 4)
1344 streamsize __thiscall
basic_streambuf_char_in_avail(basic_streambuf_char
*this)
1348 TRACE("(%p)\n", this);
1350 ret
= basic_streambuf_char__Gnavail(this);
1351 return ret
? ret
: call_basic_streambuf_char_showmanyc(this);
1354 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1355 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1356 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc
, 8)
1357 int __thiscall
basic_streambuf_char_sputbackc(basic_streambuf_char
*this, char ch
)
1359 TRACE("(%p %d)\n", this, ch
);
1360 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
1366 return call_basic_streambuf_char_pbackfail(this, ch
);
1369 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1370 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1371 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc
, 8)
1372 int __thiscall
basic_streambuf_char_sputc(basic_streambuf_char
*this, char ch
)
1374 TRACE("(%p %d)\n", this, ch
);
1375 return basic_streambuf_char__Pnavail(this) ?
1376 (*basic_streambuf_char__Pninc(this) = ch
) :
1377 call_basic_streambuf_char_overflow(this, ch
);
1380 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1381 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1382 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc
, 4)
1383 int __thiscall
basic_streambuf_char_sungetc(basic_streambuf_char
*this)
1385 TRACE("(%p)\n", this);
1386 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
1389 return **this->prpos
;
1392 return call_basic_streambuf_char_pbackfail(this, EOF
);
1395 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1396 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1397 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc
, 4)
1398 void __thiscall
basic_streambuf_char_stossc(basic_streambuf_char
*this)
1400 TRACE("(%p)\n", this);
1401 if(basic_streambuf_char__Gnavail(this))
1402 basic_streambuf_char__Gninc(this);
1404 call_basic_streambuf_char_uflow(this);
1407 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1408 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1409 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc
, 4)
1410 int __thiscall
basic_streambuf_char_sbumpc(basic_streambuf_char
*this)
1412 TRACE("(%p)\n", this);
1413 return basic_streambuf_char__Gnavail(this) ?
1414 *basic_streambuf_char__Gninc(this) : call_basic_streambuf_char_uflow(this);
1417 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1418 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1419 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc
, 4)
1420 int __thiscall
basic_streambuf_char_sgetc(basic_streambuf_char
*this)
1422 TRACE("(%p)\n", this);
1423 return basic_streambuf_char__Gnavail(this) ?
1424 *basic_streambuf_char_gptr(this) : call_basic_streambuf_char_underflow(this);
1427 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1428 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1429 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc
, 4)
1430 int __thiscall
basic_streambuf_char_snextc(basic_streambuf_char
*this)
1432 TRACE("(%p)\n", this);
1434 if(basic_streambuf_char__Gnavail(this) > 1)
1435 return *basic_streambuf_char__Gnpreinc(this);
1436 return basic_streambuf_char_sbumpc(this)==EOF
?
1437 EOF
: basic_streambuf_char_sgetc(this);
1440 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
1441 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
1442 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn
, 16)
1443 #define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
1444 streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
1445 streamsize __thiscall
basic_streambuf_char_xsgetn(basic_streambuf_char
*this, char *ptr
, streamsize count
)
1447 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
1448 return call_basic_streambuf_char__Xsgetn_s(this, ptr
, -1, count
);
1451 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
1452 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
1453 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn
, 16)
1454 #define call_basic_streambuf_char_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 36, \
1455 streamsize, (basic_streambuf_char*, const char*, streamsize), (this, ptr, count))
1456 streamsize __thiscall
basic_streambuf_char_xsputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1458 streamsize copied
, chunk
;
1460 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
1462 for(copied
=0; copied
<count
;) {
1463 chunk
= basic_streambuf_char__Pnavail(this);
1464 if(chunk
> count
-copied
)
1465 chunk
= count
-copied
;
1468 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
1469 *this->pwpos
+= chunk
;
1470 *this->pwsize
-= chunk
;
1472 }else if(call_basic_streambuf_char_overflow(this, ptr
[copied
]) != EOF
) {
1482 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
1483 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
1484 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn
, 16)
1485 streamsize __thiscall
basic_streambuf_char_sputn(basic_streambuf_char
*this, const char *ptr
, streamsize count
)
1487 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
1488 return call_basic_streambuf_char_xsputn(this, ptr
, count
);
1491 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1492 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1493 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1494 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1495 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp_next
, 16)
1496 void __thiscall
basic_streambuf_wchar_setp_next(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1498 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1502 this->wsize
= last
-next
;
1505 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W0@Z */
1506 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z */
1507 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z */
1508 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z */
1509 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp
, 12)
1510 void __thiscall
basic_streambuf_wchar_setp(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *last
)
1512 basic_streambuf_wchar_setp_next(this, first
, first
, last
);
1515 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
1516 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
1517 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
1518 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
1519 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setg
, 16)
1520 void __thiscall
basic_streambuf_wchar_setg(basic_streambuf_wchar
*this, wchar_t *first
, wchar_t *next
, wchar_t *last
)
1522 TRACE("(%p %p %p %p)\n", this, first
, next
, last
);
1526 this->rsize
= last
-next
;
1529 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXXZ */
1530 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXXZ */
1531 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
1532 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
1533 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init_empty
, 4)
1534 void __thiscall
basic_streambuf_wchar__Init_empty(basic_streambuf_wchar
*this)
1536 TRACE("(%p)\n", this);
1538 this->prbuf
= &this->rbuf
;
1539 this->pwbuf
= &this->wbuf
;
1540 this->prpos
= &this->rpos
;
1541 this->pwpos
= &this->wpos
;
1542 this->prsize
= &this->rsize
;
1543 this->pwsize
= &this->wsize
;
1545 basic_streambuf_wchar_setp(this, NULL
, NULL
);
1546 basic_streambuf_wchar_setg(this, NULL
, NULL
, NULL
);
1549 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1550 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1551 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor_uninitialized
, 8)
1552 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1554 TRACE("(%p %d)\n", this, uninitialized
);
1555 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1556 mutex_ctor(&this->lock
);
1560 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1561 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1562 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor_uninitialized
, 8)
1563 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor_uninitialized(basic_streambuf_wchar
*this, int uninitialized
)
1565 TRACE("(%p %d)\n", this, uninitialized
);
1566 basic_streambuf_wchar_ctor_uninitialized(this, uninitialized
);
1567 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1571 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
1572 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
1573 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor
, 4)
1574 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_ctor(basic_streambuf_wchar
*this)
1576 TRACE("(%p)\n", this);
1578 this->vtable
= &MSVCP_basic_streambuf_wchar_vtable
;
1579 mutex_ctor(&this->lock
);
1580 this->loc
= MSVCRT_operator_new(sizeof(locale
));
1581 locale_ctor(this->loc
);
1582 basic_streambuf_wchar__Init_empty(this);
1587 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ */
1588 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ */
1589 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor
, 4)
1590 basic_streambuf_wchar
* __thiscall
basic_streambuf_short_ctor(basic_streambuf_wchar
*this)
1592 TRACE("(%p)\n", this);
1593 basic_streambuf_wchar_ctor(this);
1594 this->vtable
= &MSVCP_basic_streambuf_short_vtable
;
1598 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
1599 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
1600 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
1601 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
1602 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_dtor
, 4)
1603 void __thiscall
basic_streambuf_wchar_dtor(basic_streambuf_wchar
*this)
1605 TRACE("(%p)\n", this);
1607 mutex_dtor(&this->lock
);
1608 locale_dtor(this->loc
);
1609 MSVCRT_operator_delete(this->loc
);
1612 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_wchar_vector_dtor
, 8)
1613 basic_streambuf_wchar
* __thiscall
MSVCP_basic_streambuf_wchar_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1615 TRACE("(%p %x)\n", this, flags
);
1617 /* we have an array, with the number of elements stored before the first object */
1618 int i
, *ptr
= (int *)this-1;
1620 for(i
=*ptr
-1; i
>=0; i
--)
1621 basic_streambuf_wchar_dtor(this+i
);
1622 MSVCRT_operator_delete(ptr
);
1624 basic_streambuf_wchar_dtor(this);
1626 MSVCRT_operator_delete(this);
1632 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_short_vector_dtor
, 8)
1633 basic_streambuf_wchar
* __thiscall
MSVCP_basic_streambuf_short_vector_dtor(basic_streambuf_wchar
*this, unsigned int flags
)
1635 TRACE("(%p %x)\n", this, flags
);
1636 return MSVCP_basic_streambuf_wchar_vector_dtor(this, flags
);
1639 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1640 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1641 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1642 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1643 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnavail
, 4)
1644 streamsize __thiscall
basic_streambuf_wchar__Gnavail(const basic_streambuf_wchar
*this)
1646 TRACE("(%p)\n", this);
1647 return *this->prpos
? *this->prsize
: 0;
1650 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1651 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1652 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1653 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1654 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gndec
, 4)
1655 wchar_t* __thiscall
basic_streambuf_wchar__Gndec(basic_streambuf_wchar
*this)
1657 TRACE("(%p)\n", this);
1660 return *this->prpos
;
1663 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1664 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1665 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1666 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1667 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gninc
, 4)
1668 wchar_t* __thiscall
basic_streambuf_wchar__Gninc(basic_streambuf_wchar
*this)
1670 TRACE("(%p)\n", this);
1672 return (*this->prpos
)++;
1675 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1676 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1677 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1678 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1679 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnpreinc
, 4)
1680 wchar_t* __thiscall
basic_streambuf_wchar__Gnpreinc(basic_streambuf_wchar
*this)
1682 TRACE("(%p)\n", this);
1685 return *this->prpos
;
1688 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPAPA_W0PAH001@Z */
1689 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAPEA_W0PEAH001@Z */
1690 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z */
1691 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z */
1692 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init
, 28)
1693 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
)
1695 TRACE("(%p %p %p %p %p %p %p)\n", this, gf
, gn
, gc
, pf
, pn
, pc
);
1705 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1706 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1707 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1708 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1709 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Lock
, 4)
1710 void __thiscall
basic_streambuf_wchar__Lock(basic_streambuf_wchar
*this)
1712 TRACE("(%p)\n", this);
1713 mutex_lock(&this->lock
);
1716 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1717 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1718 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1719 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1720 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pnavail
, 4)
1721 streamsize __thiscall
basic_streambuf_wchar__Pnavail(const basic_streambuf_wchar
*this)
1723 TRACE("(%p)\n", this);
1724 return *this->pwpos
? *this->pwsize
: 0;
1727 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1728 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1729 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1730 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1731 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pninc
, 4)
1732 wchar_t* __thiscall
basic_streambuf_wchar__Pninc(basic_streambuf_wchar
*this)
1734 TRACE("(%p)\n", this);
1736 return (*this->pwpos
)++;
1739 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1740 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1741 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1742 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1743 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_underflow
, 4)
1744 #define call_basic_streambuf_wchar_underflow(this) CALL_VTBL_FUNC(this, 24, \
1745 unsigned short, (basic_streambuf_wchar*), (this))
1746 unsigned short __thiscall
basic_streambuf_wchar_underflow(basic_streambuf_wchar
*this)
1748 TRACE("(%p)\n", this);
1752 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1753 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1754 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1755 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1756 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_uflow
, 4)
1757 #define call_basic_streambuf_wchar_uflow(this) CALL_VTBL_FUNC(this, 28, \
1758 unsigned short, (basic_streambuf_wchar*), (this))
1759 unsigned short __thiscall
basic_streambuf_wchar_uflow(basic_streambuf_wchar
*this)
1763 TRACE("(%p)\n", this);
1765 if(call_basic_streambuf_wchar_underflow(this)==WEOF
)
1768 ret
= **this->prpos
;
1774 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WIH@Z */
1775 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
1776 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
1777 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
1778 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s
, 20)
1779 #define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1780 streamsize, (basic_streambuf_wchar*, wchar_t*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1781 streamsize __thiscall
basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1783 streamsize copied
, chunk
;
1786 TRACE("(%p %p %lu %s)\n", this, ptr
, size
, wine_dbgstr_longlong(count
));
1788 for(copied
=0; copied
<count
&& size
;) {
1789 chunk
= basic_streambuf_wchar__Gnavail(this);
1790 if(chunk
> count
-copied
)
1791 chunk
= count
-copied
;
1794 memcpy_s(ptr
+copied
, size
, *this->prpos
, chunk
);
1795 *this->prpos
+= chunk
;
1796 *this->prsize
-= chunk
;
1799 }else if((c
= call_basic_streambuf_wchar_uflow(this)) != WEOF
) {
1811 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
1812 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
1813 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
1814 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
1815 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Sgetn_s
, 20)
1816 streamsize __thiscall
basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar
*this, wchar_t *ptr
, MSVCP_size_t size
, streamsize count
)
1818 TRACE("(%p %p %lu %s)\n", this, ptr
, size
, wine_dbgstr_longlong(count
));
1819 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, size
, count
);
1822 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1823 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1824 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1825 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1826 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Unlock
, 4)
1827 void __thiscall
basic_streambuf_wchar__Unlock(basic_streambuf_wchar
*this)
1829 TRACE("(%p)\n", this);
1830 mutex_unlock(&this->lock
);
1833 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1834 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1835 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1836 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1837 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_eback
, 4)
1838 wchar_t* __thiscall
basic_streambuf_wchar_eback(const basic_streambuf_wchar
*this)
1840 TRACE("(%p)\n", this);
1841 return *this->prbuf
;
1844 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1845 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1846 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1847 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1848 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gptr
, 4)
1849 wchar_t* __thiscall
basic_streambuf_wchar_gptr(const basic_streambuf_wchar
*this)
1851 TRACE("(%p)\n", this);
1852 return *this->prpos
;
1855 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1856 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1857 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1858 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1859 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_egptr
, 4)
1860 wchar_t* __thiscall
basic_streambuf_wchar_egptr(const basic_streambuf_wchar
*this)
1862 TRACE("(%p)\n", this);
1863 return *this->prpos
+*this->prsize
;
1866 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1867 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1868 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1869 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1870 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_epptr
, 4)
1871 wchar_t* __thiscall
basic_streambuf_wchar_epptr(const basic_streambuf_wchar
*this)
1873 TRACE("(%p)\n", this);
1874 return *this->pwpos
+*this->pwsize
;
1877 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1878 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1879 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1880 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1881 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gbump
, 8)
1882 void __thiscall
basic_streambuf_wchar_gbump(basic_streambuf_wchar
*this, int off
)
1884 TRACE("(%p %d)\n", this, off
);
1885 *this->prpos
+= off
;
1886 *this->prsize
-= off
;
1889 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QBE?AVlocale@2@XZ */
1890 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEBA?AVlocale@2@XZ */
1891 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QBE?AVlocale@2@XZ */
1892 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEBA?AVlocale@2@XZ */
1893 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_getloc
, 8)
1894 locale
* __thiscall
basic_streambuf_wchar_getloc(const basic_streambuf_wchar
*this, locale
*ret
)
1896 TRACE("(%p)\n", this);
1897 return locale_copy_ctor(ret
, this->loc
);
1900 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
1901 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
1902 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
1903 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
1904 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue
, 8)
1905 #define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 56, \
1906 void, (basic_streambuf_wchar*, const locale*), (this, loc))
1907 void __thiscall
basic_streambuf_wchar_imbue(basic_streambuf_wchar
*this, const locale
*loc
)
1909 TRACE("(%p %p)\n", this, loc
);
1912 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1913 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1914 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1915 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1916 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_overflow
, 8)
1917 #define call_basic_streambuf_wchar_overflow(this, ch) CALL_VTBL_FUNC(this, 12, \
1918 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1919 unsigned short __thiscall
basic_streambuf_wchar_overflow(basic_streambuf_wchar
*this, unsigned short ch
)
1921 TRACE("(%p %d)\n", this, ch
);
1925 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1926 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1927 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1928 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1929 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbackfail
, 8)
1930 #define call_basic_streambuf_wchar_pbackfail(this, ch) CALL_VTBL_FUNC(this, 16, \
1931 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1932 unsigned short __thiscall
basic_streambuf_wchar_pbackfail(basic_streambuf_wchar
*this, unsigned short ch
)
1934 TRACE("(%p %d)\n", this, ch
);
1938 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1939 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1940 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1941 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1942 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbase
, 4)
1943 wchar_t* __thiscall
basic_streambuf_wchar_pbase(const basic_streambuf_wchar
*this)
1945 TRACE("(%p)\n", this);
1946 return *this->pwbuf
;
1949 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1950 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1951 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1952 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1953 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbump
, 8)
1954 void __thiscall
basic_streambuf_wchar_pbump(basic_streambuf_wchar
*this, int off
)
1956 TRACE("(%p %d)\n", this, off
);
1957 *this->pwpos
+= off
;
1958 *this->pwsize
-= off
;
1961 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1962 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1963 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1964 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1965 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pptr
, 4)
1966 wchar_t* __thiscall
basic_streambuf_wchar_pptr(const basic_streambuf_wchar
*this)
1968 TRACE("(%p)\n", this);
1969 return *this->pwpos
;
1972 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1973 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1974 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1975 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1976 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubimbue
, 12)
1977 locale
* __thiscall
basic_streambuf_wchar_pubimbue(basic_streambuf_wchar
*this, locale
*ret
, const locale
*loc
)
1979 TRACE("(%p %p)\n", this, loc
);
1980 memcpy(ret
, this->loc
, sizeof(locale
));
1981 call_basic_streambuf_wchar_imbue(this, loc
);
1982 locale_copy_ctor(this->loc
, loc
);
1986 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1987 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1988 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1989 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1990 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff
, 24)
1991 #define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 40, \
1992 fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1993 fpos_int
* __thiscall
basic_streambuf_wchar_seekoff(basic_streambuf_wchar
*this,
1994 fpos_int
*ret
, streamoff off
, int way
, int mode
)
1996 TRACE("(%p %s %d %d)\n", this, wine_dbgstr_longlong(off
), way
, mode
);
2003 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2004 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2005 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
2006 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
2007 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff
, 24)
2008 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff(basic_streambuf_wchar
*this,
2009 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2011 TRACE("(%p %s %d %d)\n", this, wine_dbgstr_longlong(off
), way
, mode
);
2012 return call_basic_streambuf_wchar_seekoff(this, ret
, off
, way
, mode
);
2015 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2016 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2017 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
2018 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
2019 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old
, 24)
2020 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
*this,
2021 fpos_int
*ret
, streamoff off
, unsigned int way
, unsigned int mode
)
2023 TRACE("(%p %s %d %d)\n", this, wine_dbgstr_longlong(off
), way
, mode
);
2024 return basic_streambuf_wchar_pubseekoff(this, ret
, off
, way
, mode
);
2027 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2028 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2029 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2030 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2031 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekpos
, 36)
2032 #define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 44, \
2033 fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
2034 fpos_int
* __thiscall
basic_streambuf_wchar_seekpos(basic_streambuf_wchar
*this,
2035 fpos_int
*ret
, fpos_int pos
, int mode
)
2037 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2044 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2045 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2046 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
2047 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
2048 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos
, 36)
2049 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar
*this,
2050 fpos_int
*ret
, fpos_int pos
, int mode
)
2052 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2053 return call_basic_streambuf_wchar_seekpos(this, ret
, pos
, mode
);
2056 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2057 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2058 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
2059 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
2060 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos_old
, 36)
2061 fpos_int
* __thiscall
basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar
*this,
2062 fpos_int
*ret
, fpos_int pos
, unsigned int mode
)
2064 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos
), mode
);
2065 return basic_streambuf_wchar_pubseekpos(this, ret
, pos
, mode
);
2068 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEPAV12@PA_WH@Z */
2069 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV12@PEA_W_J@Z */
2070 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
2071 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
2072 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf
, 16)
2073 #define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 48, \
2074 basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
2075 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_setbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2077 TRACE("(%p %p %s)\n", this, buf
, wine_dbgstr_longlong(count
));
2081 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PA_WH@Z */
2082 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEA_W_J@Z */
2083 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z */
2084 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z */
2085 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsetbuf
, 16)
2086 basic_streambuf_wchar
* __thiscall
basic_streambuf_wchar_pubsetbuf(basic_streambuf_wchar
*this, wchar_t *buf
, streamsize count
)
2088 TRACE("(%p %p %s)\n", this, buf
, wine_dbgstr_longlong(count
));
2089 return call_basic_streambuf_wchar_setbuf(this, buf
, count
);
2092 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2093 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
2094 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2095 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
2096 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync
, 4)
2097 #define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 52, \
2098 int, (basic_streambuf_wchar*), (this))
2099 int __thiscall
basic_streambuf_wchar_sync(basic_streambuf_wchar
*this)
2101 TRACE("(%p)\n", this);
2105 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2106 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
2107 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2108 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ */
2109 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsync
, 4)
2110 int __thiscall
basic_streambuf_wchar_pubsync(basic_streambuf_wchar
*this)
2112 TRACE("(%p)\n", this);
2113 return call_basic_streambuf_wchar_sync(this);
2116 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
2117 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
2118 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
2119 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
2120 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn
, 16)
2121 streamsize __thiscall
basic_streambuf_wchar_sgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2123 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
2124 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2127 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
2128 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JXZ */
2129 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
2130 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JXZ */
2131 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_showmanyc
, 4)
2132 #define call_basic_streambuf_wchar_showmanyc(this) CALL_VTBL_FUNC(this, 20, \
2133 streamsize, (basic_streambuf_wchar*), (this))
2134 streamsize __thiscall
basic_streambuf_wchar_showmanyc(basic_streambuf_wchar
*this)
2136 TRACE("(%p)\n", this);
2140 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
2141 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JXZ */
2142 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
2143 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ */
2144 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_in_avail
, 4)
2145 streamsize __thiscall
basic_streambuf_wchar_in_avail(basic_streambuf_wchar
*this)
2149 TRACE("(%p)\n", this);
2151 ret
= basic_streambuf_wchar__Gnavail(this);
2152 return ret
? ret
: call_basic_streambuf_wchar_showmanyc(this);
2155 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2156 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2157 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2158 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
2159 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputbackc
, 8)
2160 unsigned short __thiscall
basic_streambuf_wchar_sputbackc(basic_streambuf_wchar
*this, wchar_t ch
)
2162 TRACE("(%p %d)\n", this, ch
);
2163 if(*this->prpos
&& *this->prpos
>*this->prbuf
&& (*this->prpos
)[-1]==ch
) {
2169 return call_basic_streambuf_wchar_pbackfail(this, ch
);
2172 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
2173 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
2174 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
2175 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHG@Z */
2176 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputc
, 8)
2177 unsigned short __thiscall
basic_streambuf_wchar_sputc(basic_streambuf_wchar
*this, wchar_t ch
)
2179 TRACE("(%p %d)\n", this, ch
);
2180 return basic_streambuf_wchar__Pnavail(this) ?
2181 (*basic_streambuf_wchar__Pninc(this) = ch
) :
2182 call_basic_streambuf_wchar_overflow(this, ch
);
2185 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2186 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2187 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2188 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2189 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sungetc
, 4)
2190 unsigned short __thiscall
basic_streambuf_wchar_sungetc(basic_streambuf_wchar
*this)
2192 TRACE("(%p)\n", this);
2193 if(*this->prpos
&& *this->prpos
>*this->prbuf
) {
2196 return **this->prpos
;
2199 return call_basic_streambuf_wchar_pbackfail(this, WEOF
);
2202 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
2203 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
2204 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
2205 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
2206 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_stossc
, 4)
2207 void __thiscall
basic_streambuf_wchar_stossc(basic_streambuf_wchar
*this)
2209 TRACE("(%p)\n", this);
2210 if(basic_streambuf_wchar__Gnavail(this))
2211 basic_streambuf_wchar__Gninc(this);
2213 call_basic_streambuf_wchar_uflow(this);
2216 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2217 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2218 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2219 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2220 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sbumpc
, 4)
2221 unsigned short __thiscall
basic_streambuf_wchar_sbumpc(basic_streambuf_wchar
*this)
2223 TRACE("(%p)\n", this);
2224 return basic_streambuf_wchar__Gnavail(this) ?
2225 *basic_streambuf_wchar__Gninc(this) : call_basic_streambuf_wchar_uflow(this);
2228 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2229 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2230 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2231 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2232 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetc
, 4)
2233 unsigned short __thiscall
basic_streambuf_wchar_sgetc(basic_streambuf_wchar
*this)
2235 TRACE("(%p)\n", this);
2236 return basic_streambuf_wchar__Gnavail(this) ?
2237 *basic_streambuf_wchar_gptr(this) : call_basic_streambuf_wchar_underflow(this);
2240 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
2241 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
2242 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
2243 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
2244 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_snextc
, 4)
2245 unsigned short __thiscall
basic_streambuf_wchar_snextc(basic_streambuf_wchar
*this)
2247 TRACE("(%p)\n", this);
2249 if(basic_streambuf_wchar__Gnavail(this) > 1)
2250 return *basic_streambuf_wchar__Gnpreinc(this);
2251 return basic_streambuf_wchar_sbumpc(this)==WEOF
?
2252 WEOF
: basic_streambuf_wchar_sgetc(this);
2255 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
2256 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
2257 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
2258 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
2259 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn
, 16)
2260 #define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
2261 streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
2262 streamsize __thiscall
basic_streambuf_wchar_xsgetn(basic_streambuf_wchar
*this, wchar_t *ptr
, streamsize count
)
2264 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
2265 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr
, -1, count
);
2268 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
2269 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
2270 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
2271 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
2272 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn
, 16)
2273 #define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 36, \
2274 streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
2275 streamsize __thiscall
basic_streambuf_wchar_xsputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2277 streamsize copied
, chunk
;
2279 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
2281 for(copied
=0; copied
<count
;) {
2282 chunk
= basic_streambuf_wchar__Pnavail(this);
2283 if(chunk
> count
-copied
)
2284 chunk
= count
-copied
;
2287 memcpy(*this->pwpos
, ptr
+copied
, chunk
);
2288 *this->pwpos
+= chunk
;
2289 *this->pwsize
-= chunk
;
2291 }else if(call_basic_streambuf_wchar_overflow(this, ptr
[copied
]) != WEOF
) {
2301 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z */
2302 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEB_W_J@Z */
2303 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z */
2304 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z */
2305 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputn
, 16)
2306 streamsize __thiscall
basic_streambuf_wchar_sputn(basic_streambuf_wchar
*this, const wchar_t *ptr
, streamsize count
)
2308 TRACE("(%p %p %s)\n", this, ptr
, wine_dbgstr_longlong(count
));
2309 return call_basic_streambuf_wchar_xsputn(this, ptr
, count
);
2312 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2313 /* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2314 int basic_filebuf_char__Init__Stinit
= 0;
2316 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2317 /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2318 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Init
, 12)
2319 void __thiscall
basic_filebuf_char__Init(basic_filebuf_char
*this, FILE *file
, basic_filebuf__Initfl which
)
2321 TRACE("(%p %p %d)\n", this, file
, which
);
2324 this->wrotesome
= FALSE
;
2325 this->state
= basic_filebuf_char__Init__Stinit
;
2326 this->close
= (which
== INITFL_open
);
2329 basic_streambuf_char__Init_empty(&this->base
);
2331 basic_streambuf_char__Init(&this->base
, &file
->_base
, &file
->_ptr
,
2332 &file
->_cnt
, &file
->_base
, &file
->_ptr
, &file
->_cnt
);
2335 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z */
2336 /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$codecvt@DDH@2@@Z */
2337 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Initcvt
, 8)
2338 void __thiscall
basic_filebuf_char__Initcvt(basic_filebuf_char
*this, codecvt_char
*cvt
)
2340 TRACE("(%p %p)\n", this, cvt
);
2342 if(codecvt_base_always_noconv(&cvt
->base
)) {
2345 basic_streambuf_char__Init_empty(&this->base
);
2350 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ */
2351 /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAA_NXZ */
2352 DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Endwrite
, 4)
2353 MSVCP_bool __thiscall
basic_filebuf_char__Endwrite(basic_filebuf_char
*this)
2355 TRACE("(%p)\n", this);
2357 if(!this->wrotesome
|| !this->cvt
)
2361 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2365 /* TODO: check if we need a dynamic buffer here */
2370 ret
= codecvt_char_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2373 this->wrotesome
= FALSE
;
2375 case CODECVT_partial
:
2376 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2381 case CODECVT_noconv
:
2382 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2391 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ */
2392 /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ */
2393 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_close
, 4)
2394 basic_filebuf_char
* __thiscall
basic_filebuf_char_close(basic_filebuf_char
*this)
2396 basic_filebuf_char
*ret
= this;
2398 TRACE("(%p)\n", this);
2403 /* TODO: handle exceptions */
2404 if(!basic_filebuf_char__Endwrite(this))
2406 if(!fclose(this->file
))
2409 basic_filebuf_char__Init(this, NULL
, INITFL_close
);
2413 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
2414 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2415 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_file
, 8)
2416 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_file(basic_filebuf_char
*this, FILE *file
)
2418 TRACE("(%p %p)\n", this, file
);
2420 basic_streambuf_char_ctor(&this->base
);
2421 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2423 basic_filebuf_char__Init(this, file
, INITFL_new
);
2427 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
2428 /* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2429 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor
, 4)
2430 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor(basic_filebuf_char
*this)
2432 return basic_filebuf_char_ctor_file(this, NULL
);
2435 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
2436 /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
2437 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_uninitialized
, 8)
2438 basic_filebuf_char
* __thiscall
basic_filebuf_char_ctor_uninitialized(basic_filebuf_char
*this, int uninitialized
)
2440 TRACE("(%p %d)\n", this, uninitialized
);
2442 basic_streambuf_char_ctor(&this->base
);
2443 this->base
.vtable
= &MSVCP_basic_filebuf_char_vtable
;
2447 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
2448 /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2449 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_dtor
, 4)
2450 void __thiscall
basic_filebuf_char_dtor(basic_filebuf_char
*this)
2452 TRACE("(%p)\n", this);
2455 basic_filebuf_char_close(this);
2456 basic_streambuf_char_dtor(&this->base
);
2459 DEFINE_THISCALL_WRAPPER(MSVCP_basic_filebuf_char_vector_dtor
, 8)
2460 basic_filebuf_char
* __thiscall
MSVCP_basic_filebuf_char_vector_dtor(basic_filebuf_char
*this, unsigned int flags
)
2462 TRACE("(%p %x)\n", this, flags
);
2464 /* we have an array, with the number of elements stored before the first object */
2465 int i
, *ptr
= (int *)this-1;
2467 for(i
=*ptr
-1; i
>=0; i
--)
2468 basic_filebuf_char_dtor(this+i
);
2469 MSVCRT_operator_delete(ptr
);
2471 basic_filebuf_char_dtor(this);
2473 MSVCRT_operator_delete(this);
2479 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ */
2480 /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
2481 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_is_open
, 4)
2482 MSVCP_bool __thiscall
basic_filebuf_char_is_open(const basic_filebuf_char
*this)
2484 TRACE("(%p)\n", this);
2485 return this->file
!= NULL
;
2488 /* ?_Fiopen@std@@YAPAU_iobuf@@PB_WHH@Z */
2489 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEB_WHH@Z */
2490 FILE* __cdecl
_Fiopen_wchar(const wchar_t *name
, int mode
, int prot
)
2492 static const wchar_t rW
[] = {'r',0};
2493 static const struct {
2495 const wchar_t str
[4];
2496 const wchar_t str_bin
[4];
2498 {OPENMODE_out
, {'w',0}, {'w','b',0}},
2499 {OPENMODE_out
|OPENMODE_app
, {'a',0}, {'a','b',0}},
2500 {OPENMODE_app
, {'a',0}, {'a','b',0}},
2501 {OPENMODE_out
|OPENMODE_trunc
, {'w',0}, {'w','b',0}},
2502 {OPENMODE_in
, {'r',0}, {'r','b',0}},
2503 {OPENMODE_in
|OPENMODE_out
, {'r','+',0}, {'r','+','b',0}},
2504 {OPENMODE_in
|OPENMODE_out
|OPENMODE_trunc
, {'w','+',0}, {'w','+','b',0}},
2505 {OPENMODE_in
|OPENMODE_out
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}},
2506 {OPENMODE_in
|OPENMODE_app
, {'a','+',0}, {'a','+','b',0}}
2509 int real_mode
= mode
& ~(OPENMODE_ate
|OPENMODE__Nocreate
|OPENMODE__Noreplace
|OPENMODE_binary
);
2513 TRACE("(%s %d %d)\n", debugstr_w(name
), mode
, prot
);
2515 for(mode_idx
=0; mode_idx
<sizeof(str_mode
)/sizeof(str_mode
[0]); mode_idx
++)
2516 if(str_mode
[mode_idx
].mode
== real_mode
)
2518 if(mode_idx
== sizeof(str_mode
)/sizeof(str_mode
[0]))
2521 if((mode
& OPENMODE__Nocreate
) && !(f
= _wfopen(name
, rW
)))
2526 if((mode
& OPENMODE__Noreplace
) && (mode
& (OPENMODE_out
|OPENMODE_app
))
2527 && (f
= _wfopen(name
, rW
))) {
2532 f
= _wfsopen(name
, (mode
& OPENMODE_binary
) ? str_mode
[mode_idx
].str_bin
2533 : str_mode
[mode_idx
].str
, prot
);
2537 if((mode
& OPENMODE_ate
) && fseek(f
, 0, SEEK_END
)) {
2545 /* ?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z */
2546 /* ?_Fiopen@std@@YAPEAU_iobuf@@PEBDHH@Z */
2547 FILE* __cdecl
_Fiopen(const char *name
, int mode
, int prot
)
2549 wchar_t nameW
[FILENAME_MAX
];
2551 TRACE("(%s %d %d)\n", name
, mode
, prot
);
2553 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2555 return _Fiopen_wchar(nameW
, mode
, prot
);
2558 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WHH@Z */
2559 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
2560 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGHH@Z */
2561 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGHH@Z */
2562 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar
, 16)
2563 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar(basic_filebuf_char
*this, const wchar_t *name
, int mode
, int prot
)
2567 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
2569 if(basic_filebuf_char_is_open(this))
2572 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
2575 basic_filebuf_char__Init(this, f
, INITFL_open
);
2576 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(this->base
.loc
));
2580 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WI@Z */
2581 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WI@Z */
2582 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGI@Z */
2583 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGI@Z */
2584 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar_mode
, 12)
2585 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_wchar_mode(basic_filebuf_char
*this, const wchar_t *name
, unsigned int mode
)
2587 return basic_filebuf_char_open_wchar(this, name
, mode
, SH_DENYNO
);
2590 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z */
2591 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDHH@Z */
2592 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open
, 16)
2593 basic_filebuf_char
* __thiscall
basic_filebuf_char_open(basic_filebuf_char
*this, const char *name
, int mode
, int prot
)
2595 wchar_t nameW
[FILENAME_MAX
];
2597 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
2599 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
2601 return basic_filebuf_char_open_wchar(this, nameW
, mode
, prot
);
2604 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDI@Z */
2605 /* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDI@Z */
2606 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_mode
, 12)
2607 basic_filebuf_char
* __thiscall
basic_filebuf_char_open_mode(basic_filebuf_char
*this, const char *name
, unsigned int mode
)
2609 return basic_filebuf_char_open(this, name
, mode
, SH_DENYNO
);
2612 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2613 /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2614 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_overflow
, 8)
2615 int __thiscall
basic_filebuf_char_overflow(basic_filebuf_char
*this, int c
)
2617 char buf
[8], *dyn_buf
;
2618 char ch
= c
, *to_next
;
2619 const char *from_next
;
2623 TRACE("(%p %d)\n", this, c
);
2625 if(!basic_filebuf_char_is_open(this))
2631 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2635 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2636 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
2639 case CODECVT_partial
:
2644 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
2646 if(ret
== CODECVT_partial
)
2649 case CODECVT_noconv
:
2650 return fwrite(&ch
, sizeof(char), 1, this->file
) ? c
: EOF
;
2658 max_size
= codecvt_base_max_length(&this->cvt
->base
);
2659 dyn_buf
= malloc(max_size
);
2663 ret
= codecvt_char_out(this->cvt
, &this->state
, from_next
, &ch
+1,
2664 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
2668 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
2670 return ret
? c
: EOF
;
2671 case CODECVT_partial
:
2672 ERR("buffer should be big enough to store all output\n");
2680 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
2681 /* ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
2682 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_pbackfail
, 8)
2683 int __thiscall
basic_filebuf_char_pbackfail(basic_filebuf_char
*this, int c
)
2685 TRACE("(%p %d)\n", this, c
);
2687 if(!basic_filebuf_char_is_open(this))
2690 if(basic_streambuf_char_gptr(&this->base
)>basic_streambuf_char_eback(&this->base
)
2691 && (c
==EOF
|| basic_streambuf_char_gptr(&this->base
)[-1]==(char)c
)) {
2692 basic_streambuf_char__Gndec(&this->base
);
2693 return c
==EOF
? !c
: c
;
2694 }else if(c
!=EOF
&& !this->cvt
) {
2695 return ungetc(c
, this->file
);
2701 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2702 /* ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2703 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_uflow
, 4)
2704 int __thiscall
basic_filebuf_char_uflow(basic_filebuf_char
*this)
2706 char ch
, buf
[128], *to_next
;
2707 const char *buf_next
;
2710 TRACE("(%p)\n", this);
2712 if(!basic_filebuf_char_is_open(this))
2715 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2716 return *basic_streambuf_char__Gninc(&this->base
);
2718 c
= fgetc(this->file
);
2719 if(!this->cvt
|| c
==EOF
)
2723 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
2726 switch(codecvt_char_in(this->cvt
, &this->state
, buf_next
,
2727 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
2728 case CODECVT_partial
:
2730 if(to_next
== &ch
) {
2731 c
= fgetc(this->file
);
2737 for(i
--; i
>=buf_next
-buf
; i
--)
2738 ungetc(buf
[i
], this->file
);
2740 case CODECVT_noconv
:
2747 FIXME("buffer is too small\n");
2751 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2752 /* ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2753 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_underflow
, 4)
2754 int __thiscall
basic_filebuf_char_underflow(basic_filebuf_char
*this)
2758 TRACE("(%p)\n", this);
2760 if(basic_streambuf_char_gptr(&this->base
) < basic_streambuf_char_egptr(&this->base
))
2761 return *basic_streambuf_char_gptr(&this->base
);
2763 ret
= call_basic_streambuf_char_uflow(&this->base
);
2765 ret
= call_basic_streambuf_char_pbackfail(&this->base
, ret
);
2769 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
2770 /* ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
2771 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekoff
, 24)
2772 fpos_int
* __thiscall
basic_filebuf_char_seekoff(basic_filebuf_char
*this,
2773 fpos_int
*ret
, streamoff off
, int way
, int mode
)
2777 TRACE("(%p %p %s %d %d)\n", this, ret
, wine_dbgstr_longlong(off
), way
, mode
);
2779 if(!basic_filebuf_char_is_open(this) || !basic_filebuf_char__Endwrite(this)
2780 || fseek(this->file
, off
, way
)) {
2787 fgetpos(this->file
, &pos
);
2790 ret
->state
= this->state
;
2794 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
2795 /* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
2796 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekpos
, 36)
2797 fpos_int
* __thiscall
basic_filebuf_char_seekpos(basic_filebuf_char
*this,
2798 fpos_int
*ret
, fpos_int pos
, int mode
)
2802 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
2804 if(!basic_filebuf_char_is_open(this) || !basic_filebuf_char__Endwrite(this)
2805 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
2806 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
2813 fgetpos(this->file
, &fpos
);
2816 ret
->state
= this->state
;
2820 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z */
2821 /* ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAD_J@Z */
2822 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_setbuf
, 16)
2823 basic_streambuf_char
* __thiscall
basic_filebuf_char_setbuf(basic_filebuf_char
*this, char *buf
, streamsize count
)
2825 TRACE("(%p %p %s)\n", this, buf
, wine_dbgstr_longlong(count
));
2827 if(!basic_filebuf_char_is_open(this))
2830 if(setvbuf(this->file
, buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
))
2833 basic_filebuf_char__Init(this, this->file
, INITFL_open
);
2837 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
2838 /* ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
2839 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_sync
, 4)
2840 int __thiscall
basic_filebuf_char_sync(basic_filebuf_char
*this)
2842 TRACE("(%p)\n", this);
2844 if(!basic_filebuf_char_is_open(this))
2847 if(call_basic_streambuf_char_overflow(&this->base
, EOF
) == EOF
)
2849 return fflush(this->file
);
2852 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
2853 /* ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
2854 DEFINE_THISCALL_WRAPPER(basic_filebuf_char_imbue
, 8)
2855 void __thiscall
basic_filebuf_char_imbue(basic_filebuf_char
*this, const locale
*loc
)
2857 TRACE("(%p %p)\n", this, loc
);
2858 basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(loc
));
2861 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2862 /* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2863 int basic_filebuf_wchar__Init__Stinit
= 0;
2865 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
2866 /* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
2867 int basic_filebuf_short__Init__Stinit
= 0;
2869 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2870 /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2871 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Init
, 12)
2872 void __thiscall
basic_filebuf_wchar__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2874 TRACE("(%p %p %d)\n", this, file
, which
);
2877 this->wrotesome
= FALSE
;
2878 this->state
= basic_filebuf_wchar__Init__Stinit
;
2879 this->close
= (which
== INITFL_open
);
2882 basic_streambuf_wchar__Init_empty(&this->base
);
2885 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
2886 /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
2887 DEFINE_THISCALL_WRAPPER(basic_filebuf_short__Init
, 12)
2888 void __thiscall
basic_filebuf_short__Init(basic_filebuf_wchar
*this, FILE *file
, basic_filebuf__Initfl which
)
2890 TRACE("(%p %p %d)\n", this, file
, which
);
2893 this->wrotesome
= FALSE
;
2894 this->state
= basic_filebuf_short__Init__Stinit
;
2895 this->close
= (which
== INITFL_open
);
2898 basic_streambuf_wchar__Init_empty(&this->base
);
2901 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$codecvt@_WDH@2@@Z */
2902 /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$codecvt@_WDH@2@@Z */
2903 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAV?$codecvt@GDH@2@@Z */
2904 /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$codecvt@GDH@2@@Z */
2905 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Initcvt
, 8)
2906 void __thiscall
basic_filebuf_wchar__Initcvt(basic_filebuf_wchar
*this, codecvt_wchar
*cvt
)
2908 TRACE("(%p %p)\n", this, cvt
);
2910 if(codecvt_base_always_noconv(&cvt
->base
)) {
2913 basic_streambuf_wchar__Init_empty(&this->base
);
2918 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAE_NXZ */
2919 /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAA_NXZ */
2920 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAE_NXZ */
2921 /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAA_NXZ */
2922 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Endwrite
, 4)
2923 MSVCP_bool __thiscall
basic_filebuf_wchar__Endwrite(basic_filebuf_wchar
*this)
2925 TRACE("(%p)\n", this);
2927 if(!this->wrotesome
|| !this->cvt
)
2930 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
2934 /* TODO: check if we need a dynamic buffer here */
2939 ret
= codecvt_wchar_unshift(this->cvt
, &this->state
, buf
, buf
+sizeof(buf
), &next
);
2942 this->wrotesome
= FALSE
;
2944 case CODECVT_partial
:
2945 if(!fwrite(buf
, next
-buf
, 1, this->file
))
2950 case CODECVT_noconv
:
2951 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
2960 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@XZ */
2961 /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@XZ */
2962 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ */
2963 /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ */
2964 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_close
, 4)
2965 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_close(basic_filebuf_wchar
*this)
2967 basic_filebuf_wchar
*ret
= this;
2969 TRACE("(%p)\n", this);
2974 /* TODO: handle exceptions */
2975 if(!basic_filebuf_wchar__Endwrite(this))
2977 if(!fclose(this->file
))
2980 basic_filebuf_wchar__Init(this, NULL
, INITFL_close
);
2984 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
2985 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
2986 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_file
, 8)
2987 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
2989 TRACE("(%p %p)\n", this, file
);
2991 basic_streambuf_wchar_ctor(&this->base
);
2992 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
2994 basic_filebuf_wchar__Init(this, file
, INITFL_new
);
2998 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
2999 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
3000 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_file
, 8)
3001 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_file(basic_filebuf_wchar
*this, FILE *file
)
3003 TRACE("(%p %p)\n", this, file
);
3005 basic_streambuf_short_ctor(&this->base
);
3006 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
3008 basic_filebuf_short__Init(this, file
, INITFL_new
);
3012 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
3013 /* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
3014 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor
, 4)
3015 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor(basic_filebuf_wchar
*this)
3017 return basic_filebuf_wchar_ctor_file(this, NULL
);
3020 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
3021 /* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
3022 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor
, 4)
3023 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor(basic_filebuf_wchar
*this)
3025 return basic_filebuf_short_ctor_file(this, NULL
);
3028 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3029 /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3030 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_uninitialized
, 8)
3031 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3033 TRACE("(%p %d)\n", this, uninitialized
);
3035 basic_streambuf_wchar_ctor(&this->base
);
3036 this->base
.vtable
= &MSVCP_basic_filebuf_wchar_vtable
;
3040 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
3041 /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
3042 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_uninitialized
, 8)
3043 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_ctor_uninitialized(basic_filebuf_wchar
*this, int uninitialized
)
3045 TRACE("(%p %d)\n", this, uninitialized
);
3047 basic_streambuf_short_ctor(&this->base
);
3048 this->base
.vtable
= &MSVCP_basic_filebuf_short_vtable
;
3052 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
3053 /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
3054 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
3055 /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
3056 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_dtor
, 4)
3057 void __thiscall
basic_filebuf_wchar_dtor(basic_filebuf_wchar
*this)
3059 TRACE("(%p)\n", this);
3062 basic_filebuf_wchar_close(this);
3063 basic_streambuf_wchar_dtor(&this->base
);
3066 DEFINE_THISCALL_WRAPPER(MSVCP_basic_filebuf_wchar_vector_dtor
, 8)
3067 basic_filebuf_wchar
* __thiscall
MSVCP_basic_filebuf_wchar_vector_dtor(basic_filebuf_wchar
*this, unsigned int flags
)
3069 TRACE("(%p %x)\n", this, flags
);
3071 /* we have an array, with the number of elements stored before the first object */
3072 int i
, *ptr
= (int *)this-1;
3074 for(i
=*ptr
-1; i
>=0; i
--)
3075 basic_filebuf_wchar_dtor(this+i
);
3076 MSVCRT_operator_delete(ptr
);
3078 basic_filebuf_wchar_dtor(this);
3080 MSVCRT_operator_delete(this);
3086 DEFINE_THISCALL_WRAPPER(MSVCP_basic_filebuf_short_vector_dtor
, 8)
3087 basic_filebuf_wchar
* __thiscall
MSVCP_basic_filebuf_short_vector_dtor(basic_filebuf_wchar
*this, unsigned int flags
)
3089 return MSVCP_basic_filebuf_wchar_vector_dtor(this, flags
);
3092 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
3093 /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
3094 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ */
3095 /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
3096 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_is_open
, 4)
3097 MSVCP_bool __thiscall
basic_filebuf_wchar_is_open(const basic_filebuf_wchar
*this)
3099 TRACE("(%p)\n", this);
3100 return this->file
!= NULL
;
3103 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WHH@Z */
3104 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3105 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGHH@Z */
3106 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3107 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar
, 16)
3108 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3112 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3114 if(basic_filebuf_wchar_is_open(this))
3117 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3120 basic_filebuf_wchar__Init(this, f
, INITFL_open
);
3121 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(this->base
.loc
));
3125 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WHH@Z */
3126 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WHH@Z */
3127 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGHH@Z */
3128 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGHH@Z */
3129 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar
, 16)
3130 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar(basic_filebuf_wchar
*this, const wchar_t *name
, int mode
, int prot
)
3134 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
3136 if(basic_filebuf_wchar_is_open(this))
3139 if(!(f
= _Fiopen_wchar(name
, mode
, prot
)))
3142 basic_filebuf_short__Init(this, f
, INITFL_open
);
3143 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(this->base
.loc
));
3147 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WI@Z */
3148 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3149 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGI@Z */
3150 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGI@Z */
3151 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar_mode
, 12)
3152 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3154 return basic_filebuf_wchar_open_wchar(this, name
, mode
, SH_DENYNO
);
3157 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WI@Z */
3158 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WI@Z */
3159 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGI@Z */
3160 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGI@Z */
3161 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar_mode
, 12)
3162 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_wchar_mode(basic_filebuf_wchar
*this, const wchar_t *name
, unsigned int mode
)
3164 return basic_filebuf_short_open_wchar(this, name
, mode
, SH_DENYNO
);
3167 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDHH@Z */
3168 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3169 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open
, 16)
3170 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3172 wchar_t nameW
[FILENAME_MAX
];
3174 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3176 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3178 return basic_filebuf_wchar_open_wchar(this, nameW
, mode
, prot
);
3181 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDHH@Z */
3182 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDHH@Z */
3183 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open
, 16)
3184 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open(basic_filebuf_wchar
*this, const char *name
, int mode
, int prot
)
3186 wchar_t nameW
[FILENAME_MAX
];
3188 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
3190 if(mbstowcs_s(NULL
, nameW
, FILENAME_MAX
, name
, FILENAME_MAX
-1) != 0)
3192 return basic_filebuf_short_open_wchar(this, nameW
, mode
, prot
);
3195 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDI@Z */
3196 /* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDI@Z */
3197 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_mode
, 12)
3198 basic_filebuf_wchar
* __thiscall
basic_filebuf_wchar_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3200 return basic_filebuf_wchar_open(this, name
, mode
, SH_DENYNO
);
3203 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDI@Z */
3204 /* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDI@Z */
3205 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_mode
, 12)
3206 basic_filebuf_wchar
* __thiscall
basic_filebuf_short_open_mode(basic_filebuf_wchar
*this, const char *name
, unsigned int mode
)
3208 return basic_filebuf_short_open(this, name
, mode
, SH_DENYNO
);
3211 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3212 /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3213 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3214 /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3215 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_overflow
, 8)
3216 unsigned short __thiscall
basic_filebuf_wchar_overflow(basic_filebuf_wchar
*this, unsigned short c
)
3218 char buf
[8], *dyn_buf
, *to_next
;
3220 const wchar_t *from_next
;
3225 TRACE("(%p %d)\n", this, c
);
3227 if(!basic_filebuf_wchar_is_open(this))
3233 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3237 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3238 &from_next
, buf
, buf
+sizeof(buf
), &to_next
);
3241 case CODECVT_partial
:
3246 if(!fwrite(buf
, to_next
-buf
, 1, this->file
))
3248 if(ret
== CODECVT_partial
)
3251 case CODECVT_noconv
:
3252 return fwrite(&ch
, sizeof(wchar_t), 1, this->file
) ? c
: WEOF
;
3260 max_size
= codecvt_base_max_length(&this->cvt
->base
);
3261 dyn_buf
= malloc(max_size
);
3265 ret
= codecvt_wchar_out(this->cvt
, &this->state
, from_next
, &ch
+1,
3266 &from_next
, dyn_buf
, dyn_buf
+max_size
, &to_next
);
3270 ret
= fwrite(dyn_buf
, to_next
-dyn_buf
, 1, this->file
);
3272 return ret
? c
: WEOF
;
3273 case CODECVT_partial
:
3274 ERR("buffer should be big enough to store all output\n");
3282 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
3283 /* ?pbackfail@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
3284 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
3285 /* ?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
3286 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_pbackfail
, 8)
3287 unsigned short __thiscall
basic_filebuf_wchar_pbackfail(basic_filebuf_wchar
*this, unsigned short c
)
3289 TRACE("(%p %d)\n", this, c
);
3291 if(!basic_filebuf_wchar_is_open(this))
3294 if(basic_streambuf_wchar_gptr(&this->base
)>basic_streambuf_wchar_eback(&this->base
)
3295 && (c
==WEOF
|| basic_streambuf_wchar_gptr(&this->base
)[-1]==(wchar_t)c
)) {
3296 basic_streambuf_wchar__Gndec(&this->base
);
3297 return c
==WEOF
? !c
: c
;
3298 }else if(c
!=WEOF
&& !this->cvt
) {
3299 return ungetwc(c
, this->file
);
3300 }else if(c
!=WEOF
&& basic_streambuf_wchar_gptr(&this->base
)!=&this->putback
) {
3302 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
, &this->putback
+1);
3309 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3310 /* ?uflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3311 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3312 /* ?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3313 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_uflow
, 4)
3314 unsigned short __thiscall
basic_filebuf_wchar_uflow(basic_filebuf_wchar
*this)
3316 wchar_t ch
, *to_next
;
3318 const char *buf_next
;
3321 TRACE("(%p)\n", this);
3323 if(!basic_filebuf_wchar_is_open(this))
3326 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3327 return *basic_streambuf_wchar__Gninc(&this->base
);
3330 return fgetwc(this->file
);
3333 for(i
=0; i
< sizeof(buf
)/sizeof(buf
[0]); i
++) {
3334 if((c
= fgetc(this->file
)) == EOF
)
3338 switch(codecvt_wchar_in(this->cvt
, &this->state
, buf_next
,
3339 buf
+i
+1, &buf_next
, &ch
, &ch
+1, &to_next
)) {
3340 case CODECVT_partial
:
3345 for(i
--; i
>=buf_next
-buf
; i
--)
3346 ungetc(buf
[i
], this->file
);
3348 case CODECVT_noconv
:
3349 if(i
+1 < sizeof(wchar_t))
3352 memcpy(&ch
, buf
, sizeof(wchar_t));
3359 FIXME("buffer is too small\n");
3363 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
3364 /* ?underflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
3365 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
3366 /* ?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
3367 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_underflow
, 4)
3368 unsigned short __thiscall
basic_filebuf_wchar_underflow(basic_filebuf_wchar
*this)
3372 TRACE("(%p)\n", this);
3374 if(basic_streambuf_wchar_gptr(&this->base
) < basic_streambuf_wchar_egptr(&this->base
))
3375 return *basic_streambuf_wchar_gptr(&this->base
);
3377 ret
= call_basic_streambuf_wchar_uflow(&this->base
);
3379 ret
= call_basic_streambuf_wchar_pbackfail(&this->base
, ret
);
3383 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3384 /* ?seekoff@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3385 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3386 /* ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3387 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekoff
, 24)
3388 fpos_int
* __thiscall
basic_filebuf_wchar_seekoff(basic_filebuf_wchar
*this,
3389 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3393 TRACE("(%p %p %s %d %d)\n", this, ret
, wine_dbgstr_longlong(off
), way
, mode
);
3395 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
) {
3396 if(way
== SEEKDIR_cur
)
3397 off
-= sizeof(wchar_t);
3399 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3402 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3403 || fseek(this->file
, off
, way
)) {
3410 fgetpos(this->file
, &pos
);
3413 ret
->state
= this->state
;
3417 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3418 /* ?seekpos@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3419 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3420 /* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3421 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekpos
, 36)
3422 fpos_int
* __thiscall
basic_filebuf_wchar_seekpos(basic_filebuf_wchar
*this,
3423 fpos_int
*ret
, fpos_int pos
, int mode
)
3427 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3429 if(!basic_filebuf_wchar_is_open(this) || !basic_filebuf_wchar__Endwrite(this)
3430 || fseek(this->file
, (LONG
)pos
.pos
, SEEK_SET
)
3431 || (pos
.off
&& fseek(this->file
, pos
.off
, SEEK_CUR
))) {
3438 if(basic_streambuf_wchar_gptr(&this->base
) == &this->putback
)
3439 basic_streambuf_wchar_setg(&this->base
, &this->putback
, &this->putback
+1, &this->putback
+1);
3441 fgetpos(this->file
, &fpos
);
3444 ret
->state
= this->state
;
3448 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PA_WH@Z */
3449 /* ?setbuf@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEA_W_J@Z */
3450 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_setbuf
, 16)
3451 basic_streambuf_wchar
* __thiscall
basic_filebuf_wchar_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3453 TRACE("(%p %p %s)\n", this, buf
, wine_dbgstr_longlong(count
));
3455 if(!basic_filebuf_wchar_is_open(this))
3458 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3461 basic_filebuf_wchar__Init(this, this->file
, INITFL_open
);
3465 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z */
3466 /* ?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAG_J@Z */
3467 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_setbuf
, 16)
3468 basic_streambuf_wchar
* __thiscall
basic_filebuf_short_setbuf(basic_filebuf_wchar
*this, wchar_t *buf
, streamsize count
)
3470 TRACE("(%p %p %s)\n", this, buf
, wine_dbgstr_longlong(count
));
3472 if(!basic_filebuf_wchar_is_open(this))
3475 if(setvbuf(this->file
, (char*)buf
, (buf
==NULL
&& count
==0) ? _IONBF
: _IOFBF
, count
*sizeof(wchar_t)))
3478 basic_filebuf_short__Init(this, this->file
, INITFL_open
);
3482 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
3483 /* ?sync@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
3484 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
3485 /* ?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
3486 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_sync
, 4)
3487 int __thiscall
basic_filebuf_wchar_sync(basic_filebuf_wchar
*this)
3489 TRACE("(%p)\n", this);
3491 if(!basic_filebuf_wchar_is_open(this))
3494 if(call_basic_streambuf_wchar_overflow(&this->base
, WEOF
) == WEOF
)
3496 return fflush(this->file
);
3499 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
3500 /* ?imbue@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
3501 DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_imbue
, 8)
3502 void __thiscall
basic_filebuf_wchar_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3504 TRACE("(%p %p)\n", this, loc
);
3505 basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(loc
));
3508 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
3509 /* ?imbue@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
3510 DEFINE_THISCALL_WRAPPER(basic_filebuf_short_imbue
, 8)
3511 void __thiscall
basic_filebuf_short_imbue(basic_filebuf_wchar
*this, const locale
*loc
)
3513 TRACE("(%p %p)\n", this, loc
);
3514 basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(loc
));
3517 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z */
3518 /* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z */
3519 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Getstate
, 8)
3520 int __thiscall
basic_stringbuf_char__Getstate(basic_stringbuf_char
*this, IOSB_openmode mode
)
3524 if(!(mode
& OPENMODE_in
))
3525 state
|= STRINGBUF_no_read
;
3527 if(!(mode
& OPENMODE_out
))
3528 state
|= STRINGBUF_no_write
;
3530 if(mode
& OPENMODE_ate
)
3531 state
|= STRINGBUF_at_end
;
3533 if(mode
& OPENMODE_app
)
3534 state
|= STRINGBUF_append
;
3539 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z */
3540 /* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z */
3541 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Init
, 16)
3542 void __thiscall
basic_stringbuf_char__Init(basic_stringbuf_char
*this, const char *str
, MSVCP_size_t count
, int state
)
3544 TRACE("(%p, %p, %lu, %d)\n", this, str
, count
, state
);
3546 basic_streambuf_char__Init_empty(&this->base
);
3548 this->state
= state
;
3549 this->seekhigh
= NULL
;
3552 char *buf
= MSVCRT_operator_new(count
);
3554 ERR("Out of memory\n");
3555 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3558 memcpy(buf
, str
, count
);
3559 this->seekhigh
= buf
+ count
;
3561 this->state
|= STRINGBUF_allocated
;
3563 if(!(state
& STRINGBUF_no_read
))
3564 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+ count
);
3566 if(!(state
& STRINGBUF_no_write
)) {
3567 basic_streambuf_char_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3569 if(!basic_streambuf_char_gptr(&this->base
))
3570 basic_streambuf_char_setg(&this->base
, buf
, 0, buf
);
3575 /* ??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 */
3576 /* ??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 */
3577 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_str
, 12)
3578 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_str(basic_stringbuf_char
*this,
3579 const basic_string_char
*str
, IOSB_openmode mode
)
3581 TRACE("(%p %p %d)\n", this, str
, mode
);
3583 basic_streambuf_char_ctor(&this->base
);
3584 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3586 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
),
3587 str
->size
, basic_stringbuf_char__Getstate(this, mode
));
3591 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
3592 /* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
3593 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_mode
, 8)
3594 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor_mode(
3595 basic_stringbuf_char
*this, IOSB_openmode mode
)
3597 TRACE("(%p %d)\n", this, mode
);
3599 basic_streambuf_char_ctor(&this->base
);
3600 this->base
.vtable
= &MSVCP_basic_stringbuf_char_vtable
;
3602 basic_stringbuf_char__Init(this, NULL
, 0, basic_stringbuf_char__Getstate(this, mode
));
3606 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
3607 /* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
3608 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor
, 4)
3609 basic_stringbuf_char
* __thiscall
basic_stringbuf_char_ctor(basic_stringbuf_char
*this)
3611 return basic_stringbuf_char_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
3614 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ */
3615 /* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ */
3616 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Tidy
, 4)
3617 void __thiscall
basic_stringbuf_char__Tidy(basic_stringbuf_char
*this)
3619 TRACE("(%p)\n", this);
3621 if(this->state
& STRINGBUF_allocated
) {
3622 MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base
));
3623 this->seekhigh
= NULL
;
3624 this->state
&= ~STRINGBUF_allocated
;
3627 basic_streambuf_char__Init_empty(&this->base
);
3630 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
3631 /* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
3632 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_dtor
, 4)
3633 void __thiscall
basic_stringbuf_char_dtor(basic_stringbuf_char
*this)
3635 TRACE("(%p)\n", this);
3637 basic_stringbuf_char__Tidy(this);
3638 basic_streambuf_char_dtor(&this->base
);
3641 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringbuf_char_vector_dtor
, 8)
3642 basic_stringbuf_char
* __thiscall
MSVCP_basic_stringbuf_char_vector_dtor(basic_stringbuf_char
*this, unsigned int flags
)
3644 TRACE("(%p %x)\n", this, flags
);
3647 /* we have an array, with the number of elements stored before the first object */
3648 int i
, *ptr
= (int *) this - 1;
3650 for (i
= *ptr
- 1; i
>= 0; i
--)
3651 basic_stringbuf_char_dtor(this+i
);
3653 MSVCRT_operator_delete(ptr
);
3655 basic_stringbuf_char_dtor(this);
3658 MSVCRT_operator_delete(this);
3664 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3665 /* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3666 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_overflow
, 8)
3667 int __thiscall
basic_stringbuf_char_overflow(basic_stringbuf_char
*this, int meta
)
3669 MSVCP_size_t oldsize
, size
;
3672 TRACE("(%p %x)\n", this, meta
);
3676 if(this->state
& STRINGBUF_no_write
)
3679 ptr
= basic_streambuf_char_pptr(&this->base
);
3680 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
3681 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
3682 this->seekhigh
, basic_streambuf_char_epptr(&this->base
));
3684 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
3685 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3687 oldsize
= (ptr
? basic_streambuf_char_epptr(&this->base
)-basic_streambuf_char_eback(&this->base
): 0);
3690 buf
= MSVCRT_operator_new(size
);
3692 ERR("Out of memory\n");
3693 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3697 this->seekhigh
= buf
;
3698 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
3699 if(this->state
& STRINGBUF_no_read
)
3700 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3702 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
+1);
3704 this->state
|= STRINGBUF_allocated
;
3706 ptr
= basic_streambuf_char_eback(&this->base
);
3707 memcpy(buf
, ptr
, oldsize
);
3709 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
3710 basic_streambuf_char_setp_next(&this->base
, buf
,
3711 buf
+(basic_streambuf_char_pptr(&this->base
)-ptr
), buf
+size
);
3712 if(this->state
& STRINGBUF_no_read
)
3713 basic_streambuf_char_setg(&this->base
, buf
, NULL
, buf
);
3715 basic_streambuf_char_setg(&this->base
, buf
,
3716 buf
+(basic_streambuf_char_gptr(&this->base
)-ptr
),
3717 basic_streambuf_char_pptr(&this->base
)+1);
3719 MSVCRT_operator_delete(ptr
);
3722 return (*basic_streambuf_char__Pninc(&this->base
) = meta
);
3725 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */
3726 /* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */
3727 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_pbackfail
, 8)
3728 int __thiscall
basic_stringbuf_char_pbackfail(basic_stringbuf_char
*this, int c
)
3732 TRACE("(%p %x)\n", this, c
);
3734 cur
= basic_streambuf_char_gptr(&this->base
);
3735 if(!cur
|| cur
==basic_streambuf_char_eback(&this->base
)
3736 || (c
!=EOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
3741 basic_streambuf_char_gbump(&this->base
, -1);
3742 return c
==EOF
? !EOF
: c
;
3745 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ */
3746 /* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ */
3747 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_underflow
, 4)
3748 int __thiscall
basic_stringbuf_char_underflow(basic_stringbuf_char
*this)
3752 TRACE("(%p)\n", this);
3754 cur
= basic_streambuf_char_gptr(&this->base
);
3755 if(!cur
|| this->state
&STRINGBUF_no_read
)
3758 ptr
= basic_streambuf_char_pptr(&this->base
);
3759 if(this->seekhigh
< ptr
)
3760 this->seekhigh
= ptr
;
3762 ptr
= basic_streambuf_char_egptr(&this->base
);
3763 if(this->seekhigh
> ptr
)
3764 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
), cur
, this->seekhigh
);
3766 if(cur
< this->seekhigh
)
3771 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
3772 /* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
3773 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekoff
, 24)
3774 fpos_int
* __thiscall
basic_stringbuf_char_seekoff(basic_stringbuf_char
*this,
3775 fpos_int
*ret
, streamoff off
, int way
, int mode
)
3777 char *beg
, *cur_r
, *cur_w
;
3779 TRACE("(%p %p %s %d %d)\n", this, ret
, wine_dbgstr_longlong(off
), way
, mode
);
3781 cur_w
= basic_streambuf_char_pptr(&this->base
);
3782 if(cur_w
> this->seekhigh
)
3783 this->seekhigh
= cur_w
;
3788 beg
= basic_streambuf_char_eback(&this->base
);
3789 cur_r
= basic_streambuf_char_gptr(&this->base
);
3790 if((mode
& OPENMODE_in
) && cur_r
) {
3791 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
3793 else if(way
== SEEKDIR_end
)
3794 off
+= this->seekhigh
-beg
;
3795 else if(way
!= SEEKDIR_beg
)
3798 if(off
<0 || off
>this->seekhigh
-beg
) {
3801 basic_streambuf_char_gbump(&this->base
, beg
-cur_r
+off
);
3802 if((mode
& OPENMODE_out
) && cur_w
) {
3803 basic_streambuf_char_setp_next(&this->base
, beg
,
3804 basic_streambuf_char_gptr(&this->base
),
3805 basic_streambuf_char_epptr(&this->base
));
3808 }else if((mode
& OPENMODE_out
) && cur_w
) {
3809 if(way
== SEEKDIR_cur
)
3811 else if(way
== SEEKDIR_end
)
3812 off
+= this->seekhigh
-beg
;
3813 else if(way
!= SEEKDIR_beg
)
3816 if(off
<0 || off
>this->seekhigh
-beg
)
3819 basic_streambuf_char_pbump(&this->base
, beg
-cur_w
+off
);
3828 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
3829 /* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
3830 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekpos
, 36)
3831 fpos_int
* __thiscall
basic_stringbuf_char_seekpos(basic_stringbuf_char
*this,
3832 fpos_int
*ret
, fpos_int pos
, int mode
)
3834 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
3836 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
3841 return basic_stringbuf_char_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
3844 /* ?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 */
3845 /* ?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 */
3846 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_set
, 8)
3847 void __thiscall
basic_stringbuf_char_str_set(basic_stringbuf_char
*this, const basic_string_char
*str
)
3849 TRACE("(%p %p)\n", this, str
);
3851 basic_stringbuf_char__Tidy(this);
3852 basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str
), str
->size
, this->state
);
3855 /* ?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 */
3856 /* ?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 */
3857 DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_get
, 8)
3858 basic_string_char
* __thiscall
basic_stringbuf_char_str_get(const basic_stringbuf_char
*this, basic_string_char
*ret
)
3862 TRACE("(%p)\n", this);
3864 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_char_pptr(&this->base
)) {
3867 ptr
= basic_streambuf_char_pbase(&this->base
);
3868 pptr
= basic_streambuf_char_pptr(&this->base
);
3870 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
3873 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_char_gptr(&this->base
)) {
3874 ptr
= basic_streambuf_char_eback(&this->base
);
3875 return MSVCP_basic_string_char_ctor_cstr_len(ret
, ptr
, basic_streambuf_char_egptr(&this->base
) - ptr
);
3878 return MSVCP_basic_string_char_ctor(ret
);
3881 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEHH@Z */
3882 /* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEAAHH@Z */
3883 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z */
3884 /* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z */
3885 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Getstate
, 8)
3886 int __thiscall
basic_stringbuf_wchar__Getstate(basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3890 if(!(mode
& OPENMODE_in
))
3891 state
|= STRINGBUF_no_read
;
3893 if(!(mode
& OPENMODE_out
))
3894 state
|= STRINGBUF_no_write
;
3896 if(mode
& OPENMODE_ate
)
3897 state
|= STRINGBUF_at_end
;
3899 if(mode
& OPENMODE_app
)
3900 state
|= STRINGBUF_append
;
3905 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXPB_WIH@Z */
3906 /* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXPEB_W_KH@Z */
3907 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z */
3908 /* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z */
3909 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Init
, 16)
3910 void __thiscall
basic_stringbuf_wchar__Init(basic_stringbuf_wchar
*this, const wchar_t *str
, MSVCP_size_t count
, int state
)
3912 TRACE("(%p, %p, %lu, %d)\n", this, str
, count
, state
);
3914 basic_streambuf_wchar__Init_empty(&this->base
);
3916 this->state
= state
;
3917 this->seekhigh
= NULL
;
3920 wchar_t *buf
= MSVCRT_operator_new(count
);
3922 ERR("Out of memory\n");
3923 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
3926 memcpy(buf
, str
, count
);
3927 this->seekhigh
= buf
+ count
;
3929 this->state
|= STRINGBUF_allocated
;
3931 if(!(state
& STRINGBUF_no_read
))
3932 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+ count
);
3934 if(!(state
& STRINGBUF_no_write
)) {
3935 basic_streambuf_wchar_setp_next(&this->base
, buf
, (state
& STRINGBUF_at_end
) ? buf
+ count
: buf
, buf
+ count
);
3937 if(!basic_streambuf_wchar_gptr(&this->base
))
3938 basic_streambuf_wchar_setg(&this->base
, buf
, 0, buf
);
3943 /* ??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 */
3944 /* ??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 */
3945 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_str
, 12)
3946 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_str(basic_stringbuf_wchar
*this,
3947 const basic_string_wchar
*str
, IOSB_openmode mode
)
3949 TRACE("(%p %p %d)\n", this, str
, mode
);
3951 basic_streambuf_wchar_ctor(&this->base
);
3952 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
3954 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
),
3955 str
->size
, basic_stringbuf_wchar__Getstate(this, mode
));
3959 /* ??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 */
3960 /* ??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 */
3961 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_str
, 12)
3962 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_str(basic_stringbuf_wchar
*this,
3963 const basic_string_wchar
*str
, IOSB_openmode mode
)
3965 basic_stringbuf_wchar_ctor_str(this, str
, mode
);
3966 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
3970 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
3971 /* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
3972 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_mode
, 8)
3973 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor_mode(
3974 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3976 TRACE("(%p %d)\n", this, mode
);
3978 basic_streambuf_wchar_ctor(&this->base
);
3979 this->base
.vtable
= &MSVCP_basic_stringbuf_wchar_vtable
;
3981 basic_stringbuf_wchar__Init(this, NULL
, 0, basic_stringbuf_wchar__Getstate(this, mode
));
3985 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
3986 /* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
3987 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_mode
, 8)
3988 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor_mode(
3989 basic_stringbuf_wchar
*this, IOSB_openmode mode
)
3991 basic_stringbuf_wchar_ctor_mode(this, mode
);
3992 this->base
.vtable
= &MSVCP_basic_stringbuf_short_vtable
;
3996 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
3997 /* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
3998 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor
, 4)
3999 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_wchar_ctor(basic_stringbuf_wchar
*this)
4001 return basic_stringbuf_wchar_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
4004 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
4005 /* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
4006 DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor
, 4)
4007 basic_stringbuf_wchar
* __thiscall
basic_stringbuf_short_ctor(basic_stringbuf_wchar
*this)
4009 return basic_stringbuf_short_ctor_mode(this, OPENMODE_in
|OPENMODE_out
);
4012 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXXZ */
4013 /* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXXZ */
4014 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ */
4015 /* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ */
4016 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Tidy
, 4)
4017 void __thiscall
basic_stringbuf_wchar__Tidy(basic_stringbuf_wchar
*this)
4019 TRACE("(%p)\n", this);
4021 if(this->state
& STRINGBUF_allocated
) {
4022 MSVCRT_operator_delete(basic_streambuf_wchar_eback(&this->base
));
4023 this->seekhigh
= NULL
;
4024 this->state
&= ~STRINGBUF_allocated
;
4027 basic_streambuf_wchar__Init_empty(&this->base
);
4030 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
4031 /* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
4032 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
4033 /* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
4034 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_dtor
, 4)
4035 void __thiscall
basic_stringbuf_wchar_dtor(basic_stringbuf_wchar
*this)
4037 TRACE("(%p)\n", this);
4039 basic_stringbuf_wchar__Tidy(this);
4040 basic_streambuf_wchar_dtor(&this->base
);
4043 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringbuf_wchar_vector_dtor
, 8)
4044 basic_stringbuf_wchar
* __thiscall
MSVCP_basic_stringbuf_wchar_vector_dtor(basic_stringbuf_wchar
*this, unsigned int flags
)
4046 TRACE("(%p %x)\n", this, flags
);
4049 /* we have an array, with the number of elements stored before the first object */
4050 int i
, *ptr
= (int *) this - 1;
4052 for (i
= *ptr
- 1; i
>= 0; i
--)
4053 basic_stringbuf_wchar_dtor(this+i
);
4055 MSVCRT_operator_delete(ptr
);
4057 basic_stringbuf_wchar_dtor(this);
4060 MSVCRT_operator_delete(this);
4066 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringbuf_short_vector_dtor
, 8)
4067 basic_stringbuf_wchar
* __thiscall
MSVCP_basic_stringbuf_short_vector_dtor(basic_stringbuf_wchar
*this, unsigned int flags
)
4069 return MSVCP_basic_stringbuf_wchar_vector_dtor(this, flags
);
4072 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4073 /* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4074 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4075 /* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4076 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_overflow
, 8)
4077 unsigned short __thiscall
basic_stringbuf_wchar_overflow(basic_stringbuf_wchar
*this, unsigned short meta
)
4079 MSVCP_size_t oldsize
, size
;
4082 TRACE("(%p %x)\n", this, meta
);
4086 if(this->state
& STRINGBUF_no_write
)
4089 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4090 if((this->state
&STRINGBUF_append
) && ptr
<this->seekhigh
)
4091 basic_streambuf_wchar_setp_next(&this->base
, basic_streambuf_wchar_pbase(&this->base
),
4092 this->seekhigh
, basic_streambuf_wchar_epptr(&this->base
));
4094 if(ptr
&& ptr
<basic_streambuf_wchar_epptr(&this->base
))
4095 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4097 oldsize
= (ptr
? basic_streambuf_wchar_epptr(&this->base
)-basic_streambuf_wchar_eback(&this->base
): 0);
4100 buf
= MSVCRT_operator_new(size
);
4102 ERR("Out of memory\n");
4103 throw_exception(EXCEPTION_BAD_ALLOC
, NULL
);
4107 this->seekhigh
= buf
;
4108 basic_streambuf_wchar_setp(&this->base
, buf
, buf
+size
);
4109 if(this->state
& STRINGBUF_no_read
)
4110 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4112 basic_streambuf_wchar_setg(&this->base
, buf
, buf
, buf
+1);
4114 this->state
|= STRINGBUF_allocated
;
4116 ptr
= basic_streambuf_wchar_eback(&this->base
);
4117 memcpy(buf
, ptr
, oldsize
);
4119 this->seekhigh
= buf
+(this->seekhigh
-ptr
);
4120 basic_streambuf_wchar_setp_next(&this->base
, buf
,
4121 buf
+(basic_streambuf_wchar_pptr(&this->base
)-ptr
), buf
+size
);
4122 if(this->state
& STRINGBUF_no_read
)
4123 basic_streambuf_wchar_setg(&this->base
, buf
, NULL
, buf
);
4125 basic_streambuf_wchar_setg(&this->base
, buf
,
4126 buf
+(basic_streambuf_wchar_gptr(&this->base
)-ptr
),
4127 basic_streambuf_wchar_pptr(&this->base
)+1);
4129 MSVCRT_operator_delete(ptr
);
4132 return (*basic_streambuf_wchar__Pninc(&this->base
) = meta
);
4135 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */
4136 /* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */
4137 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */
4138 /* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */
4139 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_pbackfail
, 8)
4140 unsigned short __thiscall
basic_stringbuf_wchar_pbackfail(basic_stringbuf_wchar
*this, unsigned short c
)
4144 TRACE("(%p %x)\n", this, c
);
4146 cur
= basic_streambuf_wchar_gptr(&this->base
);
4147 if(!cur
|| cur
==basic_streambuf_wchar_eback(&this->base
)
4148 || (c
!=WEOF
&& c
!=cur
[-1] && this->state
&STRINGBUF_no_write
))
4153 basic_streambuf_wchar_gbump(&this->base
, -1);
4154 return c
==WEOF
? !WEOF
: c
;
4157 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGXZ */
4158 /* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGXZ */
4159 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ */
4160 /* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ */
4161 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_underflow
, 4)
4162 unsigned short __thiscall
basic_stringbuf_wchar_underflow(basic_stringbuf_wchar
*this)
4166 TRACE("(%p)\n", this);
4168 cur
= basic_streambuf_wchar_gptr(&this->base
);
4169 if(!cur
|| this->state
&STRINGBUF_no_read
)
4172 ptr
= basic_streambuf_wchar_pptr(&this->base
);
4173 if(this->seekhigh
< ptr
)
4174 this->seekhigh
= ptr
;
4176 ptr
= basic_streambuf_wchar_egptr(&this->base
);
4177 if(this->seekhigh
> ptr
)
4178 basic_streambuf_wchar_setg(&this->base
, basic_streambuf_wchar_eback(&this->base
), cur
, this->seekhigh
);
4180 if(cur
< this->seekhigh
)
4185 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4186 /* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4187 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */
4188 /* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
4189 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekoff
, 24)
4190 fpos_int
* __thiscall
basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar
*this,
4191 fpos_int
*ret
, streamoff off
, int way
, int mode
)
4193 wchar_t *beg
, *cur_r
, *cur_w
;
4195 TRACE("(%p %p %s %d %d)\n", this, ret
, wine_dbgstr_longlong(off
), way
, mode
);
4197 cur_w
= basic_streambuf_wchar_pptr(&this->base
);
4198 if(cur_w
> this->seekhigh
)
4199 this->seekhigh
= cur_w
;
4204 beg
= basic_streambuf_wchar_eback(&this->base
);
4205 cur_r
= basic_streambuf_wchar_gptr(&this->base
);
4206 if((mode
& OPENMODE_in
) && cur_r
) {
4207 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
4209 else if(way
== SEEKDIR_end
)
4210 off
+= this->seekhigh
-beg
;
4211 else if(way
!= SEEKDIR_beg
)
4214 if(off
<0 || off
>this->seekhigh
-beg
) {
4217 basic_streambuf_wchar_gbump(&this->base
, beg
-cur_r
+off
);
4218 if((mode
& OPENMODE_out
) && cur_w
) {
4219 basic_streambuf_wchar_setp_next(&this->base
, beg
,
4220 basic_streambuf_wchar_gptr(&this->base
),
4221 basic_streambuf_wchar_epptr(&this->base
));
4224 }else if((mode
& OPENMODE_out
) && cur_w
) {
4225 if(way
== SEEKDIR_cur
)
4227 else if(way
== SEEKDIR_end
)
4228 off
+= this->seekhigh
-beg
;
4229 else if(way
!= SEEKDIR_beg
)
4232 if(off
<0 || off
>this->seekhigh
-beg
)
4235 basic_streambuf_wchar_pbump(&this->base
, beg
-cur_w
+off
);
4244 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4245 /* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4246 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
4247 /* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
4248 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekpos
, 36)
4249 fpos_int
* __thiscall
basic_stringbuf_wchar_seekpos(basic_stringbuf_wchar
*this,
4250 fpos_int
*ret
, fpos_int pos
, int mode
)
4252 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
4254 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
4259 return basic_stringbuf_wchar_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
4262 /* ?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 */
4263 /* ?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 */
4264 /* ?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 */
4265 /* ?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 */
4266 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_set
, 8)
4267 void __thiscall
basic_stringbuf_wchar_str_set(basic_stringbuf_wchar
*this, const basic_string_wchar
*str
)
4269 TRACE("(%p %p)\n", this, str
);
4271 basic_stringbuf_wchar__Tidy(this);
4272 basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str
), str
->size
, this->state
);
4275 /* ?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 */
4276 /* ?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 */
4277 /* ?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 */
4278 /* ?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 */
4279 DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_get
, 8)
4280 basic_string_wchar
* __thiscall
basic_stringbuf_wchar_str_get(const basic_stringbuf_wchar
*this, basic_string_wchar
*ret
)
4284 TRACE("(%p)\n", this);
4286 if(!(this->state
& STRINGBUF_no_write
) && basic_streambuf_wchar_pptr(&this->base
)) {
4289 ptr
= basic_streambuf_wchar_pbase(&this->base
);
4290 pptr
= basic_streambuf_wchar_pptr(&this->base
);
4292 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, (this->seekhigh
< pptr
? pptr
: this->seekhigh
) - ptr
);
4295 if(!(this->state
& STRINGBUF_no_read
) && basic_streambuf_wchar_gptr(&this->base
)) {
4296 ptr
= basic_streambuf_wchar_eback(&this->base
);
4297 return MSVCP_basic_string_wchar_ctor_cstr_len(ret
, ptr
, basic_streambuf_wchar_egptr(&this->base
) - ptr
);
4300 return MSVCP_basic_string_wchar_ctor(ret
);
4303 /* ??0ios_base@std@@IAE@XZ */
4304 /* ??0ios_base@std@@IEAA@XZ */
4305 DEFINE_THISCALL_WRAPPER(ios_base_ctor
, 4)
4306 ios_base
* __thiscall
ios_base_ctor(ios_base
*this)
4308 TRACE("(%p)\n", this);
4309 this->vtable
= &MSVCP_ios_base_vtable
;
4313 /* ??0ios_base@std@@QAE@ABV01@@Z */
4314 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
4315 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor
, 8)
4316 ios_base
* __thiscall
ios_base_copy_ctor(ios_base
*this, const ios_base
*copy
)
4318 TRACE("(%p %p)\n", this, copy
);
4320 this->vtable
= &MSVCP_ios_base_vtable
;
4324 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
4325 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
4326 DEFINE_THISCALL_WRAPPER(ios_base_Callfns
, 8)
4327 void __thiscall
ios_base_Callfns(ios_base
*this, IOS_BASE_event event
)
4329 IOS_BASE_fnarray
*cur
;
4331 TRACE("(%p %x)\n", this, event
);
4333 for(cur
=this->calls
; cur
; cur
=cur
->next
)
4334 cur
->event_handler(event
, this, cur
->index
);
4337 /* ?_Tidy@ios_base@std@@AAAXXZ */
4338 /* ?_Tidy@ios_base@std@@AEAAXXZ */
4339 void CDECL
ios_base_Tidy(ios_base
*this)
4341 IOS_BASE_iosarray
*arr_cur
, *arr_next
;
4342 IOS_BASE_fnarray
*event_cur
, *event_next
;
4344 TRACE("(%p)\n", this);
4346 ios_base_Callfns(this, EVENT_erase_event
);
4348 for(arr_cur
=this->arr
; arr_cur
; arr_cur
=arr_next
) {
4349 arr_next
= arr_cur
->next
;
4350 MSVCRT_operator_delete(arr_cur
);
4354 for(event_cur
=this->calls
; event_cur
; event_cur
=event_next
) {
4355 event_next
= event_cur
->next
;
4356 MSVCRT_operator_delete(event_cur
);
4361 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
4362 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
4363 void CDECL
ios_base_Ios_base_dtor(ios_base
*obj
)
4365 TRACE("(%p)\n", obj
);
4367 locale_dtor(obj
->loc
);
4368 MSVCRT_operator_delete(obj
->loc
);
4373 /* ??1ios_base@std@@UAE@XZ */
4374 /* ??1ios_base@std@@UEAA@XZ */
4375 DEFINE_THISCALL_WRAPPER(ios_base_dtor
, 4)
4376 void __thiscall
ios_base_dtor(ios_base
*this)
4378 ios_base_Ios_base_dtor(this);
4381 DEFINE_THISCALL_WRAPPER(MSVCP_ios_base_vector_dtor
, 8)
4382 ios_base
* __thiscall
MSVCP_ios_base_vector_dtor(ios_base
*this, unsigned int flags
)
4384 TRACE("(%p %x)\n", this, flags
);
4386 /* we have an array, with the number of elements stored before the first object */
4387 int i
, *ptr
= (int *)this-1;
4389 for(i
=*ptr
-1; i
>=0; i
--)
4390 ios_base_dtor(this+i
);
4391 MSVCRT_operator_delete(ptr
);
4393 ios_base_dtor(this);
4395 MSVCRT_operator_delete(this);
4401 DEFINE_THISCALL_WRAPPER(MSVCP_iosb_vector_dtor
, 8)
4402 void* __thiscall
MSVCP_iosb_vector_dtor(void *this, unsigned int flags
)
4404 TRACE("(%p %x)\n", this, flags
);
4406 int *ptr
= (int *)this-1;
4407 MSVCRT_operator_delete(ptr
);
4410 MSVCRT_operator_delete(this);
4416 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
4417 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
4418 DEFINE_THISCALL_WRAPPER(ios_base_Findarr
, 8)
4419 IOS_BASE_iosarray
* __thiscall
ios_base_Findarr(ios_base
*this, int index
)
4421 IOS_BASE_iosarray
*p
;
4423 TRACE("(%p %d)\n", this, index
);
4425 for(p
=this->arr
; p
; p
=p
->next
) {
4426 if(p
->index
== index
)
4430 for(p
=this->arr
; p
; p
=p
->next
) {
4431 if(!p
->long_val
&& !p
->ptr_val
) {
4437 p
= MSVCRT_operator_new(sizeof(IOS_BASE_iosarray
));
4438 p
->next
= this->arr
;
4446 /* ?iword@ios_base@std@@QAEAAJH@Z */
4447 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
4448 DEFINE_THISCALL_WRAPPER(ios_base_iword
, 8)
4449 LONG
* __thiscall
ios_base_iword(ios_base
*this, int index
)
4451 TRACE("(%p %d)\n", this, index
);
4452 return &ios_base_Findarr(this, index
)->long_val
;
4455 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
4456 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
4457 DEFINE_THISCALL_WRAPPER(ios_base_pword
, 8)
4458 void** __thiscall
ios_base_pword(ios_base
*this, int index
)
4460 TRACE("(%p %d)\n", this, index
);
4461 return &ios_base_Findarr(this, index
)->ptr_val
;
4464 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
4465 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
4466 DEFINE_THISCALL_WRAPPER(ios_base_register_callback
, 12)
4467 void __thiscall
ios_base_register_callback(ios_base
*this, IOS_BASE_event_callback callback
, int index
)
4469 IOS_BASE_fnarray
*event
;
4471 TRACE("(%p %p %d)\n", this, callback
, index
);
4473 event
= MSVCRT_operator_new(sizeof(IOS_BASE_fnarray
));
4474 event
->next
= this->calls
;
4475 event
->index
= index
;
4476 event
->event_handler
= callback
;
4477 this->calls
= event
;
4480 /* ?clear@ios_base@std@@QAEXH_N@Z */
4481 /* ?clear@ios_base@std@@QEAAXH_N@Z */
4482 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise
, 12)
4483 void __thiscall
ios_base_clear_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4485 TRACE("(%p %x %x)\n", this, state
, reraise
);
4487 this->state
= state
& IOSTATE_mask
;
4488 if(!(this->state
& this->except
))
4492 throw_exception(EXCEPTION_RERAISE
, NULL
);
4493 else if(this->state
& this->except
& IOSTATE_eofbit
)
4494 throw_exception(EXCEPTION_FAILURE
, "eofbit is set");
4495 else if(this->state
& this->except
& IOSTATE_failbit
)
4496 throw_exception(EXCEPTION_FAILURE
, "failbit is set");
4497 else if(this->state
& this->except
& IOSTATE_badbit
)
4498 throw_exception(EXCEPTION_FAILURE
, "badbit is set");
4499 else if(this->state
& this->except
& IOSTATE__Hardfail
)
4500 throw_exception(EXCEPTION_FAILURE
, "_Hardfail is set");
4503 /* ?clear@ios_base@std@@QAEXH@Z */
4504 /* ?clear@ios_base@std@@QEAAXH@Z */
4505 DEFINE_THISCALL_WRAPPER(ios_base_clear
, 8)
4506 void __thiscall
ios_base_clear(ios_base
*this, IOSB_iostate state
)
4508 ios_base_clear_reraise(this, state
, FALSE
);
4511 /* ?clear@ios_base@std@@QAEXI@Z */
4512 /* ?clear@ios_base@std@@QEAAXI@Z */
4513 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned
, 8)
4514 void __thiscall
ios_base_clear_unsigned(ios_base
*this, unsigned int state
)
4516 ios_base_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4519 /* ?exceptions@ios_base@std@@QAEXH@Z */
4520 /* ?exceptions@ios_base@std@@QEAAXH@Z */
4521 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set
, 8)
4522 void __thiscall
ios_base_exceptions_set(ios_base
*this, IOSB_iostate state
)
4524 TRACE("(%p %x)\n", this, state
);
4525 this->except
= state
& IOSTATE_mask
;
4526 ios_base_clear(this, this->state
);
4529 /* ?exceptions@ios_base@std@@QAEXI@Z */
4530 /* ?exceptions@ios_base@std@@QEAAXI@Z */
4531 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_set_unsigned
, 8)
4532 void __thiscall
ios_base_exceptions_set_unsigned(ios_base
*this, unsigned int state
)
4534 TRACE("(%p %x)\n", this, state
);
4535 ios_base_exceptions_set(this, state
);
4538 /* ?exceptions@ios_base@std@@QBEHXZ */
4539 /* ?exceptions@ios_base@std@@QEBAHXZ */
4540 DEFINE_THISCALL_WRAPPER(ios_base_exceptions_get
, 4)
4541 IOSB_iostate __thiscall
ios_base_exceptions_get(ios_base
*this)
4543 TRACE("(%p)\n", this);
4544 return this->except
;
4547 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
4548 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
4549 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt
, 8)
4550 ios_base
* __thiscall
ios_base_copyfmt(ios_base
*this, const ios_base
*rhs
)
4552 TRACE("(%p %p)\n", this, rhs
);
4555 IOS_BASE_iosarray
*arr_cur
;
4556 IOS_BASE_fnarray
*event_cur
;
4558 ios_base_Tidy(this);
4560 for(arr_cur
=rhs
->arr
; arr_cur
; arr_cur
=arr_cur
->next
) {
4561 if(arr_cur
->long_val
)
4562 *ios_base_iword(this, arr_cur
->index
) = arr_cur
->long_val
;
4563 if(arr_cur
->ptr_val
)
4564 *ios_base_pword(this, arr_cur
->index
) = arr_cur
->ptr_val
;
4566 this->stdstr
= rhs
->stdstr
;
4567 this->fmtfl
= rhs
->fmtfl
;
4568 this->prec
= rhs
->prec
;
4569 this->wide
= rhs
->wide
;
4570 locale_operator_assign(this->loc
, rhs
->loc
);
4572 for(event_cur
=rhs
->calls
; event_cur
; event_cur
=event_cur
->next
)
4573 ios_base_register_callback(this, event_cur
->event_handler
, event_cur
->index
);
4575 ios_base_Callfns(this, EVENT_copyfmt_event
);
4576 ios_base_exceptions_set(this, rhs
->except
);
4582 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
4583 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
4584 DEFINE_THISCALL_WRAPPER(ios_base_assign
, 8)
4585 ios_base
* __thiscall
ios_base_assign(ios_base
*this, const ios_base
*right
)
4587 TRACE("(%p %p)\n", this, right
);
4590 this->state
= right
->state
;
4591 ios_base_copyfmt(this, right
);
4597 /* ?fail@ios_base@std@@QBE_NXZ */
4598 /* ?fail@ios_base@std@@QEBA_NXZ */
4599 DEFINE_THISCALL_WRAPPER(ios_base_fail
, 4)
4600 MSVCP_bool __thiscall
ios_base_fail(const ios_base
*this)
4602 TRACE("(%p)\n", this);
4603 return (this->state
& (IOSTATE_failbit
|IOSTATE_badbit
)) != 0;
4606 /* ??7ios_base@std@@QBE_NXZ */
4607 /* ??7ios_base@std@@QEBA_NXZ */
4608 DEFINE_THISCALL_WRAPPER(ios_base_op_succ
, 4)
4609 MSVCP_bool __thiscall
ios_base_op_succ(const ios_base
*this)
4611 TRACE("(%p)\n", this);
4612 return ios_base_fail(this);
4615 /* ??Bios_base@std@@QBEPAXXZ */
4616 /* ??Bios_base@std@@QEBAPEAXXZ */
4617 DEFINE_THISCALL_WRAPPER(ios_base_op_fail
, 4)
4618 void* __thiscall
ios_base_op_fail(const ios_base
*this)
4620 TRACE("(%p)\n", this);
4621 return ios_base_fail(this) ? NULL
: (void*)this;
4624 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
4625 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
4626 void CDECL
ios_base_Addstd(ios_base
*add
)
4628 FIXME("(%p) stub\n", add
);
4631 /* ?_Index_func@ios_base@std@@CAAAHXZ */
4632 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
4633 int* CDECL
ios_base_Index_func(void)
4636 return &ios_base_Index
;
4639 /* ?_Init@ios_base@std@@IAEXXZ */
4640 /* ?_Init@ios_base@std@@IEAAXXZ */
4641 DEFINE_THISCALL_WRAPPER(ios_base_Init
, 4)
4642 void __thiscall
ios_base_Init(ios_base
*this)
4644 TRACE("(%p)\n", this);
4647 this->state
= this->except
= IOSTATE_goodbit
;
4648 this->fmtfl
= FMTFLAG_skipws
| FMTFLAG_dec
;
4653 this->loc
= MSVCRT_operator_new(sizeof(locale
));
4654 locale_ctor(this->loc
);
4657 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
4658 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
4659 MSVCP_bool
* CDECL
ios_base_Sync_func(void)
4662 return &ios_base_Sync
;
4665 /* ?bad@ios_base@std@@QBE_NXZ */
4666 /* ?bad@ios_base@std@@QEBA_NXZ */
4667 DEFINE_THISCALL_WRAPPER(ios_base_bad
, 4)
4668 MSVCP_bool __thiscall
ios_base_bad(const ios_base
*this)
4670 TRACE("(%p)\n", this);
4671 return (this->state
& IOSTATE_badbit
) != 0;
4674 /* ?eof@ios_base@std@@QBE_NXZ */
4675 /* ?eof@ios_base@std@@QEBA_NXZ */
4676 DEFINE_THISCALL_WRAPPER(ios_base_eof
, 4)
4677 MSVCP_bool __thiscall
ios_base_eof(const ios_base
*this)
4679 TRACE("(%p)\n", this);
4680 return (this->state
& IOSTATE_eofbit
) != 0;
4683 /* ?flags@ios_base@std@@QAEHH@Z */
4684 /* ?flags@ios_base@std@@QEAAHH@Z */
4685 DEFINE_THISCALL_WRAPPER(ios_base_flags_set
, 8)
4686 IOSB_fmtflags __thiscall
ios_base_flags_set(ios_base
*this, IOSB_fmtflags flags
)
4688 IOSB_fmtflags ret
= this->fmtfl
;
4690 TRACE("(%p %x)\n", this, flags
);
4692 this->fmtfl
= flags
& FMTFLAG_mask
;
4696 /* ?flags@ios_base@std@@QBEHXZ */
4697 /* ?flags@ios_base@std@@QEBAHXZ */
4698 DEFINE_THISCALL_WRAPPER(ios_base_flags_get
, 4)
4699 IOSB_fmtflags __thiscall
ios_base_flags_get(const ios_base
*this)
4701 TRACE("(%p)\n", this);
4705 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
4706 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
4707 DEFINE_THISCALL_WRAPPER(ios_base_getloc
, 8)
4708 locale
* __thiscall
ios_base_getloc(const ios_base
*this, locale
*ret
)
4710 TRACE("(%p)\n", this);
4711 return locale_copy_ctor(ret
, this->loc
);
4714 /* ?good@ios_base@std@@QBE_NXZ */
4715 /* ?good@ios_base@std@@QEBA_NXZ */
4716 DEFINE_THISCALL_WRAPPER(ios_base_good
, 4)
4717 MSVCP_bool __thiscall
ios_base_good(const ios_base
*this)
4719 TRACE("(%p)\n", this);
4720 return this->state
== IOSTATE_goodbit
;
4723 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
4724 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
4725 DEFINE_THISCALL_WRAPPER(ios_base_imbue
, 12)
4726 locale
* __thiscall
ios_base_imbue(ios_base
*this, locale
*ret
, const locale
*loc
)
4728 TRACE("(%p %p)\n", this, loc
);
4730 locale_copy_ctor(this->loc
, loc
);
4734 /* ?precision@ios_base@std@@QAEHH@Z */
4735 /* ?precision@ios_base@std@@QEAA_J_J@Z */
4736 DEFINE_THISCALL_WRAPPER(ios_base_precision_set
, 12)
4737 streamsize __thiscall
ios_base_precision_set(ios_base
*this, streamsize precision
)
4739 streamsize ret
= this->prec
;
4741 TRACE("(%p %s)\n", this, wine_dbgstr_longlong(precision
));
4743 this->prec
= precision
;
4747 /* ?precision@ios_base@std@@QBEHXZ */
4748 /* ?precision@ios_base@std@@QEBA_JXZ */
4749 DEFINE_THISCALL_WRAPPER(ios_base_precision_get
, 4)
4750 streamsize __thiscall
ios_base_precision_get(const ios_base
*this)
4752 TRACE("(%p)\n", this);
4756 /* ?rdstate@ios_base@std@@QBEHXZ */
4757 /* ?rdstate@ios_base@std@@QEBAHXZ */
4758 DEFINE_THISCALL_WRAPPER(ios_base_rdstate
, 4)
4759 IOSB_iostate __thiscall
ios_base_rdstate(const ios_base
*this)
4761 TRACE("(%p)\n", this);
4765 /* ?setf@ios_base@std@@QAEHHH@Z */
4766 /* ?setf@ios_base@std@@QEAAHHH@Z */
4767 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask
, 12)
4768 IOSB_fmtflags __thiscall
ios_base_setf_mask(ios_base
*this, IOSB_fmtflags flags
, IOSB_fmtflags mask
)
4770 IOSB_fmtflags ret
= this->fmtfl
;
4772 TRACE("(%p %x %x)\n", this, flags
, mask
);
4774 this->fmtfl
= (this->fmtfl
& (~mask
)) | (flags
& mask
& FMTFLAG_mask
);
4778 /* ?setf@ios_base@std@@QAEHH@Z */
4779 /* ?setf@ios_base@std@@QEAAHH@Z */
4780 DEFINE_THISCALL_WRAPPER(ios_base_setf
, 8)
4781 IOSB_fmtflags __thiscall
ios_base_setf(ios_base
*this, IOSB_fmtflags flags
)
4783 return ios_base_setf_mask(this, flags
, ~0);
4786 /* ?setstate@ios_base@std@@QAEXH_N@Z */
4787 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
4788 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise
, 12)
4789 void __thiscall
ios_base_setstate_reraise(ios_base
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4791 TRACE("(%p %x %x)\n", this, state
, reraise
);
4793 if(state
!= IOSTATE_goodbit
)
4794 ios_base_clear_reraise(this, this->state
| state
, reraise
);
4797 /* ?setstate@ios_base@std@@QAEXH@Z */
4798 /* ?setstate@ios_base@std@@QEAAXH@Z */
4799 DEFINE_THISCALL_WRAPPER(ios_base_setstate
, 8)
4800 void __thiscall
ios_base_setstate(ios_base
*this, IOSB_iostate state
)
4802 ios_base_setstate_reraise(this, state
, FALSE
);
4805 /* ?setstate@ios_base@std@@QAEXI@Z */
4806 /* ?setstate@ios_base@std@@QEAAXI@Z */
4807 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned
, 8)
4808 void __thiscall
ios_base_setstate_unsigned(ios_base
*this, unsigned int state
)
4810 ios_base_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
4813 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
4814 MSVCP_bool CDECL
ios_base_sync_with_stdio(MSVCP_bool sync
)
4819 TRACE("(%x)\n", sync
);
4821 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4822 ret
= ios_base_Sync
;
4823 ios_base_Sync
= sync
;
4824 _Lockit_dtor(&lock
);
4828 /* ?unsetf@ios_base@std@@QAEXH@Z */
4829 /* ?unsetf@ios_base@std@@QEAAXH@Z */
4830 DEFINE_THISCALL_WRAPPER(ios_base_unsetf
, 8)
4831 void __thiscall
ios_base_unsetf(ios_base
*this, IOSB_fmtflags flags
)
4833 TRACE("(%p %x)\n", this, flags
);
4834 this->fmtfl
&= ~flags
;
4837 /* ?width@ios_base@std@@QAEHH@Z */
4838 /* ?width@ios_base@std@@QEAA_J_J@Z */
4839 DEFINE_THISCALL_WRAPPER(ios_base_width_set
, 12)
4840 streamsize __thiscall
ios_base_width_set(ios_base
*this, streamsize width
)
4842 streamsize ret
= this->wide
;
4844 TRACE("(%p %s)\n", this, wine_dbgstr_longlong(width
));
4850 /* ?width@ios_base@std@@QBEHXZ */
4851 /* ?width@ios_base@std@@QEBA_JXZ */
4852 DEFINE_THISCALL_WRAPPER(ios_base_width_get
, 4)
4853 streamsize __thiscall
ios_base_width_get(ios_base
*this)
4855 TRACE("(%p)\n", this);
4859 /* ?xalloc@ios_base@std@@SAHXZ */
4860 int CDECL
ios_base_xalloc(void)
4867 _Lockit_ctor_locktype(&lock
, _LOCK_STREAM
);
4868 ret
= ios_base_Index
++;
4869 _Lockit_dtor(&lock
);
4873 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
4874 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
4875 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor
, 4)
4876 basic_ios_char
* __thiscall
basic_ios_char_ctor(basic_ios_char
*this)
4878 TRACE("(%p)\n", this);
4880 ios_base_ctor(&this->base
);
4881 this->base
.vtable
= &MSVCP_basic_ios_char_vtable
;
4885 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4886 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
4887 DEFINE_THISCALL_WRAPPER(basic_ios_char_init
, 12)
4888 void __thiscall
basic_ios_char_init(basic_ios_char
*this, basic_streambuf_char
*streambuf
, MSVCP_bool isstd
)
4890 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
4891 ios_base_Init(&this->base
);
4892 this->strbuf
= streambuf
;
4893 this->stream
= NULL
;
4897 ios_base_setstate(&this->base
, IOSTATE_badbit
);
4900 FIXME("standard streams not handled yet\n");
4903 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4904 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
4905 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor_streambuf
, 8)
4906 basic_ios_char
* __thiscall
basic_ios_char_ctor_streambuf(basic_ios_char
*this, basic_streambuf_char
*strbuf
)
4908 TRACE("(%p %p)\n", this, strbuf
);
4910 basic_ios_char_ctor(this);
4911 basic_ios_char_init(this, strbuf
, FALSE
);
4915 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
4916 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
4917 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor
, 4)
4918 void __thiscall
basic_ios_char_dtor(basic_ios_char
*this)
4920 TRACE("(%p)\n", this);
4921 ios_base_dtor(&this->base
);
4924 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_char_vector_dtor
, 8)
4925 basic_ios_char
* __thiscall
MSVCP_basic_ios_char_vector_dtor(basic_ios_char
*this, unsigned int flags
)
4927 TRACE("(%p %x)\n", this, flags
);
4929 /* we have an array, with the number of elements stored before the first object */
4930 int i
, *ptr
= (int *)this-1;
4932 for(i
=*ptr
-1; i
>=0; i
--)
4933 basic_ios_char_dtor(this+i
);
4934 MSVCRT_operator_delete(ptr
);
4936 basic_ios_char_dtor(this);
4938 MSVCRT_operator_delete(this);
4944 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
4945 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
4946 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise
, 12)
4947 void __thiscall
basic_ios_char_clear_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
4949 TRACE("(%p %x %x)\n", this, state
, reraise
);
4950 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
4953 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
4954 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
4955 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear
, 8)
4956 void __thiscall
basic_ios_char_clear(basic_ios_char
*this, unsigned int state
)
4958 basic_ios_char_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
4961 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
4962 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
4963 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt
, 8)
4964 basic_ios_char
* __thiscall
basic_ios_char_copyfmt(basic_ios_char
*this, basic_ios_char
*copy
)
4966 TRACE("(%p %p)\n", this, copy
);
4970 this->stream
= copy
->stream
;
4971 this->fillch
= copy
->fillch
;
4972 ios_base_copyfmt(&this->base
, ©
->base
);
4976 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
4977 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
4978 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set
, 8)
4979 char __thiscall
basic_ios_char_fill_set(basic_ios_char
*this, char fill
)
4981 char ret
= this->fillch
;
4983 TRACE("(%p %c)\n", this, fill
);
4985 this->fillch
= fill
;
4989 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
4990 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
4991 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get
, 4)
4992 char __thiscall
basic_ios_char_fill_get(basic_ios_char
*this)
4994 TRACE("(%p)\n", this);
4995 return this->fillch
;
4998 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
4999 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5000 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue
, 12)
5001 locale
*__thiscall
basic_ios_char_imbue(basic_ios_char
*this, locale
*ret
, const locale
*loc
)
5003 TRACE("(%p %p %p)\n", this, ret
, loc
);
5006 basic_streambuf_char_pubimbue(this->strbuf
, ret
, loc
);
5010 return ios_base_imbue(&this->base
, ret
, loc
);
5013 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
5014 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
5015 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow
, 12)
5016 char __thiscall
basic_ios_char_narrow(basic_ios_char
*this, char ch
, char def
)
5018 TRACE("(%p %c %c)\n", this, ch
, def
);
5019 return ctype_char_narrow_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
, def
);
5022 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
5023 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5024 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set
, 8)
5025 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_set(basic_ios_char
*this, basic_streambuf_char
*streambuf
)
5027 basic_streambuf_char
*ret
= this->strbuf
;
5029 TRACE("(%p %p)\n", this, streambuf
);
5031 this->strbuf
= streambuf
;
5032 basic_ios_char_clear(this, IOSTATE_goodbit
);
5036 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5037 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
5038 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get
, 4)
5039 basic_streambuf_char
* __thiscall
basic_ios_char_rdbuf_get(const basic_ios_char
*this)
5041 TRACE("(%p)\n", this);
5042 return this->strbuf
;
5045 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
5046 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
5047 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise
, 12)
5048 void __thiscall
basic_ios_char_setstate_reraise(basic_ios_char
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5050 TRACE("(%p %x %x)\n", this, state
, reraise
);
5052 if(state
!= IOSTATE_goodbit
)
5053 basic_ios_char_clear_reraise(this, this->base
.state
| state
, reraise
);
5056 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
5057 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
5058 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate
, 8)
5059 void __thiscall
basic_ios_char_setstate(basic_ios_char
*this, unsigned int state
)
5061 basic_ios_char_setstate_reraise(this, (IOSB_iostate
)state
, FALSE
);
5064 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
5065 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
5066 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set
, 8)
5067 basic_ostream_char
* __thiscall
basic_ios_char_tie_set(basic_ios_char
*this, basic_ostream_char
*ostream
)
5069 basic_ostream_char
*ret
= this->stream
;
5071 TRACE("(%p %p)\n", this, ostream
);
5073 this->stream
= ostream
;
5077 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5078 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
5079 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get
, 4)
5080 basic_ostream_char
* __thiscall
basic_ios_char_tie_get(const basic_ios_char
*this)
5082 TRACE("(%p)\n", this);
5083 return this->stream
;
5086 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
5087 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
5088 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen
, 8)
5089 char __thiscall
basic_ios_char_widen(basic_ios_char
*this, char ch
)
5091 TRACE("(%p %c)\n", this, ch
);
5092 return ctype_char_widen_ch(ctype_char_use_facet(this->strbuf
->loc
), ch
);
5096 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
5097 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
5098 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor
, 4)
5099 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor(basic_ios_wchar
*this)
5101 TRACE("(%p)\n", this);
5103 ios_base_ctor(&this->base
);
5104 this->base
.vtable
= &MSVCP_basic_ios_wchar_vtable
;
5108 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ */
5109 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@IEAA@XZ */
5110 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor
, 4)
5111 basic_ios_wchar
* __thiscall
basic_ios_short_ctor(basic_ios_wchar
*this)
5113 basic_ios_wchar_ctor(this);
5114 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5118 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5119 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
5120 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5121 /* ?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z */
5122 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init
, 12)
5123 void __thiscall
basic_ios_wchar_init(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
, MSVCP_bool isstd
)
5125 TRACE("(%p %p %x)\n", this, streambuf
, isstd
);
5126 ios_base_Init(&this->base
);
5127 this->strbuf
= streambuf
;
5128 this->stream
= NULL
;
5132 ios_base_setstate(&this->base
, IOSTATE_badbit
);
5135 FIXME("standard streams not handled yet\n");
5138 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5139 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
5140 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor_streambuf
, 8)
5141 basic_ios_wchar
* __thiscall
basic_ios_wchar_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5143 TRACE("(%p %p)\n", this, strbuf
);
5145 basic_ios_wchar_ctor(this);
5146 basic_ios_wchar_init(this, strbuf
, FALSE
);
5150 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5151 /* ??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
5152 DEFINE_THISCALL_WRAPPER(basic_ios_short_ctor_streambuf
, 8)
5153 basic_ios_wchar
* __thiscall
basic_ios_short_ctor_streambuf(basic_ios_wchar
*this, basic_streambuf_wchar
*strbuf
)
5155 basic_ios_wchar_ctor_streambuf(this, strbuf
);
5156 this->base
.vtable
= &MSVCP_basic_ios_short_vtable
;
5160 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
5161 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
5162 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ */
5163 /* ??1?$basic_ios@GU?$char_traits@G@std@@@std@@UEAA@XZ */
5164 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor
, 4)
5165 void __thiscall
basic_ios_wchar_dtor(basic_ios_wchar
*this)
5167 TRACE("(%p)\n", this);
5168 ios_base_dtor(&this->base
);
5171 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_wchar_vector_dtor
, 8)
5172 basic_ios_wchar
* __thiscall
MSVCP_basic_ios_wchar_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
5174 TRACE("(%p %x)\n", this, flags
);
5176 /* we have an array, with the number of elements stored before the first object */
5177 int i
, *ptr
= (int *)this-1;
5179 for(i
=*ptr
-1; i
>=0; i
--)
5180 basic_ios_wchar_dtor(this+i
);
5181 MSVCRT_operator_delete(ptr
);
5183 basic_ios_wchar_dtor(this);
5185 MSVCRT_operator_delete(this);
5191 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_short_vector_dtor
, 8)
5192 basic_ios_wchar
* __thiscall
MSVCP_basic_ios_short_vector_dtor(basic_ios_wchar
*this, unsigned int flags
)
5194 return MSVCP_basic_ios_wchar_vector_dtor(this, flags
);
5197 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5198 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5199 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5200 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5201 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise
, 12)
5202 void __thiscall
basic_ios_wchar_clear_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5204 TRACE("(%p %x %x)\n", this, state
, reraise
);
5205 ios_base_clear_reraise(&this->base
, state
| (this->strbuf
? IOSTATE_goodbit
: IOSTATE_badbit
), reraise
);
5208 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5209 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5210 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5211 /* ?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5212 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear
, 8)
5213 void __thiscall
basic_ios_wchar_clear(basic_ios_wchar
*this, unsigned int state
)
5215 basic_ios_wchar_clear_reraise(this, (IOSB_iostate
)state
, FALSE
);
5218 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
5219 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5220 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z */
5221 /* ?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEBV12@@Z */
5222 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt
, 8)
5223 basic_ios_wchar
* __thiscall
basic_ios_wchar_copyfmt(basic_ios_wchar
*this, basic_ios_wchar
*copy
)
5225 TRACE("(%p %p)\n", this, copy
);
5229 this->stream
= copy
->stream
;
5230 this->fillch
= copy
->fillch
;
5231 ios_base_copyfmt(&this->base
, ©
->base
);
5235 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
5236 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
5237 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z */
5238 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
5239 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set
, 8)
5240 wchar_t __thiscall
basic_ios_wchar_fill_set(basic_ios_wchar
*this, wchar_t fill
)
5242 wchar_t ret
= this->fillch
;
5244 TRACE("(%p %c)\n", this, fill
);
5246 this->fillch
= fill
;
5250 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
5251 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
5252 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ */
5253 /* ?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGXZ */
5254 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get
, 4)
5255 wchar_t __thiscall
basic_ios_wchar_fill_get(basic_ios_wchar
*this)
5257 TRACE("(%p)\n", this);
5258 return this->fillch
;
5261 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5262 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5263 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
5264 /* ?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
5265 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue
, 12)
5266 locale
*__thiscall
basic_ios_wchar_imbue(basic_ios_wchar
*this, locale
*ret
, const locale
*loc
)
5268 TRACE("(%p %p %p)\n", this, ret
, loc
);
5271 return basic_streambuf_wchar_pubimbue(this->strbuf
, ret
, loc
);
5273 locale_copy_ctor(ret
, loc
);
5277 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
5278 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
5279 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z */
5280 /* ?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBADGD@Z */
5281 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow
, 12)
5282 char __thiscall
basic_ios_wchar_narrow(basic_ios_wchar
*this, wchar_t ch
, char def
)
5284 TRACE("(%p %c %c)\n", this, ch
, def
);
5285 return ctype_wchar_narrow_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
, def
);
5288 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5289 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5290 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z */
5291 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5292 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set
, 8)
5293 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_set(basic_ios_wchar
*this, basic_streambuf_wchar
*streambuf
)
5295 basic_streambuf_wchar
*ret
= this->strbuf
;
5297 TRACE("(%p %p)\n", this, streambuf
);
5299 this->strbuf
= streambuf
;
5300 basic_ios_wchar_clear(this, IOSTATE_goodbit
);
5304 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5305 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
5306 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5307 /* ?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ */
5308 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get
, 4)
5309 basic_streambuf_wchar
* __thiscall
basic_ios_wchar_rdbuf_get(const basic_ios_wchar
*this)
5311 TRACE("(%p)\n", this);
5312 return this->strbuf
;
5315 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
5316 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
5317 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z */
5318 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z */
5319 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise
, 12)
5320 void __thiscall
basic_ios_wchar_setstate_reraise(basic_ios_wchar
*this, IOSB_iostate state
, MSVCP_bool reraise
)
5322 TRACE("(%p %x %x)\n", this, state
, reraise
);
5324 if(state
!= IOSTATE_goodbit
)
5325 basic_ios_wchar_clear_reraise(this, this->base
.state
| state
, reraise
);
5328 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
5329 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
5330 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXI@Z */
5331 /* ?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXI@Z */
5332 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate
, 8)
5333 void __thiscall
basic_ios_wchar_setstate(basic_ios_wchar
*this, IOSB_iostate state
)
5335 basic_ios_wchar_setstate_reraise(this, state
, FALSE
);
5338 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
5339 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
5340 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z */
5341 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@PEAV32@@Z */
5342 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set
, 8)
5343 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_set(basic_ios_wchar
*this, basic_ostream_wchar
*ostream
)
5345 basic_ostream_wchar
*ret
= this->stream
;
5347 TRACE("(%p %p)\n", this, ostream
);
5349 this->stream
= ostream
;
5353 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5354 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
5355 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5356 /* ?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ */
5357 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get
, 4)
5358 basic_ostream_wchar
* __thiscall
basic_ios_wchar_tie_get(const basic_ios_wchar
*this)
5360 TRACE("(%p)\n", this);
5361 return this->stream
;
5364 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
5365 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
5366 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z */
5367 /* ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGD@Z */
5368 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen
, 8)
5369 wchar_t __thiscall
basic_ios_wchar_widen(basic_ios_wchar
*this, char ch
)
5371 TRACE("(%p %c)\n", this, ch
);
5372 return ctype_wchar_widen_ch(ctype_wchar_use_facet(this->strbuf
->loc
), ch
);
5375 /* Caution: basic_ostream uses virtual inheritance.
5376 * All constructors have additional parameter that says if base class should be initialized.
5377 * Base class needs to be accessed using vbtable.
5379 static inline basic_ios_char
* basic_ostream_char_get_basic_ios(basic_ostream_char
*this)
5381 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
5384 static inline basic_ios_char
* basic_ostream_char_to_basic_ios(basic_ostream_char
*ptr
)
5386 return (basic_ios_char
*)((char*)ptr
+basic_ostream_char_vbtable
[1]);
5389 static inline basic_ostream_char
* basic_ostream_char_from_basic_ios(basic_ios_char
*ptr
)
5391 return (basic_ostream_char
*)((char*)ptr
-basic_ostream_char_vbtable
[1]);
5394 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5395 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
5396 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor
, 16)
5397 basic_ostream_char
* __thiscall
basic_ostream_char_ctor(basic_ostream_char
*this,
5398 basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
5400 basic_ios_char
*base
;
5402 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
5405 this->vbtable
= basic_ostream_char_vbtable
;
5406 base
= basic_ostream_char_get_basic_ios(this);
5407 basic_ios_char_ctor(base
);
5409 base
= basic_ostream_char_get_basic_ios(this);
5412 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5413 basic_ios_char_init(base
, strbuf
, isstd
);
5417 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
5418 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
5419 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor_uninitialized
, 16)
5420 basic_ostream_char
* __thiscall
basic_ostream_char_ctor_uninitialized(basic_ostream_char
*this,
5421 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
5423 basic_ios_char
*base
;
5425 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
5428 this->vbtable
= basic_ostream_char_vbtable
;
5429 base
= basic_ostream_char_get_basic_ios(this);
5430 basic_ios_char_ctor(base
);
5432 base
= basic_ostream_char_get_basic_ios(this);
5435 base
->base
.vtable
= &MSVCP_basic_ostream_char_vtable
;
5437 ios_base_Addstd(&base
->base
);
5441 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
5442 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
5443 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor
, 4)
5444 void __thiscall
basic_ostream_char_dtor(basic_ios_char
*base
)
5446 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5448 /* don't destroy virtual base here */
5449 TRACE("(%p)\n", this);
5452 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5453 /* ??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5454 DEFINE_THISCALL_WRAPPER(basic_ostream_char_vbase_dtor
, 4)
5455 void __thiscall
basic_ostream_char_vbase_dtor(basic_ostream_char
*this)
5457 TRACE("(%p)\n", this);
5458 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(this));
5459 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(this));
5462 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_char_vector_dtor
, 8)
5463 basic_ostream_char
* __thiscall
MSVCP_basic_ostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
5465 basic_ostream_char
*this = basic_ostream_char_from_basic_ios(base
);
5467 TRACE("(%p %x)\n", this, flags
);
5470 /* we have an array, with the number of elements stored before the first object */
5471 int i
, *ptr
= (int *)this-1;
5473 for(i
=*ptr
-1; i
>=0; i
--)
5474 basic_ostream_char_vbase_dtor(this+i
);
5475 MSVCRT_operator_delete(ptr
);
5477 basic_ostream_char_vbase_dtor(this);
5479 MSVCRT_operator_delete(this);
5485 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
5486 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
5487 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush
, 4)
5488 basic_ostream_char
* __thiscall
basic_ostream_char_flush(basic_ostream_char
*this)
5490 /* this function is not matching C++ specification */
5491 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5493 TRACE("(%p)\n", this);
5495 if(basic_ios_char_rdbuf_get(base
) && ios_base_good(&base
->base
)
5496 && basic_streambuf_char_pubsync(basic_ios_char_rdbuf_get(base
))==-1)
5497 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5501 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5502 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5503 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx
, 4)
5504 void __thiscall
basic_ostream_char__Osfx(basic_ostream_char
*this)
5506 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5508 TRACE("(%p)\n", this);
5510 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
5511 basic_ostream_char_flush(this);
5514 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
5515 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
5516 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx
, 4)
5517 void __thiscall
basic_ostream_char_osfx(basic_ostream_char
*this)
5519 TRACE("(%p)\n", this);
5520 basic_ostream_char__Osfx(this);
5523 static BOOL
basic_ostream_char_sentry_create(basic_ostream_char
*ostr
)
5525 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5527 if(basic_ios_char_rdbuf_get(base
))
5528 call_basic_streambuf_char__Lock(base
->strbuf
);
5530 if(ios_base_good(&base
->base
) && base
->stream
)
5531 basic_ostream_char_flush(base
->stream
);
5533 return ios_base_good(&base
->base
);
5536 static void basic_ostream_char_sentry_destroy(basic_ostream_char
*ostr
)
5538 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5540 if(ios_base_good(&base
->base
) && !__uncaught_exception())
5541 basic_ostream_char_osfx(ostr
);
5543 if(basic_ios_char_rdbuf_get(base
))
5544 call_basic_streambuf_char__Unlock(base
->strbuf
);
5547 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
5548 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
5549 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx
, 4)
5550 MSVCP_bool __thiscall
basic_ostream_char_opfx(basic_ostream_char
*this)
5552 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5554 TRACE("(%p)\n", this);
5556 if(ios_base_good(&base
->base
) && base
->stream
)
5557 basic_ostream_char_flush(base
->stream
);
5558 return ios_base_good(&base
->base
);
5561 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
5562 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
5563 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put
, 8)
5564 basic_ostream_char
* __thiscall
basic_ostream_char_put(basic_ostream_char
*this, char ch
)
5566 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5568 TRACE("(%p %c)\n", this, ch
);
5570 if(!basic_ostream_char_sentry_create(this)
5571 || basic_streambuf_char_sputc(base
->strbuf
, ch
)==EOF
) {
5572 basic_ostream_char_sentry_destroy(this);
5573 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5577 basic_ostream_char_sentry_destroy(this);
5581 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
5582 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
5583 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp
, 16)
5584 basic_ostream_char
* __thiscall
basic_ostream_char_seekp(basic_ostream_char
*this, streamoff off
, int way
)
5586 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5588 TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(off
), way
);
5590 if(!ios_base_fail(&base
->base
)) {
5593 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5594 &seek
, off
, way
, OPENMODE_out
);
5595 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5596 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5601 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
5602 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
5603 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos
, 28)
5604 basic_ostream_char
* __thiscall
basic_ostream_char_seekp_fpos(basic_ostream_char
*this, fpos_int pos
)
5606 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5608 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
5610 if(!ios_base_fail(&base
->base
)) {
5613 basic_streambuf_char_pubseekpos(basic_ios_char_rdbuf_get(base
),
5614 &seek
, pos
, OPENMODE_out
);
5615 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
5616 basic_ios_char_setstate(base
, IOSTATE_failbit
);
5621 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
5622 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
5623 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp
, 8)
5624 fpos_int
* __thiscall
basic_ostream_char_tellp(basic_ostream_char
*this, fpos_int
*ret
)
5626 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5628 TRACE("(%p)\n", this);
5630 if(!ios_base_fail(&base
->base
)) {
5631 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
5632 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
5641 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
5642 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
5643 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write
, 16)
5644 basic_ostream_char
* __thiscall
basic_ostream_char_write(basic_ostream_char
*this, const char *str
, streamsize count
)
5646 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5648 TRACE("(%p %s %s)\n", this, debugstr_a(str
), wine_dbgstr_longlong(count
));
5650 if(!basic_ostream_char_sentry_create(this)
5651 || basic_streambuf_char_sputn(base
->strbuf
, str
, count
)!=count
) {
5652 basic_ostream_char_sentry_destroy(this);
5653 basic_ios_char_setstate(base
, IOSTATE_badbit
);
5657 basic_ostream_char_sentry_destroy(this);
5661 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
5662 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
5663 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short
, 8)
5664 basic_ostream_char
* __thiscall
basic_ostream_char_print_short(basic_ostream_char
*this, short val
)
5666 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5667 int state
= IOSTATE_goodbit
;
5669 TRACE("(%p %d)\n", this, val
);
5671 if(basic_ostream_char_sentry_create(this)) {
5672 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5673 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5674 ostreambuf_iterator_char dest
= {0, strbuf
};
5676 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
),
5677 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
5678 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
5680 basic_ostream_char_sentry_destroy(this);
5682 basic_ios_char_setstate(base
, state
);
5686 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
5687 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
5688 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort
, 8)
5689 basic_ostream_char
* __thiscall
basic_ostream_char_print_ushort(basic_ostream_char
*this, unsigned short val
)
5691 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5692 int state
= IOSTATE_goodbit
;
5694 TRACE("(%p %u)\n", this, val
);
5696 if(basic_ostream_char_sentry_create(this)) {
5697 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5698 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5699 ostreambuf_iterator_char dest
= {0, strbuf
};
5701 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5703 basic_ostream_char_sentry_destroy(this);
5705 basic_ios_char_setstate(base
, state
);
5709 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
5710 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
5711 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
5712 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
5713 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int
, 8)
5714 basic_ostream_char
* __thiscall
basic_ostream_char_print_int(basic_ostream_char
*this, int val
)
5716 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5717 int state
= IOSTATE_goodbit
;
5719 TRACE("(%p %d)\n", this, val
);
5721 if(basic_ostream_char_sentry_create(this)) {
5722 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5723 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5724 ostreambuf_iterator_char dest
= {0, strbuf
};
5726 num_put_char_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5728 basic_ostream_char_sentry_destroy(this);
5730 basic_ios_char_setstate(base
, state
);
5734 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
5735 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
5736 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
5737 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
5738 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint
, 8)
5739 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint(basic_ostream_char
*this, unsigned int val
)
5741 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5742 int state
= IOSTATE_goodbit
;
5744 TRACE("(%p %u)\n", this, val
);
5746 if(basic_ostream_char_sentry_create(this)) {
5747 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5748 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5749 ostreambuf_iterator_char dest
= {0, strbuf
};
5751 num_put_char_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5753 basic_ostream_char_sentry_destroy(this);
5755 basic_ios_char_setstate(base
, state
);
5759 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
5760 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
5761 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float
, 8)
5762 basic_ostream_char
* __thiscall
basic_ostream_char_print_float(basic_ostream_char
*this, float val
)
5764 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5765 int state
= IOSTATE_goodbit
;
5767 TRACE("(%p %f)\n", this, val
);
5769 if(basic_ostream_char_sentry_create(this)) {
5770 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5771 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5772 ostreambuf_iterator_char dest
= {0, strbuf
};
5774 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5776 basic_ostream_char_sentry_destroy(this);
5778 basic_ios_char_setstate(base
, state
);
5782 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
5783 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
5784 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double
, 12)
5785 basic_ostream_char
* __thiscall
basic_ostream_char_print_double(basic_ostream_char
*this, double val
)
5787 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5788 int state
= IOSTATE_goodbit
;
5790 TRACE("(%p %lf)\n", this, val
);
5792 if(basic_ostream_char_sentry_create(this)) {
5793 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5794 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5795 ostreambuf_iterator_char dest
= {0, strbuf
};
5797 num_put_char_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5799 basic_ostream_char_sentry_destroy(this);
5801 basic_ios_char_setstate(base
, state
);
5805 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z */
5806 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@O@Z */
5807 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ldouble
, 12)
5808 basic_ostream_char
* __thiscall
basic_ostream_char_print_ldouble(basic_ostream_char
*this, double val
)
5810 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5811 int state
= IOSTATE_goodbit
;
5813 TRACE("(%p %lf)\n", this, val
);
5815 if(basic_ostream_char_sentry_create(this)) {
5816 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5817 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5818 ostreambuf_iterator_char dest
= {0, strbuf
};
5820 num_put_char_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5822 basic_ostream_char_sentry_destroy(this);
5824 basic_ios_char_setstate(base
, state
);
5828 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5829 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
5830 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf
, 8)
5831 basic_ostream_char
* __thiscall
basic_ostream_char_print_streambuf(basic_ostream_char
*this, basic_streambuf_char
*val
)
5833 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5834 IOSB_iostate state
= IOSTATE_badbit
;
5837 TRACE("(%p %p)\n", this, val
);
5839 if(basic_ostream_char_sentry_create(this)) {
5840 for(c
= basic_streambuf_char_sgetc(val
); c
!=EOF
;
5841 c
= basic_streambuf_char_snextc(val
)) {
5842 state
= IOSTATE_goodbit
;
5844 if(basic_streambuf_char_sputc(base
->strbuf
, c
) == EOF
) {
5845 state
= IOSTATE_badbit
;
5850 state
= IOSTATE_badbit
;
5852 basic_ostream_char_sentry_destroy(this);
5854 ios_base_width_set(&base
->base
, 0);
5855 basic_ios_char_setstate(base
, state
);
5859 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
5860 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
5861 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr
, 8)
5862 basic_ostream_char
* __thiscall
basic_ostream_char_print_ptr(basic_ostream_char
*this, const void *val
)
5864 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5865 int state
= IOSTATE_goodbit
;
5867 TRACE("(%p %p)\n", this, val
);
5869 if(basic_ostream_char_sentry_create(this)) {
5870 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5871 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5872 ostreambuf_iterator_char dest
= {0, strbuf
};
5874 num_put_char_put_ptr(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5876 basic_ostream_char_sentry_destroy(this);
5878 basic_ios_char_setstate(base
, state
);
5882 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
5883 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
5884 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64
, 12)
5885 basic_ostream_char
* __thiscall
basic_ostream_char_print_int64(basic_ostream_char
*this, __int64 val
)
5887 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5888 int state
= IOSTATE_goodbit
;
5890 TRACE("(%p)\n", this);
5892 if(basic_ostream_char_sentry_create(this)) {
5893 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5894 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5895 ostreambuf_iterator_char dest
= {0, strbuf
};
5897 num_put_char_put_int64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5899 basic_ostream_char_sentry_destroy(this);
5901 basic_ios_char_setstate(base
, state
);
5905 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
5906 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
5907 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64
, 12)
5908 basic_ostream_char
* __thiscall
basic_ostream_char_print_uint64(basic_ostream_char
*this, unsigned __int64 val
)
5910 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5911 int state
= IOSTATE_goodbit
;
5913 TRACE("(%p)\n", this);
5915 if(basic_ostream_char_sentry_create(this)) {
5916 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5917 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5918 ostreambuf_iterator_char dest
= {0, strbuf
};
5920 num_put_char_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5922 basic_ostream_char_sentry_destroy(this);
5924 basic_ios_char_setstate(base
, state
);
5928 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
5929 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
5930 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool
, 8)
5931 basic_ostream_char
* __thiscall
basic_ostream_char_print_bool(basic_ostream_char
*this, MSVCP_bool val
)
5933 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(this);
5934 int state
= IOSTATE_goodbit
;
5936 TRACE("(%p %x)\n", this, val
);
5938 if(basic_ostream_char_sentry_create(this)) {
5939 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
5940 const num_put
*numput
= num_put_char_use_facet(strbuf
->loc
);
5941 ostreambuf_iterator_char dest
= {0, strbuf
};
5943 num_put_char_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_char_fill_get(base
), val
);
5945 basic_ostream_char_sentry_destroy(this);
5947 basic_ios_char_setstate(base
, state
);
5951 /* ?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z */
5952 /* ?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z */
5953 basic_ostream_char
* __cdecl
basic_ostream_char_endl(basic_ostream_char
*ostr
)
5955 TRACE("(%p)\n", ostr
);
5957 basic_ostream_char_put(ostr
, '\n');
5958 basic_ostream_char_flush(ostr
);
5962 /* $?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 */
5963 /* ??$?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 */
5964 basic_ostream_char
* __cdecl
basic_ostream_char_print_bstr(basic_ostream_char
*ostr
, const basic_string_char
*str
)
5966 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
5967 IOSB_iostate state
= IOSTATE_goodbit
;
5969 TRACE("(%p %p)\n", ostr
, str
);
5971 if(basic_ostream_char_sentry_create(ostr
)) {
5972 MSVCP_size_t len
= MSVCP_basic_string_char_length(str
);
5973 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
5975 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
5976 for(; pad
!=0; pad
--) {
5977 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5978 state
= IOSTATE_badbit
;
5984 if(state
== IOSTATE_goodbit
) {
5985 if(basic_streambuf_char_sputn(base
->strbuf
, MSVCP_basic_string_char_c_str(str
), len
) != len
)
5986 state
= IOSTATE_badbit
;
5989 if(state
== IOSTATE_goodbit
) {
5990 for(; pad
!=0; pad
--) {
5991 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
5992 state
= IOSTATE_badbit
;
5998 base
->base
.wide
= 0;
6000 state
= IOSTATE_badbit
;
6002 basic_ostream_char_sentry_destroy(ostr
);
6004 basic_ios_char_setstate(base
, state
);
6008 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z */
6009 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z */
6010 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z */
6011 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z */
6012 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z */
6013 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z */
6014 basic_ostream_char
* __cdecl
basic_ostream_char_print_ch(basic_ostream_char
*ostr
, char ch
)
6016 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6017 IOSB_iostate state
= IOSTATE_goodbit
;
6019 TRACE("(%p %d)\n", ostr
, ch
);
6021 if(basic_ostream_char_sentry_create(ostr
)) {
6022 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6024 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6025 for(; pad
!=0; pad
--) {
6026 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6027 state
= IOSTATE_badbit
;
6033 if(state
== IOSTATE_goodbit
) {
6034 if(basic_streambuf_char_sputc(base
->strbuf
, ch
) == EOF
)
6035 state
= IOSTATE_badbit
;
6038 if(state
== IOSTATE_goodbit
) {
6039 for(; pad
!=0; pad
--) {
6040 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6041 state
= IOSTATE_badbit
;
6047 base
->base
.wide
= 0;
6049 state
= IOSTATE_badbit
;
6051 basic_ostream_char_sentry_destroy(ostr
);
6053 basic_ios_char_setstate(base
, state
);
6057 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z */
6058 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z */
6059 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z */
6060 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z */
6061 /* ??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z */
6062 /* ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z */
6063 basic_ostream_char
* __cdecl
basic_ostream_char_print_str(basic_ostream_char
*ostr
, const char *str
)
6065 basic_ios_char
*base
= basic_ostream_char_get_basic_ios(ostr
);
6066 IOSB_iostate state
= IOSTATE_goodbit
;
6068 TRACE("(%p %s)\n", ostr
, str
);
6070 if(basic_ostream_char_sentry_create(ostr
)) {
6071 MSVCP_size_t len
= strlen(str
);
6072 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6074 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6075 for(; pad
!=0; pad
--) {
6076 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6077 state
= IOSTATE_badbit
;
6083 if(state
== IOSTATE_goodbit
) {
6084 if(basic_streambuf_char_sputn(base
->strbuf
, str
, len
) != len
)
6085 state
= IOSTATE_badbit
;
6088 if(state
== IOSTATE_goodbit
) {
6089 for(; pad
!=0; pad
--) {
6090 if(basic_streambuf_char_sputc(base
->strbuf
, base
->fillch
) == EOF
) {
6091 state
= IOSTATE_badbit
;
6097 base
->base
.wide
= 0;
6099 state
= IOSTATE_badbit
;
6101 basic_ostream_char_sentry_destroy(ostr
);
6103 basic_ios_char_setstate(base
, state
);
6107 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
6108 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
6109 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func
, 8)
6110 basic_ostream_char
* __thiscall
basic_ostream_char_print_func(basic_ostream_char
*this,
6111 basic_ostream_char
* (__cdecl
*pfunc
)(basic_ostream_char
*))
6113 TRACE("(%p %p)\n", this, pfunc
);
6118 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
6119 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
6120 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_basic_ios
, 8)
6121 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_basic_ios(basic_ostream_char
*this,
6122 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
6124 TRACE("(%p %p)\n", this, pfunc
);
6125 pfunc(basic_ostream_char_get_basic_ios(this));
6129 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
6130 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
6131 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_ios_base
, 8)
6132 basic_ostream_char
* __thiscall
basic_ostream_char_print_func_ios_base(
6133 basic_ostream_char
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
6135 TRACE("(%p %p)\n", this, pfunc
);
6136 pfunc(&basic_ostream_char_get_basic_ios(this)->base
);
6140 /* Caution: basic_ostream uses virtual inheritance. */
6141 static inline basic_ios_wchar
* basic_ostream_wchar_get_basic_ios(basic_ostream_wchar
*this)
6143 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
6146 static inline basic_ios_wchar
* basic_ostream_wchar_to_basic_ios(basic_ostream_wchar
*ptr
)
6148 return (basic_ios_wchar
*)((char*)ptr
+basic_ostream_wchar_vbtable
[1]);
6151 static inline basic_ostream_wchar
* basic_ostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
6153 return (basic_ostream_wchar
*)((char*)ptr
-basic_ostream_wchar_vbtable
[1]);
6156 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6157 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
6158 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_ctor
, 16)
6159 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_ctor(basic_ostream_wchar
*this,
6160 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6162 basic_ios_wchar
*base
;
6164 TRACE("(%p %p %d %d)\n", this, strbuf
, isstd
, virt_init
);
6167 this->vbtable
= basic_ostream_wchar_vbtable
;
6168 base
= basic_ostream_wchar_get_basic_ios(this);
6169 basic_ios_wchar_ctor(base
);
6171 base
= basic_ostream_wchar_get_basic_ios(this);
6174 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6175 basic_ios_wchar_init(base
, strbuf
, isstd
);
6179 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6180 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
6181 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor
, 16)
6182 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor(basic_ostream_wchar
*this,
6183 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
6185 basic_ostream_wchar_ctor(this, strbuf
, isstd
, virt_init
);
6186 basic_ostream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_ostream_short_vtable
;
6190 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
6191 /* ??0?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
6192 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_ctor_uninitialized
, 16)
6193 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_ctor_uninitialized(basic_ostream_wchar
*this,
6194 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
6196 basic_ios_wchar
*base
;
6198 TRACE("(%p %d %x)\n", this, uninitialized
, addstd
);
6201 this->vbtable
= basic_ostream_wchar_vbtable
;
6202 base
= basic_ostream_wchar_get_basic_ios(this);
6203 basic_ios_wchar_ctor(base
);
6205 base
= basic_ostream_wchar_get_basic_ios(this);
6208 base
->base
.vtable
= &MSVCP_basic_ostream_wchar_vtable
;
6210 ios_base_Addstd(&base
->base
);
6214 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
6215 /* ??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
6216 DEFINE_THISCALL_WRAPPER(basic_ostream_short_ctor_uninitialized
, 16)
6217 basic_ostream_wchar
* __thiscall
basic_ostream_short_ctor_uninitialized(basic_ostream_wchar
*this,
6218 int uninitialized
, MSVCP_bool addstd
, MSVCP_bool virt_init
)
6220 basic_ostream_wchar_ctor_uninitialized(this, uninitialized
, addstd
, virt_init
);
6221 basic_ostream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_ostream_short_vtable
;
6225 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
6226 /* ??1?$basic_ostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
6227 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
6228 /* ??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
6229 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_dtor
, 4)
6230 void __thiscall
basic_ostream_wchar_dtor(basic_ios_wchar
*base
)
6232 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6234 /* don't destroy virtual base here */
6235 TRACE("(%p)\n", this);
6238 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6239 /* ??_D?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6240 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6241 /* ??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6242 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_vbase_dtor
, 4)
6243 void __thiscall
basic_ostream_wchar_vbase_dtor(basic_ostream_wchar
*this)
6245 TRACE("(%p)\n", this);
6246 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(this));
6247 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(this));
6250 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_wchar_vector_dtor
, 8)
6251 basic_ostream_wchar
* __thiscall
MSVCP_basic_ostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
6253 basic_ostream_wchar
*this = basic_ostream_wchar_from_basic_ios(base
);
6255 TRACE("(%p %x)\n", this, flags
);
6258 /* we have an array, with the number of elements stored before the first object */
6259 int i
, *ptr
= (int *)this-1;
6261 for(i
=*ptr
-1; i
>=0; i
--)
6262 basic_ostream_wchar_vbase_dtor(this+i
);
6263 MSVCRT_operator_delete(ptr
);
6265 basic_ostream_wchar_vbase_dtor(this);
6267 MSVCRT_operator_delete(this);
6273 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_short_vector_dtor
, 8)
6274 basic_ostream_wchar
* __thiscall
MSVCP_basic_ostream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
6276 return MSVCP_basic_ostream_wchar_vector_dtor(base
, flags
);
6279 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
6280 /* ?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
6281 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
6282 /* ?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
6283 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_flush
, 4)
6284 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_flush(basic_ostream_wchar
*this)
6286 /* this function is not matching C++ specification */
6287 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6289 TRACE("(%p)\n", this);
6291 if(basic_ios_wchar_rdbuf_get(base
) && ios_base_good(&base
->base
)
6292 && basic_streambuf_wchar_pubsync(basic_ios_wchar_rdbuf_get(base
))==-1)
6293 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6297 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6298 /* ?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6299 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6300 /* ?_Osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6301 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar__Osfx
, 4)
6302 void __thiscall
basic_ostream_wchar__Osfx(basic_ostream_wchar
*this)
6304 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6306 TRACE("(%p)\n", this);
6308 if(base
->base
.fmtfl
& FMTFLAG_unitbuf
)
6309 basic_ostream_wchar_flush(this);
6312 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
6313 /* ?osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
6314 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
6315 /* ?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
6316 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_osfx
, 4)
6317 void __thiscall
basic_ostream_wchar_osfx(basic_ostream_wchar
*this)
6319 TRACE("(%p)\n", this);
6320 basic_ostream_wchar__Osfx(this);
6323 static BOOL
basic_ostream_wchar_sentry_create(basic_ostream_wchar
*ostr
)
6325 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6327 if(basic_ios_wchar_rdbuf_get(base
))
6328 basic_streambuf_wchar__Lock(base
->strbuf
);
6330 if(ios_base_good(&base
->base
) && base
->stream
)
6331 basic_ostream_wchar_flush(base
->stream
);
6333 return ios_base_good(&base
->base
);
6336 static void basic_ostream_wchar_sentry_destroy(basic_ostream_wchar
*ostr
)
6338 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6340 if(ios_base_good(&base
->base
) && !__uncaught_exception())
6341 basic_ostream_wchar_osfx(ostr
);
6343 if(basic_ios_wchar_rdbuf_get(base
))
6344 basic_streambuf_wchar__Unlock(base
->strbuf
);
6347 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE_NXZ */
6348 /* ?opfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA_NXZ */
6349 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ */
6350 /* ?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA_NXZ */
6351 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_opfx
, 4)
6352 MSVCP_bool __thiscall
basic_ostream_wchar_opfx(basic_ostream_wchar
*this)
6354 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6356 TRACE("(%p)\n", this);
6358 if(ios_base_good(&base
->base
) && base
->stream
)
6359 basic_ostream_wchar_flush(base
->stream
);
6360 return ios_base_good(&base
->base
);
6363 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
6364 /* ?put@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
6365 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
6366 /* ?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
6367 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_put
, 8)
6368 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_put(basic_ostream_wchar
*this, wchar_t ch
)
6370 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6372 TRACE("(%p %c)\n", this, ch
);
6374 if(!basic_ostream_wchar_sentry_create(this)
6375 || basic_streambuf_wchar_sputc(base
->strbuf
, ch
)==WEOF
) {
6376 basic_ostream_wchar_sentry_destroy(this);
6377 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6381 basic_ostream_wchar_sentry_destroy(this);
6385 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
6386 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
6387 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
6388 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
6389 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp
, 16)
6390 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp(basic_ostream_wchar
*this, streamoff off
, int way
)
6392 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6394 TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(off
), way
);
6396 if(!ios_base_fail(&base
->base
)) {
6399 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6400 &seek
, off
, way
, OPENMODE_out
);
6401 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6402 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6407 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6408 /* ?seekp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6409 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
6410 /* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
6411 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_seekp_fpos
, 28)
6412 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_seekp_fpos(basic_ostream_wchar
*this, fpos_int pos
)
6414 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6416 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
6418 if(!ios_base_fail(&base
->base
)) {
6421 basic_streambuf_wchar_pubseekpos(basic_ios_wchar_rdbuf_get(base
),
6422 &seek
, pos
, OPENMODE_out
);
6423 if(seek
.off
==0 && seek
.pos
==-1 && seek
.state
==0)
6424 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
6429 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6430 /* ?tellp@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6431 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
6432 /* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
6433 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_tellp
, 8)
6434 fpos_int
* __thiscall
basic_ostream_wchar_tellp(basic_ostream_wchar
*this, fpos_int
*ret
)
6436 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6438 TRACE("(%p)\n", this);
6440 if(!ios_base_fail(&base
->base
)) {
6441 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
6442 ret
, 0, SEEKDIR_cur
, OPENMODE_out
);
6451 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PB_WH@Z */
6452 /* ?write@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEB_W_J@Z */
6453 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z */
6454 /* ?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z */
6455 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_write
, 16)
6456 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_write(basic_ostream_wchar
*this, const wchar_t *str
, streamsize count
)
6458 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6460 TRACE("(%p %s %s)\n", this, debugstr_w(str
), wine_dbgstr_longlong(count
));
6462 if(!basic_ostream_wchar_sentry_create(this)
6463 || basic_streambuf_wchar_sputn(base
->strbuf
, str
, count
)!=count
) {
6464 basic_ostream_wchar_sentry_destroy(this);
6465 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
6469 basic_ostream_wchar_sentry_destroy(this);
6473 static basic_ostream_wchar
* basic_ostream_print_short(basic_ostream_wchar
*this, short val
, const num_put
*numput
)
6475 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6476 int state
= IOSTATE_goodbit
;
6478 TRACE("(%p %d)\n", this, val
);
6480 if(basic_ostream_wchar_sentry_create(this)) {
6481 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6482 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6484 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
),
6485 (ios_base_flags_get(&base
->base
) & FMTFLAG_basefield
& (FMTFLAG_oct
| FMTFLAG_hex
))
6486 ? (LONG
)((unsigned short)val
) : (LONG
)val
);
6488 basic_ostream_wchar_sentry_destroy(this);
6490 basic_ios_wchar_setstate(base
, state
);
6494 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@F@Z */
6495 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@F@Z */
6496 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_short
, 8)
6497 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_short(basic_ostream_wchar
*this, short val
)
6499 return basic_ostream_print_short(this, val
, num_put_wchar_use_facet(
6500 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6503 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z */
6504 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@F@Z */
6505 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_short
, 8)
6506 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_short(basic_ostream_wchar
*this, short val
)
6508 return basic_ostream_print_short(this, val
, num_put_short_use_facet(
6509 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6512 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@G@Z */
6513 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@G@Z */
6514 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ushort
, 8)
6515 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ushort(basic_ostream_wchar
*this, unsigned short val
)
6517 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6518 int state
= IOSTATE_goodbit
;
6520 TRACE("(%p %u)\n", this, val
);
6522 if(basic_ostream_wchar_sentry_create(this)) {
6523 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6524 const num_put
*numput
= num_put_wchar_use_facet(strbuf
->loc
);
6525 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6527 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6529 basic_ostream_wchar_sentry_destroy(this);
6531 basic_ios_wchar_setstate(base
, state
);
6535 static basic_ostream_wchar
* basic_ostream_print_int(basic_ostream_wchar
*this, int val
, const num_put
*numput
)
6537 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6538 int state
= IOSTATE_goodbit
;
6540 TRACE("(%p %d)\n", this, val
);
6542 if(basic_ostream_wchar_sentry_create(this)) {
6543 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6544 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6546 num_put_wchar_put_long(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6548 basic_ostream_wchar_sentry_destroy(this);
6550 basic_ios_wchar_setstate(base
, state
);
6554 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@H@Z */
6555 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@H@Z */
6556 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@J@Z */
6557 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@J@Z */
6558 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int
, 8)
6559 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int(basic_ostream_wchar
*this, int val
)
6561 return basic_ostream_print_int(this, val
, num_put_wchar_use_facet(
6562 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6565 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z */
6566 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@H@Z */
6567 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z */
6568 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@J@Z */
6569 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int
, 8)
6570 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int(basic_ostream_wchar
*this, int val
)
6572 return basic_ostream_print_int(this, val
, num_put_short_use_facet(
6573 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6576 static basic_ostream_wchar
* basic_ostream_print_uint(basic_ostream_wchar
*this, unsigned int val
, const num_put
*numput
)
6578 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6579 int state
= IOSTATE_goodbit
;
6581 TRACE("(%p %u)\n", this, val
);
6583 if(basic_ostream_wchar_sentry_create(this)) {
6584 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6585 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6587 num_put_wchar_put_ulong(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6589 basic_ostream_wchar_sentry_destroy(this);
6591 basic_ios_wchar_setstate(base
, state
);
6595 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@I@Z */
6596 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@I@Z */
6597 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@K@Z */
6598 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@K@Z */
6599 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint
, 8)
6600 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6602 return basic_ostream_print_uint(this, val
, num_put_wchar_use_facet(
6603 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6606 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z */
6607 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@I@Z */
6608 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z */
6609 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@K@Z */
6610 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint
, 8)
6611 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint(basic_ostream_wchar
*this, unsigned int val
)
6613 return basic_ostream_print_uint(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_float(basic_ostream_wchar
*this, float 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 %f)\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_double(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@M@Z */
6637 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@M@Z */
6638 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_float
, 8)
6639 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_float(basic_ostream_wchar
*this, float val
)
6641 return basic_ostream_print_float(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@M@Z */
6646 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@M@Z */
6647 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_float
, 8)
6648 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_float(basic_ostream_wchar
*this, float val
)
6650 return basic_ostream_print_float(this, val
, num_put_short_use_facet(
6651 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6654 static basic_ostream_wchar
* basic_ostream_print_double(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6656 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6657 int state
= IOSTATE_goodbit
;
6659 TRACE("(%p %lf)\n", this, val
);
6661 if(basic_ostream_wchar_sentry_create(this)) {
6662 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6663 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6665 num_put_wchar_put_double(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6667 basic_ostream_wchar_sentry_destroy(this);
6669 basic_ios_wchar_setstate(base
, state
);
6673 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@N@Z */
6674 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@N@Z */
6675 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_double
, 12)
6676 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_double(basic_ostream_wchar
*this, double val
)
6678 return basic_ostream_print_double(this, val
, num_put_wchar_use_facet(
6679 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6682 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z */
6683 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@N@Z */
6684 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_double
, 12)
6685 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_double(basic_ostream_wchar
*this, double val
)
6687 return basic_ostream_print_double(this, val
, num_put_short_use_facet(
6688 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6691 static basic_ostream_wchar
* basic_ostream_print_ldouble(basic_ostream_wchar
*this, double val
, const num_put
*numput
)
6693 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6694 int state
= IOSTATE_goodbit
;
6696 TRACE("(%p %lf)\n", this, val
);
6698 if(basic_ostream_wchar_sentry_create(this)) {
6699 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6700 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6702 num_put_wchar_put_ldouble(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6704 basic_ostream_wchar_sentry_destroy(this);
6706 basic_ios_wchar_setstate(base
, state
);
6710 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@O@Z */
6711 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@O@Z */
6712 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ldouble
, 12)
6713 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ldouble(basic_ostream_wchar
*this, double val
)
6715 return basic_ostream_print_ldouble(this, val
, num_put_wchar_use_facet(
6716 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6719 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z */
6720 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@O@Z */
6721 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ldouble
, 12)
6722 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ldouble(basic_ostream_wchar
*this, double val
)
6724 return basic_ostream_print_ldouble(this, val
, num_put_short_use_facet(
6725 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6728 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6729 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
6730 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6731 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
6732 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_streambuf
, 8)
6733 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_streambuf(basic_ostream_wchar
*this, basic_streambuf_wchar
*val
)
6735 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6736 IOSB_iostate state
= IOSTATE_badbit
;
6737 unsigned short c
= '\n';
6739 TRACE("(%p %p)\n", this, val
);
6741 if(basic_ostream_wchar_sentry_create(this)) {
6742 for(c
= basic_streambuf_wchar_sgetc(val
); c
!=WEOF
;
6743 c
= basic_streambuf_wchar_snextc(val
)) {
6744 state
= IOSTATE_goodbit
;
6746 if(basic_streambuf_wchar_sputc(base
->strbuf
, c
) == WEOF
) {
6747 state
= IOSTATE_badbit
;
6752 state
= IOSTATE_badbit
;
6754 basic_ostream_wchar_sentry_destroy(this);
6756 ios_base_width_set(&base
->base
, 0);
6757 basic_ios_wchar_setstate(base
, state
);
6761 static basic_ostream_wchar
* basic_ostream_print_ptr(basic_ostream_wchar
*this, const void *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 %p)\n", this, val
);
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_ptr(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@PBX@Z */
6781 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEBX@Z */
6782 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_ptr
, 8)
6783 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_ptr(basic_ostream_wchar
*this, const void *val
)
6785 return basic_ostream_print_ptr(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@PBX@Z */
6790 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEBX@Z */
6791 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_ptr
, 8)
6792 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_ptr(basic_ostream_wchar
*this, const void *val
)
6794 return basic_ostream_print_ptr(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_int64(basic_ostream_wchar
*this, __int64 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)\n", this);
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_int64(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@_J@Z */
6818 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_J@Z */
6819 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_int64
, 12)
6820 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_int64(basic_ostream_wchar
*this, __int64 val
)
6822 return basic_ostream_print_int64(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@_J@Z */
6827 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_J@Z */
6828 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_int64
, 12)
6829 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_int64(basic_ostream_wchar
*this, __int64 val
)
6831 return basic_ostream_print_int64(this, val
, num_put_short_use_facet(
6832 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6835 static basic_ostream_wchar
* basic_ostream_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
, const num_put
*numput
)
6837 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6838 int state
= IOSTATE_goodbit
;
6840 TRACE("(%p)\n", this);
6842 if(basic_ostream_wchar_sentry_create(this)) {
6843 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6844 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6846 num_put_wchar_put_uint64(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6848 basic_ostream_wchar_sentry_destroy(this);
6850 basic_ios_wchar_setstate(base
, state
);
6854 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_K@Z */
6855 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_K@Z */
6856 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_uint64
, 12)
6857 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6859 return basic_ostream_print_uint64(this, val
, num_put_wchar_use_facet(
6860 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6863 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_K@Z */
6864 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_K@Z */
6865 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_uint64
, 12)
6866 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_uint64(basic_ostream_wchar
*this, unsigned __int64 val
)
6868 return basic_ostream_print_uint64(this, val
, num_put_short_use_facet(
6869 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6872 static basic_ostream_wchar
* basic_ostream_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
, const num_put
*numput
)
6874 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(this);
6875 int state
= IOSTATE_goodbit
;
6877 TRACE("(%p %x)\n", this, val
);
6879 if(basic_ostream_wchar_sentry_create(this)) {
6880 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
6881 ostreambuf_iterator_wchar dest
= {0, strbuf
};
6883 num_put_wchar_put_bool(numput
, &dest
, dest
, &base
->base
, basic_ios_wchar_fill_get(base
), val
);
6885 basic_ostream_wchar_sentry_destroy(this);
6887 basic_ios_wchar_setstate(base
, state
);
6891 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_N@Z */
6892 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@_N@Z */
6893 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_bool
, 8)
6894 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6896 return basic_ostream_print_bool(this, val
, num_put_wchar_use_facet(
6897 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6900 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z */
6901 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_N@Z */
6902 DEFINE_THISCALL_WRAPPER(basic_ostream_short_print_bool
, 8)
6903 basic_ostream_wchar
* __thiscall
basic_ostream_short_print_bool(basic_ostream_wchar
*this, MSVCP_bool val
)
6905 return basic_ostream_print_bool(this, val
, num_put_short_use_facet(
6906 basic_ios_wchar_rdbuf_get(basic_ostream_wchar_get_basic_ios(this))->loc
));
6909 /* ?endl@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AAV21@@Z */
6910 /* ?endl@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@AEAV21@@Z */
6911 /* ?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z */
6912 /* ?endl@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z */
6913 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_endl(basic_ostream_wchar
*ostr
)
6915 TRACE("(%p)\n", ostr
);
6917 basic_ostream_wchar_put(ostr
, '\n');
6918 basic_ostream_wchar_flush(ostr
);
6922 /* ??$?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 */
6923 /* ??$?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 */
6924 /* ??$?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 */
6925 /* ??$?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 */
6926 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_bstr(basic_ostream_wchar
*ostr
, const basic_string_wchar
*str
)
6928 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6929 IOSB_iostate state
= IOSTATE_goodbit
;
6931 TRACE("(%p %p)\n", ostr
, str
);
6933 if(basic_ostream_wchar_sentry_create(ostr
)) {
6934 MSVCP_size_t len
= MSVCP_basic_string_wchar_length(str
);
6935 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
6937 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6938 for(; pad
!=0; pad
--) {
6939 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6940 state
= IOSTATE_badbit
;
6946 if(state
== IOSTATE_goodbit
) {
6947 if(basic_streambuf_wchar_sputn(base
->strbuf
, MSVCP_basic_string_wchar_c_str(str
), len
) != len
)
6948 state
= IOSTATE_badbit
;
6951 if(state
== IOSTATE_goodbit
) {
6952 for(; pad
!=0; pad
--) {
6953 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6954 state
= IOSTATE_badbit
;
6960 base
->base
.wide
= 0;
6962 state
= IOSTATE_badbit
;
6964 basic_ostream_wchar_sentry_destroy(ostr
);
6966 basic_ios_wchar_setstate(base
, state
);
6970 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@_W@Z */
6971 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@_W@Z */
6972 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z */
6973 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z */
6974 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_ch(basic_ostream_wchar
*ostr
, wchar_t ch
)
6976 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
6977 IOSB_iostate state
= IOSTATE_goodbit
;
6979 TRACE("(%p %d)\n", ostr
, ch
);
6981 if(basic_ostream_wchar_sentry_create(ostr
)) {
6982 streamsize pad
= (base
->base
.wide
>1 ? base
->base
.wide
-1 : 0);
6984 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
6985 for(; pad
!=0; pad
--) {
6986 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
6987 state
= IOSTATE_badbit
;
6993 if(state
== IOSTATE_goodbit
) {
6994 if(basic_streambuf_wchar_sputc(base
->strbuf
, ch
) == WEOF
)
6995 state
= IOSTATE_badbit
;
6998 if(state
== IOSTATE_goodbit
) {
6999 for(; pad
!=0; pad
--) {
7000 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7001 state
= IOSTATE_badbit
;
7007 base
->base
.wide
= 0;
7009 state
= IOSTATE_badbit
;
7011 basic_ostream_wchar_sentry_destroy(ostr
);
7013 basic_ios_wchar_setstate(base
, state
);
7017 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@PB_W@Z */
7018 /* ??$?6_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AEAV10@PEB_W@Z */
7019 /* ??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z */
7020 /* ??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z */
7021 basic_ostream_wchar
* __cdecl
basic_ostream_wchar_print_str(basic_ostream_wchar
*ostr
, const wchar_t *str
)
7023 basic_ios_wchar
*base
= basic_ostream_wchar_get_basic_ios(ostr
);
7024 IOSB_iostate state
= IOSTATE_goodbit
;
7026 TRACE("(%p %s)\n", ostr
, debugstr_w(str
));
7028 if(basic_ostream_wchar_sentry_create(ostr
)) {
7029 MSVCP_size_t len
= wcslen(str
);
7030 streamsize pad
= (base
->base
.wide
>len
? base
->base
.wide
-len
: 0);
7032 if((base
->base
.fmtfl
& FMTFLAG_adjustfield
) != FMTFLAG_left
) {
7033 for(; pad
!=0; pad
--) {
7034 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7035 state
= IOSTATE_badbit
;
7041 if(state
== IOSTATE_goodbit
) {
7042 if(basic_streambuf_wchar_sputn(base
->strbuf
, str
, len
) != len
)
7043 state
= IOSTATE_badbit
;
7046 if(state
== IOSTATE_goodbit
) {
7047 for(; pad
!=0; pad
--) {
7048 if(basic_streambuf_wchar_sputc(base
->strbuf
, base
->fillch
) == WEOF
) {
7049 state
= IOSTATE_badbit
;
7055 base
->base
.wide
= 0;
7057 state
= IOSTATE_badbit
;
7059 basic_ostream_wchar_sentry_destroy(ostr
);
7061 basic_ios_wchar_setstate(base
, state
);
7065 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7066 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7067 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
7068 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
7069 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func
, 8)
7070 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func(basic_ostream_wchar
*this,
7071 basic_ostream_wchar
* (__cdecl
*pfunc
)(basic_ostream_wchar
*))
7073 TRACE("(%p %p)\n", this, pfunc
);
7078 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
7079 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
7080 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
7081 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
7082 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_basic_ios
, 8)
7083 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_basic_ios(basic_ostream_wchar
*this,
7084 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
7086 TRACE("(%p %p)\n", this, pfunc
);
7087 pfunc(basic_ostream_wchar_get_basic_ios(this));
7091 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7092 /* ??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7093 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
7094 /* ??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
7095 DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_print_func_ios_base
, 8)
7096 basic_ostream_wchar
* __thiscall
basic_ostream_wchar_print_func_ios_base(
7097 basic_ostream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
7099 TRACE("(%p %p)\n", this, pfunc
);
7100 pfunc(&basic_ostream_wchar_get_basic_ios(this)->base
);
7104 /* Caution: basic_istream uses virtual inheritance. */
7105 static inline basic_ios_char
* basic_istream_char_get_basic_ios(basic_istream_char
*this)
7107 return (basic_ios_char
*)((char*)this+this->vbtable
[1]);
7110 static inline basic_ios_char
* basic_istream_char_to_basic_ios(basic_istream_char
*ptr
)
7112 return (basic_ios_char
*)((char*)ptr
+basic_istream_char_vbtable
[1]);
7115 static inline basic_istream_char
* basic_istream_char_from_basic_ios(basic_ios_char
*ptr
)
7117 return (basic_istream_char
*)((char*)ptr
-basic_istream_char_vbtable
[1]);
7120 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7121 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z */
7122 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_init
, 20)
7123 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
)
7125 basic_ios_char
*base
;
7127 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
7130 this->vbtable
= basic_istream_char_vbtable
;
7131 base
= basic_istream_char_get_basic_ios(this);
7132 basic_ios_char_ctor(base
);
7134 base
= basic_istream_char_get_basic_ios(this);
7137 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7140 basic_ios_char_init(base
, strbuf
, isstd
);
7144 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7145 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
7146 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor
, 16)
7147 basic_istream_char
* __thiscall
basic_istream_char_ctor(basic_istream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
7149 return basic_istream_char_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
7152 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */
7153 /* ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
7154 DEFINE_THISCALL_WRAPPER(basic_istream_char_ctor_uninitialized
, 12)
7155 basic_istream_char
* __thiscall
basic_istream_char_ctor_uninitialized(basic_istream_char
*this, int uninitialized
, MSVCP_bool virt_init
)
7157 basic_ios_char
*base
;
7159 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
7162 this->vbtable
= basic_istream_char_vbtable
;
7163 base
= basic_istream_char_get_basic_ios(this);
7164 basic_ios_char_ctor(base
);
7166 base
= basic_istream_char_get_basic_ios(this);
7169 base
->base
.vtable
= &MSVCP_basic_istream_char_vtable
;
7170 ios_base_Addstd(&base
->base
);
7174 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ */
7175 /* ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
7176 DEFINE_THISCALL_WRAPPER(basic_istream_char_dtor
, 4)
7177 void __thiscall
basic_istream_char_dtor(basic_ios_char
*base
)
7179 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7181 /* don't destroy virtual base here */
7182 TRACE("(%p)\n", this);
7185 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7186 /* ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7187 DEFINE_THISCALL_WRAPPER(basic_istream_char_vbase_dtor
, 4)
7188 void __thiscall
basic_istream_char_vbase_dtor(basic_istream_char
*this)
7190 TRACE("(%p)\n", this);
7191 basic_istream_char_dtor(basic_istream_char_to_basic_ios(this));
7192 basic_ios_char_dtor(basic_istream_char_get_basic_ios(this));
7195 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istream_char_vector_dtor
, 8)
7196 basic_istream_char
* __thiscall
MSVCP_basic_istream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
7198 basic_istream_char
*this = basic_istream_char_from_basic_ios(base
);
7200 TRACE("(%p %x)\n", this, flags
);
7203 /* we have an array, with the number of elements stored before the first object */
7204 int i
, *ptr
= (int *)this-1;
7206 for(i
=*ptr
-1; i
>=0; i
--)
7207 basic_istream_char_vbase_dtor(this+i
);
7208 MSVCRT_operator_delete(ptr
);
7210 basic_istream_char_vbase_dtor(this);
7212 MSVCRT_operator_delete(this);
7218 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7219 /* ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7220 DEFINE_THISCALL_WRAPPER(basic_istream_char__Ipfx
, 8)
7221 MSVCP_bool __thiscall
basic_istream_char__Ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7223 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7225 TRACE("(%p %d)\n", this, noskip
);
7227 if(!ios_base_good(&base
->base
)) {
7228 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7232 if(basic_ios_char_tie_get(base
))
7233 basic_ostream_char_flush(basic_ios_char_tie_get(base
));
7235 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
7236 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7237 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
7240 for(ch
= basic_streambuf_char_sgetc(strbuf
); ;
7241 ch
= basic_streambuf_char_snextc(strbuf
)) {
7243 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7247 if(!ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
7255 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z */
7256 /* ?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z */
7257 DEFINE_THISCALL_WRAPPER(basic_istream_char_ipfx
, 8)
7258 MSVCP_bool __thiscall
basic_istream_char_ipfx(basic_istream_char
*this, MSVCP_bool noskip
)
7260 return basic_istream_char__Ipfx(this, noskip
);
7263 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ */
7264 /* ?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
7265 DEFINE_THISCALL_WRAPPER(basic_istream_char_isfx
, 4)
7266 void __thiscall
basic_istream_char_isfx(basic_istream_char
*this)
7268 TRACE("(%p)\n", this);
7271 static BOOL
basic_istream_char_sentry_create(basic_istream_char
*istr
, MSVCP_bool noskip
)
7273 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7275 if(basic_ios_char_rdbuf_get(base
))
7276 call_basic_streambuf_char__Lock(base
->strbuf
);
7278 return basic_istream_char_ipfx(istr
, noskip
);
7281 static void basic_istream_char_sentry_destroy(basic_istream_char
*istr
)
7283 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istr
);
7285 if(basic_ios_char_rdbuf_get(base
))
7286 call_basic_streambuf_char__Unlock(base
->strbuf
);
7289 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ */
7290 /* ?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QEBA_JXZ */
7291 DEFINE_THISCALL_WRAPPER(basic_istream_char_gcount
, 4)
7292 int __thiscall
basic_istream_char_gcount(const basic_istream_char
*this)
7294 TRACE("(%p)\n", this);
7298 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7299 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7300 DEFINE_THISCALL_WRAPPER(basic_istream_char_get
, 4)
7301 int __thiscall
basic_istream_char_get(basic_istream_char
*this)
7303 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7306 TRACE("(%p)\n", this);
7310 if(!basic_istream_char_sentry_create(this, TRUE
)) {
7311 basic_istream_char_sentry_destroy(this);
7315 ret
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(base
));
7316 basic_istream_char_sentry_destroy(this);
7318 basic_ios_char_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
7325 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z */
7326 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAD@Z */
7327 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_ch
, 8)
7328 basic_istream_char
* __thiscall
basic_istream_char_get_ch(basic_istream_char
*this, char *ch
)
7332 TRACE("(%p %p)\n", this, ch
);
7334 ret
= basic_istream_char_get(this);
7340 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7341 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7342 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str_delim
, 20)
7343 basic_istream_char
* __thiscall
basic_istream_char_get_str_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7345 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7348 TRACE("(%p %p %s %c)\n", this, str
, wine_dbgstr_longlong(count
), delim
);
7352 if(basic_istream_char_sentry_create(this, TRUE
)) {
7353 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7355 for(ch
= basic_streambuf_char_sgetc(strbuf
); count
>1;
7356 ch
= basic_streambuf_char_snextc(strbuf
)) {
7357 if(ch
==EOF
|| ch
==delim
)
7365 basic_istream_char_sentry_destroy(this);
7367 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7368 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7374 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7375 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7376 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_str
, 16)
7377 basic_istream_char
* __thiscall
basic_istream_char_get_str(basic_istream_char
*this, char *str
, streamsize count
)
7379 return basic_istream_char_get_str_delim(this, str
, count
, '\n');
7382 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7383 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z */
7384 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf_delim
, 12)
7385 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf_delim(basic_istream_char
*this, basic_streambuf_char
*strbuf
, char delim
)
7387 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7390 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
7394 if(basic_istream_char_sentry_create(this, TRUE
)) {
7395 basic_streambuf_char
*strbuf_read
= basic_ios_char_rdbuf_get(base
);
7397 for(ch
= basic_streambuf_char_sgetc(strbuf_read
); ;
7398 ch
= basic_streambuf_char_snextc(strbuf_read
)) {
7399 if(ch
==EOF
|| ch
==delim
)
7402 if(basic_streambuf_char_sputc(strbuf
, ch
) == EOF
)
7407 basic_istream_char_sentry_destroy(this);
7409 basic_ios_char_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
7410 (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
7414 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7415 /* ?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z */
7416 DEFINE_THISCALL_WRAPPER(basic_istream_char_get_streambuf
, 8)
7417 basic_istream_char
* __thiscall
basic_istream_char_get_streambuf(basic_istream_char
*this, basic_streambuf_char
*strbuf
)
7419 return basic_istream_char_get_streambuf_delim(this, strbuf
, '\n');
7422 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z */
7423 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z */
7424 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline_delim
, 20)
7425 basic_istream_char
* __thiscall
basic_istream_char_getline_delim(basic_istream_char
*this, char *str
, streamsize count
, char delim
)
7427 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7430 TRACE("(%p %p %s %c)\n", this, str
, wine_dbgstr_longlong(count
), delim
);
7434 if(basic_istream_char_sentry_create(this, TRUE
) && count
>0) {
7435 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7438 ch
= basic_streambuf_char_sbumpc(strbuf
);
7440 if(ch
==EOF
|| ch
==delim
)
7450 else if(ch
!= EOF
) {
7451 ch
= basic_streambuf_char_sgetc(strbuf
);
7454 basic_streambuf_char__Gninc(strbuf
);
7459 basic_istream_char_sentry_destroy(this);
7461 basic_ios_char_setstate(base
, (ch
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
7462 (!this->count
|| (ch
!=delim
&& ch
!=EOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
7468 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7469 /* ?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7470 DEFINE_THISCALL_WRAPPER(basic_istream_char_getline
, 16)
7471 basic_istream_char
* __thiscall
basic_istream_char_getline(basic_istream_char
*this, char *str
, streamsize count
)
7473 return basic_istream_char_getline_delim(this, str
, count
, '\n');
7476 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z */
7477 /* ?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7478 DEFINE_THISCALL_WRAPPER(basic_istream_char_ignore
, 16)
7479 basic_istream_char
* __thiscall
basic_istream_char_ignore(basic_istream_char
*this, streamsize count
, int delim
)
7481 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7484 TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(count
), delim
);
7488 if(basic_istream_char_sentry_create(this, TRUE
)) {
7489 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7492 ch
= basic_streambuf_char_sbumpc(strbuf
);
7494 if(ch
==EOF
|| ch
==delim
)
7498 if(count
!= INT_MAX
)
7502 basic_istream_char_sentry_destroy(this);
7505 basic_ios_char_setstate(base
, IOSTATE_eofbit
);
7509 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7510 /* ?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7511 DEFINE_THISCALL_WRAPPER(basic_istream_char_peek
, 4)
7512 int __thiscall
basic_istream_char_peek(basic_istream_char
*this)
7514 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7517 TRACE("(%p)\n", this);
7521 if(basic_istream_char_sentry_create(this, TRUE
))
7522 ret
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
7523 basic_istream_char_sentry_destroy(this);
7527 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADIH@Z */
7528 /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_K_J@Z */
7529 DEFINE_THISCALL_WRAPPER(basic_istream_char__Read_s
, 20)
7530 basic_istream_char
* __thiscall
basic_istream_char__Read_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7532 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7533 IOSB_iostate state
= IOSTATE_goodbit
;
7535 TRACE("(%p %p %lu %s)\n", this, str
, size
, wine_dbgstr_longlong(count
));
7537 if(basic_istream_char_sentry_create(this, TRUE
)) {
7538 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7540 this->count
= basic_streambuf_char__Sgetn_s(strbuf
, str
, size
, count
);
7541 if(this->count
!= count
)
7542 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
7546 basic_istream_char_sentry_destroy(this);
7548 basic_ios_char_setstate(base
, state
);
7552 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z */
7553 /* ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z */
7554 DEFINE_THISCALL_WRAPPER(basic_istream_char_read
, 16)
7555 basic_istream_char
* __thiscall
basic_istream_char_read(basic_istream_char
*this, char *str
, streamsize count
)
7557 return basic_istream_char__Read_s(this, str
, count
, count
);
7560 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
7561 /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
7562 DEFINE_THISCALL_WRAPPER(basic_istream_char__Readsome_s
, 20)
7563 streamsize __thiscall
basic_istream_char__Readsome_s(basic_istream_char
*this, char *str
, MSVCP_size_t size
, streamsize count
)
7565 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7566 IOSB_iostate state
= IOSTATE_goodbit
;
7568 TRACE("(%p %p %lu %s)\n", this, str
, size
, wine_dbgstr_longlong(count
));
7572 if(basic_istream_char_sentry_create(this, TRUE
)) {
7573 streamsize avail
= basic_streambuf_char_in_avail(basic_ios_char_rdbuf_get(base
));
7578 state
|= IOSTATE_eofbit
;
7580 basic_istream_char__Read_s(this, str
, size
, avail
);
7582 state
|= IOSTATE_failbit
;
7584 basic_istream_char_sentry_destroy(this);
7586 basic_ios_char_setstate(base
, state
);
7590 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
7591 /* ?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
7592 DEFINE_THISCALL_WRAPPER(basic_istream_char_readsome
, 16)
7593 streamsize __thiscall
basic_istream_char_readsome(basic_istream_char
*this, char *str
, streamsize count
)
7595 return basic_istream_char__Readsome_s(this, str
, count
, count
);
7598 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
7599 /* ?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
7600 DEFINE_THISCALL_WRAPPER(basic_istream_char_putback
, 8)
7601 basic_istream_char
* __thiscall
basic_istream_char_putback(basic_istream_char
*this, char ch
)
7603 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7604 IOSB_iostate state
= IOSTATE_goodbit
;
7606 TRACE("(%p %c)\n", this, ch
);
7610 if(basic_istream_char_sentry_create(this, TRUE
)) {
7611 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7613 if(!ios_base_good(&base
->base
))
7614 state
|= IOSTATE_failbit
;
7615 else if(!strbuf
|| basic_streambuf_char_sputbackc(strbuf
, ch
)==EOF
)
7616 state
|= IOSTATE_badbit
;
7618 basic_istream_char_sentry_destroy(this);
7620 basic_ios_char_setstate(base
, state
);
7624 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
7625 /* ?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
7626 DEFINE_THISCALL_WRAPPER(basic_istream_char_unget
, 4)
7627 basic_istream_char
* __thiscall
basic_istream_char_unget(basic_istream_char
*this)
7629 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7630 IOSB_iostate state
= IOSTATE_goodbit
;
7632 TRACE("(%p)\n", this);
7636 if(basic_istream_char_sentry_create(this, TRUE
)) {
7637 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7639 if(!ios_base_good(&base
->base
))
7640 state
|= IOSTATE_failbit
;
7641 else if(!strbuf
|| basic_streambuf_char_sungetc(strbuf
)==EOF
)
7642 state
|= IOSTATE_badbit
;
7644 basic_istream_char_sentry_destroy(this);
7646 basic_ios_char_setstate(base
, state
);
7650 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ */
7651 /* ?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ */
7652 DEFINE_THISCALL_WRAPPER(basic_istream_char_sync
, 4)
7653 int __thiscall
basic_istream_char_sync(basic_istream_char
*this)
7655 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7656 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7658 TRACE("(%p)\n", this);
7663 if(basic_istream_char_sentry_create(this, TRUE
)) {
7664 if(basic_streambuf_char_pubsync(strbuf
) != -1) {
7665 basic_istream_char_sentry_destroy(this);
7669 basic_istream_char_sentry_destroy(this);
7671 basic_ios_char_setstate(base
, IOSTATE_badbit
);
7675 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
7676 /* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
7677 DEFINE_THISCALL_WRAPPER(basic_istream_char_tellg
, 8)
7678 fpos_int
* __thiscall
basic_istream_char_tellg(basic_istream_char
*this, fpos_int
*ret
)
7680 TRACE("(%p %p)\n", this, ret
);
7682 if(basic_istream_char_sentry_create(this, TRUE
)) {
7683 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7684 if(!ios_base_fail(&base
->base
)) {
7685 basic_streambuf_char_pubseekoff(basic_ios_char_rdbuf_get(base
),
7686 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
7687 basic_istream_char_sentry_destroy(this);
7689 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
7690 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7694 basic_istream_char_sentry_destroy(this);
7702 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
7703 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
7704 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg
, 16)
7705 basic_istream_char
* __thiscall
basic_istream_char_seekg(basic_istream_char
*this, streamoff off
, int dir
)
7707 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7709 TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(off
), dir
);
7711 if(basic_istream_char_sentry_create(this, TRUE
)) {
7712 if(!ios_base_fail(&base
->base
)) {
7713 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7716 basic_streambuf_char_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
7717 basic_istream_char_sentry_destroy(this);
7719 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7720 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7722 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7726 basic_istream_char_sentry_destroy(this);
7728 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7732 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
7733 /* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
7734 DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg_fpos
, 28)
7735 basic_istream_char
* __thiscall
basic_istream_char_seekg_fpos(basic_istream_char
*this, fpos_int pos
)
7737 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7739 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
7741 if(basic_istream_char_sentry_create(this, TRUE
)) {
7742 if(!ios_base_fail(&base
->base
)) {
7743 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7746 basic_streambuf_char_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
7747 basic_istream_char_sentry_destroy(this);
7749 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
7750 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7752 basic_ios_char_clear(base
, IOSTATE_goodbit
);
7756 basic_istream_char_sentry_destroy(this);
7758 basic_ios_char_setstate(base
, IOSTATE_failbit
);
7762 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z */
7763 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAF@Z */
7764 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_short
, 8)
7765 basic_istream_char
* __thiscall
basic_istream_char_read_short(basic_istream_char
*this, short *v
)
7767 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7768 int state
= IOSTATE_goodbit
;
7770 TRACE("(%p %p)\n", this, v
);
7772 if(basic_istream_char_sentry_create(this, FALSE
)) {
7773 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7774 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7775 istreambuf_iterator_char first
={0}, last
={0};
7778 first
.strbuf
= strbuf
;
7779 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
7781 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
7784 state
|= IOSTATE_failbit
;
7786 basic_istream_char_sentry_destroy(this);
7788 basic_ios_char_setstate(base
, state
);
7792 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z */
7793 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAG@Z */
7794 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ushort
, 8)
7795 basic_istream_char
* __thiscall
basic_istream_char_read_ushort(basic_istream_char
*this, unsigned short *v
)
7797 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7798 int state
= IOSTATE_goodbit
;
7800 TRACE("(%p %p)\n", this, v
);
7802 if(basic_istream_char_sentry_create(this, FALSE
)) {
7803 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7804 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7805 istreambuf_iterator_char first
={0}, last
={0};
7807 first
.strbuf
= strbuf
;
7808 num_get_char_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7810 basic_istream_char_sentry_destroy(this);
7812 basic_ios_char_setstate(base
, state
);
7816 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z */
7817 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z */
7818 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int
, 8)
7819 basic_istream_char
* __thiscall
basic_istream_char_read_int(basic_istream_char
*this, int *v
)
7821 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7822 int state
= IOSTATE_goodbit
;
7824 TRACE("(%p %p)\n", this, v
);
7826 if(basic_istream_char_sentry_create(this, FALSE
)) {
7827 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7828 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7829 istreambuf_iterator_char first
={0}, last
={0};
7831 first
.strbuf
= strbuf
;
7832 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7834 basic_istream_char_sentry_destroy(this);
7836 basic_ios_char_setstate(base
, state
);
7840 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z */
7841 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAI@Z */
7842 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint
, 8)
7843 basic_istream_char
* __thiscall
basic_istream_char_read_uint(basic_istream_char
*this, unsigned int *v
)
7845 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7846 int state
= IOSTATE_goodbit
;
7848 TRACE("(%p %p)\n", this, v
);
7850 if(basic_istream_char_sentry_create(this, FALSE
)) {
7851 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7852 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7853 istreambuf_iterator_char first
={0}, last
={0};
7855 first
.strbuf
= strbuf
;
7856 num_get_char_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7858 basic_istream_char_sentry_destroy(this);
7860 basic_ios_char_setstate(base
, state
);
7864 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z */
7865 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAJ@Z */
7866 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_long
, 8)
7867 basic_istream_char
* __thiscall
basic_istream_char_read_long(basic_istream_char
*this, LONG
*v
)
7869 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7870 int state
= IOSTATE_goodbit
;
7872 TRACE("(%p %p)\n", this, v
);
7874 if(basic_istream_char_sentry_create(this, FALSE
)) {
7875 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7876 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7877 istreambuf_iterator_char first
={0}, last
={0};
7879 first
.strbuf
= strbuf
;
7880 num_get_char_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7882 basic_istream_char_sentry_destroy(this);
7884 basic_ios_char_setstate(base
, state
);
7888 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z */
7889 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAK@Z */
7890 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ulong
, 8)
7891 basic_istream_char
* __thiscall
basic_istream_char_read_ulong(basic_istream_char
*this, ULONG
*v
)
7893 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7894 int state
= IOSTATE_goodbit
;
7896 TRACE("(%p %p)\n", this, v
);
7898 if(basic_istream_char_sentry_create(this, FALSE
)) {
7899 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7900 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7901 istreambuf_iterator_char first
={0}, last
={0};
7903 first
.strbuf
= strbuf
;
7904 num_get_char_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7906 basic_istream_char_sentry_destroy(this);
7908 basic_ios_char_setstate(base
, state
);
7912 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z */
7913 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAM@Z */
7914 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_float
, 8)
7915 basic_istream_char
* __thiscall
basic_istream_char_read_float(basic_istream_char
*this, float *v
)
7917 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7918 int state
= IOSTATE_goodbit
;
7920 TRACE("(%p %p)\n", this, v
);
7922 if(basic_istream_char_sentry_create(this, FALSE
)) {
7923 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7924 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7925 istreambuf_iterator_char first
={0}, last
={0};
7927 first
.strbuf
= strbuf
;
7928 num_get_char_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7930 basic_istream_char_sentry_destroy(this);
7932 basic_ios_char_setstate(base
, state
);
7936 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z */
7937 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAN@Z */
7938 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_double
, 8)
7939 basic_istream_char
* __thiscall
basic_istream_char_read_double(basic_istream_char
*this, double *v
)
7941 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7942 int state
= IOSTATE_goodbit
;
7944 TRACE("(%p %p)\n", this, v
);
7946 if(basic_istream_char_sentry_create(this, FALSE
)) {
7947 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7948 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7949 istreambuf_iterator_char first
={0}, last
={0};
7951 first
.strbuf
= strbuf
;
7952 num_get_char_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7954 basic_istream_char_sentry_destroy(this);
7956 basic_ios_char_setstate(base
, state
);
7960 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z */
7961 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAO@Z */
7962 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ldouble
, 8)
7963 basic_istream_char
* __thiscall
basic_istream_char_read_ldouble(basic_istream_char
*this, double *v
)
7965 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7966 int state
= IOSTATE_goodbit
;
7968 TRACE("(%p %p)\n", this, v
);
7970 if(basic_istream_char_sentry_create(this, FALSE
)) {
7971 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7972 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7973 istreambuf_iterator_char first
={0}, last
={0};
7975 first
.strbuf
= strbuf
;
7976 num_get_char_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
7978 basic_istream_char_sentry_destroy(this);
7980 basic_ios_char_setstate(base
, state
);
7984 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z */
7985 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
7986 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_ptr
, 8)
7987 basic_istream_char
* __thiscall
basic_istream_char_read_ptr(basic_istream_char
*this, void **v
)
7989 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
7990 int state
= IOSTATE_goodbit
;
7992 TRACE("(%p %p)\n", this, v
);
7994 if(basic_istream_char_sentry_create(this, FALSE
)) {
7995 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
7996 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
7997 istreambuf_iterator_char first
={0}, last
={0};
7999 first
.strbuf
= strbuf
;
8000 num_get_char_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8002 basic_istream_char_sentry_destroy(this);
8004 basic_ios_char_setstate(base
, state
);
8008 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_J@Z */
8009 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_J@Z */
8010 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_int64
, 8)
8011 basic_istream_char
* __thiscall
basic_istream_char_read_int64(basic_istream_char
*this, __int64
*v
)
8013 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8014 int state
= IOSTATE_goodbit
;
8016 TRACE("(%p %p)\n", this, v
);
8018 if(basic_istream_char_sentry_create(this, FALSE
)) {
8019 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8020 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8021 istreambuf_iterator_char first
={0}, last
={0};
8023 first
.strbuf
= strbuf
;
8024 num_get_char_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8026 basic_istream_char_sentry_destroy(this);
8028 basic_ios_char_setstate(base
, state
);
8032 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_K@Z */
8033 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_K@Z */
8034 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_uint64
, 8)
8035 basic_istream_char
* __thiscall
basic_istream_char_read_uint64(basic_istream_char
*this, unsigned __int64
*v
)
8037 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8038 int state
= IOSTATE_goodbit
;
8040 TRACE("(%p %p)\n", this, v
);
8042 if(basic_istream_char_sentry_create(this, FALSE
)) {
8043 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8044 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8045 istreambuf_iterator_char first
={0}, last
={0};
8047 first
.strbuf
= strbuf
;
8048 num_get_char_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8050 basic_istream_char_sentry_destroy(this);
8052 basic_ios_char_setstate(base
, state
);
8056 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z */
8057 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_N@Z */
8058 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_bool
, 8)
8059 basic_istream_char
* __thiscall
basic_istream_char_read_bool(basic_istream_char
*this, MSVCP_bool
*v
)
8061 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8062 int state
= IOSTATE_goodbit
;
8064 TRACE("(%p %p)\n", this, v
);
8066 if(basic_istream_char_sentry_create(this, FALSE
)) {
8067 basic_streambuf_char
*strbuf
= basic_ios_char_rdbuf_get(base
);
8068 const num_get
*numget
= num_get_char_use_facet(strbuf
->loc
);
8069 istreambuf_iterator_char first
={0}, last
={0};
8071 first
.strbuf
= strbuf
;
8072 num_get_char_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
8074 basic_istream_char_sentry_destroy(this);
8076 basic_ios_char_setstate(base
, state
);
8080 /* ??$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 */
8081 /* ??$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 */
8082 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr_delim(
8083 basic_istream_char
*istream
, basic_string_char
*str
, char delim
)
8085 IOSB_iostate state
= IOSTATE_failbit
;
8088 TRACE("(%p %p %c)\n", istream
, str
, delim
);
8090 if(basic_istream_char_sentry_create(istream
, TRUE
)) {
8091 MSVCP_basic_string_char_clear(str
);
8093 for(c
= basic_istream_char_get(istream
); c
!=delim
&& c
!=EOF
;
8094 c
= basic_istream_char_get(istream
)) {
8095 state
= IOSTATE_goodbit
;
8096 MSVCP_basic_string_char_append_ch(str
, c
);
8099 basic_istream_char_sentry_destroy(istream
);
8101 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8102 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8106 /* ??$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 */
8107 /* ??$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 */
8108 basic_istream_char
* __cdecl
basic_istream_char_getline_bstr(
8109 basic_istream_char
*istream
, basic_string_char
*str
)
8111 return basic_istream_char_getline_bstr_delim(istream
, str
, '\n');
8114 /* ??$?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 */
8115 /* ??$?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 */
8116 basic_istream_char
* __cdecl
basic_istream_char_read_bstr(
8117 basic_istream_char
*istream
, basic_string_char
*str
)
8119 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8120 IOSB_iostate state
= IOSTATE_failbit
;
8123 TRACE("(%p %p)\n", istream
, str
);
8125 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8126 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8127 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
8132 MSVCP_basic_string_char_clear(str
);
8134 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8135 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8136 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8137 state
= IOSTATE_goodbit
;
8138 MSVCP_basic_string_char_append_ch(str
, c
);
8141 basic_istream_char_sentry_destroy(istream
);
8143 ios_base_width_set(&base
->base
, 0);
8144 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8148 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z */
8149 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z */
8150 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z */
8151 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z */
8152 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z */
8153 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z */
8154 basic_istream_char
* __cdecl
basic_istream_char_read_str(basic_istream_char
*istream
, char *str
)
8156 basic_ios_char
*base
= basic_istream_char_get_basic_ios(istream
);
8157 IOSB_iostate state
= IOSTATE_failbit
;
8160 TRACE("(%p %p)\n", istream
, str
);
8162 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8163 const ctype_char
*ctype
= ctype_char_use_facet(base
->strbuf
->loc
);
8164 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
8166 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
));
8167 c
!=EOF
&& !ctype_char_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
8168 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
)), count
--) {
8169 state
= IOSTATE_goodbit
;
8173 basic_istream_char_sentry_destroy(istream
);
8176 ios_base_width_set(&base
->base
, 0);
8177 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8181 /* ??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z */
8182 /* ??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z */
8183 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z */
8184 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z */
8185 /* ??$?5U?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z */
8186 /* ??$?5U?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z */
8187 basic_istream_char
* __cdecl
basic_istream_char_read_ch(basic_istream_char
*istream
, char *ch
)
8189 IOSB_iostate state
= IOSTATE_failbit
;
8192 TRACE("(%p %p)\n", istream
, ch
);
8194 if(basic_istream_char_sentry_create(istream
, FALSE
)) {
8195 c
= basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(
8196 basic_istream_char_get_basic_ios(istream
)));
8198 state
= IOSTATE_goodbit
;
8202 basic_istream_char_sentry_destroy(istream
);
8204 basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream
),
8205 state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8209 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8210 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
8211 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_streambuf
, 8)
8212 basic_istream_char
* __thiscall
basic_istream_char_read_streambuf(
8213 basic_istream_char
*this, basic_streambuf_char
*streambuf
)
8215 basic_ios_char
*base
= basic_istream_char_get_basic_ios(this);
8216 IOSB_iostate state
= IOSTATE_failbit
;
8219 TRACE("(%p %p)\n", this, streambuf
);
8221 if(basic_istream_char_sentry_create(this, FALSE
)) {
8222 for(c
= basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base
)); c
!=EOF
;
8223 c
= basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base
))) {
8224 state
= IOSTATE_goodbit
;
8225 if(basic_streambuf_char_sputc(streambuf
, c
) == EOF
)
8229 basic_istream_char_sentry_destroy(this);
8231 basic_ios_char_setstate(base
, state
| (c
==EOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8235 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
8236 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
8237 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func
, 8)
8238 basic_istream_char
* __thiscall
basic_istream_char_read_func(basic_istream_char
*this,
8239 basic_istream_char
* (__cdecl
*pfunc
)(basic_istream_char
*))
8241 TRACE("(%p %p)\n", this, pfunc
);
8246 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z */
8247 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z */
8248 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_basic_ios
, 8)
8249 basic_istream_char
* __thiscall
basic_istream_char_read_func_basic_ios(basic_istream_char
*this,
8250 basic_ios_char
* (__cdecl
*pfunc
)(basic_ios_char
*))
8252 TRACE("(%p %p)\n", this, pfunc
);
8253 pfunc(basic_istream_char_get_basic_ios(this));
8257 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
8258 /* ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
8259 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_func_ios_base
, 8)
8260 basic_istream_char
* __thiscall
basic_istream_char_read_func_ios_base(basic_istream_char
*this,
8261 ios_base
* (__cdecl
*pfunc
)(ios_base
*))
8263 TRACE("(%p %p)\n", this, pfunc
);
8264 pfunc(&basic_istream_char_get_basic_ios(this)->base
);
8268 /* Caution: basic_istream uses virtual inheritance. */
8269 static inline basic_ios_wchar
* basic_istream_wchar_get_basic_ios(basic_istream_wchar
*this)
8271 return (basic_ios_wchar
*)((char*)this+this->vbtable
[1]);
8274 static inline basic_ios_wchar
* basic_istream_wchar_to_basic_ios(basic_istream_wchar
*ptr
)
8276 return (basic_ios_wchar
*)((char*)ptr
+basic_istream_wchar_vbtable
[1]);
8279 static inline basic_istream_wchar
* basic_istream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
8281 return (basic_istream_wchar
*)((char*)ptr
-basic_istream_wchar_vbtable
[1]);
8284 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8285 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N1@Z */
8286 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_init
, 20)
8287 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_init(basic_istream_wchar
*this,
8288 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8290 basic_ios_wchar
*base
;
8292 TRACE("(%p %p %d %d %d)\n", this, strbuf
, isstd
, noinit
, virt_init
);
8295 this->vbtable
= basic_istream_wchar_vbtable
;
8296 base
= basic_istream_wchar_get_basic_ios(this);
8297 basic_ios_wchar_ctor(base
);
8299 base
= basic_istream_wchar_get_basic_ios(this);
8302 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8305 basic_ios_wchar_init(base
, strbuf
, isstd
);
8309 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8310 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z */
8311 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_init
, 20)
8312 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_init(basic_istream_wchar
*this,
8313 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool noinit
, MSVCP_bool virt_init
)
8315 basic_istream_wchar_ctor_init(this, strbuf
, isstd
, noinit
, virt_init
);
8316 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8320 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8321 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@_N@Z */
8322 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor
, 16)
8323 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor(basic_istream_wchar
*this,
8324 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8326 return basic_istream_wchar_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8329 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8330 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z */
8331 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor
, 16)
8332 basic_istream_wchar
* __thiscall
basic_istream_short_ctor(basic_istream_wchar
*this,
8333 basic_streambuf_wchar
*strbuf
, MSVCP_bool isstd
, MSVCP_bool virt_init
)
8335 return basic_istream_short_ctor_init(this, strbuf
, isstd
, FALSE
, virt_init
);
8338 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8339 /* ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8340 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ctor_uninitialized
, 12)
8341 basic_istream_wchar
* __thiscall
basic_istream_wchar_ctor_uninitialized(
8342 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8344 basic_ios_wchar
*base
;
8346 TRACE("(%p %d %d)\n", this, uninitialized
, virt_init
);
8349 this->vbtable
= basic_istream_wchar_vbtable
;
8350 base
= basic_istream_wchar_get_basic_ios(this);
8351 basic_ios_wchar_ctor(base
);
8353 base
= basic_istream_wchar_get_basic_ios(this);
8356 base
->base
.vtable
= &MSVCP_basic_istream_wchar_vtable
;
8357 ios_base_Addstd(&base
->base
);
8361 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */
8362 /* ??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */
8363 DEFINE_THISCALL_WRAPPER(basic_istream_short_ctor_uninitialized
, 12)
8364 basic_istream_wchar
* __thiscall
basic_istream_short_ctor_uninitialized(
8365 basic_istream_wchar
*this, int uninitialized
, MSVCP_bool virt_init
)
8367 basic_istream_wchar_ctor_uninitialized(this, uninitialized
, virt_init
);
8368 basic_istream_wchar_get_basic_ios(this)->base
.vtable
= &MSVCP_basic_istream_short_vtable
;
8372 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
8373 /* ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
8374 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ */
8375 /* ??1?$basic_istream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
8376 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_dtor
, 4)
8377 void __thiscall
basic_istream_wchar_dtor(basic_ios_wchar
*base
)
8379 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8381 /* don't destroy virtual base here */
8382 TRACE("(%p)\n", this);
8385 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8386 /* ??_D?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8387 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8388 /* ??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8389 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_vbase_dtor
, 4)
8390 void __thiscall
basic_istream_wchar_vbase_dtor(basic_istream_wchar
*this)
8392 TRACE("(%p)\n", this);
8393 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(this));
8394 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(this));
8397 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istream_wchar_vector_dtor
, 8)
8398 basic_istream_wchar
* __thiscall
MSVCP_basic_istream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
8400 basic_istream_wchar
*this = basic_istream_wchar_from_basic_ios(base
);
8402 TRACE("(%p %x)\n", this, flags
);
8405 /* we have an array, with the number of elements stored before the first object */
8406 int i
, *ptr
= (int *)this-1;
8408 for(i
=*ptr
-1; i
>=0; i
--)
8409 basic_istream_wchar_vbase_dtor(this+i
);
8410 MSVCRT_operator_delete(ptr
);
8412 basic_istream_wchar_vbase_dtor(this);
8414 MSVCRT_operator_delete(this);
8420 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istream_short_vector_dtor
, 8)
8421 basic_istream_wchar
* __thiscall
MSVCP_basic_istream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
8423 return MSVCP_basic_istream_wchar_vector_dtor(base
, flags
);
8426 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8427 /* ?_Ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8428 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8429 /* ?_Ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8430 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Ipfx
, 8)
8431 MSVCP_bool __thiscall
basic_istream_wchar__Ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8433 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8435 TRACE("(%p %d)\n", this, noskip
);
8437 if(!ios_base_good(&base
->base
)) {
8438 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8442 if(basic_ios_wchar_tie_get(base
))
8443 basic_ostream_wchar_flush(basic_ios_wchar_tie_get(base
));
8445 if(!noskip
&& (ios_base_flags_get(&base
->base
) & FMTFLAG_skipws
)) {
8446 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8447 const ctype_wchar
*ctype
= ctype_wchar_use_facet(base
->strbuf
->loc
);
8450 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); ;
8451 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8453 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8457 if(!ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, ch
))
8465 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE_N_N@Z */
8466 /* ?ipfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_N_N@Z */
8467 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z */
8468 /* ?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z */
8469 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ipfx
, 8)
8470 MSVCP_bool __thiscall
basic_istream_wchar_ipfx(basic_istream_wchar
*this, MSVCP_bool noskip
)
8472 return basic_istream_wchar__Ipfx(this, noskip
);
8475 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
8476 /* ?isfx@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
8477 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ */
8478 /* ?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
8479 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_isfx
, 4)
8480 void __thiscall
basic_istream_wchar_isfx(basic_istream_wchar
*this)
8482 TRACE("(%p)\n", this);
8485 static BOOL
basic_istream_wchar_sentry_create(basic_istream_wchar
*istr
, MSVCP_bool noskip
)
8487 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8489 if(basic_ios_wchar_rdbuf_get(base
))
8490 basic_streambuf_wchar__Lock(base
->strbuf
);
8492 return basic_istream_wchar_ipfx(istr
, noskip
);
8495 static void basic_istream_wchar_sentry_destroy(basic_istream_wchar
*istr
)
8497 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istr
);
8499 if(basic_ios_wchar_rdbuf_get(base
))
8500 basic_streambuf_wchar__Unlock(base
->strbuf
);
8503 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QBEHXZ */
8504 /* ?gcount@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEBA_JXZ */
8505 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ */
8506 /* ?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QEBA_JXZ */
8507 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_gcount
, 4)
8508 int __thiscall
basic_istream_wchar_gcount(const basic_istream_wchar
*this)
8510 TRACE("(%p)\n", this);
8514 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8515 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8516 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8517 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8518 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get
, 4)
8519 unsigned short __thiscall
basic_istream_wchar_get(basic_istream_wchar
*this)
8521 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8524 TRACE("(%p)\n", this);
8528 if(!basic_istream_wchar_sentry_create(this, TRUE
)) {
8529 basic_istream_wchar_sentry_destroy(this);
8533 ret
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(base
));
8534 basic_istream_wchar_sentry_destroy(this);
8536 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
|IOSTATE_failbit
);
8543 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AA_W@Z */
8544 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEA_W@Z */
8545 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z */
8546 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAG@Z */
8547 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_ch
, 8)
8548 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_ch(basic_istream_wchar
*this, wchar_t *ch
)
8552 TRACE("(%p %p)\n", this, ch
);
8554 ret
= basic_istream_wchar_get(this);
8560 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8561 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8562 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8563 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8564 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str_delim
, 20)
8565 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8567 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8568 unsigned short ch
= delim
;
8570 TRACE("(%p %p %s %c)\n", this, str
, wine_dbgstr_longlong(count
), delim
);
8574 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8575 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8577 for(ch
= basic_streambuf_wchar_sgetc(strbuf
); count
>1;
8578 ch
= basic_streambuf_wchar_snextc(strbuf
)) {
8579 if(ch
==WEOF
|| ch
==delim
)
8587 basic_istream_wchar_sentry_destroy(this);
8589 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8590 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8596 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8597 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8598 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8599 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8600 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_str
, 16)
8601 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_str(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8603 return basic_istream_wchar_get_str_delim(this, str
, count
, '\n');
8606 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8607 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_W@Z */
8608 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8609 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z */
8610 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf_delim
, 12)
8611 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf_delim(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
, wchar_t delim
)
8613 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8614 unsigned short ch
= delim
;
8616 TRACE("(%p %p %c)\n", this, strbuf
, delim
);
8620 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8621 basic_streambuf_wchar
*strbuf_read
= basic_ios_wchar_rdbuf_get(base
);
8623 for(ch
= basic_streambuf_wchar_sgetc(strbuf_read
); ;
8624 ch
= basic_streambuf_wchar_snextc(strbuf_read
)) {
8625 if(ch
==WEOF
|| ch
==delim
)
8628 if(basic_streambuf_wchar_sputc(strbuf
, ch
) == WEOF
)
8633 basic_istream_wchar_sentry_destroy(this);
8635 basic_ios_wchar_setstate(base
, (!this->count
? IOSTATE_failbit
: IOSTATE_goodbit
) |
8636 (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
8640 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@AAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8641 /* ?get@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@@Z */
8642 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8643 /* ?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z */
8644 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_get_streambuf
, 8)
8645 basic_istream_wchar
* __thiscall
basic_istream_wchar_get_streambuf(basic_istream_wchar
*this, basic_streambuf_wchar
*strbuf
)
8647 return basic_istream_wchar_get_streambuf_delim(this, strbuf
, '\n');
8650 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH_W@Z */
8651 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J_W@Z */
8652 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z */
8653 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z */
8654 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline_delim
, 20)
8655 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline_delim(basic_istream_wchar
*this, wchar_t *str
, streamsize count
, wchar_t delim
)
8657 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8658 unsigned short ch
= delim
;
8660 TRACE("(%p %p %s %c)\n", this, str
, wine_dbgstr_longlong(count
), delim
);
8664 if(basic_istream_wchar_sentry_create(this, TRUE
) && count
>0) {
8665 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8668 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8670 if(ch
==WEOF
|| ch
==delim
)
8680 else if(ch
!= WEOF
) {
8681 ch
= basic_streambuf_wchar_sgetc(strbuf
);
8684 basic_streambuf_wchar__Gninc(strbuf
);
8689 basic_istream_wchar_sentry_destroy(this);
8691 basic_ios_wchar_setstate(base
, (ch
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
) |
8692 (!this->count
|| (ch
!=delim
&& ch
!=WEOF
) ? IOSTATE_failbit
: IOSTATE_goodbit
));
8698 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8699 /* ?getline@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8700 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8701 /* ?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8702 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_getline
, 16)
8703 basic_istream_wchar
* __thiscall
basic_istream_wchar_getline(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8705 return basic_istream_wchar_getline_delim(this, str
, count
, '\n');
8708 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@HG@Z */
8709 /* ?ignore@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JG@Z */
8710 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z */
8711 /* ?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z */
8712 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_ignore
, 16)
8713 basic_istream_wchar
* __thiscall
basic_istream_wchar_ignore(basic_istream_wchar
*this, streamsize count
, unsigned short delim
)
8715 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8716 unsigned short ch
= delim
;
8718 TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(count
), delim
);
8722 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8723 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8726 ch
= basic_streambuf_wchar_sbumpc(strbuf
);
8728 if(ch
==WEOF
|| ch
==delim
)
8732 if(count
!= INT_MAX
)
8736 basic_istream_wchar_sentry_destroy(this);
8739 basic_ios_wchar_setstate(base
, IOSTATE_eofbit
);
8743 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
8744 /* ?peek@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
8745 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ */
8746 /* ?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ */
8747 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_peek
, 4)
8748 unsigned short __thiscall
basic_istream_wchar_peek(basic_istream_wchar
*this)
8750 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8751 unsigned short ret
= WEOF
;
8753 TRACE("(%p)\n", this);
8757 if(basic_istream_wchar_sentry_create(this, TRUE
))
8758 ret
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
8759 basic_istream_wchar_sentry_destroy(this);
8763 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WIH@Z */
8764 /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_K_J@Z */
8765 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGIH@Z */
8766 /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_K_J@Z */
8767 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Read_s
, 20)
8768 basic_istream_wchar
* __thiscall
basic_istream_wchar__Read_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8770 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8771 IOSB_iostate state
= IOSTATE_goodbit
;
8773 TRACE("(%p %p %lu %s)\n", this, str
, size
, wine_dbgstr_longlong(count
));
8775 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8776 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8778 this->count
= basic_streambuf_wchar__Sgetn_s(strbuf
, str
, size
, count
);
8779 if(this->count
!= count
)
8780 state
|= IOSTATE_failbit
| IOSTATE_eofbit
;
8784 basic_istream_wchar_sentry_destroy(this);
8786 basic_ios_wchar_setstate(base
, state
);
8790 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@PA_WH@Z */
8791 /* ?read@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_J@Z */
8792 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z */
8793 /* ?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z */
8794 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read
, 16)
8795 basic_istream_wchar
* __thiscall
basic_istream_wchar_read(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8797 return basic_istream_wchar__Read_s(this, str
, count
, count
);
8800 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
8801 /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
8802 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
8803 /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
8804 DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Readsome_s
, 20)
8805 streamsize __thiscall
basic_istream_wchar__Readsome_s(basic_istream_wchar
*this, wchar_t *str
, MSVCP_size_t size
, streamsize count
)
8807 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8808 IOSB_iostate state
= IOSTATE_goodbit
;
8810 TRACE("(%p %p %lu %s)\n", this, str
, size
, wine_dbgstr_longlong(count
));
8814 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8815 streamsize avail
= basic_streambuf_wchar_in_avail(basic_ios_wchar_rdbuf_get(base
));
8820 state
|= IOSTATE_eofbit
;
8822 basic_istream_wchar__Read_s(this, str
, size
, avail
);
8824 state
|= IOSTATE_failbit
;
8826 basic_istream_wchar_sentry_destroy(this);
8828 basic_ios_wchar_setstate(base
, state
);
8832 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
8833 /* ?readsome@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
8834 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
8835 /* ?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
8836 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_readsome
, 16)
8837 streamsize __thiscall
basic_istream_wchar_readsome(basic_istream_wchar
*this, wchar_t *str
, streamsize count
)
8839 return basic_istream_wchar__Readsome_s(this, str
, count
, count
);
8842 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@_W@Z */
8843 /* ?putback@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_W@Z */
8844 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z */
8845 /* ?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z */
8846 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_putback
, 8)
8847 basic_istream_wchar
* __thiscall
basic_istream_wchar_putback(basic_istream_wchar
*this, wchar_t ch
)
8849 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8850 IOSB_iostate state
= IOSTATE_goodbit
;
8852 TRACE("(%p %c)\n", this, ch
);
8856 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8857 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8859 if(!ios_base_good(&base
->base
))
8860 state
|= IOSTATE_failbit
;
8861 else if(!strbuf
|| basic_streambuf_wchar_sputbackc(strbuf
, ch
)==WEOF
)
8862 state
|= IOSTATE_badbit
;
8864 basic_istream_wchar_sentry_destroy(this);
8866 basic_ios_wchar_setstate(base
, state
);
8870 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ */
8871 /* ?unget@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@XZ */
8872 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ */
8873 /* ?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ */
8874 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_unget
, 4)
8875 basic_istream_wchar
* __thiscall
basic_istream_wchar_unget(basic_istream_wchar
*this)
8877 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8878 IOSB_iostate state
= IOSTATE_goodbit
;
8880 TRACE("(%p)\n", this);
8884 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8885 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8887 if(!ios_base_good(&base
->base
))
8888 state
|= IOSTATE_failbit
;
8889 else if(!strbuf
|| basic_streambuf_wchar_sungetc(strbuf
)==WEOF
)
8890 state
|= IOSTATE_badbit
;
8892 basic_istream_wchar_sentry_destroy(this);
8894 basic_ios_wchar_setstate(base
, state
);
8898 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
8899 /* ?sync@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
8900 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ */
8901 /* ?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAHXZ */
8902 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_sync
, 4)
8903 int __thiscall
basic_istream_wchar_sync(basic_istream_wchar
*this)
8905 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8906 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8908 TRACE("(%p)\n", this);
8913 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8914 if(basic_streambuf_wchar_pubsync(strbuf
) != -1) {
8915 basic_istream_wchar_sentry_destroy(this);
8919 basic_istream_wchar_sentry_destroy(this);
8921 basic_ios_wchar_setstate(base
, IOSTATE_badbit
);
8925 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8926 /* ?tellg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8927 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
8928 /* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
8929 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_tellg
, 8)
8930 fpos_int
* __thiscall
basic_istream_wchar_tellg(basic_istream_wchar
*this, fpos_int
*ret
)
8932 TRACE("(%p %p)\n", this, ret
);
8934 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8935 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8936 if(!ios_base_fail(&base
->base
)) {
8937 basic_streambuf_wchar_pubseekoff(basic_ios_wchar_rdbuf_get(base
),
8938 ret
, 0, SEEKDIR_cur
, OPENMODE_in
);
8939 basic_istream_wchar_sentry_destroy(this);
8941 if(ret
->off
==0 && ret
->pos
==-1 && ret
->state
==0)
8942 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8946 basic_istream_wchar_sentry_destroy(this);
8954 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@JH@Z */
8955 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@_JH@Z */
8956 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JH@Z */
8957 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JH@Z */
8958 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg
, 16)
8959 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg(basic_istream_wchar
*this, streamoff off
, int dir
)
8961 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8963 TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(off
), dir
);
8965 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8966 if(!ios_base_fail(&base
->base
)) {
8967 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
8970 basic_streambuf_wchar_pubseekoff(strbuf
, &ret
, off
, dir
, OPENMODE_in
);
8971 basic_istream_wchar_sentry_destroy(this);
8973 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
8974 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8976 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
8980 basic_istream_wchar_sentry_destroy(this);
8982 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
8986 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
8987 /* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
8988 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
8989 /* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
8990 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg_fpos
, 28)
8991 basic_istream_wchar
* __thiscall
basic_istream_wchar_seekg_fpos(basic_istream_wchar
*this, fpos_int pos
)
8993 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
8995 TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos
));
8997 if(basic_istream_wchar_sentry_create(this, TRUE
)) {
8998 if(!ios_base_fail(&base
->base
)) {
8999 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9002 basic_streambuf_wchar_pubseekpos(strbuf
, &ret
, pos
, OPENMODE_in
);
9003 basic_istream_wchar_sentry_destroy(this);
9005 if(ret
.off
==0 && ret
.pos
==-1 && ret
.state
==0)
9006 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
9008 basic_ios_wchar_clear(base
, IOSTATE_goodbit
);
9012 basic_istream_wchar_sentry_destroy(this);
9014 basic_ios_wchar_setstate(base
, IOSTATE_failbit
);
9018 static basic_istream_wchar
* basic_istream_read_short(basic_istream_wchar
*this, short *v
, const num_get
*numget
)
9020 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9021 int state
= IOSTATE_goodbit
;
9023 TRACE("(%p %p)\n", this, v
);
9025 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9026 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9027 istreambuf_iterator_wchar first
={0}, last
={0};
9030 first
.strbuf
= strbuf
;
9031 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, &tmp
);
9033 if(!(state
&IOSTATE_failbit
) && tmp
==(LONG
)((short)tmp
))
9036 state
|= IOSTATE_failbit
;
9038 basic_istream_wchar_sentry_destroy(this);
9040 basic_ios_wchar_setstate(base
, state
);
9044 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAF@Z */
9045 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAF@Z */
9046 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_short
, 8)
9047 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_short(basic_istream_wchar
*this, short *v
)
9049 return basic_istream_read_short(this, v
, num_get_wchar_use_facet(
9050 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9053 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z */
9054 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAF@Z */
9055 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_short
, 8)
9056 basic_istream_wchar
* __thiscall
basic_istream_short_read_short(basic_istream_wchar
*this, short *v
)
9058 return basic_istream_read_short(this, v
, num_get_short_use_facet(
9059 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9062 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAG@Z */
9063 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAG@Z */
9064 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ushort
, 8)
9065 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ushort(basic_istream_wchar
*this, unsigned short *v
)
9067 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9068 int state
= IOSTATE_goodbit
;
9070 TRACE("(%p %p)\n", this, v
);
9072 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9073 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9074 const num_get
*numget
= num_get_wchar_use_facet(strbuf
->loc
);
9075 istreambuf_iterator_wchar first
={0}, last
={0};
9077 first
.strbuf
= strbuf
;
9078 num_get_wchar_get_ushort(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9080 basic_istream_wchar_sentry_destroy(this);
9082 basic_ios_wchar_setstate(base
, state
);
9086 static basic_istream_wchar
* basic_istream_read_int(basic_istream_wchar
*this, int *v
, const num_get
*numget
)
9088 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9089 int state
= IOSTATE_goodbit
;
9091 TRACE("(%p %p)\n", this, v
);
9093 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9094 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9095 istreambuf_iterator_wchar first
={0}, last
={0};
9097 first
.strbuf
= strbuf
;
9098 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9100 basic_istream_wchar_sentry_destroy(this);
9102 basic_ios_wchar_setstate(base
, state
);
9106 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAH@Z */
9107 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAH@Z */
9108 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int
, 8)
9109 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int(basic_istream_wchar
*this, int *v
)
9111 return basic_istream_read_int(this, v
, num_get_wchar_use_facet(
9112 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9115 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z */
9116 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAH@Z */
9117 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int
, 8)
9118 basic_istream_wchar
* __thiscall
basic_istream_short_read_int(basic_istream_wchar
*this, int *v
)
9120 return basic_istream_read_int(this, v
, num_get_short_use_facet(
9121 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9124 static basic_istream_wchar
* basic_istream_read_uint(basic_istream_wchar
*this, unsigned int *v
, const num_get
*numget
)
9126 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9127 int state
= IOSTATE_goodbit
;
9129 TRACE("(%p %p)\n", this, v
);
9131 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9132 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9133 istreambuf_iterator_wchar first
={0}, last
={0};
9135 first
.strbuf
= strbuf
;
9136 num_get_wchar_get_uint(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9138 basic_istream_wchar_sentry_destroy(this);
9140 basic_ios_wchar_setstate(base
, state
);
9144 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAI@Z */
9145 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAI@Z */
9146 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint
, 8)
9147 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9149 return basic_istream_read_uint(this, v
, num_get_wchar_use_facet(
9150 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9153 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z */
9154 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAI@Z */
9155 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint
, 8)
9156 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint(basic_istream_wchar
*this, unsigned int *v
)
9158 return basic_istream_read_uint(this, v
, num_get_short_use_facet(
9159 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9162 static basic_istream_wchar
* basic_istream_read_long(basic_istream_wchar
*this, LONG
*v
, const num_get
*numget
)
9164 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9165 int state
= IOSTATE_goodbit
;
9167 TRACE("(%p %p)\n", this, v
);
9169 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9170 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9171 istreambuf_iterator_wchar first
={0}, last
={0};
9173 first
.strbuf
= strbuf
;
9174 num_get_wchar_get_long(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9176 basic_istream_wchar_sentry_destroy(this);
9178 basic_ios_wchar_setstate(base
, state
);
9182 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9183 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9184 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_long
, 8)
9185 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_long(basic_istream_wchar
*this, LONG
*v
)
9187 return basic_istream_read_long(this, v
, num_get_wchar_use_facet(
9188 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9191 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAJ@Z */
9192 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAJ@Z */
9193 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_long
, 8)
9194 basic_istream_wchar
* __thiscall
basic_istream_short_read_long(basic_istream_wchar
*this, LONG
*v
)
9196 return basic_istream_read_long(this, v
, num_get_short_use_facet(
9197 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9200 static basic_istream_wchar
* basic_istream_read_ulong(basic_istream_wchar
*this, ULONG
*v
, const num_get
*numget
)
9202 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9203 int state
= IOSTATE_goodbit
;
9205 TRACE("(%p %p)\n", this, v
);
9207 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9208 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9209 istreambuf_iterator_wchar first
={0}, last
={0};
9211 first
.strbuf
= strbuf
;
9212 num_get_wchar_get_ulong(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9214 basic_istream_wchar_sentry_destroy(this);
9216 basic_ios_wchar_setstate(base
, state
);
9220 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAK@Z */
9221 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAK@Z */
9222 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ulong
, 8)
9223 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9225 return basic_istream_read_ulong(this, v
, num_get_wchar_use_facet(
9226 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9229 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z */
9230 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAK@Z */
9231 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ulong
, 8)
9232 basic_istream_wchar
* __thiscall
basic_istream_short_read_ulong(basic_istream_wchar
*this, ULONG
*v
)
9234 return basic_istream_read_ulong(this, v
, num_get_short_use_facet(
9235 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9238 static basic_istream_wchar
* basic_istream_read_float(basic_istream_wchar
*this, float *v
, const num_get
*numget
)
9240 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9241 int state
= IOSTATE_goodbit
;
9243 TRACE("(%p %p)\n", this, v
);
9245 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9246 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9247 istreambuf_iterator_wchar first
={0}, last
={0};
9249 first
.strbuf
= strbuf
;
9250 num_get_wchar_get_float(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9252 basic_istream_wchar_sentry_destroy(this);
9254 basic_ios_wchar_setstate(base
, state
);
9258 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAM@Z */
9259 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAM@Z */
9260 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_float
, 8)
9261 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_float(basic_istream_wchar
*this, float *v
)
9263 return basic_istream_read_float(this, v
, num_get_wchar_use_facet(
9264 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9267 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z */
9268 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAM@Z */
9269 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_float
, 8)
9270 basic_istream_wchar
* __thiscall
basic_istream_short_read_float(basic_istream_wchar
*this, float *v
)
9272 return basic_istream_read_float(this, v
, num_get_short_use_facet(
9273 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9276 static basic_istream_wchar
* basic_istream_read_double(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9278 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9279 int state
= IOSTATE_goodbit
;
9281 TRACE("(%p %p)\n", this, v
);
9283 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9284 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9285 istreambuf_iterator_wchar first
={0}, last
={0};
9287 first
.strbuf
= strbuf
;
9288 num_get_wchar_get_double(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9290 basic_istream_wchar_sentry_destroy(this);
9292 basic_ios_wchar_setstate(base
, state
);
9296 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAN@Z */
9297 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAN@Z */
9298 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_double
, 8)
9299 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_double(basic_istream_wchar
*this, double *v
)
9301 return basic_istream_read_double(this, v
, num_get_wchar_use_facet(
9302 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9305 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z */
9306 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAN@Z */
9307 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_double
, 8)
9308 basic_istream_wchar
* __thiscall
basic_istream_short_read_double(basic_istream_wchar
*this, double *v
)
9310 return basic_istream_read_double(this, v
, num_get_short_use_facet(
9311 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9314 static basic_istream_wchar
* basic_istream_read_ldouble(basic_istream_wchar
*this, double *v
, const num_get
*numget
)
9316 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9317 int state
= IOSTATE_goodbit
;
9319 TRACE("(%p %p)\n", this, v
);
9321 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9322 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9323 istreambuf_iterator_wchar first
={0}, last
={0};
9325 first
.strbuf
= strbuf
;
9326 num_get_wchar_get_ldouble(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9328 basic_istream_wchar_sentry_destroy(this);
9330 basic_ios_wchar_setstate(base
, state
);
9334 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAO@Z */
9335 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAO@Z */
9336 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ldouble
, 8)
9337 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ldouble(basic_istream_wchar
*this, double *v
)
9339 return basic_istream_read_ldouble(this, v
, num_get_wchar_use_facet(
9340 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9343 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z */
9344 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAO@Z */
9345 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ldouble
, 8)
9346 basic_istream_wchar
* __thiscall
basic_istream_short_read_ldouble(basic_istream_wchar
*this, double *v
)
9348 return basic_istream_read_ldouble(this, v
, num_get_short_use_facet(
9349 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9352 static basic_istream_wchar
* basic_istream_read_ptr(basic_istream_wchar
*this, void **v
, const num_get
*numget
)
9354 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9355 int state
= IOSTATE_goodbit
;
9357 TRACE("(%p %p)\n", this, v
);
9359 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9360 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9361 istreambuf_iterator_wchar first
={0}, last
={0};
9363 first
.strbuf
= strbuf
;
9364 num_get_wchar_get_void(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9366 basic_istream_wchar_sentry_destroy(this);
9368 basic_ios_wchar_setstate(base
, state
);
9372 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AAPAX@Z */
9373 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9374 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_ptr
, 8)
9375 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_ptr(basic_istream_wchar
*this, void **v
)
9377 return basic_istream_read_ptr(this, v
, num_get_wchar_use_facet(
9378 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9381 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z */
9382 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAPEAX@Z */
9383 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_ptr
, 8)
9384 basic_istream_wchar
* __thiscall
basic_istream_short_read_ptr(basic_istream_wchar
*this, void **v
)
9386 return basic_istream_read_ptr(this, v
, num_get_short_use_facet(
9387 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9390 static basic_istream_wchar
* basic_istream_read_int64(basic_istream_wchar
*this, __int64
*v
, const num_get
*numget
)
9392 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9393 int state
= IOSTATE_goodbit
;
9395 TRACE("(%p %p)\n", this, v
);
9397 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9398 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9399 istreambuf_iterator_wchar first
={0}, last
={0};
9401 first
.strbuf
= strbuf
;
9402 num_get_wchar_get_int64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9404 basic_istream_wchar_sentry_destroy(this);
9406 basic_ios_wchar_setstate(base
, state
);
9410 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_J@Z */
9411 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_J@Z */
9412 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_int64
, 8)
9413 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_int64(basic_istream_wchar
*this, __int64
*v
)
9415 return basic_istream_read_int64(this, v
, num_get_wchar_use_facet(
9416 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9419 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_J@Z */
9420 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_J@Z */
9421 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_int64
, 8)
9422 basic_istream_wchar
* __thiscall
basic_istream_short_read_int64(basic_istream_wchar
*this, __int64
*v
)
9424 return basic_istream_read_int64(this, v
, num_get_short_use_facet(
9425 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9428 static basic_istream_wchar
* basic_istream_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
, const num_get
*numget
)
9430 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9431 int state
= IOSTATE_goodbit
;
9433 TRACE("(%p %p)\n", this, v
);
9435 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9436 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9437 istreambuf_iterator_wchar first
={0}, last
={0};
9439 first
.strbuf
= strbuf
;
9440 num_get_wchar_get_uint64(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9442 basic_istream_wchar_sentry_destroy(this);
9444 basic_ios_wchar_setstate(base
, state
);
9448 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_K@Z */
9449 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_K@Z */
9450 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_uint64
, 8)
9451 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9453 return basic_istream_read_uint64(this, v
, num_get_wchar_use_facet(
9454 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9457 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_K@Z */
9458 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_K@Z */
9459 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_uint64
, 8)
9460 basic_istream_wchar
* __thiscall
basic_istream_short_read_uint64(basic_istream_wchar
*this, unsigned __int64
*v
)
9462 return basic_istream_read_uint64(this, v
, num_get_short_use_facet(
9463 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9466 static basic_istream_wchar
* basic_istream_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
, const num_get
*numget
)
9468 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9469 int state
= IOSTATE_goodbit
;
9471 TRACE("(%p %p)\n", this, v
);
9473 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9474 basic_streambuf_wchar
*strbuf
= basic_ios_wchar_rdbuf_get(base
);
9475 istreambuf_iterator_wchar first
={0}, last
={0};
9477 first
.strbuf
= strbuf
;
9478 num_get_wchar_get_bool(numget
, &last
, first
, last
, &base
->base
, &state
, v
);
9480 basic_istream_wchar_sentry_destroy(this);
9482 basic_ios_wchar_setstate(base
, state
);
9486 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@AA_N@Z */
9487 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@AEA_N@Z */
9488 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_bool
, 8)
9489 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9491 return basic_istream_read_bool(this, v
, num_get_wchar_use_facet(
9492 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9495 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z */
9496 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_N@Z */
9497 DEFINE_THISCALL_WRAPPER(basic_istream_short_read_bool
, 8)
9498 basic_istream_wchar
* __thiscall
basic_istream_short_read_bool(basic_istream_wchar
*this, MSVCP_bool
*v
)
9500 return basic_istream_read_bool(this, v
, num_get_short_use_facet(
9501 basic_istream_wchar_get_basic_ios(this)->strbuf
->loc
));
9504 /* ??$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 */
9505 /* ??$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 */
9506 /* ??$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 */
9507 /* ??$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 */
9508 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr_delim(
9509 basic_istream_wchar
*istream
, basic_string_wchar
*str
, wchar_t delim
)
9511 IOSB_iostate state
= IOSTATE_failbit
;
9514 TRACE("(%p %p %c)\n", istream
, str
, delim
);
9516 if(basic_istream_wchar_sentry_create(istream
, TRUE
)) {
9517 MSVCP_basic_string_wchar_clear(str
);
9519 for(c
= basic_istream_wchar_get(istream
); c
!=delim
&& c
!=WEOF
;
9520 c
= basic_istream_wchar_get(istream
)) {
9521 state
= IOSTATE_goodbit
;
9522 MSVCP_basic_string_wchar_append_ch(str
, c
);
9525 basic_istream_wchar_sentry_destroy(istream
);
9527 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9528 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9532 /* ??$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 */
9533 /* ??$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 */
9534 /* ??$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 */
9535 /* ??$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 */
9536 basic_istream_wchar
* __cdecl
basic_istream_wchar_getline_bstr(
9537 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9539 return basic_istream_wchar_getline_bstr_delim(istream
, str
, '\n');
9542 static basic_istream_wchar
* basic_istream_read_bstr(basic_istream_wchar
*istream
,
9543 basic_string_wchar
*str
, const ctype_wchar
*ctype
)
9545 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9546 IOSB_iostate state
= IOSTATE_failbit
;
9549 TRACE("(%p %p)\n", istream
, str
);
9551 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9552 MSVCP_size_t count
= ios_base_width_get(&base
->base
);
9557 MSVCP_basic_string_wchar_clear(str
);
9559 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9560 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9561 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9562 state
= IOSTATE_goodbit
;
9563 MSVCP_basic_string_wchar_append_ch(str
, c
);
9566 basic_istream_wchar_sentry_destroy(istream
);
9568 ios_base_width_set(&base
->base
, 0);
9569 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9573 /* ??$?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 */
9574 /* ??$?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 */
9575 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_bstr(
9576 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9578 return basic_istream_read_bstr(istream
, str
, ctype_wchar_use_facet(
9579 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9582 /* ??$?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 */
9583 /* ??$?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 */
9584 basic_istream_wchar
* __cdecl
basic_istream_short_read_bstr(
9585 basic_istream_wchar
*istream
, basic_string_wchar
*str
)
9587 return basic_istream_read_bstr(istream
, str
, ctype_short_use_facet(
9588 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9591 basic_istream_wchar
* basic_istream_read_str(basic_istream_wchar
*istream
, wchar_t *str
, const ctype_wchar
*ctype
)
9593 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(istream
);
9594 IOSB_iostate state
= IOSTATE_failbit
;
9595 unsigned short c
= '\n';
9597 TRACE("(%p %p)\n", istream
, str
);
9599 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9600 MSVCP_size_t count
= ios_base_width_get(&base
->base
)-1;
9602 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
));
9603 c
!=WEOF
&& !ctype_wchar_is_ch(ctype
, _SPACE
|_BLANK
, c
) && count
>0;
9604 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
)), count
--) {
9605 state
= IOSTATE_goodbit
;
9609 basic_istream_wchar_sentry_destroy(istream
);
9612 ios_base_width_set(&base
->base
, 0);
9613 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9617 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@PA_W@Z */
9618 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@PEA_W@Z */
9619 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9621 return basic_istream_read_str(istream
, str
, ctype_wchar_use_facet(
9622 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9625 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z */
9626 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z */
9627 basic_istream_wchar
* __cdecl
basic_istream_short_read_str(basic_istream_wchar
*istream
, wchar_t *str
)
9629 return basic_istream_read_str(istream
, str
, ctype_short_use_facet(
9630 basic_istream_wchar_get_basic_ios(istream
)->strbuf
->loc
));
9633 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AAV10@AA_W@Z */
9634 /* ??$?5_WU?$char_traits@_W@std@@@std@@YAAEAV?$basic_istream@_WU?$char_traits@_W@std@@@0@AEAV10@AEA_W@Z */
9635 /* ??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z */
9636 /* ??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z */
9637 basic_istream_wchar
* __cdecl
basic_istream_wchar_read_ch(basic_istream_wchar
*istream
, wchar_t *ch
)
9639 IOSB_iostate state
= IOSTATE_failbit
;
9640 unsigned short c
= 0;
9642 TRACE("(%p %p)\n", istream
, ch
);
9644 if(basic_istream_wchar_sentry_create(istream
, FALSE
)) {
9645 c
= basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(
9646 basic_istream_wchar_get_basic_ios(istream
)));
9648 state
= IOSTATE_goodbit
;
9652 basic_istream_wchar_sentry_destroy(istream
);
9654 basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream
),
9655 state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9659 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9660 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9661 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9662 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9663 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_streambuf
, 8)
9664 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_streambuf(
9665 basic_istream_wchar
*this, basic_streambuf_wchar
*streambuf
)
9667 basic_ios_wchar
*base
= basic_istream_wchar_get_basic_ios(this);
9668 IOSB_iostate state
= IOSTATE_failbit
;
9669 unsigned short c
= '\n';
9671 TRACE("(%p %p)\n", this, streambuf
);
9673 if(basic_istream_wchar_sentry_create(this, FALSE
)) {
9674 for(c
= basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base
)); c
!=WEOF
;
9675 c
= basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base
))) {
9676 state
= IOSTATE_goodbit
;
9677 if(basic_streambuf_wchar_sputc(streambuf
, c
) == WEOF
)
9681 basic_istream_wchar_sentry_destroy(this);
9683 basic_ios_wchar_setstate(base
, state
| (c
==WEOF
? IOSTATE_eofbit
: IOSTATE_goodbit
));
9687 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9688 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9689 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z */
9690 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z */
9691 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func
, 8)
9692 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func(basic_istream_wchar
*this,
9693 basic_istream_wchar
* (__cdecl
*pfunc
)(basic_istream_wchar
*))
9695 TRACE("(%p %p)\n", this, pfunc
);
9700 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AAV21@@Z@Z */
9701 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@_WU?$char_traits@_W@std@@@1@AEAV21@@Z@Z */
9702 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z */
9703 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z */
9704 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_basic_ios
, 8)
9705 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_basic_ios(basic_istream_wchar
*this,
9706 basic_ios_wchar
* (__cdecl
*pfunc
)(basic_ios_wchar
*))
9708 TRACE("(%p %p)\n", this, pfunc
);
9709 pfunc(basic_istream_wchar_get_basic_ios(this));
9713 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9714 /* ??5?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9715 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z */
9716 /* ??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z */
9717 DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read_func_ios_base
, 8)
9718 basic_istream_wchar
* __thiscall
basic_istream_wchar_read_func_ios_base(
9719 basic_istream_wchar
*this, ios_base
* (__cdecl
*pfunc
)(ios_base
*))
9721 TRACE("(%p %p)\n", this, pfunc
);
9722 pfunc(&basic_istream_wchar_get_basic_ios(this)->base
);
9726 static inline basic_ios_char
* basic_iostream_char_to_basic_ios(basic_iostream_char
*ptr
)
9728 return (basic_ios_char
*)((char*)ptr
+basic_iostream_char_vbtable1
[1]);
9731 static inline basic_iostream_char
* basic_iostream_char_from_basic_ios(basic_ios_char
*ptr
)
9733 return (basic_iostream_char
*)((char*)ptr
-basic_iostream_char_vbtable1
[1]);
9736 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9737 /* ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
9738 DEFINE_THISCALL_WRAPPER(basic_iostream_char_ctor
, 12)
9739 basic_iostream_char
* __thiscall
basic_iostream_char_ctor(basic_iostream_char
*this, basic_streambuf_char
*strbuf
, MSVCP_bool virt_init
)
9741 basic_ios_char
*basic_ios
;
9743 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9746 this->base1
.vbtable
= basic_iostream_char_vbtable1
;
9747 this->base2
.vbtable
= basic_iostream_char_vbtable2
;
9748 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9749 basic_ios_char_ctor(basic_ios
);
9751 basic_ios
= basic_istream_char_get_basic_ios(&this->base1
);
9754 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_char_vtable
;
9756 basic_istream_char_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9757 basic_ostream_char_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9761 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
9762 /* ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
9763 DEFINE_THISCALL_WRAPPER(basic_iostream_char_dtor
, 4)
9764 void __thiscall
basic_iostream_char_dtor(basic_ios_char
*base
)
9766 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9768 TRACE("(%p)\n", this);
9769 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base2
));
9770 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base1
));
9773 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
9774 /* ??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
9775 DEFINE_THISCALL_WRAPPER(basic_iostream_char_vbase_dtor
, 4)
9776 void __thiscall
basic_iostream_char_vbase_dtor(basic_iostream_char
*this)
9778 TRACE("(%p)\n", this);
9779 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(this));
9780 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base1
));
9783 DEFINE_THISCALL_WRAPPER(MSVCP_basic_iostream_char_vector_dtor
, 8)
9784 basic_iostream_char
* __thiscall
MSVCP_basic_iostream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
9786 basic_iostream_char
*this = basic_iostream_char_from_basic_ios(base
);
9788 TRACE("(%p %x)\n", this, flags
);
9791 /* we have an array, with the number of elements stored before the first object */
9792 int i
, *ptr
= (int *)this-1;
9794 for(i
=*ptr
-1; i
>=0; i
--)
9795 basic_iostream_char_vbase_dtor(this+i
);
9796 MSVCRT_operator_delete(ptr
);
9798 basic_iostream_char_vbase_dtor(this);
9800 MSVCRT_operator_delete(this);
9806 static inline basic_ios_wchar
* basic_iostream_wchar_to_basic_ios(basic_iostream_wchar
*ptr
)
9808 return (basic_ios_wchar
*)((char*)ptr
+basic_iostream_wchar_vbtable1
[1]);
9811 static inline basic_iostream_wchar
* basic_iostream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
9813 return (basic_iostream_wchar
*)((char*)ptr
-basic_iostream_wchar_vbtable1
[1]);
9816 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9817 /* ??0?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
9818 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_ctor
, 12)
9819 basic_iostream_wchar
* __thiscall
basic_iostream_wchar_ctor(basic_iostream_wchar
*this,
9820 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9822 basic_ios_wchar
*basic_ios
;
9824 TRACE("(%p %p %d)\n", this, strbuf
, virt_init
);
9827 this->base1
.vbtable
= basic_iostream_wchar_vbtable1
;
9828 this->base2
.vbtable
= basic_iostream_wchar_vbtable2
;
9829 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9830 basic_ios_wchar_ctor(basic_ios
);
9832 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base1
);
9835 basic_istream_wchar_ctor(&this->base1
, strbuf
, FALSE
, FALSE
);
9836 basic_ostream_wchar_ctor_uninitialized(&this->base2
, 0, FALSE
, FALSE
);
9838 basic_ios
->base
.vtable
= &MSVCP_basic_iostream_wchar_vtable
;
9842 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9843 /* ??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z */
9844 DEFINE_THISCALL_WRAPPER(basic_iostream_short_ctor
, 12)
9845 basic_iostream_wchar
* __thiscall
basic_iostream_short_ctor(basic_iostream_wchar
*this,
9846 basic_streambuf_wchar
*strbuf
, MSVCP_bool virt_init
)
9848 basic_iostream_wchar_ctor(this, strbuf
, virt_init
);
9849 basic_istream_wchar_get_basic_ios(&this->base1
)->base
.vtable
= &MSVCP_basic_iostream_short_vtable
;
9853 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
9854 /* ??1?$basic_iostream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
9855 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ */
9856 /* ??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
9857 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_dtor
, 4)
9858 void __thiscall
basic_iostream_wchar_dtor(basic_ios_wchar
*base
)
9860 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9862 TRACE("(%p)\n", this);
9863 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base2
));
9864 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base1
));
9867 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
9868 /* ??_D?$basic_iostream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
9869 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ */
9870 /* ??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
9871 DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_vbase_dtor
, 4)
9872 void __thiscall
basic_iostream_wchar_vbase_dtor(basic_iostream_wchar
*this)
9874 TRACE("(%p)\n", this);
9875 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(this));
9876 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base1
));
9879 DEFINE_THISCALL_WRAPPER(MSVCP_basic_iostream_wchar_vector_dtor
, 8)
9880 basic_iostream_wchar
* __thiscall
MSVCP_basic_iostream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
9882 basic_iostream_wchar
*this = basic_iostream_wchar_from_basic_ios(base
);
9884 TRACE("(%p %x)\n", this, flags
);
9887 /* we have an array, with the number of elements stored before the first object */
9888 int i
, *ptr
= (int *)this-1;
9890 for(i
=*ptr
-1; i
>=0; i
--)
9891 basic_iostream_wchar_vbase_dtor(this+i
);
9892 MSVCRT_operator_delete(ptr
);
9894 basic_iostream_wchar_vbase_dtor(this);
9896 MSVCRT_operator_delete(this);
9902 DEFINE_THISCALL_WRAPPER(MSVCP_basic_iostream_short_vector_dtor
, 8)
9903 basic_iostream_wchar
* __thiscall
MSVCP_basic_iostream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
9905 return MSVCP_basic_iostream_wchar_vector_dtor(base
, flags
);
9908 static inline basic_ios_char
* basic_ofstream_char_to_basic_ios(basic_ofstream_char
*ptr
)
9910 return (basic_ios_char
*)((char*)ptr
+basic_ofstream_char_vbtable
[1]);
9913 static inline basic_ofstream_char
* basic_ofstream_char_from_basic_ios(basic_ios_char
*ptr
)
9915 return (basic_ofstream_char
*)((char*)ptr
-basic_ofstream_char_vbtable
[1]);
9918 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
9919 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
9920 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor
, 8)
9921 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor(basic_ofstream_char
*this, MSVCP_bool virt_init
)
9923 basic_ios_char
*basic_ios
;
9925 TRACE("(%p %d)\n", this, virt_init
);
9928 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9929 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9930 basic_ios_char_ctor(basic_ios
);
9932 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9935 basic_filebuf_char_ctor(&this->filebuf
);
9936 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
9937 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
9941 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
9942 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
9943 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_file
, 12)
9944 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_file(
9945 basic_ofstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
9947 basic_ios_char
*basic_ios
;
9949 TRACE("(%p %p %d)\n", this, file
, virt_init
);
9952 this->base
.vbtable
= basic_ofstream_char_vbtable
;
9953 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9954 basic_ios_char_ctor(basic_ios
);
9956 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9959 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
9960 basic_ostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
9961 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_char_vtable
;
9965 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
9966 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
9967 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name
, 20)
9968 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name(basic_ofstream_char
*this,
9969 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
9971 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
9973 basic_ofstream_char_ctor(this, virt_init
);
9975 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
9976 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9977 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
9982 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
9983 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
9984 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
9985 /* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
9986 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name_wchar
, 20)
9987 basic_ofstream_char
* __thiscall
basic_ofstream_char_ctor_name_wchar(basic_ofstream_char
*this,
9988 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
9990 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
9992 basic_ofstream_char_ctor(this, virt_init
);
9994 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
9995 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
9996 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10001 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10002 /* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10003 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_dtor
, 4)
10004 void __thiscall
basic_ofstream_char_dtor(basic_ios_char
*base
)
10006 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10008 TRACE("(%p)\n", this);
10010 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
10011 basic_filebuf_char_dtor(&this->filebuf
);
10014 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10015 /* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10016 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vbase_dtor
, 4)
10017 void __thiscall
basic_ofstream_char_vbase_dtor(basic_ofstream_char
*this)
10019 TRACE("(%p)\n", this);
10021 basic_ofstream_char_dtor(basic_ofstream_char_to_basic_ios(this));
10022 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
10025 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ofstream_char_vector_dtor
, 8)
10026 basic_ofstream_char
* __thiscall
MSVCP_basic_ofstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10028 basic_ofstream_char
*this = basic_ofstream_char_from_basic_ios(base
);
10030 TRACE("(%p %x)\n", this, flags
);
10033 /* we have an array, with the number of elements stored before the first object */
10034 int i
, *ptr
= (int *)this-1;
10036 for(i
=*ptr
-1; i
>=0; i
--)
10037 basic_ofstream_char_vbase_dtor(this+i
);
10038 MSVCRT_operator_delete(ptr
);
10040 basic_ofstream_char_vbase_dtor(this);
10042 MSVCRT_operator_delete(this);
10048 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10049 /* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10050 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_close
, 4)
10051 void __thiscall
basic_ofstream_char_close(basic_ofstream_char
*this)
10053 TRACE("(%p)\n", this);
10055 if(!basic_filebuf_char_close(&this->filebuf
)) {
10056 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10057 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10061 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10062 /* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10063 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_is_open
, 4)
10064 MSVCP_bool __thiscall
basic_ofstream_char_is_open(const basic_ofstream_char
*this)
10066 TRACE("(%p)\n", this);
10067 return basic_filebuf_char_is_open(&this->filebuf
);
10070 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10071 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10072 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open
, 16)
10073 void __thiscall
basic_ofstream_char_open(basic_ofstream_char
*this,
10074 const char *name
, int mode
, int prot
)
10076 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10078 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10079 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10080 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10084 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10085 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10086 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old
, 12)
10087 void __thiscall
basic_ofstream_char_open_old(basic_ofstream_char
*this,
10088 const char *name
, unsigned int mode
)
10090 basic_ofstream_char_open(this, name
, mode
, _SH_DENYNO
);
10093 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
10094 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
10095 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
10096 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
10097 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar
, 16)
10098 void __thiscall
basic_ofstream_char_open_wchar(basic_ofstream_char
*this,
10099 const wchar_t *name
, int mode
, int prot
)
10101 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10103 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10104 basic_ios_char
*basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
10105 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10109 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
10110 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
10111 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
10112 /* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
10113 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar_old
, 12)
10114 void __thiscall
basic_ofstream_char_open_wchar_old(basic_ofstream_char
*this,
10115 const wchar_t *name
, unsigned int mode
)
10117 basic_ofstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
10120 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10121 /* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10122 DEFINE_THISCALL_WRAPPER(basic_ofstream_char_rdbuf
, 4)
10123 basic_filebuf_char
* __thiscall
basic_ofstream_char_rdbuf(const basic_ofstream_char
*this)
10125 TRACE("(%p)\n", this);
10126 return (basic_filebuf_char
*)&this->filebuf
;
10129 static inline basic_ios_wchar
* basic_ofstream_wchar_to_basic_ios(basic_ofstream_wchar
*ptr
)
10131 return (basic_ios_wchar
*)((char*)ptr
+basic_ofstream_wchar_vbtable
[1]);
10134 static inline basic_ofstream_wchar
* basic_ofstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10136 return (basic_ofstream_wchar
*)((char*)ptr
-basic_ofstream_wchar_vbtable
[1]);
10139 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10140 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10141 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor
, 8)
10142 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10144 basic_ios_wchar
*basic_ios
;
10146 TRACE("(%p %d)\n", this, virt_init
);
10149 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10150 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10151 basic_ios_wchar_ctor(basic_ios
);
10153 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10156 basic_filebuf_wchar_ctor(&this->filebuf
);
10157 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10158 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10162 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10163 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10164 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor
, 8)
10165 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor(basic_ofstream_wchar
*this, MSVCP_bool virt_init
)
10167 basic_ofstream_wchar_ctor(this, virt_init
);
10168 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10172 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10173 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10174 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_file
, 12)
10175 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_file(
10176 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10178 basic_ios_wchar
*basic_ios
;
10180 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10183 this->base
.vbtable
= basic_ofstream_wchar_vbtable
;
10184 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10185 basic_ios_wchar_ctor(basic_ios
);
10187 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10190 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10191 basic_ostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10192 basic_ios
->base
.vtable
= &MSVCP_basic_ofstream_wchar_vtable
;
10196 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10197 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10198 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_file
, 12)
10199 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_file(
10200 basic_ofstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10202 basic_ofstream_wchar_ctor_file(this, file
, virt_init
);
10203 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10207 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10208 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10209 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name
, 20)
10210 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_name(basic_ofstream_wchar
*this,
10211 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10213 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10215 basic_ofstream_wchar_ctor(this, virt_init
);
10217 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10218 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10219 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10224 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10225 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10226 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name
, 20)
10227 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name(basic_ofstream_wchar
*this,
10228 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10230 basic_ofstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10231 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10235 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
10236 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
10237 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
10238 /* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
10239 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name_wchar
, 20)
10240 basic_ofstream_wchar
* __thiscall
basic_ofstream_wchar_ctor_name_wchar(basic_ofstream_wchar
*this,
10241 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10243 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10245 basic_ofstream_wchar_ctor(this, virt_init
);
10247 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10248 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10249 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10254 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
10255 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
10256 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
10257 /* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
10258 DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name_wchar
, 20)
10259 basic_ofstream_wchar
* __thiscall
basic_ofstream_short_ctor_name_wchar(basic_ofstream_wchar
*this,
10260 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10262 basic_ofstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
10263 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ofstream_short_vtable
;
10267 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10268 /* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10269 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10270 /* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10271 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_dtor
, 4)
10272 void __thiscall
basic_ofstream_wchar_dtor(basic_ios_wchar
*base
)
10274 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10276 TRACE("(%p)\n", this);
10278 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
10279 basic_filebuf_wchar_dtor(&this->filebuf
);
10282 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10283 /* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10284 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10285 /* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10286 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vbase_dtor
, 4)
10287 void __thiscall
basic_ofstream_wchar_vbase_dtor(basic_ofstream_wchar
*this)
10289 TRACE("(%p)\n", this);
10291 basic_ofstream_wchar_dtor(basic_ofstream_wchar_to_basic_ios(this));
10292 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
10295 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ofstream_wchar_vector_dtor
, 8)
10296 basic_ofstream_wchar
* __thiscall
MSVCP_basic_ofstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10298 basic_ofstream_wchar
*this = basic_ofstream_wchar_from_basic_ios(base
);
10300 TRACE("(%p %x)\n", this, flags
);
10303 /* we have an array, with the number of elements stored before the first object */
10304 int i
, *ptr
= (int *)this-1;
10306 for(i
=*ptr
-1; i
>=0; i
--)
10307 basic_ofstream_wchar_vbase_dtor(this+i
);
10308 MSVCRT_operator_delete(ptr
);
10310 basic_ofstream_wchar_vbase_dtor(this);
10312 MSVCRT_operator_delete(this);
10318 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ofstream_short_vector_dtor
, 8)
10319 basic_ofstream_wchar
* __thiscall
MSVCP_basic_ofstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10321 return MSVCP_basic_ofstream_wchar_vector_dtor(base
, flags
);
10324 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10325 /* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10326 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10327 /* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10328 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_close
, 4)
10329 void __thiscall
basic_ofstream_wchar_close(basic_ofstream_wchar
*this)
10331 TRACE("(%p)\n", this);
10333 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10334 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10335 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10339 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10340 /* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10341 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10342 /* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10343 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_is_open
, 4)
10344 MSVCP_bool __thiscall
basic_ofstream_wchar_is_open(const basic_ofstream_wchar
*this)
10346 TRACE("(%p)\n", this);
10347 return basic_filebuf_wchar_is_open(&this->filebuf
);
10350 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10351 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10352 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10353 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10354 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open
, 16)
10355 void __thiscall
basic_ofstream_wchar_open(basic_ofstream_wchar
*this,
10356 const char *name
, int mode
, int prot
)
10358 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10360 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10361 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10362 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10366 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10367 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10368 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10369 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10370 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old
, 12)
10371 void __thiscall
basic_ofstream_wchar_open_old(basic_ofstream_wchar
*this,
10372 const char *name
, unsigned int mode
)
10374 basic_ofstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10377 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
10378 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
10379 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
10380 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
10381 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
10382 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
10383 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
10384 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
10385 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar
, 16)
10386 void __thiscall
basic_ofstream_wchar_open_wchar(basic_ofstream_wchar
*this,
10387 const wchar_t *name
, int mode
, int prot
)
10389 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10391 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_out
, prot
)) {
10392 basic_ios_wchar
*basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
10393 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10397 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
10398 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
10399 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
10400 /* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
10401 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
10402 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
10403 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
10404 /* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
10405 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar_old
, 12)
10406 void __thiscall
basic_ofstream_wchar_open_wchar_old(basic_ofstream_wchar
*this,
10407 const wchar_t *name
, unsigned int mode
)
10409 basic_ofstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
10412 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10413 /* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10414 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10415 /* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10416 DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_rdbuf
, 4)
10417 basic_filebuf_wchar
* __thiscall
basic_ofstream_wchar_rdbuf(const basic_ofstream_wchar
*this)
10419 TRACE("(%p)\n", this);
10420 return (basic_filebuf_wchar
*)&this->filebuf
;
10423 static inline basic_ios_char
* basic_ifstream_char_to_basic_ios(basic_ifstream_char
*ptr
)
10425 return (basic_ios_char
*)((char*)ptr
+basic_ifstream_char_vbtable
[1]);
10428 static inline basic_ifstream_char
* basic_ifstream_char_from_basic_ios(basic_ios_char
*ptr
)
10430 return (basic_ifstream_char
*)((char*)ptr
-basic_ifstream_char_vbtable
[1]);
10433 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10434 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10435 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor
, 8)
10436 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor(basic_ifstream_char
*this, MSVCP_bool virt_init
)
10438 basic_ios_char
*basic_ios
;
10440 TRACE("(%p %d)\n", this, virt_init
);
10443 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10444 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10445 basic_ios_char_ctor(basic_ios
);
10447 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10450 basic_filebuf_char_ctor(&this->filebuf
);
10451 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10452 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10456 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10457 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10458 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_file
, 12)
10459 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_file(
10460 basic_ifstream_char
*this, FILE *file
, MSVCP_bool virt_init
)
10462 basic_ios_char
*basic_ios
;
10464 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10467 this->base
.vbtable
= basic_ifstream_char_vbtable
;
10468 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10469 basic_ios_char_ctor(basic_ios
);
10471 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10474 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10475 basic_istream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10476 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_char_vtable
;
10480 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10481 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10482 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name
, 20)
10483 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name(basic_ifstream_char
*this,
10484 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10486 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10488 basic_ifstream_char_ctor(this, virt_init
);
10490 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10491 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10492 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10497 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
10498 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
10499 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
10500 /* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
10501 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name_wchar
, 20)
10502 basic_ifstream_char
* __thiscall
basic_ifstream_char_ctor_name_wchar(basic_ifstream_char
*this,
10503 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10505 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10507 basic_ifstream_char_ctor(this, virt_init
);
10509 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10510 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10511 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10516 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
10517 /* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
10518 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_dtor
, 4)
10519 void __thiscall
basic_ifstream_char_dtor(basic_ios_char
*base
)
10521 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10523 TRACE("(%p)\n", this);
10525 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
10526 basic_filebuf_char_dtor(&this->filebuf
);
10529 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10530 /* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10531 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vbase_dtor
, 4)
10532 void __thiscall
basic_ifstream_char_vbase_dtor(basic_ifstream_char
*this)
10534 TRACE("(%p)\n", this);
10536 basic_ifstream_char_dtor(basic_ifstream_char_to_basic_ios(this));
10537 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
10540 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ifstream_char_vector_dtor
, 8)
10541 basic_ifstream_char
* __thiscall
MSVCP_basic_ifstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
10543 basic_ifstream_char
*this = basic_ifstream_char_from_basic_ios(base
);
10545 TRACE("(%p %x)\n", this, flags
);
10548 /* we have an array, with the number of elements stored before the first object */
10549 int i
, *ptr
= (int *)this-1;
10551 for(i
=*ptr
-1; i
>=0; i
--)
10552 basic_ifstream_char_vbase_dtor(this+i
);
10553 MSVCRT_operator_delete(ptr
);
10555 basic_ifstream_char_vbase_dtor(this);
10557 MSVCRT_operator_delete(this);
10563 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
10564 /* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
10565 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_close
, 4)
10566 void __thiscall
basic_ifstream_char_close(basic_ifstream_char
*this)
10568 TRACE("(%p)\n", this);
10570 if(!basic_filebuf_char_close(&this->filebuf
)) {
10571 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10572 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10576 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
10577 /* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
10578 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_is_open
, 4)
10579 MSVCP_bool __thiscall
basic_ifstream_char_is_open(const basic_ifstream_char
*this)
10581 TRACE("(%p)\n", this);
10582 return basic_filebuf_char_is_open(&this->filebuf
);
10585 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
10586 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
10587 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open
, 16)
10588 void __thiscall
basic_ifstream_char_open(basic_ifstream_char
*this,
10589 const char *name
, int mode
, int prot
)
10591 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10593 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10594 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10595 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10599 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
10600 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
10601 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_old
, 12)
10602 void __thiscall
basic_ifstream_char_open_old(basic_ifstream_char
*this,
10603 const char *name
, unsigned int mode
)
10605 basic_ifstream_char_open(this, name
, mode
, _SH_DENYNO
);
10608 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
10609 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
10610 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
10611 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
10612 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar
, 16)
10613 void __thiscall
basic_ifstream_char_open_wchar(basic_ifstream_char
*this,
10614 const wchar_t *name
, int mode
, int prot
)
10616 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10618 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10619 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
10620 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
10624 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
10625 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
10626 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
10627 /* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
10628 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar_old
, 12)
10629 void __thiscall
basic_ifstream_char_open_wchar_old(basic_ifstream_char
*this,
10630 const wchar_t *name
, unsigned int mode
)
10632 basic_ifstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
10635 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10636 /* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
10637 DEFINE_THISCALL_WRAPPER(basic_ifstream_char_rdbuf
, 4)
10638 basic_filebuf_char
* __thiscall
basic_ifstream_char_rdbuf(const basic_ifstream_char
*this)
10640 TRACE("(%p)\n", this);
10641 return (basic_filebuf_char
*)&this->filebuf
;
10644 static inline basic_ios_wchar
* basic_ifstream_wchar_to_basic_ios(basic_ifstream_wchar
*ptr
)
10646 return (basic_ios_wchar
*)((char*)ptr
+basic_ifstream_wchar_vbtable
[1]);
10649 static inline basic_ifstream_wchar
* basic_ifstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
10651 return (basic_ifstream_wchar
*)((char*)ptr
-basic_ifstream_wchar_vbtable
[1]);
10654 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
10655 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
10656 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor
, 8)
10657 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10659 basic_ios_wchar
*basic_ios
;
10661 TRACE("(%p %d)\n", this, virt_init
);
10664 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10665 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10666 basic_ios_wchar_ctor(basic_ios
);
10668 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10671 basic_filebuf_wchar_ctor(&this->filebuf
);
10672 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10673 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10677 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
10678 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
10679 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor
, 8)
10680 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor(basic_ifstream_wchar
*this, MSVCP_bool virt_init
)
10682 basic_ifstream_wchar_ctor(this, virt_init
);
10683 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10687 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
10688 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10689 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_file
, 12)
10690 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_file(
10691 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10693 basic_ios_wchar
*basic_ios
;
10695 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10698 this->base
.vbtable
= basic_ifstream_wchar_vbtable
;
10699 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10700 basic_ios_wchar_ctor(basic_ios
);
10702 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10705 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
10706 basic_istream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
, FALSE
);
10707 basic_ios
->base
.vtable
= &MSVCP_basic_ifstream_wchar_vtable
;
10711 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
10712 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10713 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_file
, 12)
10714 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_file(
10715 basic_ifstream_wchar
*this, FILE *file
, MSVCP_bool virt_init
)
10717 basic_ifstream_wchar_ctor_file(this, file
, virt_init
);
10718 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10722 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */
10723 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */
10724 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name
, 20)
10725 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_name(basic_ifstream_wchar
*this,
10726 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10728 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
10730 basic_ifstream_wchar_ctor(this, virt_init
);
10732 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10733 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10734 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10739 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */
10740 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */
10741 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name
, 20)
10742 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name(basic_ifstream_wchar
*this,
10743 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10745 basic_ifstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
10746 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10750 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
10751 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
10752 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
10753 /* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
10754 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name_wchar
, 20)
10755 basic_ifstream_wchar
* __thiscall
basic_ifstream_wchar_ctor_name_wchar(basic_ifstream_wchar
*this,
10756 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10758 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
10760 basic_ifstream_wchar_ctor(this, virt_init
);
10762 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10763 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10764 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10769 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
10770 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
10771 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
10772 /* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
10773 DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name_wchar
, 20)
10774 basic_ifstream_wchar
* __thiscall
basic_ifstream_short_ctor_name_wchar(basic_ifstream_wchar
*this,
10775 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
10777 basic_ifstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
10778 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ifstream_short_vtable
;
10782 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
10783 /* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
10784 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
10785 /* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
10786 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_dtor
, 4)
10787 void __thiscall
basic_ifstream_wchar_dtor(basic_ios_wchar
*base
)
10789 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10791 TRACE("(%p)\n", this);
10793 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
10794 basic_filebuf_wchar_dtor(&this->filebuf
);
10797 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10798 /* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10799 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10800 /* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10801 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vbase_dtor
, 4)
10802 void __thiscall
basic_ifstream_wchar_vbase_dtor(basic_ifstream_wchar
*this)
10804 TRACE("(%p)\n", this);
10806 basic_ifstream_wchar_dtor(basic_ifstream_wchar_to_basic_ios(this));
10807 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
10810 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ifstream_wchar_vector_dtor
, 8)
10811 basic_ifstream_wchar
* __thiscall
MSVCP_basic_ifstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10813 basic_ifstream_wchar
*this = basic_ifstream_wchar_from_basic_ios(base
);
10815 TRACE("(%p %x)\n", this, flags
);
10818 /* we have an array, with the number of elements stored before the first object */
10819 int i
, *ptr
= (int *)this-1;
10821 for(i
=*ptr
-1; i
>=0; i
--)
10822 basic_ifstream_wchar_vbase_dtor(this+i
);
10823 MSVCRT_operator_delete(ptr
);
10825 basic_ifstream_wchar_vbase_dtor(this);
10827 MSVCRT_operator_delete(this);
10833 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ifstream_short_vector_dtor
, 8)
10834 basic_ifstream_wchar
* __thiscall
MSVCP_basic_ifstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
10836 return MSVCP_basic_ifstream_wchar_vector_dtor(base
, flags
);
10839 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
10840 /* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
10841 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
10842 /* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
10843 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_close
, 4)
10844 void __thiscall
basic_ifstream_wchar_close(basic_ifstream_wchar
*this)
10846 TRACE("(%p)\n", this);
10848 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
10849 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10850 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10854 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
10855 /* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
10856 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
10857 /* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
10858 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_is_open
, 4)
10859 MSVCP_bool __thiscall
basic_ifstream_wchar_is_open(const basic_ifstream_wchar
*this)
10861 TRACE("(%p)\n", this);
10862 return basic_filebuf_wchar_is_open(&this->filebuf
);
10865 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
10866 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
10867 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
10868 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
10869 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open
, 16)
10870 void __thiscall
basic_ifstream_wchar_open(basic_ifstream_wchar
*this,
10871 const char *name
, int mode
, int prot
)
10873 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
10875 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10876 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10877 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10881 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
10882 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
10883 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
10884 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
10885 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_old
, 12)
10886 void __thiscall
basic_ifstream_wchar_open_old(basic_ifstream_wchar
*this,
10887 const char *name
, unsigned int mode
)
10889 basic_ifstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
10892 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
10893 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
10894 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
10895 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
10896 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
10897 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
10898 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
10899 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
10900 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar
, 16)
10901 void __thiscall
basic_ifstream_wchar_open_wchar(basic_ifstream_wchar
*this,
10902 const wchar_t *name
, int mode
, int prot
)
10904 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
10906 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
|OPENMODE_in
, prot
)) {
10907 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
10908 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
10912 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
10913 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
10914 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
10915 /* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
10916 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
10917 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
10918 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
10919 /* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
10920 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar_old
, 12)
10921 void __thiscall
basic_ifstream_wchar_open_wchar_old(basic_ifstream_wchar
*this,
10922 const wchar_t *name
, unsigned int mode
)
10924 basic_ifstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
10927 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10928 /* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
10929 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10930 /* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
10931 DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_rdbuf
, 4)
10932 basic_filebuf_wchar
* __thiscall
basic_ifstream_wchar_rdbuf(const basic_ifstream_wchar
*this)
10934 TRACE("(%p)\n", this);
10935 return (basic_filebuf_wchar
*)&this->filebuf
;
10938 static inline basic_ios_char
* basic_fstream_char_to_basic_ios(basic_fstream_char
*ptr
)
10940 return (basic_ios_char
*)((char*)ptr
+basic_fstream_char_vbtable1
[1]);
10943 static inline basic_fstream_char
* basic_fstream_char_from_basic_ios(basic_ios_char
*ptr
)
10945 return (basic_fstream_char
*)((char*)ptr
-basic_fstream_char_vbtable1
[1]);
10948 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ */
10949 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */
10950 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor
, 8)
10951 basic_fstream_char
* __thiscall
basic_fstream_char_ctor(basic_fstream_char
*this, MSVCP_bool virt_init
)
10953 basic_ios_char
*basic_ios
;
10955 TRACE("(%p %d)\n", this, virt_init
);
10958 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10959 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10960 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10961 basic_ios_char_ctor(basic_ios
);
10963 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10966 basic_filebuf_char_ctor(&this->filebuf
);
10967 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10968 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10972 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
10973 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
10974 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_file
, 12)
10975 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_file(basic_fstream_char
*this,
10976 FILE *file
, MSVCP_bool virt_init
)
10978 basic_ios_char
*basic_ios
;
10980 TRACE("(%p %p %d)\n", this, file
, virt_init
);
10983 this->base
.base1
.vbtable
= basic_fstream_char_vbtable1
;
10984 this->base
.base2
.vbtable
= basic_fstream_char_vbtable2
;
10985 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10986 basic_ios_char_ctor(basic_ios
);
10988 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
10991 basic_filebuf_char_ctor_file(&this->filebuf
, file
);
10992 basic_iostream_char_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
10993 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_char_vtable
;
10997 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */
10998 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */
10999 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name
, 20)
11000 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name(basic_fstream_char
*this,
11001 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11003 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
11005 basic_fstream_char_ctor(this, virt_init
);
11007 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
11008 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11009 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11014 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */
11015 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */
11016 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */
11017 /* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */
11018 DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name_wchar
, 20)
11019 basic_fstream_char
* __thiscall
basic_fstream_char_ctor_name_wchar(basic_fstream_char
*this,
11020 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11022 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
11024 basic_fstream_char_ctor(this, virt_init
);
11026 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11027 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11028 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11033 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
11034 /* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
11035 DEFINE_THISCALL_WRAPPER(basic_fstream_char_dtor
, 4)
11036 void __thiscall
basic_fstream_char_dtor(basic_ios_char
*base
)
11038 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
11040 TRACE("(%p)\n", this);
11042 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
11043 basic_filebuf_char_dtor(&this->filebuf
);
11046 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
11047 /* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
11048 DEFINE_THISCALL_WRAPPER(basic_fstream_char_vbase_dtor
, 4)
11049 void __thiscall
basic_fstream_char_vbase_dtor(basic_fstream_char
*this)
11051 TRACE("(%p)\n", this);
11053 basic_fstream_char_dtor(basic_fstream_char_to_basic_ios(this));
11054 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
11057 DEFINE_THISCALL_WRAPPER(MSVCP_basic_fstream_char_vector_dtor
, 8)
11058 basic_fstream_char
* __thiscall
MSVCP_basic_fstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11060 basic_fstream_char
*this = basic_fstream_char_from_basic_ios(base
);
11062 TRACE("(%p %x)\n", this, flags
);
11065 /* we have an array, with the number of elements stored before the first object */
11066 int i
, *ptr
= (int *)this-1;
11068 for(i
=*ptr
-1; i
>=0; i
--)
11069 basic_fstream_char_vbase_dtor(this+i
);
11070 MSVCRT_operator_delete(ptr
);
11072 basic_fstream_char_vbase_dtor(this);
11074 MSVCRT_operator_delete(this);
11080 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */
11081 /* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
11082 DEFINE_THISCALL_WRAPPER(basic_fstream_char_close
, 4)
11083 void __thiscall
basic_fstream_char_close(basic_fstream_char
*this)
11085 TRACE("(%p)\n", this);
11087 if(!basic_filebuf_char_close(&this->filebuf
)) {
11088 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11089 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11093 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */
11094 /* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */
11095 DEFINE_THISCALL_WRAPPER(basic_fstream_char_is_open
, 4)
11096 MSVCP_bool __thiscall
basic_fstream_char_is_open(const basic_fstream_char
*this)
11098 TRACE("(%p)\n", this);
11099 return basic_filebuf_char_is_open(&this->filebuf
);
11102 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */
11103 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */
11104 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open
, 16)
11105 void __thiscall
basic_fstream_char_open(basic_fstream_char
*this,
11106 const char *name
, int mode
, int prot
)
11108 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
11110 if(!basic_filebuf_char_open(&this->filebuf
, name
, mode
, prot
)) {
11111 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11112 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11116 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */
11117 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */
11118 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old
, 12)
11119 void __thiscall
basic_fstream_char_open_old(basic_fstream_char
*this,
11120 const char *name
, unsigned int mode
)
11122 basic_fstream_char_open(this, name
, mode
, _SH_DENYNO
);
11125 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */
11126 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */
11127 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */
11128 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */
11129 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar
, 16)
11130 void __thiscall
basic_fstream_char_open_wchar(basic_fstream_char
*this,
11131 const wchar_t *name
, int mode
, int prot
)
11133 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
11135 if(!basic_filebuf_char_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11136 basic_ios_char
*basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
11137 basic_ios_char_setstate(basic_ios
, IOSTATE_failbit
);
11141 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */
11142 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */
11143 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */
11144 /* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */
11145 DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar_old
, 12)
11146 void __thiscall
basic_fstream_char_open_wchar_old(basic_fstream_char
*this,
11147 const wchar_t *name
, unsigned int mode
)
11149 basic_fstream_char_open_wchar(this, name
, mode
, _SH_DENYNO
);
11152 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11153 /* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */
11154 DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf
, 4)
11155 basic_filebuf_char
* __thiscall
basic_fstream_char_rdbuf(const basic_fstream_char
*this)
11157 TRACE("(%p)\n", this);
11158 return (basic_filebuf_char
*)&this->filebuf
;
11161 static inline basic_ios_wchar
* basic_fstream_wchar_to_basic_ios(basic_fstream_wchar
*ptr
)
11163 return (basic_ios_wchar
*)((char*)ptr
+basic_fstream_wchar_vbtable1
[1]);
11166 static inline basic_fstream_wchar
* basic_fstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11168 return (basic_fstream_wchar
*)((char*)ptr
-basic_fstream_wchar_vbtable1
[1]);
11171 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */
11172 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */
11173 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor
, 8)
11174 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
11176 basic_ios_wchar
*basic_ios
;
11178 TRACE("(%p %d)\n", this, virt_init
);
11181 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11182 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11183 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11184 basic_ios_wchar_ctor(basic_ios
);
11186 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11189 basic_filebuf_wchar_ctor(&this->filebuf
);
11190 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11191 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
11195 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ */
11196 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */
11197 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor
, 8)
11198 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor(basic_fstream_wchar
*this, MSVCP_bool virt_init
)
11200 basic_fstream_wchar_ctor(this, virt_init
);
11201 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11205 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
11206 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11207 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_file
, 12)
11208 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_file(basic_fstream_wchar
*this,
11209 FILE *file
, MSVCP_bool virt_init
)
11211 basic_ios_wchar
*basic_ios
;
11213 TRACE("(%p %p %d)\n", this, file
, virt_init
);
11216 this->base
.base1
.vbtable
= basic_fstream_wchar_vbtable1
;
11217 this->base
.base2
.vbtable
= basic_fstream_wchar_vbtable2
;
11218 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11219 basic_ios_wchar_ctor(basic_ios
);
11221 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11224 basic_filebuf_wchar_ctor_file(&this->filebuf
, file
);
11225 basic_iostream_wchar_ctor(&this->base
, &this->filebuf
.base
, FALSE
);
11226 basic_ios
->base
.vtable
= &MSVCP_basic_fstream_wchar_vtable
;
11230 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
11231 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
11232 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_file
, 12)
11233 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_file(basic_fstream_wchar
*this,
11234 FILE *file
, MSVCP_bool virt_init
)
11236 basic_fstream_wchar_ctor_file(this, file
, virt_init
);
11237 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11241 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11242 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11243 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name
, 20)
11244 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_name(basic_fstream_wchar
*this,
11245 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11247 TRACE("(%p %s %d %d %d)\n", this, name
, mode
, prot
, virt_init
);
11249 basic_fstream_wchar_ctor(this, virt_init
);
11251 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11252 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11253 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11258 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
11259 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
11260 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name
, 20)
11261 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name(basic_fstream_wchar
*this,
11262 const char *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11264 basic_fstream_wchar_ctor_name(this, name
, mode
, prot
, virt_init
);
11265 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11269 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */
11270 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */
11271 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */
11272 /* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */
11273 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name_wchar
, 20)
11274 basic_fstream_wchar
* __thiscall
basic_fstream_wchar_ctor_name_wchar(basic_fstream_wchar
*this,
11275 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11277 TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name
), mode
, prot
, virt_init
);
11279 basic_fstream_wchar_ctor(this, virt_init
);
11281 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11282 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11283 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11288 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */
11289 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */
11290 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */
11291 /* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */
11292 DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name_wchar
, 20)
11293 basic_fstream_wchar
* __thiscall
basic_fstream_short_ctor_name_wchar(basic_fstream_wchar
*this,
11294 const wchar_t *name
, int mode
, int prot
, MSVCP_bool virt_init
)
11296 basic_fstream_wchar_ctor_name_wchar(this, name
, mode
, prot
, virt_init
);
11297 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_fstream_short_vtable
;
11301 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
11302 /* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
11303 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ */
11304 /* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */
11305 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_dtor
, 4)
11306 void __thiscall
basic_fstream_wchar_dtor(basic_ios_wchar
*base
)
11308 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11310 TRACE("(%p)\n", this);
11312 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
11313 basic_filebuf_wchar_dtor(&this->filebuf
);
11316 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11317 /* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11318 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11319 /* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11320 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vbase_dtor
, 4)
11321 void __thiscall
basic_fstream_wchar_vbase_dtor(basic_fstream_wchar
*this)
11323 TRACE("(%p)\n", this);
11325 basic_fstream_wchar_dtor(basic_fstream_wchar_to_basic_ios(this));
11326 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
11329 DEFINE_THISCALL_WRAPPER(MSVCP_basic_fstream_wchar_vector_dtor
, 8)
11330 basic_fstream_wchar
* __thiscall
MSVCP_basic_fstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11332 basic_fstream_wchar
*this = basic_fstream_wchar_from_basic_ios(base
);
11334 TRACE("(%p %x)\n", this, flags
);
11337 /* we have an array, with the number of elements stored before the first object */
11338 int i
, *ptr
= (int *)this-1;
11340 for(i
=*ptr
-1; i
>=0; i
--)
11341 basic_fstream_wchar_vbase_dtor(this+i
);
11342 MSVCRT_operator_delete(ptr
);
11344 basic_fstream_wchar_vbase_dtor(this);
11346 MSVCRT_operator_delete(this);
11352 DEFINE_THISCALL_WRAPPER(MSVCP_basic_fstream_short_vector_dtor
, 8)
11353 basic_fstream_wchar
* __thiscall
MSVCP_basic_fstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11355 return MSVCP_basic_fstream_wchar_vector_dtor(base
, flags
);
11358 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
11359 /* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
11360 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */
11361 /* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */
11362 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_close
, 4)
11363 void __thiscall
basic_fstream_wchar_close(basic_fstream_wchar
*this)
11365 TRACE("(%p)\n", this);
11367 if(!basic_filebuf_wchar_close(&this->filebuf
)) {
11368 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11369 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11373 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */
11374 /* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */
11375 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */
11376 /* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */
11377 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_is_open
, 4)
11378 MSVCP_bool __thiscall
basic_fstream_wchar_is_open(const basic_fstream_wchar
*this)
11380 TRACE("(%p)\n", this);
11381 return basic_filebuf_wchar_is_open(&this->filebuf
);
11384 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */
11385 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */
11386 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */
11387 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */
11388 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open
, 16)
11389 void __thiscall
basic_fstream_wchar_open(basic_fstream_wchar
*this,
11390 const char *name
, int mode
, int prot
)
11392 TRACE("(%p %s %d %d)\n", this, name
, mode
, prot
);
11394 if(!basic_filebuf_wchar_open(&this->filebuf
, name
, mode
, prot
)) {
11395 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11396 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11400 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */
11401 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */
11402 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */
11403 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */
11404 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old
, 12)
11405 void __thiscall
basic_fstream_wchar_open_old(basic_fstream_wchar
*this,
11406 const char *name
, unsigned int mode
)
11408 basic_fstream_wchar_open(this, name
, mode
, _SH_DENYNO
);
11411 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */
11412 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */
11413 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */
11414 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */
11415 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */
11416 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */
11417 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */
11418 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */
11419 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar
, 16)
11420 void __thiscall
basic_fstream_wchar_open_wchar(basic_fstream_wchar
*this,
11421 const wchar_t *name
, int mode
, int prot
)
11423 TRACE("(%p %s %d %d)\n", this, debugstr_w(name
), mode
, prot
);
11425 if(!basic_filebuf_wchar_open_wchar(&this->filebuf
, name
, mode
, prot
)) {
11426 basic_ios_wchar
*basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
11427 basic_ios_wchar_setstate(basic_ios
, IOSTATE_failbit
);
11431 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */
11432 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */
11433 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */
11434 /* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */
11435 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */
11436 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */
11437 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */
11438 /* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */
11439 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar_old
, 12)
11440 void __thiscall
basic_fstream_wchar_open_wchar_old(basic_fstream_wchar
*this,
11441 const wchar_t *name
, unsigned int mode
)
11443 basic_fstream_wchar_open_wchar(this, name
, mode
, _SH_DENYNO
);
11446 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11447 /* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */
11448 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11449 /* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */
11450 DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_rdbuf
, 4)
11451 basic_filebuf_wchar
* __thiscall
basic_fstream_wchar_rdbuf(const basic_fstream_wchar
*this)
11453 TRACE("(%p)\n", this);
11454 return (basic_filebuf_wchar
*)&this->filebuf
;
11457 static inline basic_ios_char
* basic_ostringstream_char_to_basic_ios(basic_ostringstream_char
*ptr
)
11459 return (basic_ios_char
*)((char*)ptr
+basic_ostringstream_char_vbtable
[1]);
11462 static inline basic_ostringstream_char
* basic_ostringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11464 return (basic_ostringstream_char
*)((char*)ptr
-basic_ostringstream_char_vbtable
[1]);
11467 /* ??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 */
11468 /* ??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 */
11469 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_str
, 16)
11470 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_str(basic_ostringstream_char
*this,
11471 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11473 basic_ios_char
*basic_ios
;
11475 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11478 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11479 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11480 basic_ios_char_ctor(basic_ios
);
11482 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11485 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11486 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11487 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11491 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11492 /* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11493 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_mode
, 12)
11494 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor_mode(
11495 basic_ostringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11497 basic_ios_char
*basic_ios
;
11499 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11502 this->base
.vbtable
= basic_ostringstream_char_vbtable
;
11503 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11504 basic_ios_char_ctor(basic_ios
);
11506 basic_ios
= basic_ostream_char_get_basic_ios(&this->base
);
11509 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11510 basic_ostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11511 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_char_vtable
;
11515 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11516 /* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11517 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor
, 8)
11518 basic_ostringstream_char
* __thiscall
basic_ostringstream_char_ctor(
11519 basic_ostringstream_char
*this, MSVCP_bool virt_init
)
11521 return basic_ostringstream_char_ctor_mode(this, 0, virt_init
);
11524 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11525 /* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11526 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_dtor
, 4)
11527 void __thiscall
basic_ostringstream_char_dtor(basic_ios_char
*base
)
11529 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11531 TRACE("(%p)\n", this);
11533 basic_stringbuf_char_dtor(&this->strbuf
);
11534 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base
));
11537 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11538 /* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11539 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vbase_dtor
, 4)
11540 void __thiscall
basic_ostringstream_char_vbase_dtor(basic_ostringstream_char
*this)
11542 TRACE("(%p)\n", this);
11544 basic_ostringstream_char_dtor(basic_ostringstream_char_to_basic_ios(this));
11545 basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base
));
11548 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostringstream_char_vector_dtor
, 8)
11549 basic_ostringstream_char
* __thiscall
MSVCP_basic_ostringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11551 basic_ostringstream_char
*this = basic_ostringstream_char_from_basic_ios(base
);
11553 TRACE("(%p %x)\n", this, flags
);
11556 /* we have an array, with the number of elements stored before the first object */
11557 int i
, *ptr
= (int *)this-1;
11559 for(i
=*ptr
-1; i
>=0; i
--)
11560 basic_ostringstream_char_vbase_dtor(this+i
);
11561 MSVCRT_operator_delete(ptr
);
11563 basic_ostringstream_char_vbase_dtor(this);
11565 MSVCRT_operator_delete(this);
11571 /* ?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 */
11572 /* ?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 */
11573 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_rdbuf
, 4)
11574 basic_stringbuf_char
* __thiscall
basic_ostringstream_char_rdbuf(const basic_ostringstream_char
*this)
11576 TRACE("(%p)\n", this);
11577 return (basic_stringbuf_char
*)&this->strbuf
;
11580 /* ?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 */
11581 /* ?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 */
11582 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_set
, 8)
11583 void __thiscall
basic_ostringstream_char_str_set(basic_ostringstream_char
*this, const basic_string_char
*str
)
11585 TRACE("(%p %p)\n", this, str
);
11586 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11589 /* ?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 */
11590 /* ?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 */
11591 DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_get
, 8)
11592 basic_string_char
* __thiscall
basic_ostringstream_char_str_get(const basic_ostringstream_char
*this, basic_string_char
*ret
)
11594 TRACE("(%p %p)\n", this, ret
);
11595 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11598 static inline basic_ios_wchar
* basic_ostringstream_wchar_to_basic_ios(basic_ostringstream_wchar
*ptr
)
11600 return (basic_ios_wchar
*)((char*)ptr
+basic_ostringstream_wchar_vbtable
[1]);
11603 static inline basic_ostringstream_wchar
* basic_ostringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11605 return (basic_ostringstream_wchar
*)((char*)ptr
-basic_ostringstream_wchar_vbtable
[1]);
11608 /* ??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 */
11609 /* ??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 */
11610 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_str
, 16)
11611 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_str(basic_ostringstream_wchar
*this,
11612 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11614 basic_ios_wchar
*basic_ios
;
11616 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11619 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11620 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11621 basic_ios_wchar_ctor(basic_ios
);
11623 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11626 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_out
);
11627 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11628 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11632 /* ??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 */
11633 /* ??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 */
11634 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_str
, 16)
11635 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_str(basic_ostringstream_wchar
*this,
11636 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11638 basic_ostringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11639 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11643 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11644 /* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11645 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_mode
, 12)
11646 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor_mode(
11647 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11649 basic_ios_wchar
*basic_ios
;
11651 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11654 this->base
.vbtable
= basic_ostringstream_wchar_vbtable
;
11655 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11656 basic_ios_wchar_ctor(basic_ios
);
11658 basic_ios
= basic_ostream_wchar_get_basic_ios(&this->base
);
11661 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_out
);
11662 basic_ostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11663 basic_ios
->base
.vtable
= &MSVCP_basic_ostringstream_wchar_vtable
;
11667 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11668 /* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11669 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_mode
, 12)
11670 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor_mode(
11671 basic_ostringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11673 basic_ostringstream_wchar_ctor_mode(this, mode
, virt_init
);
11674 basic_ostream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_ostringstream_short_vtable
;
11678 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11679 /* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11680 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor
, 8)
11681 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_wchar_ctor(
11682 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11684 return basic_ostringstream_wchar_ctor_mode(this, 0, virt_init
);
11687 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11688 /* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11689 DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor
, 8)
11690 basic_ostringstream_wchar
* __thiscall
basic_ostringstream_short_ctor(
11691 basic_ostringstream_wchar
*this, MSVCP_bool virt_init
)
11693 return basic_ostringstream_short_ctor_mode(this, 0, virt_init
);
11696 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
11697 /* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
11698 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
11699 /* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
11700 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_dtor
, 4)
11701 void __thiscall
basic_ostringstream_wchar_dtor(basic_ios_wchar
*base
)
11703 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11705 TRACE("(%p)\n", this);
11707 basic_stringbuf_wchar_dtor(&this->strbuf
);
11708 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base
));
11711 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
11712 /* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
11713 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
11714 /* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
11715 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vbase_dtor
, 4)
11716 void __thiscall
basic_ostringstream_wchar_vbase_dtor(basic_ostringstream_wchar
*this)
11718 TRACE("(%p)\n", this);
11720 basic_ostringstream_wchar_dtor(basic_ostringstream_wchar_to_basic_ios(this));
11721 basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base
));
11724 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostringstream_wchar_vector_dtor
, 8)
11725 basic_ostringstream_wchar
* __thiscall
MSVCP_basic_ostringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11727 basic_ostringstream_wchar
*this = basic_ostringstream_wchar_from_basic_ios(base
);
11729 TRACE("(%p %x)\n", this, flags
);
11732 /* we have an array, with the number of elements stored before the first object */
11733 int i
, *ptr
= (int *)this-1;
11735 for(i
=*ptr
-1; i
>=0; i
--)
11736 basic_ostringstream_wchar_vbase_dtor(this+i
);
11737 MSVCRT_operator_delete(ptr
);
11739 basic_ostringstream_wchar_vbase_dtor(this);
11741 MSVCRT_operator_delete(this);
11747 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostringstream_short_vector_dtor
, 8)
11748 basic_ostringstream_wchar
* __thiscall
MSVCP_basic_ostringstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
11750 return MSVCP_basic_ostringstream_wchar_vector_dtor(base
, flags
);
11753 /* ?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 */
11754 /* ?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 */
11755 /* ?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 */
11756 /* ?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 */
11757 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_rdbuf
, 4)
11758 basic_stringbuf_wchar
* __thiscall
basic_ostringstream_wchar_rdbuf(const basic_ostringstream_wchar
*this)
11760 TRACE("(%p)\n", this);
11761 return (basic_stringbuf_wchar
*)&this->strbuf
;
11764 /* ?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 */
11765 /* ?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 */
11766 /* ?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 */
11767 /* ?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 */
11768 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_set
, 8)
11769 void __thiscall
basic_ostringstream_wchar_str_set(basic_ostringstream_wchar
*this, const basic_string_wchar
*str
)
11771 TRACE("(%p %p)\n", this, str
);
11772 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
11775 /* ?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 */
11776 /* ?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 */
11777 /* ?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 */
11778 /* ?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 */
11779 DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_get
, 8)
11780 basic_string_wchar
* __thiscall
basic_ostringstream_wchar_str_get(const basic_ostringstream_wchar
*this, basic_string_wchar
*ret
)
11782 TRACE("(%p %p)\n", this, ret
);
11783 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
11786 static inline basic_ios_char
* basic_istringstream_char_to_basic_ios(basic_istringstream_char
*ptr
)
11788 return (basic_ios_char
*)((char*)ptr
+basic_istringstream_char_vbtable
[1]);
11791 static inline basic_istringstream_char
* basic_istringstream_char_from_basic_ios(basic_ios_char
*ptr
)
11793 return (basic_istringstream_char
*)((char*)ptr
-basic_istringstream_char_vbtable
[1]);
11796 /* ??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 */
11797 /* ??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 */
11798 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_str
, 16)
11799 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_str(basic_istringstream_char
*this,
11800 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
11802 basic_ios_char
*basic_ios
;
11804 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11807 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11808 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11809 basic_ios_char_ctor(basic_ios
);
11811 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11814 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11815 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11816 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11820 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
11821 /* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
11822 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_mode
, 12)
11823 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor_mode(
11824 basic_istringstream_char
*this, int mode
, MSVCP_bool virt_init
)
11826 basic_ios_char
*basic_ios
;
11828 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11831 this->base
.vbtable
= basic_istringstream_char_vbtable
;
11832 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11833 basic_ios_char_ctor(basic_ios
);
11835 basic_ios
= basic_istream_char_get_basic_ios(&this->base
);
11838 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11839 basic_istream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11840 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_char_vtable
;
11844 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11845 /* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11846 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor
, 8)
11847 basic_istringstream_char
* __thiscall
basic_istringstream_char_ctor(
11848 basic_istringstream_char
*this, MSVCP_bool virt_init
)
11850 return basic_istringstream_char_ctor_mode(this, 0, virt_init
);
11853 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
11854 /* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
11855 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_dtor
, 4)
11856 void __thiscall
basic_istringstream_char_dtor(basic_ios_char
*base
)
11858 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11860 TRACE("(%p)\n", this);
11862 basic_stringbuf_char_dtor(&this->strbuf
);
11863 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base
));
11866 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
11867 /* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
11868 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vbase_dtor
, 4)
11869 void __thiscall
basic_istringstream_char_vbase_dtor(basic_istringstream_char
*this)
11871 TRACE("(%p)\n", this);
11873 basic_istringstream_char_dtor(basic_istringstream_char_to_basic_ios(this));
11874 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
));
11877 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istringstream_char_vector_dtor
, 8)
11878 basic_istringstream_char
* __thiscall
MSVCP_basic_istringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
11880 basic_istringstream_char
*this = basic_istringstream_char_from_basic_ios(base
);
11882 TRACE("(%p %x)\n", this, flags
);
11885 /* we have an array, with the number of elements stored before the first object */
11886 int i
, *ptr
= (int *)this-1;
11888 for(i
=*ptr
-1; i
>=0; i
--)
11889 basic_istringstream_char_vbase_dtor(this+i
);
11890 MSVCRT_operator_delete(ptr
);
11892 basic_istringstream_char_vbase_dtor(this);
11894 MSVCRT_operator_delete(this);
11900 /* ?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 */
11901 /* ?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 */
11902 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_rdbuf
, 4)
11903 basic_stringbuf_char
* __thiscall
basic_istringstream_char_rdbuf(const basic_istringstream_char
*this)
11905 TRACE("(%p)\n", this);
11906 return (basic_stringbuf_char
*)&this->strbuf
;
11909 /* ?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 */
11910 /* ?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 */
11911 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_set
, 8)
11912 void __thiscall
basic_istringstream_char_str_set(basic_istringstream_char
*this, const basic_string_char
*str
)
11914 TRACE("(%p %p)\n", this, str
);
11915 basic_stringbuf_char_str_set(&this->strbuf
, str
);
11918 /* ?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 */
11919 /* ?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 */
11920 DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_get
, 8)
11921 basic_string_char
* __thiscall
basic_istringstream_char_str_get(const basic_istringstream_char
*this, basic_string_char
*ret
)
11923 TRACE("(%p %p)\n", this, ret
);
11924 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
11927 static inline basic_ios_wchar
* basic_istringstream_wchar_to_basic_ios(basic_istringstream_wchar
*ptr
)
11929 return (basic_ios_wchar
*)((char*)ptr
+basic_istringstream_wchar_vbtable
[1]);
11932 static inline basic_istringstream_wchar
* basic_istringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
11934 return (basic_istringstream_wchar
*)((char*)ptr
-basic_istringstream_wchar_vbtable
[1]);
11937 /* ??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 */
11938 /* ??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 */
11939 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_str
, 16)
11940 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_str(basic_istringstream_wchar
*this,
11941 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11943 basic_ios_wchar
*basic_ios
;
11945 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
11948 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11949 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11950 basic_ios_wchar_ctor(basic_ios
);
11952 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11955 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
|OPENMODE_in
);
11956 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11957 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11961 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
11962 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
11963 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_str
, 16)
11964 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_str(basic_istringstream_wchar
*this,
11965 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
11967 basic_istringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
11968 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_istringstream_short_vtable
;
11972 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
11973 /* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
11974 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_mode
, 12)
11975 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor_mode(
11976 basic_istringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
11978 basic_ios_wchar
*basic_ios
;
11980 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
11983 this->base
.vbtable
= basic_istringstream_wchar_vbtable
;
11984 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11985 basic_ios_wchar_ctor(basic_ios
);
11987 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
);
11990 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
|OPENMODE_in
);
11991 basic_istream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
, FALSE
);
11992 basic_ios
->base
.vtable
= &MSVCP_basic_istringstream_wchar_vtable
;
11996 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
11997 /* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
11998 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_mode
, 12)
11999 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor_mode(
12000 basic_istringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
12002 basic_istringstream_wchar_ctor_mode(this, mode
, virt_init
);
12003 basic_istream_wchar_get_basic_ios(&this->base
)->base
.vtable
= &MSVCP_basic_istringstream_short_vtable
;
12007 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12008 /* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12009 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor
, 8)
12010 basic_istringstream_wchar
* __thiscall
basic_istringstream_wchar_ctor(
12011 basic_istringstream_wchar
*this, MSVCP_bool virt_init
)
12013 return basic_istringstream_wchar_ctor_mode(this, 0, virt_init
);
12016 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12017 /* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12018 DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor
, 8)
12019 basic_istringstream_wchar
* __thiscall
basic_istringstream_short_ctor(
12020 basic_istringstream_wchar
*this, MSVCP_bool virt_init
)
12022 return basic_istringstream_short_ctor_mode(this, 0, virt_init
);
12025 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
12026 /* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
12027 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
12028 /* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
12029 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_dtor
, 4)
12030 void __thiscall
basic_istringstream_wchar_dtor(basic_ios_wchar
*base
)
12032 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
12034 TRACE("(%p)\n", this);
12036 basic_stringbuf_wchar_dtor(&this->strbuf
);
12037 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base
));
12040 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12041 /* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12042 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12043 /* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12044 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vbase_dtor
, 4)
12045 void __thiscall
basic_istringstream_wchar_vbase_dtor(basic_istringstream_wchar
*this)
12047 TRACE("(%p)\n", this);
12049 basic_istringstream_wchar_dtor(basic_istringstream_wchar_to_basic_ios(this));
12050 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
));
12053 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istringstream_wchar_vector_dtor
, 8)
12054 basic_istringstream_wchar
* __thiscall
MSVCP_basic_istringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12056 basic_istringstream_wchar
*this = basic_istringstream_wchar_from_basic_ios(base
);
12058 TRACE("(%p %x)\n", this, flags
);
12061 /* we have an array, with the number of elements stored before the first object */
12062 int i
, *ptr
= (int *)this-1;
12064 for(i
=*ptr
-1; i
>=0; i
--)
12065 basic_istringstream_wchar_vbase_dtor(this+i
);
12066 MSVCRT_operator_delete(ptr
);
12068 basic_istringstream_wchar_vbase_dtor(this);
12070 MSVCRT_operator_delete(this);
12076 DEFINE_THISCALL_WRAPPER(MSVCP_basic_istringstream_short_vector_dtor
, 8)
12077 basic_istringstream_wchar
* __thiscall
MSVCP_basic_istringstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12079 return MSVCP_basic_istringstream_wchar_vector_dtor(base
, flags
);
12082 /* ?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 */
12083 /* ?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 */
12084 /* ?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12085 /* ?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12086 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_rdbuf
, 4)
12087 basic_stringbuf_wchar
* __thiscall
basic_istringstream_wchar_rdbuf(const basic_istringstream_wchar
*this)
12089 TRACE("(%p)\n", this);
12090 return (basic_stringbuf_wchar
*)&this->strbuf
;
12093 /* ?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 */
12094 /* ?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 */
12095 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12096 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12097 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_set
, 8)
12098 void __thiscall
basic_istringstream_wchar_str_set(basic_istringstream_wchar
*this, const basic_string_wchar
*str
)
12100 TRACE("(%p %p)\n", this, str
);
12101 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12104 /* ?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 */
12105 /* ?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 */
12106 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12107 /* ?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12108 DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_get
, 8)
12109 basic_string_wchar
* __thiscall
basic_istringstream_wchar_str_get(const basic_istringstream_wchar
*this, basic_string_wchar
*ret
)
12111 TRACE("(%p %p)\n", this, ret
);
12112 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12115 static inline basic_ios_char
* basic_stringstream_char_to_basic_ios(basic_stringstream_char
*ptr
)
12117 return (basic_ios_char
*)((char*)ptr
+basic_stringstream_char_vbtable1
[1]);
12120 static inline basic_stringstream_char
* basic_stringstream_char_from_basic_ios(basic_ios_char
*ptr
)
12122 return (basic_stringstream_char
*)((char*)ptr
-basic_stringstream_char_vbtable1
[1]);
12125 /* ??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 */
12126 /* ??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 */
12127 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_str
, 16)
12128 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_str(basic_stringstream_char
*this,
12129 const basic_string_char
*str
, int mode
, MSVCP_bool virt_init
)
12131 basic_ios_char
*basic_ios
;
12133 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12136 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12137 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12138 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12139 basic_ios_char_ctor(basic_ios
);
12141 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12144 basic_stringbuf_char_ctor_str(&this->strbuf
, str
, mode
);
12145 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12146 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
12150 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */
12151 /* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */
12152 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_mode
, 12)
12153 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor_mode(
12154 basic_stringstream_char
*this, int mode
, MSVCP_bool virt_init
)
12156 basic_ios_char
*basic_ios
;
12158 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12161 this->base
.base1
.vbtable
= basic_stringstream_char_vbtable1
;
12162 this->base
.base2
.vbtable
= basic_stringstream_char_vbtable2
;
12163 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12164 basic_ios_char_ctor(basic_ios
);
12166 basic_ios
= basic_istream_char_get_basic_ios(&this->base
.base1
);
12169 basic_stringbuf_char_ctor_mode(&this->strbuf
, mode
);
12170 basic_iostream_char_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12171 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_char_vtable
;
12175 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12176 /* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12177 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor
, 8)
12178 basic_stringstream_char
* __thiscall
basic_stringstream_char_ctor(
12179 basic_stringstream_char
*this, MSVCP_bool virt_init
)
12181 return basic_stringstream_char_ctor_mode(
12182 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12185 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */
12186 /* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */
12187 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_dtor
, 4)
12188 void __thiscall
basic_stringstream_char_dtor(basic_ios_char
*base
)
12190 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12192 TRACE("(%p)\n", this);
12194 basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base
));
12195 basic_stringbuf_char_dtor(&this->strbuf
);
12198 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */
12199 /* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */
12200 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vbase_dtor
, 4)
12201 void __thiscall
basic_stringstream_char_vbase_dtor(basic_stringstream_char
*this)
12203 TRACE("(%p)\n", this);
12205 basic_stringstream_char_dtor(basic_stringstream_char_to_basic_ios(this));
12206 basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base
.base1
));
12209 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringstream_char_vector_dtor
, 8)
12210 basic_stringstream_char
* __thiscall
MSVCP_basic_stringstream_char_vector_dtor(basic_ios_char
*base
, unsigned int flags
)
12212 basic_stringstream_char
*this = basic_stringstream_char_from_basic_ios(base
);
12214 TRACE("(%p %x)\n", this, flags
);
12217 /* we have an array, with the number of elements stored before the first object */
12218 int i
, *ptr
= (int *)this-1;
12220 for(i
=*ptr
-1; i
>=0; i
--)
12221 basic_stringstream_char_vbase_dtor(this+i
);
12222 MSVCRT_operator_delete(ptr
);
12224 basic_stringstream_char_vbase_dtor(this);
12226 MSVCRT_operator_delete(this);
12232 /* ?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 */
12233 /* ?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 */
12234 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_rdbuf
, 4)
12235 basic_stringbuf_char
* __thiscall
basic_stringstream_char_rdbuf(const basic_stringstream_char
*this)
12237 TRACE("(%p)\n", this);
12238 return (basic_stringbuf_char
*)&this->strbuf
;
12241 /* ?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 */
12242 /* ?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 */
12243 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_set
, 8)
12244 void __thiscall
basic_stringstream_char_str_set(basic_stringstream_char
*this, const basic_string_char
*str
)
12246 TRACE("(%p %p)\n", this, str
);
12247 basic_stringbuf_char_str_set(&this->strbuf
, str
);
12250 /* ?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 */
12251 /* ?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 */
12252 DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_get
, 8)
12253 basic_string_char
* __thiscall
basic_stringstream_char_str_get(const basic_stringstream_char
*this, basic_string_char
*ret
)
12255 TRACE("(%p %p)\n", this, ret
);
12256 return basic_stringbuf_char_str_get(&this->strbuf
, ret
);
12259 static inline basic_ios_wchar
* basic_stringstream_wchar_to_basic_ios(basic_stringstream_wchar
*ptr
)
12261 return (basic_ios_wchar
*)((char*)ptr
+basic_stringstream_wchar_vbtable1
[1]);
12264 static inline basic_stringstream_wchar
* basic_stringstream_wchar_from_basic_ios(basic_ios_wchar
*ptr
)
12266 return (basic_stringstream_wchar
*)((char*)ptr
-basic_stringstream_wchar_vbtable1
[1]);
12269 /* ??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 */
12270 /* ??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 */
12271 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_str
, 16)
12272 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_str(basic_stringstream_wchar
*this,
12273 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
12275 basic_ios_wchar
*basic_ios
;
12277 TRACE("(%p %p %d %d)\n", this, str
, mode
, virt_init
);
12280 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
12281 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
12282 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12283 basic_ios_wchar_ctor(basic_ios
);
12285 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12288 basic_stringbuf_wchar_ctor_str(&this->strbuf
, str
, mode
);
12289 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12290 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
12294 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
12295 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z */
12296 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_str
, 16)
12297 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_str(basic_stringstream_wchar
*this,
12298 const basic_string_wchar
*str
, int mode
, MSVCP_bool virt_init
)
12300 basic_stringstream_wchar_ctor_str(this, str
, mode
, virt_init
);
12301 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_stringstream_short_vtable
;
12305 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */
12306 /* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */
12307 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_mode
, 12)
12308 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor_mode(
12309 basic_stringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
12311 basic_ios_wchar
*basic_ios
;
12313 TRACE("(%p %d %d)\n", this, mode
, virt_init
);
12316 this->base
.base1
.vbtable
= basic_stringstream_wchar_vbtable1
;
12317 this->base
.base2
.vbtable
= basic_stringstream_wchar_vbtable2
;
12318 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12319 basic_ios_wchar_ctor(basic_ios
);
12321 basic_ios
= basic_istream_wchar_get_basic_ios(&this->base
.base1
);
12324 basic_stringbuf_wchar_ctor_mode(&this->strbuf
, mode
);
12325 basic_iostream_wchar_ctor(&this->base
, &this->strbuf
.base
, FALSE
);
12326 basic_ios
->base
.vtable
= &MSVCP_basic_stringstream_wchar_vtable
;
12330 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */
12331 /* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */
12332 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_mode
, 12)
12333 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor_mode(
12334 basic_stringstream_wchar
*this, int mode
, MSVCP_bool virt_init
)
12336 basic_stringstream_wchar_ctor_mode(this, mode
, virt_init
);
12337 basic_istream_wchar_get_basic_ios(&this->base
.base1
)->base
.vtable
= &MSVCP_basic_stringstream_short_vtable
;
12341 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12342 /* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12343 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor
, 8)
12344 basic_stringstream_wchar
* __thiscall
basic_stringstream_wchar_ctor(
12345 basic_stringstream_wchar
*this, MSVCP_bool virt_init
)
12347 return basic_stringstream_wchar_ctor_mode(
12348 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12351 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12352 /* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12353 DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor
, 8)
12354 basic_stringstream_wchar
* __thiscall
basic_stringstream_short_ctor(
12355 basic_stringstream_wchar
*this, MSVCP_bool virt_init
)
12357 return basic_stringstream_short_ctor_mode(
12358 this, OPENMODE_out
|OPENMODE_in
, virt_init
);
12361 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */
12362 /* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */
12363 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */
12364 /* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */
12365 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_dtor
, 4)
12366 void __thiscall
basic_stringstream_wchar_dtor(basic_ios_wchar
*base
)
12368 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12370 TRACE("(%p)\n", this);
12372 basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base
));
12373 basic_stringbuf_wchar_dtor(&this->strbuf
);
12376 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */
12377 /* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */
12378 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */
12379 /* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */
12380 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vbase_dtor
, 4)
12381 void __thiscall
basic_stringstream_wchar_vbase_dtor(basic_stringstream_wchar
*this)
12383 TRACE("(%p)\n", this);
12385 basic_stringstream_wchar_dtor(basic_stringstream_wchar_to_basic_ios(this));
12386 basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base
.base1
));
12389 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringstream_wchar_vector_dtor
, 8)
12390 basic_stringstream_wchar
* __thiscall
MSVCP_basic_stringstream_wchar_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12392 basic_stringstream_wchar
*this = basic_stringstream_wchar_from_basic_ios(base
);
12394 TRACE("(%p %x)\n", this, flags
);
12397 /* we have an array, with the number of elements stored before the first object */
12398 int i
, *ptr
= (int *)this-1;
12400 for(i
=*ptr
-1; i
>=0; i
--)
12401 basic_stringstream_wchar_vbase_dtor(this+i
);
12402 MSVCRT_operator_delete(ptr
);
12404 basic_stringstream_wchar_vbase_dtor(this);
12406 MSVCRT_operator_delete(this);
12412 DEFINE_THISCALL_WRAPPER(MSVCP_basic_stringstream_short_vector_dtor
, 8)
12413 basic_stringstream_wchar
* __thiscall
MSVCP_basic_stringstream_short_vector_dtor(basic_ios_wchar
*base
, unsigned int flags
)
12415 return MSVCP_basic_stringstream_wchar_vector_dtor(base
, flags
);
12418 /* ?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 */
12419 /* ?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 */
12420 /* ?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12421 /* ?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12422 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_rdbuf
, 4)
12423 basic_stringbuf_wchar
* __thiscall
basic_stringstream_wchar_rdbuf(const basic_stringstream_wchar
*this)
12425 TRACE("(%p)\n", this);
12426 return (basic_stringbuf_wchar
*)&this->strbuf
;
12429 /* ?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 */
12430 /* ?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 */
12431 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12432 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */
12433 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_set
, 8)
12434 void __thiscall
basic_stringstream_wchar_str_set(basic_stringstream_wchar
*this, const basic_string_wchar
*str
)
12436 TRACE("(%p %p)\n", this, str
);
12437 basic_stringbuf_wchar_str_set(&this->strbuf
, str
);
12440 /* ?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 */
12441 /* ?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 */
12442 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12443 /* ?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */
12444 DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_get
, 8)
12445 basic_string_wchar
* __thiscall
basic_stringstream_wchar_str_get(const basic_stringstream_wchar
*this, basic_string_wchar
*ret
)
12447 TRACE("(%p %p)\n", this, ret
);
12448 return basic_stringbuf_wchar_str_get(&this->strbuf
, ret
);
12451 /* ?_Init@strstreambuf@std@@IAEXHPAD0H@Z */
12452 /* ?_Init@strstreambuf@std@@IEAAX_JPEAD1H@Z */
12453 DEFINE_THISCALL_WRAPPER(strstreambuf__Init
, 24)
12454 void __thiscall
strstreambuf__Init(strstreambuf
*this, streamsize len
, char *g
, char *p
, int mode
)
12456 TRACE("(%p %s %p %p %d)\n", this, wine_dbgstr_longlong(len
), g
, p
, mode
);
12458 this->minsize
= 32;
12459 this->endsave
= NULL
;
12460 this->strmode
= mode
;
12461 this->palloc
= NULL
;
12462 this->pfree
= NULL
;
12465 this->strmode
|= STRSTATE_Dynamic
;
12466 if(len
> this->minsize
)
12467 this->minsize
= len
;
12468 this->seekhigh
= NULL
;
12477 this->seekhigh
= g
+len
;
12478 basic_streambuf_char_setg(&this->base
, g
, g
, p
? p
: this->seekhigh
);
12480 basic_streambuf_char_setp(&this->base
, p
, this->seekhigh
);
12483 /* ??0strstreambuf@std@@QAE@PACH0@Z */
12484 /* ??0strstreambuf@std@@QEAA@PEAC_J0@Z */
12485 /* ??0strstreambuf@std@@QAE@PADH0@Z */
12486 /* ??0strstreambuf@std@@QEAA@PEAD_J0@Z */
12487 /* ??0strstreambuf@std@@QAE@PAEH0@Z */
12488 /* ??0strstreambuf@std@@QEAA@PEAE_J0@Z */
12489 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get_put
, 20)
12490 strstreambuf
* __thiscall
strstreambuf_ctor_get_put(strstreambuf
*this, char *g
, streamsize len
, char *p
)
12492 TRACE("(%p %p %s %p)\n", this, g
, wine_dbgstr_longlong(len
), p
);
12494 basic_streambuf_char_ctor(&this->base
);
12495 this->base
.vtable
= &MSVCP_strstreambuf_vtable
;
12497 strstreambuf__Init(this, len
, g
, p
, 0);
12501 /* ??0strstreambuf@std@@QAE@H@Z */
12502 /* ??0strstreambuf@std@@QEAA@_J@Z */
12503 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_len
, 12)
12504 strstreambuf
* __thiscall
strstreambuf_ctor_len(strstreambuf
*this, streamsize len
)
12506 return strstreambuf_ctor_get_put(this, NULL
, len
, NULL
);
12509 /* ??0strstreambuf@std@@QAE@P6APAXI@ZP6AXPAX@Z@Z */
12510 /* ??0strstreambuf@std@@QEAA@P6APEAX_K@ZP6AXPEAX@Z@Z */
12511 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_alloc
, 12)
12512 strstreambuf
* __thiscall
strstreambuf_ctor_alloc(strstreambuf
*this, void* (__cdecl
*palloc
)(MSVCP_size_t
), void (__cdecl
*pfree
)(void*))
12514 TRACE("(%p %p %p)\n", this, palloc
, pfree
);
12516 strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12517 this->palloc
= palloc
;
12518 this->pfree
= pfree
;
12522 /* ??0strstreambuf@std@@QAE@PBCH@Z */
12523 /* ??0strstreambuf@std@@QEAA@PEBC_J@Z */
12524 /* ??0strstreambuf@std@@QAE@PBDH@Z */
12525 /* ??0strstreambuf@std@@QEAA@PEBD_J@Z */
12526 /* ??0strstreambuf@std@@QAE@PBEH@Z */
12527 /* ??0strstreambuf@std@@QEAA@PEBE_J@Z */
12528 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get
, 16)
12529 strstreambuf
* __thiscall
strstreambuf_ctor_get(strstreambuf
*this, const char *g
, streamsize len
)
12531 TRACE("(%p %p %s)\n", this, g
, wine_dbgstr_longlong(len
));
12533 strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12534 this->strmode
|= STRSTATE_Constant
;
12538 /* ??_Fstrstreambuf@std@@QAEXXZ */
12539 /* ??_Fstrstreambuf@std@@QEAAXXZ */
12540 DEFINE_THISCALL_WRAPPER(strstreambuf_ctor
, 4)
12541 strstreambuf
* __thiscall
strstreambuf_ctor(strstreambuf
*this)
12543 return strstreambuf_ctor_get_put(this, NULL
, 0, NULL
);
12546 /* ?_Tidy@strstreambuf@std@@IAEXXZ */
12547 /* ?_Tidy@strstreambuf@std@@IEAAXXZ */
12548 DEFINE_THISCALL_WRAPPER(strstreambuf__Tidy
, 4)
12549 void __thiscall
strstreambuf__Tidy(strstreambuf
*this)
12551 TRACE("(%p)\n", this);
12553 if((this->strmode
& STRSTATE_Allocated
) && !(this->strmode
& STRSTATE_Frozen
)) {
12555 this->pfree(basic_streambuf_char_eback(&this->base
));
12557 MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base
));
12560 this->endsave
= NULL
;
12561 this->seekhigh
= NULL
;
12562 this->strmode
&= ~(STRSTATE_Allocated
| STRSTATE_Frozen
);
12563 basic_streambuf_char_setg(&this->base
, NULL
, NULL
, NULL
);
12564 basic_streambuf_char_setp(&this->base
, NULL
, NULL
);
12567 /* ??1strstreambuf@std@@UAE@XZ */
12568 /* ??1strstreambuf@std@@UEAA@XZ */
12569 DEFINE_THISCALL_WRAPPER(strstreambuf_dtor
, 4)
12570 void __thiscall
strstreambuf_dtor(strstreambuf
*this)
12572 TRACE("(%p)\n", this);
12574 strstreambuf__Tidy(this);
12575 basic_streambuf_char_dtor(&this->base
);
12578 DEFINE_THISCALL_WRAPPER(MSVCP_strstreambuf_vector_dtor
, 8)
12579 strstreambuf
* __thiscall
MSVCP_strstreambuf_vector_dtor(strstreambuf
*this, unsigned int flags
)
12581 TRACE("(%p %x)\n", this, flags
);
12583 /* we have an array, with the number of elements stored before the first object */
12584 int i
, *ptr
= (int *)this-1;
12586 for(i
=*ptr
-1; i
>=0; i
--)
12587 strstreambuf_dtor(this+i
);
12588 MSVCRT_operator_delete(ptr
);
12590 strstreambuf_dtor(this);
12592 MSVCRT_operator_delete(this);
12598 /* ?freeze@strstreambuf@std@@QAEX_N@Z */
12599 /* ?freeze@strstreambuf@std@@QEAAX_N@Z */
12600 DEFINE_THISCALL_WRAPPER(strstreambuf_freeze
, 8)
12601 void __thiscall
strstreambuf_freeze(strstreambuf
*this, MSVCP_bool freeze
)
12603 TRACE("(%p %d)\n", this, freeze
);
12605 if(!freeze
== !(this->strmode
*STRSTATE_Frozen
))
12609 this->strmode
|= STRSTATE_Frozen
;
12610 this->endsave
= basic_streambuf_char_epptr(&this->base
);
12611 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12612 basic_streambuf_char_pptr(&this->base
), basic_streambuf_char_eback(&this->base
));
12614 this->strmode
&= ~STRSTATE_Frozen
;
12615 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
),
12616 basic_streambuf_char_pptr(&this->base
), this->endsave
);
12620 /* ?str@strstreambuf@std@@QAEPADXZ */
12621 /* ?str@strstreambuf@std@@QEAAPEADXZ */
12622 DEFINE_THISCALL_WRAPPER(strstreambuf_str
, 4)
12623 char* __thiscall
strstreambuf_str(strstreambuf
*this)
12625 TRACE("(%p)\n", this);
12627 strstreambuf_freeze(this, TRUE
);
12628 return basic_streambuf_char_gptr(&this->base
);
12631 /* ?pcount@strstreambuf@std@@QBEHXZ */
12632 /* ?pcount@strstreambuf@std@@QEBA_JXZ */
12633 DEFINE_THISCALL_WRAPPER(strstreambuf_pcount
, 4)
12634 streamsize __thiscall
strstreambuf_pcount(const strstreambuf
*this)
12636 char *ppos
= basic_streambuf_char_pptr(&this->base
);
12638 TRACE("(%p)\n", this);
12640 return ppos
? ppos
-basic_streambuf_char_pbase(&this->base
) : 0;
12643 /* ?overflow@strstreambuf@std@@MAEHH@Z */
12644 /* ?overflow@strstreambuf@std@@MEAAHH@Z */
12645 DEFINE_THISCALL_WRAPPER(strstreambuf_overflow
, 8)
12646 int __thiscall
strstreambuf_overflow(strstreambuf
*this, int c
)
12648 MSVCP_size_t old_size
, size
;
12651 TRACE("(%p %d)\n", this, c
);
12656 if(this->strmode
& STRSTATE_Frozen
)
12659 ptr
= basic_streambuf_char_pptr(&this->base
);
12660 if(ptr
&& ptr
<basic_streambuf_char_epptr(&this->base
))
12661 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12663 if(!(this->strmode
& STRSTATE_Dynamic
) || (this->strmode
& STRSTATE_Constant
))
12666 ptr
= basic_streambuf_char_eback(&this->base
);
12667 old_size
= ptr
? basic_streambuf_char_epptr(&this->base
) - ptr
: 0;
12669 size
= old_size
+ old_size
/2;
12670 if(size
< this->minsize
)
12671 size
= this->minsize
;
12674 buf
= this->palloc(size
);
12676 buf
= MSVCRT_operator_new(size
);
12680 memcpy(buf
, ptr
, old_size
);
12681 if(this->strmode
& STRSTATE_Allocated
) {
12685 MSVCRT_operator_delete(ptr
);
12688 this->strmode
|= STRSTATE_Allocated
;
12690 this->seekhigh
= buf
;
12691 basic_streambuf_char_setp(&this->base
, buf
, buf
+size
);
12692 basic_streambuf_char_setg(&this->base
, buf
, buf
, buf
);
12694 this->seekhigh
= this->seekhigh
-ptr
+buf
;
12695 basic_streambuf_char_setp_next(&this->base
, basic_streambuf_char_pbase(&this->base
)-ptr
+buf
,
12696 basic_streambuf_char_pptr(&this->base
)-ptr
+buf
, buf
+size
);
12697 basic_streambuf_char_setg(&this->base
, buf
, basic_streambuf_char_gptr(&this->base
)-ptr
+buf
,
12698 basic_streambuf_char_pptr(&this->base
));
12701 return (unsigned char)(*basic_streambuf_char__Pninc(&this->base
) = c
);
12704 /* ?pbackfail@strstreambuf@std@@MAEHH@Z */
12705 /* ?pbackfail@strstreambuf@std@@MEAAHH@Z */
12706 DEFINE_THISCALL_WRAPPER(strstreambuf_pbackfail
, 8)
12707 int __thiscall
strstreambuf_pbackfail(strstreambuf
*this, int c
)
12709 char *ptr
= basic_streambuf_char_gptr(&this->base
);
12711 TRACE("(%p %d)\n", this, c
);
12713 if(ptr
<=basic_streambuf_char_eback(&this->base
)
12714 || ((this->strmode
& STRSTATE_Constant
) && c
!=ptr
[-1]))
12717 basic_streambuf_char_gbump(&this->base
, -1);
12720 if(this->strmode
& STRSTATE_Constant
)
12721 return (unsigned char)c
;
12723 return (unsigned char)(ptr
[0] = c
);
12726 /* ?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JHH@Z */
12727 /* ?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
12728 DEFINE_THISCALL_WRAPPER(strstreambuf_seekoff
, 24)
12729 fpos_int
* __thiscall
strstreambuf_seekoff(strstreambuf
*this, fpos_int
*ret
, streamoff off
, int way
, int mode
)
12731 char *eback
= basic_streambuf_char_eback(&this->base
);
12732 char *pptr
= basic_streambuf_char_pptr(&this->base
);
12733 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12735 TRACE("(%p %p %s %d %d)\n", this, ret
, wine_dbgstr_longlong(off
), way
, mode
);
12740 if(pptr
> this->seekhigh
)
12741 this->seekhigh
= pptr
;
12743 if((mode
& OPENMODE_in
) && gptr
) {
12744 if(way
==SEEKDIR_cur
&& !(mode
& OPENMODE_out
))
12746 else if(way
== SEEKDIR_end
)
12747 off
+= this->seekhigh
-eback
;
12748 else if(way
!= SEEKDIR_beg
)
12751 if(off
<0 || off
>this->seekhigh
-eback
) {
12754 basic_streambuf_char_gbump(&this->base
, eback
-gptr
+off
);
12755 if((mode
& OPENMODE_out
) && pptr
) {
12756 basic_streambuf_char_setp_next(&this->base
, eback
,
12757 gptr
, basic_streambuf_char_epptr(&this->base
));
12760 }else if((mode
& OPENMODE_out
) && pptr
) {
12761 if(way
== SEEKDIR_cur
)
12763 else if(way
== SEEKDIR_end
)
12764 off
+= this->seekhigh
-eback
;
12765 else if(way
!= SEEKDIR_beg
)
12768 if(off
<0 || off
>this->seekhigh
-eback
)
12771 basic_streambuf_char_pbump(&this->base
, eback
-pptr
+off
);
12780 /* ?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z */
12781 /* ?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
12782 DEFINE_THISCALL_WRAPPER(strstreambuf_seekpos
, 36)
12783 fpos_int
* __thiscall
strstreambuf_seekpos(strstreambuf
*this, fpos_int
*ret
, fpos_int pos
, int mode
)
12785 TRACE("(%p %p %s %d)\n", this, ret
, debugstr_fpos_int(&pos
), mode
);
12787 if(pos
.off
==0 && pos
.pos
==-1 && pos
.state
==0) {
12792 return strstreambuf_seekoff(this, ret
, pos
.off
, SEEKDIR_beg
, mode
);
12795 /* ?underflow@strstreambuf@std@@MAEHXZ */
12796 /* ?underflow@strstreambuf@std@@MEAAHXZ */
12797 DEFINE_THISCALL_WRAPPER(strstreambuf_underflow
, 4)
12798 int __thiscall
strstreambuf_underflow(strstreambuf
*this)
12800 char *gptr
= basic_streambuf_char_gptr(&this->base
);
12803 TRACE("(%p)\n", this);
12808 if(gptr
< basic_streambuf_char_egptr(&this->base
))
12809 return (unsigned char)(*gptr
);
12811 pptr
= basic_streambuf_char_gptr(&this->base
);
12812 if(pptr
> this->seekhigh
)
12813 this->seekhigh
= pptr
;
12815 if(this->seekhigh
<= gptr
)
12818 basic_streambuf_char_setg(&this->base
, basic_streambuf_char_eback(&this->base
),
12819 gptr
, this->seekhigh
);
12820 return (unsigned char)(*gptr
);
12823 static void __cdecl
setprecision_func(ios_base
*base
, streamsize prec
)
12825 ios_base_precision_set(base
, prec
);
12828 /* ?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z */
12829 /* ?setprecision@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12830 manip_streamsize
* __cdecl
setprecision(manip_streamsize
*ret
, streamsize prec
)
12832 TRACE("(%p %s)\n", ret
, wine_dbgstr_longlong(prec
));
12834 ret
->pfunc
= setprecision_func
;
12839 static void __cdecl
setw_func(ios_base
*base
, streamsize width
)
12841 ios_base_width_set(base
, width
);
12844 /* ?setw@std@@YA?AU?$_Smanip@H@1@H@Z */
12845 /* ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z */
12846 manip_streamsize
* __cdecl
setw(manip_streamsize
*ret
, streamsize width
)
12848 TRACE("(%p %s)\n", ret
, wine_dbgstr_longlong(width
));
12850 ret
->pfunc
= setw_func
;
12855 static basic_filebuf_char filebuf_char_stdin
;
12856 /* ?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A */
12858 basic_istream_char obj
;
12859 basic_ios_char vbase
;
12861 /* ?_Ptr_cin@std@@3PAV?$basic_istream@DU?$char_traits@D@std@@@1@A */
12862 /* ?_Ptr_cin@std@@3PEAV?$basic_istream@DU?$char_traits@D@std@@@1@EA */
12863 basic_istream_char
*_Ptr_cin
= &cin
.obj
;
12865 static basic_filebuf_wchar filebuf_short_stdin
;
12866 /* ?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A */
12868 basic_istream_wchar obj
;
12869 basic_ios_wchar vbase
;
12870 } ucin
= { { 0 } };
12871 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@GU?$char_traits@G@std@@@1@A */
12872 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@GU?$char_traits@G@std@@@1@EA */
12873 basic_istream_wchar
*_Ptr_ucin
= &ucin
.obj
;
12875 static basic_filebuf_wchar filebuf_wchar_stdin
;
12876 /* ?wcin@std@@3V?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12878 basic_istream_wchar obj
;
12879 basic_ios_wchar vbase
;
12880 } wcin
= { { 0 } };
12881 /* ?_Ptr_wcin@std@@3PAV?$basic_istream@_WU?$char_traits@_W@std@@@1@A */
12882 /* ?_Ptr_wcin@std@@3PEAV?$basic_istream@_WU?$char_traits@_W@std@@@1@EA */
12883 basic_istream_wchar
*_Ptr_wcin
= &wcin
.obj
;
12885 static basic_filebuf_char filebuf_char_stdout
;
12886 /* ?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12888 basic_ostream_char obj
;
12889 basic_ios_char vbase
;
12890 } cout
= { { 0 } };
12891 /* ?_Ptr_cout@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12892 /* ?_Ptr_cout@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12893 basic_ostream_char
*_Ptr_cout
= &cout
.obj
;
12895 static basic_filebuf_wchar filebuf_short_stdout
;
12896 /* ?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12898 basic_ostream_wchar obj
;
12899 basic_ios_wchar vbase
;
12900 } ucout
= { { 0 } };
12901 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12902 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12903 basic_ostream_wchar
*_Ptr_ucout
= &ucout
.obj
;
12905 static basic_filebuf_wchar filebuf_wchar_stdout
;
12906 /* ?wcout@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12908 basic_ostream_wchar obj
;
12909 basic_ios_wchar vbase
;
12910 } wcout
= { { 0 } };
12911 /* ?_Ptr_wcout@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12912 /* ?_Ptr_wcout@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12913 basic_ostream_wchar
*_Ptr_wcout
= &wcout
.obj
;
12915 static basic_filebuf_char filebuf_char_stderr
;
12916 /* ?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12918 basic_ostream_char obj
;
12919 basic_ios_char vbase
;
12920 } cerr
= { { 0 } };
12921 /* ?_Ptr_cerr@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12922 /* ?_Ptr_cerr@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12923 basic_ostream_char
*_Ptr_cerr
= &cerr
.obj
;
12925 static basic_filebuf_wchar filebuf_short_stderr
;
12926 /* ?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12928 basic_ostream_wchar obj
;
12929 basic_ios_wchar vbase
;
12930 } ucerr
= { { 0 } };
12931 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12932 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12933 basic_ostream_wchar
*_Ptr_ucerr
= &ucerr
.obj
;
12935 static basic_filebuf_wchar filebuf_wchar_stderr
;
12936 /* ?wcerr@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12938 basic_ostream_wchar obj
;
12939 basic_ios_wchar vbase
;
12940 } wcerr
= { { 0 } };
12941 /* ?_Ptr_wcerr@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12942 /* ?_Ptr_wcerr@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12943 basic_ostream_wchar
*_Ptr_wcerr
= &wcerr
.obj
;
12945 static basic_filebuf_char filebuf_char_log
;
12946 /* ?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12948 basic_ostream_char obj
;
12949 basic_ios_char vbase
;
12950 } clog
= { { 0 } };
12951 /* ?_Ptr_clog@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A */
12952 /* ?_Ptr_clog@std@@3PEAV?$basic_ostream@DU?$char_traits@D@std@@@1@EA */
12953 basic_ostream_char
*_Ptr_clog
= &clog
.obj
;
12955 static basic_filebuf_wchar filebuf_short_log
;
12956 /* ?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12958 basic_ostream_wchar obj
;
12959 basic_ios_wchar vbase
;
12960 } uclog
= { { 0 } };
12961 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@GU?$char_traits@G@std@@@1@A */
12962 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@GU?$char_traits@G@std@@@1@EA */
12963 basic_ostream_wchar
*_Ptr_uclog
= &uclog
.obj
;
12965 static basic_filebuf_wchar filebuf_wchar_log
;
12966 /* ?wclog@std@@3V?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12968 basic_ostream_wchar obj
;
12969 basic_ios_wchar vbase
;
12970 } wclog
= { { 0 } };
12971 /* ?_Ptr_wclog@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A */
12972 /* ?_Ptr_wclog@std@@3PEAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@EA */
12973 basic_ostream_wchar
*_Ptr_wclog
= &wclog
.obj
;
12977 basic_filebuf_char_ctor_file(&filebuf_char_stdin
, stdin
);
12978 basic_istream_char_ctor(&cin
.obj
, &filebuf_char_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12980 basic_filebuf_short_ctor_file(&filebuf_short_stdin
, stdin
);
12981 basic_istream_short_ctor(&ucin
.obj
, &filebuf_short_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12983 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdin
, stdin
);
12984 basic_istream_wchar_ctor(&wcin
.obj
, &filebuf_wchar_stdin
.base
, FALSE
/*FIXME*/, TRUE
);
12986 basic_filebuf_char_ctor_file(&filebuf_char_stdout
, stdout
);
12987 basic_ostream_char_ctor(&cout
.obj
, &filebuf_char_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12989 basic_filebuf_short_ctor_file(&filebuf_short_stdout
, stdout
);
12990 basic_ostream_short_ctor(&ucout
.obj
, &filebuf_short_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12992 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stdout
, stdout
);
12993 basic_ostream_wchar_ctor(&wcout
.obj
, &filebuf_wchar_stdout
.base
, FALSE
/*FIXME*/, TRUE
);
12995 basic_filebuf_char_ctor_file(&filebuf_char_stderr
, stderr
);
12996 basic_ostream_char_ctor(&cerr
.obj
, &filebuf_char_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
12998 basic_filebuf_short_ctor_file(&filebuf_short_stderr
, stderr
);
12999 basic_ostream_short_ctor(&ucerr
.obj
, &filebuf_short_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
13001 basic_filebuf_wchar_ctor_file(&filebuf_wchar_stderr
, stderr
);
13002 basic_ostream_wchar_ctor(&wcerr
.obj
, &filebuf_wchar_stderr
.base
, FALSE
/*FIXME*/, TRUE
);
13004 basic_filebuf_char_ctor_file(&filebuf_char_log
, stderr
);
13005 basic_ostream_char_ctor(&clog
.obj
, &filebuf_char_log
.base
, FALSE
/*FIXME*/, TRUE
);
13007 basic_filebuf_short_ctor_file(&filebuf_short_log
, stderr
);
13008 basic_ostream_short_ctor(&uclog
.obj
, &filebuf_short_log
.base
, FALSE
/*FIXME*/, TRUE
);
13010 basic_filebuf_wchar_ctor_file(&filebuf_wchar_log
, stderr
);
13011 basic_ostream_wchar_ctor(&wclog
.obj
, &filebuf_wchar_log
.base
, FALSE
/*FIXME*/, TRUE
);
13016 basic_istream_char_dtor(basic_istream_char_to_basic_ios(&cin
.obj
));
13017 basic_filebuf_char_dtor(&filebuf_char_stdin
);
13019 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&ucin
.obj
));
13020 basic_filebuf_wchar_dtor(&filebuf_short_stdin
);
13022 basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&wcin
.obj
));
13023 basic_filebuf_wchar_dtor(&filebuf_wchar_stdin
);
13025 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&cout
.obj
));
13026 basic_filebuf_char_dtor(&filebuf_char_stdout
);
13028 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&ucout
.obj
));
13029 basic_filebuf_wchar_dtor(&filebuf_short_stdout
);
13031 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wcout
.obj
));
13032 basic_filebuf_wchar_dtor(&filebuf_wchar_stdout
);
13034 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&cerr
.obj
));
13035 basic_filebuf_char_dtor(&filebuf_char_stderr
);
13037 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&ucerr
.obj
));
13038 basic_filebuf_wchar_dtor(&filebuf_short_stderr
);
13040 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wcerr
.obj
));
13041 basic_filebuf_wchar_dtor(&filebuf_wchar_stderr
);
13043 basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&clog
.obj
));
13044 basic_filebuf_char_dtor(&filebuf_char_log
);
13046 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&uclog
.obj
));
13047 basic_filebuf_wchar_dtor(&filebuf_short_log
);
13049 basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&wclog
.obj
));
13050 basic_filebuf_wchar_dtor(&filebuf_wchar_log
);