summaryrefslogtreecommitdiffhomepage
path: root/include/stc
AgeCommit message (Collapse)Author
2022-01-07Some renaming in cregex API. Added match function. Made utf8 operations ↵Tyge Løvset
branchless.
2022-01-06Added customized version of the awesome regex lib by Fabian van Rissenbeck.Tyge Løvset
2022-01-06Modified c_autovar() macro to accept var of incomplete pointer type.Tyge Løvset
2022-01-05Added docs on checkauto util program. Renamed (mainly internal) c_rawstr ↵Tyge Løvset
type to crawstr.
2022-01-04Fixed csview hash func.Tyge Løvset
2022-01-04Removed two more false positive gcc -O2 warnings. Improved c_forpair macro. ↵Tyge Løvset
Updated checkauto.ll.
2022-01-03Bump to 2022.Tyge Løvset
2022-01-03"gcc/clang -O2 -Wall -std=c99 -pedantic" compiles examples with no warnings. ↵Tyge Løvset
More cleanups.
2022-01-03Regression in csmap, and possible cvec in last commit. Reverting.Tyge Løvset
2022-01-03Removed many warnings (mainly linux), and some minors.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.
2022-01-01Corrected linking macro settings.Tyge Løvset
2021-12-31Added alias functions push_back and pop_back to cstack + docs update.Tyge Løvset
2021-12-30Renamed c_default_clone to c_default_from (mostly used internally).Tyge Løvset
2021-12-30Update docs and impl. of cpque.hTyge Løvset
2021-12-29Removed warnings for MS cl -W2 and clang -pedantic -std=c99. No functional ↵Tyge Løvset
changes.
2021-12-29Update of README.md docs describing version 3.Tyge Løvset
2021-12-29Fixed and simplified csview tokensizer call.Tyge Løvset
2021-12-28Some renaming of new features in previous commit.Tyge Løvset
2021-12-23Fix new_sptr.c example.Tyge Løvset
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.
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-21Minor improvement.Tyge Løvset
2021-12-21Fixed and simplified cbox and csptr.Tyge 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-16Changed default comparison of csbox and csptr objects to comparing addresses ↵Tyge Løvset
to containing objects. If i_cmp is defined, it is used instead.
2021-12-15Some improvements in cvec and cpque.Tyge Løvset
2021-12-14Fixed bug in cbits_to_str().Tyge Løvset
2021-12-14Fixed silly bug in cpque_X_pop(). Thanks to matthieugras. Added ↵Tyge Løvset
cpque_X_shrink_to_fit(). Fixed memory leak in example box2.c
2021-12-14Added and renamed some examples.Tyge Løvset
2021-12-14cstr_printf() now returns int like printf(). Minor updates in sharedptr.c ↵Tyge Løvset
example.
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-12Fixed the source of the problem for the ptr_elems.c example bug.Tyge Løvset
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-12-02shared_ptr atomic count: Using stdatomics.h for other compilers than gcc, ↵Tyge Løvset
clang or msvc.
2021-12-02Merge branch 'master' of github.com:tylov/STC into masterTyge 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-26internal renamingsTyge Løvset
2021-11-26Fixed atomic_decrement final.Tyge Løvset
2021-11-26Bugfix of c_atomic_decrement() asm version in csptr.h. Some cleanupTyge Løvset
2021-11-25Updated int params constness. Updated random.c example.Tyge Løvset
2021-11-24Deprecated c_no_compare(). Define i_cmp_none instead when you have/want no ↵Tyge Løvset
element comparison for cvec, cdeq, clist, csptr. Will give compile time error if functions depending on comparisons are used.
2021-11-23Renamed c_default_hash32/64 to c_hash32/64. Old are deprecated (still ↵Tyge Løvset
available).
2021-11-23BUGFIX: c_default_hash32() was buggy in ccommon.h - fixed.Tyge Løvset
2021-11-21Moved a line.Tyge Løvset
2021-11-21BREAKING CHANGE: Replaced c_new(T) with c_new(T, ...). This now is similar ↵Tyge Løvset
to the c++ new operator. The previous c_new(T) is renamed to c_alloc(T), and c_new_n(T,n) => c_alloc_n(T,n). Old usage of c_new() will fail as it requires additional argument. Sorry for the inconvenience.