summaryrefslogtreecommitdiffhomepage
path: root/examples
AgeCommit message (Collapse)Author
2022-07-23Fixed a few small issues with cregex.c Reverted cregex_match() to ↵Tyge Løvset
cregex_find(). Renamed cre_* flags.
2022-07-22Switched from "\\" as replacement group prefix to '$'. cregex_replace() ↵Tyge Løvset
changed: removed the last two args.
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-22Last minor API changes for cregex. Added descriptions in header. Updated RE ↵Tyge Løvset
examples.
2022-07-22Changed / improved cregex API again (as promised). Possible final API.Tyge Lovset
2022-07-21cregex API change: Added cregex_match_ex() and cregex_match() with string ↵Tyge Løvset
pattern input instead of a cregex*, similar to cregex_replace*().
2022-07-21Moved cregex_replace*() implementation to src/cregex.cTyge Løvset
2022-07-21Extended regex_replace.c examples.Tyge Lovset
2022-07-20Cleanups, and renamed cregex_replace_fn() => cregex_replace_ex().Tyge Lovset
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-17Tuned benchmark shootout_hashmaps.cpp and updated two external c++ hash ↵Tyge Løvset
tables to newest. Updated benchmarks/build_all.sh
2022-07-11Fixed documentation changes for size, capacity, empty. Minor changes in some ↵Tyge Lovset
ex. and map shootout.
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-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-20Small addition and warning removed in cregex.c. Else refactoring/cleanup.Tyge Løvset
2022-06-17Various refactoring. Renamed c_apply_arr() => c_apply_array()Tyge Løvset
2022-06-12Renamed cregex_find89 => cregex_match()Tyge Løvset
2022-06-11Improving cregex, and minors, e.g. cstr_foldcase=>cstr_casefold.Tyge Lovset
2022-06-10Small simplifications in cmap.hTyge Løvset
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-07Some improvements in utf8tabs.pyTyge 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-01Update docs on i_implement / shared linking.Tyge Løvset
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-01Forgot files from previous commit. NOTE: there may/will be some changes to ↵Tyge Løvset
names introduced, e.g. i_extern/STC_EXTERN may change. Also, I recently changed non-templated types to default external linking, *may* revert to default static again.
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-31Fixed compiler errors of missing updates.Tyge Løvset
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-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-30Added more utf8 features. Changed linking macros in ccommon.h.Tyge Lovset
2022-05-29Internal: Changed using i_keyraw to using _cx_raw or _cx_rawkey typedefs: ↵Tyge Lovset
avoids problem when i_keyraw is pointer.
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-24API change: cbits now uses container pointers args in all member functions, ↵Tyge Løvset
except clone() ... for now. All containers may get same treatment! which will be a rather big API change. This was needed after testing fixed size cbits performance with pass-by-value: was very slow for large bitsets: now faster than std::bitset<>. Also reverted previous cbits_set_value(): much faster because it is branchless.
2022-05-24Changed c_forpair(k, v, Map, map) so that k and v are pointers instead of ↵Tyge Løvset
values. This to make it consistent with c_foreach, c_apply, c_apply_arr.
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-23Small shape.c update.Tyge Løvset
2022-05-22Changed c_apply(v, ..) macro to make it more consistent with c_apply_arr(v, ↵Tyge Løvset
..) and c_foreach (i, ..): v changed to a pointer - not value. Note: also c_pair(v) is changed correspondingly, so usage with c_apply(v) is unchanged.
2022-05-22Rewrote cbits to make it dual: fixed-sized or dynamically sized by adding ↵Tyge Løvset
optional i_len template parameter. Renamed cbits_set_values() to cbits_set_pattern(). Added example bits2.c
2022-05-20Removed cstr_from_replace_all_sv(), Added cstr_replace_first(). Renamed ↵Tyge Løvset
argument names.
2022-05-20Added shape.cpp for comparison. Renamed some examples.Tyge Løvset
2022-05-20Final shape.c updateTyge Løvset
2022-05-20Yet a fix in shape.cTyge Løvset
2022-05-20Minor shape.c change.Tyge Løvset
2022-05-20Changed example shape.cTyge Løvset