12#define print_string ".*s"
14#define print_string_arg(string) (int)(string)->len, (cstr *)(string)->base
31#ifdef USE_NULLABLE_TYPES
32typedef string_t string_nullable_t;
219b32 stringcmp(
const string *first,
const string *second);
322#define HTILS_STR(base) string_from_cstr(arena, base)
uint64_t u64
Definition basictypes.h:17
u32 b32
Definition basictypes.h:38
int64_t i64
Definition basictypes.h:29
uint8_t u8
Definition basictypes.h:8
char cstr
Definition basictypes.h:50
void string_trim(string *str)
Trims whitespace from the start and end of a string.
Definition string.c:213
u64 string_concatf(arena_t *arena, string *dest, const cstr *fmt,...)
Concatenates a formatted cstr to a string.
Definition string.c:114
u64 string_concatb(arena_t *arena, string *dest, const string *src, const u64 len)
Concatenate len bytes of src to dest.
Definition string.c:96
string * string_from_cstr(arena_t *arena, const cstr *base)
Create a string from a C-string.
Definition string.c:51
u64 string_concat(arena_t *arena, string *dest, const string *src)
Concatenates two strings.
Definition string.c:80
void string_trim_left(string *str)
Trims whitespace from the start of a string.
Definition string.c:221
b32 stringcmpb(const string *first, const string *second, const u64 len)
Compares len bytes of each string.
Definition string.c:165
i64 string_findc(string *haystack, u8 needle)
Finds the first occurance of a character in a string.
Definition string.c:256
i64 string_find_sstr(string *haystack, string *needle)
Finds the first occurance of a string in a string.
Definition string.c:268
string * string_dup(arena_t *arena, const string *from)
Duplicates from to a new string.
Definition string.c:36
u64 string_split(string *src, u8 delim, string ***darray, arena_t *arena)
Splits a string by a delimiter.
Definition string.c:180
struct _string string
a string.
b32 stringcmp(const string *first, const string *second)
Compare two string.
Definition string.c:153
string * string_new(arena_t *arena, const u64 len)
Creates a new string.
Definition string.c:19
cstr * string_to_cstr(const string *str)
Convert a string to a cstr.
Definition string.c:67
void string_trim_right(string *str)
Trims whitespace from the end of a string.
Definition string.c:237
a string.
Definition string.h:26
u8 * base
Definition string.h:27
u64 len
Definition string.h:28
An arena.
Definition arena.h:26