String.h (1114B)
1 #include <stddef.h> 2 extern size_t STRINGSPLITCOUNT; 3 typedef struct string string; 4 typedef struct string { 5 char *_str; // not null terminated string, length encoded 6 size_t _len; 7 void (*free)(string*); 8 void (*appendchar)(string *, char); 9 int (*insert)(string *, string *, size_t); 10 void (*replacechar)(string *, char, char); 11 int (*countchar)(string *, char); 12 int (*cmp)(string *, string*); 13 void (*fromcstring)(string *, char *); 14 char *(*tocstring)(string *); 15 string **(*split)(string *, char); 16 void (*print)(string *); 17 void (*input)(string *, size_t); 18 } string; 19 20 string *String(char *cstring); 21 void __stringfree(string *self); 22 void __stringappendchar(string *self, char c); 23 int __stringinsert(string *self, string *substring, size_t point); 24 void __stringreplacechar(string *self, char orig, char new); 25 int __stringcountchar(string *self, char c); 26 int __stringcmp(string *str1, string *str2); 27 void __stringfromcstring(string *self, char *cstring); 28 char *__stringtocstring(string *self); 29 string **__stringsplit(string *self, char delim); 30 void *print(string *self); 31 void *input(string *self, size_t len); 32