summaryrefslogtreecommitdiffhomepage
path: root/examples/inits.c
AgeCommit message (Collapse)Author
2022-12-20Restructured folders: examples, benchmarks, tests into misc folder.Tyge Lovset
2022-12-20Renamed (reverted) cstr_new(lit) => cstr_lit(lit). Old name is deprecated ↵Tyge Løvset
(supported for now).
2022-10-19Reverted back to c_forrrange from c_forloop. Still available but deprecated.Tyge Løvset
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-26DEPRECATED: c_forrange(): replaced with c_forloop(). This uses 'long long' ↵Tyge Løvset
as iter type, i.e. "%lld" printf format. crange_from() renamed to crange_make(). More docs.
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-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-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-01Reverted to default static linkage of non-templated symbols (cstr, csview, ↵Tyge Løvset
..), as it gives smaller executables and is convenient for small applications. (no need to define i_implement when functions is used in one translaton unit only).
2022-06-01Converted all files with DOS line endings to LINUX.Tyge Løvset
2022-06-01Forgot files from previous commit. NOTE: there may/will be some changes to ↵Tyge Løvset
names introduced, e.g. i_extern/STC_EXTERN may change. Also, I recently changed non-templated types to default external linking, *may* revert to default static again.
2022-05-30Done refactoring:Tyge Løvset
- Non-templated types (cstr, csview, cbits, crandom) have no longer default static linking. Now i_header is defined, i.e. files are as headers only. ==> Define `i_implement` before file inclusion. Still possible to do static linkage by defining `i_static` before inclusion or global STC_STATIC. - Templated containers still have static linkage by default. - Renamed csview_substr(), csview_slice() to csview_substr_ex(), csview_slice_ex(). Added simpler inlined csview_substr(), csview_slice().
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-22Changed c_apply(v, ..) macro to make it more consistent with c_apply_arr(v, ↵Tyge Løvset
..) and c_foreach (i, ..): v changed to a pointer - not value. Note: also c_pair(v) is changed correspondingly, so usage with c_apply(v) is unchanged.
2022-04-18Converted all example to use cstr_str(&s) instead of s.str to allow SSO ↵Tyge Løvset
string. Fixed misc warnings.
2022-03-25Modified (more) rarely used macros c_apply_cnt(v, ..) and c_apply_arr(v, ..) ↵Tyge Løvset
so that v is a reference that may modify the container items.
2021-12-29Removed warnings for MS cl -W2 and clang -pedantic -std=c99. No functional ↵Tyge Løvset
changes.
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-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-15Some improvements in cvec and cpque.Tyge Løvset
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-12- Added **cbox** type: container of one element: similar to std::unique_ptr ↵Tyge Løvset
/ Rust Box. - Replaced example for **csptr** in docs. - Added [**c_forpair**](docs/ccommon_api.md) macro: for-loop with "structural binding" as in c++. - Deprecated *csptr_X_make()*. Renamed to *csptr_X_new()*. Corresponding **cbox** method is *cbox_X_new()*. - Deprecated *c_default_fromraw(raw)*. Renamed to *c_default_clone(raw)*. - Deprecated `i_key_csptr` / `i_val_csptr`. Use `i_key_ref` / `i_val_ref` when specifying containers with **csptr** or **cbox** elements. - Deprecated `i_cnt`. Use `i_type` instead to define the full container type name. - Bugfixes and docs updates.
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-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-08Updated most examples to newstyle. Some changes in cpque/cstack.Tyge Løvset
2021-05-24Split c_fordefer() into c_forvar() and c_fordefer() macros.Tyge Løvset
2021-05-24Renamed c_with => c_fordefer, and removed c_withvar. Macros were too ↵Tyge Løvset
deceiving and hid the fact that it was for-loops. Now it is more explicit.
2021-05-18Added the new c_defer(), c_with(), c_withvar() macros into the examples.Tyge Løvset
2021-05-15API change: Renamed c_init() to c_var() to better describe it declares and ↵Tyge Løvset
initializes a container variable. Will create a version 2.0 RC release soon.
2021-04-17Changed c_emplace_items(&cont, ctype, {...}) macro with c_emplace(ctype, ↵Tyge Løvset
cont, {...}): consistent with c_init(ctype, cont, {...}).
2021-03-26Changed cpque declaration to using_cpque(X, Value, valueCompare), and ↵Tyge Løvset
valueCompare optional: more consistent with STC conventions.
2021-03-11Renamed public *_result_t struct member names in maps/sets for consistency ↵Tyge Løvset
with iterators.
2021-02-22Small changes. Added back csmap/cmap put() but now with Key,Mapped args (not ↵Tyge Løvset
RawKey,RawMapped).
2021-02-22Many internal renames. Reverted to specify both _del and _clone parameter ↵Tyge Løvset
when giving _del.
2021-02-21Renamed emplace_put() to emplace_or_assign(). May add put() as alias to ↵Tyge Løvset
insert_or_assign().
2021-02-20Renamed push_items to emplace_nTyge Løvset
2021-02-20Rewamp of cmap/csmap API. More to come.Tyge Løvset
2021-01-30Internal changes: removed use of cmap_inits and set_inits. Use cmap_x_init() ↵Tyge Løvset
and cset_X_init(). Minor changes in cvec, csmap, cstr, crandom.
2021-01-24Improved cvec cdeq. Must be initied with cvec_X_init() and cdeq_X_init(). ↵Tyge Løvset
Not cvec_inits. Improved docs.
2021-01-19Changed template args sequence in cmap.Tyge Løvset
2021-01-03Force template argument *clone* to be specified when *del* is specified for ↵Tyge Løvset
containers. Can be *c_no_clone* if clonable is not required.
2021-01-02Major upgrade: Added 'clone' template parameters to containers. Reorganized ↵Tyge Løvset
arg positions. Renamed csptr_X_share() to csptr_X_clone()
2020-12-30API change: Swapped destroy <-> compare function args in using_*() macros ↵Tyge Løvset
for cvec, cdeq, cptr and clist.
2020-12-17Renamed cpqueue (priority queue) container to cpque.Tyge Løvset
2020-12-17API change: Reverted back to original name used for .val in iterators to .refTyge Løvset
2020-11-26Removed stc/cfmt.h, as _Generic requires C11. I have made it a gist: ↵Tyge Løvset
https://gist.github.com/tylov/bcc956a4779f1d14204e66a14f17beb9 All examples are reverted to use printf() instead of c_print().