Commit graph

23 commits

Author SHA1 Message Date
q66 2cf818a67b make generators autostart 2017-03-11 02:17:59 +01:00
q66 935e1bc337 yielder revamp, separate generators without having to return 2017-03-11 02:12:43 +01:00
q66 81feac59d1 add separate protected and unprotected stack allocators, use unprotected by default 2017-03-08 02:16:24 +01:00
q66 48d039aea0 initial support for stack allocator objects 2017-03-08 02:06:56 +01:00
q66 7d0778cf0a kill coroutine stack from entrypoint instead of destructor 2017-03-08 01:43:41 +01:00
q66 58206da3b4 use mmap to allocate stack on POSIX, VirtualAlloc on Windows 2017-03-07 22:39:17 +01:00
q66 3145ebe0c9 move coroutine context stuff to a separate file 2017-03-07 21:29:12 +01:00
q66 e97e70b427 constructor cleanup, const correctness, swap fixes, explicit bool, comments 2017-03-07 17:39:40 +01:00
q66 483ec9df3b only initialize the context with a valid function 2017-03-07 02:19:25 +01:00
q66 573c001786 put coroutine_context in detail and inherit from it 2017-03-07 02:07:13 +01:00
q66 248acbeac5 use p_func to check finished status (no separate bool) 2017-03-07 01:25:56 +01:00
q66 7ba1f9265b make value-returning no-argument coroutines iterable 2017-03-06 19:01:17 +01:00
q66 64d92743e4 only pass yield to coroutines, make them movable and swappable, improve examples 2017-03-06 18:38:50 +01:00
q66 9a194343f3 operator bool on coroutine should be inverse 2017-03-06 02:09:52 +01:00
q66 a4e17e22c7 fix coroutine + initial proof of concept generator (bad impl) 2017-03-06 00:47:15 +01:00
q66 1f946bff50 forwarding of coroutine args/results 2017-03-05 23:49:20 +01:00
q66 34a434ab53 move helpers to coro_base 2017-03-05 23:07:00 +01:00
q66 5c209872b5 fix narrowing 2017-03-05 21:56:41 +01:00
q66 ed514c28a6 specialize coroutines for zero args 2017-03-05 20:11:39 +01:00
q66 d369bb4b8a use generic arg so we can construct coroutines from lambdas using = 2017-03-05 19:50:25 +01:00
q66 1bb2dffc63 return the arg directly from yield with single-arg coroutines 2017-03-05 19:45:26 +01:00
q66 2a842ef9da reimplement coroutine using the new fcontext assembly 2017-03-05 16:48:44 +01:00
q66 8ecaa338bc add initial coroutine module (slow ucontext_t, POSIX only, WiP) 2017-03-04 18:25:33 +01:00