aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/boost/coroutine/README.md
blob: 2e145891537fec2dfc6542bc19f31a8ee2508132 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.