From 17280f8177736c35b34e41556a307ca51e68d1e2 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Mon, 13 Dec 2021 13:53:22 +0100 Subject: Renamed constructor *cstr_lit()* to `cstr_new(lit)`. Renamed *cstr_assign_fmt()* to `cstr_printf()`. Renamed cbits_from_str() to cbits_from(). --- include/stc/alt/cstr.h | 2 +- include/stc/cbits.h | 11 +++++++---- include/stc/ccommon.h | 1 + include/stc/cstr.h | 9 ++++----- include/stc/csview.h | 6 +++--- 5 files changed, 16 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/stc/alt/cstr.h b/include/stc/alt/cstr.h index 39da2e6a..1dc895ff 100644 --- a/include/stc/alt/cstr.h +++ b/include/stc/alt/cstr.h @@ -84,7 +84,7 @@ STC_INLINE cstr_rep_t cstr_rep_(cstr* self) { /**************************** PUBLIC API **********************************/ -#define cstr_lit(lit) cstr_from_n(lit, sizeof((cstr_literal_t){lit}) - 1) +#define cstr_new(lit) cstr_from_n(lit, sizeof((cstr_literal_t){lit}) - 1) #define cstr_npos (~(cstr_size_t)0 >> 1) STC_API char* cstr_reserve(cstr* self, cstr_size_t cap); diff --git a/include/stc/cbits.h b/include/stc/cbits.h index 2843f7d0..1816f41a 100644 --- a/include/stc/cbits.h +++ b/include/stc/cbits.h @@ -61,9 +61,9 @@ struct cbits { size_t size; } typedef cbits; +STC_API cbits cbits_from_n(const char* str, size_t n); STC_API cbits cbits_with_size(size_t size, bool value); STC_API cbits cbits_with_values(size_t size, uint64_t pattern); -STC_API cbits cbits_from_str(const char* str); STC_API char* cbits_to_str(cbits set, char* str, size_t start, intptr_t stop); STC_API cbits cbits_clone(cbits other); STC_API void cbits_resize(cbits* self, size_t size, bool value); @@ -73,10 +73,14 @@ STC_API bool cbits_subset_of(cbits set, cbits other); STC_API bool cbits_disjoint(cbits set, cbits other); STC_INLINE cbits cbits_init() { return c_make(cbits){NULL, 0}; } +STC_INLINE cbits cbits_from(const char* s) { return cbits_from_n(s, strlen(s)); } STC_INLINE void cbits_clear(cbits* self) { self->size = 0; } STC_INLINE void cbits_del(cbits* self) { c_free(self->data64); } STC_INLINE size_t cbits_size(cbits set) { return set.size; } +#define cbits_new(literal) \ + cbits_from_n(literal, sizeof c_make(c_strlit){literal} - 1) + STC_INLINE cbits* cbits_take(cbits* self, cbits other) { if (self->data64 != other.data64) {cbits_del(self); *self = other;} return self; @@ -190,9 +194,8 @@ STC_DEF cbits cbits_with_values(size_t size, uint64_t pattern) { cbits_set_values(&set, pattern); return set; } -STC_DEF cbits cbits_from_str(const char* str) { - const char* p = str; while (*p) ++p; - cbits set = cbits_with_size(p - str, false); +STC_DEF cbits cbits_from_n(const char* str, size_t n) { + cbits set = cbits_with_size(n, false); for (size_t i=0; istr, struct cstr_rep, str) STC_STATIC_ONLY( static struct cstr_rep _cstr_nullrep = {0, 0, {0}}; static const cstr cstr_null = {_cstr_nullrep.str}; ) -typedef const char strlit_t[]; /* optimal memory: based on malloc_usable_size() sequence: 24, 40, 56, ... */ #define _cstr_opt_mem(cap) ((((offsetof(struct cstr_rep, str) + (cap) + 8)>>4)<<4) + 8) /* optimal string capacity: 7, 23, 39, ... */ @@ -55,7 +54,7 @@ STC_API cstr cstr_from_replace_all(const char* str, size_t str_len, STC_API size_t cstr_reserve(cstr* self, size_t cap); STC_API void cstr_resize(cstr* self, size_t len, char fill); STC_API cstr* cstr_assign_n(cstr* self, const char* str, size_t n); -STC_API cstr* cstr_assign_fmt(cstr* self, const char* fmt, ...); +STC_API cstr* cstr_printf(cstr* self, const char* fmt, ...); STC_API cstr* cstr_append_n(cstr* self, const char* str, size_t n); STC_API void cstr_replace_n(cstr* self, size_t pos, size_t len, const char* str, size_t n); STC_API void cstr_replace_all(cstr* self, const char* find, const char* replace); @@ -69,8 +68,8 @@ STC_API int c_strncasecmp(const char* s1, const char* s2, size_t nma STC_INLINE cstr cstr_init() { return cstr_null; } #define cstr_str(self) (self)->str -#define cstr_lit(literal) \ - cstr_from_n(literal, sizeof c_make(strlit_t){literal} - 1) +#define cstr_new(literal) \ + cstr_from_n(literal, sizeof c_make(c_strlit){literal} - 1) STC_INLINE cstr cstr_from(const char* str) { return cstr_from_n(str, strlen(str)); } STC_INLINE char* cstr_data(cstr* self) { return self->str; } @@ -244,7 +243,7 @@ cstr_from_fmt(const char* fmt, ...) { } STC_DEF cstr* -cstr_assign_fmt(cstr* self, const char* fmt, ...) { +cstr_printf(cstr* self, const char* fmt, ...) { cstr ret = cstr_null; va_list args; va_start(args, fmt); cstr_vfmt(&ret, fmt, args); diff --git a/include/stc/csview.h b/include/stc/csview.h index ce08bd1a..872b6e1e 100644 --- a/include/stc/csview.h +++ b/include/stc/csview.h @@ -33,7 +33,7 @@ typedef char csview_value; #define csview_npos cstr_npos #define c_svfmt "%.*s" #define c_svarg(sv) (int)(sv).size, (sv).str -#define c_sv(literal) csview_lit(literal) +#define c_sv(literal) csview_new(literal) #define cstr_sv(s) csview_from_s(s) STC_API csview csview_substr(csview sv, intptr_t pos, size_t n); @@ -41,8 +41,8 @@ STC_API csview csview_slice(csview sv, intptr_t p1, intptr_t p2); STC_API csview csview_first_token(csview sv, csview sep); STC_API csview csview_next_token(csview sv, csview sep, csview tok); -#define csview_lit(literal) \ - c_make(csview){literal, sizeof c_make(strlit_t){literal} - 1} +#define csview_new(literal) \ + c_make(csview){literal, sizeof c_make(c_strlit){literal} - 1} STC_INLINE csview csview_from(const char* str) { return c_make(csview){str, strlen(str)}; } STC_INLINE csview csview_from_n(const char* str, size_t n) -- cgit v1.2.3