msvcp120: Fix layout of classes with vtordisp field.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Piotr Caban 2016-01-11 10:36:47 +01:00 committed by Alexandre Julliard
parent cd0af88591
commit 6d22a3a476
2 changed files with 97 additions and 188 deletions

View File

@ -1550,51 +1550,37 @@ static void test_cnd(void)
}
static struct {
struct {
int value;
int todo;
} arch[2];
int value[2];
const char* export_name;
} vbtable_size_exports_list[] = {
{{{0x20, FALSE}, {0x20, FALSE}}, "??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@"},
{{{0x10, FALSE}, {0x10, FALSE}}, "??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@"},
{{{0x20, FALSE}, {0x20, FALSE}}, "??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@"},
{{{0x10, FALSE}, {0x10, FALSE}}, "??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@"},
{{{0x20, FALSE}, {0x20, FALSE}}, "??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@"},
{{{0x10, FALSE}, {0x10, FALSE}}, "??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@"},
{{{0x18, FALSE}, {0x18, FALSE}}, "??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@"},
{{{0x18, FALSE}, {0x18, FALSE}}, "??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@"},
{{{0x18, FALSE}, {0x18, FALSE}}, "??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@"},
{{{ 0x8, TRUE}, {0x10, FALSE}}, "??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@"},
{{{ 0x8, TRUE}, {0x10, FALSE}}, "??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@"},
{{{ 0x8, TRUE}, {0x10, FALSE}}, "??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@"},
{{{ 0x0, FALSE}, { 0x0, FALSE}}, 0}
{{0x20, 0x20}, "??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@"},
{{0x10, 0x10}, "??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@"},
{{0x20, 0x20}, "??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@"},
{{0x10, 0x10}, "??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@"},
{{0x20, 0x20}, "??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@"},
{{0x10, 0x10}, "??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@"},
{{0x18, 0x18}, "??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@"},
{{0x18, 0x18}, "??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@"},
{{0x18, 0x18}, "??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@"},
{{ 0x8, 0x10}, "??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@"},
{{ 0x8, 0x10}, "??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@"},
{{ 0x8, 0x10}, "??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@"},
{{ 0x0, 0x0}, 0}
};
static void test_vbtable_size_exports(void)
{
int i;
const int *p_vbtable;
int arch_idx;
if(sizeof(void*) == 8)
arch_idx = 1;
else
arch_idx = 0;
int arch_idx = (sizeof(void*) == 8);
for (i = 0; vbtable_size_exports_list[i].export_name; i++)
{
SET(p_vbtable, vbtable_size_exports_list[i].export_name);
ok(p_vbtable[0] == 0, "vbtable[0] wrong, got 0x%x\n", p_vbtable[0]);
if (vbtable_size_exports_list[i].arch[arch_idx].todo)
todo_wine
ok(p_vbtable[1] == vbtable_size_exports_list[i].arch[arch_idx].value,
"%d: %s[1] wrong, got 0x%x\n", i, vbtable_size_exports_list[i].export_name, p_vbtable[1]);
else
ok(p_vbtable[1] == vbtable_size_exports_list[i].arch[arch_idx].value,
"%d: %s[1] wrong, got 0x%x\n", i, vbtable_size_exports_list[i].export_name, p_vbtable[1]);
ok(p_vbtable[1] == vbtable_size_exports_list[i].value[arch_idx],
"%d: %s[1] wrong, got 0x%x\n", i, vbtable_size_exports_list[i].export_name, p_vbtable[1]);
}
}

View File

@ -141,16 +141,6 @@ typedef struct {
wchar_t fillch;
} basic_ios_wchar;
#if _MSVCP_VER >= 110
typedef struct {
int padding;
int vtordisp;
} basic_ios_vtordisp;
#define BASIC_IOS_VTORDISP_SIZE sizeof(basic_ios_vtordisp)
#else
#define BASIC_IOS_VTORDISP_SIZE 0
#endif
typedef struct _basic_ostream_char {
const int *vbtable;
/* virtual inheritance
@ -346,12 +336,17 @@ enum file_type {
type_unknown
};
#if _MSVCP_VER >= 100
#define VBTABLE_ALIGN 8
#if _MSVCP_VER >= 110
#define BASIC_IOS_VTORDISP 1
#define INIT_BASIC_IOS_VTORDISP(basic_ios) ((int*)basic_ios)[-1] = 0
#else
#define VBTABLE_ALIGN 4
#define BASIC_IOS_VTORDISP 0
#define INIT_BASIC_IOS_VTORDISP(basic_ios)
#endif
#define VBTABLE_ENTRY(class, offset, vbase, vtordisp) ALIGNED_SIZE(sizeof(class)+vtordisp*sizeof(int), TYPE_ALIGNMENT(vbase))-offset
#define VBTABLE_BASIC_IOS_ENTRY(class, offset) VBTABLE_ENTRY(class, offset, basic_ios_char, BASIC_IOS_VTORDISP)
extern const vtable_ptr MSVCP_iosb_vtable;
/* ??_7ios_base@std@@6B@ */
@ -395,57 +390,57 @@ extern const vtable_ptr MSVCP_basic_stringbuf_short_vtable;
/* ??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ */
const int basic_ostream_char_vbtable[] = {0,
ALIGNED_SIZE(sizeof(basic_ostream_char), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ostream_char, 0)};
/* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ostream_char_vtable;
/* ??_8?$basic_ostream@_WU?$char_traits@_W@std@@@std@@7B@ */
const int basic_ostream_wchar_vbtable[] = {0,
ALIGNED_SIZE(sizeof(basic_ostream_wchar), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ostream_wchar, 0)};
/* ??_7?$basic_ostream@_WU?$char_traits@_W@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ostream_wchar_vtable;
/* ??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ */
const int basic_ostream_short_vbtable[] = {0,
ALIGNED_SIZE(sizeof(basic_ostream_wchar), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ostream_wchar, 0)};
/* ??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ostream_short_vtable;
/* ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ */
const int basic_istream_char_vbtable[] = {0,
ALIGNED_SIZE(sizeof(basic_istream_char), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_istream_char, 0)};
/* ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_istream_char_vtable;
/* ??_8?$basic_istream@_WU?$char_traits@_W@std@@@std@@7B@ */
const int basic_istream_wchar_vbtable[] = {0,
ALIGNED_SIZE(sizeof(basic_istream_wchar), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_istream_wchar, 0)};
/* ??_7?$basic_istream@_WU?$char_traits@_W@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_istream_wchar_vtable;
/* ??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ */
const int basic_istream_short_vbtable[] = {0,
ALIGNED_SIZE(sizeof(basic_istream_wchar), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_istream_wchar, 0)};
/* ??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_istream_short_vtable;
/* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
const int basic_iostream_char_vbtable1[] = {0,
ALIGNED_SIZE(sizeof(basic_iostream_char), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_iostream_char, 0)};
/* ??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
const int basic_iostream_char_vbtable2[] = {0,
ALIGNED_SIZE(sizeof(basic_iostream_char), VBTABLE_ALIGN)-FIELD_OFFSET(basic_iostream_char, base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_iostream_char, FIELD_OFFSET(basic_iostream_char, base2))};
/* ??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_iostream_char_vtable;
/* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
/* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
const int basic_iostream_wchar_vbtable1[] = {0,
ALIGNED_SIZE(sizeof(basic_iostream_wchar), VBTABLE_ALIGN)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_iostream_wchar, 0)};
/* ??_8?$basic_iostream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
/* ??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
const int basic_iostream_wchar_vbtable2[] = {0,
ALIGNED_SIZE(sizeof(basic_iostream_wchar), VBTABLE_ALIGN)-FIELD_OFFSET(basic_iostream_wchar, base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_iostream_wchar, FIELD_OFFSET(basic_iostream_wchar, base2))};
/* ??_7?$basic_iostream@_WU?$char_traits@_W@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_iostream_wchar_vtable;
/* ??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ */
@ -453,57 +448,57 @@ extern const vtable_ptr MSVCP_basic_iostream_short_vtable;
/* ??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ */
const int basic_ofstream_char_vbtable[] = {0,
sizeof(basic_ofstream_char)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ofstream_char, 0)};
/* ??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ofstream_char_vtable;
/* ??_8?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@7B@ */
const int basic_ofstream_wchar_vbtable[] = {0,
sizeof(basic_ofstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ofstream_wchar, 0)};
/* ??_7?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ofstream_wchar_vtable;
/* ??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ */
const int basic_ofstream_short_vbtable[] = {0,
sizeof(basic_ofstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ofstream_wchar, 0)};
/* ??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ofstream_short_vtable;
/* ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ */
const int basic_ifstream_char_vbtable[] = {0,
sizeof(basic_ifstream_char)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ifstream_char, 0)};
/* ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ifstream_char_vtable;
/* ??_8?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@7B@ */
const int basic_ifstream_wchar_vbtable[] = {0,
sizeof(basic_ifstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ifstream_wchar, 0)};
/* ??_7?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ifstream_wchar_vtable;
/* ??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ */
const int basic_ifstream_short_vbtable[] = {0,
sizeof(basic_ifstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ifstream_wchar, 0)};
/* ??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ifstream_short_vtable;
/* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
const int basic_fstream_char_vbtable1[] = {0,
sizeof(basic_fstream_char)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_fstream_char, 0)};
/* ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
const int basic_fstream_char_vbtable2[] = {0,
sizeof(basic_fstream_char)-FIELD_OFFSET(basic_fstream_char, base.base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_fstream_char, FIELD_OFFSET(basic_fstream_char, base.base2))};
/* ??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_fstream_char_vtable;
/* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
/* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
const int basic_fstream_wchar_vbtable1[] = {0,
sizeof(basic_fstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_fstream_wchar, 0)};
/* ??_8?$basic_fstream@_WU?$char_traits@_W@std@@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
/* ??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
const int basic_fstream_wchar_vbtable2[] = {0,
sizeof(basic_fstream_wchar)-FIELD_OFFSET(basic_fstream_wchar, base.base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_fstream_wchar, FIELD_OFFSET(basic_fstream_wchar, base.base2))};
/* ??_7?$basic_fstream@_WU?$char_traits@_W@std@@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_fstream_wchar_vtable;
/* ??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ */
@ -511,78 +506,78 @@ extern const vtable_ptr MSVCP_basic_fstream_short_vtable;
/* ??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
const int basic_ostringstream_char_vbtable[] = {0,
sizeof(basic_ostringstream_char)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ostringstream_char, 0)};
/* ??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ostringstream_char_vtable;
/* ??_8?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
const int basic_ostringstream_wchar_vbtable[] = {0,
sizeof(basic_ostringstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ostringstream_wchar, 0)};
/* ??_7?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ostringstream_wchar_vtable;
/* ??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
const int basic_ostringstream_short_vbtable[] = {0,
sizeof(basic_ostringstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_ostringstream_wchar, 0)};
/* ??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_ostringstream_short_vtable;
/* ??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ */
const int basic_istringstream_char_vbtable[] = {0,
sizeof(basic_istringstream_char)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_istringstream_char, 0)};
/* ??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_istringstream_char_vtable;
/* ??_8?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B@ */
const int basic_istringstream_wchar_vbtable[] = {0,
sizeof(basic_istringstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_istringstream_wchar, 0)};
/* ??_7?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_istringstream_wchar_vtable;
/* ??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ */
const int basic_istringstream_short_vbtable[] = {0,
sizeof(basic_istringstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_istringstream_wchar, 0)};
/* ??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_istringstream_short_vtable;
/* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ */
const int basic_stringstream_char_vbtable1[] = {0,
sizeof(basic_stringstream_char)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_stringstream_char, 0)};
/* ??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ */
const int basic_stringstream_char_vbtable2[] = {0,
sizeof(basic_stringstream_char)-FIELD_OFFSET(basic_stringstream_char, base.base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_stringstream_char, FIELD_OFFSET(basic_stringstream_char, base.base2))};
/* ??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_stringstream_char_vtable;
/* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_istream@_WU?$char_traits@_W@std@@@1@@ */
const int basic_stringstream_wchar_vbtable1[] = {0,
sizeof(basic_stringstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_stringstream_wchar, 0)};
/* ??_8?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@7B?$basic_ostream@_WU?$char_traits@_W@std@@@1@@ */
const int basic_stringstream_wchar_vbtable2[] = {0,
sizeof(basic_stringstream_wchar)-FIELD_OFFSET(basic_stringstream_wchar, base.base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_stringstream_wchar, FIELD_OFFSET(basic_stringstream_wchar, base.base2))};
/* ??_7?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_stringstream_wchar_vtable;
/* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ */
const int basic_stringstream_short_vbtable1[] = {0,
sizeof(basic_stringstream_wchar)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_stringstream_wchar, 0)};
/* ??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ */
const int basic_stringstream_short_vbtable2[] = {0,
sizeof(basic_stringstream_wchar)-FIELD_OFFSET(basic_stringstream_wchar, base.base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(basic_stringstream_wchar, FIELD_OFFSET(basic_stringstream_wchar, base.base2))};
/* ??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */
extern const vtable_ptr MSVCP_basic_stringstream_short_vtable;
/* ??_7strstreambuf@std@@6B */
extern const vtable_ptr MSVCP_strstreambuf_vtable;
static const int ostrstream_vbtable[] = {0, sizeof(ostrstream)+BASIC_IOS_VTORDISP_SIZE};
static const int ostrstream_vbtable[] = {0, VBTABLE_BASIC_IOS_ENTRY(ostrstream, 0)};
extern const vtable_ptr MSVCP_ostrstream_vtable;
static const int istrstream_vbtable[] = {0, sizeof(istrstream)+BASIC_IOS_VTORDISP_SIZE};
static const int istrstream_vbtable[] = {0, VBTABLE_BASIC_IOS_ENTRY(istrstream, 0)};
static const int strstream_vbtable1[] = {0, sizeof(strstream)+BASIC_IOS_VTORDISP_SIZE};
static const int strstream_vbtable1[] = {0, VBTABLE_BASIC_IOS_ENTRY(strstream, 0)};
static const int strstream_vbtable2[] = {0,
sizeof(strstream)-FIELD_OFFSET(strstream, base.base2)+BASIC_IOS_VTORDISP_SIZE};
VBTABLE_BASIC_IOS_ENTRY(strstream, FIELD_OFFSET(strstream, base.base2))};
extern const vtable_ptr MSVCP_strstream_vtable;
DEFINE_RTTI_DATA0(iosb, 0, ".?AV?$_Iosb@H@std@@")
@ -6228,9 +6223,7 @@ basic_ostream_char* __thiscall basic_ostream_char_ctor(basic_ostream_char *this,
if(virt_init) {
this->vbtable = basic_ostream_char_vbtable;
base = basic_ostream_char_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_char_ctor(base);
}else {
base = basic_ostream_char_get_basic_ios(this);
@ -6254,9 +6247,7 @@ basic_ostream_char* __thiscall basic_ostream_char_ctor_uninitialized(basic_ostre
if(virt_init) {
this->vbtable = basic_ostream_char_vbtable;
base = basic_ostream_char_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_char_ctor(base);
}else {
base = basic_ostream_char_get_basic_ios(this);
@ -7057,9 +7048,7 @@ basic_ostream_wchar* __thiscall basic_ostream_wchar_ctor(basic_ostream_wchar *th
if(virt_init) {
this->vbtable = basic_ostream_wchar_vbtable;
base = basic_ostream_wchar_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_wchar_ctor(base);
}else {
base = basic_ostream_wchar_get_basic_ios(this);
@ -7094,9 +7083,7 @@ basic_ostream_wchar* __thiscall basic_ostream_wchar_ctor_uninitialized(basic_ost
if(virt_init) {
this->vbtable = basic_ostream_wchar_vbtable;
base = basic_ostream_wchar_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_wchar_ctor(base);
}else {
base = basic_ostream_wchar_get_basic_ios(this);
@ -8109,9 +8096,7 @@ basic_istream_char* __thiscall basic_istream_char_ctor_init(basic_istream_char *
if(virt_init) {
this->vbtable = basic_istream_char_vbtable;
base = basic_istream_char_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_char_ctor(base);
}else {
base = basic_istream_char_get_basic_ios(this);
@ -8144,9 +8129,7 @@ basic_istream_char* __thiscall basic_istream_char_ctor_uninitialized(basic_istre
if(virt_init) {
this->vbtable = basic_istream_char_vbtable;
base = basic_istream_char_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_char_ctor(base);
}else {
base = basic_istream_char_get_basic_ios(this);
@ -9550,9 +9533,7 @@ basic_istream_wchar* __thiscall basic_istream_wchar_ctor_init(basic_istream_wcha
if(virt_init) {
this->vbtable = basic_istream_wchar_vbtable;
base = basic_istream_wchar_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_wchar_ctor(base);
}else {
base = basic_istream_wchar_get_basic_ios(this);
@ -9607,9 +9588,7 @@ basic_istream_wchar* __thiscall basic_istream_wchar_ctor_uninitialized(
if(virt_init) {
this->vbtable = basic_istream_wchar_vbtable;
base = basic_istream_wchar_get_basic_ios(this);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)base)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(base);
basic_ios_wchar_ctor(base);
}else {
base = basic_istream_wchar_get_basic_ios(this);
@ -11099,9 +11078,7 @@ basic_iostream_char* __thiscall basic_iostream_char_ctor(basic_iostream_char *th
this->base1.vbtable = basic_iostream_char_vbtable1;
this->base2.vbtable = basic_iostream_char_vbtable2;
basic_ios = basic_istream_char_get_basic_ios(&this->base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base1);
@ -11197,9 +11174,7 @@ basic_iostream_wchar* __thiscall basic_iostream_wchar_ctor(basic_iostream_wchar
this->base1.vbtable = basic_iostream_wchar_vbtable1;
this->base2.vbtable = basic_iostream_wchar_vbtable2;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base1);
@ -11310,9 +11285,7 @@ basic_ofstream_char* __thiscall basic_ofstream_char_ctor(basic_ofstream_char *th
if(virt_init) {
this->base.vbtable = basic_ofstream_char_vbtable;
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
@ -11337,9 +11310,7 @@ basic_ofstream_char* __thiscall basic_ofstream_char_ctor_file(
if(virt_init) {
this->base.vbtable = basic_ofstream_char_vbtable;
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
@ -11537,9 +11508,7 @@ basic_ofstream_wchar* __thiscall basic_ofstream_wchar_ctor(basic_ofstream_wchar
if(virt_init) {
this->base.vbtable = basic_ofstream_wchar_vbtable;
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
@ -11574,9 +11543,7 @@ basic_ofstream_wchar* __thiscall basic_ofstream_wchar_ctor_file(
if(virt_init) {
this->base.vbtable = basic_ofstream_wchar_vbtable;
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
@ -11831,9 +11798,7 @@ basic_ifstream_char* __thiscall basic_ifstream_char_ctor(basic_ifstream_char *th
if(virt_init) {
this->base.vbtable = basic_ifstream_char_vbtable;
basic_ios = basic_istream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base);
@ -11858,9 +11823,7 @@ basic_ifstream_char* __thiscall basic_ifstream_char_ctor_file(
if(virt_init) {
this->base.vbtable = basic_ifstream_char_vbtable;
basic_ios = basic_istream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base);
@ -12067,9 +12030,7 @@ basic_ifstream_wchar* __thiscall basic_ifstream_wchar_ctor(basic_ifstream_wchar
if(virt_init) {
this->base.vbtable = basic_ifstream_wchar_vbtable;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
@ -12104,9 +12065,7 @@ basic_ifstream_wchar* __thiscall basic_ifstream_wchar_ctor_file(
if(virt_init) {
this->base.vbtable = basic_ifstream_wchar_vbtable;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
@ -12380,9 +12339,7 @@ basic_fstream_char* __thiscall basic_fstream_char_ctor(basic_fstream_char *this,
this->base.base1.vbtable = basic_fstream_char_vbtable1;
this->base.base2.vbtable = basic_fstream_char_vbtable2;
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
@ -12408,9 +12365,7 @@ basic_fstream_char* __thiscall basic_fstream_char_ctor_file(basic_fstream_char *
this->base.base1.vbtable = basic_fstream_char_vbtable1;
this->base.base2.vbtable = basic_fstream_char_vbtable2;
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
@ -12618,9 +12573,7 @@ basic_fstream_wchar* __thiscall basic_fstream_wchar_ctor(basic_fstream_wchar *th
this->base.base1.vbtable = basic_fstream_wchar_vbtable1;
this->base.base2.vbtable = basic_fstream_wchar_vbtable2;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
@ -12656,9 +12609,7 @@ basic_fstream_wchar* __thiscall basic_fstream_wchar_ctor_file(basic_fstream_wcha
this->base.base1.vbtable = basic_fstream_wchar_vbtable1;
this->base.base2.vbtable = basic_fstream_wchar_vbtable2;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
@ -12931,9 +12882,7 @@ basic_ostringstream_char* __thiscall basic_ostringstream_char_ctor_str(basic_ost
if(virt_init) {
this->base.vbtable = basic_ostringstream_char_vbtable;
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
@ -12958,9 +12907,7 @@ basic_ostringstream_char* __thiscall basic_ostringstream_char_ctor_mode(
if(virt_init) {
this->base.vbtable = basic_ostringstream_char_vbtable;
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
@ -13078,9 +13025,7 @@ basic_ostringstream_wchar* __thiscall basic_ostringstream_wchar_ctor_str(basic_o
if(virt_init) {
this->base.vbtable = basic_ostringstream_wchar_vbtable;
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
@ -13116,9 +13061,7 @@ basic_ostringstream_wchar* __thiscall basic_ostringstream_wchar_ctor_mode(
if(virt_init) {
this->base.vbtable = basic_ostringstream_wchar_vbtable;
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
@ -13266,9 +13209,7 @@ basic_istringstream_char* __thiscall basic_istringstream_char_ctor_str(basic_ist
if(virt_init) {
this->base.vbtable = basic_istringstream_char_vbtable;
basic_ios = basic_istream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base);
@ -13293,9 +13234,7 @@ basic_istringstream_char* __thiscall basic_istringstream_char_ctor_mode(
if(virt_init) {
this->base.vbtable = basic_istringstream_char_vbtable;
basic_ios = basic_istream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base);
@ -13413,9 +13352,7 @@ basic_istringstream_wchar* __thiscall basic_istringstream_wchar_ctor_str(basic_i
if(virt_init) {
this->base.vbtable = basic_istringstream_wchar_vbtable;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
@ -13451,9 +13388,7 @@ basic_istringstream_wchar* __thiscall basic_istringstream_wchar_ctor_mode(
if(virt_init) {
this->base.vbtable = basic_istringstream_wchar_vbtable;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base);
@ -13602,9 +13537,7 @@ basic_stringstream_char* __thiscall basic_stringstream_char_ctor_str(basic_strin
this->base.base1.vbtable = basic_stringstream_char_vbtable1;
this->base.base2.vbtable = basic_stringstream_char_vbtable2;
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
@ -13630,9 +13563,7 @@ basic_stringstream_char* __thiscall basic_stringstream_char_ctor_mode(
this->base.base1.vbtable = basic_stringstream_char_vbtable1;
this->base.base2.vbtable = basic_stringstream_char_vbtable2;
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
@ -13752,9 +13683,7 @@ basic_stringstream_wchar* __thiscall basic_stringstream_wchar_ctor_str(basic_str
this->base.base1.vbtable = basic_stringstream_wchar_vbtable1;
this->base.base2.vbtable = basic_stringstream_wchar_vbtable2;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
@ -13791,9 +13720,7 @@ basic_stringstream_wchar* __thiscall basic_stringstream_wchar_ctor_mode(
this->base.base1.vbtable = basic_stringstream_wchar_vbtable1;
this->base.base2.vbtable = basic_stringstream_wchar_vbtable2;
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
@ -14339,9 +14266,7 @@ ostrstream* __thiscall ostrstream_ctor(ostrstream *this, char *buf, streamsize s
if(virt_init) {
this->base.vbtable = ostrstream_vbtable;
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
@ -14848,9 +14773,7 @@ strstream* __thiscall strstream_ctor(strstream *this, char *buf, streamsize size
this->base.base1.vbtable = strstream_vbtable1;
this->base.base2.vbtable = strstream_vbtable2;
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
#if _MSVCP_VER >= 110
((basic_ios_vtordisp*)basic_ios)[-1].vtordisp = 0;
#endif
INIT_BASIC_IOS_VTORDISP(basic_ios);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);