首页 > 其他分享 >用boost::bind构造boost::coroutine

用boost::bind构造boost::coroutine

时间:2023-06-15 22:31:46浏览次数:32  
标签:function TestCoro coro coroutine bind Coro CoroFun boost


class TestCoro
{
    ...

    typedef boost::coroutines::coroutione<void ()> Coro;
	
    void CoroFun(Coro::caller_type & ca);
    
    Coro m_coro;
};

TestCoro::TestCoro()
{
    m_coro = Coro(boost::bind(&TestCoro::CoroFun, this, _1));
}



可以在VC下编译通过。Gcc报错。需要改成

TestCoro::TestCoro()
{
    typedef boost::function<void (Coro::caller_type &)> CoroFunType;
    CoroFunType coroFun = boost::bind(&TestCoro::CoroFun, this, _1);
    boost::is_function<BOOST_RV_REF(boost::rv<Coro>)> noUse1;
    boost::is_function<BOOST_RV_REF(CoroFunType)> noUse2;
    m_coro = Coro(coroFun);
}



g++版本为:

g++ (GCC) 4.4.5 20110214 (Red Hat 4.4.5-6)

2个is_function不加就无法确定coroutine的构造函数。可能是g++的错误。


标签:function,TestCoro,coro,coroutine,bind,Coro,CoroFun,boost
From: https://blog.51cto.com/u_16162321/6495491

相关文章

  • 随笔(十九)『org.apache.ibatis.binding.BindingException: Invalid bound statement (n
    1、错误信息:org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound)出现此错误时: 1、除了查看代码上的各种名称,映射之类能否找到外。 2、查看下target中是否有对应的xml文件,因为maven默认是不会把非resource中的xml打包进target的 解决方案:pom.xm......
  • XGBoost超参数调优指南
    本文将详细解释XGBoost中十个最常用超参数的介绍,功能和值范围,及如何使用Optuna进行超参数调优。对于XGBoost来说,默认的超参数是可以正常运行的,但是如果你想获得最佳的效果,那么就需要自行调整一些超参数来匹配你的数据,以下参数对于XGBoost非常重要:etanum_boost_roundmax_dep......
  • boost库之字符串处理
    一、Boost.StringAlgorithmsBoost字符算法库Boost.StringAlgorithms提供了很多字符串操作函数,字符串的类型可以是std::string,std::wstring,或者是任何模板类std::basic_string的实例。这些函数分类别在不同的头文件定义,例如大小写转函数定义在文件boost/algorithm/string/case_c......
  • boost库之事件处理
    一、概述Boost.Signals所实现的模式被命名为"信号至插槽",它基于以下概念:当对应的信号被发出时,相关联的插槽即被执行,原则上,可以把"信号"和"插槽"分别替换为'事件'和'事件处理器',它提供了一个名为boost::signal的类,定义于boost/signal.hpp,实际上,这个头文件是唯一一个需要知道的,因......
  • 在使用VScode编辑器vue开发过程中,v-for在Eslint的规则检查下出现报错:Elements in iter
    报错如下: 该怎么解决呢?现在说说解决他的两种方法:1.直接在v-for循环后面绑定一个属性,跟前面需要循环的属性一一对应,截图如下:  2.在vscode中去掉Eslint规则检查,具体操作截图如下:文件–》首选项–》设置–》在搜索框中输入:vetur.validation.template,找到之后将前面的打钩......
  • default-scheduler running PreBind plugin "VolumeBinding": binding volumes: time
    看openebs-localpv-provisioner和kube-scheduler-minikube和kube-controller-manager-minikube的报错信息,就发现了问题volumeClaimTemplates:-metadata:name:proxysql-dataspec:accessModes:-ReadWriteMany##就是这里了不能用Read......
  • Boost::asio范例分析 服务端
      main函数要求程序调用者传递3个参数:服务器IP地址,端口号和文档根目录.其中IP地址可以是IPv4或IPv6格式.接着创建server对象实例,将传递进来的IP地址,端口号,文档根目录作为server对象的构造函数参数传递到处理程序中.最后调用server的run成员函数启动服务端处理例程.   ......
  • JS bind & apply/call
    bindletboundFunc=func.bind(context);将func的context修改为传入的参数,返回一个新的func函数callfunc.call(context,arg1,arg2,...)applyfunc.apply(context,args)call和apply之间唯一的语法区别是,call期望一个参数列表,而apply期望一个包含这些参数的......
  • Failed to bind properties under 'spring.datasource.primary' to javax.sql.DataSou
     2023-06-1011:04:13.778WARN22452---[main]ConfigServletWebServerApplicationContext:Exceptionencounteredduringcontextinitialization-cancellingrefreshattempt:org.springframework.beans.factory.UnsatisfiedDependencyException:Error......
  • Failed to bind properties under 'spring.datasource.primary' to javax.sql.DataSou
     2023-06-1011:04:13.778WARN22452---[main]ConfigServletWebServerApplicationContext:Exceptionencounteredduringcontextinitialization-cancellingrefreshattempt:org.springframework.beans.factory.UnsatisfiedDependencyException:Error......