q66
|
9be0ad2a0e
|
simplify example a bit more
|
2017-05-03 02:31:26 +02:00 |
|
q66
|
d6a2a3f07c
|
include all examples in generated docs
|
2017-05-03 02:14:27 +02:00 |
|
q66
|
c0421b721b
|
no need to create generator iterator from generator ranges
|
2017-04-17 16:17:18 +02:00 |
|
q66
|
1619dac782
|
remove range difference type (unused)
|
2017-04-16 17:23:09 +02:00 |
|
q66
|
c1e17617cb
|
hide generator range too
|
2017-04-14 03:45:06 +02:00 |
|
q66
|
09c3c02c33
|
doc cleanups
|
2017-04-12 19:12:09 +02:00 |
|
q66
|
1525edf3d7
|
type/include cleanup
|
2017-04-09 16:44:45 +02:00 |
|
q66
|
4a7baa40a0
|
remove types.hh
|
2017-04-04 00:30:07 +02:00 |
|
q66
|
b1c9a0d196
|
more doc fixes
|
2017-04-03 18:17:47 +02:00 |
|
q66
|
08bd63d773
|
doc cleanups
|
2017-04-03 18:11:24 +02:00 |
|
q66
|
d99768de96
|
remove equals_ stuff
|
2017-03-31 03:39:28 +02:00 |
|
q66
|
90af651f24
|
document thread pool
|
2017-03-29 20:41:53 +02:00 |
|
q66
|
32110bcb9f
|
simplify range-for-only iterators using relaxed c++17 rules
|
2017-03-28 23:58:44 +02:00 |
|
q66
|
049c4b8c47
|
document coroutines
|
2017-03-28 22:21:38 +02:00 |
|
q66
|
94915ee5fc
|
merge coroutine context into coroutine.hh
|
2017-03-28 18:59:16 +02:00 |
|
q66
|
422a65cade
|
actually free coroutine stacks in dtor (more predictable and safer)
|
2017-03-22 22:38:48 +01:00 |
|
q66
|
06fbdc7419
|
remove coroutine_type, but keep public context
|
2017-03-17 02:46:24 +01:00 |
|
q66
|
959f319318
|
type inspection support on coroutines (with context as common base type)
|
2017-03-17 02:38:37 +01:00 |
|
q66
|
75e4ac1cb7
|
unnecessary template keyword
|
2017-03-17 02:16:06 +01:00 |
|
q66
|
043e38601f
|
instantiate yielder at point of func call
|
2017-03-17 01:14:56 +01:00 |
|
q66
|
f8b7275d5f
|
get rid of some index sequences
|
2017-03-17 01:11:30 +01:00 |
|
q66
|
a30e0ae639
|
move p_func into p_stor
|
2017-03-17 01:02:33 +01:00 |
|
q66
|
58a11a3415
|
make storage for args/result a standalone object
|
2017-03-17 00:48:11 +01:00 |
|
q66
|
23493c49af
|
do not decay; breaks const type inputs
|
2017-03-16 23:40:00 +01:00 |
|
q66
|
0a0fe27317
|
better generator yield/value storage semantics
|
2017-03-16 23:25:59 +01:00 |
|
q66
|
cf568c6f30
|
get rid of arg_wrapper, use lightweight storage for results
|
2017-03-13 20:18:35 +01:00 |
|
q66
|
64380bda53
|
use pointers to store coro args with perfect forwarding (guaranteed to be alive until resume return)
|
2017-03-13 19:32:56 +01:00 |
|
q66
|
c89953c11f
|
coro args/results don't need to be default constructible
|
2017-03-13 19:01:44 +01:00 |
|
q66
|
ea9ac2e5c6
|
add the same iterators to generator_range
|
2017-03-13 18:50:44 +01:00 |
|
q66
|
b63729641b
|
auto unwind in coroutine_context (no manual dtor), clean up generator
|
2017-03-13 17:29:48 +01:00 |
|
q66
|
f1341b913c
|
unify context_call between coroutines and generators
|
2017-03-12 16:54:49 +01:00 |
|
q66
|
b2a71d773d
|
stack cleanups
|
2017-03-11 18:39:46 +01:00 |
|
q66
|
c07f7d5ddc
|
correct noexcept in coroutine.hh
|
2017-03-11 18:30:08 +01:00 |
|
q66
|
88e6fe3906
|
revert the stack freeing method (can be achieved via stack allocator)
|
2017-03-11 18:24:55 +01:00 |
|
q66
|
20f57dad9b
|
dealloc stacks in destructor (allows stack reuse)
|
2017-03-11 17:57:04 +01:00 |
|
q66
|
0185fa7c12
|
coroutine fixes/cleanups, remove INIT state (can be checked better)
|
2017-03-11 17:23:50 +01:00 |
|
q66
|
8c6e7d8bf7
|
add a generic way to get an yielder for a coroutine/generator
|
2017-03-11 14:51:55 +01:00 |
|
q66
|
9c9221822a
|
directly iterable generators
|
2017-03-11 14:16:47 +01:00 |
|
q66
|
058efff580
|
coroutine cleanups
|
2017-03-11 03:53:41 +01:00 |
|
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 |
|