summaryrefslogtreecommitdiffhomepage
path: root/include/stc/priv
AgeCommit message (Collapse)Author
2023-09-06Renamed c_LTu(a, b) => c_less_unsigned(a, b)Tyge Løvset
Renamed c_u2i(i) => c_u2i_size(u) Renamed c_i2u(i) => c_i2u_size(i)
2023-09-05Renamed (half)internal functions:Tyge Løvset
cfasthash() => stc_hash() cstrhash() => stc_strhash() cnextpow2() => stc_nextpow2()
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-13Fixed cqueue.h: cqueue_X_copy() was not defined inside a `c_no_clone` check.tylov
Reverted to 2X expansion for cvec to compete with gcc speed.
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-08Reverted cco_cleanup => cco_final. (cco_cleanup deprecated).Tyge Løvset
Updated generator.c example. Misc internal refactoring.
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-23Internal: Reorganized cqueue and cdeq: spliced out header and impl in ↵tylov
cqueue.h to priv/cqueue_hdr.h and priv/cqueue_imp.h.
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-07-02Update in coroutine API. cco_yield, cco_await, cco_await_on, cco_block_on ↵Tyge Løvset
has changed. cco_final: renamed => cco_cleanup: Reverted i_retain template param back to => i_more.
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-20Renamed `i_more` => `i_retain` (avoids undef of template parameters on next ↵Tyge Løvset
STC container inclusion).
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-06-11Added priv/linkage.h and renamed priv/template2.h => priv/template_undef.h.Tyge Løvset
Make all examples c++ compatible, except those using cspan.h Removed: crange_obj() Renamed: crange_make() => crange_init() Renamed: cspan_make() => cspan_init() Renamed: cstr_NULL => cstr_null Renamed: csview_NULL => csview_null
2023-06-09Rename i_extern template flag to i_import. i_extern still available, but ↵Tyge Løvset
deprecated.
2023-05-24Fixes for clang compiler.Tyge Løvset
2023-05-18Huge update: cqueue and cdeq completely rewritten. cvec and cdeq API ↵Tyge Lovset
harmonized. Docs update/improved.
2023-05-13File priv/raii.h no longer included by stc/ccommon.h, instead moved to ↵Tyge Løvset
stc/algo/raii.h and included by stc/calgo.h
2023-04-28Removed crandom.h and altnames.h. Housholding.Tyge Løvset
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-05Internal: renamed untemplate.h to template2.hTyge Løvset
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-03-26development branch for 4.2Tyge Løvset
Removed uses of c_auto and c_with in documentation examples and code examples. Still using c_defer a few places. Renamed c11/fmt.h to c11/print.h. Some additions in ccommon.h, e.g. c_const_cast(T, x). Improved docs.
2023-03-12Safer state machine in coroutine.h (internal).Tyge Løvset
Removed c_forwhile() macro. Redundant, use c_forfilter(). Removed find and eq in cspan (use general c_find_if() instead for search).
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-13Removed support for uppercase version of c_sv() (i.e c_SV => c_sv).Tyge Løvset
Renamed c_ARGSV => c_SV. Old name is still working.
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-08Changed to use lowercase flow-control macros in examples (uppercase will ↵Tyge Løvset
still be supported). Improved many examples to use c_make() to init containers.
2023-02-07Small adjustment for i_allocatorTyge Løvset
2023-02-07Added custom allocator per container type.Tyge Løvset
2023-02-07removed c_ALLOC_N()Tyge Løvset
2023-02-05Some last minute changes: reverted mostly the c_extern from last commit.Tyge Løvset
Renamed c_ARGSV(sv) macro to c_SVARG(sv). Both available.
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-31Reverted c_MALLOC, c_CALLOC, c_REALLOC and c_FREE to lowercase.Tyge Løvset
2023-01-29Some method renaming in cspan: cspan_multidim() ctor => cspan_md(). ↵Tyge Løvset
cspan_atN() => cspan_submdN(). cstr_replace_ex() merged as overload of cstr_replace().