#ifndef _STRING
#define _STRING

#include "BumpAlloc.h"

typedef char* String;

String S_new(BumpArena b, const char* str);
String S_newlen(BumpArena b, usize length);
String S_dup(BumpArena b, String s);
String S_concat(BumpArena b, ...);
String S_printf(BumpArena b, const char* fmt, ...);

usize  S_length(String s);
Result S_append(String s, const char* str);
Result S_prepend(String s, const char* str);
usize  S_find(String s, char c);

String SG_new(const char* str);
String SG_newlen(usize length);
String SG_dup(String s);
String SG_concat(const char* str, ...);
String SG_printf(const char* fmt, ...);

#endif /* _STRING */
