Oliver Kowalke
3d76707ea1
fix deallocation
...
- ~control_block() must be run before coroutine's
stack is destroyed
2016-01-03 21:08:52 +01:00
Oliver Kowalke
302e484e8e
fix deallocating coroutine's stack
2016-01-03 21:08:52 +01:00
Oliver Kowalke
2dd07fc9de
test for BOOST_NO_CXX11_CONSTEXPR
2016-01-03 21:08:52 +01:00
Oliver Kowalke
79ff178d7e
no assignment of captured_context with std::tie()
2016-01-03 21:08:52 +01:00
Oliver Kowalke
57562ffb2a
fix unit-tests
2016-01-03 21:08:52 +01:00
Oliver Kowalke
6796caa2c7
use of captured_context
2016-01-03 21:08:51 +01:00
Oliver Kowalke
37222c014a
Update README.md
2015-12-25 17:57:59 +01:00
Rene Rivera
2b8b43fe1d
Fix project name to not collide with coroutine1.
2015-12-18 14:17:35 -06:00
Oliver Kowalke
91bb5ef261
exclude ctor with forwarding-reference from overload resolution
...
- prevents ctor with forwarding-reference to be used a copy-ctor
2015-12-16 16:38:18 +01:00
Oliver Kowalke
df480f4d04
decay-copy coroutine-function
2015-12-15 19:15:23 +01:00
Oliver Kowalke
468a750344
update docu
2015-12-12 23:28:14 +01:00
Oliver Kowalke
57156db7bb
move coroutine-function into lambda
2015-12-12 23:26:51 +01:00
Oliver Kowalke
2c2524fe8e
relax to C++11
2015-12-12 19:51:45 +01:00
Oliver Kowalke
ba6ea4b7a6
C++14 polishing
2015-12-02 17:14:45 +01:00
Oliver Kowalke
53614539aa
remove unwind_coroutine()
2015-11-30 20:13:00 +01:00
Oliver Kowalke
cc9d3953c7
add const to local variables that do not change in
...
create_control_block()
2015-11-30 19:57:23 +01:00
Oliver Kowalke
13b21858f8
replace typedef by using
2015-11-30 19:57:09 +01:00
Oliver Kowalke
7e601ba612
removed support for WINFibers
2015-11-29 16:15:26 +01:00
Oliver Kowalke
4bb8f7585f
adapt new execution_context API
2015-11-29 15:39:58 +01:00
Oliver Kowalke
fe869dd847
add missing header for isdigit() in example parser
2015-10-19 11:55:27 +02:00
Oliver Kowalke
59cc5e9d6f
pass data between context switch using execution_context::operator()
2015-10-19 11:34:45 +02:00
Oliver Kowalke
cfc703732a
segmented-stacks=on -> only segmented_stack is available
2015-10-18 19:17:56 +02:00
Oliver Kowalke
68913206d2
adapt mods for execution_context::operator() (passing argument)
2015-10-15 17:57:47 +02:00
Oliver Kowalke
4197d019f9
apply std::allocator_arg as required by boost.context
2015-09-26 20:23:04 +02:00
Oliver Kowalke
b5e475ff36
rename callee and caller
2015-09-21 17:31:24 +02:00
Oliver Kowalke
105ad9c10d
enhance tests
2015-09-21 17:31:10 +02:00
Oliver Kowalke
3219de5e0f
remove example chained.cpp
2015-09-21 17:30:46 +02:00
Oliver Kowalke
f3c099d259
reduce number of execution_context a coroutine owns
2015-09-19 08:50:16 +02:00
Oliver Kowalke
698c52ee89
fix formating
2015-09-18 21:29:19 +02:00
Oliver Kowalke
7183bb6e4c
add new example of chained coroutines
2015-09-18 21:23:47 +02:00
Oliver Kowalke
cd2c00c8c6
fix for update caller in pull_type::operator()/push_type::operator()
2015-09-18 20:31:21 +02:00
Oliver Kowalke
f58d7387e4
update caller in pull_type::operator()/push_type::operator()
2015-09-18 17:27:25 +02:00
Oliver Kowalke
5c65e916a7
replace decltype(auto) -> void in lambda expression
2015-09-05 07:55:15 +02:00
Oliver Kowalke
2d063abea6
fix docu
2015-09-02 19:32:06 +02:00
Oliver Kowalke
a3f88893d1
cadd note regarding to C++14 restriction
2015-06-29 17:27:38 +02:00
Oliver Kowalke
3c17c4d591
add return value specification to lambda
2015-06-29 17:10:00 +02:00
Oliver Kowalke
bf1a225780
rename asymmetric_coroutine<> to coroutine<>
2015-06-22 19:27:46 +02:00
Oliver Kowalke
adcf0aa663
add C11/14 tests for unit-test
2015-06-21 18:30:13 +02:00
Oliver Kowalke
c6dbc35bd7
define BOOST_DISABLE_ASSERTS in Jamfile
...
- for variant=release or optimization=speed define BOOST_DISABLE_ASSERTS
2015-06-13 08:03:49 +02:00
Oliver Kowalke
415917efd8
enable alginment of control strcutes on stack
2015-06-10 20:50:59 +02:00
Oliver Kowalke
6904693216
update documentation
2015-06-06 09:01:27 +02:00
Oliver Kowalke
ca6d6c2ec1
add preprocessor error if execution_context is not supported
2015-06-04 08:30:35 +02:00
Oliver Kowalke
bdc7cb82e5
execution_context does not track parents + no exceptions catched
...
- execution_context does not track parent
- execution_context calls std::terminate() if execption is thrown
- coroutine has to catch exception and store it in exception_ptr to
rethrow it
2015-06-03 09:29:12 +02:00
Oliver Kowalke
2d5d7e4792
jump back to caller after coro-fn termination
...
- if the coroutine-fn terminates/finishes we have to explicitly jump
back to the caller
- othwerwise the execution_context gets deconstructed, thus the
coroutine will be destructed too early
2015-06-02 09:44:52 +02:00
Oliver Kowalke
bca9dd2a13
remove jump back to caller after termination
...
- if coroutine function terminates execution_context already jumps back
to its parent (caller)
2015-04-03 09:56:46 +02:00
Oliver Kowalke
673b2e2878
add "Done" as output for example layout
2015-04-03 09:54:23 +02:00
Oliver Kowalke
ac27579e48
adapt new API of execution_context
2015-03-26 09:57:08 +01:00
Oliver Kowalke
23c083e374
remove std:swap() in move-ctor
2015-02-20 18:41:40 +01:00
Oliver Kowalke
d91c018653
rename execution_context::jump_to() -> execution_context::resume()
2015-02-18 18:49:43 +01:00
Oliver Kowalke
aebdd81a5d
delete iteratos's post increment op.
2015-02-16 18:35:03 +01:00