Boost.Coroutine
Go to file
Oliver Kowalke 1e1347c0b1
Merge pull request #59 from brad0/develop
Use mmap(2) MAP_STACK to allocate stacks on OpenBSD
2021-08-14 17:44:16 +02:00
build Cease dependence on Thread 2021-06-12 22:35:28 +03:00
doc Fix stack unwinding example 2021-04-13 14:51:57 +09:00
example Merge branch 'develop' 2020-06-26 17:53:07 +02:00
include/boost/coroutine Use mmap(2) MAP_STACK to allocate stacks on OpenBSD 2021-07-10 02:24:22 -04:00
meta maker boost.coroutine as deprectated 2016-09-06 13:12:16 +02:00
performance -fsplit-stack flag with GCC 2020-06-26 17:52:41 +02:00
src Cease dependence on Thread 2021-06-12 22:35:28 +03:00
test split-stack flag for GCC 2020-06-26 14:19:39 +02:00
.gitattributes Move top-level boost directory over to "devel" (temporarily) 2007-07-31 20:32:15 +00:00
.gitignore ignore html xml 2014-02-04 19:46:34 +01:00
CMakeLists.txt Cease dependence on Thread 2021-06-12 22:35:28 +03:00
README.md Update README.md 2018-02-05 08:09:09 +01:00
index.html coroutine: initial commit 2012-11-24 19:42:09 +00:00

README.md

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.