summaryrefslogtreecommitdiffhomepage
path: root/include/stc/carc.h
AgeCommit message (Collapse)Author
2022-05-19Added _toval() in carc and cbox. Added dynamic polymorphism example, shape.c.Tyge Løvset
2022-05-18Formatted carc.h cbox.h: also simplified; removed _get() -> was same as ↵Tyge Løvset
_toraw(), see template.h diff.
2022-05-02Fixed undefined behaviour (but working) code in carc.Tyge Løvset
2022-04-27Docs only update for carc/cbox.Tyge Løvset
2022-04-27Final fixes to carc and cbox; Reverted constructor name to make; (similarity ↵Tyge Løvset
to make_shared/make_unique in c++).
2022-04-27Removed cbox_X_make() and carc_X_make() when i_rawval was not defined, i.e. ↵Tyge Løvset
like emplace is removed in other containers.
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-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-21Switched to use i_key as primary template type parameter for all containers. ↵Tyge Løvset
Only maps will actually use i_val. Users can still specify i_val for non-maps, so there are no usability changes, other than the option to use i_key always, which makes the implementation and switching between container types simpler.
2022-04-20Final carc / cbox cleanup.Tyge Løvset
2022-04-20Some cleanup after carc / cbox updates.Tyge Løvset
2022-04-19Renamed cbox_new/carc_new to cbox_make/carc_make. Disabled container emplace ↵Tyge Lovset
on arcbox elements.
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-10Parenthesized args in calls to i_cmp(x, y), i_eq(x, y) and i_hash(x, len) - ↵Tyge Løvset
can be defined as macro without parenthesized args.
2022-04-02Internal refactoring/macro rename.Tyge Lovset
2022-04-01Simplified internal logic on enabling default cloningTyge Løvset
2022-03-24Misc. small internal API renaming/refactoring and additions.Tyge Løvset
2022-03-16Bugfix: carc and cbox cmp functions had bug.Tyge Løvset
Renamed: i_key_sptr / i_val_sptr to i_key_arcbox / i_val_arcbox. Other smaller updates.
2022-03-04Updated printf formatting to portable code. This was also to use ↵Tyge Løvset
http://winlibs.com gcc+clang with ucrt runtime-libs without warnings.
2022-01-13Fix a potential compilation bug in cbox/carc.Tyge Løvset
2022-01-13Fixed missing i_eq default setting in template.h, carc and cbox. ↵Tyge Løvset
cstr_substr_utf8 added.
2022-01-03Bump to 2022.Tyge Løvset
2022-01-02Simplified and improved linkage configuration. Reorganized crandom.h a bit.Tyge Løvset
May define "i_opt c_shared", or "i_opt c_static" to specify individual container linkage, based on if STC_HEADER is defined, i.e static linkage is default, STC_HEADER defined makes shared symbols default.
2021-12-23Removed emplace functions if not i_valraw or i_keyraw is defined. ↵Tyge Løvset
Safety/optimize measure.
2021-12-22Renamed csptr to carc. i_key/val_ref renamed to i_key/val_sptr. Change ↵Tyge Løvset
inspired by Rust Arc/Rc. cbox name is taken from Rust Box type.