struct String8 { u8* str; u64 size; const char *c() const { return reinterpret_cast(str); } u8 operator[](u64 idx) const { return str[idx]; } }; #define str8(s) String8 { (u8*)(s), sizeof(s) - 1 } String8 str8_from_c(const char *str); String8 push_str8f(Arena *arena, char *fmt, ...);