school

thing1's amazing school repo
Log | Files | Refs | Submodules | README

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