30 #ifndef STRING_API_HXX 31 #define STRING_API_HXX 49 static inline const char *
50 StringFind(
const char *haystack,
const char *needle) noexcept
52 return strstr(haystack, needle);
57 StringFind(
char *haystack,
char needle,
size_t size) noexcept
59 return (
char *)memchr(haystack, needle, size);
63 static inline const char *
64 StringFind(
const char *haystack,
char needle,
size_t size) noexcept
66 return (
const char *)memchr(haystack, needle, size);
70 static inline const char *
73 return strchr(haystack, needle);
80 return strchr(haystack, needle);
84 static inline const char *
87 return strrchr(haystack, needle);
94 return strrchr(haystack, needle);
108 #if defined(_WIN32) || defined(__BIONIC__) 113 return stpcpy(dest, src);
124 return strcmp(a, b) == 0;
134 return strncmp(a, b, length) == 0;
static gcc_nonnull_all char * UnsafeCopyStringP(char *dest, const char *src) noexcept
gcc_malloc static gcc_nonnull_all char * DuplicateString(const char *p)
Copy the string to a new allocation.
static gcc_nonnull_all void UnsafeCopyString(char *dest, const char *src) noexcept
gcc_pure static gcc_nonnull_all const char * StringFindLast(const char *haystack, char needle) noexcept
gcc_pure static gcc_nonnull_all const char * StringFind(const char *haystack, const char *needle) noexcept
gcc_pure static gcc_nonnull_all size_t StringLength(const char *p) noexcept
gcc_pure static gcc_nonnull_all bool StringIsEqual(const char *a, const char *b) noexcept
Checks whether #a and #b are equal.