msvcp60: Added basic_ofstream constructors implementation.

This commit is contained in:
Piotr Caban 2012-10-05 14:55:51 +02:00 committed by Alexandre Julliard
parent 97f0874a78
commit 1956360c6d
2 changed files with 118 additions and 8 deletions

View File

@ -9383,6 +9383,56 @@ basic_ofstream_char* __thiscall basic_ofstream_char_ctor(basic_ofstream_char *th
return this;
}
/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */
/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */
static basic_ofstream_char* basic_ofstream_char_ctor_file(
basic_ofstream_char *this, FILE *file, MSVCP_bool virt_init)
{
basic_ios_char *basic_ios;
TRACE("(%p %p %d)\n", this, file, virt_init);
if(virt_init) {
this->base.vbtable = basic_ofstream_char_vbtable;
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
basic_ios_char_ctor(basic_ios);
}else {
basic_ios = basic_ostream_char_get_basic_ios(&this->base);
}
basic_filebuf_char_ctor_file(&this->filebuf, file);
basic_ostream_char_ctor(&this->base, &this->filebuf.base, FALSE, FALSE);
basic_ios->base.vtable = &MSVCP_basic_ofstream_char_vtable;
return this;
}
/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z */
/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(basic_ofstream_char_copy_ctor, 12)
basic_ofstream_char* __thiscall basic_ofstream_char_copy_ctor(basic_ofstream_char *this,
basic_ofstream_char *copy, MSVCP_bool virt_init)
{
TRACE("(%p %p %d)\n", this, copy, virt_init);
return basic_ofstream_char_ctor_file(this, copy->filebuf.file, virt_init);
}
/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z */
/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z */
DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name, 16)
basic_ofstream_char* __thiscall basic_ofstream_char_ctor_name(basic_ofstream_char *this,
const char *name, int mode, MSVCP_bool virt_init)
{
TRACE("(%p %s %d %d)\n", this, name, mode, virt_init);
basic_ofstream_char_ctor(this, virt_init);
if(!basic_filebuf_char_open(&this->filebuf, name, mode|OPENMODE_out, _SH_DENYNO)) {
basic_ios_char *basic_ios = basic_ostream_char_get_basic_ios(&this->base);
basic_ios_char_setstate(basic_ios, IOSTATE_failbit);
}
return this;
}
/* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ */
/* ??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
DEFINE_THISCALL_WRAPPER(basic_ofstream_char_dtor, 4)
@ -9526,6 +9576,66 @@ basic_ofstream_wchar* __thiscall basic_ofstream_short_ctor(basic_ofstream_wchar
return this;
}
/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */
/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */
static basic_ofstream_wchar* basic_ofstream_wchar_ctor_file(
basic_ofstream_wchar *this, FILE *file, MSVCP_bool virt_init)
{
basic_ios_wchar *basic_ios;
TRACE("(%p %p %d)\n", this, file, virt_init);
if(virt_init) {
this->base.vbtable = basic_ofstream_wchar_vbtable;
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
basic_ios_wchar_ctor(basic_ios);
}else {
basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
}
basic_filebuf_wchar_ctor_file(&this->filebuf, file);
basic_ostream_wchar_ctor(&this->base, &this->filebuf.base, FALSE, FALSE);
basic_ios->base.vtable = &MSVCP_basic_ofstream_wchar_vtable;
return this;
}
/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */
/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */
static basic_ofstream_wchar* basic_ofstream_short_ctor_file(
basic_ofstream_wchar *this, FILE *file, MSVCP_bool virt_init)
{
basic_ofstream_wchar_ctor_file(this, file, virt_init);
basic_ostream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ofstream_short_vtable;
return this;
}
/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z */
/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(basic_ofstream_short_copy_ctor, 12)
basic_ofstream_wchar* __thiscall basic_ofstream_short_copy_ctor(basic_ofstream_wchar *this,
basic_ofstream_wchar *copy, MSVCP_bool virt_init)
{
TRACE("(%p %p %d)\n", this, copy, virt_init);
return basic_ofstream_short_ctor_file(this, copy->filebuf.file, virt_init);
}
/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z */
/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z */
DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name, 16)
basic_ofstream_wchar* __thiscall basic_ofstream_short_ctor_name(basic_ofstream_wchar *this,
const char *name, int mode, MSVCP_bool virt_init)
{
TRACE("(%p %s %d %d)\n", this, name, mode, virt_init);
basic_ofstream_short_ctor(this, virt_init);
if(!basic_filebuf_wchar_open(&this->filebuf, name, mode|OPENMODE_out, _SH_DENYNO)) {
basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit);
}
return this;
}
/* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
/* ??1?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
/* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ */

View File

@ -597,16 +597,16 @@
@ cdecl -arch=win64 ??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(ptr ptr long long) basic_istringstream_short_ctor_str
@ thiscall -arch=win32 ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z(ptr long long) basic_istringstream_short_ctor_mode
@ cdecl -arch=win64 ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z(ptr long long) basic_istringstream_short_ctor_mode
@ stub -arch=win32 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
@ stub -arch=win64 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
@ stub -arch=win32 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
@ stub -arch=win64 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z
@ thiscall -arch=win32 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z(ptr ptr long) basic_ofstream_char_copy_ctor
@ cdecl -arch=win64 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z(ptr ptr long) basic_ofstream_char_copy_ctor
@ thiscall -arch=win32 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z(ptr str long long) basic_ofstream_char_ctor_name
@ cdecl -arch=win64 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z(ptr str long long) basic_ofstream_char_ctor_name
@ thiscall -arch=win32 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ(ptr long) basic_ofstream_char_ctor
@ cdecl -arch=win64 ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ(ptr long) basic_ofstream_char_ctor
@ stub -arch=win32 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
@ stub -arch=win64 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
@ stub -arch=win32 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
@ stub -arch=win64 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z
@ thiscall -arch=win32 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z(ptr ptr long) basic_ofstream_short_copy_ctor
@ cdecl -arch=win64 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z(ptr ptr long) basic_ofstream_short_copy_ctor
@ thiscall -arch=win32 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z(ptr str long long) basic_ofstream_short_ctor_name
@ cdecl -arch=win64 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z(ptr str long long) basic_ofstream_short_ctor_name
@ thiscall -arch=win32 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ(ptr long) basic_ofstream_short_ctor
@ cdecl -arch=win64 ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ(ptr long) basic_ofstream_short_ctor
@ stub -arch=win32 ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z