summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-12-13 13:53:22 +0100
committerTyge Løvset <[email protected]>2021-12-13 13:53:22 +0100
commit17280f8177736c35b34e41556a307ca51e68d1e2 (patch)
tree96b0b7dfeede1dc0a6c6f36ec60f18e2ff3bd68a /include
parentc7a26eb5b5fef1c2706d5875a0603d352926487e (diff)
downloadSTC-modified-17280f8177736c35b34e41556a307ca51e68d1e2.tar.gz
STC-modified-17280f8177736c35b34e41556a307ca51e68d1e2.zip
Renamed constructor *cstr_lit()* to `cstr_new(lit)`.
Renamed *cstr_assign_fmt()* to `cstr_printf()`. Renamed cbits_from_str() to cbits_from().
Diffstat (limited to 'include')
-rw-r--r--include/stc/alt/cstr.h2
-rw-r--r--include/stc/cbits.h11
-rw-r--r--include/stc/ccommon.h1
-rw-r--r--include/stc/cstr.h9
-rw-r--r--include/stc/csview.h6
5 files changed, 16 insertions, 13 deletions
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; i<set.size; ++i) if (str[i] == '1') cbits_set(&set, i);
return set;
}
diff --git a/include/stc/ccommon.h b/include/stc/ccommon.h
index 70b2ff71..2942873f 100644
--- a/include/stc/ccommon.h
+++ b/include/stc/ccommon.h
@@ -92,6 +92,7 @@
# define c_free(p) free(p)
#endif
+typedef const char c_strlit[];
#define c_delete(T, ptr) do { T *_c_p = ptr; T##_del(_c_p); c_free(_c_p); } while (0)
#define c_swap(T, x, y) do { T _c_t = x; x = y; y = _c_t; } while (0)
#define c_arraylen(a) (sizeof (a)/sizeof (a)[0])
diff --git a/include/stc/cstr.h b/include/stc/cstr.h
index f47d8a02..41ab11ad 100644
--- a/include/stc/cstr.h
+++ b/include/stc/cstr.h
@@ -41,7 +41,6 @@ struct cstr_rep { size_t size, cap; char str[sizeof(size_t)]; };
#define _cstr_rep(self) c_container_of((self)->str, 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)