summaryrefslogtreecommitdiffhomepage
path: root/include/stc/cstr.h
AgeCommit message (Collapse)Author
2022-09-24Fixes for csview and cstr sub-types (_value and _iter).Tyge Løvset
2022-09-22Updated _advance() iter methods. Some have signed offsets.Tyge Løvset
utf8_peek()/utf8_peek_off() added/changed.
2022-09-21Added cstr_push(), cstr_pop() - push/pop one utf8 char.Tyge Løvset
Renamed c_forpred() to c_forloop() - used by c_forfiltered().
2022-09-05Added cstr_append_fmt().Tyge Løvset
2022-08-18Added cstr_u8_erase(). Renamed cstr_erase_n() => cstr_erase().Tyge Lovset
2022-08-18Some API updates cstr, csview with utf8. Added front()/back() to cstack.Tyge Lovset
2022-08-15More iterator fixes. Make sure cvec/cdeq find_in() return end() iterator if ↵Tyge Løvset
item not found. Small cstr API change to u8_replace*.
2022-08-12cstr V4: Changed cstr functions to take pointers to self, not values. This ↵Tyge Løvset
is consistent with the rest of the containers. csview will still use values, as it is designed to be passed by value.
2022-08-11Renamed all iter members ._end to .end, to make them "public".Tyge Lovset
2022-08-10Fixed iters for carr2/carr3 and cstr/csview.Tyge Løvset
2022-08-09Experiment with other type of iterator. Does not compile.Tyge Løvset
2022-08-09Internal stuff.Tyge Løvset
2022-08-08Final fix on icmp().Tyge Løvset
2022-08-08Changed cstr_icmp_n() to cstr_icmp_sv(), and FIXED it.Tyge Løvset
2022-08-08Finalized toupper/tolower.Tyge Løvset
2022-08-08Changed *cstr_tolower*/*cstr_toupper* arg from `const cstr*` to `csview`.Tyge Løvset
2022-08-07Internal: moved some functions in csview/cstr to implementation sections.Tyge Løvset
2022-07-27VERSION 3.8 BETA: Some changes in cstr / csview APIs: replace* / find*, ↵Tyge Løvset
*_u8(). . See README.md
2022-07-22FINAL cregex update for now: optimize/change callback mfun API. Also, ↵Tyge Løvset
cstr_printf() cannot take self as print argument.
2022-07-20Added cregex_replace*() [implemented in utf8code.c]. Added ↵Tyge Lovset
examples/regex_replace.c. Docs not ready, i.e. API not fixed. Some other refactoring and minor fixes/improvements. cstr_assign_sv() now returns char* like the other cstr_assign*().
2022-07-06Version 3.7. Make sure to check NEWS/Changes in README.md for a few ↵Tyge Løvset
code-breaking API changes.
2022-06-27Fixed bug in csmap.h: begin() on empty map not inited correctly. Moved ↵Tyge Løvset
cstr_from_sv() from csview.h to cstr.h
2022-06-21Renamed expand_uninit() functions to insert_uninit() / append_uninit().Tyge Løvset
2022-06-21Renamed cstr_rename_n() => cstr_rename_with_n() as it could be confused to ↵Tyge Løvset
replace n instances instead of n bytes.
2022-06-11Improving cregex, and minors, e.g. cstr_foldcase=>cstr_casefold.Tyge Lovset
2022-06-10removed cstr_length() and csview_length() -> use .._size().Tyge Løvset
2022-06-10Changed a few cstr utf8 function names.Tyge Løvset
2022-06-10utf8 fixes and improvements. Some api changes.Tyge Løvset
2022-06-10Some changes to utf8 cstr methods.Tyge Løvset
2022-06-08Added cstr case folding methods.Tyge Løvset
2022-06-01Change: Split replace into two: cstr_replace(s, search, repl), ↵Tyge Løvset
cstr_replace_from(s, pos, search, repl): matches cstr_find() + cstr_find_from().
2022-06-01Renamed cstr_replace() => cstr_replace_at(), and cstr_replace_one() => ↵Tyge Løvset
cstr_replace(self, start, search, replace).
2022-06-01Reverted to default static linkage of non-templated symbols (cstr, csview, ↵Tyge Løvset
..), as it gives smaller executables and is convenient for small applications. (no need to define i_implement when functions is used in one translaton unit only).
2022-06-01Converted all files with DOS line endings to LINUX.Tyge Løvset
2022-06-01Added src/libstc.c which implements all non-templated functions (e.g. from ↵Tyge Løvset
cstr, csview, cbits, crandom), but also clist.h mergesort. - Linking with this object file eliminates the need to define i_implement in one file for these types (or i_extern for non-templated functions in templated container, currently only clist.h)
2022-05-31Added simple utf8 case insensitive wrappers: cstr_iequals(), ↵Tyge Løvset
cstr_istarts_with(), and cstr_iends_with().
2022-05-311) REMOVED files/modules not relevant: makes lib more focused:Tyge Løvset
- threads.h/threads.c (external lib) - coptions.h - will be kept as a gist. - more will follow, (examples, some benchmarks, etc). 2) Replaced UTF8 decoder with Björn Höhrmann's DFA decoder.
2022-05-31cleanup of icmp impl.Tyge Lovset
2022-05-31Generalized utf8_icmp_n() and added cstr_icmp(), csview_icmp().Tyge Lovset
2022-05-30Updated cstr utf8 docs.Tyge Løvset
2022-05-30Updated benchmarks and renamed utf8utils.c to utf8code.cTyge Løvset
2022-05-30Done refactoring:Tyge Løvset
- Non-templated types (cstr, csview, cbits, crandom) have no longer default static linking. Now i_header is defined, i.e. files are as headers only. ==> Define `i_implement` before file inclusion. Still possible to do static linkage by defining `i_static` before inclusion or global STC_STATIC. - Templated containers still have static linkage by default. - Renamed csview_substr(), csview_slice() to csview_substr_ex(), csview_slice_ex(). Added simpler inlined csview_substr(), csview_slice().
2022-05-30Large refactoring on strings / utf8 and some file structure.Tyge Lovset
2022-05-29Renamed cstr_replace_first() => cstr_replace_one().Tyge Lovset
cstr.h now #include "utf8.h". Added iterator (utf8) to cstr and other utf8 functions postfixed by _u8(). Also renamed some utf8 functions in csview to better names.
2022-05-25Fixed #25: "behaviour of cstr_clear is suprising": Resets size to 0, while ↵Tyge Løvset
keeping current allocation.
2022-05-23Bugfix: cstr_find_s() returned bool. Fix return size_t.Tyge Løvset
2022-05-23Renamed cstr_find_n(self, search, pos, nmax) => cstr_find_from(self, pos, ↵Tyge Løvset
search), and cstr_replace_first(self, search, repl) => cstr_replace_first(self, pos, search, repl). // returns pos after replaced str.
2022-05-20Removed cstr_from_replace_all_sv(), Added cstr_replace_first(). Renamed ↵Tyge Løvset
argument names.
2022-05-13Added cstr_assign_s(), and changed return type to char* for cstr_assign*() ↵Tyge Løvset
and cstr_append*(), i.e. the pointer to the (possible new) string buffer.
2022-05-13Fixed bug in cstr_assign_n(). Thanks to murtazahakim for reporting.Tyge Løvset