summaryrefslogtreecommitdiffhomepage
path: root/include/stc/csmap.h
AgeCommit message (Collapse)Author
2023-07-26Added cmap_emplace_key() / csmap_emplace_key()tylov
More docs.
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-23Updated docs to reflect changes in cstr linking shared.Tyge Lovset
2023-05-01Remove warnings when using -Wextra.Tyge Løvset
2023-04-28Removed crandom.h and altnames.h. Housholding.Tyge Løvset
2023-04-27Reshuffled code in csmap.h and cmap.hTyge 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-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-03-26Remove more c_with, c_autoTyge 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-16Reverted and removed maps put function. Renamed clist node api functions. ↵Tyge Løvset
Minor fix in template.h
2023-02-15Cleaned up in size-types. API always uses intptr_t as default for all ↵Tyge Løvset
containers.
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-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-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
2023-01-03- Removed nomem_error member in csmap and cmap_X_result; test for res.ref == ↵Tyge Løvset
NULL instead! - Corrected handling of malloc/realloc failure in both csmap/cmap.
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-27removed csmap_X_value_cmp(): doesn't work with i_cmp_functor, and not needed ↵Tyge Løvset
for now.
2022-11-22Fixes of -Wconversion warnings (not examples).Tyge Løvset
2022-11-14Internal update.Tyge Løvset
2022-11-13Simplified csview API and usage. Fixed c++ compilation of csmap.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-05Added possibility to have per container-instance customizable compare/lookup ↵Tyge Løvset
functions (cmp, less, eq, hash) for priority queue and associative containers. Is achived by embedding the container in a struct along with function pointer(s) which can be accessed through the c_container_of() macro. See the updated cpque.c example in the examples folder.
2022-11-04csmap: bug fix from previous commit: forgot to init zero-node (1st node in ↵Tyge Løvset
array)
2022-11-03Changed internal representation of csmap.Tyge Løvset
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-10-07Fixed a bug in csmap.h regarding #ifndef _i_emplace.Tyge Løvset
Updated a few external maps for benchmarks.
2022-09-21Added cstr_push(), cstr_pop() - push/pop one utf8 char.Tyge Løvset
Renamed c_forpred() to c_forloop() - used by c_forfiltered().
2022-08-13Experimental: Renamed c_autovar => c_with, c_autoscope => c_scope, ↵Tyge Løvset
c_autodefer => c_defer. May or may not be reverted before V4.0 release.
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-27Fixed bug in csmap.h: begin() on empty map not inited correctly. Moved ↵Tyge Løvset
cstr_from_sv() from csview.h to cstr.h
2022-06-01Converted all files with DOS line endings to LINUX.Tyge Løvset