21 lines
507 B
C
21 lines
507 B
C
#ifndef STRING_H
|
|
#define STRING_H
|
|
|
|
#include <stdlib.h>
|
|
|
|
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
|