summaryrefslogtreecommitdiffhomepage
path: root/docs/cmap_api.md
AgeCommit message (Collapse)Author
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().
2022-04-15Updated README.md docs on template args! Reverted to put() as alias for ↵Tyge Løvset
insert_or_assign() for maps. Reverted/added push_back()/emplace_back()/pop_back() to cstack.
2022-04-09- Switched from .._put() to .._push() as the "generic" method to add ↵Tyge Løvset
element to any container. - Changed clist_X_insert()/emplace() to clist_X_insert_at()/emplace_at() to make it consistent with cvec/cdeq. - Updated documentation.
2022-03-01Fixed two minor bugs in cmap_api.md docs examples.Tyge Løvset
2022-02-06Misc improvements.Tyge Løvset
2022-01-05Added docs on checkauto util program. Renamed (mainly internal) c_rawstr ↵Tyge Løvset
type to crawstr.
2021-12-29Fixed minors in map docs.Tyge Løvset
2021-12-29Some more docs.Tyge Løvset
2021-12-22Renamed '_rawvalue\b' to '_raw'Tyge Løvset
2021-12-22Changed the c_apply() and c_apply_pair() to one new c_apply() API. Added ↵Tyge Løvset
c_pair(v) for convenience.
2021-12-20Update cmap_api.mdTyge Løvset
2021-12-20Some small addition to constness in API. Updated docs.Tyge Løvset
2021-12-19Global rename of `_equ\b` => `_eq`. In practice `i_equ` must renamed to ↵Tyge Løvset
`i_eq` in user code if used.
2021-12-19First commit for Version 3 of STC. Main changes are consistent rename of ↵Tyge Løvset
'_del' to '_drop' and '_compare' to '_cmp'. Also i_key_ref (earlier i_key_sptr) and i_val_ref replaced by more general i_key_bind/i_val_bind.
2021-12-13Renamed constructor *cstr_lit()* to `cstr_new(lit)`.Tyge Løvset
Renamed *cstr_assign_fmt()* to `cstr_printf()`. Renamed cbits_from_str() to cbits_from().
2021-12-02Update cmap_api.mdTyge Løvset
2021-12-02Breaking changes for i_fwd and i_cmp_none:Tyge Løvset
- Removed: i_cmp_none and i_fwd (replaced by c_no_compare and c_is_fwd args to i_opt). - Added compile-time disabling of clonable and comparable container elements, controlled by i_opt (c_no_clone | c_no_compare) - Added i_opt: can define multiple compile-time options: c_no_compare, c_no_clone, c_no_atomic, c_is_fwd: may be combined with | separator. - Except for csptr, when i_del / i_valdel / i_keydel is defined, also i_from / i_keyfrom / i_valfrom must be defined or i_opt c_no_clone. - For struct elements, either i_cmp must be defined (as before), or define i_opt c_no_compare for non-associative containers.
2021-11-23Renamed c_default_hash32/64 to c_hash32/64. Old are deprecated (still ↵Tyge Løvset
available).
2021-11-21Changed reverse() and resize() to return false if mem alloc failed.Tyge Løvset
2021-11-03Renamed cnt_X_getmut() to cnt_X_get_mut().Tyge Lovset
2021-11-03Update container_X_getmut() for mutable version.Tyge Løvset
2021-11-03Changed container_X_get() and container_X_at() to return const value* (or ↵Tyge Løvset
const mapped*). Added container_X_getmut() for mutable version. Updated docs.
2021-10-30Fixed docs alignments.Tyge Løvset
2021-10-29Swapped .._equals() and _equalto() functions for consistencyTyge Løvset
2021-10-29Renamed ..._value_t -> ..._value, etc. Deprecated, still works for cvec, ↵Tyge Løvset
cdeq, cmap, csmap, cslist
2021-10-13Maintenance update. template.h now includes cstr.h when i_key_str or ↵Tyge Løvset
i_val_str is defined. Minor optimizations.
2021-10-05Changed recommended order of defining template parameters.Tyge Løvset
2021-09-23Cleanup: Replaced c_emplace() macro with more general ↵Tyge Løvset
c_apply()/c_apply_pair() macros, and removed c_var() macro. Removed CX_emplace_items() member functions in containers used by c_emplace().
2021-09-21Added copy(self, other) function to all containers. Fixed some docs.Tyge Løvset
2021-09-21Fixed input args documentation. Fixed carr2 and carr3 clone functions.Tyge Løvset
2021-09-20Renamed macros: breaking changes for Version 2.0!Tyge Lovset
c_forvar => c_autovar c_forscope => c_autoscope c_forauto => c_auto Removed: c_fordefer(x); use c_forscope(0, x) instead. Added: c_exitauto; // continue
2021-09-19Replaced the two csptr doc examples with a better one. Same as sharedptr.c ↵Tyge Løvset
in examples.
2021-09-19Fixed errors caused by gcc -std=c99 -pedantic.Tyge Løvset
2021-09-17Fixed a doc bug and improved example.Tyge Løvset
2021-09-17Updated docs.Tyge Løvset
Added i_key_csptr, i_val_csptr input macros for very easy usage of shared pointers in containers.
2021-09-11Fixed docs for newstyle.Tyge Løvset
2021-09-09Fix c_rawstr_hash docs.Tyge Løvset