summaryrefslogtreecommitdiffhomepage
path: root/include/stc/cmap.h
AgeCommit message (Collapse)Author
2023-09-05Renamed (half)internal functions:Tyge Løvset
cfasthash() => stc_hash() cstrhash() => stc_strhash() cnextpow2() => stc_nextpow2()
2023-08-15Fixed c_i2u() didn't trigger -Wsign-conversion warning.tylov
2023-08-08Reverted cco_cleanup => cco_final. (cco_cleanup deprecated).Tyge Løvset
Updated generator.c example. Misc internal refactoring.
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-26Added cmap_emplace_key() / csmap_emplace_key()tylov
More docs.
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-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-29Update extern benchmark maps.Tyge Løvset
Removed i_expandby in cmap. Always expand by 2 i.e 2^n buckets..
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-27Reshuffled code in csmap.h and cmap.hTyge Løvset
2023-04-27removing compiler warning ++.Tyge Løvset
2023-04-26Internal.Tyge Lovset
2023-04-24Fixed another cmap issueTyge Løvset
2023-04-24Set i_expandby 2 by default.Tyge Løvset
2023-04-23Tuned cmap.h and hash function.Tyge Løvset
2023-04-22Fixed a regression bug in cmap_X_contains()-Tyge Løvset
2023-04-21Householding.Tyge Løvset
2023-04-20cmap Updates to dev43 standard.Tyge Løvset
2023-04-20Minor internal cmap updates.Tyge Løvset
2023-04-19Internal refactoring in cmap. Should be easy to convert to robinhood hash ↵Tyge Løvset
from here.
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-03-22Added c_foreach_r() macro for reverse iter of cvec, cdeq, cstack.Tyge Løvset
Moved c_find_if, c_erase_if, c_eraseremove_if to algo/filter.h Internals.
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-07removed c_ALLOC_N()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-19Some "internal" macros in ccommon.h made all caps.Tyge Løvset