suyu/externals/vcpkg/buildtrees/boost-coroutine/src/ost-1.79.0-1abbb33423.clean
2024-03-05 16:42:40 +08:00
..
build Initial commit 2024-03-05 16:42:40 +08:00
doc Initial commit 2024-03-05 16:42:40 +08:00
example Initial commit 2024-03-05 16:42:40 +08:00
include/boost/coroutine Initial commit 2024-03-05 16:42:40 +08:00
meta Initial commit 2024-03-05 16:42:40 +08:00
performance Initial commit 2024-03-05 16:42:40 +08:00
src Initial commit 2024-03-05 16:42:40 +08:00
test Initial commit 2024-03-05 16:42:40 +08:00
.gitattributes Initial commit 2024-03-05 16:42:40 +08:00
.gitignore Initial commit 2024-03-05 16:42:40 +08:00
CMakeLists.txt Initial commit 2024-03-05 16:42:40 +08:00
index.html Initial commit 2024-03-05 16:42:40 +08:00
Jamroot.jam Initial commit 2024-03-05 16:42:40 +08:00
README.md Initial commit 2024-03-05 16:42:40 +08:00

boost.coroutine

boost.coroutine 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.

Note that boost.coroutine is deprecated - boost.coroutine2 is its successor. If you are forced to use a pre-C++11 compiler you should still use boost.coroutine.