msvcp90: Added basic_string::find_first_not_of implementation.
This commit is contained in:
parent
35f7610630
commit
5fa8e6b1b3
|
@ -3847,14 +3847,14 @@
|
|||
@ cdecl -arch=win64 ?find@?$char_traits@G@std@@SAPEBGPEBG_KAEBG@Z(ptr long ptr) MSVCP_char_traits_short_find
|
||||
@ cdecl -arch=win32 ?find@?$char_traits@_W@std@@SAPB_WPB_WIAB_W@Z(ptr long ptr) MSVCP_char_traits_wchar_find
|
||||
@ cdecl -arch=win64 ?find@?$char_traits@_W@std@@SAPEB_WPEB_W_KAEB_W@Z(ptr long ptr) MSVCP_char_traits_wchar_find
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z(ptr ptr long) MSVCP_basic_string_char_find_first_not_of
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z(ptr ptr long) MSVCP_basic_string_char_find_first_not_of
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z(ptr long long) MSVCP_basic_string_char_find_first_not_of_ch
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z(ptr long long) MSVCP_basic_string_char_find_first_not_of_ch
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z(ptr ptr long) MSVCP_basic_string_char_find_first_not_of_cstr
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z(ptr ptr long long) MSVCP_basic_string_char_find_first_not_of_cstr_substr
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z(ptr ptr long long) MSVCP_basic_string_char_find_first_not_of_cstr_substr
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z(ptr ptr long) MSVCP_basic_string_char_find_first_not_of_cstr
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
|
||||
|
@ -3863,14 +3863,14 @@
|
|||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIABV12@I@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KAEBV12@_K@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WI@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z
|
||||
@ stub -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z
|
||||
@ stub -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIABV12@I@Z(ptr ptr long) MSVCP_basic_string_wchar_find_first_not_of
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KAEBV12@_K@Z(ptr ptr long) MSVCP_basic_string_wchar_find_first_not_of
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WI@Z(ptr ptr long) MSVCP_basic_string_wchar_find_first_not_of_cstr
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K1@Z(ptr ptr long long) MSVCP_basic_string_wchar_find_first_not_of_cstr_substr
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIPB_WII@Z(ptr ptr long long) MSVCP_basic_string_wchar_find_first_not_of_cstr_substr
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z(ptr ptr long) MSVCP_basic_string_wchar_find_first_not_of_cstr
|
||||
@ thiscall -arch=win32 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z(ptr long long) MSVCP_basic_string_wchar_find_first_not_of_ch
|
||||
@ cdecl -arch=win64 ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_K_W_K@Z(ptr long long) MSVCP_basic_string_wchar_find_first_not_of_ch
|
||||
@ thiscall -arch=win32 ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z(ptr ptr long) MSVCP_basic_string_char_find_first_of
|
||||
@ cdecl -arch=win64 ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z(ptr ptr long) MSVCP_basic_string_char_find_first_of
|
||||
@ thiscall -arch=win32 ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z(ptr long long) MSVCP_basic_string_char_find_first_of_ch
|
||||
|
|
|
@ -1343,6 +1343,55 @@ MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_of_ch(
|
|||
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(off<this->size) {
|
||||
end = basic_string_char_const_ptr(this)+this->size;
|
||||
for(p=basic_string_char_const_ptr(this)+off; p<end; p++)
|
||||
if(!MSVCP_char_traits_char_find(find, len, p))
|
||||
return p-basic_string_char_const_ptr(this);
|
||||
}
|
||||
|
||||
return MSVCP_basic_string_char_npos;
|
||||
}
|
||||
|
||||
/* ?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z */
|
||||
/* ?find_first_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_first_not_of, 12)
|
||||
MSVCP_size_t __thiscall MSVCP_basic_string_char_find_first_not_of(
|
||||
const basic_string_char *this, const basic_string_char *find, MSVCP_size_t off)
|
||||
{
|
||||
return MSVCP_basic_string_char_find_first_not_of_cstr_substr(this,
|
||||
basic_string_char_const_ptr(find), off, find->size);
|
||||
}
|
||||
|
||||
/* ?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)
|
||||
|
@ -2363,6 +2412,55 @@ MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_of_ch(
|
|||
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 */
|
||||
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(off<this->size) {
|
||||
end = basic_string_wchar_const_ptr(this)+this->size;
|
||||
for(p=basic_string_wchar_const_ptr(this)+off; p<end; p++)
|
||||
if(!MSVCP_char_traits_wchar_find(find, len, p))
|
||||
return p-basic_string_wchar_const_ptr(this);
|
||||
}
|
||||
|
||||
return MSVCP_basic_string_wchar_npos;
|
||||
}
|
||||
|
||||
/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIABV12@I@Z */
|
||||
/* ?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KAEBV12@_K@Z */
|
||||
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_first_not_of, 12)
|
||||
MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_first_not_of(
|
||||
const basic_string_wchar *this, const basic_string_wchar *find, MSVCP_size_t off)
|
||||
{
|
||||
return MSVCP_basic_string_wchar_find_first_not_of_cstr_substr(this,
|
||||
basic_string_wchar_const_ptr(find), off, find->size);
|
||||
}
|
||||
|
||||
/* ?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 */
|
||||
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 */
|
||||
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 */
|
||||
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_last_of_cstr_substr, 16)
|
||||
|
|
Loading…
Reference in New Issue