summaryrefslogtreecommitdiffhomepage
path: root/include/stc/cdeq.h
AgeCommit message (Collapse)Author
2023-08-08Optimized cdeq insert (in the middle) functions.tylov
2023-07-27An improvement in cvec/cdeq insert_uninit() impl.tylov
2023-07-27Added docs for "pull" functions.tylov
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-12Changed docs and examples to use i_key* template parameters instead of ↵tylov
i_val* for all non-maps. Renamed c_ASSERT() to c_assert() and added optional message parameter to c_static_assert().
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-14Fixed a bug in cco_await_on(), and added _pull() function to random access ↵Tyge Løvset
containers (moves element out of container, ie no drop).
2023-06-09Fixed issues with linking params i_implement, i_extern.Tyge Løvset
2023-05-19Minor cbits change.Tyge Lovset
2023-05-19Added container equality function to docs _eq(c1, c2).Tyge Lovset
2023-05-19Fixed an iter return bug in cdeq_insert_uninit().Tyge Lovset
2023-05-18Fixing find_in() in cdeq, and add support c_eraseremove_if() for cqueue and ↵Tyge Løvset
cdeq.
2023-05-18Huge update: cqueue and cdeq completely rewritten. cvec and cdeq API ↵Tyge Lovset
harmonized. Docs update/improved.
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-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-29Removed i_less_functor, i_cmp_functor, i_eq_functor and i_hash_functor: not ↵Tyge Lovset
needed. Simplified cvec_X_eq() and cdeq_X_eq()
2023-02-24Added eq function to cspan.Tyge Løvset
Final cleanup normalized var naming.
2023-02-24Added eq function to cdeq, clist, cmap, csmap, and fixed cmap eq.Tyge Løvset
2023-02-24Allow to have both i_no_cmp and i_eq defined.Tyge Løvset
2023-02-20Added c_eraseremove_if() for cvec, cdeq, cstack, cqueue in ccommon.h. Some ↵Tyge Løvset
cleanup.
2023-02-07Added custom allocator per container type.Tyge Løvset
2023-02-01Massive update from unsigned sizes and indices to signed.Tyge Lovset
2023-01-31Converted all containers but the maps and examples to signed sizes and indices.Tyge Løvset
2023-01-31Reverted c_MALLOC, c_CALLOC, c_REALLOC and c_FREE to lowercase.Tyge Løvset
2023-01-27(Reverted) c_COMPOUND() to c_LITERAL().Tyge Løvset
2023-01-19Finish last commit. Most safe function macros are now preferred lowercase, ↵Tyge Løvset
whereas flow control macros (c_FOREACH, ..) are preferred uppercase.
2023-01-19Add a from_n() method to containers (and put_n() to maps), to support new ↵Tyge Løvset
initialization.
2023-01-06Removed swap() function from all containers. Use safe c_SWAP() macro instead.Tyge Løvset
2023-01-04Bump to 2023Tyge Løvset
2022-12-31Internally renamed ccommon.h macros to uppercase. Lowercase macros are still ↵Tyge Løvset
supported via include/stc/priv/lowcase.h.
2022-12-20Restructured folders: examples, benchmarks, tests into misc folder.Tyge Lovset
2022-12-19Renames:Tyge Løvset
cstr_null => cstr_NULL csview_null => csview_NULL cstr_npos => c_NPOS csview_npos => c_NPOS c_ARGsv(sv) => c_ARGSV(sv) c_init(x) => c_INIT(x)
2022-11-23Fixed a bug in cdeq after internal data-rep change.Tyge Løvset
2022-11-22Fixes of -Wconversion warnings (not examples).Tyge Løvset
2022-11-21Changed internal representation of cdeq. All containers in STC can now be ↵Tyge Løvset
initialized with {NULL}.
2022-11-14Internal update.Tyge Løvset
2022-11-13Reverted forward declaration from c_declare_X back to c_forward_X, and the ↵Tyge Løvset
flag "i_opt c_declared" to "i_opt c_is_forward". Sorry about this, but hopefully not a widely used feature for most yet.
2022-11-03Renamed forward_CONTAINER(...) => declare_CONTAINER(...),Tyge Løvset
and c_is_fwd => c_declared, for the i_opt option define.
2022-10-28Renamed semi-internal macro (used for c++ compability) c_make => c_init.Tyge Løvset
2022-09-25Added: crange number generator type. (similar to c++ std::iota). Fixed ↵Tyge Løvset
c_forfilter again. Cleanups. Docs added.
2022-09-23Added assert() checks in pop-functions.Tyge Løvset
2022-09-23Enabled iteration on cqueue (like with cstack).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-02Change: carc and cbox defaults to pointer comparison when none of i_cmp, ↵Tyge Løvset
i_less or i_eq is specified. This removes annoying requirement.
2022-08-16Minor polishing.Tyge Løvset
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*.