Go to file
2019-12-01 20:41:31 +01:00
build Removed linking with Boost.System. 2019-01-14 20:58:22 +03:00
doc Merge branch 'develop' 2017-10-13 07:47:58 +02:00
example Merge pull request #42 from Kojoley/move-library-inclusion-to-top 2019-11-25 17:41:27 +01:00
include/boost/coroutine Cease dependence on Range 2019-11-24 21:52:01 +03:00
meta maker boost.coroutine as deprectated 2016-09-06 13:12:16 +02:00
performance fix segmented-stacks bug in Jamfiles 2015-06-04 07:04:37 +02:00
src fcontext_t-API is no longer part of public API 2016-01-14 17:55:10 +01:00
test Move library include to the top 2019-11-24 21:49:24 +03: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
index.html coroutine: initial commit 2012-11-24 19:42:09 +00:00
README.md Update README.md 2018-02-05 08:09:09 +01: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.