summaryrefslogtreecommitdiffhomepage
path: root/include/stc/cstack.h
AgeCommit message (Collapse)Author
2023-07-24Updated and fixed benchmarks and performance graphs.tylov
2023-07-12Changed docs and examples to use i_key* template parameters instead of ↵tylov
i_val* for all non-maps. Renamed c_ASSERT() to c_assert() and added optional message parameter to c_static_assert().
2023-06-20Internal only:Tyge Løvset
Renamed _cx_memb() macro to _cx_MEMB() Renamed _cx_self macro to _cx_Self
2023-06-14Fixed a bug in cco_await_on(), and added _pull() function to random access ↵Tyge Løvset
containers (moves element out of container, ie no drop).
2023-06-11Added priv/linkage.h and renamed priv/template2.h => priv/template_undef.h.Tyge Løvset
Make all examples c++ compatible, except those using cspan.h Removed: crange_obj() Renamed: crange_make() => crange_init() Renamed: cspan_make() => cspan_init() Renamed: cstr_NULL => cstr_null Renamed: csview_NULL => csview_null
2023-05-23Some house holding cleanup.Tyge Løvset
2023-05-21NB! Made cstr.h header-only by default. Now requires #define i_static, ↵Tyge Lovset
i_implement or i_extern (includes utf8code.c) to implement non-inline functions (or link with libstc).
2023-05-20Rename c_make() macro to c_init(). c_make still available, but deprecated.Tyge Løvset
2023-05-19Added container equality function to docs _eq(c1, c2).Tyge Lovset
2023-05-18Fixing find_in() in cdeq, and add support c_eraseremove_if() for cqueue and ↵Tyge Løvset
cdeq.
2023-04-28Removed crandom.h and altnames.h. Housholding.Tyge Løvset
2023-04-05Internal: renamed untemplate.h to template2.hTyge Løvset
2023-04-03Split priv/template.h in two files to make mksingle.sh work.Tyge Løvset
2023-03-31Added stc/extend.h: A generalized way to type-safely extend a container with ↵Tyge Lovset
new members which can be accessed from the template parameters. See examples/functor.c
2023-02-20Added c_eraseremove_if() for cvec, cdeq, cstack, cqueue in ccommon.h. Some ↵Tyge Løvset
cleanup.
2023-02-07Added custom allocator per container type.Tyge Løvset
2023-02-01Massive update from unsigned sizes and indices to signed.Tyge Lovset
2023-01-31Converted all containers but the maps and examples to signed sizes and indices.Tyge Løvset
2023-01-31Reverted c_MALLOC, c_CALLOC, c_REALLOC and c_FREE to lowercase.Tyge Løvset
2023-01-27(Reverted) c_COMPOUND() to c_LITERAL().Tyge Løvset
2023-01-19Finish last commit. Most safe function macros are now preferred lowercase, ↵Tyge Løvset
whereas flow control macros (c_FOREACH, ..) are preferred uppercase.
2023-01-19Add a from_n() method to containers (and put_n() to maps), to support new ↵Tyge Løvset
initialization.
2023-01-04Bump to 2023Tyge Løvset
2022-12-31Internally renamed ccommon.h macros to uppercase. Lowercase macros are still ↵Tyge Løvset
supported via include/stc/priv/lowcase.h.
2022-12-30More restructuring of files and cleanup. Moved carr2.h and carr3.h to ↵Tyge Løvset
misc/include/old/ as it is not among classic containers. Removed stctest.h: Recommending https://github.com/bvdberg/ctest instead.
2022-12-29Restructuring of some headers into include/algo folder. Some API changes ↵Tyge Løvset
*_replace*() functions have been renamed, and a few minor API changes.
2022-12-20Restructured folders: examples, benchmarks, tests into misc folder.Tyge Lovset
2022-12-19Renames:Tyge Løvset
cstr_null => cstr_NULL csview_null => csview_NULL cstr_npos => c_NPOS csview_npos => c_NPOS c_ARGsv(sv) => c_ARGSV(sv) c_init(x) => c_INIT(x)
2022-11-14Internal update.Tyge Løvset
2022-11-13Reverted forward declaration from c_declare_X back to c_forward_X, and the ↵Tyge Løvset
flag "i_opt c_declared" to "i_opt c_is_forward". Sorry about this, but hopefully not a widely used feature for most yet.
2022-11-03Renamed forward_CONTAINER(...) => declare_CONTAINER(...),Tyge Løvset
and c_is_fwd => c_declared, for the i_opt option define.
2022-10-28Renamed semi-internal macro (used for c++ compability) c_make => c_init.Tyge Løvset
2022-09-25Added: crange number generator type. (similar to c++ std::iota). Fixed ↵Tyge Løvset
c_forfilter again. Cleanups. Docs added.
2022-09-23Added assert() checks in pop-functions.Tyge Løvset
2022-09-22Updated _advance() iter methods. Some have signed offsets.Tyge Løvset
utf8_peek()/utf8_peek_off() added/changed.
2022-09-20Minor API change for fixed size cstack and cbits only.Tyge Løvset
2022-09-10Renamed template parameter i_cap => i_capacityTyge Løvset
2022-09-10Internal renamings to discourage use of private struct fields.Tyge Løvset
2022-09-02Removed cstack_X_push_back(), cstack_X_emplace_back(), cstack_X_pop_back().Tyge Løvset
Added a simple c_erase_if(). Removed deprecated c_apply() macro.
2022-08-18Some API updates cstr, csview with utf8. Added front()/back() to cstack.Tyge Lovset
2022-08-11Renamed all iter members ._end to .end, to make them "public".Tyge Lovset
2022-08-11Code formatting only.Tyge Lovset
2022-08-10Fixed cdeq, cvec, cmap and cstack: iterators .ref is now NULL when it is ↵Tyge Løvset
end(). clist and csmap/cset already has this property.
2022-08-09Experiment with other type of iterator. Does not compile.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-21Renamed expand_uninit() functions to insert_uninit() / append_uninit().Tyge Løvset
2022-06-01Converted all files with DOS line endings to LINUX.Tyge Løvset
2022-05-10Renamed (newish) functions expand_uninitialized to expand_uninit. + some ↵Tyge Lovset
minor changes.
2022-05-01- Array expansions (insert, reserve, clone) are now checked for malloc ↵Tyge Lovset
nomem, and result can be checked by user in cvec, cdeq, cmap, csmap (cvec/cdeq insert functions now returns pointer, not iter). - Refactoring.
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.