summaryrefslogtreecommitdiffhomepage
path: root/include/stc/clist.h
AgeCommit message (Collapse)Author
2023-08-15Fixed c_i2u() didn't trigger -Wsign-conversion warning.tylov
2023-07-15Improved warning, and other enhancements in ccommon.htylov
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-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-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-09Fixed issues with linking params i_implement, i_extern.Tyge Løvset
2023-05-18Huge update: cqueue and cdeq completely rewritten. cvec and cdeq API ↵Tyge Lovset
harmonized. Docs update/improved.
2023-04-28Removed crandom.h and altnames.h. Housholding.Tyge Løvset
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-30Added crand.h - Alternative API to crandom.h, which will be deprecated.Tyge Løvset
2023-03-13Added check for realloc failure in clist_sort().Tyge Løvset
2023-03-12Fix warning.Tyge Løvset
2023-03-12Replaced clist mergesort with qsort: no need for i_extern defined to include it.Tyge Løvset
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-17Improved clist: 1) added clist_X_sort_with(self, cmp) - custom compare func. ↵Tyge Løvset
2) shortened mergesort function.
2023-02-16Reverted and removed maps put function. Renamed clist node api functions. ↵Tyge Løvset
Minor fix in template.h
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-07Added custom allocator per container type.Tyge Løvset
2023-02-07removed c_ALLOC_N()Tyge Løvset
2023-02-05- Updated cspan.h to allow for compiling some functions as shared symbols.Tyge Løvset
- Fixed issue #45 warning -Wunused-parameter in clist.h - Fixed some issues with the singleheader.py generator.
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-05Added clist_X_get_node(valptr) to complete the node API.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-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-31Anorter minor fix in clist_X_erase_range()Tyge Løvset
2022-10-31Fixed bug in clist_X_erase_range().Tyge Løvset
2022-10-31Minor internal refactoring.Tyge Løvset
2022-10-31Improved typesafe c_container_of() macro.Tyge Løvset
2022-10-31Added clist_X_reverse() and node API functions ++. NB! needs a bit more testing.Tyge Løvset
2022-10-28Renamed semi-internal macro (used for c++ compability) c_make => c_init.Tyge Løvset
2022-09-23Added assert() checks in pop-functions.Tyge Løvset
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-11Code formatting only.Tyge Lovset
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-01Converted all files with DOS line endings to LINUX.Tyge Løvset