#ifndef STRING_H #define STRING_H #include typedef struct { char * value; size_t size; } String; String * String_new(const char * s); String * String_new_size(const char * s, size_t size); String * String_plus(const String * st, const char * s); String * String_concat(String * st, const char * s); static inline char * String_cstr(const String * st) { return st->value; } static inline size_t String_size(const String * st) { return st->size; } void String_free(String * st); #endif