summaryrefslogtreecommitdiffhomepage
path: root/include/stc/clist.h
AgeCommit message (Collapse)Author
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
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-29Internal: Changed using i_keyraw to using _cx_raw or _cx_rawkey typedefs: ↵Tyge Lovset
avoids problem when i_keyraw is pointer.
2022-05-13constness and code formatting.Tyge Lovset
2022-05-05Added type-checked c_container_of() macro using typeof (C23, gcc, clang, ↵Tyge Løvset
tcc). c_unchecked_container_of() must be used by lib.
2022-05-03Minor adjustments to previous commit.Tyge Løvset
2022-05-03Added push front/back of existing nodes.Tyge Løvset
2022-05-02Fix linkage issue with clist_X_count().Tyge Løvset
2022-04-28_i_implement moved to user-level template parameter as i_implement. Removed ↵Tyge Løvset
i_opt flag c_implement. Removed OLD include/alt/clist.h
2022-04-22Readded push()/emplace() to all containers missing them. Made _hash function ↵Tyge Løvset
required for i_key_bind, _eq is derived from _cmp.