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.
Go to file
Oliver Kowalke d7e1c1c4ab use std::invoke() vor C++17 onwards
But std::invoke() is defined since C++17.
For pre C++17 use boost::context::detail::invoke() instead.
2 years ago
.drone add drone config [ci skip] 3 years ago
.github/workflows Update GitHub Actions CI file 2 years ago
doc docu: support for sanitizers 4 years ago
example Merge branch 'develop' 3 years ago
include/boost/coroutine2 use std::invoke() vor C++17 onwards 2 years ago
meta Move cxxstd json field to end. 3 years ago
performance -fsplit-stack flag with GCC 3 years ago
test provide std::begin/std::end overloads for pull_coroutine 3 years ago add drone config [ci skip] 3 years ago
.gitignore file .gitignore added 9 years ago
.travis.yml add control file for Travis CI 6 years ago
CMakeLists.txt Add CMakeLists.txt 2 years ago Update 6 years ago
index.html initial import 9 years ago


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.