From 791d6bc10ec81d08324807211d968d7e37110f0b Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Sun, 10 Mar 2024 15:08:10 +0200 Subject: Remove Bob the String-Builder Seeing as dynarr.h already exists, there is no real use for Bob the String-Builder. It was *a bit* nice because of the generic u8strpush() macro, but it should be very easy to implement yourself, and you only really ever need 1 or 2 specific functions that are a few lines of code each. --- include/bob.h | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 include/bob.h (limited to 'include') diff --git a/include/bob.h b/include/bob.h deleted file mode 100644 index 699aa5e..0000000 --- a/include/bob.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef MLIB_BOB_H -#define MLIB_BOB_H - -#include - -#include "__charN_t.h" -#include "__rune.h" -#include "__u8view.h" - -struct u8str { - char8_t *p; - size_t len, cap; -}; - -struct u8str *u8strinit(struct u8str *, size_t); -struct u8str *u8strgrow(struct u8str *, size_t); -struct u8str *u8strfit(struct u8str *); -void u8strfree(struct u8str); - -struct u8str *u8strpushr(struct u8str *, rune); -struct u8str *u8strpushstr(struct u8str *, const char *); -struct u8str *u8strpushu8(struct u8str *, struct u8view); - -[[gnu::always_inline]] -static inline struct u8view -u8strtou8(struct u8str s) -{ - return (struct u8view){.p = s.p, .len = s.len}; -} - -#define u8strpush(sb, x) \ - _Generic((x), \ - char: u8strpushr, \ - int: u8strpushr, \ - rune: u8strpushr, \ - char *: u8strpushstr, \ - struct u8view: u8strpushu8)((sb), (x)) - -#endif /* !MLIB_BOB_H */ -- cgit v1.2.3