Piotr Caban : msvcp100: Add basic_iostream::swap implementation.
Module: wine Branch: master Commit: cbdc014f41673d85f8379d0fa8ca1fb770a4e42a URL: http://source.winehq.org/git/wine.git/?a=commit;h=cbdc014f41673d85f8379d0fa8... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Wed Jul 30 15:55:38 2014 -0500 msvcp100: Add basic_iostream::swap implementation. --- dlls/msvcp100/msvcp100.spec | 12 ++++++------ dlls/msvcp110/msvcp110.spec | 18 +++++++++--------- dlls/msvcp90/ios.c | 30 ++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 15 deletions(-) diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec index 20a8ee6..538f37f 100644 --- a/dlls/msvcp100/msvcp100.spec +++ b/dlls/msvcp100/msvcp100.spec @@ -2692,12 +2692,12 @@ @ cdecl -arch=win64 ?swap@?$basic_ios(a)GU?$char_traits(a)G@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ios_wchar_swap @ thiscall -arch=win32 ?swap@?$basic_ios(a)_WU?$char_traits(a)_W@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ios_wchar_swap @ cdecl -arch=win64 ?swap@?$basic_ios(a)_WU?$char_traits(a)_W@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ios_wchar_swap -@ stub -arch=win32 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@QAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@QEAAXAEAV12@@Z -@ stub -arch=win32 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@QAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@QEAAXAEAV12@@Z -@ stub -arch=win32 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@QAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@QEAAXAEAV12@@Z +@ thiscall -arch=win32 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_iostream_char_swap +@ cdecl -arch=win64 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_iostream_char_swap +@ thiscall -arch=win32 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ thiscall -arch=win32 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_iostream_wchar_swap @ thiscall -arch=win32 ?swap@?$basic_istream(a)DU?$char_traits(a)D@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_istream_char_swap @ cdecl -arch=win64 ?swap@?$basic_istream(a)DU?$char_traits(a)D@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_istream_char_swap @ thiscall -arch=win32 ?swap@?$basic_istream(a)GU?$char_traits(a)G@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_istream_wchar_swap diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index 15ec125..8e01521 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3470,15 +3470,15 @@ @ cdecl -arch=arm ?swap@?$basic_ios(a)_WU?$char_traits(a)_W@std@@@std@@QAAXAAV12@@Z(ptr ptr) basic_ios_wchar_swap @ thiscall -arch=i386 ?swap@?$basic_ios(a)_WU?$char_traits(a)_W@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ios_wchar_swap @ cdecl -arch=win64 ?swap@?$basic_ios(a)_WU?$char_traits(a)_W@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ios_wchar_swap -@ stub -arch=arm ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@IAAXAAV12@@Z -@ stub -arch=i386 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@IAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@IEAAXAEAV12@@Z -@ stub -arch=arm ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@IAAXAAV12@@Z -@ stub -arch=i386 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@IAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@IEAAXAEAV12@@Z -@ stub -arch=arm ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@IAAXAAV12@@Z -@ stub -arch=i386 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@IAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@IEAAXAEAV12@@Z +@ cdecl -arch=arm ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_iostream_char_swap +@ thiscall -arch=i386 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_iostream_char_swap +@ cdecl -arch=win64 ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_iostream_char_swap +@ cdecl -arch=arm ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ thiscall -arch=i386 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ cdecl -arch=arm ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ thiscall -arch=i386 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_iostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_iostream_wchar_swap @ cdecl -arch=arm ?swap@?$basic_istream(a)DU?$char_traits(a)D@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_istream_char_swap @ thiscall -arch=i386 ?swap@?$basic_istream(a)DU?$char_traits(a)D@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_istream_char_swap @ cdecl -arch=win64 ?swap@?$basic_istream(a)DU?$char_traits(a)D@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_istream_char_swap diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c index 7ddc9da..f730898 100644 --- a/dlls/msvcp90/ios.c +++ b/dlls/msvcp90/ios.c @@ -10570,6 +10570,20 @@ basic_iostream_char* __thiscall basic_iostream_char_vector_dtor(basic_ios_char * return this; } +/* ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@QAEXAAV12@@Z */ +/* ?swap@?$basic_iostream(a)DU?$char_traits(a)D@std@@@std@@QEAAXAEAV12@@Z */ +DEFINE_THISCALL_WRAPPER(basic_iostream_char_swap, 8) +void __thiscall basic_iostream_char_swap(basic_iostream_char *this, basic_iostream_char *r) +{ + TRACE("(%p %p)\n", this, r); + + if(this == r) + return; + + basic_ios_char_swap(basic_istream_char_get_basic_ios(&this->base1), + basic_istream_char_get_basic_ios(&r->base1)); +} + static inline basic_ios_wchar* basic_iostream_wchar_to_basic_ios(basic_iostream_wchar *ptr) { return (basic_ios_wchar*)((char*)ptr+basic_iostream_wchar_vbtable1[1]); @@ -10666,6 +10680,22 @@ basic_iostream_wchar* __thiscall basic_iostream_wchar_vector_dtor(basic_ios_wcha return this; } +/* ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@QAEXAAV12@@Z */ +/* ?swap@?$basic_iostream(a)GU?$char_traits(a)G@std@@@std@@QEAAXAEAV12@@Z */ +/* ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@QAEXAAV12@@Z */ +/* ?swap@?$basic_iostream(a)_WU?$char_traits(a)_W@std@@@std@@QEAAXAEAV12@@Z */ +DEFINE_THISCALL_WRAPPER(basic_iostream_wchar_swap, 8) +void __thiscall basic_iostream_wchar_swap(basic_iostream_wchar *this, basic_iostream_wchar *r) +{ + TRACE("(%p %p)\n", this, r); + + if(this == r) + return; + + basic_ios_wchar_swap(basic_istream_wchar_get_basic_ios(&this->base1), + basic_istream_wchar_get_basic_ios(&r->base1)); +} + 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]);
participants (1)
-
Alexandre Julliard