Piotr Caban : msvcp90: Added basic_ostream<char>::operator<<(function) implementation.

Alexandre Julliard julliard at winehq.org
Fri Jun 15 13:34:39 CDT 2012


Module: wine
Branch: master
Commit: c2c9e9ef7be4b335592a866b9f26722d7f5df22e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c2c9e9ef7be4b335592a866b9f26722d7f5df22e

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Jun 15 11:08:10 2012 +0200

msvcp90: Added basic_ostream<char>::operator<<(function) implementation.

---

 dlls/msvcp90/ios.c        |   33 +++++++++++++++++++++++++++++++++
 dlls/msvcp90/msvcp90.spec |   12 ++++++------
 2 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c
index 12d319f..5232ecf 100644
--- a/dlls/msvcp90/ios.c
+++ b/dlls/msvcp90/ios.c
@@ -3984,6 +3984,39 @@ basic_ostream_char* __cdecl basic_ostream_char_print_bstr(basic_ostream_char *os
     return ostr;
 }
 
+/* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z at Z */
+/* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAV01@AEAV01@@Z at Z */
+DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func, 8)
+basic_ostream_char* __thiscall basic_ostream_char_print_func(basic_ostream_char *this,
+        basic_ostream_char* (__cdecl *pfunc)(basic_ostream_char*))
+{
+    TRACE("(%p %p)\n", this, pfunc);
+    pfunc(this);
+    return this;
+}
+
+/* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV?$basic_ios at DU?$char_traits at D@std@@@1 at AAV21@@Z at Z */
+/* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAV?$basic_ios at DU?$char_traits at D@std@@@1 at AEAV21@@Z at Z */
+DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_basic_ios, 8)
+basic_ostream_char* __thiscall basic_ostream_char_print_func_basic_ios(basic_ostream_char *this,
+        basic_ios_char* (__cdecl *pfunc)(basic_ios_char*))
+{
+    TRACE("(%p %p)\n", this, pfunc);
+    pfunc(basic_ostream_char_get_basic_ios(this));
+    return this;
+}
+
+/* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAVios_base@1 at AAV21@@Z at Z */
+/* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAVios_base@1 at AEAV21@@Z at Z */
+DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func_ios_base, 8)
+basic_ostream_char* __thiscall basic_ostream_char_print_func_ios_base(
+        basic_ostream_char *this, ios_base* (__cdecl *pfunc)(ios_base*))
+{
+    TRACE("(%p %p)\n", this, pfunc);
+    pfunc(&basic_ostream_char_get_basic_ios(this)->base);
+    return this;
+}
+
 /* Caution: basic_istream uses virtual inheritance. */
 static inline basic_ios_char* basic_istream_char_get_basic_ios(basic_istream_char *this)
 {
diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index 84d9364..fb873b5 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -1592,12 +1592,12 @@
 @ cdecl -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at N@Z(ptr double) basic_ostream_char_print_double
 @ stub -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at O@Z
 @ stub -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at O@Z
-@ stub -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z at Z
-@ stub -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAV01@AEAV01@@Z at Z
-@ stub -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV?$basic_ios at DU?$char_traits at D@std@@@1 at AAV21@@Z at Z
-@ stub -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAV?$basic_ios at DU?$char_traits at D@std@@@1 at AEAV21@@Z at Z
-@ stub -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAVios_base@1 at AAV21@@Z at Z
-@ stub -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAVios_base@1 at AEAV21@@Z at Z
+@ thiscall -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z at Z(ptr ptr) basic_ostream_char_print_func
+@ cdecl -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAV01@AEAV01@@Z at Z(ptr ptr) basic_ostream_char_print_func
+@ thiscall -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV?$basic_ios at DU?$char_traits at D@std@@@1 at AAV21@@Z at Z(ptr ptr) basic_ostream_char_print_func_basic_ios
+@ cdecl -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAV?$basic_ios at DU?$char_traits at D@std@@@1 at AEAV21@@Z at Z(ptr ptr) basic_ostream_char_print_func_basic_ios
+@ thiscall -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAVios_base@1 at AAV21@@Z at Z(ptr ptr) basic_ostream_char_print_func_ios_base
+@ cdecl -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAVios_base@1 at AEAV21@@Z at Z(ptr ptr) basic_ostream_char_print_func_ios_base
 @ thiscall -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at PAV?$basic_streambuf at DU?$char_traits at D@std@@@1@@Z(ptr ptr) basic_ostream_char_print_streambuf
 @ cdecl -arch=win64 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at PEAV?$basic_streambuf at DU?$char_traits at D@std@@@1@@Z(ptr ptr) basic_ostream_char_print_streambuf
 @ thiscall -arch=win32 ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at PBX@Z(ptr ptr) basic_ostream_char_print_ptr




More information about the wine-cvs mailing list