summaryrefslogtreecommitdiffhomepage
path: root/include/stc/template.h
AgeCommit message (Collapse)Author
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
2022-11-15More internal cleanup and fixes for cbox and carc.Tyge Løvset
2022-11-14Internal update.Tyge Løvset
2022-10-29Small adjustments in template.hTyge Løvset
2022-10-27Merge branch 'master' of github.com:tylov/STCTyge Løvset
2022-10-27Some more tuning of template.h.Tyge Løvset
Need to specify i_rawclass in order to bind i_keyraw type to _cmp() and _hash() functions, otherwise just specify i_keyraw.
2022-10-25More and hopefully final fixes of cbox/carc.Tyge Løvset
API change: _from = _make, _new => _from
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-24Generalized i_key_class and i_key_arcbox scheme.Tyge Løvset
2022-10-21Fixed wrong formatting of 64bit values various places.Tyge Løvset
Finialized cbox/carc issues.
2022-10-20Reverted some of the changes, but works now well.Tyge Løvset
2022-10-20Fixed previous commit, and city.c example.Tyge Løvset
2022-10-20Fixed some inconsistencies, and a minor bug in cmap.Tyge Løvset
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-10Renamed template parameter i_cap => i_capacityTyge Løvset
2022-09-02Change: carc and cbox defaults to pointer comparison when none of i_cmp, ↵Tyge Løvset
i_less or i_eq is specified. This removes annoying requirement.
2022-08-12More misc changes carc/cbox, cdeq/cvec.Tyge Lovset
2022-08-11Fixed issue with cbox / carc. Minor update some examples.Tyge Løvset
2022-08-11Completed support for i_less().Tyge Løvset
2022-08-08Reverted a minor change in template.hTyge 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-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-06Version 3.7. Make sure to check NEWS/Changes in README.md for a few ↵Tyge Løvset
code-breaking API changes.
2022-06-17Various refactoring. Renamed c_apply_arr() => c_apply_array()Tyge Løvset
2022-06-01Converted all files with DOS line endings to LINUX.Tyge Løvset
2022-06-01Added src/libstc.c which implements all non-templated functions (e.g. from ↵Tyge Løvset
cstr, csview, cbits, crandom), but also clist.h mergesort. - Linking with this object file eliminates the need to define i_implement in one file for these types (or i_extern for non-templated functions in templated container, currently only clist.h)
2022-05-30Large refactoring on strings / utf8 and some file structure.Tyge Lovset
2022-05-19Some extra test on template params. Update shape.c example.Tyge Løvset
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-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-12Fixed issues with i_keyfrom/i_valfromTyge Løvset
2022-05-12Reverted some back, and made c_less_cmp() safer.Tyge Løvset
2022-05-11Added robustness (hopefully).Tyge Løvset
2022-05-11Added i_less template param as alternative to i_cmp.Tyge Løvset
2022-04-29cmap/csmap cleanup incl. docs.Tyge Løvset
2022-04-28Finalized template.h logic.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-27Simplifications possible due to previous commit.Tyge 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-27Internal string container clone optimization.Tyge Løvset
2022-04-24Created VERSION 3.5. See News section in docs for changes.Tyge 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-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-21Fix for i_key_bind hash and eq functions.Tyge Løvset
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-21Fixed missing i_valclone -> i_keyclone copy when specifying i_val for sets ↵Tyge Lovset
(instead of i_key).
2022-04-20Minor adjustments.Tyge Løvset