diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2020-04-19 09:29:12 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2020-04-19 09:29:12 -0700 |
commit | df2a9476a1767bdce83e081470b31ffb89749034 (patch) | |
tree | ab7fea866bbab3b4ac77ac720b9e92fcf9ea5710 /include/str.h | |
parent | 60ce7fba21a6d37c0acbe152039fbc3d0e692bf0 (diff) |
chore: reorganized header structure and updated makefile
Diffstat (limited to 'include/str.h')
-rw-r--r-- | include/str.h | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/include/str.h b/include/str.h deleted file mode 100644 index 85051e4..0000000 --- a/include/str.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -typedef byte* string; - -typedef struct str·Hdr -{ - vlong len; - vlong cap; - byte buf[]; -} str·Hdr; - -// ------------------------------------------------------------------------- -// UTF-8 functions. -// Perhaps break into own unit -// TODO: Add to(upper|lower|title) - -typedef uint32 Rune; - -enum -{ - UTFmax = 4, - RuneSync = 0x80, - RuneSelf = 0x80, - RuneErr = 0xFFFD, - RuneMax = 0x10FFFF, -}; - -int utf8·fullRune(byte *s, int n); -byte *utf8·findRune(byte *s, long i); -int utf8·charToRune(Rune *r, byte *s); -int utf8·runeToChar(byte *s, Rune *r); -int utf8·len(byte *s); -int utf8·runeLen(Rune r); -int utf8·isLetter(Rune r); -int utf8·isDigit(Rune r); -int utf8·isSpace(Rune r); -int utf8·isTitle(Rune r); - -// ------------------------------------------------------------------------- -// Dynamic string functions - -string str·newCap(const byte *s, vlong len, vlong cap); -string str·newLen(const byte *s, vlong len); -string str·new(const byte *s); -string str·newf(const byte *fmt, ...); -void str·free(string s); -int str·len(const string s); -int str·cap(const string s); -string str·clear(string s); -string str·grow(string s, vlong delta); -string str·fit(string s); -string str·appendCount(string s, vlong len, const byte *b); -string str·append(string s, const byte* b); -string str·appendf(string s, const byte* fmt, ...); -string str·appendByte(string s, const byte b); -bool str·equals(const string s, const string t); -int str·find(string s, const byte* substr); -void str·lower(string s); -void str·upper(string s); -void str·replace(string s, const byte* from, const byte* to); -string* str·split(string s, const byte* tok); -string str·join(vlong len, byte** fields, const byte* sep); |