diff options
author | thing1 <thing1@seacrossedlovers.xyz> | 2024-09-20 17:56:55 +0100 |
---|---|---|
committer | thing1 <thing1@seacrossedlovers.xyz> | 2024-09-20 17:56:55 +0100 |
commit | b41a06dceaa2b4432900db98c49e55118b77fdef (patch) | |
tree | 7072e4cc62fcc532ae8150aef929d2ebf6ad778f /comp/lucas-standen-NEA/code2/stdlib/String/String.h | |
parent | e4b5881fa4af7800ba564d6eae255852bf16d24c (diff) |
pushed alot to the stdlib
Diffstat (limited to 'comp/lucas-standen-NEA/code2/stdlib/String/String.h')
-rw-r--r-- | comp/lucas-standen-NEA/code2/stdlib/String/String.h | 27 |
1 files changed, 27 insertions, 0 deletions
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 <stddef.h> +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); |