You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
But std::invoke() is defined since C++17. For pre C++17 use boost::context::detail::invoke() instead. |
2 years ago | |
---|---|---|
.drone | 3 years ago | |
.github/workflows | 2 years ago | |
doc | 4 years ago | |
example | 3 years ago | |
include/boost/coroutine2 | 2 years ago | |
meta | 3 years ago | |
performance | 3 years ago | |
test | 3 years ago | |
.drone.star | 3 years ago | |
.gitignore | 9 years ago | |
.travis.yml | 6 years ago | |
CMakeLists.txt | 2 years ago | |
README.md | 6 years ago | |
index.html | 9 years ago |
README.md
boost.coroutine2
boost.coroutine2 provides templates for generalized subroutines which allow multiple entry points for suspending and resuming execution at certain locations. It preserves the local state of execution and allows re-entering subroutines more than once (useful if state must be kept across function calls).
Coroutines can be viewed as a language-level construct providing a special kind of control flow.
In contrast to threads, which are pre-emptive, coroutines switches are cooperative (programmer controls when a switch will happen). The kernel is not involved in the coroutine switches.
boost.coroutine2 requires C++11! Note that boost.coroutine2 is the successor of the deprectated boost.coroutine.