summaryrefslogtreecommitdiffhomepage
path: root/include/stc/algo/coroutine.h
AgeCommit message (Collapse)Author
2023-07-21Renamed badly abbreviated names in crand.h.tylov
Moved coroutine.h from algo subfolder to stc. Updated coroutine.h and docs.
2023-07-20Added Task-object to coroutines and true stackless execution.tylov
2023-07-18Renamed i_native_cmp => i_cmp_nativetylov
Added c_all_of(), c_any_of(), c_none_of() to algo/filter.h
2023-07-04Removed cco_switch; won't work without state.Tyge Løvset
2023-07-02Update in coroutine API. cco_yield, cco_await, cco_await_on, cco_block_on ↵Tyge Løvset
has changed. cco_final: renamed => cco_cleanup: Reverted i_retain template param back to => i_more.
2023-06-21Update of cstr_append_uninit().Tyge Løvset
2023-06-21Fixed cco_switch: emulation of switch inside coroutines.Tyge Lovset
2023-06-21Minor fix.Tyge Lovset
2023-06-21Added cco_switch(x) {}, cco_case(val) {}, and cco_default {} to use inside ↵Tyge Lovset
coroutines.
2023-06-20Added some more to coroutine.hTyge Løvset
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-13Added cco_closue(Ret, Closure) to define coroutine closure.Tyge Løvset
Added back cco_await_on(child) calls.
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-06-08More small adjustments.Tyge Lovset
2023-06-07cco: Minor internal cleanup + added cco_timer_elapsed().Tyge Løvset
2023-06-06Fixed some logic in coroutines.Tyge Løvset
Changed API in c11/print.h (not officially part of STC as it is C11).
2023-06-06Warning fixes and docs update.Tyge Løvset
2023-06-06Switched to double for times in cco_timer and cco_time, etc.Tyge Løvset
Reverted to just use Sleep on win32 - same effect.
2023-06-05Updated timers and time functions to microseconds (from milli).Tyge Løvset
2023-06-04Added dining_philosophers.c coroutine example.Tyge Løvset
Fixed cco_stop() when in state 0. Renamed cco_timer_with(msec) => cco_timer_from(msec) Renamed cco_sem_with(val) => cco_sem_from(val)
2023-06-01Changed API for cco_timer and cco_sem.Tyge Løvset
2023-05-31Simplified coroutine API. Removed unneeded cco_await_coro() and ↵Tyge Løvset
cco_yield_coro().
2023-05-30Changed extern to dllimport for Sleep() function.Tyge Løvset
2023-05-26Minor addition to coroutine API.Tyge Løvset
2023-05-24Fixed portability for csleep_ms() function.Tyge Løvset
2023-05-24More coro adjustments.Tyge Løvset
2023-05-24coroutine.h:Tyge Løvset
- Renamed Liigo's coroutine macro cco(x) => cco_routine(x). - Removed cco_begin(x), cco_end() macros. Replaced by cco_routine(x). - Replaced csleep_ms() with csleep_us(), using select() which is portable. - Updated all coroutine examples.
2023-05-18add `cco` macro, block style coroutine definition, to replace cco_begin(co) ↵Liigo Zhuang
&& cco_end()
2023-05-09fixed typo.Tyge Lovset
2023-05-09Renaming.Tyge Lovset
2023-05-09reverted cco_await_done => cco_await_at.Tyge Lovset
2023-05-08coroutine cco_await_* and cco_yield_* changes.Tyge Løvset
2023-05-08Final coroutine API updates.Tyge Løvset
2023-05-08More coroutine updates.Tyge Løvset
2023-05-08Updated API for timer and semaphores in coroutine.h (ctimer, csem)Tyge Løvset
2023-05-04Updates in coroutines.h: No longer *required* with cco_final:, but only when ↵Tyge Løvset
no cleanup is needed.
2023-05-03Reverted from cco_await_with(promise, ret) to cco_await(promise, ret).Tyge Løvset
2023-05-02Changed cco_with_..() API again, final.Tyge Løvset
2023-05-02Add cco_await_void().Tyge Løvset
2023-05-02Removed cco_alive(), was same as !cco_done()Tyge Løvset
2023-05-02Improved coroutine.h, added new coro examples.Tyge Løvset
2023-05-01Replaced cco_yield(corocall, ctx, retval) with cco_await(cond) and ↵Tyge Løvset
cco_await_while(cond).
2023-04-07Massive documentation update/improvements.Tyge Lovset
Reduced benchmarks/plotbench repetition/sizes.
2023-03-17Reuse of coroutine context requires cco_reset of state.Tyge Løvset
2023-03-12Minor fix in coroutine.hTyge Løvset
2023-03-12Safer state machine in coroutine.h (internal).Tyge Løvset
Removed c_forwhile() macro. Redundant, use c_forfilter(). Removed find and eq in cspan (use general c_find_if() instead for search).
2023-03-10Rename cco_alive() => cco_suspended(). Replaced cco_done() with cco_alive().Tyge Lovset
2023-03-09Removed useless typedef in coroutine.Tyge Løvset
2023-03-09Added c_flt_transform() and some updates to coroutine.h. Added stc/calgo.h : ↵Tyge Løvset
includes filter.h, crange.h and coroutine.h from algo subfolder.
2023-03-08Added cco_done(ctx) to check if coroutine is complete (including cleanup stage).Tyge Løvset