From 2f01c45248f150a229723aeb44f96ff82ad76822 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Fri, 14 Sep 2012 12:45:01 +0200 Subject: [PATCH] msvcp100: Remove unused thiscall functions. --- dlls/msvcp100/exception.c | 24 +- dlls/msvcp100/ios.c | 4413 +------------------------------------ dlls/msvcp100/locale.c | 691 +----- dlls/msvcp100/math.c | 12 - dlls/msvcp100/memory.c | 275 +-- dlls/msvcp100/msvcp.h | 50 +- dlls/msvcp100/string.c | 3104 +------------------------- 7 files changed, 126 insertions(+), 8443 deletions(-) diff --git a/dlls/msvcp100/exception.c b/dlls/msvcp100/exception.c index 55b7cd2ea25..f6e3f50d99f 100644 --- a/dlls/msvcp100/exception.c +++ b/dlls/msvcp100/exception.c @@ -98,8 +98,7 @@ void * __thiscall MSVCP_type_info_vector_dtor(type_info * _this, unsigned int fl DEFINE_RTTI_DATA0( type_info, 0, ".?AVtype_info@@" ); -DEFINE_THISCALL_WRAPPER(MSVCP_exception_ctor, 8) -exception* __thiscall MSVCP_exception_ctor(exception *this, const char **name) +static exception* MSVCP_exception_ctor(exception *this, const char **name) { TRACE("(%p %s)\n", this, *name); @@ -189,8 +188,7 @@ static const cxx_exception_type exception_cxx_type = { /* bad_alloc class data */ typedef exception bad_alloc; -DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_ctor, 8) -bad_alloc* __thiscall MSVCP_bad_alloc_ctor(bad_alloc *this, const char **name) +bad_alloc* MSVCP_bad_alloc_ctor(bad_alloc *this, const char **name) { TRACE("%p %s\n", this, *name); MSVCP_exception_ctor(this, name); @@ -273,8 +271,7 @@ typedef struct _logic_error { basic_string_char str; } logic_error; -DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_ctor, 8) -logic_error* __thiscall MSVCP_logic_error_ctor( +static logic_error* MSVCP_logic_error_ctor( logic_error *this, const char **name) { TRACE("%p %s\n", this, *name); @@ -361,8 +358,7 @@ static const cxx_exception_type logic_error_cxx_type = { /* length_error class data */ typedef logic_error length_error; -DEFINE_THISCALL_WRAPPER(MSVCP_length_error_ctor, 8) -length_error* __thiscall MSVCP_length_error_ctor( +static length_error* MSVCP_length_error_ctor( length_error *this, const char **name) { TRACE("%p %s\n", this, *name); @@ -410,8 +406,7 @@ static const cxx_exception_type length_error_cxx_type = { /* out_of_range class data */ typedef logic_error out_of_range; -DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_ctor, 8) -out_of_range* __thiscall MSVCP_out_of_range_ctor( +static out_of_range* MSVCP_out_of_range_ctor( out_of_range *this, const char **name) { TRACE("%p %s\n", this, *name); @@ -459,8 +454,7 @@ static const cxx_exception_type out_of_range_cxx_type = { /* invalid_argument class data */ typedef logic_error invalid_argument; -DEFINE_THISCALL_WRAPPER(MSVCP_invalid_argument_ctor, 8) -invalid_argument* __thiscall MSVCP_invalid_argument_ctor( +static invalid_argument* MSVCP_invalid_argument_ctor( invalid_argument *this, const char **name) { TRACE("%p %s\n", this, *name); @@ -511,8 +505,7 @@ typedef struct { basic_string_char str; } runtime_error; -DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_ctor, 8) -runtime_error* __thiscall MSVCP_runtime_error_ctor( +static runtime_error* MSVCP_runtime_error_ctor( runtime_error *this, const char **name) { TRACE("%p %s\n", this, *name); @@ -599,8 +592,7 @@ static const cxx_exception_type runtime_error_cxx_type = { /* failure class data */ typedef runtime_error failure; -DEFINE_THISCALL_WRAPPER(MSVCP_failure_ctor, 8) -failure* __thiscall MSVCP_failure_ctor( +static failure* MSVCP_failure_ctor( failure *this, const char **name) { TRACE("%p %s\n", this, *name); diff --git a/dlls/msvcp100/ios.c b/dlls/msvcp100/ios.c index 59a5f198d53..de67c933697 100644 --- a/dlls/msvcp100/ios.c +++ b/dlls/msvcp100/ios.c @@ -81,28 +81,6 @@ typedef struct { FILE *file; } basic_filebuf_wchar; -typedef enum { - STRINGBUF_allocated = 1, - STRINGBUF_no_write = 2, - STRINGBUF_no_read = 4, - STRINGBUF_append = 8, - STRINGBUF_at_end = 16 -} basic_stringbuf_state; - -typedef struct { - basic_streambuf_char base; - char *seekhigh; - int state; - char allocator; /* empty struct */ -} basic_stringbuf_char; - -typedef struct { - basic_streambuf_wchar base; - wchar_t *seekhigh; - int state; - char allocator; /* empty struct */ -} basic_stringbuf_wchar; - typedef struct { ios_base base; basic_streambuf_char *strbuf; @@ -163,119 +141,6 @@ typedef struct { */ } basic_iostream_wchar; -typedef struct { - basic_ostream_char base; - basic_filebuf_char filebuf; - /* virtual inheritance - * basic_ios_char basic_ios; - */ -} basic_ofstream_char; - -typedef struct { - basic_ostream_wchar base; - basic_filebuf_wchar filebuf; - /* virtual inheritance - * basic_ios_wchar basic_ios; - */ -} basic_ofstream_wchar; - -typedef struct { - basic_istream_char base; - basic_filebuf_char filebuf; - /* virtual inheritance - * basic_ios_char basic_ios; - */ -} basic_ifstream_char; - -typedef struct { - basic_istream_wchar base; - basic_filebuf_wchar filebuf; - /* virtual inheritance - * basic_ios_wchar basic_ios; - */ -} basic_ifstream_wchar; - -typedef struct { - basic_iostream_char base; - basic_filebuf_char filebuf; - /* virtual inheritance - * basic_ios_char basic_ios; - */ -} basic_fstream_char; - -typedef struct { - basic_iostream_wchar base; - basic_filebuf_wchar filebuf; - /* virtual inheritance - * basic_ios_char basic_ios; - */ -} basic_fstream_wchar; - -typedef struct { - basic_ostream_char base; - basic_stringbuf_char strbuf; - /* virtual inheritance - * basic_ios_char basic_ios; - */ -} basic_ostringstream_char; - -typedef struct { - basic_ostream_wchar base; - basic_stringbuf_wchar strbuf; - /* virtual inheritance - * basic_ios_wchar basic_ios; - */ -} basic_ostringstream_wchar; - -typedef struct { - basic_istream_char base; - basic_stringbuf_char strbuf; - /* virtual inheritance - * basic_ios_char basic_ios; - */ -} basic_istringstream_char; - -typedef struct { - basic_istream_wchar base; - basic_stringbuf_wchar strbuf; - /* virtual inheritance - * basic_ios_wchar basic_ios; - */ -} basic_istringstream_wchar; - -typedef struct { - basic_iostream_char base; - basic_stringbuf_char strbuf; - /* virtual inheritance - * basic_ios_char basic_ios; - */ -} basic_stringstream_char; - -typedef struct { - basic_iostream_wchar base; - basic_stringbuf_wchar strbuf; - /* virtual inheritance - * basic_ios_wchar basic_ios; - */ -} basic_stringstream_wchar; - -typedef enum { - STRSTATE_Allocated = 1, - STRSTATE_Constant = 2, - STRSTATE_Dynamic = 4, - STRSTATE_Frozen = 8 -} strstreambuf__Strstate; - -typedef struct { - basic_streambuf_char base; - streamsize minsize; - char *endsave; - char *seekhigh; - int strmode; - void* (__cdecl *palloc)(MSVCP_size_t); - void (__cdecl *pfree)(void*); -} strstreambuf; - extern const vtable_ptr MSVCP_iosb_vtable; /* ??_7ios_base@std@@6B@ */ @@ -308,15 +173,6 @@ extern const vtable_ptr MSVCP_basic_filebuf_wchar_vtable; /* ??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ */ extern const vtable_ptr MSVCP_basic_filebuf_short_vtable; -/* ??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ */ -extern const vtable_ptr MSVCP_basic_stringbuf_char_vtable; - -/* ??_7?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@6B@ */ -extern const vtable_ptr MSVCP_basic_stringbuf_wchar_vtable; - -/* ??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ */ -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), 8)}; /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */ @@ -365,108 +221,6 @@ extern const vtable_ptr MSVCP_basic_iostream_wchar_vtable; /* ??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ */ 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, ALIGNED_SIZE(sizeof(basic_ofstream_char), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_ofstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_ofstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_ifstream_char), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_ifstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_ifstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_fstream_char), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_fstream_char), 8)-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, ALIGNED_SIZE(sizeof(basic_fstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_fstream_wchar), 8)-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@ */ -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, ALIGNED_SIZE(sizeof(basic_ostringstream_char), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_ostringstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_ostringstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_istringstream_char), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_istringstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_istringstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_stringstream_char), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_stringstream_char), 8)-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, ALIGNED_SIZE(sizeof(basic_stringstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_stringstream_wchar), 8)-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, ALIGNED_SIZE(sizeof(basic_stringstream_wchar), 8)}; -/* ??_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, ALIGNED_SIZE(sizeof(basic_stringstream_wchar), 8)-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; - DEFINE_RTTI_DATA0(iosb, 0, ".?AV?$_Iosb@H@std@@"); DEFINE_RTTI_DATA1(ios_base, 0, &iosb_rtti_base_descriptor, ".?AV?$_Iosb@H@std@@"); DEFINE_RTTI_DATA2(basic_ios_char, 0, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, @@ -487,12 +241,6 @@ DEFINE_RTTI_DATA1(basic_filebuf_wchar, 0, &basic_streambuf_wchar_rtti_base_descr ".?AV?$basic_filebuf@GU?$char_traits@G@std@@@std@@"); DEFINE_RTTI_DATA1(basic_filebuf_short, 0, &basic_streambuf_short_rtti_base_descriptor, ".?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@"); -DEFINE_RTTI_DATA1(basic_stringbuf_char, 0, &basic_streambuf_char_rtti_base_descriptor, - ".?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@"); -DEFINE_RTTI_DATA1(basic_stringbuf_wchar, 0, &basic_streambuf_wchar_rtti_base_descriptor, - ".?AV?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@"); -DEFINE_RTTI_DATA1(basic_stringbuf_short, 0, &basic_streambuf_short_rtti_base_descriptor, - ".?AV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@"); DEFINE_RTTI_DATA3(basic_ostream_char, sizeof(basic_ostream_char), &basic_ios_char_rtti_base_descriptor, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@"); @@ -529,92 +277,6 @@ DEFINE_RTTI_DATA8(basic_iostream_short, sizeof(basic_iostream_wchar), &basic_ostream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, ".?AV?$basic_iostream@GU?$char_traits@G@std@@@std@@"); -DEFINE_RTTI_DATA4(basic_ofstream_char, sizeof(basic_ofstream_char), - &basic_ostream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@"); -DEFINE_RTTI_DATA4(basic_ofstream_wchar, sizeof(basic_ofstream_wchar), - &basic_ostream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@"); -DEFINE_RTTI_DATA4(basic_ofstream_short, sizeof(basic_ofstream_wchar), - &basic_ostream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ofstream@GU?$char_traits@G@std@@@std@@"); -DEFINE_RTTI_DATA4(basic_ifstream_char, sizeof(basic_ifstream_char), - &basic_istream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@"); -DEFINE_RTTI_DATA4(basic_ifstream_wchar, sizeof(basic_ifstream_wchar), - &basic_istream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@"); -DEFINE_RTTI_DATA4(basic_ifstream_short, sizeof(basic_ifstream_wchar), - &basic_istream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ifstream@GU?$char_traits@G@std@@@std@@"); -DEFINE_RTTI_DATA8(basic_fstream_char, sizeof(basic_fstream_char), - &basic_istream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - &basic_ostream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_fstream@DU?$char_traits@D@std@@@std@@"); -DEFINE_RTTI_DATA8(basic_fstream_wchar, sizeof(basic_fstream_wchar), - &basic_istream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - &basic_ostream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_fstream@_WU?$char_traits@_W@std@@@std@@"); -DEFINE_RTTI_DATA8(basic_fstream_short, sizeof(basic_fstream_wchar), - &basic_istream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - &basic_ostream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_fstream@GU?$char_traits@G@std@@@std@@"); -DEFINE_RTTI_DATA4(basic_ostringstream_char, sizeof(basic_ostringstream_char), - &basic_ostream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@"); -DEFINE_RTTI_DATA4(basic_ostringstream_wchar, sizeof(basic_ostringstream_wchar), - &basic_ostream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@"); -DEFINE_RTTI_DATA4(basic_ostringstream_short, sizeof(basic_ostringstream_wchar), - &basic_ostream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@"); -DEFINE_RTTI_DATA4(basic_istringstream_char, sizeof(basic_istringstream_char), - &basic_ostream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@"); -DEFINE_RTTI_DATA4(basic_istringstream_wchar, sizeof(basic_istringstream_wchar), - &basic_ostream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@"); -DEFINE_RTTI_DATA4(basic_istringstream_short, sizeof(basic_istringstream_wchar), - &basic_ostream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@"); -DEFINE_RTTI_DATA8(basic_stringstream_char, sizeof(basic_stringstream_char), - &basic_istream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - &basic_ostream_char_rtti_base_descriptor, &basic_ios_char_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@"); -DEFINE_RTTI_DATA8(basic_stringstream_wchar, sizeof(basic_stringstream_wchar), - &basic_istream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - &basic_ostream_wchar_rtti_base_descriptor, &basic_ios_wchar_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@"); -DEFINE_RTTI_DATA8(basic_stringstream_short, sizeof(basic_stringstream_wchar), - &basic_istream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - &basic_ostream_short_rtti_base_descriptor, &basic_ios_short_rtti_base_descriptor, - &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor, - ".?AV?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@"); -DEFINE_RTTI_DATA1(strstreambuf, sizeof(strstreambuf), - &basic_streambuf_char_rtti_base_descriptor, ".?AVstrstreambuf@std@@"); #ifndef __GNUC__ void __asm_dummy_vtables(void) { @@ -725,54 +387,6 @@ void __asm_dummy_vtables(void) { VTABLE_ADD_FUNC(basic_filebuf_short_setbuf) VTABLE_ADD_FUNC(basic_filebuf_wchar_sync) VTABLE_ADD_FUNC(basic_filebuf_short_imbue)); - __ASM_VTABLE(basic_stringbuf_char, - VTABLE_ADD_FUNC(basic_stringbuf_char_vector_dtor) - VTABLE_ADD_FUNC(basic_streambuf_char__Lock) - VTABLE_ADD_FUNC(basic_streambuf_char__Unlock) - VTABLE_ADD_FUNC(basic_stringbuf_char_overflow) - VTABLE_ADD_FUNC(basic_stringbuf_char_pbackfail) - VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc) - VTABLE_ADD_FUNC(basic_stringbuf_char_underflow) - VTABLE_ADD_FUNC(basic_streambuf_char_uflow) - VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn) - VTABLE_ADD_FUNC(basic_streambuf_char_xsputn) - VTABLE_ADD_FUNC(basic_stringbuf_char_seekoff) - VTABLE_ADD_FUNC(basic_stringbuf_char_seekpos) - VTABLE_ADD_FUNC(basic_streambuf_char_setbuf) - VTABLE_ADD_FUNC(basic_streambuf_char_sync) - VTABLE_ADD_FUNC(basic_streambuf_char_imbue)); - __ASM_VTABLE(basic_stringbuf_wchar, - VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor) - VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock) - VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail) - VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow) - VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow) - VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn) - VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos) - VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf) - VTABLE_ADD_FUNC(basic_streambuf_wchar_sync) - VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue)); - __ASM_VTABLE(basic_stringbuf_short, - VTABLE_ADD_FUNC(basic_stringbuf_wchar_vector_dtor) - VTABLE_ADD_FUNC(basic_streambuf_wchar__Lock) - VTABLE_ADD_FUNC(basic_streambuf_wchar__Unlock) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_overflow) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_pbackfail) - VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow) - VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow) - VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn) - VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff) - VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos) - VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf) - VTABLE_ADD_FUNC(basic_streambuf_wchar_sync) - VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue)); __ASM_VTABLE(basic_ostream_char, VTABLE_ADD_FUNC(basic_ostream_char_vector_dtor)); __ASM_VTABLE(basic_ostream_wchar, @@ -791,58 +405,6 @@ void __asm_dummy_vtables(void) { VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor)); __ASM_VTABLE(basic_iostream_short, VTABLE_ADD_FUNC(basic_iostream_wchar_vector_dtor)); - __ASM_VTABLE(basic_ofstream_char, - VTABLE_ADD_FUNC(basic_ofstream_char_vector_dtor)); - __ASM_VTABLE(basic_ofstream_wchar, - VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_ofstream_short, - VTABLE_ADD_FUNC(basic_ofstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_ifstream_char, - VTABLE_ADD_FUNC(basic_ifstream_char_vector_dtor)); - __ASM_VTABLE(basic_ifstream_wchar, - VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_ifstream_short, - VTABLE_ADD_FUNC(basic_ifstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_fstream_char, - VTABLE_ADD_FUNC(basic_fstream_char_vector_dtor)); - __ASM_VTABLE(basic_fstream_wchar, - VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_fstream_short, - VTABLE_ADD_FUNC(basic_fstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_ostringstream_char, - VTABLE_ADD_FUNC(basic_ostringstream_char_vector_dtor)); - __ASM_VTABLE(basic_ostringstream_wchar, - VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_ostringstream_short, - VTABLE_ADD_FUNC(basic_ostringstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_istringstream_char, - VTABLE_ADD_FUNC(basic_istringstream_char_vector_dtor)); - __ASM_VTABLE(basic_istringstream_wchar, - VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_istringstream_short, - VTABLE_ADD_FUNC(basic_istringstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_stringstream_char, - VTABLE_ADD_FUNC(basic_stringstream_char_vector_dtor)); - __ASM_VTABLE(basic_stringstream_wchar, - VTABLE_ADD_FUNC(basic_stringstream_wchar_vector_dtor)); - __ASM_VTABLE(basic_stringstream_short, - VTABLE_ADD_FUNC(basic_stringstream_wchar_vector_dtor)); - __ASM_VTABLE(strstreambuf, - VTABLE_ADD_FUNC(strstreambuf_vector_dtor) - VTABLE_ADD_FUNC(basic_streambuf_char__Lock) - VTABLE_ADD_FUNC(basic_streambuf_char__Unlock) - VTABLE_ADD_FUNC(strstreambuf_overflow) - VTABLE_ADD_FUNC(strstreambuf_pbackfail) - VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc) - VTABLE_ADD_FUNC(strstreambuf_underflow) - VTABLE_ADD_FUNC(basic_streambuf_char_uflow) - VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn) - VTABLE_ADD_FUNC(basic_streambuf_char_xsputn) - VTABLE_ADD_FUNC(strstreambuf_seekoff) - VTABLE_ADD_FUNC(strstreambuf_seekpos) - VTABLE_ADD_FUNC(basic_streambuf_char_setbuf) - VTABLE_ADD_FUNC(basic_streambuf_char_sync) - VTABLE_ADD_FUNC(basic_streambuf_char_imbue)); #ifndef __GNUC__ } #endif @@ -1075,8 +637,7 @@ int __thiscall basic_streambuf_char_uflow(basic_streambuf_char *this) /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */ /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s, 20) -streamsize __thiscall basic_streambuf_char__Xsgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count) +static streamsize basic_streambuf_char__Xsgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count) { streamsize copied, chunk; int c; @@ -1108,8 +669,7 @@ streamsize __thiscall basic_streambuf_char__Xsgetn_s(basic_streambuf_char *this, /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */ /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s, 20) -streamsize __thiscall basic_streambuf_char__Sgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count) +static streamsize basic_streambuf_char__Sgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count) { TRACE("(%p %p %lu %s)\n", this, ptr, size, wine_dbgstr_longlong(count)); return basic_streambuf_char__Xsgetn_s(this, ptr, size, count); @@ -1813,8 +1373,7 @@ unsigned short __thiscall basic_streambuf_wchar_uflow(basic_streambuf_wchar *thi /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */ /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */ /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s, 20) -streamsize __thiscall basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count) +static streamsize basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count) { streamsize copied, chunk; unsigned short c; @@ -1848,8 +1407,7 @@ streamsize __thiscall basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *thi /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */ /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */ /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Sgetn_s, 20) -streamsize __thiscall basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count) +static streamsize basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count) { TRACE("(%p %p %lu %s)\n", this, ptr, size, wine_dbgstr_longlong(count)); return basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count); @@ -2351,8 +1909,7 @@ int basic_filebuf_char__Init__Stinit = 0; /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */ /* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Init, 12) -void __thiscall basic_filebuf_char__Init(basic_filebuf_char *this, FILE *file, basic_filebuf__Initfl which) +static void basic_filebuf_char__Init(basic_filebuf_char *this, FILE *file, basic_filebuf__Initfl which) { TRACE("(%p %p %d)\n", this, file, which); @@ -2370,8 +1927,7 @@ void __thiscall basic_filebuf_char__Init(basic_filebuf_char *this, FILE *file, b /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAV?$codecvt@DDH@2@@Z */ /* ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$codecvt@DDH@2@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Initcvt, 8) -void __thiscall basic_filebuf_char__Initcvt(basic_filebuf_char *this, codecvt_char *cvt) +static void basic_filebuf_char__Initcvt(basic_filebuf_char *this, codecvt_char *cvt) { TRACE("(%p %p)\n", this, cvt); @@ -2385,8 +1941,7 @@ void __thiscall basic_filebuf_char__Initcvt(basic_filebuf_char *this, codecvt_ch /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ */ /* ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char__Endwrite, 4) -MSVCP_bool __thiscall basic_filebuf_char__Endwrite(basic_filebuf_char *this) +static MSVCP_bool basic_filebuf_char__Endwrite(basic_filebuf_char *this) { TRACE("(%p)\n", this); @@ -2426,8 +1981,7 @@ MSVCP_bool __thiscall basic_filebuf_char__Endwrite(basic_filebuf_char *this) /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ */ /* ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_close, 4) -basic_filebuf_char* __thiscall basic_filebuf_char_close(basic_filebuf_char *this) +static basic_filebuf_char* basic_filebuf_char_close(basic_filebuf_char *this) { basic_filebuf_char *ret = this; @@ -2448,8 +2002,7 @@ basic_filebuf_char* __thiscall basic_filebuf_char_close(basic_filebuf_char *this /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */ /* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_file, 8) -basic_filebuf_char* __thiscall basic_filebuf_char_ctor_file(basic_filebuf_char *this, FILE *file) +static basic_filebuf_char* basic_filebuf_char_ctor_file(basic_filebuf_char *this, FILE *file) { TRACE("(%p %p)\n", this, file); @@ -2460,30 +2013,9 @@ basic_filebuf_char* __thiscall basic_filebuf_char_ctor_file(basic_filebuf_char * return this; } -/* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ */ -/* ??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor, 4) -basic_filebuf_char* __thiscall basic_filebuf_char_ctor(basic_filebuf_char *this) -{ - return basic_filebuf_char_ctor_file(this, NULL); -} - -/* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z */ -/* ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_ctor_uninitialized, 8) -basic_filebuf_char* __thiscall basic_filebuf_char_ctor_uninitialized(basic_filebuf_char *this, int uninitialized) -{ - TRACE("(%p %d)\n", this, uninitialized); - - basic_streambuf_char_ctor(&this->base); - this->base.vtable = &MSVCP_basic_filebuf_char_vtable; - return this; -} - /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ */ /* ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_dtor, 4) -void __thiscall basic_filebuf_char_dtor(basic_filebuf_char *this) +static void basic_filebuf_char_dtor(basic_filebuf_char *this) { TRACE("(%p)\n", this); @@ -2514,8 +2046,7 @@ basic_filebuf_char* __thiscall basic_filebuf_char_vector_dtor(basic_filebuf_char /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ */ /* ?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_is_open, 4) -MSVCP_bool __thiscall basic_filebuf_char_is_open(const basic_filebuf_char *this) +static MSVCP_bool basic_filebuf_char_is_open(const basic_filebuf_char *this) { TRACE("(%p)\n", this); return this->file != NULL; @@ -2591,60 +2122,6 @@ FILE* __cdecl _Fiopen(const char *name, int mode, int prot) return _Fiopen_wchar(nameW, mode, prot); } -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WHH@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WHH@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGHH@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar, 16) -basic_filebuf_char* __thiscall basic_filebuf_char_open_wchar(basic_filebuf_char *this, const wchar_t *name, int mode, int prot) -{ - FILE *f = NULL; - - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(basic_filebuf_char_is_open(this)) - return NULL; - - if(!(f = _Fiopen_wchar(name, mode, prot))) - return NULL; - - basic_filebuf_char__Init(this, f, INITFL_open); - basic_filebuf_char__Initcvt(this, codecvt_char_use_facet(this->base.loc)); - return this; -} - -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PB_WI@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEB_WI@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBGI@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBGI@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_wchar_mode, 12) -basic_filebuf_char* __thiscall basic_filebuf_char_open_wchar_mode(basic_filebuf_char *this, const wchar_t *name, unsigned int mode) -{ - return basic_filebuf_char_open_wchar(this, name, mode, SH_DENYNO); -} - -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open, 16) -basic_filebuf_char* __thiscall basic_filebuf_char_open(basic_filebuf_char *this, const char *name, int mode, int prot) -{ - wchar_t nameW[FILENAME_MAX]; - - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(mbstowcs_s(NULL, nameW, FILENAME_MAX, name, FILENAME_MAX-1) != 0) - return NULL; - return basic_filebuf_char_open_wchar(this, nameW, mode, prot); -} - -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDI@Z */ -/* ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_char_open_mode, 12) -basic_filebuf_char* __thiscall basic_filebuf_char_open_mode(basic_filebuf_char *this, const char *name, unsigned int mode) -{ - return basic_filebuf_char_open(this, name, mode, SH_DENYNO); -} - /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */ /* ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */ DEFINE_THISCALL_WRAPPER(basic_filebuf_char_overflow, 8) @@ -2904,8 +2381,7 @@ int basic_filebuf_short__Init__Stinit = 0; /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */ /* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Init, 12) -void __thiscall basic_filebuf_wchar__Init(basic_filebuf_wchar *this, FILE *file, basic_filebuf__Initfl which) +static void basic_filebuf_wchar__Init(basic_filebuf_wchar *this, FILE *file, basic_filebuf__Initfl which) { TRACE("(%p %p %d)\n", this, file, which); @@ -2920,8 +2396,7 @@ void __thiscall basic_filebuf_wchar__Init(basic_filebuf_wchar *this, FILE *file, /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */ /* ?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short__Init, 12) -void __thiscall basic_filebuf_short__Init(basic_filebuf_wchar *this, FILE *file, basic_filebuf__Initfl which) +static void basic_filebuf_short__Init(basic_filebuf_wchar *this, FILE *file, basic_filebuf__Initfl which) { TRACE("(%p %p %d)\n", this, file, which); @@ -2938,8 +2413,7 @@ void __thiscall basic_filebuf_short__Init(basic_filebuf_wchar *this, FILE *file, /* ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$codecvt@_WDH@2@@Z */ /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAV?$codecvt@GDH@2@@Z */ /* ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$codecvt@GDH@2@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Initcvt, 8) -void __thiscall basic_filebuf_wchar__Initcvt(basic_filebuf_wchar *this, codecvt_wchar *cvt) +static void basic_filebuf_wchar__Initcvt(basic_filebuf_wchar *this, codecvt_wchar *cvt) { TRACE("(%p %p)\n", this, cvt); @@ -2955,8 +2429,7 @@ void __thiscall basic_filebuf_wchar__Initcvt(basic_filebuf_wchar *this, codecvt_ /* ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAA_NXZ */ /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAE_NXZ */ /* ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar__Endwrite, 4) -MSVCP_bool __thiscall basic_filebuf_wchar__Endwrite(basic_filebuf_wchar *this) +static MSVCP_bool basic_filebuf_wchar__Endwrite(basic_filebuf_wchar *this) { TRACE("(%p)\n", this); @@ -2997,8 +2470,7 @@ MSVCP_bool __thiscall basic_filebuf_wchar__Endwrite(basic_filebuf_wchar *this) /* ?close@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@XZ */ /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ */ /* ?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_close, 4) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_close(basic_filebuf_wchar *this) +static basic_filebuf_wchar* basic_filebuf_wchar_close(basic_filebuf_wchar *this) { basic_filebuf_wchar *ret = this; @@ -3019,8 +2491,7 @@ basic_filebuf_wchar* __thiscall basic_filebuf_wchar_close(basic_filebuf_wchar *t /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */ /* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_file, 8) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_ctor_file(basic_filebuf_wchar *this, FILE *file) +static basic_filebuf_wchar* basic_filebuf_wchar_ctor_file(basic_filebuf_wchar *this, FILE *file) { TRACE("(%p %p)\n", this, file); @@ -3033,8 +2504,7 @@ basic_filebuf_wchar* __thiscall basic_filebuf_wchar_ctor_file(basic_filebuf_wcha /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */ /* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_file, 8) -basic_filebuf_wchar* __thiscall basic_filebuf_short_ctor_file(basic_filebuf_wchar *this, FILE *file) +static basic_filebuf_wchar* basic_filebuf_short_ctor_file(basic_filebuf_wchar *this, FILE *file) { TRACE("(%p %p)\n", this, file); @@ -3045,52 +2515,11 @@ basic_filebuf_wchar* __thiscall basic_filebuf_short_ctor_file(basic_filebuf_wcha return this; } -/* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */ -/* ??_F?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor, 4) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_ctor(basic_filebuf_wchar *this) -{ - return basic_filebuf_wchar_ctor_file(this, NULL); -} - -/* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ */ -/* ??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor, 4) -basic_filebuf_wchar* __thiscall basic_filebuf_short_ctor(basic_filebuf_wchar *this) -{ - return basic_filebuf_short_ctor_file(this, NULL); -} - -/* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z */ -/* ??0?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_ctor_uninitialized, 8) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_ctor_uninitialized(basic_filebuf_wchar *this, int uninitialized) -{ - TRACE("(%p %d)\n", this, uninitialized); - - basic_streambuf_wchar_ctor(&this->base); - this->base.vtable = &MSVCP_basic_filebuf_wchar_vtable; - return this; -} - -/* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z */ -/* ??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short_ctor_uninitialized, 8) -basic_filebuf_wchar* __thiscall basic_filebuf_short_ctor_uninitialized(basic_filebuf_wchar *this, int uninitialized) -{ - TRACE("(%p %d)\n", this, uninitialized); - - basic_streambuf_short_ctor(&this->base); - this->base.vtable = &MSVCP_basic_filebuf_short_vtable; - return this; -} - /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */ /* ??1?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */ /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ */ /* ??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_dtor, 4) -void __thiscall basic_filebuf_wchar_dtor(basic_filebuf_wchar *this) +static void basic_filebuf_wchar_dtor(basic_filebuf_wchar *this) { TRACE("(%p)\n", this); @@ -3123,121 +2552,12 @@ basic_filebuf_wchar* __thiscall basic_filebuf_wchar_vector_dtor(basic_filebuf_wc /* ?is_open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */ /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ */ /* ?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_is_open, 4) -MSVCP_bool __thiscall basic_filebuf_wchar_is_open(const basic_filebuf_wchar *this) +static MSVCP_bool basic_filebuf_wchar_is_open(const basic_filebuf_wchar *this) { TRACE("(%p)\n", this); return this->file != NULL; } -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WHH@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WHH@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGHH@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar, 16) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_open_wchar(basic_filebuf_wchar *this, const wchar_t *name, int mode, int prot) -{ - FILE *f = NULL; - - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(basic_filebuf_wchar_is_open(this)) - return NULL; - - if(!(f = _Fiopen_wchar(name, mode, prot))) - return NULL; - - basic_filebuf_wchar__Init(this, f, INITFL_open); - basic_filebuf_wchar__Initcvt(this, codecvt_wchar_use_facet(this->base.loc)); - return this; -} - -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WHH@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WHH@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGHH@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar, 16) -basic_filebuf_wchar* __thiscall basic_filebuf_short_open_wchar(basic_filebuf_wchar *this, const wchar_t *name, int mode, int prot) -{ - FILE *f = NULL; - - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(basic_filebuf_wchar_is_open(this)) - return NULL; - - if(!(f = _Fiopen_wchar(name, mode, prot))) - return NULL; - - basic_filebuf_short__Init(this, f, INITFL_open); - basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(this->base.loc)); - return this; -} - -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PB_WI@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEB_WI@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBGI@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBGI@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_wchar_mode, 12) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_open_wchar_mode(basic_filebuf_wchar *this, const wchar_t *name, unsigned int mode) -{ - return basic_filebuf_wchar_open_wchar(this, name, mode, SH_DENYNO); -} - -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PB_WI@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEB_WI@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBGI@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBGI@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_wchar_mode, 12) -basic_filebuf_wchar* __thiscall basic_filebuf_short_open_wchar_mode(basic_filebuf_wchar *this, const wchar_t *name, unsigned int mode) -{ - return basic_filebuf_short_open_wchar(this, name, mode, SH_DENYNO); -} - -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDHH@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open, 16) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_open(basic_filebuf_wchar *this, const char *name, int mode, int prot) -{ - wchar_t nameW[FILENAME_MAX]; - - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(mbstowcs_s(NULL, nameW, FILENAME_MAX, name, FILENAME_MAX-1) != 0) - return NULL; - return basic_filebuf_wchar_open_wchar(this, nameW, mode, prot); -} - -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDHH@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open, 16) -basic_filebuf_wchar* __thiscall basic_filebuf_short_open(basic_filebuf_wchar *this, const char *name, int mode, int prot) -{ - wchar_t nameW[FILENAME_MAX]; - - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(mbstowcs_s(NULL, nameW, FILENAME_MAX, name, FILENAME_MAX-1) != 0) - return NULL; - return basic_filebuf_short_open_wchar(this, nameW, mode, prot); -} - -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PBDI@Z */ -/* ?open@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_open_mode, 12) -basic_filebuf_wchar* __thiscall basic_filebuf_wchar_open_mode(basic_filebuf_wchar *this, const char *name, unsigned int mode) -{ - return basic_filebuf_wchar_open(this, name, mode, SH_DENYNO); -} - -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDI@Z */ -/* ?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_filebuf_short_open_mode, 12) -basic_filebuf_wchar* __thiscall basic_filebuf_short_open_mode(basic_filebuf_wchar *this, const char *name, unsigned int mode) -{ - return basic_filebuf_short_open(this, name, mode, SH_DENYNO); -} - /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */ /* ?overflow@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */ /* ?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */ @@ -3544,786 +2864,6 @@ void __thiscall basic_filebuf_short_imbue(basic_filebuf_wchar *this, const local basic_filebuf_wchar__Initcvt(this, codecvt_short_use_facet(loc)); } -/* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z */ -/* ?_Getstate@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Getstate, 8) -int __thiscall basic_stringbuf_char__Getstate(basic_stringbuf_char *this, IOSB_openmode mode) -{ - int state = 0; - - if(!(mode & OPENMODE_in)) - state |= STRINGBUF_no_read; - - if(!(mode & OPENMODE_out)) - state |= STRINGBUF_no_write; - - if(mode & OPENMODE_ate) - state |= STRINGBUF_at_end; - - if(mode & OPENMODE_app) - state |= STRINGBUF_append; - - return state; -} - -/* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z */ -/* ?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Init, 16) -void __thiscall basic_stringbuf_char__Init(basic_stringbuf_char *this, const char *str, MSVCP_size_t count, int state) -{ - TRACE("(%p, %p, %lu, %d)\n", this, str, count, state); - - basic_streambuf_char__Init_empty(&this->base); - - this->state = state; - this->seekhigh = NULL; - - if(count && str) { - char *buf = MSVCRT_operator_new(count); - if(!buf) { - ERR("Out of memory\n"); - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - } - - memcpy(buf, str, count); - this->seekhigh = buf + count; - - this->state |= STRINGBUF_allocated; - - if(!(state & STRINGBUF_no_read)) - basic_streambuf_char_setg(&this->base, buf, buf, buf + count); - - if(!(state & STRINGBUF_no_write)) { - basic_streambuf_char_setp_next(&this->base, buf, (state & STRINGBUF_at_end) ? buf + count : buf, buf + count); - - if(!basic_streambuf_char_gptr(&this->base)) - basic_streambuf_char_setg(&this->base, buf, 0, buf); - } - } -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_str, 12) -basic_stringbuf_char* __thiscall basic_stringbuf_char_ctor_str(basic_stringbuf_char *this, - const basic_string_char *str, IOSB_openmode mode) -{ - TRACE("(%p %p %d)\n", this, str, mode); - - basic_streambuf_char_ctor(&this->base); - this->base.vtable = &MSVCP_basic_stringbuf_char_vtable; - - basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str), - str->size, basic_stringbuf_char__Getstate(this, mode)); - return this; -} - -/* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */ -/* ??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor_mode, 8) -basic_stringbuf_char* __thiscall basic_stringbuf_char_ctor_mode( - basic_stringbuf_char *this, IOSB_openmode mode) -{ - TRACE("(%p %d)\n", this, mode); - - basic_streambuf_char_ctor(&this->base); - this->base.vtable = &MSVCP_basic_stringbuf_char_vtable; - - basic_stringbuf_char__Init(this, NULL, 0, basic_stringbuf_char__Getstate(this, mode)); - return this; -} - -/* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_ctor, 4) -basic_stringbuf_char* __thiscall basic_stringbuf_char_ctor(basic_stringbuf_char *this) -{ - return basic_stringbuf_char_ctor_mode(this, OPENMODE_in|OPENMODE_out); -} - -/* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ */ -/* ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char__Tidy, 4) -void __thiscall basic_stringbuf_char__Tidy(basic_stringbuf_char *this) -{ - TRACE("(%p)\n", this); - - if(this->state & STRINGBUF_allocated) { - MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base)); - this->seekhigh = NULL; - this->state &= ~STRINGBUF_allocated; - } - - basic_streambuf_char__Init_empty(&this->base); -} - -/* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */ -/* ??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_dtor, 4) -void __thiscall basic_stringbuf_char_dtor(basic_stringbuf_char *this) -{ - TRACE("(%p)\n", this); - - basic_stringbuf_char__Tidy(this); - basic_streambuf_char_dtor(&this->base); -} - -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_vector_dtor, 8) -basic_stringbuf_char* __thiscall basic_stringbuf_char_vector_dtor(basic_stringbuf_char *this, unsigned int flags) -{ - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *) this - 1; - - for (i = *ptr - 1; i >= 0; i--) - basic_stringbuf_char_dtor(this+i); - - MSVCRT_operator_delete(ptr); - }else { - basic_stringbuf_char_dtor(this); - - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */ -/* ?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_overflow, 8) -int __thiscall basic_stringbuf_char_overflow(basic_stringbuf_char *this, int meta) -{ - MSVCP_size_t oldsize, size; - char *ptr, *buf; - - TRACE("(%p %x)\n", this, meta); - - if(meta == EOF) - return !EOF; - if(this->state & STRINGBUF_no_write) - return EOF; - - ptr = basic_streambuf_char_pptr(&this->base); - if((this->state&STRINGBUF_append) && ptrseekhigh) - basic_streambuf_char_setp_next(&this->base, basic_streambuf_char_pbase(&this->base), - this->seekhigh, basic_streambuf_char_epptr(&this->base)); - - if(ptr && ptrbase)) - return (*basic_streambuf_char__Pninc(&this->base) = meta); - - oldsize = (ptr ? basic_streambuf_char_epptr(&this->base)-basic_streambuf_char_eback(&this->base): 0); - size = oldsize|0xf; - size += size/2; - buf = MSVCRT_operator_new(size); - if(!buf) { - ERR("Out of memory\n"); - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - } - - if(!oldsize) { - this->seekhigh = buf; - basic_streambuf_char_setp(&this->base, buf, buf+size); - if(this->state & STRINGBUF_no_read) - basic_streambuf_char_setg(&this->base, buf, NULL, buf); - else - basic_streambuf_char_setg(&this->base, buf, buf, buf+1); - - this->state |= STRINGBUF_allocated; - }else { - ptr = basic_streambuf_char_eback(&this->base); - memcpy(buf, ptr, oldsize); - - this->seekhigh = buf+(this->seekhigh-ptr); - basic_streambuf_char_setp_next(&this->base, buf, - buf+(basic_streambuf_char_pptr(&this->base)-ptr), buf+size); - if(this->state & STRINGBUF_no_read) - basic_streambuf_char_setg(&this->base, buf, NULL, buf); - else - basic_streambuf_char_setg(&this->base, buf, - buf+(basic_streambuf_char_gptr(&this->base)-ptr), - basic_streambuf_char_pptr(&this->base)+1); - - MSVCRT_operator_delete(ptr); - } - - return (*basic_streambuf_char__Pninc(&this->base) = meta); -} - -/* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z */ -/* ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_pbackfail, 8) -int __thiscall basic_stringbuf_char_pbackfail(basic_stringbuf_char *this, int c) -{ - char *cur; - - TRACE("(%p %x)\n", this, c); - - cur = basic_streambuf_char_gptr(&this->base); - if(!cur || cur==basic_streambuf_char_eback(&this->base) - || (c!=EOF && c!=cur[-1] && this->state&STRINGBUF_no_write)) - return EOF; - - if(c != EOF) - cur[-1] = c; - basic_streambuf_char_gbump(&this->base, -1); - return c==EOF ? !EOF : c; -} - -/* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ */ -/* ?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_underflow, 4) -int __thiscall basic_stringbuf_char_underflow(basic_stringbuf_char *this) -{ - char *ptr, *cur; - - TRACE("(%p)\n", this); - - cur = basic_streambuf_char_gptr(&this->base); - if(!cur || this->state&STRINGBUF_no_read) - return EOF; - - ptr = basic_streambuf_char_pptr(&this->base); - if(this->seekhigh < ptr) - this->seekhigh = ptr; - - ptr = basic_streambuf_char_egptr(&this->base); - if(this->seekhigh > ptr) - basic_streambuf_char_setg(&this->base, basic_streambuf_char_eback(&this->base), cur, this->seekhigh); - - if(cur < this->seekhigh) - return *cur; - return EOF; -} - -/* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */ -/* ?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekoff, 24) -fpos_int* __thiscall basic_stringbuf_char_seekoff(basic_stringbuf_char *this, - fpos_int *ret, streamoff off, int way, int mode) -{ - char *beg, *cur_r, *cur_w; - - TRACE("(%p %p %s %d %d)\n", this, ret, wine_dbgstr_longlong(off), way, mode); - - cur_w = basic_streambuf_char_pptr(&this->base); - if(cur_w > this->seekhigh) - this->seekhigh = cur_w; - - ret->off = 0; - ret->state = 0; - - beg = basic_streambuf_char_eback(&this->base); - cur_r = basic_streambuf_char_gptr(&this->base); - if((mode & OPENMODE_in) && cur_r) { - if(way==SEEKDIR_cur && !(mode & OPENMODE_out)) - off += cur_r-beg; - else if(way == SEEKDIR_end) - off += this->seekhigh-beg; - else if(way != SEEKDIR_beg) - off = -1; - - if(off<0 || off>this->seekhigh-beg) { - off = -1; - }else { - basic_streambuf_char_gbump(&this->base, beg-cur_r+off); - if((mode & OPENMODE_out) && cur_w) { - basic_streambuf_char_setp_next(&this->base, beg, - basic_streambuf_char_gptr(&this->base), - basic_streambuf_char_epptr(&this->base)); - } - } - }else if((mode & OPENMODE_out) && cur_w) { - if(way == SEEKDIR_cur) - off += cur_w-beg; - else if(way == SEEKDIR_end) - off += this->seekhigh-beg; - else if(way != SEEKDIR_beg) - off = -1; - - if(off<0 || off>this->seekhigh-beg) - off = -1; - else - basic_streambuf_char_pbump(&this->base, beg-cur_w+off); - }else { - off = -1; - } - - ret->pos = off; - return ret; -} - -/* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */ -/* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekpos, 36) -fpos_int* __thiscall basic_stringbuf_char_seekpos(basic_stringbuf_char *this, - fpos_int *ret, fpos_int pos, int mode) -{ - TRACE("(%p %p %s %d)\n", this, ret, debugstr_fpos_int(&pos), mode); - - if(pos.off==0 && pos.pos==-1 && pos.state==0) { - *ret = pos; - return ret; - } - - return basic_stringbuf_char_seekoff(this, ret, pos.off, SEEKDIR_beg, mode); -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_set, 8) -void __thiscall basic_stringbuf_char_str_set(basic_stringbuf_char *this, const basic_string_char *str) -{ - TRACE("(%p %p)\n", this, str); - - basic_stringbuf_char__Tidy(this); - basic_stringbuf_char__Init(this, MSVCP_basic_string_char_c_str(str), str->size, this->state); -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_str_get, 8) -basic_string_char* __thiscall basic_stringbuf_char_str_get(const basic_stringbuf_char *this, basic_string_char *ret) -{ - char *ptr; - - TRACE("(%p)\n", this); - - if(!(this->state & STRINGBUF_no_write) && basic_streambuf_char_pptr(&this->base)) { - char *pptr; - - ptr = basic_streambuf_char_pbase(&this->base); - pptr = basic_streambuf_char_pptr(&this->base); - - return MSVCP_basic_string_char_ctor_cstr_len(ret, ptr, (this->seekhigh < pptr ? pptr : this->seekhigh) - ptr); - } - - if(!(this->state & STRINGBUF_no_read) && basic_streambuf_char_gptr(&this->base)) { - ptr = basic_streambuf_char_eback(&this->base); - return MSVCP_basic_string_char_ctor_cstr_len(ret, ptr, basic_streambuf_char_egptr(&this->base) - ptr); - } - - return MSVCP_basic_string_char_ctor(ret); -} - -/* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEHH@Z */ -/* ?_Getstate@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEAAHH@Z */ -/* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z */ -/* ?_Getstate@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Getstate, 8) -int __thiscall basic_stringbuf_wchar__Getstate(basic_stringbuf_wchar *this, IOSB_openmode mode) -{ - int state = 0; - - if(!(mode & OPENMODE_in)) - state |= STRINGBUF_no_read; - - if(!(mode & OPENMODE_out)) - state |= STRINGBUF_no_write; - - if(mode & OPENMODE_ate) - state |= STRINGBUF_at_end; - - if(mode & OPENMODE_app) - state |= STRINGBUF_append; - - return state; -} - -/* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXPB_WIH@Z */ -/* ?_Init@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXPEB_W_KH@Z */ -/* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z */ -/* ?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Init, 16) -void __thiscall basic_stringbuf_wchar__Init(basic_stringbuf_wchar *this, const wchar_t *str, MSVCP_size_t count, int state) -{ - TRACE("(%p, %p, %lu, %d)\n", this, str, count, state); - - basic_streambuf_wchar__Init_empty(&this->base); - - this->state = state; - this->seekhigh = NULL; - - if(count && str) { - wchar_t *buf = MSVCRT_operator_new(count*sizeof(wchar_t)); - if(!buf) { - ERR("Out of memory\n"); - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - } - - memcpy(buf, str, count*sizeof(wchar_t)); - this->seekhigh = buf + count; - - this->state |= STRINGBUF_allocated; - - if(!(state & STRINGBUF_no_read)) - basic_streambuf_wchar_setg(&this->base, buf, buf, buf + count); - - if(!(state & STRINGBUF_no_write)) { - basic_streambuf_wchar_setp_next(&this->base, buf, (state & STRINGBUF_at_end) ? buf + count : buf, buf + count); - - if(!basic_streambuf_wchar_gptr(&this->base)) - basic_streambuf_wchar_setg(&this->base, buf, 0, buf); - } - } -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_str, 12) -basic_stringbuf_wchar* __thiscall basic_stringbuf_wchar_ctor_str(basic_stringbuf_wchar *this, - const basic_string_wchar *str, IOSB_openmode mode) -{ - TRACE("(%p %p %d)\n", this, str, mode); - - basic_streambuf_wchar_ctor(&this->base); - this->base.vtable = &MSVCP_basic_stringbuf_wchar_vtable; - - basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str), - str->size, basic_stringbuf_wchar__Getstate(this, mode)); - return this; -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_str, 12) -basic_stringbuf_wchar* __thiscall basic_stringbuf_short_ctor_str(basic_stringbuf_wchar *this, - const basic_string_wchar *str, IOSB_openmode mode) -{ - basic_stringbuf_wchar_ctor_str(this, str, mode); - this->base.vtable = &MSVCP_basic_stringbuf_short_vtable; - return this; -} - -/* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */ -/* ??0?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor_mode, 8) -basic_stringbuf_wchar* __thiscall basic_stringbuf_wchar_ctor_mode( - basic_stringbuf_wchar *this, IOSB_openmode mode) -{ - TRACE("(%p %d)\n", this, mode); - - basic_streambuf_wchar_ctor(&this->base); - this->base.vtable = &MSVCP_basic_stringbuf_wchar_vtable; - - basic_stringbuf_wchar__Init(this, NULL, 0, basic_stringbuf_wchar__Getstate(this, mode)); - return this; -} - -/* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */ -/* ??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor_mode, 8) -basic_stringbuf_wchar* __thiscall basic_stringbuf_short_ctor_mode( - basic_stringbuf_wchar *this, IOSB_openmode mode) -{ - basic_stringbuf_wchar_ctor_mode(this, mode); - this->base.vtable = &MSVCP_basic_stringbuf_short_vtable; - return this; -} - -/* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ??_F?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_ctor, 4) -basic_stringbuf_wchar* __thiscall basic_stringbuf_wchar_ctor(basic_stringbuf_wchar *this) -{ - return basic_stringbuf_wchar_ctor_mode(this, OPENMODE_in|OPENMODE_out); -} - -/* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_short_ctor, 4) -basic_stringbuf_wchar* __thiscall basic_stringbuf_short_ctor(basic_stringbuf_wchar *this) -{ - return basic_stringbuf_short_ctor_mode(this, OPENMODE_in|OPENMODE_out); -} - -/* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXXZ */ -/* ?_Tidy@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAXXZ */ -/* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ */ -/* ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar__Tidy, 4) -void __thiscall basic_stringbuf_wchar__Tidy(basic_stringbuf_wchar *this) -{ - TRACE("(%p)\n", this); - - if(this->state & STRINGBUF_allocated) { - MSVCRT_operator_delete(basic_streambuf_wchar_eback(&this->base)); - this->seekhigh = NULL; - this->state &= ~STRINGBUF_allocated; - } - - basic_streambuf_wchar__Init_empty(&this->base); -} - -/* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */ -/* ??1?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */ -/* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */ -/* ??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_dtor, 4) -void __thiscall basic_stringbuf_wchar_dtor(basic_stringbuf_wchar *this) -{ - TRACE("(%p)\n", this); - - basic_stringbuf_wchar__Tidy(this); - basic_streambuf_wchar_dtor(&this->base); -} - -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_vector_dtor, 8) -basic_stringbuf_wchar* __thiscall basic_stringbuf_wchar_vector_dtor(basic_stringbuf_wchar *this, unsigned int flags) -{ - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *) this - 1; - - for (i = *ptr - 1; i >= 0; i--) - basic_stringbuf_wchar_dtor(this+i); - - MSVCRT_operator_delete(ptr); - }else { - basic_stringbuf_wchar_dtor(this); - - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */ -/* ?overflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */ -/* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */ -/* ?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_overflow, 8) -unsigned short __thiscall basic_stringbuf_wchar_overflow(basic_stringbuf_wchar *this, unsigned short meta) -{ - MSVCP_size_t oldsize, size; - wchar_t *ptr, *buf; - - TRACE("(%p %x)\n", this, meta); - - if(meta == WEOF) - return !WEOF; - if(this->state & STRINGBUF_no_write) - return WEOF; - - ptr = basic_streambuf_wchar_pptr(&this->base); - if((this->state&STRINGBUF_append) && ptrseekhigh) - basic_streambuf_wchar_setp_next(&this->base, basic_streambuf_wchar_pbase(&this->base), - this->seekhigh, basic_streambuf_wchar_epptr(&this->base)); - - if(ptr && ptrbase)) - return (*basic_streambuf_wchar__Pninc(&this->base) = meta); - - oldsize = (ptr ? basic_streambuf_wchar_epptr(&this->base)-basic_streambuf_wchar_eback(&this->base): 0); - size = oldsize|0xf; - size += size/2; - buf = MSVCRT_operator_new(size*sizeof(wchar_t)); - if(!buf) { - ERR("Out of memory\n"); - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - } - - if(!oldsize) { - this->seekhigh = buf; - basic_streambuf_wchar_setp(&this->base, buf, buf+size); - if(this->state & STRINGBUF_no_read) - basic_streambuf_wchar_setg(&this->base, buf, NULL, buf); - else - basic_streambuf_wchar_setg(&this->base, buf, buf, buf+1); - - this->state |= STRINGBUF_allocated; - }else { - ptr = basic_streambuf_wchar_eback(&this->base); - memcpy(buf, ptr, oldsize*sizeof(wchar_t)); - - this->seekhigh = buf+(this->seekhigh-ptr); - basic_streambuf_wchar_setp_next(&this->base, buf, - buf+(basic_streambuf_wchar_pptr(&this->base)-ptr), buf+size); - if(this->state & STRINGBUF_no_read) - basic_streambuf_wchar_setg(&this->base, buf, NULL, buf); - else - basic_streambuf_wchar_setg(&this->base, buf, - buf+(basic_streambuf_wchar_gptr(&this->base)-ptr), - basic_streambuf_wchar_pptr(&this->base)+1); - - MSVCRT_operator_delete(ptr); - } - - return (*basic_streambuf_wchar__Pninc(&this->base) = meta); -} - -/* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGG@Z */ -/* ?pbackfail@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGG@Z */ -/* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z */ -/* ?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_pbackfail, 8) -unsigned short __thiscall basic_stringbuf_wchar_pbackfail(basic_stringbuf_wchar *this, unsigned short c) -{ - wchar_t *cur; - - TRACE("(%p %x)\n", this, c); - - cur = basic_streambuf_wchar_gptr(&this->base); - if(!cur || cur==basic_streambuf_wchar_eback(&this->base) - || (c!=WEOF && c!=cur[-1] && this->state&STRINGBUF_no_write)) - return WEOF; - - if(c != WEOF) - cur[-1] = c; - basic_streambuf_wchar_gbump(&this->base, -1); - return c==WEOF ? !WEOF : c; -} - -/* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAEGXZ */ -/* ?underflow@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAAGXZ */ -/* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ */ -/* ?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_underflow, 4) -unsigned short __thiscall basic_stringbuf_wchar_underflow(basic_stringbuf_wchar *this) -{ - wchar_t *ptr, *cur; - - TRACE("(%p)\n", this); - - cur = basic_streambuf_wchar_gptr(&this->base); - if(!cur || this->state&STRINGBUF_no_read) - return WEOF; - - ptr = basic_streambuf_wchar_pptr(&this->base); - if(this->seekhigh < ptr) - this->seekhigh = ptr; - - ptr = basic_streambuf_wchar_egptr(&this->base); - if(this->seekhigh > ptr) - basic_streambuf_wchar_setg(&this->base, basic_streambuf_wchar_eback(&this->base), cur, this->seekhigh); - - if(cur < this->seekhigh) - return *cur; - return WEOF; -} - -/* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */ -/* ?seekoff@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */ -/* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JHH@Z */ -/* ?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekoff, 24) -fpos_int* __thiscall basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar *this, - fpos_int *ret, streamoff off, int way, int mode) -{ - wchar_t *beg, *cur_r, *cur_w; - - TRACE("(%p %p %s %d %d)\n", this, ret, wine_dbgstr_longlong(off), way, mode); - - cur_w = basic_streambuf_wchar_pptr(&this->base); - if(cur_w > this->seekhigh) - this->seekhigh = cur_w; - - ret->off = 0; - ret->state = 0; - - beg = basic_streambuf_wchar_eback(&this->base); - cur_r = basic_streambuf_wchar_gptr(&this->base); - if((mode & OPENMODE_in) && cur_r) { - if(way==SEEKDIR_cur && !(mode & OPENMODE_out)) - off += cur_r-beg; - else if(way == SEEKDIR_end) - off += this->seekhigh-beg; - else if(way != SEEKDIR_beg) - off = -1; - - if(off<0 || off>this->seekhigh-beg) { - off = -1; - }else { - basic_streambuf_wchar_gbump(&this->base, beg-cur_r+off); - if((mode & OPENMODE_out) && cur_w) { - basic_streambuf_wchar_setp_next(&this->base, beg, - basic_streambuf_wchar_gptr(&this->base), - basic_streambuf_wchar_epptr(&this->base)); - } - } - }else if((mode & OPENMODE_out) && cur_w) { - if(way == SEEKDIR_cur) - off += cur_w-beg; - else if(way == SEEKDIR_end) - off += this->seekhigh-beg; - else if(way != SEEKDIR_beg) - off = -1; - - if(off<0 || off>this->seekhigh-beg) - off = -1; - else - basic_streambuf_wchar_pbump(&this->base, beg-cur_w+off); - }else { - off = -1; - } - - ret->pos = off; - return ret; -} - -/* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */ -/* ?seekpos@?$basic_stringbuf@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */ -/* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */ -/* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekpos, 36) -fpos_int* __thiscall basic_stringbuf_wchar_seekpos(basic_stringbuf_wchar *this, - fpos_int *ret, fpos_int pos, int mode) -{ - TRACE("(%p %p %s %d)\n", this, ret, debugstr_fpos_int(&pos), mode); - - if(pos.off==0 && pos.pos==-1 && pos.state==0) { - *ret = pos; - return ret; - } - - return basic_stringbuf_wchar_seekoff(this, ret, pos.off, SEEKDIR_beg, mode); -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_set, 8) -void __thiscall basic_stringbuf_wchar_str_set(basic_stringbuf_wchar *this, const basic_string_wchar *str) -{ - TRACE("(%p %p)\n", this, str); - - basic_stringbuf_wchar__Tidy(this); - basic_stringbuf_wchar__Init(this, MSVCP_basic_string_wchar_c_str(str), str->size, this->state); -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_str_get, 8) -basic_string_wchar* __thiscall basic_stringbuf_wchar_str_get(const basic_stringbuf_wchar *this, basic_string_wchar *ret) -{ - wchar_t *ptr; - - TRACE("(%p)\n", this); - - if(!(this->state & STRINGBUF_no_write) && basic_streambuf_wchar_pptr(&this->base)) { - wchar_t *pptr; - - ptr = basic_streambuf_wchar_pbase(&this->base); - pptr = basic_streambuf_wchar_pptr(&this->base); - - return MSVCP_basic_string_wchar_ctor_cstr_len(ret, ptr, (this->seekhigh < pptr ? pptr : this->seekhigh) - ptr); - } - - if(!(this->state & STRINGBUF_no_read) && basic_streambuf_wchar_gptr(&this->base)) { - ptr = basic_streambuf_wchar_eback(&this->base); - return MSVCP_basic_string_wchar_ctor_cstr_len(ret, ptr, basic_streambuf_wchar_egptr(&this->base) - ptr); - } - - return MSVCP_basic_string_wchar_ctor(ret); -} - /* ??0ios_base@std@@IAE@XZ */ /* ??0ios_base@std@@IEAA@XZ */ DEFINE_THISCALL_WRAPPER(ios_base_ctor, 4) @@ -7276,8 +5816,7 @@ int __thiscall basic_istream_char_peek(basic_istream_char *this) /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADIH@Z */ /* ?_Read_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_istream_char__Read_s, 20) -basic_istream_char* __thiscall basic_istream_char__Read_s(basic_istream_char *this, char *str, MSVCP_size_t size, streamsize count) +static basic_istream_char* basic_istream_char__Read_s(basic_istream_char *this, char *str, MSVCP_size_t size, streamsize count) { basic_ios_char *base = basic_istream_char_get_basic_ios(this); IOSB_iostate state = IOSTATE_goodbit; @@ -7309,8 +5848,7 @@ basic_istream_char* __thiscall basic_istream_char_read(basic_istream_char *this, /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */ /* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_istream_char__Readsome_s, 20) -streamsize __thiscall basic_istream_char__Readsome_s(basic_istream_char *this, char *str, MSVCP_size_t size, streamsize count) +static streamsize basic_istream_char__Readsome_s(basic_istream_char *this, char *str, MSVCP_size_t size, streamsize count) { basic_ios_char *base = basic_istream_char_get_basic_ios(this); IOSB_iostate state = IOSTATE_goodbit; @@ -8407,8 +6945,7 @@ unsigned short __thiscall basic_istream_wchar_peek(basic_istream_wchar *this) /* ?_Read_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@PEA_W_K_J@Z */ /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGIH@Z */ /* ?_Read_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Read_s, 20) -basic_istream_wchar* __thiscall basic_istream_wchar__Read_s(basic_istream_wchar *this, wchar_t *str, MSVCP_size_t size, streamsize count) +static basic_istream_wchar* basic_istream_wchar__Read_s(basic_istream_wchar *this, wchar_t *str, MSVCP_size_t size, streamsize count) { basic_ios_wchar *base = basic_istream_wchar_get_basic_ios(this); IOSB_iostate state = IOSTATE_goodbit; @@ -8444,8 +6981,7 @@ basic_istream_wchar* __thiscall basic_istream_wchar_read(basic_istream_wchar *th /* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */ /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */ /* ?_Readsome_s@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */ -DEFINE_THISCALL_WRAPPER(basic_istream_wchar__Readsome_s, 20) -streamsize __thiscall basic_istream_wchar__Readsome_s(basic_istream_wchar *this, wchar_t *str, MSVCP_size_t size, streamsize count) +static streamsize basic_istream_wchar__Readsome_s(basic_istream_wchar *this, wchar_t *str, MSVCP_size_t size, streamsize count) { basic_ios_wchar *base = basic_istream_wchar_get_basic_ios(this); IOSB_iostate state = IOSTATE_goodbit; @@ -9387,2885 +7923,6 @@ basic_iostream_wchar* __thiscall basic_iostream_wchar_vector_dtor(basic_ios_wcha return this; } -static inline basic_ios_char* basic_ofstream_char_to_basic_ios(basic_ofstream_char *ptr) -{ - return (basic_ios_char*)((char*)ptr+basic_ofstream_char_vbtable[1]); -} - -static inline basic_ofstream_char* basic_ofstream_char_from_basic_ios(basic_ios_char *ptr) -{ - return (basic_ofstream_char*)((char*)ptr-basic_ofstream_char_vbtable[1]); -} - -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ */ -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor, 8) -basic_ofstream_char* __thiscall basic_ofstream_char_ctor(basic_ofstream_char *this, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %d)\n", this, 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(&this->filebuf); - 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@PAU_iobuf@@@Z */ -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_file, 12) -basic_ofstream_char* __thiscall 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@PBDHH@Z */ -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name, 20) -basic_ofstream_char* __thiscall basic_ofstream_char_ctor_name(basic_ofstream_char *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, name, mode, prot, virt_init); - - basic_ofstream_char_ctor(this, virt_init); - - if(!basic_filebuf_char_open(&this->filebuf, name, mode|OPENMODE_out, prot)) { - basic_ios_char *basic_ios = basic_ostream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_ctor_name_wchar, 20) -basic_ofstream_char* __thiscall basic_ofstream_char_ctor_name_wchar(basic_ofstream_char *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name), mode, prot, virt_init); - - basic_ofstream_char_ctor(this, virt_init); - - if(!basic_filebuf_char_open_wchar(&this->filebuf, name, mode|OPENMODE_out, prot)) { - 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) -void __thiscall basic_ofstream_char_dtor(basic_ios_char *base) -{ - basic_ofstream_char *this = basic_ofstream_char_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base)); - basic_filebuf_char_dtor(&this->filebuf); -} - -/* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */ -/* ??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vbase_dtor, 4) -void __thiscall basic_ofstream_char_vbase_dtor(basic_ofstream_char *this) -{ - TRACE("(%p)\n", this); - - basic_ofstream_char_dtor(basic_ofstream_char_to_basic_ios(this)); - basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_vector_dtor, 8) -basic_ofstream_char* __thiscall basic_ofstream_char_vector_dtor(basic_ios_char *base, unsigned int flags) -{ - basic_ofstream_char *this = basic_ofstream_char_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_ofstream_char_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_ofstream_char_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ */ -/* ?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_close, 4) -void __thiscall basic_ofstream_char_close(basic_ofstream_char *this) -{ - TRACE("(%p)\n", this); - - if(!basic_filebuf_char_close(&this->filebuf)) { - basic_ios_char *basic_ios = basic_ostream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_is_open, 4) -MSVCP_bool __thiscall basic_ofstream_char_is_open(const basic_ofstream_char *this) -{ - TRACE("(%p)\n", this); - return basic_filebuf_char_is_open(&this->filebuf); -} - -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open, 16) -void __thiscall basic_ofstream_char_open(basic_ofstream_char *this, - const char *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(!basic_filebuf_char_open(&this->filebuf, name, mode|OPENMODE_out, prot)) { - basic_ios_char *basic_ios = basic_ostream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old, 12) -void __thiscall basic_ofstream_char_open_old(basic_ofstream_char *this, - const char *name, unsigned int mode) -{ - basic_ofstream_char_open(this, name, mode, _SH_DENYNO); -} - -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar, 16) -void __thiscall basic_ofstream_char_open_wchar(basic_ofstream_char *this, - const wchar_t *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(!basic_filebuf_char_open_wchar(&this->filebuf, name, mode|OPENMODE_out, prot)) { - basic_ios_char *basic_ios = basic_ostream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_wchar_old, 12) -void __thiscall basic_ofstream_char_open_wchar_old(basic_ofstream_char *this, - const wchar_t *name, unsigned int mode) -{ - basic_ofstream_char_open_wchar(this, name, mode, _SH_DENYNO); -} - -/* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ -/* ?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_char_rdbuf, 4) -basic_filebuf_char* __thiscall basic_ofstream_char_rdbuf(const basic_ofstream_char *this) -{ - TRACE("(%p)\n", this); - return (basic_filebuf_char*)&this->filebuf; -} - -static inline basic_ios_wchar* basic_ofstream_wchar_to_basic_ios(basic_ofstream_wchar *ptr) -{ - return (basic_ios_wchar*)((char*)ptr+basic_ofstream_wchar_vbtable[1]); -} - -static inline basic_ofstream_wchar* basic_ofstream_wchar_from_basic_ios(basic_ios_wchar *ptr) -{ - return (basic_ofstream_wchar*)((char*)ptr-basic_ofstream_wchar_vbtable[1]); -} - -/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */ -/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor, 8) -basic_ofstream_wchar* __thiscall basic_ofstream_wchar_ctor(basic_ofstream_wchar *this, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %d)\n", this, 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(&this->filebuf); - 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@XZ */ -/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor, 8) -basic_ofstream_wchar* __thiscall basic_ofstream_short_ctor(basic_ofstream_wchar *this, MSVCP_bool virt_init) -{ - basic_ofstream_wchar_ctor(this, virt_init); - basic_ostream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ofstream_short_vtable; - 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 */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_file, 12) -basic_ofstream_wchar* __thiscall 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 */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_file, 12) -basic_ofstream_wchar* __thiscall 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@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */ -/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name, 20) -basic_ofstream_wchar* __thiscall basic_ofstream_wchar_ctor_name(basic_ofstream_wchar *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, name, mode, prot, virt_init); - - basic_ofstream_wchar_ctor(this, virt_init); - - if(!basic_filebuf_wchar_open(&this->filebuf, name, mode|OPENMODE_out, prot)) { - basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */ -/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name, 20) -basic_ofstream_wchar* __thiscall basic_ofstream_short_ctor_name(basic_ofstream_wchar *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - basic_ofstream_wchar_ctor_name(this, name, mode, prot, virt_init); - basic_ostream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ofstream_short_vtable; - return this; -} - -/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_ctor_name_wchar, 20) -basic_ofstream_wchar* __thiscall basic_ofstream_wchar_ctor_name_wchar(basic_ofstream_wchar *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name), mode, prot, virt_init); - - basic_ofstream_wchar_ctor(this, virt_init); - - if(!basic_filebuf_wchar_open_wchar(&this->filebuf, name, mode|OPENMODE_out, prot)) { - basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_short_ctor_name_wchar, 20) -basic_ofstream_wchar* __thiscall basic_ofstream_short_ctor_name_wchar(basic_ofstream_wchar *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - basic_ofstream_wchar_ctor_name_wchar(this, name, mode, prot, virt_init); - basic_ostream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ofstream_short_vtable; - 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 */ -/* ??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_dtor, 4) -void __thiscall basic_ofstream_wchar_dtor(basic_ios_wchar *base) -{ - basic_ofstream_wchar *this = basic_ofstream_wchar_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base)); - basic_filebuf_wchar_dtor(&this->filebuf); -} - -/* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */ -/* ??_D?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */ -/* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */ -/* ??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vbase_dtor, 4) -void __thiscall basic_ofstream_wchar_vbase_dtor(basic_ofstream_wchar *this) -{ - TRACE("(%p)\n", this); - - basic_ofstream_wchar_dtor(basic_ofstream_wchar_to_basic_ios(this)); - basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_vector_dtor, 8) -basic_ofstream_wchar* __thiscall basic_ofstream_wchar_vector_dtor(basic_ios_wchar *base, unsigned int flags) -{ - basic_ofstream_wchar *this = basic_ofstream_wchar_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_ofstream_wchar_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_ofstream_wchar_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */ -/* ?close@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */ -/* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ */ -/* ?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_close, 4) -void __thiscall basic_ofstream_wchar_close(basic_ofstream_wchar *this) -{ - TRACE("(%p)\n", this); - - if(!basic_filebuf_wchar_close(&this->filebuf)) { - basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */ -/* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_is_open, 4) -MSVCP_bool __thiscall basic_ofstream_wchar_is_open(const basic_ofstream_wchar *this) -{ - TRACE("(%p)\n", this); - return basic_filebuf_wchar_is_open(&this->filebuf); -} - -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open, 16) -void __thiscall basic_ofstream_wchar_open(basic_ofstream_wchar *this, - const char *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(!basic_filebuf_wchar_open(&this->filebuf, name, mode|OPENMODE_out, prot)) { - basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old, 12) -void __thiscall basic_ofstream_wchar_open_old(basic_ofstream_wchar *this, - const char *name, unsigned int mode) -{ - basic_ofstream_wchar_open(this, name, mode, _SH_DENYNO); -} - -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar, 16) -void __thiscall basic_ofstream_wchar_open_wchar(basic_ofstream_wchar *this, - const wchar_t *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(!basic_filebuf_wchar_open_wchar(&this->filebuf, name, mode|OPENMODE_out, prot)) { - basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_wchar_old, 12) -void __thiscall basic_ofstream_wchar_open_wchar_old(basic_ofstream_wchar *this, - const wchar_t *name, unsigned int mode) -{ - basic_ofstream_wchar_open_wchar(this, name, mode, _SH_DENYNO); -} - -/* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ -/* ?rdbuf@?$basic_ofstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ -/* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */ -/* ?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_rdbuf, 4) -basic_filebuf_wchar* __thiscall basic_ofstream_wchar_rdbuf(const basic_ofstream_wchar *this) -{ - TRACE("(%p)\n", this); - return (basic_filebuf_wchar*)&this->filebuf; -} - -static inline basic_ios_char* basic_ifstream_char_to_basic_ios(basic_ifstream_char *ptr) -{ - return (basic_ios_char*)((char*)ptr+basic_ifstream_char_vbtable[1]); -} - -static inline basic_ifstream_char* basic_ifstream_char_from_basic_ios(basic_ios_char *ptr) -{ - return (basic_ifstream_char*)((char*)ptr-basic_ifstream_char_vbtable[1]); -} - -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ */ -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor, 8) -basic_ifstream_char* __thiscall basic_ifstream_char_ctor(basic_ifstream_char *this, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %d)\n", this, virt_init); - - if(virt_init) { - this->base.vbtable = basic_ifstream_char_vbtable; - basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base); - } - - basic_filebuf_char_ctor(&this->filebuf); - basic_istream_char_ctor(&this->base, &this->filebuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ifstream_char_vtable; - return this; -} - -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */ -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_file, 12) -basic_ifstream_char* __thiscall basic_ifstream_char_ctor_file( - basic_ifstream_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_ifstream_char_vbtable; - basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base); - } - - basic_filebuf_char_ctor_file(&this->filebuf, file); - basic_istream_char_ctor(&this->base, &this->filebuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ifstream_char_vtable; - return this; -} - -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */ -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name, 20) -basic_ifstream_char* __thiscall basic_ifstream_char_ctor_name(basic_ifstream_char *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, name, mode, prot, virt_init); - - basic_ifstream_char_ctor(this, virt_init); - - if(!basic_filebuf_char_open(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_ctor_name_wchar, 20) -basic_ifstream_char* __thiscall basic_ifstream_char_ctor_name_wchar(basic_ifstream_char *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name), mode, prot, virt_init); - - basic_ifstream_char_ctor(this, virt_init); - - if(!basic_filebuf_char_open_wchar(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ */ -/* ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_dtor, 4) -void __thiscall basic_ifstream_char_dtor(basic_ios_char *base) -{ - basic_ifstream_char *this = basic_ifstream_char_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base)); - basic_filebuf_char_dtor(&this->filebuf); -} - -/* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */ -/* ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vbase_dtor, 4) -void __thiscall basic_ifstream_char_vbase_dtor(basic_ifstream_char *this) -{ - TRACE("(%p)\n", this); - - basic_ifstream_char_dtor(basic_ifstream_char_to_basic_ios(this)); - basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_vector_dtor, 8) -basic_ifstream_char* __thiscall basic_ifstream_char_vector_dtor(basic_ios_char *base, unsigned int flags) -{ - basic_ifstream_char *this = basic_ifstream_char_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_ifstream_char_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_ifstream_char_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ */ -/* ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_close, 4) -void __thiscall basic_ifstream_char_close(basic_ifstream_char *this) -{ - TRACE("(%p)\n", this); - - if(!basic_filebuf_char_close(&this->filebuf)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_is_open, 4) -MSVCP_bool __thiscall basic_ifstream_char_is_open(const basic_ifstream_char *this) -{ - TRACE("(%p)\n", this); - return basic_filebuf_char_is_open(&this->filebuf); -} - -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open, 16) -void __thiscall basic_ifstream_char_open(basic_ifstream_char *this, - const char *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(!basic_filebuf_char_open(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_old, 12) -void __thiscall basic_ifstream_char_open_old(basic_ifstream_char *this, - const char *name, unsigned int mode) -{ - basic_ifstream_char_open(this, name, mode, _SH_DENYNO); -} - -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar, 16) -void __thiscall basic_ifstream_char_open_wchar(basic_ifstream_char *this, - const wchar_t *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(!basic_filebuf_char_open_wchar(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_open_wchar_old, 12) -void __thiscall basic_ifstream_char_open_wchar_old(basic_ifstream_char *this, - const wchar_t *name, unsigned int mode) -{ - basic_ifstream_char_open_wchar(this, name, mode, _SH_DENYNO); -} - -/* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ -/* ?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_char_rdbuf, 4) -basic_filebuf_char* __thiscall basic_ifstream_char_rdbuf(const basic_ifstream_char *this) -{ - TRACE("(%p)\n", this); - return (basic_filebuf_char*)&this->filebuf; -} - -static inline basic_ios_wchar* basic_ifstream_wchar_to_basic_ios(basic_ifstream_wchar *ptr) -{ - return (basic_ios_wchar*)((char*)ptr+basic_ifstream_wchar_vbtable[1]); -} - -static inline basic_ifstream_wchar* basic_ifstream_wchar_from_basic_ios(basic_ios_wchar *ptr) -{ - return (basic_ifstream_wchar*)((char*)ptr-basic_ifstream_wchar_vbtable[1]); -} - -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */ -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor, 8) -basic_ifstream_wchar* __thiscall basic_ifstream_wchar_ctor(basic_ifstream_wchar *this, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %d)\n", this, virt_init); - - if(virt_init) { - this->base.vbtable = basic_ifstream_wchar_vbtable; - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - } - - basic_filebuf_wchar_ctor(&this->filebuf); - basic_istream_wchar_ctor(&this->base, &this->filebuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ifstream_wchar_vtable; - return this; -} - -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ */ -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor, 8) -basic_ifstream_wchar* __thiscall basic_ifstream_short_ctor(basic_ifstream_wchar *this, MSVCP_bool virt_init) -{ - basic_ifstream_wchar_ctor(this, virt_init); - basic_istream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ifstream_short_vtable; - return this; -} - -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */ -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_file, 12) -basic_ifstream_wchar* __thiscall basic_ifstream_wchar_ctor_file( - basic_ifstream_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_ifstream_wchar_vbtable; - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - } - - basic_filebuf_wchar_ctor_file(&this->filebuf, file); - basic_istream_wchar_ctor(&this->base, &this->filebuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ifstream_wchar_vtable; - return this; -} - -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */ -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_file, 12) -basic_ifstream_wchar* __thiscall basic_ifstream_short_ctor_file( - basic_ifstream_wchar *this, FILE *file, MSVCP_bool virt_init) -{ - basic_ifstream_wchar_ctor_file(this, file, virt_init); - basic_istream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ifstream_short_vtable; - return this; -} - -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBDHH@Z */ -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name, 20) -basic_ifstream_wchar* __thiscall basic_ifstream_wchar_ctor_name(basic_ifstream_wchar *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, name, mode, prot, virt_init); - - basic_ifstream_wchar_ctor(this, virt_init); - - if(!basic_filebuf_wchar_open(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDHH@Z */ -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name, 20) -basic_ifstream_wchar* __thiscall basic_ifstream_short_ctor_name(basic_ifstream_wchar *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - basic_ifstream_wchar_ctor_name(this, name, mode, prot, virt_init); - basic_istream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ifstream_short_vtable; - return this; -} - -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_ctor_name_wchar, 20) -basic_ifstream_wchar* __thiscall basic_ifstream_wchar_ctor_name_wchar(basic_ifstream_wchar *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name), mode, prot, virt_init); - - basic_ifstream_wchar_ctor(this, virt_init); - - if(!basic_filebuf_wchar_open_wchar(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_short_ctor_name_wchar, 20) -basic_ifstream_wchar* __thiscall basic_ifstream_short_ctor_name_wchar(basic_ifstream_wchar *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - basic_ifstream_wchar_ctor_name_wchar(this, name, mode, prot, virt_init); - basic_istream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ifstream_short_vtable; - return this; -} - -/* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */ -/* ??1?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */ -/* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ */ -/* ??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_dtor, 4) -void __thiscall basic_ifstream_wchar_dtor(basic_ios_wchar *base) -{ - basic_ifstream_wchar *this = basic_ifstream_wchar_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base)); - basic_filebuf_wchar_dtor(&this->filebuf); -} - -/* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */ -/* ??_D?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */ -/* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */ -/* ??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vbase_dtor, 4) -void __thiscall basic_ifstream_wchar_vbase_dtor(basic_ifstream_wchar *this) -{ - TRACE("(%p)\n", this); - - basic_ifstream_wchar_dtor(basic_ifstream_wchar_to_basic_ios(this)); - basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_vector_dtor, 8) -basic_ifstream_wchar* __thiscall basic_ifstream_wchar_vector_dtor(basic_ios_wchar *base, unsigned int flags) -{ - basic_ifstream_wchar *this = basic_ifstream_wchar_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_ifstream_wchar_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_ifstream_wchar_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */ -/* ?close@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */ -/* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ */ -/* ?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_close, 4) -void __thiscall basic_ifstream_wchar_close(basic_ifstream_wchar *this) -{ - TRACE("(%p)\n", this); - - if(!basic_filebuf_wchar_close(&this->filebuf)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */ -/* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_is_open, 4) -MSVCP_bool __thiscall basic_ifstream_wchar_is_open(const basic_ifstream_wchar *this) -{ - TRACE("(%p)\n", this); - return basic_filebuf_wchar_is_open(&this->filebuf); -} - -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open, 16) -void __thiscall basic_ifstream_wchar_open(basic_ifstream_wchar *this, - const char *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(!basic_filebuf_wchar_open(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_old, 12) -void __thiscall basic_ifstream_wchar_open_old(basic_ifstream_wchar *this, - const char *name, unsigned int mode) -{ - basic_ifstream_wchar_open(this, name, mode, _SH_DENYNO); -} - -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar, 16) -void __thiscall basic_ifstream_wchar_open_wchar(basic_ifstream_wchar *this, - const wchar_t *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(!basic_filebuf_wchar_open_wchar(&this->filebuf, name, mode|OPENMODE_in, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_open_wchar_old, 12) -void __thiscall basic_ifstream_wchar_open_wchar_old(basic_ifstream_wchar *this, - const wchar_t *name, unsigned int mode) -{ - basic_ifstream_wchar_open_wchar(this, name, mode, _SH_DENYNO); -} - -/* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ -/* ?rdbuf@?$basic_ifstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ -/* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */ -/* ?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ifstream_wchar_rdbuf, 4) -basic_filebuf_wchar* __thiscall basic_ifstream_wchar_rdbuf(const basic_ifstream_wchar *this) -{ - TRACE("(%p)\n", this); - return (basic_filebuf_wchar*)&this->filebuf; -} - -static inline basic_ios_char* basic_fstream_char_to_basic_ios(basic_fstream_char *ptr) -{ - return (basic_ios_char*)((char*)ptr+basic_fstream_char_vbtable1[1]); -} - -static inline basic_fstream_char* basic_fstream_char_from_basic_ios(basic_ios_char *ptr) -{ - return (basic_fstream_char*)((char*)ptr-basic_fstream_char_vbtable1[1]); -} - -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ */ -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor, 8) -basic_fstream_char* __thiscall basic_fstream_char_ctor(basic_fstream_char *this, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %d)\n", this, virt_init); - - if(virt_init) { - 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); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - } - - basic_filebuf_char_ctor(&this->filebuf); - basic_iostream_char_ctor(&this->base, &this->filebuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_fstream_char_vtable; - return this; -} - -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z */ -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_file, 12) -basic_fstream_char* __thiscall basic_fstream_char_ctor_file(basic_fstream_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.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); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - } - - basic_filebuf_char_ctor_file(&this->filebuf, file); - basic_iostream_char_ctor(&this->base, &this->filebuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_fstream_char_vtable; - return this; -} - -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z */ -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name, 20) -basic_fstream_char* __thiscall basic_fstream_char_ctor_name(basic_fstream_char *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, name, mode, prot, virt_init); - - basic_fstream_char_ctor(this, virt_init); - - if(!basic_filebuf_char_open(&this->filebuf, name, mode, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_ctor_name_wchar, 20) -basic_fstream_char* __thiscall basic_fstream_char_ctor_name_wchar(basic_fstream_char *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name), mode, prot, virt_init); - - basic_fstream_char_ctor(this, virt_init); - - if(!basic_filebuf_char_open_wchar(&this->filebuf, name, mode, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ */ -/* ??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_dtor, 4) -void __thiscall basic_fstream_char_dtor(basic_ios_char *base) -{ - basic_fstream_char *this = basic_fstream_char_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base)); - basic_filebuf_char_dtor(&this->filebuf); -} - -/* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */ -/* ??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_vbase_dtor, 4) -void __thiscall basic_fstream_char_vbase_dtor(basic_fstream_char *this) -{ - TRACE("(%p)\n", this); - - basic_fstream_char_dtor(basic_fstream_char_to_basic_ios(this)); - basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base.base1)); -} - -DEFINE_THISCALL_WRAPPER(basic_fstream_char_vector_dtor, 8) -basic_fstream_char* __thiscall basic_fstream_char_vector_dtor(basic_ios_char *base, unsigned int flags) -{ - basic_fstream_char *this = basic_fstream_char_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_fstream_char_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_fstream_char_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ */ -/* ?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_close, 4) -void __thiscall basic_fstream_char_close(basic_fstream_char *this) -{ - TRACE("(%p)\n", this); - - if(!basic_filebuf_char_close(&this->filebuf)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_is_open, 4) -MSVCP_bool __thiscall basic_fstream_char_is_open(const basic_fstream_char *this) -{ - TRACE("(%p)\n", this); - return basic_filebuf_char_is_open(&this->filebuf); -} - -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_open, 16) -void __thiscall basic_fstream_char_open(basic_fstream_char *this, - const char *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(!basic_filebuf_char_open(&this->filebuf, name, mode, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old, 12) -void __thiscall basic_fstream_char_open_old(basic_fstream_char *this, - const char *name, unsigned int mode) -{ - basic_fstream_char_open(this, name, mode, _SH_DENYNO); -} - -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar, 16) -void __thiscall basic_fstream_char_open_wchar(basic_fstream_char *this, - const wchar_t *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(!basic_filebuf_char_open_wchar(&this->filebuf, name, mode, prot)) { - basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - basic_ios_char_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEB_WI@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_wchar_old, 12) -void __thiscall basic_fstream_char_open_wchar_old(basic_fstream_char *this, - const wchar_t *name, unsigned int mode) -{ - basic_fstream_char_open_wchar(this, name, mode, _SH_DENYNO); -} - -/* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ -/* ?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf, 4) -basic_filebuf_char* __thiscall basic_fstream_char_rdbuf(const basic_fstream_char *this) -{ - TRACE("(%p)\n", this); - return (basic_filebuf_char*)&this->filebuf; -} - -static inline basic_ios_wchar* basic_fstream_wchar_to_basic_ios(basic_fstream_wchar *ptr) -{ - return (basic_ios_wchar*)((char*)ptr+basic_fstream_wchar_vbtable1[1]); -} - -static inline basic_fstream_wchar* basic_fstream_wchar_from_basic_ios(basic_ios_wchar *ptr) -{ - return (basic_fstream_wchar*)((char*)ptr-basic_fstream_wchar_vbtable1[1]); -} - -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@XZ */ -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor, 8) -basic_fstream_wchar* __thiscall basic_fstream_wchar_ctor(basic_fstream_wchar *this, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %d)\n", this, virt_init); - - if(virt_init) { - 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); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - } - - basic_filebuf_wchar_ctor(&this->filebuf); - basic_iostream_wchar_ctor(&this->base, &this->filebuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_fstream_wchar_vtable; - return this; -} - -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ */ -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor, 8) -basic_fstream_wchar* __thiscall basic_fstream_short_ctor(basic_fstream_wchar *this, MSVCP_bool virt_init) -{ - basic_fstream_wchar_ctor(this, virt_init); - basic_istream_wchar_get_basic_ios(&this->base.base1)->base.vtable = &MSVCP_basic_fstream_short_vtable; - return this; -} - -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PAU_iobuf@@@Z */ -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_file, 12) -basic_fstream_wchar* __thiscall basic_fstream_wchar_ctor_file(basic_fstream_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.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); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - } - - basic_filebuf_wchar_ctor_file(&this->filebuf, file); - basic_iostream_wchar_ctor(&this->base, &this->filebuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_fstream_wchar_vtable; - return this; -} - -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z */ -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_file, 12) -basic_fstream_wchar* __thiscall basic_fstream_short_ctor_file(basic_fstream_wchar *this, - FILE *file, MSVCP_bool virt_init) -{ - basic_fstream_wchar_ctor_file(this, file, virt_init); - basic_istream_wchar_get_basic_ios(&this->base.base1)->base.vtable = &MSVCP_basic_fstream_short_vtable; - return this; -} - -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name, 20) -basic_fstream_wchar* __thiscall basic_fstream_wchar_ctor_name(basic_fstream_wchar *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, name, mode, prot, virt_init); - - basic_fstream_wchar_ctor(this, virt_init); - - if(!basic_filebuf_wchar_open(&this->filebuf, name, mode, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name, 20) -basic_fstream_wchar* __thiscall basic_fstream_short_ctor_name(basic_fstream_wchar *this, - const char *name, int mode, int prot, MSVCP_bool virt_init) -{ - basic_fstream_wchar_ctor_name(this, name, mode, prot, virt_init); - basic_istream_wchar_get_basic_ios(&this->base.base1)->base.vtable = &MSVCP_basic_fstream_short_vtable; - return this; -} - -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_ctor_name_wchar, 20) -basic_fstream_wchar* __thiscall basic_fstream_wchar_ctor_name_wchar(basic_fstream_wchar *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - TRACE("(%p %s %d %d %d)\n", this, debugstr_w(name), mode, prot, virt_init); - - basic_fstream_wchar_ctor(this, virt_init); - - if(!basic_filebuf_wchar_open_wchar(&this->filebuf, name, mode, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } - return this; -} - -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBGHH@Z */ -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBGHH@Z */ -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PB_WHH@Z */ -/* ??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_short_ctor_name_wchar, 20) -basic_fstream_wchar* __thiscall basic_fstream_short_ctor_name_wchar(basic_fstream_wchar *this, - const wchar_t *name, int mode, int prot, MSVCP_bool virt_init) -{ - basic_fstream_wchar_ctor_name_wchar(this, name, mode, prot, virt_init); - basic_istream_wchar_get_basic_ios(&this->base.base1)->base.vtable = &MSVCP_basic_fstream_short_vtable; - return this; -} - -/* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UAE@XZ */ -/* ??1?$basic_fstream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */ -/* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ */ -/* ??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_dtor, 4) -void __thiscall basic_fstream_wchar_dtor(basic_ios_wchar *base) -{ - basic_fstream_wchar *this = basic_fstream_wchar_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base)); - basic_filebuf_wchar_dtor(&this->filebuf); -} - -/* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */ -/* ??_D?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */ -/* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */ -/* ??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vbase_dtor, 4) -void __thiscall basic_fstream_wchar_vbase_dtor(basic_fstream_wchar *this) -{ - TRACE("(%p)\n", this); - - basic_fstream_wchar_dtor(basic_fstream_wchar_to_basic_ios(this)); - basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base.base1)); -} - -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_vector_dtor, 8) -basic_fstream_wchar* __thiscall basic_fstream_wchar_vector_dtor(basic_ios_wchar *base, unsigned int flags) -{ - basic_fstream_wchar *this = basic_fstream_wchar_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_fstream_wchar_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_fstream_wchar_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXXZ */ -/* ?close@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */ -/* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ */ -/* ?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_close, 4) -void __thiscall basic_fstream_wchar_close(basic_fstream_wchar *this) -{ - TRACE("(%p)\n", this); - - if(!basic_filebuf_wchar_close(&this->filebuf)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBA_NXZ */ -/* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ */ -/* ?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_is_open, 4) -MSVCP_bool __thiscall basic_fstream_wchar_is_open(const basic_fstream_wchar *this) -{ - TRACE("(%p)\n", this); - return basic_filebuf_wchar_is_open(&this->filebuf); -} - -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDHH@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDHH@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open, 16) -void __thiscall basic_fstream_wchar_open(basic_fstream_wchar *this, - const char *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, name, mode, prot); - - if(!basic_filebuf_wchar_open(&this->filebuf, name, mode, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBDI@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDI@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDI@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old, 12) -void __thiscall basic_fstream_wchar_open_old(basic_fstream_wchar *this, - const char *name, unsigned int mode) -{ - basic_fstream_wchar_open(this, name, mode, _SH_DENYNO); -} - -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WHH@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGHH@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGHH@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WHH@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WHH@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar, 16) -void __thiscall basic_fstream_wchar_open_wchar(basic_fstream_wchar *this, - const wchar_t *name, int mode, int prot) -{ - TRACE("(%p %s %d %d)\n", this, debugstr_w(name), mode, prot); - - if(!basic_filebuf_wchar_open_wchar(&this->filebuf, name, mode, prot)) { - basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit); - } -} - -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEAAXPEB_WI@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBGI@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBGI@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPB_WI@Z */ -/* ?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEB_WI@Z */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_wchar_old, 12) -void __thiscall basic_fstream_wchar_open_wchar_old(basic_fstream_wchar *this, - const wchar_t *name, unsigned int mode) -{ - basic_fstream_wchar_open_wchar(this, name, mode, _SH_DENYNO); -} - -/* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ -/* ?rdbuf@?$basic_fstream@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_filebuf@_WU?$char_traits@_W@std@@@2@XZ */ -/* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */ -/* ?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_rdbuf, 4) -basic_filebuf_wchar* __thiscall basic_fstream_wchar_rdbuf(const basic_fstream_wchar *this) -{ - TRACE("(%p)\n", this); - return (basic_filebuf_wchar*)&this->filebuf; -} - -static inline basic_ios_char* basic_ostringstream_char_to_basic_ios(basic_ostringstream_char *ptr) -{ - return (basic_ios_char*)((char*)ptr+basic_ostringstream_char_vbtable[1]); -} - -static inline basic_ostringstream_char* basic_ostringstream_char_from_basic_ios(basic_ios_char *ptr) -{ - return (basic_ostringstream_char*)((char*)ptr-basic_ostringstream_char_vbtable[1]); -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_str, 16) -basic_ostringstream_char* __thiscall basic_ostringstream_char_ctor_str(basic_ostringstream_char *this, - const basic_string_char *str, int mode, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %p %d %d)\n", this, str, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_ostringstream_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_stringbuf_char_ctor_str(&this->strbuf, str, mode|OPENMODE_out); - basic_ostream_char_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ostringstream_char_vtable; - return this; -} - -/* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */ -/* ??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor_mode, 12) -basic_ostringstream_char* __thiscall basic_ostringstream_char_ctor_mode( - basic_ostringstream_char *this, int mode, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %d %d)\n", this, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_ostringstream_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_stringbuf_char_ctor_mode(&this->strbuf, mode|OPENMODE_out); - basic_ostream_char_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ostringstream_char_vtable; - return this; -} - -/* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_ctor, 8) -basic_ostringstream_char* __thiscall basic_ostringstream_char_ctor( - basic_ostringstream_char *this, MSVCP_bool virt_init) -{ - return basic_ostringstream_char_ctor_mode(this, 0, virt_init); -} - -/* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */ -/* ??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_dtor, 4) -void __thiscall basic_ostringstream_char_dtor(basic_ios_char *base) -{ - basic_ostringstream_char *this = basic_ostringstream_char_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_stringbuf_char_dtor(&this->strbuf); - basic_ostream_char_dtor(basic_ostream_char_to_basic_ios(&this->base)); -} - -/* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vbase_dtor, 4) -void __thiscall basic_ostringstream_char_vbase_dtor(basic_ostringstream_char *this) -{ - TRACE("(%p)\n", this); - - basic_ostringstream_char_dtor(basic_ostringstream_char_to_basic_ios(this)); - basic_ios_char_dtor(basic_ostream_char_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_vector_dtor, 8) -basic_ostringstream_char* __thiscall basic_ostringstream_char_vector_dtor(basic_ios_char *base, unsigned int flags) -{ - basic_ostringstream_char *this = basic_ostringstream_char_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_ostringstream_char_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_ostringstream_char_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_rdbuf, 4) -basic_stringbuf_char* __thiscall basic_ostringstream_char_rdbuf(const basic_ostringstream_char *this) -{ - TRACE("(%p)\n", this); - return (basic_stringbuf_char*)&this->strbuf; -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_set, 8) -void __thiscall basic_ostringstream_char_str_set(basic_ostringstream_char *this, const basic_string_char *str) -{ - TRACE("(%p %p)\n", this, str); - basic_stringbuf_char_str_set(&this->strbuf, str); -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_char_str_get, 8) -basic_string_char* __thiscall basic_ostringstream_char_str_get(const basic_ostringstream_char *this, basic_string_char *ret) -{ - TRACE("(%p %p)\n", this, ret); - return basic_stringbuf_char_str_get(&this->strbuf, ret); -} - -static inline basic_ios_wchar* basic_ostringstream_wchar_to_basic_ios(basic_ostringstream_wchar *ptr) -{ - return (basic_ios_wchar*)((char*)ptr+basic_ostringstream_wchar_vbtable[1]); -} - -static inline basic_ostringstream_wchar* basic_ostringstream_wchar_from_basic_ios(basic_ios_wchar *ptr) -{ - return (basic_ostringstream_wchar*)((char*)ptr-basic_ostringstream_wchar_vbtable[1]); -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_str, 16) -basic_ostringstream_wchar* __thiscall basic_ostringstream_wchar_ctor_str(basic_ostringstream_wchar *this, - const basic_string_wchar *str, int mode, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %p %d %d)\n", this, str, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_ostringstream_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_stringbuf_wchar_ctor_str(&this->strbuf, str, mode|OPENMODE_out); - basic_ostream_wchar_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ostringstream_wchar_vtable; - return this; -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_str, 16) -basic_ostringstream_wchar* __thiscall basic_ostringstream_short_ctor_str(basic_ostringstream_wchar *this, - const basic_string_wchar *str, int mode, MSVCP_bool virt_init) -{ - basic_ostringstream_wchar_ctor_str(this, str, mode, virt_init); - basic_ostream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ostringstream_short_vtable; - return this; -} - -/* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */ -/* ??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor_mode, 12) -basic_ostringstream_wchar* __thiscall basic_ostringstream_wchar_ctor_mode( - basic_ostringstream_wchar *this, int mode, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %d %d)\n", this, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_ostringstream_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_stringbuf_wchar_ctor_mode(&this->strbuf, mode|OPENMODE_out); - basic_ostream_wchar_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_ostringstream_wchar_vtable; - return this; -} - -/* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */ -/* ??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor_mode, 12) -basic_ostringstream_wchar* __thiscall basic_ostringstream_short_ctor_mode( - basic_ostringstream_wchar *this, int mode, MSVCP_bool virt_init) -{ - basic_ostringstream_wchar_ctor_mode(this, mode, virt_init); - basic_ostream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_ostringstream_short_vtable; - return this; -} - -/* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ??_F?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_ctor, 8) -basic_ostringstream_wchar* __thiscall basic_ostringstream_wchar_ctor( - basic_ostringstream_wchar *this, MSVCP_bool virt_init) -{ - return basic_ostringstream_wchar_ctor_mode(this, 0, virt_init); -} - -/* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_short_ctor, 8) -basic_ostringstream_wchar* __thiscall basic_ostringstream_short_ctor( - basic_ostringstream_wchar *this, MSVCP_bool virt_init) -{ - return basic_ostringstream_short_ctor_mode(this, 0, virt_init); -} - -/* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */ -/* ??1?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */ -/* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */ -/* ??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_dtor, 4) -void __thiscall basic_ostringstream_wchar_dtor(basic_ios_wchar *base) -{ - basic_ostringstream_wchar *this = basic_ostringstream_wchar_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_stringbuf_wchar_dtor(&this->strbuf); - basic_ostream_wchar_dtor(basic_ostream_wchar_to_basic_ios(&this->base)); -} - -/* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -/* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vbase_dtor, 4) -void __thiscall basic_ostringstream_wchar_vbase_dtor(basic_ostringstream_wchar *this) -{ - TRACE("(%p)\n", this); - - basic_ostringstream_wchar_dtor(basic_ostringstream_wchar_to_basic_ios(this)); - basic_ios_wchar_dtor(basic_ostream_wchar_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_vector_dtor, 8) -basic_ostringstream_wchar* __thiscall basic_ostringstream_wchar_vector_dtor(basic_ios_wchar *base, unsigned int flags) -{ - basic_ostringstream_wchar *this = basic_ostringstream_wchar_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_ostringstream_wchar_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_ostringstream_wchar_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_rdbuf, 4) -basic_stringbuf_wchar* __thiscall basic_ostringstream_wchar_rdbuf(const basic_ostringstream_wchar *this) -{ - TRACE("(%p)\n", this); - return (basic_stringbuf_wchar*)&this->strbuf; -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_set, 8) -void __thiscall basic_ostringstream_wchar_str_set(basic_ostringstream_wchar *this, const basic_string_wchar *str) -{ - TRACE("(%p %p)\n", this, str); - basic_stringbuf_wchar_str_set(&this->strbuf, str); -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_ostringstream_wchar_str_get, 8) -basic_string_wchar* __thiscall basic_ostringstream_wchar_str_get(const basic_ostringstream_wchar *this, basic_string_wchar *ret) -{ - TRACE("(%p %p)\n", this, ret); - return basic_stringbuf_wchar_str_get(&this->strbuf, ret); -} - -static inline basic_ios_char* basic_istringstream_char_to_basic_ios(basic_istringstream_char *ptr) -{ - return (basic_ios_char*)((char*)ptr+basic_istringstream_char_vbtable[1]); -} - -static inline basic_istringstream_char* basic_istringstream_char_from_basic_ios(basic_ios_char *ptr) -{ - return (basic_istringstream_char*)((char*)ptr-basic_istringstream_char_vbtable[1]); -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_str, 16) -basic_istringstream_char* __thiscall basic_istringstream_char_ctor_str(basic_istringstream_char *this, - const basic_string_char *str, int mode, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %p %d %d)\n", this, str, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_istringstream_char_vbtable; - basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base); - } - - basic_stringbuf_char_ctor_str(&this->strbuf, str, mode|OPENMODE_in); - basic_istream_char_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_istringstream_char_vtable; - return this; -} - -/* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */ -/* ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor_mode, 12) -basic_istringstream_char* __thiscall basic_istringstream_char_ctor_mode( - basic_istringstream_char *this, int mode, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %d %d)\n", this, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_istringstream_char_vbtable; - basic_ios = basic_istream_char_get_basic_ios(&this->base); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base); - } - - basic_stringbuf_char_ctor_mode(&this->strbuf, mode|OPENMODE_in); - basic_istream_char_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_istringstream_char_vtable; - return this; -} - -/* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_ctor, 8) -basic_istringstream_char* __thiscall basic_istringstream_char_ctor( - basic_istringstream_char *this, MSVCP_bool virt_init) -{ - return basic_istringstream_char_ctor_mode(this, 0, virt_init); -} - -/* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */ -/* ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_dtor, 4) -void __thiscall basic_istringstream_char_dtor(basic_ios_char *base) -{ - basic_istringstream_char *this = basic_istringstream_char_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_stringbuf_char_dtor(&this->strbuf); - basic_istream_char_dtor(basic_istream_char_to_basic_ios(&this->base)); -} - -/* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vbase_dtor, 4) -void __thiscall basic_istringstream_char_vbase_dtor(basic_istringstream_char *this) -{ - TRACE("(%p)\n", this); - - basic_istringstream_char_dtor(basic_istringstream_char_to_basic_ios(this)); - basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_vector_dtor, 8) -basic_istringstream_char* __thiscall basic_istringstream_char_vector_dtor(basic_ios_char *base, unsigned int flags) -{ - basic_istringstream_char *this = basic_istringstream_char_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_istringstream_char_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_istringstream_char_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_rdbuf, 4) -basic_stringbuf_char* __thiscall basic_istringstream_char_rdbuf(const basic_istringstream_char *this) -{ - TRACE("(%p)\n", this); - return (basic_stringbuf_char*)&this->strbuf; -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_set, 8) -void __thiscall basic_istringstream_char_str_set(basic_istringstream_char *this, const basic_string_char *str) -{ - TRACE("(%p %p)\n", this, str); - basic_stringbuf_char_str_set(&this->strbuf, str); -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_char_str_get, 8) -basic_string_char* __thiscall basic_istringstream_char_str_get(const basic_istringstream_char *this, basic_string_char *ret) -{ - TRACE("(%p %p)\n", this, ret); - return basic_stringbuf_char_str_get(&this->strbuf, ret); -} - -static inline basic_ios_wchar* basic_istringstream_wchar_to_basic_ios(basic_istringstream_wchar *ptr) -{ - return (basic_ios_wchar*)((char*)ptr+basic_istringstream_wchar_vbtable[1]); -} - -static inline basic_istringstream_wchar* basic_istringstream_wchar_from_basic_ios(basic_ios_wchar *ptr) -{ - return (basic_istringstream_wchar*)((char*)ptr-basic_istringstream_wchar_vbtable[1]); -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_str, 16) -basic_istringstream_wchar* __thiscall basic_istringstream_wchar_ctor_str(basic_istringstream_wchar *this, - const basic_string_wchar *str, int mode, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %p %d %d)\n", this, str, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_istringstream_wchar_vbtable; - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - } - - basic_stringbuf_wchar_ctor_str(&this->strbuf, str, mode|OPENMODE_in); - basic_istream_wchar_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_istringstream_wchar_vtable; - return this; -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_str, 16) -basic_istringstream_wchar* __thiscall basic_istringstream_short_ctor_str(basic_istringstream_wchar *this, - const basic_string_wchar *str, int mode, MSVCP_bool virt_init) -{ - basic_istringstream_wchar_ctor_str(this, str, mode, virt_init); - basic_istream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_istringstream_short_vtable; - return this; -} - -/* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */ -/* ??0?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor_mode, 12) -basic_istringstream_wchar* __thiscall basic_istringstream_wchar_ctor_mode( - basic_istringstream_wchar *this, int mode, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %d %d)\n", this, mode, virt_init); - - if(virt_init) { - this->base.vbtable = basic_istringstream_wchar_vbtable; - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base); - } - - basic_stringbuf_wchar_ctor_mode(&this->strbuf, mode|OPENMODE_in); - basic_istream_wchar_ctor(&this->base, &this->strbuf.base, FALSE, FALSE); - basic_ios->base.vtable = &MSVCP_basic_istringstream_wchar_vtable; - return this; -} - -/* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */ -/* ??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor_mode, 12) -basic_istringstream_wchar* __thiscall basic_istringstream_short_ctor_mode( - basic_istringstream_wchar *this, int mode, MSVCP_bool virt_init) -{ - basic_istringstream_wchar_ctor_mode(this, mode, virt_init); - basic_istream_wchar_get_basic_ios(&this->base)->base.vtable = &MSVCP_basic_istringstream_short_vtable; - return this; -} - -/* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ??_F?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_ctor, 8) -basic_istringstream_wchar* __thiscall basic_istringstream_wchar_ctor( - basic_istringstream_wchar *this, MSVCP_bool virt_init) -{ - return basic_istringstream_wchar_ctor_mode(this, 0, virt_init); -} - -/* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_short_ctor, 8) -basic_istringstream_wchar* __thiscall basic_istringstream_short_ctor( - basic_istringstream_wchar *this, MSVCP_bool virt_init) -{ - return basic_istringstream_short_ctor_mode(this, 0, virt_init); -} - -/* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */ -/* ??1?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */ -/* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */ -/* ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_dtor, 4) -void __thiscall basic_istringstream_wchar_dtor(basic_ios_wchar *base) -{ - basic_istringstream_wchar *this = basic_istringstream_wchar_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_stringbuf_wchar_dtor(&this->strbuf); - basic_istream_wchar_dtor(basic_istream_wchar_to_basic_ios(&this->base)); -} - -/* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ??_D?$basic_istringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -/* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vbase_dtor, 4) -void __thiscall basic_istringstream_wchar_vbase_dtor(basic_istringstream_wchar *this) -{ - TRACE("(%p)\n", this); - - basic_istringstream_wchar_dtor(basic_istringstream_wchar_to_basic_ios(this)); - basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base)); -} - -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_vector_dtor, 8) -basic_istringstream_wchar* __thiscall basic_istringstream_wchar_vector_dtor(basic_ios_wchar *base, unsigned int flags) -{ - basic_istringstream_wchar *this = basic_istringstream_wchar_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_istringstream_wchar_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_istringstream_wchar_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_rdbuf, 4) -basic_stringbuf_wchar* __thiscall basic_istringstream_wchar_rdbuf(const basic_istringstream_wchar *this) -{ - TRACE("(%p)\n", this); - return (basic_stringbuf_wchar*)&this->strbuf; -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_set, 8) -void __thiscall basic_istringstream_wchar_str_set(basic_istringstream_wchar *this, const basic_string_wchar *str) -{ - TRACE("(%p %p)\n", this, str); - basic_stringbuf_wchar_str_set(&this->strbuf, str); -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_istringstream_wchar_str_get, 8) -basic_string_wchar* __thiscall basic_istringstream_wchar_str_get(const basic_istringstream_wchar *this, basic_string_wchar *ret) -{ - TRACE("(%p %p)\n", this, ret); - return basic_stringbuf_wchar_str_get(&this->strbuf, ret); -} - -static inline basic_ios_char* basic_stringstream_char_to_basic_ios(basic_stringstream_char *ptr) -{ - return (basic_ios_char*)((char*)ptr+basic_stringstream_char_vbtable1[1]); -} - -static inline basic_stringstream_char* basic_stringstream_char_from_basic_ios(basic_ios_char *ptr) -{ - return (basic_stringstream_char*)((char*)ptr-basic_stringstream_char_vbtable1[1]); -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_str, 16) -basic_stringstream_char* __thiscall basic_stringstream_char_ctor_str(basic_stringstream_char *this, - const basic_string_char *str, int mode, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %p %d %d)\n", this, str, mode, virt_init); - - if(virt_init) { - 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); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - } - - basic_stringbuf_char_ctor_str(&this->strbuf, str, mode); - basic_iostream_char_ctor(&this->base, &this->strbuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_stringstream_char_vtable; - return this; -} - -/* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z */ -/* ??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor_mode, 12) -basic_stringstream_char* __thiscall basic_stringstream_char_ctor_mode( - basic_stringstream_char *this, int mode, MSVCP_bool virt_init) -{ - basic_ios_char *basic_ios; - - TRACE("(%p %d %d)\n", this, mode, virt_init); - - if(virt_init) { - 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); - basic_ios_char_ctor(basic_ios); - }else { - basic_ios = basic_istream_char_get_basic_ios(&this->base.base1); - } - - basic_stringbuf_char_ctor_mode(&this->strbuf, mode); - basic_iostream_char_ctor(&this->base, &this->strbuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_stringstream_char_vtable; - return this; -} - -/* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_ctor, 8) -basic_stringstream_char* __thiscall basic_stringstream_char_ctor( - basic_stringstream_char *this, MSVCP_bool virt_init) -{ - return basic_stringstream_char_ctor_mode( - this, OPENMODE_out|OPENMODE_in, virt_init); -} - -/* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ */ -/* ??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_dtor, 4) -void __thiscall basic_stringstream_char_dtor(basic_ios_char *base) -{ - basic_stringstream_char *this = basic_stringstream_char_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_iostream_char_dtor(basic_iostream_char_to_basic_ios(&this->base)); - basic_stringbuf_char_dtor(&this->strbuf); -} - -/* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vbase_dtor, 4) -void __thiscall basic_stringstream_char_vbase_dtor(basic_stringstream_char *this) -{ - TRACE("(%p)\n", this); - - basic_stringstream_char_dtor(basic_stringstream_char_to_basic_ios(this)); - basic_ios_char_dtor(basic_istream_char_get_basic_ios(&this->base.base1)); -} - -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_vector_dtor, 8) -basic_stringstream_char* __thiscall basic_stringstream_char_vector_dtor(basic_ios_char *base, unsigned int flags) -{ - basic_stringstream_char *this = basic_stringstream_char_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_stringstream_char_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_stringstream_char_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_rdbuf, 4) -basic_stringbuf_char* __thiscall basic_stringstream_char_rdbuf(const basic_stringstream_char *this) -{ - TRACE("(%p)\n", this); - return (basic_stringbuf_char*)&this->strbuf; -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_set, 8) -void __thiscall basic_stringstream_char_str_set(basic_stringstream_char *this, const basic_string_char *str) -{ - TRACE("(%p %p)\n", this, str); - basic_stringbuf_char_str_set(&this->strbuf, str); -} - -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_char_str_get, 8) -basic_string_char* __thiscall basic_stringstream_char_str_get(const basic_stringstream_char *this, basic_string_char *ret) -{ - TRACE("(%p %p)\n", this, ret); - return basic_stringbuf_char_str_get(&this->strbuf, ret); -} - -static inline basic_ios_wchar* basic_stringstream_wchar_to_basic_ios(basic_stringstream_wchar *ptr) -{ - return (basic_ios_wchar*)((char*)ptr+basic_stringstream_wchar_vbtable1[1]); -} - -static inline basic_stringstream_wchar* basic_stringstream_wchar_from_basic_ios(basic_ios_wchar *ptr) -{ - return (basic_stringstream_wchar*)((char*)ptr-basic_stringstream_wchar_vbtable1[1]); -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_str, 16) -basic_stringstream_wchar* __thiscall basic_stringstream_wchar_ctor_str(basic_stringstream_wchar *this, - const basic_string_wchar *str, int mode, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %p %d %d)\n", this, str, mode, virt_init); - - if(virt_init) { - 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); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - } - - basic_stringbuf_wchar_ctor_str(&this->strbuf, str, mode); - basic_iostream_wchar_ctor(&this->base, &this->strbuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_stringstream_wchar_vtable; - return this; -} - -/* ??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 */ -/* ??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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_str, 16) -basic_stringstream_wchar* __thiscall basic_stringstream_short_ctor_str(basic_stringstream_wchar *this, - const basic_string_wchar *str, int mode, MSVCP_bool virt_init) -{ - basic_stringstream_wchar_ctor_str(this, str, mode, virt_init); - basic_istream_wchar_get_basic_ios(&this->base.base1)->base.vtable = &MSVCP_basic_stringstream_short_vtable; - return this; -} - -/* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z */ -/* ??0?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor_mode, 12) -basic_stringstream_wchar* __thiscall basic_stringstream_wchar_ctor_mode( - basic_stringstream_wchar *this, int mode, MSVCP_bool virt_init) -{ - basic_ios_wchar *basic_ios; - - TRACE("(%p %d %d)\n", this, mode, virt_init); - - if(virt_init) { - 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); - basic_ios_wchar_ctor(basic_ios); - }else { - basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1); - } - - basic_stringbuf_wchar_ctor_mode(&this->strbuf, mode); - basic_iostream_wchar_ctor(&this->base, &this->strbuf.base, FALSE); - basic_ios->base.vtable = &MSVCP_basic_stringstream_wchar_vtable; - return this; -} - -/* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z */ -/* ??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor_mode, 12) -basic_stringstream_wchar* __thiscall basic_stringstream_short_ctor_mode( - basic_stringstream_wchar *this, int mode, MSVCP_bool virt_init) -{ - basic_stringstream_wchar_ctor_mode(this, mode, virt_init); - basic_istream_wchar_get_basic_ios(&this->base.base1)->base.vtable = &MSVCP_basic_stringstream_short_vtable; - return this; -} - -/* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ??_F?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_ctor, 8) -basic_stringstream_wchar* __thiscall basic_stringstream_wchar_ctor( - basic_stringstream_wchar *this, MSVCP_bool virt_init) -{ - return basic_stringstream_wchar_ctor_mode( - this, OPENMODE_out|OPENMODE_in, virt_init); -} - -/* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_short_ctor, 8) -basic_stringstream_wchar* __thiscall basic_stringstream_short_ctor( - basic_stringstream_wchar *this, MSVCP_bool virt_init) -{ - return basic_stringstream_short_ctor_mode( - this, OPENMODE_out|OPENMODE_in, virt_init); -} - -/* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UAE@XZ */ -/* ??1?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@UEAA@XZ */ -/* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ */ -/* ??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_dtor, 4) -void __thiscall basic_stringstream_wchar_dtor(basic_ios_wchar *base) -{ - basic_stringstream_wchar *this = basic_stringstream_wchar_from_basic_ios(base); - - TRACE("(%p)\n", this); - - basic_iostream_wchar_dtor(basic_iostream_wchar_to_basic_ios(&this->base)); - basic_stringbuf_wchar_dtor(&this->strbuf); -} - -/* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ??_D?$basic_stringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -/* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vbase_dtor, 4) -void __thiscall basic_stringstream_wchar_vbase_dtor(basic_stringstream_wchar *this) -{ - TRACE("(%p)\n", this); - - basic_stringstream_wchar_dtor(basic_stringstream_wchar_to_basic_ios(this)); - basic_ios_wchar_dtor(basic_istream_wchar_get_basic_ios(&this->base.base1)); -} - -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_vector_dtor, 8) -basic_stringstream_wchar* __thiscall basic_stringstream_wchar_vector_dtor(basic_ios_wchar *base, unsigned int flags) -{ - basic_stringstream_wchar *this = basic_stringstream_wchar_from_basic_ios(base); - - TRACE("(%p %x)\n", this, flags); - - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - basic_stringstream_wchar_vbase_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - basic_stringstream_wchar_vbase_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_rdbuf, 4) -basic_stringbuf_wchar* __thiscall basic_stringstream_wchar_rdbuf(const basic_stringstream_wchar *this) -{ - TRACE("(%p)\n", this); - return (basic_stringbuf_wchar*)&this->strbuf; -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_set, 8) -void __thiscall basic_stringstream_wchar_str_set(basic_stringstream_wchar *this, const basic_string_wchar *str) -{ - TRACE("(%p %p)\n", this, str); - basic_stringbuf_wchar_str_set(&this->strbuf, str); -} - -/* ?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 */ -/* ?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 */ -/* ?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 */ -/* ?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 */ -DEFINE_THISCALL_WRAPPER(basic_stringstream_wchar_str_get, 8) -basic_string_wchar* __thiscall basic_stringstream_wchar_str_get(const basic_stringstream_wchar *this, basic_string_wchar *ret) -{ - TRACE("(%p %p)\n", this, ret); - return basic_stringbuf_wchar_str_get(&this->strbuf, ret); -} - -/* ?_Init@strstreambuf@std@@IAEXHPAD0H@Z */ -/* ?_Init@strstreambuf@std@@IEAAX_JPEAD1H@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf__Init, 24) -void __thiscall strstreambuf__Init(strstreambuf *this, streamsize len, char *g, char *p, int mode) -{ - TRACE("(%p %s %p %p %d)\n", this, wine_dbgstr_longlong(len), g, p, mode); - - this->minsize = 32; - this->endsave = NULL; - this->strmode = mode; - this->palloc = NULL; - this->pfree = NULL; - - if(!g) { - this->strmode |= STRSTATE_Dynamic; - if(len > this->minsize) - this->minsize = len; - this->seekhigh = NULL; - return; - } - - if(len < 0) - len = INT_MAX; - else if(!len) - len = strlen(g); - - this->seekhigh = g+len; - basic_streambuf_char_setg(&this->base, g, g, p ? p : this->seekhigh); - if(p) - basic_streambuf_char_setp(&this->base, p, this->seekhigh); -} - -/* ??0strstreambuf@std@@QAE@PACH0@Z */ -/* ??0strstreambuf@std@@QEAA@PEAC_J0@Z */ -/* ??0strstreambuf@std@@QAE@PADH0@Z */ -/* ??0strstreambuf@std@@QEAA@PEAD_J0@Z */ -/* ??0strstreambuf@std@@QAE@PAEH0@Z */ -/* ??0strstreambuf@std@@QEAA@PEAE_J0@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get_put, 20) -strstreambuf* __thiscall strstreambuf_ctor_get_put(strstreambuf *this, char *g, streamsize len, char *p) -{ - TRACE("(%p %p %s %p)\n", this, g, wine_dbgstr_longlong(len), p); - - basic_streambuf_char_ctor(&this->base); - this->base.vtable = &MSVCP_strstreambuf_vtable; - - strstreambuf__Init(this, len, g, p, 0); - return this; -} - -/* ??0strstreambuf@std@@QAE@H@Z */ -/* ??0strstreambuf@std@@QEAA@_J@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_len, 12) -strstreambuf* __thiscall strstreambuf_ctor_len(strstreambuf *this, streamsize len) -{ - return strstreambuf_ctor_get_put(this, NULL, len, NULL); -} - -/* ??0strstreambuf@std@@QAE@P6APAXI@ZP6AXPAX@Z@Z */ -/* ??0strstreambuf@std@@QEAA@P6APEAX_K@ZP6AXPEAX@Z@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_alloc, 12) -strstreambuf* __thiscall strstreambuf_ctor_alloc(strstreambuf *this, void* (__cdecl *palloc)(MSVCP_size_t), void (__cdecl *pfree)(void*)) -{ - TRACE("(%p %p %p)\n", this, palloc, pfree); - - strstreambuf_ctor_get_put(this, NULL, 0, NULL); - this->palloc = palloc; - this->pfree = pfree; - return this; -} - -/* ??0strstreambuf@std@@QAE@PBCH@Z */ -/* ??0strstreambuf@std@@QEAA@PEBC_J@Z */ -/* ??0strstreambuf@std@@QAE@PBDH@Z */ -/* ??0strstreambuf@std@@QEAA@PEBD_J@Z */ -/* ??0strstreambuf@std@@QAE@PBEH@Z */ -/* ??0strstreambuf@std@@QEAA@PEBE_J@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_ctor_get, 16) -strstreambuf* __thiscall strstreambuf_ctor_get(strstreambuf *this, const char *g, streamsize len) -{ - TRACE("(%p %p %s)\n", this, g, wine_dbgstr_longlong(len)); - - strstreambuf_ctor_get_put(this, NULL, 0, NULL); - this->strmode |= STRSTATE_Constant; - return this; -} - -/* ??_Fstrstreambuf@std@@QAEXXZ */ -/* ??_Fstrstreambuf@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(strstreambuf_ctor, 4) -strstreambuf* __thiscall strstreambuf_ctor(strstreambuf *this) -{ - return strstreambuf_ctor_get_put(this, NULL, 0, NULL); -} - -/* ?_Tidy@strstreambuf@std@@IAEXXZ */ -/* ?_Tidy@strstreambuf@std@@IEAAXXZ */ -DEFINE_THISCALL_WRAPPER(strstreambuf__Tidy, 4) -void __thiscall strstreambuf__Tidy(strstreambuf *this) -{ - TRACE("(%p)\n", this); - - if((this->strmode & STRSTATE_Allocated) && !(this->strmode & STRSTATE_Frozen)) { - if(this->pfree) - this->pfree(basic_streambuf_char_eback(&this->base)); - else - MSVCRT_operator_delete(basic_streambuf_char_eback(&this->base)); - } - - this->endsave = NULL; - this->seekhigh = NULL; - this->strmode &= ~(STRSTATE_Allocated | STRSTATE_Frozen); - basic_streambuf_char_setg(&this->base, NULL, NULL, NULL); - basic_streambuf_char_setp(&this->base, NULL, NULL); -} - -/* ??1strstreambuf@std@@UAE@XZ */ -/* ??1strstreambuf@std@@UEAA@XZ */ -DEFINE_THISCALL_WRAPPER(strstreambuf_dtor, 4) -void __thiscall strstreambuf_dtor(strstreambuf *this) -{ - TRACE("(%p)\n", this); - - strstreambuf__Tidy(this); - basic_streambuf_char_dtor(&this->base); -} - -DEFINE_THISCALL_WRAPPER(strstreambuf_vector_dtor, 8) -strstreambuf* __thiscall strstreambuf_vector_dtor(strstreambuf *this, unsigned int flags) -{ - TRACE("(%p %x)\n", this, flags); - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - strstreambuf_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - strstreambuf_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - -/* ?freeze@strstreambuf@std@@QAEX_N@Z */ -/* ?freeze@strstreambuf@std@@QEAAX_N@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_freeze, 8) -void __thiscall strstreambuf_freeze(strstreambuf *this, MSVCP_bool freeze) -{ - TRACE("(%p %d)\n", this, freeze); - - if(!freeze == !(this->strmode *STRSTATE_Frozen)) - return; - - if(freeze) { - this->strmode |= STRSTATE_Frozen; - this->endsave = basic_streambuf_char_epptr(&this->base); - basic_streambuf_char_setp_next(&this->base, basic_streambuf_char_pbase(&this->base), - basic_streambuf_char_pptr(&this->base), basic_streambuf_char_eback(&this->base)); - }else { - this->strmode &= ~STRSTATE_Frozen; - basic_streambuf_char_setp_next(&this->base, basic_streambuf_char_pbase(&this->base), - basic_streambuf_char_pptr(&this->base), this->endsave); - } -} - -/* ?str@strstreambuf@std@@QAEPADXZ */ -/* ?str@strstreambuf@std@@QEAAPEADXZ */ -DEFINE_THISCALL_WRAPPER(strstreambuf_str, 4) -char* __thiscall strstreambuf_str(strstreambuf *this) -{ - TRACE("(%p)\n", this); - - strstreambuf_freeze(this, TRUE); - return basic_streambuf_char_gptr(&this->base); -} - -/* ?pcount@strstreambuf@std@@QBEHXZ */ -/* ?pcount@strstreambuf@std@@QEBA_JXZ */ -DEFINE_THISCALL_WRAPPER(strstreambuf_pcount, 4) -streamsize __thiscall strstreambuf_pcount(const strstreambuf *this) -{ - char *ppos = basic_streambuf_char_pptr(&this->base); - - TRACE("(%p)\n", this); - - return ppos ? ppos-basic_streambuf_char_pbase(&this->base) : 0; -} - -/* ?overflow@strstreambuf@std@@MAEHH@Z */ -/* ?overflow@strstreambuf@std@@MEAAHH@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_overflow, 8) -int __thiscall strstreambuf_overflow(strstreambuf *this, int c) -{ - MSVCP_size_t old_size, size; - char *ptr, *buf; - - TRACE("(%p %d)\n", this, c); - - if(c == EOF) - return !EOF; - - if(this->strmode & STRSTATE_Frozen) - return EOF; - - ptr = basic_streambuf_char_pptr(&this->base); - if(ptr && ptrbase)) - return (unsigned char)(*basic_streambuf_char__Pninc(&this->base) = c); - - if(!(this->strmode & STRSTATE_Dynamic) || (this->strmode & STRSTATE_Constant)) - return EOF; - - ptr = basic_streambuf_char_eback(&this->base); - old_size = ptr ? basic_streambuf_char_epptr(&this->base) - ptr : 0; - - size = old_size + old_size/2; - if(size < this->minsize) - size = this->minsize; - - if(this->palloc) - buf = this->palloc(size); - else - buf = MSVCRT_operator_new(size); - if(!buf) - return EOF; - - memcpy(buf, ptr, old_size); - if(this->strmode & STRSTATE_Allocated) { - if(this->pfree) - this->pfree(ptr); - else - MSVCRT_operator_delete(ptr); - } - - this->strmode |= STRSTATE_Allocated; - if(!old_size) { - this->seekhigh = buf; - basic_streambuf_char_setp(&this->base, buf, buf+size); - basic_streambuf_char_setg(&this->base, buf, buf, buf); - }else { - this->seekhigh = this->seekhigh-ptr+buf; - basic_streambuf_char_setp_next(&this->base, basic_streambuf_char_pbase(&this->base)-ptr+buf, - basic_streambuf_char_pptr(&this->base)-ptr+buf, buf+size); - basic_streambuf_char_setg(&this->base, buf, basic_streambuf_char_gptr(&this->base)-ptr+buf, - basic_streambuf_char_pptr(&this->base)); - } - - return (unsigned char)(*basic_streambuf_char__Pninc(&this->base) = c); -} - -/* ?pbackfail@strstreambuf@std@@MAEHH@Z */ -/* ?pbackfail@strstreambuf@std@@MEAAHH@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_pbackfail, 8) -int __thiscall strstreambuf_pbackfail(strstreambuf *this, int c) -{ - char *ptr = basic_streambuf_char_gptr(&this->base); - - TRACE("(%p %d)\n", this, c); - - if(ptr<=basic_streambuf_char_eback(&this->base) - || ((this->strmode & STRSTATE_Constant) && c!=ptr[-1])) - return EOF; - - basic_streambuf_char_gbump(&this->base, -1); - if(c == EOF) - return !EOF; - if(this->strmode & STRSTATE_Constant) - return (unsigned char)c; - - return (unsigned char)(ptr[0] = c); -} - -/* ?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JHH@Z */ -/* ?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JHH@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_seekoff, 24) -fpos_int* __thiscall strstreambuf_seekoff(strstreambuf *this, fpos_int *ret, streamoff off, int way, int mode) -{ - char *eback = basic_streambuf_char_eback(&this->base); - char *pptr = basic_streambuf_char_pptr(&this->base); - char *gptr = basic_streambuf_char_gptr(&this->base); - - TRACE("(%p %p %s %d %d)\n", this, ret, wine_dbgstr_longlong(off), way, mode); - - ret->off = 0; - ret->state = 0; - - if(pptr > this->seekhigh) - this->seekhigh = pptr; - - if((mode & OPENMODE_in) && gptr) { - if(way==SEEKDIR_cur && !(mode & OPENMODE_out)) - off += gptr-eback; - else if(way == SEEKDIR_end) - off += this->seekhigh-eback; - else if(way != SEEKDIR_beg) - off = -1; - - if(off<0 || off>this->seekhigh-eback) { - off = -1; - }else { - basic_streambuf_char_gbump(&this->base, eback-gptr+off); - if((mode & OPENMODE_out) && pptr) { - basic_streambuf_char_setp_next(&this->base, eback, - gptr, basic_streambuf_char_epptr(&this->base)); - } - } - }else if((mode & OPENMODE_out) && pptr) { - if(way == SEEKDIR_cur) - off += pptr-eback; - else if(way == SEEKDIR_end) - off += this->seekhigh-eback; - else if(way != SEEKDIR_beg) - off = -1; - - if(off<0 || off>this->seekhigh-eback) - off = -1; - else - basic_streambuf_char_pbump(&this->base, eback-pptr+off); - }else { - off = -1; - } - - ret->pos = off; - return ret; -} - -/* ?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z */ -/* ?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z */ -DEFINE_THISCALL_WRAPPER(strstreambuf_seekpos, 36) -fpos_int* __thiscall strstreambuf_seekpos(strstreambuf *this, fpos_int *ret, fpos_int pos, int mode) -{ - TRACE("(%p %p %s %d)\n", this, ret, debugstr_fpos_int(&pos), mode); - - if(pos.off==0 && pos.pos==-1 && pos.state==0) { - *ret = pos; - return ret; - } - - return strstreambuf_seekoff(this, ret, pos.off, SEEKDIR_beg, mode); -} - -/* ?underflow@strstreambuf@std@@MAEHXZ */ -/* ?underflow@strstreambuf@std@@MEAAHXZ */ -DEFINE_THISCALL_WRAPPER(strstreambuf_underflow, 4) -int __thiscall strstreambuf_underflow(strstreambuf *this) -{ - char *gptr = basic_streambuf_char_gptr(&this->base); - char *pptr; - - TRACE("(%p)\n", this); - - if(!gptr) - return EOF; - - if(gptr < basic_streambuf_char_egptr(&this->base)) - return (unsigned char)(*gptr); - - pptr = basic_streambuf_char_gptr(&this->base); - if(pptr > this->seekhigh) - this->seekhigh = pptr; - - if(this->seekhigh <= gptr) - return EOF; - - basic_streambuf_char_setg(&this->base, basic_streambuf_char_eback(&this->base), - gptr, this->seekhigh); - return (unsigned char)(*gptr); -} - static void __cdecl setprecision_func(ios_base *base, streamsize prec) { ios_base_precision_set(base, prec); @@ -12486,9 +8143,6 @@ void init_io(void *base) init_basic_filebuf_char_rtti(base); init_basic_filebuf_wchar_rtti(base); init_basic_filebuf_short_rtti(base); - init_basic_stringbuf_char_rtti(base); - init_basic_stringbuf_wchar_rtti(base); - init_basic_stringbuf_short_rtti(base); init_basic_ostream_char_rtti(base); init_basic_ostream_wchar_rtti(base); init_basic_ostream_short_rtti(base); @@ -12498,25 +8152,6 @@ void init_io(void *base) init_basic_iostream_char_rtti(base); init_basic_iostream_wchar_rtti(base); init_basic_iostream_short_rtti(base); - init_basic_ofstream_char_rtti(base); - init_basic_ofstream_wchar_rtti(base); - init_basic_ofstream_short_rtti(base); - init_basic_ifstream_char_rtti(base); - init_basic_ifstream_wchar_rtti(base); - init_basic_ifstream_short_rtti(base); - init_basic_fstream_char_rtti(base); - init_basic_fstream_wchar_rtti(base); - init_basic_fstream_short_rtti(base); - init_basic_ostringstream_char_rtti(base); - init_basic_ostringstream_wchar_rtti(base); - init_basic_ostringstream_short_rtti(base); - init_basic_istringstream_char_rtti(base); - init_basic_istringstream_wchar_rtti(base); - init_basic_istringstream_short_rtti(base); - init_basic_stringstream_char_rtti(base); - init_basic_stringstream_wchar_rtti(base); - init_basic_stringstream_short_rtti(base); - init_strstreambuf_rtti(base); #endif basic_filebuf_char_ctor_file(&filebuf_char_stdin, stdin); diff --git a/dlls/msvcp100/locale.c b/dlls/msvcp100/locale.c index ccf62971cba..d1832eabe3a 100644 --- a/dlls/msvcp100/locale.c +++ b/dlls/msvcp100/locale.c @@ -41,7 +41,7 @@ char* __cdecl _Getmonths(void); void* __cdecl _Gettnames(void); unsigned int __cdecl ___lc_codepage_func(void); LCID* __cdecl ___lc_handle_func(void); -const locale_facet* __thiscall locale__Getfacet(const locale*, MSVCP_size_t); +static const locale_facet* locale__Getfacet(const locale*, MSVCP_size_t); typedef int category; @@ -207,7 +207,6 @@ typedef struct } facets_elem; static struct list lazy_facets = LIST_INIT(lazy_facets); -/* Not exported from msvcp90 */ /* ?facet_Register@facet@locale@std@@CAXPAV123@@Z */ /* ?facet_Register@facet@locale@std@@CAXPEAV123@@Z */ static void __cdecl locale_facet_register(locale_facet *add) @@ -222,16 +221,6 @@ static void __cdecl locale_facet_register(locale_facet *add) list_add_head(&lazy_facets, &head->entry); } -/* Not exported from msvcp90 */ -/* ?_Register@facet@locale@std@@QAEXXZ */ -/* ?_Register@facet@locale@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(locale_facet__Register, 4) -void __thiscall locale_facet__Register(locale_facet *this) -{ - TRACE("(%p)\n", this); - locale_facet_register(this); -} - /* Not exported from msvcp90 */ /* ??_7facet@locale@std@@6B@ */ extern const vtable_ptr MSVCP_locale_facet_vtable; @@ -439,14 +428,6 @@ _Locinfo* __thiscall _Locinfo_ctor_cat_cstr(_Locinfo *this, int category, const return _Locinfo__Locinfo_ctor_cat_cstr(this, category, locstr); } -/* ??0_Locinfo@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ -/* ??0_Locinfo@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ -DEFINE_THISCALL_WRAPPER(_Locinfo_ctor_bstr, 8) -_Locinfo* __thiscall _Locinfo_ctor_bstr(_Locinfo *this, const basic_string_char *locstr) -{ - return _Locinfo__Locinfo_ctor_cat_cstr(this, 1/*FIXME*/, MSVCP_basic_string_char_c_str(locstr)); -} - /* ?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z */ /* ?_Locinfo_ctor@_Locinfo@std@@SAXPEAV12@PEBD@Z */ _Locinfo* __cdecl _Locinfo__Locinfo_ctor_cstr(_Locinfo *locinfo, const char *locstr) @@ -685,17 +666,6 @@ const struct lconv* __thiscall _Locinfo__Getlconv(const _Locinfo *this) return localeconv(); } -/* ?_Getname@_Locinfo@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?_Getname@_Locinfo@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(_Locinfo__Getname, 8) -basic_string_char* __thiscall _Locinfo__Getname(const _Locinfo *this, basic_string_char *ret) -{ - TRACE("(%p)\n", this); - - MSVCP_basic_string_char_copy_ctor(ret, &this->newlocname); - return ret; -} - /* ?_Gettnames@_Locinfo@std@@QBE?AV_Timevec@2@XZ */ /* ?_Gettnames@_Locinfo@std@@QEBA?AV_Timevec@2@XZ */ DEFINE_THISCALL_WRAPPER(_Locinfo__Gettnames, 8) @@ -713,58 +683,9 @@ locale_id collate_char_id = {0}; /* ??_7?$collate@D@std@@6B@ */ extern const vtable_ptr MSVCP_collate_char_vtable; -/* ?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z */ -/* ?_Init@?$collate@D@std@@IEAAXAEBV_Locinfo@2@@Z */ -DEFINE_THISCALL_WRAPPER(collate_char__Init, 8) -void __thiscall collate_char__Init(collate *this, const _Locinfo *locinfo) -{ - TRACE("(%p %p)\n", this, locinfo); - _Locinfo__Getcoll(locinfo, &this->coll); -} - -/* ??0?$collate@D@std@@IAE@PBDI@Z */ -/* ??0?$collate@D@std@@IEAA@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_char_ctor_name, 12) -collate* __thiscall collate_char_ctor_name(collate *this, const char *name, MSVCP_size_t refs) -{ - _Locinfo locinfo; - - TRACE("(%p %s %lu)\n", this, name, refs); - - locale_facet_ctor_refs(&this->facet, refs); - this->facet.vtable = &MSVCP_collate_char_vtable; - - _Locinfo_ctor_cstr(&locinfo, name); - collate_char__Init(this, &locinfo); - _Locinfo_dtor(&locinfo); - return this; -} - -/* ??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z */ -/* ??0?$collate@D@std@@QEAA@AEBV_Locinfo@1@_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_char_ctor_locinfo, 12) -collate* __thiscall collate_char_ctor_locinfo(collate *this, _Locinfo *locinfo, MSVCP_size_t refs) -{ - TRACE("(%p %p %lu)\n", this, locinfo, refs); - - locale_facet_ctor_refs(&this->facet, refs); - this->facet.vtable = &MSVCP_collate_char_vtable; - collate_char__Init(this, locinfo); - return this; -} - -/* ??0?$collate@D@std@@QAE@I@Z */ -/* ??0?$collate@D@std@@QEAA@_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_char_ctor_refs, 8) -collate* __thiscall collate_char_ctor_refs(collate *this, MSVCP_size_t refs) -{ - return collate_char_ctor_name(this, "C", refs); -} - /* ??1?$collate@D@std@@MAE@XZ */ /* ??1?$collate@D@std@@MEAA@XZ */ -DEFINE_THISCALL_WRAPPER(collate_char_dtor, 4) -void __thiscall collate_char_dtor(collate *this) +static void collate_char_dtor(collate *this) { TRACE("(%p)\n", this); } @@ -789,14 +710,6 @@ collate* __thiscall collate_char_vector_dtor(collate *this, unsigned int flags) return this; } -/* ??_F?$collate@D@std@@QAEXXZ */ -/* ??_F?$collate@D@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(collate_char_ctor, 4) -collate* __thiscall collate_char_ctor(collate *this) -{ - return collate_char_ctor_name(this, "C", 0); -} - /* _Strcoll */ int __cdecl _Strcoll(const char *first1, const char *last1, const char *first2, const char *last2, const _Collvec *coll) @@ -825,16 +738,6 @@ int __thiscall collate_char_do_compare(const collate *this, const char *first1, return _Strcoll(first1, last1, first2, last2, &this->coll); } -/* ?compare@?$collate@D@std@@QBEHPBD000@Z */ -/* ?compare@?$collate@D@std@@QEBAHPEBD000@Z */ -DEFINE_THISCALL_WRAPPER(collate_char_compare, 20) -int __thiscall collate_char_compare(const collate *this, const char *first1, - const char *last1, const char *first2, const char *last2) -{ - TRACE("(%p %p %p %p %p)\n", this, first1, last1, first2, last2); - return call_collate_char_do_compare(this, first1, last1, first2, last2); -} - /* ?do_hash@?$collate@D@std@@MBEJPBD0@Z */ /* ?do_hash@?$collate@D@std@@MEBAJPEBD0@Z */ DEFINE_THISCALL_WRAPPER(collate_char_do_hash, 12) @@ -852,16 +755,6 @@ LONG __thiscall collate_char_do_hash(const collate *this, return ret; } -/* ?hash@?$collate@D@std@@QBEJPBD0@Z */ -/* ?hash@?$collate@D@std@@QEBAJPEBD0@Z */ -DEFINE_THISCALL_WRAPPER(collate_char_hash, 12) -LONG __thiscall collate_char_hash(const collate *this, - const char *first, const char *last) -{ - TRACE("(%p %p %p)\n", this, first, last); - return call_collate_char_do_hash(this, first, last); -} - /* ?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z */ /* ?do_transform@?$collate@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PEBD0@Z */ DEFINE_THISCALL_WRAPPER(collate_char_do_transform, 16) @@ -872,16 +765,6 @@ basic_string_char* __thiscall collate_char_do_transform(const collate *this, return ret; } -/* ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z */ -/* ?transform@?$collate@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PEBD0@Z */ -DEFINE_THISCALL_WRAPPER(collate_char_transform, 16) -basic_string_char* __thiscall collate_char_transform(const collate *this, - basic_string_char *ret, const char *first, const char *last) -{ - FIXME("(%p %p %p) stub\n", this, first, last); - return ret; -} - /* ?id@?$collate@_W@std@@2V0locale@2@A */ locale_id collate_wchar_id = {0}; /* ?id@?$collate@G@std@@2V0locale@2@A */ @@ -892,92 +775,11 @@ extern const vtable_ptr MSVCP_collate_wchar_vtable; /* ??_7?$collate@G@std@@6B@ */ extern const vtable_ptr MSVCP_collate_short_vtable; -/* ?_Init@?$collate@_W@std@@IAEXABV_Locinfo@2@@Z */ -/* ?_Init@?$collate@_W@std@@IEAAXAEBV_Locinfo@2@@Z */ -/* ?_Init@?$collate@G@std@@IAEXABV_Locinfo@2@@Z */ -/* ?_Init@?$collate@G@std@@IEAAXAEBV_Locinfo@2@@Z */ -DEFINE_THISCALL_WRAPPER(collate_wchar__Init, 8) -void __thiscall collate_wchar__Init(collate *this, const _Locinfo *locinfo) -{ - TRACE("(%p %p)\n", this, locinfo); - _Locinfo__Getcoll(locinfo, &this->coll); -} - -/* ??0?$collate@_W@std@@IAE@PBDI@Z */ -/* ??0?$collate@_W@std@@IEAA@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_wchar_ctor_name, 12) -collate* __thiscall collate_wchar_ctor_name(collate *this, const char *name, MSVCP_size_t refs) -{ - _Locinfo locinfo; - - TRACE("(%p %s %lu)\n", this, name, refs); - - locale_facet_ctor_refs(&this->facet, refs); - this->facet.vtable = &MSVCP_collate_wchar_vtable; - - _Locinfo_ctor_cstr(&locinfo, name); - collate_wchar__Init(this, &locinfo); - _Locinfo_dtor(&locinfo); - return this; -} - -/* ??0?$collate@G@std@@IAE@PBDI@Z */ -/* ??0?$collate@G@std@@IEAA@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_short_ctor_name, 12) -collate* __thiscall collate_short_ctor_name(collate *this, const char *name, MSVCP_size_t refs) -{ - collate *ret = collate_wchar_ctor_name(this, name, refs); - ret->facet.vtable = &MSVCP_collate_short_vtable; - return ret; -} - -/* ??0?$collate@_W@std@@QAE@ABV_Locinfo@1@I@Z */ -/* ??0?$collate@_W@std@@QEAA@AEBV_Locinfo@1@_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_wchar_ctor_locinfo, 12) -collate* __thiscall collate_wchar_ctor_locinfo(collate *this, _Locinfo *locinfo, MSVCP_size_t refs) -{ - TRACE("(%p %p %lu)\n", this, locinfo, refs); - - locale_facet_ctor_refs(&this->facet, refs); - this->facet.vtable = &MSVCP_collate_wchar_vtable; - collate_wchar__Init(this, locinfo); - return this; -} - -/* ??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z */ -/* ??0?$collate@G@std@@QEAA@AEBV_Locinfo@1@_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_short_ctor_locinfo, 12) -collate* __thiscall collate_short_ctor_locinfo(collate *this, _Locinfo *locinfo, MSVCP_size_t refs) -{ - collate *ret = collate_wchar_ctor_locinfo(this, locinfo, refs); - ret->facet.vtable = &MSVCP_collate_short_vtable; - return ret; -} - -/* ??0?$collate@_W@std@@QAE@I@Z */ -/* ??0?$collate@_W@std@@QEAA@_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_wchar_ctor_refs, 8) -collate* __thiscall collate_wchar_ctor_refs(collate *this, MSVCP_size_t refs) -{ - return collate_wchar_ctor_name(this, "C", refs); -} - -/* ??0?$collate@G@std@@QAE@I@Z */ -/* ??0?$collate@G@std@@QEAA@_K@Z */ -DEFINE_THISCALL_WRAPPER(collate_short_ctor_refs, 8) -collate* __thiscall collate_short_ctor_refs(collate *this, MSVCP_size_t refs) -{ - collate *ret = collate_wchar_ctor_refs(this, refs); - ret->facet.vtable = &MSVCP_collate_short_vtable; - return ret; -} - /* ??1?$collate@_W@std@@MAE@XZ */ /* ??1?$collate@_W@std@@MEAA@XZ */ /* ??1?$collate@G@std@@MAE@XZ */ /* ??1?$collate@G@std@@MEAA@XZ */ -DEFINE_THISCALL_WRAPPER(collate_wchar_dtor, 4) -void __thiscall collate_wchar_dtor(collate *this) +static void collate_wchar_dtor(collate *this) { TRACE("(%p)\n", this); } @@ -1002,24 +804,6 @@ collate* __thiscall collate_wchar_vector_dtor(collate *this, unsigned int flags) return this; } -/* ??_F?$collate@_W@std@@QAEXXZ */ -/* ??_F?$collate@_W@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(collate_wchar_ctor, 4) -collate* __thiscall collate_wchar_ctor(collate *this) -{ - return collate_wchar_ctor_name(this, "C", 0); -} - -/* ??_F?$collate@G@std@@QAEXXZ */ -/* ??_F?$collate@G@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(collate_short_ctor, 4) -collate* __thiscall collate_short_ctor(collate *this) -{ - collate *ret = collate_wchar_ctor(this); - ret->facet.vtable = &MSVCP_collate_short_vtable; - return ret; -} - /* _Wcscoll */ int __cdecl _Wcscoll(const wchar_t *first1, const wchar_t *last1, const wchar_t *first2, const wchar_t *last2, const _Collvec *coll) @@ -1050,18 +834,6 @@ int __thiscall collate_wchar_do_compare(const collate *this, const wchar_t *firs return _Wcscoll(first1, last1, first2, last2, &this->coll); } -/* ?compare@?$collate@_W@std@@QBEHPB_W000@Z */ -/* ?compare@?$collate@_W@std@@QEBAHPEB_W000@Z */ -/* ?compare@?$collate@G@std@@QBEHPBG000@Z */ -/* ?compare@?$collate@G@std@@QEBAHPEBG000@Z */ -DEFINE_THISCALL_WRAPPER(collate_wchar_compare, 20) -int __thiscall collate_wchar_compare(const collate *this, const wchar_t *first1, - const wchar_t *last1, const wchar_t *first2, const wchar_t *last2) -{ - TRACE("(%p %p %p %p %p)\n", this, first1, last1, first2, last2); - return call_collate_wchar_do_compare(this, first1, last1, first2, last2); -} - /* ?do_hash@?$collate@_W@std@@MBEJPB_W0@Z */ /* ?do_hash@?$collate@_W@std@@MEBAJPEB_W0@Z */ /* ?do_hash@?$collate@G@std@@MBEJPBG0@Z */ @@ -1081,18 +853,6 @@ LONG __thiscall collate_wchar_do_hash(const collate *this, return ret; } -/* ?hash@?$collate@_W@std@@QBEJPB_W0@Z */ -/* ?hash@?$collate@_W@std@@QEBAJPEB_W0@Z */ -/* ?hash@?$collate@G@std@@QBEJPBG0@Z */ -/* ?hash@?$collate@G@std@@QEBAJPEBG0@Z */ -DEFINE_THISCALL_WRAPPER(collate_wchar_hash, 12) -LONG __thiscall collate_wchar_hash(const collate *this, - const wchar_t *first, const wchar_t *last) -{ - TRACE("(%p %p %p)\n", this, first, last); - return call_collate_wchar_do_hash(this, first, last); -} - /* ?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z */ /* ?do_transform@?$collate@_W@std@@MEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z */ /* ?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z */ @@ -1105,18 +865,6 @@ basic_string_wchar* __thiscall collate_wchar_do_transform(const collate *this, return ret; } -/* ?transform@?$collate@_W@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z */ -/* ?transform@?$collate@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W0@Z */ -/* ?transform@?$collate@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z */ -/* ?transform@?$collate@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PEBG0@Z */ -DEFINE_THISCALL_WRAPPER(collate_wchar_transform, 16) -basic_string_wchar* __thiscall collate_wchar_transform(const collate *this, - basic_string_wchar *ret, const wchar_t *first, const wchar_t *last) -{ - FIXME("(%p %p %p) stub\n", this, first, last); - return ret; -} - /* ??_7ctype_base@std@@6B@ */ extern const vtable_ptr MSVCP_ctype_base_vtable; @@ -1170,12 +918,6 @@ ctype_base* __thiscall ctype_base_vector_dtor(ctype_base *this, unsigned int fla return this; } -/* ?_Xran@ctype_base@std@@KAXXZ */ -static void __cdecl ctype_base__Xran(void) -{ - throw_exception(EXCEPTION_OUT_OF_RANGE, "out of range in ctype"); -} - /* ?id@?$ctype@D@std@@2V0locale@2@A */ locale_id ctype_char_id = {0}; /* ?table_size@?$ctype@D@std@@2IB */ @@ -1305,17 +1047,6 @@ const char* __thiscall ctype_char_do_narrow(const ctype_char *this, return last; } -/* ?_Do_narrow_s@?$ctype@D@std@@MBEPBDPBD0DPADI@Z */ -/* ?_Do_narrow_s@?$ctype@D@std@@MEBAPEBDPEBD0DPEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_char__Do_narrow_s, 24) -const char* __thiscall ctype_char__Do_narrow_s(const ctype_char *this, const char *first, - const char *last, char unused, char *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size); - memcpy_s(dest, size, first, last-first); - return last; -} - /* ?narrow@?$ctype@D@std@@QBEDDD@Z */ /* ?narrow@?$ctype@D@std@@QEBADDD@Z */ DEFINE_THISCALL_WRAPPER(ctype_char_narrow_ch, 12) @@ -1335,16 +1066,6 @@ const char* __thiscall ctype_char_narrow(const ctype_char *this, return call_ctype_char_do_narrow(this, first, last, dflt, dest); } -/* ?_Narrow_s@?$ctype@D@std@@QBEPBDPBD0DPADI@Z */ -/* ?_Narrow_s@?$ctype@D@std@@QEBAPEBDPEBD0DPEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_char__Narrow_s, 24) -const char* __thiscall ctype_char__Narrow_s(const ctype_char *this, const char *first, - const char *last, char dflt, char *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size); - return ctype_char__Do_narrow_s(this, first, last, dflt, dest, size); -} - /* ?do_widen@?$ctype@D@std@@MBEDD@Z */ /* ?do_widen@?$ctype@D@std@@MEBADD@Z */ DEFINE_THISCALL_WRAPPER(ctype_char_do_widen_ch, 8) @@ -1370,17 +1091,6 @@ const char* __thiscall ctype_char_do_widen(const ctype_char *this, return last; } -/* ?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z */ -/* ?_Do_widen_s@?$ctype@D@std@@MEBAPEBDPEBD0PEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_char__Do_widen_s, 20) -const char* __thiscall ctype_char__Do_widen_s(const ctype_char *this, - const char *first, const char *last, char *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size); - memcpy_s(dest, size, first, last-first); - return last; -} - /* ?widen@?$ctype@D@std@@QBEDD@Z */ /* ?widen@?$ctype@D@std@@QEBADD@Z */ DEFINE_THISCALL_WRAPPER(ctype_char_widen_ch, 8) @@ -1400,16 +1110,6 @@ const char* __thiscall ctype_char_widen(const ctype_char *this, return call_ctype_char_do_widen(this, first, last, dest); } -/* ?_Widen_s@?$ctype@D@std@@QBEPBDPBD0PADI@Z */ -/* ?_Widen_s@?$ctype@D@std@@QEBAPEBDPEBD0PEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_char__Widen_s, 20) -const char* __thiscall ctype_char__Widen_s(const ctype_char *this, - const char *first, const char *last, char *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size); - return ctype_char__Do_widen_s(this, first, last, dest, size); -} - /* ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z */ /* ?_Getcat@?$ctype@D@std@@SA_KPEAPEBVfacet@locale@2@PEBV42@@Z */ MSVCP_size_t __cdecl ctype_char__Getcat(const locale_facet **facet, const locale *loc) @@ -1679,15 +1379,6 @@ const char* __thiscall ctype_char_scan_not(const ctype_char *this, short mask, c return first; } -/* ?table@?$ctype@D@std@@IBEPBFXZ */ -/* ?table@?$ctype@D@std@@IEBAPEBFXZ */ -DEFINE_THISCALL_WRAPPER(ctype_char_table, 4) -const short* __thiscall ctype_char_table(const ctype_char *this) -{ - TRACE("(%p)\n", this); - return this->ctype.table; -} - /* ?id@?$ctype@_W@std@@2V0locale@2@A */ locale_id ctype_wchar_id = {0}; /* ?id@?$ctype@G@std@@2V0locale@2@A */ @@ -1762,25 +1453,6 @@ ctype_wchar* __thiscall ctype_short_ctor_refs(ctype_wchar *this, MSVCP_size_t re return ret; } -/* ??0?$ctype@G@std@@IAE@PBDI@Z */ -/* ??0?$ctype@G@std@@IEAA@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_short_ctor_name, 12) -ctype_wchar* __thiscall ctype_short_ctor_name(ctype_wchar *this, - const char *name, MSVCP_size_t refs) -{ - _Locinfo locinfo; - - TRACE("(%p %s %lu)\n", this, debugstr_a(name), refs); - - ctype_base_ctor_refs(&this->base, refs); - this->base.facet.vtable = &MSVCP_ctype_short_vtable; - - _Locinfo_ctor_cstr(&locinfo, name); - ctype_wchar__Init(this, &locinfo); - _Locinfo_dtor(&locinfo); - return this; -} - /* ??_F?$ctype@_W@std@@QAEXXZ */ /* ??_F?$ctype@_W@std@@QEAAXXZ */ DEFINE_THISCALL_WRAPPER(ctype_wchar_ctor, 4) @@ -1907,22 +1579,6 @@ const wchar_t* __thiscall ctype_wchar_do_narrow(const ctype_wchar *this, return last; } -/* ?_Do_narrow_s@?$ctype@_W@std@@MBEPB_WPB_W0DPADI@Z */ -/* ?_Do_narrow_s@?$ctype@_W@std@@MEBAPEB_WPEB_W0DPEAD_K@Z */ -/* ?_Do_narrow_s@?$ctype@G@std@@MBEPBGPBG0DPADI@Z */ -/* ?_Do_narrow_s@?$ctype@G@std@@MEBAPEBGPEBG0DPEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_wchar__Do_narrow_s, 24) -const wchar_t* __thiscall ctype_wchar__Do_narrow_s(const ctype_wchar *this, - const wchar_t *first, const wchar_t *last, char dflt, char *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %d %p %lu)\n", this, first, last, dflt, dest, size); - /* This function converts all multi-byte characters to dflt, - * thanks to it result size is known before converting */ - if(last-first > size) - ctype_base__Xran(); - return ctype_wchar_do_narrow(this, first, last, dflt, dest); -} - /* ?narrow@?$ctype@_W@std@@QBED_WD@Z */ /* ?narrow@?$ctype@_W@std@@QEBAD_WD@Z */ /* ?narrow@?$ctype@G@std@@QBEDGD@Z */ @@ -1946,18 +1602,6 @@ const wchar_t* __thiscall ctype_wchar_narrow(const ctype_wchar *this, return call_ctype_wchar_do_narrow(this, first, last, dflt, dest); } -/* ?_Narrow_s@?$ctype@_W@std@@QBEPB_WPB_W0DPADI@Z */ -/* ?_Narrow_s@?$ctype@_W@std@@QEBAPEB_WPEB_W0DPEAD_K@Z */ -/* ?_Narrow_s@?$ctype@G@std@@QBEPBGPBG0DPADI@Z */ -/* ?_Narrow_s@?$ctype@G@std@@QEBAPEBGPEBG0DPEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_wchar__Narrow_s, 24) -const wchar_t* __thiscall ctype_wchar__Narrow_s(const ctype_wchar *this, const wchar_t *first, - const wchar_t *last, char dflt, char *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %d %p %lu)\n", this, first, last, dflt, dest, size); - return ctype_wchar__Do_narrow_s(this, first, last, dflt, dest, size); -} - /* _Mbrtowc */ int __cdecl _Mbrtowc(wchar_t *out, const char *in, MSVCP_size_t len, int *state, const _Cvtvec *cvt) { @@ -2069,22 +1713,6 @@ const char* __thiscall ctype_wchar_do_widen(const ctype_wchar *this, return last; } -/* ?_Do_widen_s@?$ctype@_W@std@@MBEPBDPBD0PA_WI@Z */ -/* ?_Do_widen_s@?$ctype@_W@std@@MEBAPEBDPEBD0PEA_W_K@Z */ -/* ?_Do_widen_s@?$ctype@G@std@@MBEPBDPBD0PAGI@Z */ -/* ?_Do_widen_s@?$ctype@G@std@@MEBAPEBDPEBD0PEAG_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_wchar__Do_widen_s, 20) -const char* __thiscall ctype_wchar__Do_widen_s(const ctype_wchar *this, - const char *first, const char *last, wchar_t *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size); - /* This function converts all multi-byte characters to WEOF, - * thanks to it result size is known before converting */ - if(size < last-first) - ctype_base__Xran(); - return ctype_wchar_do_widen(this, first, last, dest); -} - /* ?widen@?$ctype@_W@std@@QBE_WD@Z */ /* ?widen@?$ctype@_W@std@@QEBA_WD@Z */ /* ?widen@?$ctype@G@std@@QBEGD@Z */ @@ -2108,18 +1736,6 @@ const char* __thiscall ctype_wchar_widen(const ctype_wchar *this, return call_ctype_wchar_do_widen(this, first, last, dest); } -/* ?_Widen_s@?$ctype@_W@std@@QBEPBDPBD0PA_WI@Z */ -/* ?_Widen_s@?$ctype@_W@std@@QEBAPEBDPEBD0PEA_W_K@Z */ -/* ?_Widen_s@?$ctype@G@std@@QBEPBDPBD0PAGI@Z */ -/* ?_Widen_s@?$ctype@G@std@@QEBAPEBDPEBD0PEAG_K@Z */ -DEFINE_THISCALL_WRAPPER(ctype_wchar__Widen_s, 20) -const char* __thiscall ctype_wchar__Widen_s(const ctype_wchar *this, - const char *first, const char *last, wchar_t *dest, MSVCP_size_t size) -{ - TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size); - return ctype_wchar__Do_widen_s(this, first, last, dest, size); -} - /* ?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z */ /* ?_Getcat@?$ctype@_W@std@@SA_KPEAPEBVfacet@locale@2@PEBV42@@Z */ MSVCP_size_t __cdecl ctype_wchar__Getcat(const locale_facet **facet, const locale *loc) @@ -2871,21 +2487,6 @@ codecvt_wchar* __thiscall codecvt_short_ctor_refs(codecvt_wchar *this, MSVCP_siz return this; } -/* ??0?$codecvt@GDH@std@@IAE@PBDI@Z */ -/* ??0?$codecvt@GDH@std@@IEAA@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(codecvt_short_ctor_name, 12) -codecvt_wchar* __thiscall codecvt_short_ctor_name(codecvt_wchar *this, const char *name, MSVCP_size_t refs) -{ - _Locinfo locinfo; - - TRACE("(%p %s %ld)\n", this, name, refs); - - _Locinfo_ctor_cstr(&locinfo, name); - codecvt_short_ctor_locinfo(this, &locinfo, refs); - _Locinfo_dtor(&locinfo); - return this; -} - /* ??_F?$codecvt@_WDH@std@@QAEXXZ */ /* ??_F?$codecvt@_WDH@std@@QEAAXXZ */ DEFINE_THISCALL_WRAPPER(codecvt_wchar_ctor, 4) @@ -3251,8 +2852,7 @@ extern const vtable_ptr MSVCP_numpunct_char_vtable; /* ?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@_N@Z */ /* ?_Init@?$numpunct@D@std@@IEAAXAEBV_Locinfo@2@_N@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_char__Init, 12) -void __thiscall numpunct_char__Init(numpunct_char *this, const _Locinfo *locinfo, MSVCP_bool isdef) +static void numpunct_char__Init(numpunct_char *this, const _Locinfo *locinfo, MSVCP_bool isdef) { int len; @@ -3299,8 +2899,7 @@ void __thiscall numpunct_char__Init(numpunct_char *this, const _Locinfo *locinfo /* ?_Tidy@?$numpunct@D@std@@AAEXXZ */ /* ?_Tidy@?$numpunct@D@std@@AEAAXXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char__Tidy, 4) -void __thiscall numpunct_char__Tidy(numpunct_char *this) +static void numpunct_char__Tidy(numpunct_char *this) { TRACE("(%p)\n", this); @@ -3311,8 +2910,7 @@ void __thiscall numpunct_char__Tidy(numpunct_char *this) /* ??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z */ /* ??0?$numpunct@D@std@@QEAA@AEBV_Locinfo@1@_K_N@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_char_ctor_locinfo, 16) -numpunct_char* __thiscall numpunct_char_ctor_locinfo(numpunct_char *this, +static numpunct_char* numpunct_char_ctor_locinfo(numpunct_char *this, const _Locinfo *locinfo, MSVCP_size_t refs, MSVCP_bool usedef) { TRACE("(%p %p %lu %d)\n", this, locinfo, refs, usedef); @@ -3324,8 +2922,7 @@ numpunct_char* __thiscall numpunct_char_ctor_locinfo(numpunct_char *this, /* ??0?$numpunct@D@std@@IAE@PBDI_N@Z */ /* ??0?$numpunct@D@std@@IEAA@PEBD_K_N@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_char_ctor_name, 16) -numpunct_char* __thiscall numpunct_char_ctor_name(numpunct_char *this, +static numpunct_char* numpunct_char_ctor_name(numpunct_char *this, const char *name, MSVCP_size_t refs, MSVCP_bool usedef) { _Locinfo locinfo; @@ -3340,27 +2937,9 @@ numpunct_char* __thiscall numpunct_char_ctor_name(numpunct_char *this, return this; } -/* ??0?$numpunct@D@std@@QAE@I@Z */ -/* ??0?$numpunct@D@std@@QEAA@_K@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_char_ctor_refs, 8) -numpunct_char* __thiscall numpunct_char_ctor_refs(numpunct_char *this, MSVCP_size_t refs) -{ - TRACE("(%p %lu)\n", this, refs); - return numpunct_char_ctor_name(this, "C", refs, FALSE); -} - -/* ??_F?$numpunct@D@std@@QAEXXZ */ -/* ??_F?$numpunct@D@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char_ctor, 4) -numpunct_char* __thiscall numpunct_char_ctor(numpunct_char *this) -{ - return numpunct_char_ctor_refs(this, 0); -} - /* ??1?$numpunct@D@std@@MAE@XZ */ /* ??1?$numpunct@D@std@@MEAA@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char_dtor, 4) -void __thiscall numpunct_char_dtor(numpunct_char *this) +static void numpunct_char_dtor(numpunct_char *this) { TRACE("(%p)\n", this); numpunct_char__Tidy(this); @@ -3447,8 +3026,7 @@ char __thiscall numpunct_char_do_decimal_point(const numpunct_char *this) /* ?decimal_point@?$numpunct@D@std@@QBEDXZ */ /* ?decimal_point@?$numpunct@D@std@@QEBADXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char_decimal_point, 4) -char __thiscall numpunct_char_decimal_point(const numpunct_char *this) +static char numpunct_char_decimal_point(const numpunct_char *this) { TRACE("(%p)\n", this); return call_numpunct_char_do_decimal_point(this); @@ -3467,8 +3045,7 @@ char __thiscall numpunct_char_do_thousands_sep(const numpunct_char *this) /* ?thousands_sep@?$numpunct@D@std@@QBEDXZ */ /* ?thousands_sep@?$numpunct@D@std@@QEBADXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char_thousands_sep, 4) -char __thiscall numpunct_char_thousands_sep(const numpunct_char *this) +static char numpunct_char_thousands_sep(const numpunct_char *this) { TRACE("(%p)\n", this); return call_numpunct_char_do_thousands_sep(this); @@ -3488,8 +3065,7 @@ basic_string_char* __thiscall numpunct_char_do_grouping( /* ?grouping@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ /* ?grouping@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char_grouping, 8) -basic_string_char* __thiscall numpunct_char_grouping(const numpunct_char *this, basic_string_char *ret) +static basic_string_char* numpunct_char_grouping(const numpunct_char *this, basic_string_char *ret) { TRACE("(%p)\n", this); return call_numpunct_char_do_grouping(this, ret); @@ -3509,8 +3085,7 @@ basic_string_char* __thiscall numpunct_char_do_falsename( /* ?falsename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ /* ?falsename@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char_falsename, 8) -basic_string_char* __thiscall numpunct_char_falsename(const numpunct_char *this, basic_string_char *ret) +static basic_string_char* numpunct_char_falsename(const numpunct_char *this, basic_string_char *ret) { TRACE("(%p)\n", this); return call_numpunct_char_do_falsename(this, ret); @@ -3530,8 +3105,7 @@ basic_string_char* __thiscall numpunct_char_do_truename( /* ?truename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ /* ?truename@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_char_truename, 8) -basic_string_char* __thiscall numpunct_char_truename(const numpunct_char *this, basic_string_char *ret) +static basic_string_char* numpunct_char_truename(const numpunct_char *this, basic_string_char *ret) { TRACE("(%p)\n", this); return call_numpunct_char_do_truename(this, ret); @@ -3551,8 +3125,7 @@ extern const vtable_ptr MSVCP_numpunct_short_vtable; /* ?_Init@?$numpunct@_W@std@@IEAAXAEBV_Locinfo@2@_N@Z */ /* ?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@_N@Z */ /* ?_Init@?$numpunct@G@std@@IEAAXAEBV_Locinfo@2@_N@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar__Init, 12) -void __thiscall numpunct_wchar__Init(numpunct_wchar *this, +static void numpunct_wchar__Init(numpunct_wchar *this, const _Locinfo *locinfo, MSVCP_bool isdef) { const char *to_convert; @@ -3610,8 +3183,7 @@ void __thiscall numpunct_wchar__Init(numpunct_wchar *this, /* ?_Tidy@?$numpunct@_W@std@@AEAAXXZ */ /* ?_Tidy@?$numpunct@G@std@@AAEXXZ */ /* ?_Tidy@?$numpunct@G@std@@AEAAXXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar__Tidy, 4) -void __thiscall numpunct_wchar__Tidy(numpunct_wchar *this) +static void numpunct_wchar__Tidy(numpunct_wchar *this) { TRACE("(%p)\n", this); @@ -3622,8 +3194,7 @@ void __thiscall numpunct_wchar__Tidy(numpunct_wchar *this) /* ??0?$numpunct@_W@std@@QAE@ABV_Locinfo@1@I_N@Z */ /* ??0?$numpunct@_W@std@@QEAA@AEBV_Locinfo@1@_K_N@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_ctor_locinfo, 16) -numpunct_wchar* __thiscall numpunct_wchar_ctor_locinfo(numpunct_wchar *this, +static numpunct_wchar* numpunct_wchar_ctor_locinfo(numpunct_wchar *this, const _Locinfo *locinfo, MSVCP_size_t refs, MSVCP_bool usedef) { TRACE("(%p %p %lu %d)\n", this, locinfo, refs, usedef); @@ -3635,8 +3206,7 @@ numpunct_wchar* __thiscall numpunct_wchar_ctor_locinfo(numpunct_wchar *this, /* ??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z */ /* ??0?$numpunct@G@std@@QEAA@AEBV_Locinfo@1@_K_N@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_short_ctor_locinfo, 16) -numpunct_wchar* __thiscall numpunct_short_ctor_locinfo(numpunct_wchar *this, +static numpunct_wchar* numpunct_short_ctor_locinfo(numpunct_wchar *this, const _Locinfo *locinfo, MSVCP_size_t refs, MSVCP_bool usedef) { numpunct_wchar_ctor_locinfo(this, locinfo, refs, usedef); @@ -3646,8 +3216,7 @@ numpunct_wchar* __thiscall numpunct_short_ctor_locinfo(numpunct_wchar *this, /* ??0?$numpunct@_W@std@@IAE@PBDI_N@Z */ /* ??0?$numpunct@_W@std@@IEAA@PEBD_K_N@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_ctor_name, 16) -numpunct_wchar* __thiscall numpunct_wchar_ctor_name(numpunct_wchar *this, +static numpunct_wchar* numpunct_wchar_ctor_name(numpunct_wchar *this, const char *name, MSVCP_size_t refs, MSVCP_bool usedef) { _Locinfo locinfo; @@ -3664,8 +3233,7 @@ numpunct_wchar* __thiscall numpunct_wchar_ctor_name(numpunct_wchar *this, /* ??0?$numpunct@G@std@@IAE@PBDI_N@Z */ /* ??0?$numpunct@G@std@@IEAA@PEBD_K_N@Z */ - DEFINE_THISCALL_WRAPPER(numpunct_short_ctor_name, 16) -numpunct_wchar* __thiscall numpunct_short_ctor_name(numpunct_wchar *this, +static numpunct_wchar* numpunct_short_ctor_name(numpunct_wchar *this, const char *name, MSVCP_size_t refs, MSVCP_bool usedef) { numpunct_wchar_ctor_name(this, name, refs, usedef); @@ -3673,47 +3241,11 @@ numpunct_wchar* __thiscall numpunct_short_ctor_name(numpunct_wchar *this, return this; } -/* ??0?$numpunct@_W@std@@QAE@I@Z */ -/* ??0?$numpunct@_W@std@@QEAA@_K@Z */ - DEFINE_THISCALL_WRAPPER(numpunct_wchar_ctor_refs, 8) -numpunct_wchar* __thiscall numpunct_wchar_ctor_refs(numpunct_wchar *this, MSVCP_size_t refs) -{ - TRACE("(%p %lu)\n", this, refs); - return numpunct_wchar_ctor_name(this, "C", refs, FALSE); -} - -/* ??0?$numpunct@G@std@@QAE@I@Z */ -/* ??0?$numpunct@G@std@@QEAA@_K@Z */ -DEFINE_THISCALL_WRAPPER(numpunct_short_ctor_refs, 8) -numpunct_wchar* __thiscall numpunct_short_ctor_refs(numpunct_wchar *this, MSVCP_size_t refs) -{ - numpunct_wchar_ctor_refs(this, refs); - this->facet.vtable = &MSVCP_numpunct_short_vtable; - return this; -} - -/* ??_F?$numpunct@_W@std@@QAEXXZ */ -/* ??_F?$numpunct@_W@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_ctor, 4) -numpunct_wchar* __thiscall numpunct_wchar_ctor(numpunct_wchar *this) -{ - return numpunct_wchar_ctor_refs(this, 0); -} - -/* ??_F?$numpunct@G@std@@QAEXXZ */ -/* ??_F?$numpunct@G@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_short_ctor, 4) -numpunct_wchar* __thiscall numpunct_short_ctor(numpunct_wchar *this) -{ - return numpunct_short_ctor_refs(this, 0); -} - /* ??1?$numpunct@_W@std@@MAE@XZ */ /* ??1?$numpunct@_W@std@@MEAA@XZ */ /* ??1?$numpunct@G@std@@MAE@XZ */ /* ??1?$numpunct@G@std@@MEAA@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_dtor, 4) -void __thiscall numpunct_wchar_dtor(numpunct_wchar *this) +static void numpunct_wchar_dtor(numpunct_wchar *this) { TRACE("(%p)\n", this); numpunct_wchar__Tidy(this); @@ -3852,8 +3384,7 @@ wchar_t __thiscall numpunct_wchar_do_decimal_point(const numpunct_wchar *this) /* ?decimal_point@?$numpunct@_W@std@@QEBA_WXZ */ /* ?decimal_point@?$numpunct@G@std@@QBEGXZ */ /* ?decimal_point@?$numpunct@G@std@@QEBAGXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_decimal_point, 4) -wchar_t __thiscall numpunct_wchar_decimal_point(const numpunct_wchar *this) +static wchar_t numpunct_wchar_decimal_point(const numpunct_wchar *this) { TRACE("(%p)\n", this); return call_numpunct_wchar_do_decimal_point(this); @@ -3876,8 +3407,7 @@ wchar_t __thiscall numpunct_wchar_do_thousands_sep(const numpunct_wchar *this) /* ?thousands_sep@?$numpunct@_W@std@@QEBA_WXZ */ /* ?thousands_sep@?$numpunct@G@std@@QBEGXZ */ /* ?thousands_sep@?$numpunct@G@std@@QEBAGXZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_thousands_sep, 4) -wchar_t __thiscall numpunct_wchar_thousands_sep(const numpunct_wchar *this) +static wchar_t numpunct_wchar_thousands_sep(const numpunct_wchar *this) { TRACE("(%p)\n", this); return call_numpunct_wchar_do_thousands_sep(this); @@ -3900,8 +3430,7 @@ basic_string_char* __thiscall numpunct_wchar_do_grouping(const numpunct_wchar *t /* ?grouping@?$numpunct@_W@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ /* ?grouping@?$numpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ /* ?grouping@?$numpunct@G@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_grouping, 8) -basic_string_char* __thiscall numpunct_wchar_grouping(const numpunct_wchar *this, basic_string_char *ret) +static basic_string_char* numpunct_wchar_grouping(const numpunct_wchar *this, basic_string_char *ret) { TRACE("(%p)\n", this); return call_numpunct_wchar_do_grouping(this, ret); @@ -3924,8 +3453,7 @@ basic_string_wchar* __thiscall numpunct_wchar_do_falsename(const numpunct_wchar /* ?falsename@?$numpunct@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ /* ?falsename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ /* ?falsename@?$numpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_falsename, 8) -basic_string_wchar* __thiscall numpunct_wchar_falsename(const numpunct_wchar *this, basic_string_wchar *ret) +static basic_string_wchar* numpunct_wchar_falsename(const numpunct_wchar *this, basic_string_wchar *ret) { TRACE("(%p)\n", this); return call_numpunct_wchar_do_falsename(this, ret); @@ -3948,8 +3476,7 @@ basic_string_wchar* __thiscall numpunct_wchar_do_truename(const numpunct_wchar * /* ?truename@?$numpunct@_W@std@@QEBA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ /* ?truename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ /* ?truename@?$numpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(numpunct_wchar_truename, 8) -basic_string_wchar* __thiscall numpunct_wchar_truename(const numpunct_wchar *this, basic_string_wchar *ret) +static basic_string_wchar* numpunct_wchar_truename(const numpunct_wchar *this, basic_string_wchar *ret) { TRACE("(%p)\n", this); return call_numpunct_wchar_do_truename(this, ret); @@ -8055,8 +7582,7 @@ const vtable_ptr MSVCP_locale__Locimp_vtable[] = { /* ??0locale@std@@AAE@PAV_Locimp@01@@Z */ /* ??0locale@std@@AEAA@PEAV_Locimp@01@@Z */ -DEFINE_THISCALL_WRAPPER(locale_ctor_locimp, 8) -locale* __thiscall locale_ctor_locimp(locale *this, locale__Locimp *locimp) +static locale* locale_ctor_locimp(locale *this, locale__Locimp *locimp) { TRACE("(%p %p)\n", this, locimp); /* Don't change locimp reference counter */ @@ -8099,34 +7625,9 @@ locale__Locimp* __cdecl locale__Init(void) return global_locale; } -/* ??0locale@std@@QAE@ABV01@0H@Z */ -/* ??0locale@std@@QEAA@AEBV01@0H@Z */ -DEFINE_THISCALL_WRAPPER(locale_ctor_locale_locale, 16) -locale* __thiscall locale_ctor_locale_locale(locale *this, const locale *loc, const locale *other, category cat) -{ - _Locinfo locinfo; - - TRACE("(%p %p %p %d)\n", this, loc, other, cat); - - this->ptr = MSVCRT_operator_new(sizeof(locale__Locimp)); - if(!this->ptr) { - ERR("Out of memory\n"); - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - } - locale__Locimp_copy_ctor(this->ptr, loc->ptr); - - _Locinfo_ctor_cat_cstr(&locinfo, loc->ptr->catmask, MSVCP_basic_string_char_c_str(&loc->ptr->name)); - _Locinfo__Addcats(&locinfo, cat & other->ptr->catmask, MSVCP_basic_string_char_c_str(&other->ptr->name)); - locale__Locimp__Makeloc(&locinfo, cat, this->ptr, other); - _Locinfo_dtor(&locinfo); - - return this; -} - /* ??0locale@std@@QAE@ABV01@@Z */ /* ??0locale@std@@QEAA@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(locale_copy_ctor, 8) -locale* __thiscall locale_copy_ctor(locale *this, const locale *copy) +locale* locale_copy_ctor(locale *this, const locale *copy) { TRACE("(%p %p)\n", this, copy); this->ptr = copy->ptr; @@ -8134,60 +7635,9 @@ locale* __thiscall locale_copy_ctor(locale *this, const locale *copy) return this; } -/* ??0locale@std@@QAE@ABV01@PBDH@Z */ -/* ??0locale@std@@QEAA@AEBV01@PEBDH@Z */ -DEFINE_THISCALL_WRAPPER(locale_ctor_locale_cstr, 16) -locale* __thiscall locale_ctor_locale_cstr(locale *this, const locale *loc, const char *locname, category cat) -{ - FIXME("(%p %p %s %d) stub\n", this, loc, locname, cat); - return NULL; -} - -/* ??0locale@std@@QAE@PBDH@Z */ -/* ??0locale@std@@QEAA@PEBDH@Z */ -DEFINE_THISCALL_WRAPPER(locale_ctor_cstr, 12) -locale* __thiscall locale_ctor_cstr(locale *this, const char *locname, category cat) -{ - _Locinfo locinfo; - - TRACE("(%p %s %d)\n", this, locname, cat); - - this->ptr = MSVCRT_operator_new(sizeof(locale__Locimp)); - if(!this->ptr) { - ERR("Out of memory\n"); - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - } - locale__Locimp_ctor(this->ptr); - - locale__Init(); - - _Locinfo_ctor_cat_cstr(&locinfo, cat, locname); - if(!memcmp(MSVCP_basic_string_char_c_str(&locinfo.newlocname), "*", 2)) { - _Locinfo_dtor(&locinfo); - MSVCRT_operator_delete(this->ptr); - throw_exception(EXCEPTION_RUNTIME_ERROR, "bad locale name"); - } - - locale__Locimp__Makeloc(&locinfo, cat, this->ptr, NULL); - _Locinfo_dtor(&locinfo); - - return this; -} - -/* ??0locale@std@@QAE@W4_Uninitialized@1@@Z */ -/* ??0locale@std@@QEAA@W4_Uninitialized@1@@Z */ -DEFINE_THISCALL_WRAPPER(locale_ctor_uninitialized, 8) -locale* __thiscall locale_ctor_uninitialized(locale *this, int uninitialized) -{ - TRACE("(%p)\n", this); - this->ptr = NULL; - return this; -} - /* ??0locale@std@@QAE@XZ */ /* ??0locale@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(locale_ctor, 4) -locale* __thiscall locale_ctor(locale *this) +locale* locale_ctor(locale *this) { TRACE("(%p)\n", this); this->ptr = locale__Init(); @@ -8197,93 +7647,24 @@ locale* __thiscall locale_ctor(locale *this) /* ??1locale@std@@QAE@XZ */ /* ??1locale@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(locale_dtor, 4) -void __thiscall locale_dtor(locale *this) +void locale_dtor(locale *this) { TRACE("(%p)\n", this); if(this->ptr) locale__Locimp_dtor(this->ptr); } -DEFINE_THISCALL_WRAPPER(locale_vector_dtor, 8) -locale* __thiscall locale_vector_dtor(locale *this, unsigned int flags) -{ - TRACE("(%p %x)\n", this, flags); - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - INT_PTR i, *ptr = (INT_PTR *)this-1; - - for(i=*ptr-1; i>=0; i--) - locale_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - locale_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; -} - /* ??4locale@std@@QAEAAV01@ABV01@@Z */ /* ??4locale@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(locale_operator_assign, 8) -locale* __thiscall locale_operator_assign(locale *this, const locale *loc) +locale* locale_operator_assign(locale *this, const locale *loc) { FIXME("(%p %p) stub\n", this, loc); return NULL; } -/* ??8locale@std@@QBE_NABV01@@Z */ -/* ??8locale@std@@QEBA_NAEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(locale_operator_equal, 8) -MSVCP_bool __thiscall locale_operator_equal(const locale *this, const locale *loc) -{ - FIXME("(%p %p) stub\n", this, loc); - return 0; -} - -/* ??9locale@std@@QBE_NABV01@@Z */ -/* ??9locale@std@@QEBA_NAEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(locale_operator_not_equal, 8) -MSVCP_bool __thiscall locale_operator_not_equal(const locale *this, locale const *loc) -{ - FIXME("(%p %p) stub\n", this, loc); - return 0; -} - -/* ?_Addfac@locale@std@@QAEAAV12@PAVfacet@12@II@Z */ -/* ?_Addfac@locale@std@@QEAAAEAV12@PEAVfacet@12@_K1@Z */ -DEFINE_THISCALL_WRAPPER(locale__Addfac, 16) -locale* __thiscall locale__Addfac(locale *this, locale_facet *facet, MSVCP_size_t id, MSVCP_size_t catmask) -{ - TRACE("(%p %p %lu %lu)\n", this, facet, id, catmask); - - if(this->ptr->facet.refs > 1) { - locale__Locimp *new_ptr = MSVCRT_operator_new(sizeof(locale__Locimp)); - if(!new_ptr) { - ERR("Out of memory\n"); - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - return NULL; - } - locale__Locimp_copy_ctor(new_ptr, this->ptr); - locale_facet__Decref(&this->ptr->facet); - this->ptr = new_ptr; - } - - locale__Locimp__Addfac(this->ptr, facet, id); - - if(catmask) { - MSVCP_basic_string_char_dtor(&this->ptr->name); - MSVCP_basic_string_char_ctor_cstr(&this->ptr->name, "*"); - } - return this; -} - /* ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z */ /* ?_Getfacet@locale@std@@QEBAPEBVfacet@12@_K@Z */ -DEFINE_THISCALL_WRAPPER(locale__Getfacet, 8) -const locale_facet* __thiscall locale__Getfacet(const locale *this, MSVCP_size_t id) +static const locale_facet* locale__Getfacet(const locale *this, MSVCP_size_t id) { locale_facet *fac; @@ -8337,16 +7718,6 @@ locale* __cdecl locale_empty(locale *ret) return ret; } -/* ?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?name@locale@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(locale_name, 8) -basic_string_char* __thiscall locale_name(const locale *this, basic_string_char *ret) -{ - TRACE( "(%p)\n", this); - MSVCP_basic_string_char_copy_ctor(ret, &this->ptr->name); - return ret; -} - /* ?global@locale@std@@SA?AV12@ABV12@@Z */ /* ?global@locale@std@@SA?AV12@AEBV12@@Z */ locale* __cdecl locale_global(locale *ret, const locale *loc) diff --git a/dlls/msvcp100/math.c b/dlls/msvcp100/math.c index 37229155235..d13eaef49b7 100644 --- a/dlls/msvcp100/math.c +++ b/dlls/msvcp100/math.c @@ -801,15 +801,3 @@ BOOLEAN __cdecl std_numeric_limits_bool_signaling_NaN(void) { return 0; } /* ?signaling_NaN@?$numeric_limits@_W@std@@SA_WXZ -> public: static wchar_t __cdecl std::numeric_limits::signaling_NaN(void) */ WCHAR __cdecl std_numeric_limits_wchar_t_signaling_NaN(void) { return 0; } - -/* ??4?$_Ctraits@M@std@@QAEAAV01@ABV01@@Z -> public: class std::_Ctraits & __thiscall std::_Ctraits::operator=(class std::_Ctraits const &) */ -/* ??4?$_Ctraits@M@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::_Ctraits & __ptr64 __cdecl std::_Ctraits::operator=(class std::_Ctraits const & __ptr64) __ptr64 */ -/* ??4?$_Ctraits@N@std@@QAEAAV01@ABV01@@Z -> public: class std::_Ctraits & __thiscall std::_Ctraits::operator=(class std::_Ctraits const &) */ -/* ??4?$_Ctraits@N@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::_Ctraits & __ptr64 __cdecl std::_Ctraits::operator=(class std::_Ctraits const & __ptr64) __ptr64 */ -/* ??4?$_Ctraits@O@std@@QAEAAV01@ABV01@@Z -> public: class std::_Ctraits & __thiscall std::_Ctraits::operator=(class std::_Ctraits const &) */ -/* ??4?$_Ctraits@O@std@@QEAAAEAV01@AEBV01@@Z -> public: class std::_Ctraits & __ptr64 __cdecl std::_Ctraits::operator=(class std::_Ctraits const & __ptr64) __ptr64 */ -DEFINE_THISCALL_WRAPPER( std_Ctraits_op_assign, 8 ) -std_Ctraits * __thiscall std_Ctraits_op_assign( std_Ctraits *this, std_Ctraits *right ) -{ - return this; -} diff --git a/dlls/msvcp100/memory.c b/dlls/msvcp100/memory.c index 4407cfe3967..a45dce04219 100644 --- a/dlls/msvcp100/memory.c +++ b/dlls/msvcp100/memory.c @@ -27,141 +27,29 @@ #include "winbase.h" -/* ?address@?$allocator@D@std@@QBEPADAAD@Z */ -/* ?address@?$allocator@D@std@@QEBAPEADAEAD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_address, 8) -char* __thiscall MSVCP_allocator_char_address(void *this, char *ptr) -{ - return ptr; -} - -/* ?address@?$allocator@D@std@@QBEPBDABD@Z */ -/* ?address@?$allocator@D@std@@QEBAPEBDAEBD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_const_address, 8) -const char* __thiscall MSVCP_allocator_char_const_address(void *this, const char *ptr) -{ - return ptr; -} - -/* ??0?$allocator@D@std@@QAE@XZ */ -/* ??0?$allocator@D@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_ctor, 4) -void* __thiscall MSVCP_allocator_char_ctor(void *this) -{ - return this; -} - -/* ??0?$allocator@D@std@@QAE@ABV01@@Z */ -/* ??0?$allocator@D@std@@QEAA@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_copy_ctor, 8) -void* __thiscall MSVCP_allocator_char_copy_ctor(void *this, const void *copy) -{ - return this; -} - -/* ??4?$allocator@D@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$allocator@D@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_assign, 8) -void* __thiscall MSVCP_allocator_char_assign(void *this, const void *assign) -{ - return this; -} - /* ?deallocate@?$allocator@D@std@@QAEXPADI@Z */ /* ?deallocate@?$allocator@D@std@@QEAAXPEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_deallocate, 12) -void __thiscall MSVCP_allocator_char_deallocate(void *this, char *ptr, MSVCP_size_t size) +void MSVCP_allocator_char_deallocate(void *this, char *ptr, MSVCP_size_t size) { MSVCRT_operator_delete(ptr); } /* ?allocate@?$allocator@D@std@@QAEPADI@Z */ /* ?allocate@?$allocator@D@std@@QEAAPEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_allocate, 8) -char* __thiscall MSVCP_allocator_char_allocate(void *this, MSVCP_size_t count) +char* MSVCP_allocator_char_allocate(void *this, MSVCP_size_t count) { return MSVCRT_operator_new(count); } -/* ?allocate@?$allocator@D@std@@QAEPADIPBX@Z */ -/* ?allocate@?$allocator@D@std@@QEAAPEAD_KPEBX@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_allocate_hint, 12) -char* __thiscall MSVCP_allocator_char_allocate_hint(void *this, - MSVCP_size_t count, const void *hint) -{ - /* Native ignores hint */ - return MSVCP_allocator_char_allocate(this, count); -} - -/* ?construct@?$allocator@D@std@@QAEXPADABD@Z */ -/* ?construct@?$allocator@D@std@@QEAAXPEADAEBD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_construct, 12) -void __thiscall MSVCP_allocator_char_construct(void *this, char *ptr, const char *val) -{ - *ptr = *val; -} - -/* ?destroy@?$allocator@D@std@@QAEXPAD@Z */ -/* ?destroy@?$allocator@D@std@@QEAAXPEAD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_destroy, 8) -void __thiscall MSVCP_allocator_char_destroy(void *this, char *ptr) -{ -} - -/* ?max_size@?$allocator@D@std@@QBEIXZ */ -/* ?max_size@?$allocator@D@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_max_size, 4) -MSVCP_size_t __thiscall MSVCP_allocator_char_max_size(void *this) +MSVCP_size_t MSVCP_allocator_char_max_size(void *this) { return UINT_MAX/sizeof(char); } - /* allocator */ -/* ?address@?$allocator@_W@std@@QBEPA_WAA_W@Z */ -/* ?address@?$allocator@_W@std@@QEBAPEA_WAEA_W@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_address, 8) -wchar_t* __thiscall MSVCP_allocator_wchar_address(void *this, wchar_t *ptr) -{ - return ptr; -} - -/* ?address@?$allocator@_W@std@@QBEPB_WAB_W@Z */ -/* ?address@?$allocator@_W@std@@QEBAPEB_WAEB_W@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_const_address, 8) -const wchar_t* __thiscall MSVCP_allocator_wchar_const_address(void *this, const wchar_t *ptr) -{ - return ptr; -} - -/* ??0?$allocator@_W@std@@QAE@XZ */ -/* ??0?$allocator@_W@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_ctor, 4) -void* __thiscall MSVCP_allocator_wchar_ctor(void *this) -{ - return this; -} - -/* ??0?$allocator@_W@std@@QAE@ABV01@@Z */ -/* ??0?$allocator@_W@std@@QEAA@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_copy_ctor, 8) -void* __thiscall MSVCP_allocator_wchar_copy_ctor(void *this, void *copy) -{ - return this; -} - -/* ??4?$allocator@_W@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$allocator@_W@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_assign, 8) -void* __thiscall MSVCP_allocator_wchar_assign(void *this, void *assign) -{ - return this; -} - /* ?deallocate@?$allocator@_W@std@@QAEXPA_WI@Z */ /* ?deallocate@?$allocator@_W@std@@QEAAXPEA_W_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_deallocate, 12) -void __thiscall MSVCP_allocator_wchar_deallocate(void *this, +void MSVCP_allocator_wchar_deallocate(void *this, wchar_t *ptr, MSVCP_size_t size) { MSVCRT_operator_delete(ptr); @@ -169,8 +57,7 @@ void __thiscall MSVCP_allocator_wchar_deallocate(void *this, /* ?allocate@?$allocator@_W@std@@QAEPA_WI@Z */ /* ?allocate@?$allocator@_W@std@@QEAAPEA_W_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_allocate, 8) -wchar_t* __thiscall MSVCP_allocator_wchar_allocate(void *this, MSVCP_size_t count) +wchar_t* MSVCP_allocator_wchar_allocate(void *this, MSVCP_size_t count) { if(UINT_MAX/count < sizeof(wchar_t)) { throw_exception(EXCEPTION_BAD_ALLOC, NULL); @@ -180,159 +67,9 @@ wchar_t* __thiscall MSVCP_allocator_wchar_allocate(void *this, MSVCP_size_t coun return MSVCRT_operator_new(count * sizeof(wchar_t)); } -/* ?allocate@?$allocator@_W@std@@QAEPA_WIPBX@Z */ -/* ?allocate@?$allocator@_W@std@@QEAAPEA_W_KPEBX@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_allocate_hint, 12) -wchar_t* __thiscall MSVCP_allocator_wchar_allocate_hint(void *this, - MSVCP_size_t count, const void *hint) -{ - return MSVCP_allocator_wchar_allocate(this, count); -} - -/* ?construct@?$allocator@_W@std@@QAEXPA_WAB_W@Z */ -/* ?construct@?$allocator@_W@std@@QEAAXPEA_WAEB_W@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_construct, 12) -void __thiscall MSVCP_allocator_wchar_construct(void *this, - wchar_t *ptr, const wchar_t *val) -{ - *ptr = *val; -} - -/* ?destroy@?$allocator@_W@std@@QAEXPA_W@Z */ -/* ?destroy@?$allocator@_W@std@@QEAAXPEA_W@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_destroy, 8) -void __thiscall MSVCP_allocator_wchar_destroy(void *this, char *ptr) -{ -} - /* ?max_size@?$allocator@_W@std@@QBEIXZ */ /* ?max_size@?$allocator@_W@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_max_size, 4) -MSVCP_size_t __thiscall MSVCP_allocator_wchar_max_size(void *this) +MSVCP_size_t MSVCP_allocator_wchar_max_size(void *this) { return UINT_MAX/sizeof(wchar_t); } - -/* allocator */ -/* ?address@?$allocator@G@std@@QBEPAGAAG@Z */ -/* ?address@?$allocator@G@std@@QEBAPEAGAEAG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_address, 8) -unsigned short* __thiscall MSVCP_allocator_short_address( - void *this, unsigned short *ptr) -{ - return ptr; -} - -/* ?address@?$allocator@G@std@@QBEPBGABG@Z */ -/* ?address@?$allocator@G@std@@QEBAPEBGAEBG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_const_address, 8) -const unsigned short* __thiscall MSVCP_allocator_short_const_address( - void *this, const unsigned short *ptr) -{ - return ptr; -} - -/* ??0?$allocator@G@std@@QAE@XZ */ -/* ??0?$allocator@G@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_ctor, 4) -void* __thiscall MSVCP_allocator_short_ctor(void *this) -{ - return this; -} - -/* ??0?$allocator@G@std@@QAE@ABV01@@Z */ -/* ??0?$allocator@G@std@@QEAA@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_copy_ctor, 8) -void* __thiscall MSVCP_allocator_short_copy_ctor(void *this, void *copy) -{ - return this; -} - -/* ??4?$allocator@G@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$allocator@G@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_assign, 8) -void* __thiscall MSVCP_allocator_short_assign(void *this, void *assign) -{ - return this; -} - -/* ?deallocate@?$allocator@G@std@@QAEXPAGI@Z */ -/* ?deallocate@?$allocator@G@std@@QEAAXPEAG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_deallocate, 12) -void __thiscall MSVCP_allocator_short_deallocate(void *this, - unsigned short *ptr, MSVCP_size_t size) -{ - MSVCRT_operator_delete(ptr); -} - -/* ?allocate@?$allocator@G@std@@QAEPAGI@Z */ -/* ?allocate@?$allocator@G@std@@QEAAPEAG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_allocate, 8) -unsigned short* __thiscall MSVCP_allocator_short_allocate( - void *this, MSVCP_size_t count) -{ - if(UINT_MAX/count < sizeof(unsigned short)) { - throw_exception(EXCEPTION_BAD_ALLOC, NULL); - return NULL; - } - - return MSVCRT_operator_new(count * sizeof(unsigned short)); -} - -/* ?allocate@?$allocator@G@std@@QAEPAGIPBX@Z */ -/* ?allocate@?$allocator@G@std@@QEAAPEAG_KPEBX@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_allocate_hint, 12) -unsigned short* __thiscall MSVCP_allocator_short_allocate_hint( - void *this, MSVCP_size_t count, const void *hint) -{ - return MSVCP_allocator_short_allocate(this, count); -} - -/* ?construct@?$allocator@G@std@@QAEXPAGABG@Z */ -/* ?construct@?$allocator@G@std@@QEAAXPEAGAEBG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_construct, 12) -void __thiscall MSVCP_allocator_short_construct(void *this, - unsigned short *ptr, unsigned short *val) -{ - *ptr = *val; -} - -/* ?destroy@?$allocator@G@std@@QAEXPAG@Z */ -/* ?destroy@?$allocator@G@std@@QEAAXPEAG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_destroy, 8) -void __thiscall MSVCP_allocator_short_destroy(void *this, MSVCP_size_t *ptr) -{ -} - -/* ?max_size@?$allocator@G@std@@QBEIXZ */ -/* ?max_size@?$allocator@G@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_max_size, 4) -MSVCP_size_t __thiscall MSVCP_allocator_short_max_size(void *this) -{ - return UINT_MAX/sizeof(unsigned short); -} - -/* allocator */ -/* ??0?$allocator@X@std@@QAE@XZ */ -/* ??0?$allocator@X@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_void_ctor, 4) -void* __thiscall MSVCP_allocator_void_ctor(void *this) -{ - return this; -} - -/* ??0?$allocator@X@std@@QAE@ABV01@@Z */ -/* ??0?$allocator@X@std@@QEAA@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_void_copy_ctor, 8) -void* __thiscall MSVCP_allocator_void_copy_ctor(void *this, void *copy) -{ - return this; -} - -/* ??4?$allocator@X@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$allocator@X@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_allocator_void_assign, 8) -void* __thiscall MSVCP_allocator_void_assign(void *this, void *assign) -{ - return this; -} diff --git a/dlls/msvcp100/msvcp.h b/dlls/msvcp100/msvcp.h index 733b653238a..dad9e29b5c9 100644 --- a/dlls/msvcp100/msvcp.h +++ b/dlls/msvcp100/msvcp.h @@ -48,15 +48,13 @@ typedef struct MSVCP_size_t res; } basic_string_char; -basic_string_char* __thiscall MSVCP_basic_string_char_ctor(basic_string_char*); -basic_string_char* __stdcall MSVCP_basic_string_char_ctor_cstr(basic_string_char*, const char*); -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr_len(basic_string_char*, const char*, MSVCP_size_t); -basic_string_char* __stdcall MSVCP_basic_string_char_copy_ctor(basic_string_char*, const basic_string_char*); -void __stdcall MSVCP_basic_string_char_dtor(basic_string_char*); -const char* __stdcall MSVCP_basic_string_char_c_str(const basic_string_char*); -void __thiscall MSVCP_basic_string_char_clear(basic_string_char*); -basic_string_char* __thiscall MSVCP_basic_string_char_append_ch(basic_string_char*, char); -MSVCP_size_t __thiscall MSVCP_basic_string_char_length(const basic_string_char*); +basic_string_char* MSVCP_basic_string_char_ctor(basic_string_char*); +basic_string_char* MSVCP_basic_string_char_ctor_cstr(basic_string_char*, const char*); +basic_string_char* MSVCP_basic_string_char_ctor_cstr_len(basic_string_char*, const char*, MSVCP_size_t); +basic_string_char* MSVCP_basic_string_char_copy_ctor(basic_string_char*, const basic_string_char*); +void MSVCP_basic_string_char_dtor(basic_string_char*); +const char* MSVCP_basic_string_char_c_str(const basic_string_char*); +MSVCP_size_t MSVCP_basic_string_char_length(const basic_string_char*); #define BUF_SIZE_WCHAR 8 typedef struct @@ -70,21 +68,19 @@ typedef struct MSVCP_size_t res; } basic_string_wchar; -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor(basic_string_wchar*); -basic_string_wchar* __stdcall MSVCP_basic_string_wchar_ctor_cstr(basic_string_wchar*, const wchar_t*); -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr_len(basic_string_wchar*, const wchar_t*, MSVCP_size_t); -void __thiscall MSVCP_basic_string_wchar_dtor(basic_string_wchar*); -const wchar_t* __thiscall MSVCP_basic_string_wchar_c_str(const basic_string_wchar*); -void __thiscall MSVCP_basic_string_wchar_clear(basic_string_wchar*); -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_ch(basic_string_wchar*, wchar_t); -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_length(const basic_string_wchar*); +basic_string_wchar* MSVCP_basic_string_wchar_ctor(basic_string_wchar*); +basic_string_wchar* MSVCP_basic_string_wchar_ctor_cstr(basic_string_wchar*, const wchar_t*); +basic_string_wchar* MSVCP_basic_string_wchar_ctor_cstr_len(basic_string_wchar*, const wchar_t*, MSVCP_size_t); +void MSVCP_basic_string_wchar_dtor(basic_string_wchar*); +const wchar_t* MSVCP_basic_string_wchar_c_str(const basic_string_wchar*); +MSVCP_size_t MSVCP_basic_string_wchar_length(const basic_string_wchar*); -char* __stdcall MSVCP_allocator_char_allocate(void*, MSVCP_size_t); -void __stdcall MSVCP_allocator_char_deallocate(void*, char*, MSVCP_size_t); -MSVCP_size_t __stdcall MSVCP_allocator_char_max_size(void*); -wchar_t* __stdcall MSVCP_allocator_wchar_allocate(void*, MSVCP_size_t); -void __stdcall MSVCP_allocator_wchar_deallocate(void*, wchar_t*, MSVCP_size_t); -MSVCP_size_t __stdcall MSVCP_allocator_wchar_max_size(void*); +char* MSVCP_allocator_char_allocate(void*, MSVCP_size_t); +void MSVCP_allocator_char_deallocate(void*, char*, MSVCP_size_t); +MSVCP_size_t MSVCP_allocator_char_max_size(void*); +wchar_t* MSVCP_allocator_wchar_allocate(void*, MSVCP_size_t); +void MSVCP_allocator_wchar_deallocate(void*, wchar_t*, MSVCP_size_t); +MSVCP_size_t MSVCP_allocator_wchar_max_size(void*); /* class locale::facet */ typedef struct { @@ -173,10 +169,10 @@ typedef struct struct _locale__Locimp *ptr; } locale; -locale* __thiscall locale_ctor(locale*); -locale* __thiscall locale_copy_ctor(locale*, const locale*); -locale* __thiscall locale_operator_assign(locale*, const locale*); -void __thiscall locale_dtor(locale*); +locale* locale_ctor(locale*); +locale* locale_copy_ctor(locale*, const locale*); +locale* locale_operator_assign(locale*, const locale*); +void locale_dtor(locale*); void free_locale(void); codecvt_char* codecvt_char_use_facet(const locale*); codecvt_wchar* codecvt_wchar_use_facet(const locale*); diff --git a/dlls/msvcp100/string.c b/dlls/msvcp100/string.c index 1d69087477f..5883f55d399 100644 --- a/dlls/msvcp100/string.c +++ b/dlls/msvcp100/string.c @@ -30,28 +30,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcp); /* _String_iterator and _String_const_iterator class */ -typedef struct { - basic_string_char *bstr; - const char *pos; -} String_iterator_char; -typedef String_iterator_char String_reverse_iterator_char; - -typedef struct { - basic_string_wchar *bstr; - const wchar_t *pos; -} String_iterator_wchar; -typedef String_iterator_wchar String_reverse_iterator_wchar; - -/* size_t_noverify structure */ -typedef struct { - MSVCP_size_t val; -} size_t_noverify; - -/* allocator class */ -typedef struct { - char empty_struct; -} allocator; - /* char_traits */ /* ?assign@?$char_traits@D@std@@SAXAADABD@Z */ /* ?assign@?$char_traits@D@std@@SAXAEADAEBD@Z */ @@ -60,15 +38,6 @@ static void CDECL MSVCP_char_traits_char_assign(char *ch, const char *assign) *ch = *assign; } -/* ?compare@?$char_traits@D@std@@SAHPBD0I@Z */ -/* ?compare@?$char_traits@D@std@@SAHPEBD0_K@Z */ -static int CDECL MSVCP_char_traits_char_compare( - const char *s1, const char *s2, MSVCP_size_t count) -{ - int ret = memcmp(s1, s2, count); - return (ret>0 ? 1 : (ret<0 ? -1 : 0)); -} - /* ?length@?$char_traits@D@std@@SAIPBD@Z */ /* ?length@?$char_traits@D@std@@SA_KPEBD@Z */ static MSVCP_size_t CDECL MSVCP_char_traits_char_length(const char *str) @@ -91,14 +60,6 @@ static char* CDECL MSVCP_char_traits_char__Copy_s(char *dest, return memcpy(dest, src, count); } -/* ?find@?$char_traits@D@std@@SAPBDPBDIABD@Z */ -/* ?find@?$char_traits@D@std@@SAPEBDPEBD_KAEBD@Z */ -static const char * CDECL MSVCP_char_traits_char_find( - const char *str, MSVCP_size_t range, const char *c) -{ - return memchr(str, *c, range); -} - /* ?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z */ /* ?_Move_s@?$char_traits@D@std@@SAPEADPEAD_KPEBD1@Z */ static char* CDECL MSVCP_char_traits_char__Move_s(char *dest, @@ -114,14 +75,6 @@ static char* CDECL MSVCP_char_traits_char__Move_s(char *dest, return memmove(dest, src, count); } -/* ?assign@?$char_traits@D@std@@SAPADPADID@Z */ -/* ?assign@?$char_traits@D@std@@SAPEADPEAD_KD@Z */ -static char* CDECL MSVCP_char_traits_char_assignn(char *str, MSVCP_size_t num, char c) -{ - return memset(str, c, num); -} - - /* char_traits */ /* ?assign@?$char_traits@_W@std@@SAXAA_WAB_W@Z */ /* ?assign@?$char_traits@_W@std@@SAXAEA_WAEB_W@Z */ @@ -131,15 +84,6 @@ static void CDECL MSVCP_char_traits_wchar_assign(wchar_t *ch, *ch = *assign; } -/* ?compare@?$char_traits@_W@std@@SAHPB_W0I@Z */ -/* ?compare@?$char_traits@_W@std@@SAHPEB_W0_K@Z */ -static int CDECL MSVCP_char_traits_wchar_compare(const wchar_t *s1, - const wchar_t *s2, MSVCP_size_t count) -{ - int ret = memcmp(s1, s2, count * sizeof(wchar_t)); - return (ret>0 ? 1 : (ret<0 ? -1 : 0)); -} - /* ?length@?$char_traits@_W@std@@SAIPB_W@Z */ /* ?length@?$char_traits@_W@std@@SA_KPEB_W@Z */ static MSVCP_size_t CDECL MSVCP_char_traits_wchar_length(const wchar_t *str) @@ -162,20 +106,6 @@ static wchar_t* CDECL MSVCP_char_traits_wchar__Copy_s(wchar_t *dest, return memcpy(dest, src, count * sizeof(wchar_t)); } -/* ?find@?$char_traits@_W@std@@SAPB_WPB_WIAB_W@Z */ -/* ?find@?$char_traits@_W@std@@SAPEB_WPEB_W_KAEB_W@Z */ -static const wchar_t* CDECL MSVCP_char_traits_wchar_find( - const wchar_t *str, MSVCP_size_t range, const wchar_t *c) -{ - MSVCP_size_t i=0; - - for(i=0; ires == BUF_SIZE_CHAR-1) return this->data.buf; @@ -242,8 +148,7 @@ char* __thiscall basic_string_char_ptr(basic_string_char *this) /* ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ */ /* ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEBAPEBDXZ */ -DEFINE_THISCALL_WRAPPER(basic_string_char_const_ptr, 4) -const char* __thiscall basic_string_char_const_ptr(const basic_string_char *this) +static const char* basic_string_char_const_ptr(const basic_string_char *this) { if(this->res == BUF_SIZE_CHAR-1) return this->data.buf; @@ -252,8 +157,7 @@ const char* __thiscall basic_string_char_const_ptr(const basic_string_char *this /* ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z */ /* ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_K@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_eos, 8) -void __thiscall basic_string_char_eos(basic_string_char *this, MSVCP_size_t len) +static void basic_string_char_eos(basic_string_char *this, MSVCP_size_t len) { static const char nullbyte = '\0'; @@ -263,8 +167,7 @@ void __thiscall basic_string_char_eos(basic_string_char *this, MSVCP_size_t len) /* ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z */ /* ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_NPEBD@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_inside, 8) -MSVCP_bool __thiscall basic_string_char_inside( +static MSVCP_bool basic_string_char_inside( basic_string_char *this, const char *ptr) { char *cstr = basic_string_char_ptr(this); @@ -274,8 +177,7 @@ MSVCP_bool __thiscall basic_string_char_inside( /* ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z */ /* ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_N_K@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_tidy, 12) -void __thiscall basic_string_char_tidy(basic_string_char *this, +static void basic_string_char_tidy(basic_string_char *this, MSVCP_bool built, MSVCP_size_t new_size) { if(built && BUF_SIZE_CHAR<=this->res) { @@ -290,19 +192,9 @@ void __thiscall basic_string_char_tidy(basic_string_char *this, basic_string_char_eos(this, new_size); } -/* Exported only from msvcp60/70 */ -/* ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z */ -/* ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAX_N@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_tidy_built, 8) -void __thiscall basic_string_char_tidy_built(basic_string_char *this, MSVCP_bool built) -{ - basic_string_char_tidy(this, built, 0); -} - /* ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z */ /* ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_N_K_N@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_grow, 12) -MSVCP_bool __thiscall basic_string_char_grow( +static MSVCP_bool basic_string_char_grow( basic_string_char *this, MSVCP_size_t new_size, MSVCP_bool trim) { if(this->res < new_size) { @@ -340,46 +232,9 @@ MSVCP_bool __thiscall basic_string_char_grow( return (new_size>0); } -/* ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z */ -/* ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_K0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char__Copy, 12) -void __thiscall basic_string_char__Copy(basic_string_char *this, - MSVCP_size_t new_size, MSVCP_size_t copy_len) -{ - TRACE("%p %lu %lu\n", this, new_size, copy_len); - - if(!basic_string_char_grow(this, new_size, FALSE)) - return; - basic_string_char_eos(this, copy_len); -} - -/* ?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@KAIV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -/* ?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@KA_KV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -static MSVCP_size_t __cdecl MSVCP_basic_string_char_Pdif(String_iterator_char i1, String_iterator_char i2) -{ - TRACE("(%p %p) (%p %p)\n", i1.bstr, i1.pos, i2.bstr, i2.pos); - - if((!i1.bstr && i1.pos) || i1.bstr!=i2.bstr) { - _invalid_parameter(NULL, NULL, NULL, 0, 0); - return 0; - } - - return !i1.pos ? 0 : i1.pos-i2.pos; -} - -/* ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ */ -/* ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$allocator@D@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_string_char_get_allocator, 8) -allocator* __thiscall basic_string_char_get_allocator(const basic_string_char *this, allocator *ret) -{ - TRACE("%p\n", this); - return ret; -} - /* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z */ /* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_erase, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_erase( +static basic_string_char* MSVCP_basic_string_char_erase( basic_string_char *this, MSVCP_size_t pos, MSVCP_size_t len) { TRACE("%p %lu %lu\n", this, pos, len); @@ -400,48 +255,9 @@ basic_string_char* __thiscall MSVCP_basic_string_char_erase( return this; } -/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_erase_iter_range, 24) -String_iterator_char* __thiscall basic_string_char_erase_iter_range(basic_string_char *this, - String_iterator_char *ret, String_iterator_char beg, String_iterator_char end) -{ - MSVCP_size_t off; - - ret->bstr = this; - ret->pos = basic_string_char_ptr(this); - off = MSVCP_basic_string_char_Pdif(beg, *ret); - - MSVCP_basic_string_char_erase(this, off, MSVCP_basic_string_char_Pdif(end, beg)); - - ret->bstr = this; - ret->pos = basic_string_char_ptr(this)+off; - return ret; -} - -/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */ -/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_erase_iter, 16) -String_iterator_char* __thiscall basic_string_char_erase_iter(basic_string_char *this, - String_iterator_char *ret, String_iterator_char pos) -{ - MSVCP_size_t off; - - ret->bstr = this; - ret->pos = basic_string_char_ptr(this); - off = MSVCP_basic_string_char_Pdif(pos, *ret); - - MSVCP_basic_string_char_erase(this, off, 1); - - ret->bstr = this; - ret->pos = basic_string_char_ptr(this)+off; - return ret; -} - /* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z */ /* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_substr, 16) -basic_string_char* __thiscall MSVCP_basic_string_char_assign_substr( +static basic_string_char* MSVCP_basic_string_char_assign_substr( basic_string_char *this, const basic_string_char *assign, MSVCP_size_t pos, MSVCP_size_t len) { @@ -465,12 +281,9 @@ basic_string_char* __thiscall MSVCP_basic_string_char_assign_substr( return this; } -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z */ -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@@Z */ /* ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z */ /* ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_assign( +static basic_string_char* MSVCP_basic_string_char_assign( basic_string_char *this, const basic_string_char *assign) { return MSVCP_basic_string_char_assign_substr(this, assign, @@ -479,8 +292,7 @@ basic_string_char* __thiscall MSVCP_basic_string_char_assign( /* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z */ /* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_cstr_len, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_assign_cstr_len( +static basic_string_char* MSVCP_basic_string_char_assign_cstr_len( basic_string_char *this, const char *str, MSVCP_size_t len) { TRACE("%p %s %lu\n", this, debugstr_an(str, len), len); @@ -497,138 +309,28 @@ basic_string_char* __thiscall MSVCP_basic_string_char_assign_cstr_len( return this; } -/* ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z */ -/* ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@D@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_ch, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_assign_ch( - basic_string_char *this, char ch) -{ - return MSVCP_basic_string_char_assign_cstr_len(this, &ch, 1); -} - -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z */ -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD@Z */ /* ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z */ /* ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@PEBD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_cstr, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_assign_cstr( +static basic_string_char* MSVCP_basic_string_char_assign_cstr( basic_string_char *this, const char *str) { return MSVCP_basic_string_char_assign_cstr_len(this, str, MSVCP_char_traits_char_length(str)); } -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z */ -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assignn, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_assignn( - basic_string_char *this, MSVCP_size_t count, char ch) -{ - TRACE("%p %ld %c\n", this, count, ch); - - basic_string_char_grow(this, count, FALSE); - MSVCP_char_traits_char_assignn(basic_string_char_ptr(this), count, ch); - basic_string_char_eos(this, count); - return this; -} - -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z */ -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_ptr_ptr, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_assign_ptr_ptr( - basic_string_char *this, const char *first, const char *last) -{ - return MSVCP_basic_string_char_assign_cstr_len(this, first, last-first); -} - -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_iter, 20) -basic_string_char* __thiscall MSVCP_basic_string_char_assign_iter(basic_string_char *this, - String_iterator_char beg, String_iterator_char end) -{ - return MSVCP_basic_string_char_assign_ptr_ptr(this, beg.pos, end.pos); -} - -/* ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z */ -/* ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_K0D@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_Chassign, 16) -void __thiscall MSVCP_basic_string_char_Chassign(basic_string_char *this, - MSVCP_size_t off, MSVCP_size_t count, char ch) -{ - TRACE("%p %lu %lu %c\n", this, off, count, ch); - MSVCP_char_traits_char_assignn(basic_string_char_ptr(this)+off, count, ch); -} - -/* ?_Copy_s@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADIII@Z */ -/* ?_Copy_s@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K11@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_Copy_s, 20) -MSVCP_size_t __thiscall MSVCP_basic_string_char_Copy_s(const basic_string_char *this, - char *dest, MSVCP_size_t size, MSVCP_size_t count, MSVCP_size_t off) -{ - TRACE("%p %p %lu %lu %lu\n", this, dest, size, count, off); - - if(this->size < off) - MSVCP__String_base_Xran(); - - if(count > this->size-off) - count = this->size-off; - - MSVCP_char_traits_char__Copy_s(dest, size, - basic_string_char_const_ptr(this)+off, count); - return count; -} - -/* ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z */ -/* ?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K1@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_copy, 16) -MSVCP_size_t __thiscall basic_string_char_copy(const basic_string_char *this, - char *dest, MSVCP_size_t count, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_Copy_s(this, dest, count, count, off); -} - /* ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ */ /* ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ */ /* ?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ */ /* ?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_c_str, 4) -const char* __thiscall MSVCP_basic_string_char_c_str(const basic_string_char *this) +const char* MSVCP_basic_string_char_c_str(const basic_string_char *this) { TRACE("%p\n", this); return basic_string_char_const_ptr(this); } -/* ?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ */ -/* ?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_capacity, 4) -MSVCP_size_t __thiscall MSVCP_basic_string_char_capacity(basic_string_char *this) -{ - TRACE("%p\n", this); - return this->res; -} - -/* ?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z */ -/* ?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_reserve, 8) -void __thiscall MSVCP_basic_string_char_reserve(basic_string_char *this, MSVCP_size_t size) -{ - MSVCP_size_t len; - - TRACE("%p %ld\n", this, size); - - len = this->size; - if(len > size) - return; - - basic_string_char_grow(this, size, FALSE); - basic_string_char_eos(this, len); -} - /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ */ /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor, 4) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor(basic_string_char *this) +basic_string_char* MSVCP_basic_string_char_ctor(basic_string_char *this) { TRACE("%p\n", this); @@ -638,8 +340,7 @@ basic_string_char* __thiscall MSVCP_basic_string_char_ctor(basic_string_char *th /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z */ /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_copy_ctor, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_copy_ctor( +basic_string_char* MSVCP_basic_string_char_copy_ctor( basic_string_char *this, const basic_string_char *copy) { TRACE("%p %p\n", this, copy); @@ -651,8 +352,7 @@ basic_string_char* __thiscall MSVCP_basic_string_char_copy_ctor( /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z */ /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_cstr, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr( +basic_string_char* MSVCP_basic_string_char_ctor_cstr( basic_string_char *this, const char *str) { TRACE("%p %s\n", this, debugstr_a(str)); @@ -662,19 +362,9 @@ basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr( return this; } -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBDAEBV?$allocator@D@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_cstr_alloc, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr_alloc( - basic_string_char *this, const char *str, const void *alloc) -{ - return MSVCP_basic_string_char_ctor_cstr(this, str); -} - /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDI@Z */ /* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_cstr_len, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr_len( +basic_string_char* MSVCP_basic_string_char_ctor_cstr_len( basic_string_char *this, const char *str, MSVCP_size_t len) { TRACE("%p %s %ld\n", this, debugstr_an(str, len), len); @@ -684,95 +374,9 @@ basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr_len( return this; } -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDIABV?$allocator@D@1@@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD_KAEBV?$allocator@D@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_cstr_len_alloc, 16) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr_len_alloc( - basic_string_char *this, const char *str, MSVCP_size_t len, const void *alloc) -{ - return MSVCP_basic_string_char_ctor_cstr_len(this, str, len); -} - -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@II@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_substr, 16) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_substr( - basic_string_char *this, const basic_string_char *assign, - MSVCP_size_t pos, MSVCP_size_t len) -{ - TRACE("%p %p %lu %lu\n", this, assign, pos, len); - - basic_string_char_tidy(this, FALSE, 0); - MSVCP_basic_string_char_assign_substr(this, assign, pos, len); - return this; -} - -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@_K1AEBV?$allocator@D@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_substr_alloc, 20) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_substr_alloc( - basic_string_char *this, const basic_string_char *assign, - MSVCP_size_t pos, MSVCP_size_t len, const void *alloc) -{ - return MSVCP_basic_string_char_ctor_substr(this, assign, pos, len); -} - -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$allocator@D@1@@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$allocator@D@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_alloc, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_alloc( - basic_string_char *this, const void *alloc) -{ - TRACE("%p %p\n", this, alloc); - - basic_string_char_tidy(this, FALSE, 0); - return this; -} - -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@_KD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_ch, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_ch(basic_string_char *this, - MSVCP_size_t count, char ch) -{ - TRACE("%p %ld %c\n", this, count, ch); - - basic_string_char_tidy(this, FALSE, 0); - MSVCP_basic_string_char_assignn(this, count, ch); - return this; -} - -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@IDABV?$allocator@D@1@@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@_KDAEBV?$allocator@D@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_ch_alloc, 16) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_ch_alloc(basic_string_char *this, - MSVCP_size_t count, char ch, const void *alloc) -{ - return MSVCP_basic_string_char_ctor_ch(this, count, ch); -} - -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD0@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_ptr_ptr, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_ptr_ptr(basic_string_char *this, - const char *first, const char *last) -{ - return MSVCP_basic_string_char_ctor_cstr_len(this, first, last-first); -} - -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z */ -/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_iter, 20) -basic_string_char* __thiscall MSVCP_basic_string_char_ctor_iter(basic_string_char *this, - String_iterator_char beg, String_iterator_char end) -{ - return MSVCP_basic_string_char_ctor_cstr_len(this, beg.pos, end.pos-beg.pos); -} - /* ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ */ /* ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_dtor, 4) -void __thiscall MSVCP_basic_string_char_dtor(basic_string_char *this) +void MSVCP_basic_string_char_dtor(basic_string_char *this) { TRACE("%p\n", this); basic_string_char_tidy(this, TRUE, 0); @@ -782,1046 +386,12 @@ void __thiscall MSVCP_basic_string_char_dtor(basic_string_char *this) /* ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ */ /* ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ */ /* ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_length, 4) -MSVCP_size_t __thiscall MSVCP_basic_string_char_length(const basic_string_char *this) +MSVCP_size_t MSVCP_basic_string_char_length(const basic_string_char *this) { TRACE("%p\n", this); return this->size; } -/* ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ */ -/* ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(basic_string_char_max_size, 4) -MSVCP_size_t __thiscall basic_string_char_max_size(const basic_string_char *this) -{ - TRACE("%p\n", this); - return MSVCP_allocator_char_max_size(this->allocator)-1; -} - -/* ?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ */ -/* ?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_empty, 4) -MSVCP_bool __thiscall MSVCP_basic_string_char_empty(basic_string_char *this) -{ - TRACE("%p\n", this); - return this->size == 0; -} - -/* ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z */ -/* ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_swap, 8) -void __thiscall MSVCP_basic_string_char_swap(basic_string_char *this, basic_string_char *str) -{ - if(this != str) { - char tmp[sizeof(this->data)]; - const MSVCP_size_t size = this->size; - const MSVCP_size_t res = this->res; - - memcpy(tmp, this->data.buf, sizeof(this->data)); - memcpy(this->data.buf, str->data.buf, sizeof(this->data)); - memcpy(str->data.buf, tmp, sizeof(this->data)); - - this->size = str->size; - this->res = str->res; - - str->size = size; - str->res = res; - } -} - -/* ?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z */ -/* ?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV12@_K0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_substr, 16) -basic_string_char* __thiscall MSVCP_basic_string_char_substr(basic_string_char *this, - basic_string_char *ret, MSVCP_size_t off, MSVCP_size_t len) -{ - TRACE("%p %lu %lu\n", this, off, len); - - MSVCP_basic_string_char_ctor_substr(ret, this, off, len); - return ret; -} - -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z */ -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_substr, 16) -basic_string_char* __thiscall MSVCP_basic_string_char_append_substr(basic_string_char *this, - const basic_string_char *append, MSVCP_size_t offset, MSVCP_size_t count) -{ - TRACE("%p %p %lu %lu\n", this, append, offset, count); - - if(append->size < offset) - MSVCP__String_base_Xran(); - - if(count > append->size-offset) - count = append->size-offset; - - if(MSVCP_basic_string_char_npos-this->size<=count || this->size+countsize) - MSVCP__String_base_Xlen(); - - if(basic_string_char_grow(this, this->size+count, FALSE)) { - MSVCP_char_traits_char__Copy_s(basic_string_char_ptr(this)+this->size, - this->res-this->size, basic_string_char_const_ptr(append)+offset, count); - basic_string_char_eos(this, this->size+count); - } - - return this; -} - -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z */ -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@@Z */ -/* ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z */ -/* ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_append( - basic_string_char *this, const basic_string_char *append) -{ - return MSVCP_basic_string_char_append_substr(this, append, - 0, MSVCP_basic_string_char_npos); -} - -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z */ -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_cstr_len, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_append_cstr_len( - basic_string_char *this, const char *append, MSVCP_size_t count) -{ - TRACE("%p %s %lu\n", this, debugstr_an(append, count), count); - - if(basic_string_char_inside(this, append)) - return MSVCP_basic_string_char_append_substr(this, this, - append-basic_string_char_ptr(this), count); - - if(MSVCP_basic_string_char_npos-this->size<=count || this->size+countsize) - MSVCP__String_base_Xlen(); - - if(basic_string_char_grow(this, this->size+count, FALSE)) { - MSVCP_char_traits_char__Copy_s(basic_string_char_ptr(this)+this->size, - this->res-this->size, append, count); - basic_string_char_eos(this, this->size+count); - } - - return this; -} - -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z */ -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD@Z */ -/* ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z */ -/* ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@PEBD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_cstr, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_append_cstr( - basic_string_char *this, const char *append) -{ - return MSVCP_basic_string_char_append_cstr_len(this, append, - MSVCP_char_traits_char_length(append)); -} - -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z */ -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_beg_end, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_append_beg_end( - basic_string_char *this, const char *beg, const char *end) -{ - return MSVCP_basic_string_char_append_cstr_len(this, beg, end-beg); -} - -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_iter, 20) -basic_string_char* __thiscall MSVCP_basic_string_char_append_iter( - basic_string_char *this, String_iterator_char beg, String_iterator_char end) -{ - return MSVCP_basic_string_char_append_cstr_len(this, beg.pos, end.pos-beg.pos); -} - -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z */ -/* ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_len_ch, 12) -basic_string_char* __thiscall MSVCP_basic_string_char_append_len_ch( - basic_string_char *this, MSVCP_size_t count, char ch) -{ - TRACE("%p %lu %c\n", this, count, ch); - - if(MSVCP_basic_string_char_npos-this->size <= count) - MSVCP__String_base_Xlen(); - - if(basic_string_char_grow(this, this->size+count, FALSE)) { - MSVCP_char_traits_char_assignn(basic_string_char_ptr(this)+this->size, count, ch); - basic_string_char_eos(this, this->size+count); - } - - return this; -} - -/* ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z */ -/* ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@D@Z */ -/* ?push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z */ -/* ?push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_ch, 8) -basic_string_char* __thiscall MSVCP_basic_string_char_append_ch( - basic_string_char *this, char ch) -{ - return MSVCP_basic_string_char_append_len_ch(this, 1, ch); -} - -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z */ -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0PEBD0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_compare_substr_cstr_len, 20) -int __thiscall MSVCP_basic_string_char_compare_substr_cstr_len( - const basic_string_char *this, MSVCP_size_t pos, MSVCP_size_t num, - const char *str, MSVCP_size_t count) -{ - int ans; - - TRACE("%p %lu %lu %s %lu\n", this, pos, num, debugstr_an(str, count), count); - - if(this->size < pos) - MSVCP__String_base_Xran(); - - if(num > this->size-pos) - num = this->size-pos; - - ans = MSVCP_char_traits_char_compare(basic_string_char_const_ptr(this)+pos, - str, num>count ? count : num); - if(ans) - return ans; - - if(num > count) - ans = 1; - else if(num < count) - ans = -1; - return ans; -} - -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBD@Z */ -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0PEBD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_compare_substr_cstr, 16) -int __thiscall MSVCP_basic_string_char_compare_substr_cstr(const basic_string_char *this, - MSVCP_size_t pos, MSVCP_size_t num, const char *str) -{ - return MSVCP_basic_string_char_compare_substr_cstr_len(this, pos, num, - str, MSVCP_char_traits_char_length(str)); -} - -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHPBD@Z */ -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAHPEBD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_compare_cstr, 8) -int __thiscall MSVCP_basic_string_char_compare_cstr( - const basic_string_char *this, const char *str) -{ - return MSVCP_basic_string_char_compare_substr_cstr_len(this, 0, this->size, - str, MSVCP_char_traits_char_length(str)); -} - -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@II@Z */ -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0AEBV12@00@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_compare_substr_substr, 24) -int __thiscall MSVCP_basic_string_char_compare_substr_substr( - const basic_string_char *this, MSVCP_size_t pos, MSVCP_size_t num, - const basic_string_char *compare, MSVCP_size_t off, MSVCP_size_t count) -{ - TRACE("%p %lu %lu %p %lu %lu\n", this, pos, num, compare, off, count); - - if(compare->size < off) - MSVCP__String_base_Xran(); - - if(count > compare->size-off) - count = compare->size-off; - - return MSVCP_basic_string_char_compare_substr_cstr_len(this, pos, num, - basic_string_char_const_ptr(compare)+off, count); -} - -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@@Z */ -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0AEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_compare_substr, 16) -int __thiscall MSVCP_basic_string_char_compare_substr( - const basic_string_char *this, MSVCP_size_t pos, MSVCP_size_t num, - const basic_string_char *compare) -{ - return MSVCP_basic_string_char_compare_substr_cstr_len(this, pos, num, - basic_string_char_const_ptr(compare), compare->size); -} - -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z */ -/* ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAHAEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_compare, 8) -int __thiscall MSVCP_basic_string_char_compare( - const basic_string_char *this, const basic_string_char *compare) -{ - return MSVCP_basic_string_char_compare_substr_cstr_len(this, 0, this->size, - basic_string_char_const_ptr(compare), compare->size); -} - -/* ?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z */ -/* ?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_cstr_substr( - const basic_string_char *this, const char *find, MSVCP_size_t pos, MSVCP_size_t len) -{ - const char *p, *end; - - TRACE("%p %s %lu %lu\n", this, debugstr_an(find, len), pos, len); - - if(len==0 && pos<=this->size) - return pos; - - end = basic_string_char_const_ptr(this)+this->size-len+1; - for(p=basic_string_char_const_ptr(this)+pos; psize); -} - -/* ?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z */ -/* ?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_ch( - const basic_string_char *this, char ch, MSVCP_size_t pos) -{ - return MSVCP_basic_string_char_find_cstr_substr(this, &ch, pos, 1); -} - -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z */ -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_rfind_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_char_rfind_cstr_substr( - const basic_string_char *this, const char *find, MSVCP_size_t pos, MSVCP_size_t len) -{ - const char *p, *end; - - TRACE("%p %s %lu %lu\n", this, debugstr_an(find, len), pos, len); - - if(len==0) - return possize ? pos : this->size; - - if(len > this->size) - return MSVCP_basic_string_char_npos; - - if(pos > this->size-len+1) - pos = this->size-len+1; - end = basic_string_char_const_ptr(this); - for(p=end+pos; p>=end; p--) { - if(*p==*find && !MSVCP_char_traits_char_compare(p, find, len)) - return p-basic_string_char_const_ptr(this); - } - - return MSVCP_basic_string_char_npos; -} - -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z */ -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_rfind_cstr_off, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_rfind_cstr_off( - const basic_string_char *this, const char *find, MSVCP_size_t pos) -{ - return MSVCP_basic_string_char_rfind_cstr_substr(this, find, pos, - MSVCP_char_traits_char_length(find)); -} - -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z */ -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_rfind_off, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_rfind_off( - const basic_string_char *this, const basic_string_char *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_rfind_cstr_substr(this, - basic_string_char_const_ptr(find), off, find->size); -} - -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z */ -/* ?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_rfind_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_rfind_ch( - const basic_string_char *this, char ch, MSVCP_size_t pos) -{ - return MSVCP_basic_string_char_rfind_cstr_substr(this, &ch, pos, 1); -} - -/* ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z */ -/* ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_first_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_of_cstr_substr( - const basic_string_char *this, const char *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const char *p, *end; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - if(len>0 && offsize) { - end = basic_string_char_const_ptr(this)+this->size; - for(p=basic_string_char_const_ptr(this)+off; psize); -} - -/* ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z */ -/* ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_first_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_of_cstr( - const basic_string_char *this, const char *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_first_of_cstr_substr( - this, find, off, MSVCP_char_traits_char_length(find)); -} - -/* ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z */ -/* ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_first_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_of_ch( - const basic_string_char *this, char ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_first_of_cstr_substr(this, &ch, off, 1); -} - -/* ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z */ -/* ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_first_not_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_not_of_cstr_substr( - const basic_string_char *this, const char *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const char *p, *end; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - if(offsize) { - end = basic_string_char_const_ptr(this)+this->size; - for(p=basic_string_char_const_ptr(this)+off; psize); -} - -/* ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z */ -/* ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_first_not_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_not_of_cstr( - const basic_string_char *this, const char *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_first_not_of_cstr_substr( - this, find, off, MSVCP_char_traits_char_length(find)); -} - -/* ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z */ -/* ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_first_not_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_not_of_ch( - const basic_string_char *this, char ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_first_not_of_cstr_substr(this, &ch, off, 1); -} - -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z */ -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_of_cstr_substr( - const basic_string_char *this, const char *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const char *p, *beg; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - if(len>0 && this->size>0) { - if(off >= this->size) - off = this->size-1; - - beg = basic_string_char_const_ptr(this); - for(p=beg+off; p>=beg; p--) - if(MSVCP_char_traits_char_find(find, len, p)) - return p-beg; - } - - return MSVCP_basic_string_char_npos; -} - -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z */ -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_of, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_of( - const basic_string_char *this, const basic_string_char *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_last_of_cstr_substr(this, - basic_string_char_const_ptr(find), off, find->size); -} - -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z */ -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_of_cstr( - const basic_string_char *this, const char *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_last_of_cstr_substr( - this, find, off, MSVCP_char_traits_char_length(find)); -} - -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z */ -/* ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_of_ch( - const basic_string_char *this, char ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_last_of_cstr_substr(this, &ch, off, 1); -} - -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z */ -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_not_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_not_of_cstr_substr( - const basic_string_char *this, const char *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const char *p, *beg; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - if(len>0 && this->size>0) { - if(off >= this->size) - off = this->size-1; - - beg = basic_string_char_const_ptr(this); - for(p=beg+off; p>=beg; p--) - if(!MSVCP_char_traits_char_find(find, len, p)) - return p-beg; - } - - return MSVCP_basic_string_char_npos; -} - -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z */ -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_not_of, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_not_of( - const basic_string_char *this, const basic_string_char *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_last_not_of_cstr_substr(this, - basic_string_char_const_ptr(find), off, find->size); -} - -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z */ -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_not_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_not_of_cstr( - const basic_string_char *this, const char *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_last_not_of_cstr_substr( - this, find, off, MSVCP_char_traits_char_length(find)); -} - -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z */ -/* ?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_last_not_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_char_find_last_not_of_ch( - const basic_string_char *this, char ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_char_find_last_not_of_cstr_substr(this, &ch, off, 1); -} - -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z */ -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_operator_at, 8) -char* __thiscall MSVCP_basic_string_char_operator_at( - basic_string_char *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - assert(this->size >= pos); - return basic_string_char_ptr(this)+pos; -} - -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z */ -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_const_operator_at, 8) -const char* __thiscall MSVCP_basic_string_char_const_operator_at( - const basic_string_char *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - assert(this->size >= pos); - return basic_string_char_const_ptr(this)+pos; -} - -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEADU_Size_type_nosscl@01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_operator_at_noverify, 8) -char* __thiscall MSVCP_basic_string_char_operator_at_noverify( - basic_string_char *this, size_t_noverify pos) -{ - TRACE("%p %lu\n", this, pos.val); - return basic_string_char_ptr(this)+pos.val; -} - -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBDU_Size_type_nosscl@01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_operator_const_at_noverify, 8) -const char* __thiscall MSVCP_basic_string_char_operator_const_at_noverify( - const basic_string_char *this, size_t_noverify pos) -{ - TRACE("%p %lu\n", this, pos.val); - return basic_string_char_const_ptr(this)+pos.val; -} - -/* ?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z */ -/* ?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_at, 8) -char* __thiscall MSVCP_basic_string_char_at( - basic_string_char *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - if(this->size <= pos) - MSVCP__String_base_Xran(); - - return basic_string_char_ptr(this)+pos; -} - -/* ?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z */ -/* ?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_const_at, 8) -const char* __thiscall MSVCP_basic_string_char_const_at( - const basic_string_char *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - if(this->size <= pos) - MSVCP__String_base_Xran(); - - return basic_string_char_const_ptr(this)+pos; -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0PEBD0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_cstr_len, 20) -basic_string_char* __thiscall basic_string_char_replace_cstr_len(basic_string_char *this, - MSVCP_size_t off, MSVCP_size_t len, const char *str, MSVCP_size_t str_len) -{ - MSVCP_size_t inside_pos = -1; - char *ptr = basic_string_char_ptr(this); - - TRACE("%p %ld %ld %p %ld\n", this, off, len, str, str_len); - - if(this->size < off) - MSVCP__String_base_Xran(); - - if(len > this->size-off) - len = this->size-off; - - if(MSVCP_basic_string_char_npos-str_len <= this->size-len) - MSVCP__String_base_Xlen(); - - if(basic_string_char_inside(this, str)) - inside_pos = str-ptr; - - if(len < str_len) { - basic_string_char_grow(this, this->size-len+str_len, FALSE); - ptr = basic_string_char_ptr(this); - } - - if(inside_pos == -1) { - memmove(ptr+off+str_len, ptr+off+len, (this->size-off-len)*sizeof(char)); - memcpy(ptr+off, str, str_len*sizeof(char)); - } else if(len >= str_len) { - memmove(ptr+off, ptr+inside_pos, str_len*sizeof(char)); - memmove(ptr+off+str_len, ptr+off+len, (this->size-off-len)*sizeof(char)); - } else { - MSVCP_size_t size; - - memmove(ptr+off+str_len, ptr+off+len, (this->size-off-len)*sizeof(char)); - - if(inside_pos < off+len) { - size = off+len-inside_pos; - if(size > str_len) - size = str_len; - memmove(ptr+off, ptr+inside_pos, size*sizeof(char)); - } else { - size = 0; - } - - if(str_len > size) - memmove(ptr+off+size, ptr+off+str_len, (str_len-size)*sizeof(char)); - } - - basic_string_char_eos(this, this->size-len+str_len); - return this; -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBD@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0PEBD@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_cstr, 16) -basic_string_char* __thiscall basic_string_char_replace_cstr(basic_string_char *this, - MSVCP_size_t off, MSVCP_size_t len, const char *str) -{ - return basic_string_char_replace_cstr_len(this, off, len, str, - MSVCP_char_traits_char_length(str)); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0AEBV12@00@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_substr, 24) -basic_string_char* __thiscall basic_string_char_replace_substr(basic_string_char *this, MSVCP_size_t off, - MSVCP_size_t len, const basic_string_char *str, MSVCP_size_t str_off, MSVCP_size_t str_len) -{ - if(str->size < str_off) - MSVCP__String_base_Xran(); - - if(str_len > str->size-str_off) - str_len = str->size-str_off; - - return basic_string_char_replace_cstr_len(this, off, len, - basic_string_char_const_ptr(str)+str_off, str_len); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0AEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace, 16) -basic_string_char* __thiscall basic_string_char_replace(basic_string_char *this, - MSVCP_size_t off, MSVCP_size_t len, const basic_string_char *str) -{ - return basic_string_char_replace_cstr_len(this, off, len, - basic_string_char_const_ptr(str), str->size); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIID@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K00D@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_ch, 20) -basic_string_char* __thiscall basic_string_char_replace_ch(basic_string_char *this, - MSVCP_size_t off, MSVCP_size_t len, MSVCP_size_t count, char ch) -{ - char *ptr = basic_string_char_ptr(this); - - TRACE("%p %ld %ld %ld %c\n", this, off, len, count, ch); - - if(this->size < off) - MSVCP__String_base_Xran(); - - if(len > this->size-off) - len = this->size-off; - - if(MSVCP_basic_string_char_npos-count <= this->size-len) - MSVCP__String_base_Xlen(); - - if(len < count) { - basic_string_char_grow(this, this->size-len+count, FALSE); - ptr = basic_string_char_ptr(this); - } - - memmove(ptr+off+count, ptr+off+len, (this->size-off-len)*sizeof(char)); - MSVCP_char_traits_char_assignn(ptr+off, count, ch); - basic_string_char_eos(this, this->size-len+count); - - return this; -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@000@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@000@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_iter_iter, 36) -basic_string_char* __thiscall basic_string_char_replace_iter_iter(basic_string_char *this, - String_iterator_char beg, String_iterator_char end, - String_iterator_char res_beg, String_iterator_char res_end) -{ - String_iterator_char begin = { this, basic_string_char_ptr(this) }; - return basic_string_char_replace_cstr_len(this, - MSVCP_basic_string_char_Pdif(beg, begin), MSVCP_basic_string_char_Pdif(end, beg), - res_beg.pos, MSVCP_basic_string_char_Pdif(res_end, res_beg)); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0ABV12@@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0AEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_iter_bstr, 24) -basic_string_char* __thiscall basic_string_char_replace_iter_bstr(basic_string_char *this, - String_iterator_char beg, String_iterator_char end, const basic_string_char *str) -{ - String_iterator_char begin = { this, basic_string_char_ptr(this) }; - return basic_string_char_replace(this, MSVCP_basic_string_char_Pdif(beg, begin), - MSVCP_basic_string_char_Pdif(end, beg), str); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0ID@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0_KD@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_iter_ch, 28) -basic_string_char* __thiscall basic_string_char_replace_iter_ch(basic_string_char *this, - String_iterator_char beg, String_iterator_char end, MSVCP_size_t count, char ch) -{ - String_iterator_char begin = { this, basic_string_char_ptr(this) }; - return basic_string_char_replace_ch(this, MSVCP_basic_string_char_Pdif(beg, begin), - MSVCP_basic_string_char_Pdif(end, beg), count, ch); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0PBD1@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0PEBD1@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_iter_ptr_ptr, 28) -basic_string_char* __thiscall basic_string_char_replace_iter_ptr_ptr(basic_string_char *this, - String_iterator_char beg, String_iterator_char end, - const char *res_beg, const char *res_end) -{ - String_iterator_char begin = { this, basic_string_char_ptr(this) }; - return basic_string_char_replace_cstr_len(this, MSVCP_basic_string_char_Pdif(beg, begin), - MSVCP_basic_string_char_Pdif(end, beg), res_beg, res_end-res_beg); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0PBD@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0PEBD@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_iter_cstr, 24) -basic_string_char* __thiscall basic_string_char_replace_iter_cstr(basic_string_char *this, - String_iterator_char beg, String_iterator_char end, const char *str) -{ - String_iterator_char begin = { this, basic_string_char_ptr(this) }; - return basic_string_char_replace_cstr(this, MSVCP_basic_string_char_Pdif(beg, begin), - MSVCP_basic_string_char_Pdif(end, beg), str); -} - -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0PBDI@Z */ -/* ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0PEBD_K@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_replace_iter_cstr_len, 28) -basic_string_char* __thiscall basic_string_char_replace_iter_cstr_len(basic_string_char *this, - String_iterator_char beg, String_iterator_char end, const char *str, MSVCP_size_t len) -{ - String_iterator_char begin = { this, basic_string_char_ptr(this) }; - return basic_string_char_replace_cstr_len(this, MSVCP_basic_string_char_Pdif(beg, begin), - MSVCP_basic_string_char_Pdif(end, beg), str, len); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KAEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert, 12) -basic_string_char* __thiscall basic_string_char_insert(basic_string_char *this, - MSVCP_size_t off, const basic_string_char *str) -{ - return basic_string_char_replace(this, off, 0, str); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@II@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KAEBV12@00@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_substr, 20) -basic_string_char* __thiscall basic_string_char_insert_substr( - basic_string_char *this, MSVCP_size_t off, const basic_string_char *str, - MSVCP_size_t str_off, MSVCP_size_t str_count) -{ - return basic_string_char_replace_substr(this, off, 0, str, str_off, str_count); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBD@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KPEBD@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_cstr, 12) -basic_string_char* __thiscall basic_string_char_insert_cstr( - basic_string_char *this, MSVCP_size_t off, const char *str) -{ - return basic_string_char_replace_cstr(this, off, 0, str); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBDI@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KPEBD0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_cstr_len, 16) -basic_string_char* __thiscall basic_string_char_insert_cstr_len(basic_string_char *this, - MSVCP_size_t off, const char *str, MSVCP_size_t str_len) -{ - return basic_string_char_replace_cstr_len(this, off, 0, str, str_len); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IID@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0D@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_chn, 16) -basic_string_char* __thiscall basic_string_char_insert_chn(basic_string_char *this, - MSVCP_size_t off, MSVCP_size_t count, char ch) -{ - return basic_string_char_replace_ch(this, off, 0, count, ch); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ID@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@_KD@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_iter_chn, 20) -void __thiscall basic_string_char_insert_iter_chn(basic_string_char *this, - String_iterator_char where, MSVCP_size_t count, char ch) -{ - String_iterator_char iter = { this, basic_string_char_ptr(this) }; - MSVCP_size_t off = MSVCP_basic_string_char_Pdif(where, iter); - - basic_string_char_insert_chn(this, off, count, ch); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_iter_ch, 20) -String_iterator_char* __thiscall basic_string_char_insert_iter_ch(basic_string_char *this, - String_iterator_char *ret, String_iterator_char where, char ch) -{ - MSVCP_size_t off; - - ret->bstr = this; - ret->pos = basic_string_char_ptr(this); - off = MSVCP_basic_string_char_Pdif(where, *ret); - - basic_string_char_insert_chn(this, off, 1, ch); - ret->pos = basic_string_char_ptr(this)+off; - return ret; -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_iter_null, 16) -String_iterator_char* __thiscall basic_string_char_insert_iter_null(basic_string_char *this, - String_iterator_char *ret, String_iterator_char where) -{ - return basic_string_char_insert_iter_ch(this, ret, where, 0); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@00@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@00@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_iter_beg_end, 28) -void __thiscall basic_string_char_insert_iter_beg_end(basic_string_char *this, - String_iterator_char where, String_iterator_char beg, String_iterator_char end) -{ - basic_string_char_replace_iter_iter(this, where, where, beg, end); -} - -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD1@Z */ -/* ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PEBD1@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_char_insert_iter_ptr_ptr, 20) -void __thiscall basic_string_char_insert_iter_ptr_ptr(basic_string_char *this, - String_iterator_char where, const char *beg, const char *end) -{ - basic_string_char_replace_iter_ptr_ptr(this, where, where, beg, end); -} - -/* ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z */ -/* ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_KD@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_resize_ch, 12) -void __thiscall MSVCP_basic_string_char_resize_ch( - basic_string_char *this, MSVCP_size_t size, char ch) -{ - TRACE("%p %lu %c\n", this, size, ch); - - if(size <= this->size) - MSVCP_basic_string_char_erase(this, size, this->size); - else - MSVCP_basic_string_char_append_len_ch(this, size-this->size, ch); -} - -/* ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z */ -/* ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_resize, 8) -void __thiscall MSVCP_basic_string_char_resize( - basic_string_char *this, MSVCP_size_t size) -{ - MSVCP_basic_string_char_resize_ch(this, size, '\0'); -} - -/* ?clear@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ */ -/* ?clear@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_clear, 4) -void __thiscall MSVCP_basic_string_char_clear(basic_string_char *this) -{ - basic_string_char_eos(this, 0); -} - -/* ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_begin, 8) -String_iterator_char* __thiscall MSVCP_basic_string_char_begin( - basic_string_char *this, String_iterator_char *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_char_const_ptr(this); - return ret; -} - -/* ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -/* ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_end, 8) -String_iterator_char* __thiscall MSVCP_basic_string_char_end( - basic_string_char *this, String_iterator_char *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_char_const_ptr(this)+this->size; - return ret; -} - -/* ?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$reverse_iterator@V?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$reverse_iterator@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_rbegin, 8) -String_reverse_iterator_char* __thiscall MSVCP_basic_string_char_rbegin( - basic_string_char *this, String_reverse_iterator_char *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_char_const_ptr(this)+this->size; - return ret; -} - -/* ?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$reverse_iterator@V?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$reverse_iterator@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_rend, 8) -String_reverse_iterator_char* __thiscall MSVCP_basic_string_char_rend( - basic_string_char *this, String_reverse_iterator_char *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_char_const_ptr(this); - return ret; -} - /* basic_string, allocator> */ /* basic_string, allocator> */ /* ?npos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@2IB */ @@ -1834,8 +404,7 @@ const MSVCP_size_t MSVCP_basic_string_wchar_npos = -1; /* ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAPEA_WXZ */ /* ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEPAGXZ */ /* ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAPEAGXZ */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_ptr, 4) -wchar_t* __thiscall basic_string_wchar_ptr(basic_string_wchar *this) +static wchar_t* basic_string_wchar_ptr(basic_string_wchar *this) { if(this->res == BUF_SIZE_WCHAR-1) return this->data.buf; @@ -1846,8 +415,7 @@ wchar_t* __thiscall basic_string_wchar_ptr(basic_string_wchar *this) /* ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEBAPEB_WXZ */ /* ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IBEPBGXZ */ /* ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEBAPEBGXZ */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_const_ptr, 4) -const wchar_t* __thiscall basic_string_wchar_const_ptr(const basic_string_wchar *this) +static const wchar_t* basic_string_wchar_const_ptr(const basic_string_wchar *this) { if(this->res == BUF_SIZE_WCHAR-1) return this->data.buf; @@ -1858,8 +426,7 @@ const wchar_t* __thiscall basic_string_wchar_const_ptr(const basic_string_wchar /* ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_K@Z */ /* ?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXI@Z */ /* ?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAX_K@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_eos, 8) -void __thiscall basic_string_wchar_eos(basic_string_wchar *this, MSVCP_size_t len) +static void basic_string_wchar_eos(basic_string_wchar *this, MSVCP_size_t len) { static const wchar_t nullbyte_w = '\0'; @@ -1871,8 +438,7 @@ void __thiscall basic_string_wchar_eos(basic_string_wchar *this, MSVCP_size_t le /* ?_Inside@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_NPEB_W@Z */ /* ?_Inside@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAE_NPBG@Z */ /* ?_Inside@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAA_NPEBG@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_inside, 8) -MSVCP_bool __thiscall basic_string_wchar_inside( +static MSVCP_bool basic_string_wchar_inside( basic_string_wchar *this, const wchar_t *ptr) { wchar_t *cstr = basic_string_wchar_ptr(this); @@ -1884,8 +450,7 @@ MSVCP_bool __thiscall basic_string_wchar_inside( /* ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_N_K@Z */ /* ?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEX_NI@Z */ /* ?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAX_N_K@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_tidy, 12) -void __thiscall basic_string_wchar_tidy(basic_string_wchar *this, +static void basic_string_wchar_tidy(basic_string_wchar *this, MSVCP_bool built, MSVCP_size_t new_size) { if(built && BUF_SIZE_WCHAR<=this->res) { @@ -1904,8 +469,7 @@ void __thiscall basic_string_wchar_tidy(basic_string_wchar *this, /* ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_N_K_N@Z */ /* ?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAE_NI_N@Z */ /* ?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAA_N_K_N@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_grow, 12) -MSVCP_bool __thiscall basic_string_wchar_grow( +static MSVCP_bool basic_string_wchar_grow( basic_string_wchar *this, MSVCP_size_t new_size, MSVCP_bool trim) { if(this->res < new_size) { @@ -1943,54 +507,11 @@ MSVCP_bool __thiscall basic_string_wchar_grow( return (new_size>0); } -/* ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXII@Z */ -/* ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_K0@Z */ -/* ?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXII@Z */ -/* ?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAX_K0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar__Copy, 12) -void __thiscall basic_string_wchar__Copy(basic_string_wchar *this, - MSVCP_size_t new_size, MSVCP_size_t copy_len) -{ - TRACE("%p %lu %lu\n", this, new_size, copy_len); - - if(!basic_string_wchar_grow(this, new_size, FALSE)) - return; - basic_string_wchar_eos(this, copy_len); -} - -/* ?_Pdif@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@KAIV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?_Pdif@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@KA_KV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@KAIV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -/* ?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@KA_KV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -static MSVCP_size_t __cdecl MSVCP_basic_string_wchar_Pdif(String_iterator_wchar i1, String_iterator_wchar i2) -{ - TRACE("(%p %p) (%p %p)\n", i1.bstr, i1.pos, i2.bstr, i2.pos); - - if((!i1.bstr && i1.pos) || i1.bstr!=i2.bstr) { - _invalid_parameter(NULL, NULL, NULL, 0, 0); - return 0; - } - - return !i1.pos ? 0 : i1.pos-i2.pos; -} - -/* ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$allocator@_W@2@XZ */ -/* ?get_allocator@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$allocator@_W@2@XZ */ -/* ?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$allocator@G@2@XZ */ -/* ?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$allocator@G@2@XZ */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_get_allocator, 8) -allocator* __thiscall basic_string_wchar_get_allocator(const basic_string_wchar *this, allocator *ret) -{ - TRACE("%p\n", this); - return ret; -} - /* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z */ /* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K0@Z */ /* ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@II@Z */ /* ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_erase, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_erase( +static basic_string_wchar* MSVCP_basic_string_wchar_erase( basic_string_wchar *this, MSVCP_size_t pos, MSVCP_size_t len) { TRACE("%p %lu %lu\n", this, pos, len); @@ -2011,54 +532,11 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_erase( return this; } -/* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -/* ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_erase_iter_range, 24) -String_iterator_wchar* __thiscall basic_string_wchar_erase_iter_range(basic_string_wchar *this, - String_iterator_wchar *ret, String_iterator_wchar beg, String_iterator_wchar end) -{ - MSVCP_size_t off; - - ret->bstr = this; - ret->pos = basic_string_wchar_ptr(this); - off = MSVCP_basic_string_wchar_Pdif(beg, *ret); - - MSVCP_basic_string_wchar_erase(this, off, MSVCP_basic_string_wchar_Pdif(end, beg)); - - ret->bstr = this; - ret->pos = basic_string_wchar_ptr(this)+off; - return ret; -} - -/* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */ -/* ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */ -/* ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */ -/* ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_erase_iter, 16) -String_iterator_wchar* __thiscall basic_string_wchar_erase_iter(basic_string_wchar *this, - String_iterator_wchar *ret, String_iterator_wchar pos) -{ - MSVCP_size_t off; - - ret->bstr = this; - ret->pos = basic_string_wchar_ptr(this); - off = MSVCP_basic_string_wchar_Pdif(pos, *ret); - - MSVCP_basic_string_wchar_erase(this, off, 1); - - ret->bstr = this; - ret->pos = basic_string_wchar_ptr(this)+off; - return ret; -} - /* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z */ /* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@AEBV12@_K1@Z */ /* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z */ /* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign_substr, 16) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_substr( +static basic_string_wchar* MSVCP_basic_string_wchar_assign_substr( basic_string_wchar *this, const basic_string_wchar *assign, MSVCP_size_t pos, MSVCP_size_t len) { @@ -2082,28 +560,11 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_substr( return this; } -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@@Z */ -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@AEBV12@@Z */ -/* ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@@Z */ -/* ??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign( - basic_string_wchar *this, const basic_string_wchar *assign) -{ - return MSVCP_basic_string_wchar_assign_substr(this, assign, - 0, MSVCP_basic_string_wchar_npos); -} - /* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@PB_WI@Z */ /* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@PEB_W_K@Z */ /* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z */ /* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign_cstr_len, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_cstr_len( +static basic_string_wchar* MSVCP_basic_string_wchar_assign_cstr_len( basic_string_wchar *this, const wchar_t *str, MSVCP_size_t len) { TRACE("%p %s %lu\n", this, debugstr_wn(str, len), len); @@ -2120,17 +581,6 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_cstr_len( return this; } -/* ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@_W@Z */ -/* ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@_W@Z */ -/* ??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z */ -/* ??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@G@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign_ch, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_ch( - basic_string_wchar *this, wchar_t ch) -{ - return MSVCP_basic_string_wchar_assign_cstr_len(this, &ch, 1); -} - /* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@PB_W@Z */ /* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@PEB_W@Z */ /* ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z */ @@ -2139,96 +589,13 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_ch( /* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG@Z */ /* ??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z */ /* ??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@PEBG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign_cstr, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_cstr( +static basic_string_wchar* MSVCP_basic_string_wchar_assign_cstr( basic_string_wchar *this, const wchar_t *str) { return MSVCP_basic_string_wchar_assign_cstr_len(this, str, MSVCP_char_traits_wchar_length(str)); } -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I_W@Z */ -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K_W@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assignn, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assignn( - basic_string_wchar *this, MSVCP_size_t count, wchar_t ch) -{ - TRACE("%p %ld %c\n", this, count, ch); - - basic_string_wchar_grow(this, count, FALSE); - MSVCP_char_traits_wchar_assignn(basic_string_wchar_ptr(this), count, ch); - basic_string_wchar_eos(this, count); - return this; -} - -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@PB_W0@Z */ -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@PEB_W0@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign_ptr_ptr, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_ptr_ptr( - basic_string_wchar *this, const wchar_t *first, const wchar_t *last) -{ - return MSVCP_basic_string_wchar_assign_cstr_len(this, first, last-first); -} - -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -/* ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign_iter, 20) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_iter(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end) -{ - return MSVCP_basic_string_wchar_assign_ptr_ptr(this, beg.pos, end.pos); -} - -/* ?_Chassign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXII_W@Z */ -/* ?_Chassign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_K0_W@Z */ -/* ?_Chassign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXIIG@Z */ -/* ?_Chassign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAX_K0G@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_Chassign, 16) -void __thiscall MSVCP_basic_string_wchar_Chassign(basic_string_wchar *this, - MSVCP_size_t off, MSVCP_size_t count, wchar_t ch) -{ - TRACE("%p %lu %lu %c\n", this, off, count, ch); - MSVCP_char_traits_wchar_assignn(basic_string_wchar_ptr(this)+off, count, ch); -} - -/* ?_Copy_s@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPA_WIII@Z */ -/* ?_Copy_s@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEA_W_K11@Z */ -/* ?_Copy_s@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPAGIII@Z */ -/* ?_Copy_s@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEAG_K11@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_Copy_s, 20) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_Copy_s(const basic_string_wchar *this, - wchar_t *dest, MSVCP_size_t size, MSVCP_size_t count, MSVCP_size_t off) -{ - TRACE("%p %p %lu %lu %lu\n", this, dest, size, count, off); - - if(this->size < off) - MSVCP__String_base_Xran(); - - if(count > this->size-off) - count = this->size-off; - - MSVCP_char_traits_wchar__Copy_s(dest, size, - basic_string_wchar_const_ptr(this)+off, count); - return count; -} - -/* ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPA_WII@Z */ -/* ?copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEA_W_K1@Z */ -/* ?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPAGII@Z */ -/* ?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEAG_K1@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_copy, 16) -MSVCP_size_t __thiscall basic_string_wchar_copy(const basic_string_wchar *this, - wchar_t *dest, MSVCP_size_t count, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_Copy_s(this, dest, count, count, off); -} - /* ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ */ /* ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ */ /* ?data@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ */ @@ -2237,49 +604,17 @@ MSVCP_size_t __thiscall basic_string_wchar_copy(const basic_string_wchar *this, /* ?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ */ /* ?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ */ /* ?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_c_str, 4) -const wchar_t* __thiscall MSVCP_basic_string_wchar_c_str(const basic_string_wchar *this) +const wchar_t* MSVCP_basic_string_wchar_c_str(const basic_string_wchar *this) { TRACE("%p\n", this); return basic_string_wchar_const_ptr(this); } -/* ?capacity@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ */ -/* ?capacity@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ */ -/* ?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ */ -/* ?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_capacity, 4) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_capacity(basic_string_wchar *this) -{ - TRACE("%p\n", this); - return this->res; -} - -/* ?reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z */ -/* ?reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAX_K@Z */ -/* ?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z */ -/* ?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_reserve, 8) -void __thiscall MSVCP_basic_string_wchar_reserve(basic_string_wchar *this, MSVCP_size_t size) -{ - MSVCP_size_t len; - - TRACE("%p %ld\n", this, size); - - len = this->size; - if(len > size) - return; - - basic_string_wchar_grow(this, size, FALSE); - basic_string_wchar_eos(this, len); -} - /* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ */ /* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ */ /* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ */ /* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor, 4) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor(basic_string_wchar *this) +basic_string_wchar* MSVCP_basic_string_wchar_ctor(basic_string_wchar *this) { TRACE("%p\n", this); @@ -2287,27 +622,11 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor(basic_string_wchar return this; } -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@AEBV01@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_copy_ctor, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_copy_ctor( - basic_string_wchar *this, const basic_string_wchar *copy) -{ - TRACE("%p %p\n", this, copy); - - basic_string_wchar_tidy(this, FALSE, 0); - MSVCP_basic_string_wchar_assign(this, copy); - return this; -} - /* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z */ /* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@PEB_W@Z */ /* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBG@Z */ /* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_cstr, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr( +basic_string_wchar* MSVCP_basic_string_wchar_ctor_cstr( basic_string_wchar *this, const wchar_t *str) { TRACE("%p %s\n", this, debugstr_w(str)); @@ -2317,23 +636,11 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr( return this; } -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_WABV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@PEB_WAEBV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGABV?$allocator@G@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBGAEBV?$allocator@G@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_cstr_alloc, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr_alloc( - basic_string_wchar *this, const wchar_t *str, const void *alloc) -{ - return MSVCP_basic_string_wchar_ctor_cstr(this, str); -} - /* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_WI@Z */ /* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@PEB_W_K@Z */ /* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGI@Z */ /* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_cstr_len, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr_len( +basic_string_wchar* MSVCP_basic_string_wchar_ctor_cstr_len( basic_string_wchar *this, const wchar_t *str, MSVCP_size_t len) { TRACE("%p %s %ld\n", this, debugstr_wn(str, len), len); @@ -2343,113 +650,11 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr_len( return this; } -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_WIABV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@PEB_W_KAEBV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGIABV?$allocator@G@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG_KAEBV?$allocator@G@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_cstr_len_alloc, 16) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr_len_alloc( - basic_string_wchar *this, const wchar_t *str, MSVCP_size_t len, const void *alloc) -{ - return MSVCP_basic_string_wchar_ctor_cstr_len(this, str, len); -} - -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@II@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@AEBV01@_K1@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@II@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_substr, 16) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_substr( - basic_string_wchar *this, const basic_string_wchar *assign, - MSVCP_size_t pos, MSVCP_size_t len) -{ - TRACE("%p %p %lu %lu\n", this, assign, pos, len); - - basic_string_wchar_tidy(this, FALSE, 0); - MSVCP_basic_string_wchar_assign_substr(this, assign, pos, len); - return this; -} - -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@IIABV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@AEBV01@_K1AEBV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@IIABV?$allocator@G@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@_K1AEBV?$allocator@G@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_substr_alloc, 20) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_substr_alloc( - basic_string_wchar *this, const basic_string_wchar *assign, - MSVCP_size_t pos, MSVCP_size_t len, const void *alloc) -{ - return MSVCP_basic_string_wchar_ctor_substr(this, assign, pos, len); -} - -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@AEBV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$allocator@G@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$allocator@G@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_alloc, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_alloc( - basic_string_wchar *this, const void *alloc) -{ - TRACE("%p %p\n", this, alloc); - - basic_string_wchar_tidy(this, FALSE, 0); - return this; -} - -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_W@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@_K_W@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IG@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@_KG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_ch, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_ch(basic_string_wchar *this, - MSVCP_size_t count, wchar_t ch) -{ - TRACE("%p %ld %c\n", this, count, ch); - - basic_string_wchar_tidy(this, FALSE, 0); - MSVCP_basic_string_wchar_assignn(this, count, ch); - return this; -} - -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_WABV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@_K_WAEBV?$allocator@_W@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IGABV?$allocator@G@1@@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@_KGAEBV?$allocator@G@1@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_ch_alloc, 16) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_ch_alloc(basic_string_wchar *this, - MSVCP_size_t count, wchar_t ch, const void *alloc) -{ - return MSVCP_basic_string_wchar_ctor_ch(this, count, ch); -} - -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W0@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@PEB_W0@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBG0@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_ptr_ptr, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_ptr_ptr(basic_string_wchar *this, - const wchar_t *first, const wchar_t *last) -{ - return MSVCP_basic_string_wchar_ctor_cstr_len(this, first, last-first); -} - -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@0@Z */ -/* ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@0@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@1@0@Z */ -/* ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@1@0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_iter, 20) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_iter(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end) -{ - return MSVCP_basic_string_wchar_ctor_cstr_len(this, beg.pos, end.pos-beg.pos); -} - /* ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ */ /* ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ */ /* ??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ */ /* ??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_dtor, 4) -void __thiscall MSVCP_basic_string_wchar_dtor(basic_string_wchar *this) +void MSVCP_basic_string_wchar_dtor(basic_string_wchar *this) { TRACE("%p\n", this); basic_string_wchar_tidy(this, TRUE, 0); @@ -2463,1249 +668,8 @@ void __thiscall MSVCP_basic_string_wchar_dtor(basic_string_wchar *this) /* ?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ */ /* ?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ */ /* ?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_length, 4) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_length(const basic_string_wchar *this) +MSVCP_size_t MSVCP_basic_string_wchar_length(const basic_string_wchar *this) { TRACE("%p\n", this); return this->size; } - -/* ?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ */ -/* ?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KXZ */ -/* ?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ */ -/* ?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_max_size, 4) -MSVCP_size_t __thiscall basic_string_wchar_max_size(const basic_string_wchar *this) -{ - TRACE("%p\n", this); - return MSVCP_allocator_wchar_max_size(this->allocator)-1; -} - -/* ?empty@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE_NXZ */ -/* ?empty@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_NXZ */ -/* ?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE_NXZ */ -/* ?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_NXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_empty, 4) -MSVCP_bool __thiscall MSVCP_basic_string_wchar_empty(basic_string_wchar *this) -{ - TRACE("%p\n", this); - return this->size == 0; -} - -/* ?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z */ -/* ?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXAEAV12@@Z */ -/* ?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXAAV12@@Z */ -/* ?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEAV12@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_swap, 8) -void __thiscall MSVCP_basic_string_wchar_swap(basic_string_wchar *this, basic_string_wchar *str) -{ - if(this != str) { - char tmp[sizeof(this->data)]; - const MSVCP_size_t size = this->size; - const MSVCP_size_t res = this->res; - - memcpy(tmp, this->data.buf, sizeof(this->data)); - memcpy(this->data.buf, str->data.buf, sizeof(this->data)); - memcpy(str->data.buf, tmp, sizeof(this->data)); - - this->size = str->size; - this->res = str->res; - - str->size = size; - str->res = res; - } -} - -/* ?substr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV12@II@Z */ -/* ?substr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV12@_K0@Z */ -/* ?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV12@II@Z */ -/* ?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV12@_K0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_substr, 16) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_substr(basic_string_wchar *this, - basic_string_wchar *ret, MSVCP_size_t off, MSVCP_size_t len) -{ - TRACE("%p %lu %lu\n", this, off, len); - - MSVCP_basic_string_wchar_ctor_substr(ret, this, off, len); - return ret; -} - -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z */ -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@AEBV12@_K1@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_substr, 16) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_substr(basic_string_wchar *this, - const basic_string_wchar *append, MSVCP_size_t offset, MSVCP_size_t count) -{ - TRACE("%p %p %lu %lu\n", this, append, offset, count); - - if(append->size < offset) - MSVCP__String_base_Xran(); - - if(count > append->size-offset) - count = append->size-offset; - - if(MSVCP_basic_string_wchar_npos-this->size<=count || this->size+countsize) - MSVCP__String_base_Xlen(); - - if(basic_string_wchar_grow(this, this->size+count, FALSE)) { - MSVCP_char_traits_wchar__Copy_s(basic_string_wchar_ptr(this)+this->size, - this->res-this->size, basic_string_wchar_const_ptr(append)+offset, count); - basic_string_wchar_eos(this, this->size+count); - } - - return this; -} - -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@@Z */ -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@AEBV12@@Z */ -/* ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@ABV01@@Z */ -/* ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@AEBV01@@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@@Z */ -/* ??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z */ -/* ??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append( - basic_string_wchar *this, const basic_string_wchar *append) -{ - return MSVCP_basic_string_wchar_append_substr(this, append, - 0, MSVCP_basic_string_wchar_npos); -} - -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@PB_WI@Z */ -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@PEB_W_K@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_cstr_len, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_cstr_len( - basic_string_wchar *this, const wchar_t *append, MSVCP_size_t count) -{ - TRACE("%p %s %lu\n", this, debugstr_wn(append, count), count); - - if(basic_string_wchar_inside(this, append)) - return MSVCP_basic_string_wchar_append_substr(this, this, - append-basic_string_wchar_ptr(this), count); - - if(MSVCP_basic_string_wchar_npos-this->size<=count || this->size+countsize) - MSVCP__String_base_Xlen(); - - if(basic_string_wchar_grow(this, this->size+count, FALSE)) { - MSVCP_char_traits_wchar__Copy_s(basic_string_wchar_ptr(this)+this->size, - this->res-this->size, append, count); - basic_string_wchar_eos(this, this->size+count); - } - - return this; -} - -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@PB_W@Z */ -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@PEB_W@Z */ -/* ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z */ -/* ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@PEB_W@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG@Z */ -/* ??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z */ -/* ??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@PEBG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_cstr, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_cstr( - basic_string_wchar *this, const wchar_t *append) -{ - return MSVCP_basic_string_wchar_append_cstr_len(this, append, - MSVCP_char_traits_wchar_length(append)); -} - -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@PB_W0@Z */ -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@PEB_W0@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_beg_end, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_beg_end( - basic_string_wchar *this, const wchar_t *beg, const wchar_t *end) -{ - return MSVCP_basic_string_wchar_append_cstr_len(this, beg, end-beg); -} - -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_iter, 20) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_iter( - basic_string_wchar *this, String_iterator_wchar beg, String_iterator_wchar end) -{ - return MSVCP_basic_string_wchar_append_cstr_len(this, beg.pos, end.pos-beg.pos); -} - -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I_W@Z */ -/* ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K_W@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z */ -/* ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_len_ch, 12) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_len_ch( - basic_string_wchar *this, MSVCP_size_t count, wchar_t ch) -{ - TRACE("%p %lu %c\n", this, count, ch); - - if(MSVCP_basic_string_wchar_npos-this->size <= count) - MSVCP__String_base_Xlen(); - - if(basic_string_wchar_grow(this, this->size+count, FALSE)) { - MSVCP_char_traits_wchar_assignn(basic_string_wchar_ptr(this)+this->size, count, ch); - basic_string_wchar_eos(this, this->size+count); - } - - return this; -} - -/* ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@_W@Z */ -/* ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV01@_W@Z */ -/* ?push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z */ -/* ?push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAX_W@Z */ -/* ??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z */ -/* ??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@G@Z */ -/* ?push_back@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXG@Z */ -/* ?push_back@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_ch, 8) -basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_ch( - basic_string_wchar *this, wchar_t ch) -{ - return MSVCP_basic_string_wchar_append_len_ch(this, 1, ch); -} - -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEHIIPB_WI@Z */ -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAH_K0PEB_W0@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBGI@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0PEBG0@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_compare_substr_cstr_len, 20) -int __thiscall MSVCP_basic_string_wchar_compare_substr_cstr_len( - const basic_string_wchar *this, MSVCP_size_t pos, MSVCP_size_t num, - const wchar_t *str, MSVCP_size_t count) -{ - int ans; - - TRACE("%p %lu %lu %s %lu\n", this, pos, num, debugstr_wn(str, count), count); - - if(this->size < pos) - MSVCP__String_base_Xran(); - - if(num > this->size-pos) - num = this->size-pos; - - ans = MSVCP_char_traits_wchar_compare(basic_string_wchar_const_ptr(this)+pos, - str, num>count ? count : num); - if(ans) - return ans; - - if(num > count) - ans = 1; - else if(num < count) - ans = -1; - return ans; -} - -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEHIIPB_W@Z */ -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAH_K0PEB_W@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBG@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0PEBG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_compare_substr_cstr, 16) -int __thiscall MSVCP_basic_string_wchar_compare_substr_cstr(const basic_string_wchar *this, - MSVCP_size_t pos, MSVCP_size_t num, const wchar_t *str) -{ - return MSVCP_basic_string_wchar_compare_substr_cstr_len(this, pos, num, - str, MSVCP_char_traits_wchar_length(str)); -} - -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEHPB_W@Z */ -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAHPEB_W@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHPBG@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAHPEBG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_compare_cstr, 8) -int __thiscall MSVCP_basic_string_wchar_compare_cstr( - const basic_string_wchar *this, const wchar_t *str) -{ - return MSVCP_basic_string_wchar_compare_substr_cstr_len(this, 0, this->size, - str, MSVCP_char_traits_wchar_length(str)); -} - -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEHIIABV12@II@Z */ -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAH_K0AEBV12@00@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@II@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0AEBV12@00@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_compare_substr_substr, 24) -int __thiscall MSVCP_basic_string_wchar_compare_substr_substr( - const basic_string_wchar *this, MSVCP_size_t pos, MSVCP_size_t num, - const basic_string_wchar *compare, MSVCP_size_t off, MSVCP_size_t count) -{ - TRACE("%p %lu %lu %p %lu %lu\n", this, pos, num, compare, off, count); - - if(compare->size < off) - MSVCP__String_base_Xran(); - - if(count > compare->size-off) - count = compare->size-off; - - return MSVCP_basic_string_wchar_compare_substr_cstr_len(this, pos, num, - basic_string_wchar_const_ptr(compare)+off, count); -} - -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEHIIABV12@@Z */ -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAH_K0AEBV12@@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0AEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_compare_substr, 16) -int __thiscall MSVCP_basic_string_wchar_compare_substr( - const basic_string_wchar *this, MSVCP_size_t pos, MSVCP_size_t num, - const basic_string_wchar *compare) -{ - return MSVCP_basic_string_wchar_compare_substr_cstr_len(this, pos, num, - basic_string_wchar_const_ptr(compare), compare->size); -} - -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEHABV12@@Z */ -/* ?compare@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAHAEBV12@@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHABV12@@Z */ -/* ?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAHAEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_compare, 8) -int __thiscall MSVCP_basic_string_wchar_compare( - const basic_string_wchar *this, const basic_string_wchar *compare) -{ - return MSVCP_basic_string_wchar_compare_substr_cstr_len(this, 0, this->size, - basic_string_wchar_const_ptr(compare), compare->size); -} - -/* ?find@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z */ -/* ?find@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z */ -/* ?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z */ -/* ?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_cstr_substr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t pos, MSVCP_size_t len) -{ - const wchar_t *p, *end; - - TRACE("%p %s %lu %lu\n", this, debugstr_wn(find, len), pos, len); - - if(len==0 && pos<=this->size) - return pos; - - end = basic_string_wchar_const_ptr(this)+this->size-len+1; - for(p=basic_string_wchar_const_ptr(this)+pos; psize); -} - -/* ?find@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z */ -/* ?find@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z */ -/* ?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z */ -/* ?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_ch( - const basic_string_wchar *this, wchar_t ch, MSVCP_size_t pos) -{ - return MSVCP_basic_string_wchar_find_cstr_substr(this, &ch, pos, 1); -} - -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z */ -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_rfind_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_rfind_cstr_substr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t pos, MSVCP_size_t len) -{ - const wchar_t *p, *end; - - TRACE("%p %s %lu %lu\n", this, debugstr_wn(find, len), pos, len); - - if(len==0) - return possize ? pos : this->size; - - if(len > this->size) - return MSVCP_basic_string_wchar_npos; - - if(pos > this->size-len+1) - pos = this->size-len+1; - end = basic_string_wchar_const_ptr(this); - for(p=end+pos; p>=end; p--) { - if(*p==*find && !MSVCP_char_traits_wchar_compare(p, find, len)) - return p-basic_string_wchar_const_ptr(this); - } - - return MSVCP_basic_string_wchar_npos; -} - -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WI@Z */ -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_rfind_cstr_off, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_rfind_cstr_off( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t pos) -{ - return MSVCP_basic_string_wchar_rfind_cstr_substr(this, find, pos, - MSVCP_char_traits_wchar_length(find)); -} - -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIABV12@I@Z */ -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KAEBV12@_K@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_rfind_off, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_rfind_off( - const basic_string_wchar *this, const basic_string_wchar *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_rfind_cstr_substr(this, - basic_string_wchar_const_ptr(find), off, find->size); -} - -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z */ -/* ?rfind@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z */ -/* ?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_rfind_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_rfind_ch( - const basic_string_wchar *this, wchar_t ch, MSVCP_size_t pos) -{ - return MSVCP_basic_string_wchar_rfind_cstr_substr(this, &ch, pos, 1); -} - -/* ?find_first_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z */ -/* ?find_first_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z */ -/* ?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z */ -/* ?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_first_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_of_cstr_substr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const wchar_t *p, *end; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - if(len>0 && offsize) { - end = basic_string_wchar_const_ptr(this)+this->size; - for(p=basic_string_wchar_const_ptr(this)+off; psize); -} - -/* ?find_first_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WI@Z */ -/* ?find_first_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z */ -/* ?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z */ -/* ?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_first_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_of_cstr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_first_of_cstr_substr( - this, find, off, MSVCP_char_traits_wchar_length(find)); -} - -/* ?find_first_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z */ -/* ?find_first_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z */ -/* ?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z */ -/* ?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_first_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_of_ch( - const basic_string_wchar *this, wchar_t ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_first_of_cstr_substr(this, &ch, off, 1); -} - -/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z */ -/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z */ -/* ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z */ -/* ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_first_not_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_not_of_cstr_substr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const wchar_t *p, *end; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - if(offsize) { - end = basic_string_wchar_const_ptr(this)+this->size; - for(p=basic_string_wchar_const_ptr(this)+off; psize); -} - -/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WI@Z */ -/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z */ -/* ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z */ -/* ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_first_not_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_not_of_cstr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_first_not_of_cstr_substr( - this, find, off, MSVCP_char_traits_wchar_length(find)); -} - -/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z */ -/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z */ -/* ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z */ -/* ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_first_not_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_not_of_ch( - const basic_string_wchar *this, wchar_t ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_first_not_of_cstr_substr(this, &ch, off, 1); -} - -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z */ -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_of_cstr_substr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const wchar_t *p, *beg; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - - if(len>0 && this->size>0) { - if(off >= this->size) - off = this->size-1; - - beg = basic_string_wchar_const_ptr(this); - for(p=beg+off; p>=beg; p--) - if(MSVCP_char_traits_wchar_find(find, len, p)) - return p-beg; - } - - return MSVCP_basic_string_wchar_npos; -} - -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIABV12@I@Z */ -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KAEBV12@_K@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_of, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_of( - const basic_string_wchar *this, const basic_string_wchar *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_last_of_cstr_substr(this, - basic_string_wchar_const_ptr(find), off, find->size); -} - -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WI@Z */ -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_of_cstr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_last_of_cstr_substr( - this, find, off, MSVCP_char_traits_wchar_length(find)); -} - -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z */ -/* ?find_last_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z */ -/* ?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_of_ch( - const basic_string_wchar *this, wchar_t ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_last_of_cstr_substr(this, &ch, off, 1); -} - -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z */ -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_not_of_cstr_substr, 16) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_not_of_cstr_substr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off, MSVCP_size_t len) -{ - const wchar_t *p, *beg; - - TRACE("%p %p %lu %lu\n", this, find, off, len); - - if(len>0 && this->size>0) { - if(off >= this->size) - off = this->size-1; - - beg = basic_string_wchar_const_ptr(this); - for(p=beg+off; p>=beg; p--) - if(!MSVCP_char_traits_wchar_find(find, len, p)) - return p-beg; - } - - return MSVCP_basic_string_wchar_npos; -} - -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIABV12@I@Z */ -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KAEBV12@_K@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_not_of, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_not_of( - const basic_string_wchar *this, const basic_string_wchar *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_last_not_of_cstr_substr(this, - basic_string_wchar_const_ptr(find), off, find->size); -} - -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WI@Z */ -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_not_of_cstr, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_not_of_cstr( - const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_last_not_of_cstr_substr( - this, find, off, MSVCP_char_traits_wchar_length(find)); -} - -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z */ -/* ?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z */ -/* ?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_not_of_ch, 12) -MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_last_not_of_ch( - const basic_string_wchar *this, wchar_t ch, MSVCP_size_t off) -{ - return MSVCP_basic_string_wchar_find_last_not_of_cstr_substr(this, &ch, off, 1); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IIPB_WI@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K0PEB_W0@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBGI@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0PEBG0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_cstr_len, 20) -basic_string_wchar* __thiscall basic_string_wchar_replace_cstr_len(basic_string_wchar *this, - MSVCP_size_t off, MSVCP_size_t len, const wchar_t *str, MSVCP_size_t str_len) -{ - MSVCP_size_t inside_pos = -1; - wchar_t *ptr = basic_string_wchar_ptr(this); - - TRACE("%p %ld %ld %p %ld\n", this, off, len, str, str_len); - - if(this->size < off) - MSVCP__String_base_Xran(); - - if(len > this->size-off) - len = this->size-off; - - if(MSVCP_basic_string_wchar_npos-str_len <= this->size-len) - MSVCP__String_base_Xlen(); - - if(basic_string_wchar_inside(this, str)) - inside_pos = str-ptr; - - if(len < str_len) { - basic_string_wchar_grow(this, this->size-len+str_len, FALSE); - ptr = basic_string_wchar_ptr(this); - } - - if(inside_pos == -1) { - memmove(ptr+off+str_len, ptr+off+len, (this->size-off-len)*sizeof(wchar_t)); - memcpy(ptr+off, str, str_len*sizeof(wchar_t)); - } else if(len >= str_len) { - memmove(ptr+off, ptr+inside_pos, str_len*sizeof(wchar_t)); - memmove(ptr+off+str_len, ptr+off+len, (this->size-off-len)*sizeof(wchar_t)); - } else { - MSVCP_size_t size; - - memmove(ptr+off+str_len, ptr+off+len, (this->size-off-len)*sizeof(wchar_t)); - - if(inside_pos < off+len) { - size = off+len-inside_pos; - if(size > str_len) - size = str_len; - memmove(ptr+off, ptr+inside_pos, size*sizeof(wchar_t)); - } else { - size = 0; - } - - if(str_len > size) - memmove(ptr+off+size, ptr+off+str_len, (str_len-size)*sizeof(wchar_t)); - } - - basic_string_wchar_eos(this, this->size-len+str_len); - return this; -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IIPB_W@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K0PEB_W@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBG@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0PEBG@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_cstr, 16) -basic_string_wchar* __thiscall basic_string_wchar_replace_cstr(basic_string_wchar *this, - MSVCP_size_t off, MSVCP_size_t len, const wchar_t *str) -{ - return basic_string_wchar_replace_cstr_len(this, off, len, str, - MSVCP_char_traits_wchar_length(str)); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IIABV12@II@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K0AEBV12@00@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@II@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0AEBV12@00@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_substr, 24) -basic_string_wchar* __thiscall basic_string_wchar_replace_substr(basic_string_wchar *this, MSVCP_size_t off, - MSVCP_size_t len, const basic_string_wchar *str, MSVCP_size_t str_off, MSVCP_size_t str_len) -{ - if(str->size < str_off) - MSVCP__String_base_Xran(); - - if(str_len > str->size-str_off) - str_len = str->size-str_off; - - return basic_string_wchar_replace_cstr_len(this, off, len, - basic_string_wchar_const_ptr(str)+str_off, str_len); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IIABV12@@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K0AEBV12@@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0AEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace, 16) -basic_string_wchar* __thiscall basic_string_wchar_replace(basic_string_wchar *this, - MSVCP_size_t off, MSVCP_size_t len, const basic_string_wchar *str) -{ - return basic_string_wchar_replace_cstr_len(this, off, len, - basic_string_wchar_const_ptr(str), str->size); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@III_W@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K00_W@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIIG@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K00G@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_ch, 20) -basic_string_wchar* __thiscall basic_string_wchar_replace_ch(basic_string_wchar *this, - MSVCP_size_t off, MSVCP_size_t len, MSVCP_size_t count, wchar_t ch) -{ - wchar_t *ptr = basic_string_wchar_ptr(this); - - TRACE("%p %ld %ld %ld %c\n", this, off, len, count, ch); - - if(this->size < off) - MSVCP__String_base_Xran(); - - if(len > this->size-off) - len = this->size-off; - - if(MSVCP_basic_string_wchar_npos-count <= this->size-len) - MSVCP__String_base_Xlen(); - - if(len < count) { - basic_string_wchar_grow(this, this->size-len+count, FALSE); - ptr = basic_string_wchar_ptr(this); - } - - memmove(ptr+off+count, ptr+off+len, (this->size-off-len)*sizeof(wchar_t)); - MSVCP_char_traits_wchar_assignn(ptr+off, count, ch); - basic_string_wchar_eos(this, this->size-len+count); - - return this; -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@000@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@000@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@000@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@000@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_iter_iter, 36) -basic_string_wchar* __thiscall basic_string_wchar_replace_iter_iter(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end, - String_iterator_wchar res_beg, String_iterator_wchar res_end) -{ - String_iterator_wchar begin = { this, basic_string_wchar_ptr(this) }; - return basic_string_wchar_replace_cstr_len(this, - MSVCP_basic_string_wchar_Pdif(beg, begin), MSVCP_basic_string_wchar_Pdif(end, beg), - res_beg.pos, MSVCP_basic_string_wchar_Pdif(res_end, res_beg)); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0ABV12@@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0AEBV12@@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0ABV12@@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0AEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_iter_bstr, 24) -basic_string_wchar* __thiscall basic_string_wchar_replace_iter_bstr(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end, const basic_string_wchar *str) -{ - String_iterator_wchar begin = { this, basic_string_wchar_ptr(this) }; - return basic_string_wchar_replace(this, MSVCP_basic_string_wchar_Pdif(beg, begin), - MSVCP_basic_string_wchar_Pdif(end, beg), str); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0I_W@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0_K_W@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0IG@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0_KG@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_iter_ch, 28) -basic_string_wchar* __thiscall basic_string_wchar_replace_iter_ch(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end, MSVCP_size_t count, wchar_t ch) -{ - String_iterator_wchar begin = { this, basic_string_wchar_ptr(this) }; - return basic_string_wchar_replace_ch(this, MSVCP_basic_string_wchar_Pdif(beg, begin), - MSVCP_basic_string_wchar_Pdif(end, beg), count, ch); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0PB_W1@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0PEB_W1@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0PBG1@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0PEBG1@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_iter_ptr_ptr, 28) -basic_string_wchar* __thiscall basic_string_wchar_replace_iter_ptr_ptr(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end, - const wchar_t *res_beg, const wchar_t *res_end) -{ - String_iterator_wchar begin = { this, basic_string_wchar_ptr(this) }; - return basic_string_wchar_replace_cstr_len(this, MSVCP_basic_string_wchar_Pdif(beg, begin), - MSVCP_basic_string_wchar_Pdif(end, beg), res_beg, res_end-res_beg); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0PB_W@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0PEB_W@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0PBG@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0PEBG@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_iter_cstr, 24) -basic_string_wchar* __thiscall basic_string_wchar_replace_iter_cstr(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end, const wchar_t *str) -{ - String_iterator_wchar begin = { this, basic_string_wchar_ptr(this) }; - return basic_string_wchar_replace_cstr(this, MSVCP_basic_string_wchar_Pdif(beg, begin), - MSVCP_basic_string_wchar_Pdif(end, beg), str); -} - -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0PB_WI@Z */ -/* ?replace@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0PEB_W_K@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0PBGI@Z */ -/* ?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0PEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_replace_iter_cstr_len, 28) -basic_string_wchar* __thiscall basic_string_wchar_replace_iter_cstr_len(basic_string_wchar *this, - String_iterator_wchar beg, String_iterator_wchar end, const wchar_t *str, MSVCP_size_t len) -{ - String_iterator_wchar begin = { this, basic_string_wchar_ptr(this) }; - return basic_string_wchar_replace_cstr_len(this, MSVCP_basic_string_wchar_Pdif(beg, begin), - MSVCP_basic_string_wchar_Pdif(end, beg), str, len); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IABV12@@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_KAEBV12@@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KAEBV12@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert, 12) -basic_string_wchar* __thiscall basic_string_wchar_insert(basic_string_wchar *this, - MSVCP_size_t off, const basic_string_wchar *str) -{ - return basic_string_wchar_replace(this, off, 0, str); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IABV12@II@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_KAEBV12@00@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@II@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KAEBV12@00@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_substr, 20) -basic_string_wchar* __thiscall basic_string_wchar_insert_substr( - basic_string_wchar *this, MSVCP_size_t off, const basic_string_wchar *str, - MSVCP_size_t str_off, MSVCP_size_t str_count) -{ - return basic_string_wchar_replace_substr(this, off, 0, str, str_off, str_count); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IPB_W@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_KPEB_W@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBG@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KPEBG@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_cstr, 12) -basic_string_wchar* __thiscall basic_string_wchar_insert_cstr( - basic_string_wchar *this, MSVCP_size_t off, const wchar_t *str) -{ - return basic_string_wchar_replace_cstr(this, off, 0, str); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@IPB_WI@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_KPEB_W0@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBGI@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KPEBG0@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_cstr_len, 16) -basic_string_wchar* __thiscall basic_string_wchar_insert_cstr_len(basic_string_wchar *this, - MSVCP_size_t off, const wchar_t *str, MSVCP_size_t str_len) -{ - return basic_string_wchar_replace_cstr_len(this, off, 0, str, str_len); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II_W@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEAV12@_K0_W@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIG@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0G@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_chn, 16) -basic_string_wchar* __thiscall basic_string_wchar_insert_chn(basic_string_wchar *this, - MSVCP_size_t off, MSVCP_size_t count, wchar_t ch) -{ - return basic_string_wchar_replace_ch(this, off, 0, count, ch); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I_W@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@_K_W@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@IG@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@_KG@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_iter_chn, 20) -void __thiscall basic_string_wchar_insert_iter_chn(basic_string_wchar *this, - String_iterator_wchar where, MSVCP_size_t count, wchar_t ch) -{ - String_iterator_wchar iter = { this, basic_string_wchar_ptr(this) }; - MSVCP_size_t off = MSVCP_basic_string_wchar_Pdif(where, iter); - - basic_string_wchar_insert_chn(this, off, count, ch); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@_W@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@_W@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_iter_ch, 20) -String_iterator_wchar* __thiscall basic_string_wchar_insert_iter_ch(basic_string_wchar *this, - String_iterator_wchar *ret, String_iterator_wchar where, wchar_t ch) -{ - MSVCP_size_t off; - - ret->bstr = this; - ret->pos = basic_string_wchar_ptr(this); - off = MSVCP_basic_string_wchar_Pdif(where, *ret); - - basic_string_wchar_insert_chn(this, off, 1, ch); - ret->pos = basic_string_wchar_ptr(this)+off; - return ret; -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_iter_null, 16) -String_iterator_wchar* __thiscall basic_string_wchar_insert_iter_null(basic_string_wchar *this, - String_iterator_wchar *ret, String_iterator_wchar where) -{ - return basic_string_wchar_insert_iter_ch(this, ret, where, 0); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@00@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@00@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@00@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@00@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_iter_beg_end, 28) -void __thiscall basic_string_wchar_insert_iter_beg_end(basic_string_wchar *this, - String_iterator_wchar where, String_iterator_wchar beg, String_iterator_wchar end) -{ - basic_string_wchar_replace_iter_iter(this, where, where, beg, end); -} - -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W1@Z */ -/* ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PEB_W1@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG1@Z */ -/* ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PEBG1@Z */ -DEFINE_THISCALL_WRAPPER(basic_string_wchar_insert_iter_ptr_ptr, 20) -void __thiscall basic_string_wchar_insert_iter_ptr_ptr(basic_string_wchar *this, - String_iterator_wchar where, const wchar_t *beg, const wchar_t *end) -{ - basic_string_wchar_replace_iter_ptr_ptr(this, where, where, beg, end); -} - -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAA_WI@Z */ -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEA_W_K@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_operator_at, 8) -wchar_t* __thiscall MSVCP_basic_string_wchar_operator_at( - basic_string_wchar *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - assert(this->size >= pos); - return basic_string_wchar_ptr(this)+pos; -} - -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEAB_WI@Z */ -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAAEB_W_K@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_const_operator_at, 8) -const wchar_t* __thiscall MSVCP_basic_string_wchar_const_operator_at( - const basic_string_wchar *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - assert(this->size >= pos); - return basic_string_wchar_const_ptr(this)+pos; -} - -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAA_WU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEA_WU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAGU_Size_type_nosscl@01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_operator_at_noverify, 8) -wchar_t* __thiscall MSVCP_basic_string_wchar_operator_at_noverify( - basic_string_wchar *this, size_t_noverify pos) -{ - TRACE("%p %lu\n", this, pos.val); - return basic_string_wchar_ptr(this)+pos.val; -} - -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEAB_WU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAAEB_WU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGU_Size_type_nosscl@01@@Z */ -/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBGU_Size_type_nosscl@01@@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_operator_const_at_noverify, 8) -const wchar_t* __thiscall MSVCP_basic_string_wchar_operator_const_at_noverify( - const basic_string_wchar *this, size_t_noverify pos) -{ - TRACE("%p %lu\n", this, pos.val); - return basic_string_wchar_const_ptr(this)+pos.val; -} - -/* ?at@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAA_WI@Z */ -/* ?at@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEA_W_K@Z */ -/* ?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z */ -/* ?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_at, 8) -wchar_t* __thiscall MSVCP_basic_string_wchar_at( - basic_string_wchar *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - if(this->size <= pos) - MSVCP__String_base_Xran(); - - return basic_string_wchar_ptr(this)+pos; -} - -/* ?at@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEAB_WI@Z */ -/* ?at@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAAEB_W_K@Z */ -/* ?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z */ -/* ?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_const_at, 8) -const wchar_t* __thiscall MSVCP_basic_string_wchar_const_at( - const basic_string_wchar *this, MSVCP_size_t pos) -{ - TRACE("%p %lu\n", this, pos); - - if(this->size <= pos) - MSVCP__String_base_Xran(); - - return basic_string_wchar_const_ptr(this)+pos; -} - -/* ?resize@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI_W@Z */ -/* ?resize@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAX_K_W@Z */ -/* ?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXIG@Z */ -/* ?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_KG@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_resize_ch, 12) -void __thiscall MSVCP_basic_string_wchar_resize_ch( - basic_string_wchar *this, MSVCP_size_t size, wchar_t ch) -{ - TRACE("%p %lu %c\n", this, size, ch); - - if(size <= this->size) - MSVCP_basic_string_wchar_erase(this, size, this->size); - else - MSVCP_basic_string_wchar_append_len_ch(this, size-this->size, ch); -} - -/* ?resize@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z */ -/* ?resize@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAX_K@Z */ -/* ?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z */ -/* ?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_K@Z */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_resize, 8) -void __thiscall MSVCP_basic_string_wchar_resize( - basic_string_wchar *this, MSVCP_size_t size) -{ - MSVCP_basic_string_wchar_resize_ch(this, size, '\0'); -} - -/* ?clear@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ */ -/* ?clear@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAXXZ */ -/* ?clear@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ */ -/* ?clear@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_clear, 4) -void __thiscall MSVCP_basic_string_wchar_clear(basic_string_wchar *this) -{ - basic_string_wchar_eos(this, 0); -} - -/* ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -/* ?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -/* ?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -/* ?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_begin, 8) -String_iterator_wchar* __thiscall MSVCP_basic_string_wchar_begin( - basic_string_wchar *this, String_iterator_wchar *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_wchar_const_ptr(this); - return ret; -} - -/* ?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ */ -/* ?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -/* ?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -/* ?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -/* ?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_end, 8) -String_iterator_wchar* __thiscall MSVCP_basic_string_wchar_end( - basic_string_wchar *this, String_iterator_wchar *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_wchar_const_ptr(this)+this->size; - return ret; -} - -/* ?rbegin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$reverse_iterator@V?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$reverse_iterator@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$reverse_iterator@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$reverse_iterator@V?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -/* ?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$reverse_iterator@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_rbegin, 8) -String_reverse_iterator_wchar* __thiscall MSVCP_basic_string_wchar_rbegin( - basic_string_wchar *this, String_reverse_iterator_wchar *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_wchar_const_ptr(this)+this->size; - return ret; -} - -/* ?rend@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA?AV?$reverse_iterator@V?$_String_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$reverse_iterator@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA?AV?$reverse_iterator@V?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$reverse_iterator@V?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -/* ?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$reverse_iterator@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@2@XZ */ -DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_rend, 8) -String_reverse_iterator_wchar* __thiscall MSVCP_basic_string_wchar_rend( - basic_string_wchar *this, String_reverse_iterator_wchar *ret) -{ - TRACE("%p\n", this); - - ret->bstr = this; - ret->pos = basic_string_wchar_const_ptr(this); - return ret; -} - -/* _String_val class */ -/* ??_F?$_String_val@DV?$allocator@D@std@@@std@@QAEXXZ */ -/* ??_F?$_String_val@DV?$allocator@D@std@@@std@@QEAAXXZ */ -/* ??_F?$_String_val@GV?$allocator@G@std@@@std@@QAEXXZ */ -/* ??_F?$_String_val@GV?$allocator@G@std@@@std@@QEAAXXZ */ -/* ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QAEXXZ */ -/* ??_F?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAXXZ */ -DEFINE_THISCALL_WRAPPER(_String_val_ctor, 4) -void* __thiscall _String_val_ctor(void *this) -{ - TRACE("%p\n", this); - return this; -} - -/* ??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z */ -/* ??0?$_String_val@DV?$allocator@D@std@@@std@@IEAA@V?$allocator@D@1@@Z */ -/* ??0?$_String_val@GV?$allocator@G@std@@@std@@IAE@V?$allocator@G@1@@Z */ -/* ??0?$_String_val@GV?$allocator@G@std@@@std@@IEAA@V?$allocator@G@1@@Z */ -/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IAE@V?$allocator@_W@1@@Z */ -/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@IEAA@V?$allocator@_W@1@@Z */ -/* ??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z */ -/* ??0?$_String_val@DV?$allocator@D@std@@@std@@QEAA@AEBV01@@Z */ -/* ??0?$_String_val@GV?$allocator@G@std@@@std@@QAE@ABV01@@Z */ -/* ??0?$_String_val@GV?$allocator@G@std@@@std@@QEAA@AEBV01@@Z */ -/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QAE@ABV01@@Z */ -/* ??0?$_String_val@_WV?$allocator@_W@std@@@std@@QEAA@AEBV01@@Z */ -/* ??4?$_String_val@DV?$allocator@D@std@@@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$_String_val@DV?$allocator@D@std@@@std@@QEAAAEAV01@AEBV01@@Z */ -/* ??4?$_String_val@GV?$allocator@G@std@@@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$_String_val@GV?$allocator@G@std@@@std@@QEAAAEAV01@AEBV01@@Z */ -/* ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QAEAAV01@ABV01@@Z */ -/* ??4?$_String_val@_WV?$allocator@_W@std@@@std@@QEAAAEAV01@AEBV01@@Z */ -/* ??4?$_String_val@DV?$allocator@D@std@@@std@@QAEAAV01@ABV01@@Z */ -DEFINE_THISCALL_WRAPPER(_String_val_null_ctor, 8) -void* __thiscall _String_val_null_ctor(void *this, const void *misc) -{ - TRACE("%p %p\n", this, misc); - return this; -}