From b41a06dceaa2b4432900db98c49e55118b77fdef Mon Sep 17 00:00:00 2001 From: thing1 Date: Fri, 20 Sep 2024 17:56:55 +0100 Subject: pushed alot to the stdlib --- .../lucas-standen-NEA/code2/stdlib/String/String.h | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 comp/lucas-standen-NEA/code2/stdlib/String/String.h (limited to 'comp/lucas-standen-NEA/code2/stdlib/String/String.h') diff --git a/comp/lucas-standen-NEA/code2/stdlib/String/String.h b/comp/lucas-standen-NEA/code2/stdlib/String/String.h new file mode 100644 index 0000000..865defe --- /dev/null +++ b/comp/lucas-standen-NEA/code2/stdlib/String/String.h @@ -0,0 +1,27 @@ +#include +extern size_t STRINGSPLITCOUNT; +typedef struct string string; +typedef struct string { + char *_str; // not null terminated string, length encoded + size_t _len; + void (*free)(string*); + void (*appendchar)(string *, char); + int (*insert)(string *, string *, size_t); + void (*replacechar)(string *, char, char); + int (*countchar)(string *, char); + int (*cmp)(string *, string*); + void (*fromcstring)(string *, char *); + char *(*tocstring)(string *); + string **(*split)(string *, char); +} string; + +string *String(char *cstring); +void __stringfree(string *self); +void __stringappendchar(string *self, char c); +int __stringinsert(string *self, string *substring, size_t point); +void __stringreplacechar(string *self, char orig, char new); +int __stringcountchar(string *self, char c); +int __stringcmp(string *str1, string *str2); +void __stringfromcstring(string *self, char *cstring); +char *__stringtocstring(string *self); +string **__stringsplit(string *self, char delim); -- cgit v1.2.3