30 #ifndef WSTRING_API_HXX
31 #define WSTRING_API_HXX
45 static inline const wchar_t *
46 StringFind(
const wchar_t *haystack,
const wchar_t *needle)
48 return wcsstr(haystack, needle);
52 static inline const wchar_t *
53 StringFind(
const wchar_t *haystack,
wchar_t needle,
size_t size)
55 return wmemchr(haystack, needle, size);
59 static inline wchar_t *
60 StringFind(
wchar_t *haystack,
wchar_t needle,
size_t size)
62 return wmemchr(haystack, needle, size);
66 static inline const wchar_t *
69 return wcschr(haystack, needle);
73 static inline wchar_t *
76 return wcschr(haystack, needle);
80 static inline const wchar_t *
83 return wcsrchr(haystack, needle);
87 static inline wchar_t *
90 return wcsrchr(haystack, needle);
101 static inline wchar_t *
104 #if defined(WIN32) || defined(__BIONIC__) || defined(__OpenBSD__) || \
110 return wcpcpy(dest, src);
124 return wcscmp(str1, str2) == 0;
134 return wcsncmp(a, b, length) == 0;
140 static inline wchar_t *
gcc_pure static gcc_nonnull_all size_t StringLength(const wchar_t *p)
static gcc_nonnull_all wchar_t * UnsafeCopyStringP(wchar_t *dest, const wchar_t *src)
gcc_pure static gcc_nonnull_all const wchar_t * StringFind(const wchar_t *haystack, const wchar_t *needle)
gcc_pure static gcc_nonnull_all const wchar_t * StringFindLast(const wchar_t *haystack, wchar_t needle)
static gcc_nonnull_all void UnsafeCopyString(wchar_t *dest, const wchar_t *src)
gcc_pure static gcc_nonnull_all bool StringIsEqual(const wchar_t *str1, const wchar_t *str2)
Checks whether str1 and str2 are equal.
gcc_malloc static gcc_nonnull_all wchar_t * DuplicateString(const wchar_t *p)