summaryrefslogtreecommitdiff
path: root/src/string.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/string.h')
-rw-r--r--src/string.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/string.h b/src/string.h
new file mode 100644
index 0000000..1b5f136
--- /dev/null
+++ b/src/string.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "common.h"
+#include "smrt_arena.h"
+
+#define STRNG_BASE_POS (sizeof(ez_arena_t))
+
+typedef struct {
+ u64 alloc_size;
+ u64 len;
+} strng_t;
+
+strng_t *strng_new(smrt_arena_t *arena, u64 size);
+strng_t *strng_from(smrt_arena_t *arena, char *c);
+ b32 strng_set(strng_t *string, char *c);
+ void strng_clear(strng_t *string);
+
+#define STRNG_FMT(s) (int)s->len, (s+STRNG_BASE_POS)