summaryrefslogtreecommitdiffhomepage
path: root/include/stc/priv/template.h
AgeCommit message (Collapse)Author
2023-08-21Small change of policy for i_eq: don't use two i_less functions to derive ↵tylov
i_eq, only from i_cmp directly, or use native ==.
2023-08-14Reverted csubstr => csview. Sorry about that!Tyge Løvset
Added crawstr to become the null-terminated string view.
2023-08-13API CHANGES:tylov
Changed csview: becomes a null-terminated string view. Added csubview: a null-terminated string view/span, like previous csview. Note that csview works like a csubview, so not much compability issues should arise. However, some functions have changed from _sv suffix to _ss.
2023-08-11Minor internals.Tyge Løvset
2023-08-11Updated carc, cbox and template.h - simplifications: removed i_no_cmp/c_no_cmp,tylov
2023-08-10Update template.h - also renamed i_cmp_native => i_use_cmpTyge Løvset
2023-08-02Renamed (most internal "class" type) crawstr => ccharptrTyge Løvset
2023-08-01Added some checks that a proper i_cmp/(i_hash) is defined when i_keyraw ↵Tyge Løvset
conversion type is specified for maps. Advanced usage.
2023-07-18Renamed i_native_cmp => i_cmp_nativetylov
Added c_all_of(), c_any_of(), c_none_of() to algo/filter.h
2023-07-12template.h: i_valclone and i_valfrom are considered the same when only one ↵tylov
is defined and i_valraw is not defined (directly or via valclass/valboxed/val_str). Also applies to key. Some adjustments for benchmarking.
2023-07-11Fixed an issue in template.htylov
Reverted to cspan_md() and cspan_md_left() for column-major. Changed cspan_submdX(): add OutputSpanType as first parameter - aligns with cspan_slice() and adds type safety.
2023-07-10- Fixed meta-programming bug in carc and cbox hash function def (regression).tylov
- Reverted to allow static linking of cstr and csview. Still defaults to shared linking + inlines.
2023-06-29Usage change: comparison is no longer enabled when specifying i_val for ↵Tyge Lovset
cvec, cdeq and clist (like cstack and cqueue). Comparison functions are still required when specifying i_valclass. For fundamental/native types like integers, floats etc., define i_native_cmp along with i_val instead of i_less/i_cmp/i_eq.
2023-06-20Internal only:Tyge Løvset
Renamed _cx_memb() macro to _cx_MEMB() Renamed _cx_self macro to _cx_Self
2023-06-20Minor internals.Tyge Løvset
2023-05-18Huge update: cqueue and cdeq completely rewritten. cvec and cdeq API ↵Tyge Lovset
harmonized. Docs update/improved.
2023-04-18Removed unneeded custom size type in maps and bits.h. Prepared for possible ↵Tyge Løvset
robin-hood impl. Improved sso_bench.c testing string hash - twice as fast as m.ankeln robin impl !?.
2023-04-10Improved naming consistency: fixed rawkey - keyraw confusion (mostly internal).Tyge Lovset
2023-04-03Split priv/template.h in two files to make mksingle.sh work.Tyge Løvset
2023-04-01Update of stc/extend.hTyge Lovset
2023-03-31Added stc/extend.h: A generalized way to type-safely extend a container with ↵Tyge Lovset
new members which can be accessed from the template parameters. See examples/functor.c
2023-02-24Allow to have both i_no_cmp and i_eq defined.Tyge Løvset
2023-02-18Fixed carc, cbox: no need for no_lookup and no_eq: use only no_cmp, no_hash ↵Tyge Løvset
if needed.
2023-02-16Reverted and removed maps put function. Renamed clist node api functions. ↵Tyge Løvset
Minor fix in template.h
2023-02-11Some more docs. Renamed (half-)internal template parameter i_size => ↵Tyge Løvset
i_ssize. Updated external cpp maps for benchmarks.
2023-02-07Small adjustment for i_allocatorTyge Løvset
2023-02-07Added custom allocator per container type.Tyge Løvset
2023-02-02Fixed to allow int64_t sized maps. (defaults to 32-bit).Tyge Løvset
2023-02-01Massive update from unsigned sizes and indices to signed.Tyge Lovset
2023-01-18Improved messages.Tyge Løvset
2023-01-18Improved error messages.Tyge Løvset
2023-01-04Bump to 2023Tyge Løvset
2022-12-20Restructured folders: examples, benchmarks, tests into misc folder.Tyge Lovset