summaryrefslogtreecommitdiffhomepage
path: root/docs/cmap_api.md
AgeCommit message (Collapse)Author
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-11More docs improvements.Tyge Løvset
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-02Fixed to allow int64_t sized maps. (defaults to 32-bit).Tyge Løvset
2023-02-01Update docs formatting and README.mdTyge Løvset
2023-02-01Massive update from unsigned sizes and indices to signed.Tyge Lovset
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-12docs and utf8 updates.Tyge Løvset
2023-01-06Removed swap() function from all containers. Use safe c_SWAP() macro instead.Tyge Løvset
2023-01-04Improved a few examples.Tyge Løvset
2022-12-23Experimental uppercase macros.Tyge Løvset
2022-12-20Renamed (reverted) cstr_new(lit) => cstr_lit(lit). Old name is deprecated ↵Tyge Løvset
(supported for now).
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-06Improved documentation of template parameters for all containers.Tyge Løvset
2022-11-03Made cmap i_max_load_factor a compile time template parameter instead of ↵Tyge Løvset
runtime. Enables cmap to be NULL initialized. Currently only cvec/cdeq and csmap cannot be NULL initialized, but eventually they will.
2022-10-28Renamed some semi-internal functions which appeared to be macros by their name.Tyge Løvset
2022-10-24API CHANGE: Renamed input params for naming consisteny and usage:Tyge Løvset
i_key_class TYPE => i_keyclass TYPE i_val_class TYPE => i_valclass TYPE i_key_arcbox TYPE => i_keyboxed TYPE i_val_arcbox TYPE => i_valboxed TYPE i_key_bind, i_val_bind are removed.
2022-10-20Switch from #define i_val_bind to i_val_class and i_key_class.Tyge Løvset
i_val_bind/i_key_bind is deprecated but available for now.
2022-10-19- Removed deprecated carc_make and cbox_make (replaced by carc_from, cbox_from)Tyge Løvset
- Some improvements to template.h - Many smaller improvements to examples and docs.
2022-09-26Deprecated c_pair() macro. Replaced with c_PAIR(), analogous to c_ARGsv() ↵Tyge Løvset
macro which are both unsafe regarding side effects on arg.
2022-09-23Deprecated c_forarray, c_forarray_p macros - both replaced by c_forlist, and ↵Tyge Løvset
is consistent with other c_for* macros.
2022-09-22Updated _advance() iter methods. Some have signed offsets.Tyge Løvset
utf8_peek()/utf8_peek_off() added/changed.
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-08-08Reverted a minor change in template.hTyge Løvset
2022-08-08Reverted `{{` to `{ {` in documentation as markdown treats it special.Tyge Løvset
2022-08-07Refined template.h when specifying i_key_bind (and i_val_bind): i_keyclone ↵Tyge Løvset
becomes defined `c_derived_keyclone` when i_keyfrom is defined, i.e. you don't have to define both, but you can. Improved cmap docs.
2022-08-07Internal: moved some functions in csview/cstr to implementation sections.Tyge Løvset
2022-08-06c_apply() deprecated: replaced with c_forarray() macro. Updated and improved ↵Tyge Løvset
README.md docs.
2022-08-05Reduce usage of c_apply() macro.Tyge Løvset
2022-07-15cmap: No longer uses c_umul128. If `i_size` is defined by user, table is ↵Tyge Lovset
power of 2 length and bit-masking used for mapping hash to index.
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-01Update docs on i_implement / shared linking.Tyge Løvset
2022-06-01Update docs regarding i_implement for cstr, cview, cbits, ...Tyge Løvset
2022-05-24Changed c_forpair(k, v, Map, map) so that k and v are pointers instead of ↵Tyge Løvset
values. This to make it consistent with c_foreach, c_apply, c_apply_arr.
2022-05-12i_keyfrom/i_valfrom no longer used with i_key_bind/i_val_bind. Is considered ↵Tyge Løvset
optional for enabling emplace.
2022-05-02More doc fixes on i_keyclone, i_keyfrom and i_valclone, i_valfromTyge Løvset
2022-04-27Finally FIXED cloning/to/from scheme to work properly. When using ↵Tyge Løvset
i_key_bind/i_val_bind, a .._clone() function *must* always be defined. Functions .._from and .._toraw is only required when i_keyraw/i_valraw type is defined.
2022-04-25Removed size argument to `i_hash` template parameter and `c_default_hash`. ↵Tyge Løvset
This was a "design error", and is not worth keeping for backward compability. Please update your code where you use i_hash template parameter (simply remove second argument).
2022-04-25Final cstr_str() docs update..Tyge Løvset
2022-04-24Updated docs to use cstr_str(&s) instead of s.strTyge Løvset
2022-04-23Integrated (and removed) c_hash32 and c_hash64 into c_default_hash, which is ↵Tyge Løvset
improved. Added i_key_ssv and i_val_ssv (cstr with csview as raw-type).
2022-04-22Changed API for c*map_X_push() to take a entry pair (c*map_X_value) argument ↵Tyge Løvset
instead of key + val.
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.
2022-04-18Renamed newly added map function put_r() to put_raw() - alias for ↵Tyge Lovset
emplace_or_assign() for symetri with insert_or_assign()/put(). Experimental, may be removed.
2022-04-18Removed i_drop and i_from template specifiers to reduce redundancies and add ↵Tyge Lovset
clarity (error given if used): use i_valdrop/i_valfrom and i_keydrop/i_keyfrom instead. Added missing at_mut() function to cdeq.
2022-04-17alt/cstr.h (sso string): added cstr_replace_all(). Header examples updated ↵Tyge Løvset
to use cstr_str(&s) instead of s.str. Some docs updates.
2022-04-16Added at_mut() to some containers. Added put_r() to cmap, csmap as alias for ↵Tyge Løvset
emplace_or_assign().