Piotr Caban : msvcp100: Added _Container_base12 class implementation.
Alexandre Julliard
julliard at winehq.org
Tue Nov 27 14:30:48 CST 2012
Module: wine
Branch: master
Commit: de8fe962c1e9c4a985741316486a38f4c8336271
URL: http://source.winehq.org/git/wine.git/?a=commit;h=de8fe962c1e9c4a985741316486a38f4c8336271
Author: Piotr Caban <piotr at codeweavers.com>
Date: Mon Nov 26 22:33:03 2012 +0000
msvcp100: Added _Container_base12 class implementation.
---
dlls/msvcp100/misc.c | 84 +++++++++++++++++++++++++++++++++++++++++++
dlls/msvcp100/msvcp100.spec | 28 +++++++-------
2 files changed, 98 insertions(+), 14 deletions(-)
diff --git a/dlls/msvcp100/misc.c b/dlls/msvcp100/misc.c
index 13183bb..55a19ee 100644
--- a/dlls/msvcp100/misc.c
+++ b/dlls/msvcp100/misc.c
@@ -28,6 +28,22 @@
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(msvcp);
+struct __Container_proxy;
+
+typedef struct {
+ struct __Container_proxy *proxy;
+} _Container_base12;
+
+typedef struct __Iterator_base12 {
+ struct __Container_proxy *proxy;
+ struct __Iterator_base12 *next;
+} _Iterator_base12;
+
+typedef struct __Container_proxy {
+ const _Container_base12 *cont;
+ _Iterator_base12 *head;
+} _Container_proxy;
+
/* ??0_Mutex at std@@QAE at XZ */
/* ??0_Mutex at std@@QEAA at XZ */
DEFINE_THISCALL_WRAPPER(mutex_ctor, 4)
@@ -259,3 +275,71 @@ void* __thiscall Container_base0_op_assign(void *this, const void *that)
{
return this;
}
+
+/* ??0_Container_base12 at std@@QAE at ABU01@@Z */
+/* ??0_Container_base12 at std@@QEAA at AEBU01@@Z */
+DEFINE_THISCALL_WRAPPER(_Container_base12_copy_ctor, 8)
+_Container_base12* __thiscall _Container_base12_copy_ctor(
+ _Container_base12 *this, _Container_base12 *that)
+{
+ this->proxy = NULL;
+ return this;
+}
+
+/* ??0_Container_base12 at std@@QAE at XZ */
+/* ??0_Container_base12 at std@@QEAA at XZ */
+DEFINE_THISCALL_WRAPPER(_Container_base12_ctor, 4)
+_Container_base12* __thiscall _Container_base12_ctor(_Container_base12 *this)
+{
+ this->proxy = NULL;
+ return this;
+}
+
+/* ??1_Container_base12 at std@@QAE at XZ */
+/* ??1_Container_base12 at std@@QEAA at XZ */
+DEFINE_THISCALL_WRAPPER(_Container_base12_dtor, 4)
+void __thiscall _Container_base12_dtor(_Container_base12 *this)
+{
+}
+
+/* ??4_Container_base12 at std@@QAEAAU01 at ABU01@@Z */
+/* ??4_Container_base12 at std@@QEAAAEAU01 at AEBU01@@ */
+DEFINE_THISCALL_WRAPPER(_Container_base12_op_assign, 8)
+_Container_base12* __thiscall _Container_base12_op_assign(
+ _Container_base12 *this, const _Container_base12 *that)
+{
+ return this;
+}
+
+/* ?_Getpfirst at _Container_base12@std@@QBEPAPAU_Iterator_base12 at 2@XZ */
+/* ?_Getpfirst at _Container_base12@std@@QEBAPEAPEAU_Iterator_base12 at 2@XZ */
+DEFINE_THISCALL_WRAPPER(_Container_base12__Getpfirst, 4)
+_Iterator_base12** __thiscall _Container_base12__Getpfirst(_Container_base12 *this)
+{
+ return this->proxy ? &this->proxy->head : NULL;
+}
+
+/* ?_Orphan_all at _Container_base12@std@@QAEXXZ */
+/* ?_Orphan_all at _Container_base12@std@@QEAAXXZ */
+DEFINE_THISCALL_WRAPPER(_Container_base12__Orphan_all, 4)
+void __thiscall _Container_base12__Orphan_all(_Container_base12 *this)
+{
+}
+
+/* ?_Swap_all at _Container_base12@std@@QAEXAAU12@@Z */
+/* ?_Swap_all at _Container_base12@std@@QEAAXAEAU12@@Z */
+DEFINE_THISCALL_WRAPPER(_Container_base12__Swap_all, 8)
+void __thiscall _Container_base12__Swap_all(
+ _Container_base12 *this, _Container_base12 *that)
+{
+ _Container_proxy *tmp;
+
+ tmp = this->proxy;
+ this->proxy = that->proxy;
+ that->proxy = tmp;
+
+ if(this->proxy)
+ this->proxy->cont = this;
+ if(that->proxy)
+ that->proxy->cont = that;
+}
diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec
index 4ed384e..e4ac191 100644
--- a/dlls/msvcp100/msvcp100.spec
+++ b/dlls/msvcp100/msvcp100.spec
@@ -176,10 +176,10 @@
@ stub -arch=win64 ??0_Concurrent_queue_base_v4 at details@Concurrency@@IEAA at _K@Z
@ stub -arch=win32 ??0_Concurrent_queue_iterator_base_v4 at details@Concurrency@@IAE at ABV_Concurrent_queue_base_v4@12@@Z
@ stub -arch=win64 ??0_Concurrent_queue_iterator_base_v4 at details@Concurrency@@IEAA at AEBV_Concurrent_queue_base_v4@12@@Z
-@ stub -arch=win32 ??0_Container_base12 at std@@QAE at ABU01@@Z
-@ stub -arch=win64 ??0_Container_base12 at std@@QEAA at AEBU01@@Z
-@ stub -arch=win32 ??0_Container_base12 at std@@QAE at XZ
-@ stub -arch=win64 ??0_Container_base12 at std@@QEAA at XZ
+@ thiscall -arch=win32 ??0_Container_base12 at std@@QAE at ABU01@@Z(ptr ptr) _Container_base12_copy_ctor
+@ cdecl -arch=win64 ??0_Container_base12 at std@@QEAA at AEBU01@@Z(ptr ptr) _Container_base12_copy_ctor
+@ thiscall -arch=win32 ??0_Container_base12 at std@@QAE at XZ(ptr) _Container_base12_ctor
+@ cdecl -arch=win64 ??0_Container_base12 at std@@QEAA at XZ(ptr) _Container_base12_ctor
@ stub -arch=win32 ??0_Init_locks at std@@QAE at XZ
@ stub -arch=win64 ??0_Init_locks at std@@QEAA at XZ
@ thiscall -arch=win32 ??0_Locimp at locale@std@@AAE at ABV012@@Z(ptr ptr) locale__Locimp_copy_ctor
@@ -306,8 +306,8 @@
@ stub -arch=win64 ??1_Concurrent_queue_iterator_base_v4 at details@Concurrency@@IEAA at XZ
@ stub -arch=win32 ??1_Concurrent_vector_base_v4 at details@Concurrency@@IAE at XZ
@ stub -arch=win64 ??1_Concurrent_vector_base_v4 at details@Concurrency@@IEAA at XZ
-@ stub -arch=win32 ??1_Container_base12 at std@@QAE at XZ
-@ stub -arch=win64 ??1_Container_base12 at std@@QEAA at XZ
+@ thiscall -arch=win32 ??1_Container_base12 at std@@QAE at XZ(ptr) _Container_base12_dtor
+@ cdecl -arch=win64 ??1_Container_base12 at std@@QEAA at XZ(ptr) _Container_base12_dtor
@ stub -arch=win32 ??1_Init_locks at std@@QAE at XZ
@ stub -arch=win64 ??1_Init_locks at std@@QEAA at XZ
@ thiscall -arch=win32 ??1_Locimp at locale@std@@MAE at XZ(ptr) locale__Locimp_dtor
@@ -402,8 +402,8 @@
@ cdecl -arch=win64 ??4Init at ios_base@std@@QEAAAEAV012 at AEBV012@@Z(ptr ptr) ios_base_Init_op_assign
@ thiscall -arch=win32 ??4_Container_base0 at std@@QAEAAU01 at ABU01@@Z(ptr ptr) Container_base0_op_assign
@ cdecl -arch=win64 ??4_Container_base0 at std@@QEAAAEAU01 at AEBU01@@Z(ptr ptr) Container_base0_op_assign
-@ stub -arch=win32 ??4_Container_base12 at std@@QAEAAU01 at ABU01@@Z
-@ stub -arch=win64 ??4_Container_base12 at std@@QEAAAEAU01 at AEBU01@@Z
+@ thiscall -arch=win32 ??4_Container_base12 at std@@QAEAAU01 at ABU01@@Z(ptr ptr) _Container_base12_op_assign
+@ cdecl -arch=win64 ??4_Container_base12 at std@@QEAAAEAU01 at AEBU01@@Z(ptr ptr) _Container_base12_op_assign
@ stub -arch=win32 ??4_Init_locks at std@@QAEAAV01 at ABV01@@Z
@ stub -arch=win64 ??4_Init_locks at std@@QEAAAEAV01 at AEBV01@@Z
@ thiscall -arch=win32 ??4_Num_base at std@@QAEAAU01 at ABU01@@Z(ptr ptr) std_Num_base_op_assign
@@ -897,8 +897,8 @@
@ cdecl -arch=win64 ?_Getmonths at _Locinfo@std@@QEBAPEBDXZ(ptr) _Locinfo__Getmonths
@ stub -arch=win32 ?_Getname at _Locinfo@std@@QBEPBDXZ
@ stub -arch=win64 ?_Getname at _Locinfo@std@@QEBAPEBDXZ
-@ stub -arch=win32 ?_Getpfirst at _Container_base12@std@@QBEPAPAU_Iterator_base12 at 2@XZ
-@ stub -arch=win64 ?_Getpfirst at _Container_base12@std@@QEBAPEAPEAU_Iterator_base12 at 2@XZ
+@ thiscall -arch=win32 ?_Getpfirst at _Container_base12@std@@QBEPAPAU_Iterator_base12 at 2@XZ(ptr) _Container_base12__Getpfirst
+@ cdecl -arch=win64 ?_Getpfirst at _Container_base12@std@@QEBAPEAPEAU_Iterator_base12 at 2@XZ(ptr) _Container_base12__Getpfirst
@ thiscall -arch=win32 ?_Getptr at _Timevec@std@@QBEPAXXZ(ptr) _Timevec__Getptr
@ cdecl -arch=win64 ?_Getptr at _Timevec@std@@QEBAPEAXXZ(ptr) _Timevec__Getptr
@ thiscall -arch=win32 ?_Gettnames at _Locinfo@std@@QBE?AV_Timevec at 2@XZ(ptr ptr) _Locinfo__Gettnames
@@ -1125,8 +1125,8 @@
@ cdecl ?_Nomemory at std@@YAXXZ() _Nomemory
@ thiscall -arch=win32 ?_Orphan_all at _Container_base0@std@@QAEXXZ(ptr) Container_base0_Orphan_all
@ cdecl -arch=win64 ?_Orphan_all at _Container_base0@std@@QEAAXXZ(ptr) Container_base0_Orphan_all
-@ stub -arch=win32 ?_Orphan_all at _Container_base12@std@@QAEXXZ
-@ stub -arch=win64 ?_Orphan_all at _Container_base12@std@@QEAAXXZ
+@ thiscall -arch=win32 ?_Orphan_all at _Container_base12@std@@QAEXXZ(ptr) _Container_base12__Orphan_all
+@ cdecl -arch=win64 ?_Orphan_all at _Container_base12@std@@QEAAXXZ(ptr) _Container_base12__Orphan_all
@ thiscall -arch=win32 ?_Osfx@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEXXZ(ptr) basic_ostream_char__Osfx
@ cdecl -arch=win64 ?_Osfx@?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAXXZ(ptr) basic_ostream_char__Osfx
@ thiscall -arch=win32 ?_Osfx@?$basic_ostream at GU?$char_traits at G@std@@@std@@QAEXXZ(ptr) basic_ostream_wchar__Osfx
@@ -1204,8 +1204,8 @@
@ cdecl -arch=win64 ?_Setgloballocale at locale@std@@CAXPEAX at Z(ptr) locale__Setgloballocale
@ thiscall -arch=win32 ?_Swap_all at _Container_base0@std@@QAEXAAU12@@Z(ptr ptr) Container_base0_Swap_all
@ cdecl -arch=win64 ?_Swap_all at _Container_base0@std@@QEAAXAEAU12@@Z(ptr ptr) Container_base0_Swap_all
-@ stub -arch=win32 ?_Swap_all at _Container_base12@std@@QAEXAAU12@@Z
-@ stub -arch=win64 ?_Swap_all at _Container_base12@std@@QEAAXAEAU12@@Z
+@ thiscall -arch=win32 ?_Swap_all at _Container_base12@std@@QAEXAAU12@@Z(ptr ptr) _Container_base12__Swap_all
+@ cdecl -arch=win64 ?_Swap_all at _Container_base12@std@@QEAAXAEAU12@@Z(ptr ptr) _Container_base12__Swap_all
@ extern ?_Sync at ios_base@std@@0_NA ios_base_Sync
@ thiscall -arch=win32 ?_Tidy@?$_Yarn at D@std@@AAEXXZ(ptr) _Yarn_char__Tidy
@ cdecl -arch=win64 ?_Tidy@?$_Yarn at D@std@@AEAAXXZ(ptr) _Yarn_char__Tidy
More information about the wine-cvs
mailing list