C/C++教程

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

本文主要是介绍C++ boost非对称协程代码演示,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

boost的两种非对称协程:

  • asymmetric_coroutine<>::push_type
  • asymmetric_coroutine<>::pull_type*

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()*被重载。增量操作切换上下文并传输数据。

代码:


                    
这篇关于C++ boost非对称协程代码演示的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!