编程语言
首页 > 编程语言> > C++ boost非对称协程代码演示

C++ boost非对称协程代码演示

作者:互联网

boost的两种非对称协程:

pull_type

asymmetric_coroutine<>::pull_type从另一个执行上下文传输数据。模板参数定义了传输的参数类型。asymmetric_coroutine<>::pull_type的构造函数接受一个 函数 ( coroutine-function )作为参数接受对asymmetric_coroutine<>::push_type的引用。实例化asymmetric_coroutine<>::pull_type 将执行控制传递给coroutine-function 并且互补的asymmetric_coroutine<>::push_type 由库合成并作为引用传递给coroutine-function

这种协程提供了asymmetric_coroutine<>::pull_type::operator()。该方法只切换上下文;它不传输任何数据。

asymmetric_coroutine<>::pull_type提供输入迭代器( asymmetric_coroutine<>::pull_type::iterator)并且std::begin() / *std::end()*被重载。增量操作切换上下文并传输数据。

代码:





标签:function,pull,协程,coroutine,asymmetric,type,C++,boost
来源: https://blog.csdn.net/yao_hou/article/details/121183493