草庐IT

boost_process

全部标签

c++ - 如何在 boost::spirit 规则中使用 boost::tuple 作为属性?

我在boost::spirit中有以下规则:typedefboost::tupleEntry;qi::ruleentry;entry=qi::int_>>qi::int_;但是第二个int没有写入元组。有没有办法让它工作而不必使用boost::fusion::tuple?如果我使用std::pair就可以,那么为什么我不能使用boost::tuple?这是一个完整的编译示例:#include#include#include#includenamespaceqi=boost::spirit::qi;//works://#include//typedefstd::pairEntry;//d

c++ - 在 github 上托管项目中使用的 boost 子集

我使用git进行源代码控制并托管在github上。我们正在努力使repo协议(protocol)尽可能小。我决定给这个项目增加boost,这个项目(相对于我们的要求)相当大。我已经提取了所需功能的一个子集。现在我对如何在git上处理这个问题有点困惑。我应该将我的boost子集添加到存储库吗?如果我将boost添加为子模块,下载大小会有点大(我想,我还没有测试过)。这通常是如何完成的? 最佳答案 除非您有充分的理由不这样做,否则请将boost保留为外部依赖项。(根本不要将它添加到您的存储库中)。

c++ - boost asio udp 套接字 async_receive_from 不调用处理程序

我想创建一个自治线程,专门用于使用boost库(asio)从UDP套接字接收数据。这个线程应该是一个无限循环,由从UDP套接字接收到的一些数据触发。在我的应用程序中,我需要使用异步接收操作。如果我使用同步函数receive_from,一切都会按预期工作。但是,如果我使用async_receive_from,则永远不会调用处理程序。由于我使用信号量来检测是否已接收到某些数据,因此程序锁定并且永远不会触发循环。我已经(使用网络分析器)验证发送方设备在UDP套接字上正确发送数据。我已在以下代码中找出问题。#include#include#include#include#includetype

c++ - 如何检测 Boost.PropertyTree 的解析/读取失败?

文档并没有真正说明。我知道我可以将它交给它一个ifstream,这样我就可以检查以确保它是打开的,所以这种情况大部分都得到了处理。但是当执行boost::property_tree::ini_parser::read_ini(ifstream_object,property_tree_object);如何检测文件格式是否错误?我有什么方法可以获取诊断信息,例如哪里解析失败? 最佳答案 只捕获异常。基本PropertyTree异常类是boost::property_tree::ptree_error源自std::runtime_err

c++ - boost::shared_polymorphic_downcast 在 boost 1.53.0 中消失了。我应该用什么代替?

boost::shared_polymorphic_downcast在boost1.52.0之间消失了和1.53.0.releasenotes中对此没有提及。,并且提交(r81463)仅包含神秘的日志消息“更新shared_ptr转换。”我不清楚我现在应该使用什么,或者为什么删除此功能。有人可以帮忙吗?编辑:感谢大家富有洞察力的评论。我发现自己有点沮丧,因为boost会在没有任何理由或通知的情况下在版本中做出向后不兼容的更改,而且我也感到沮丧的是它们删除了有用的功能。但是根据响应,我可以用两行代码而不是一行代码来完成我想做的事情,所以我认为这就足够了。尽管如此,我仍将这个问题“悬而未决

c++ - Boost spirit 将整个比赛作为一个字符串

我正在尝试使用boostspirit框架定义我自己的语法,并且我正在定义这样一个匹配规则:value=(char_('"')>>(*qi::lexeme[char_('\\')>>char_('\\')|char_('\\')>>char_('"')|graph-char_('"')|char_('')])[some_func]>>char_('"'));我想将一个Action-some_func-分配给它的一部分,并将整个匹配字符串作为参数传递。但不幸的是我会得到类似vector的东西.我能否以某种方式将整个数据作为具有大小的char*、std::string或什至void*获取?

C++ boost 大数存储

因此,基于questionIaskedearlier,我下载并设置了boost。我有这段代码:#include#includeusingnamespacestd;usingnamespaceboost::multiprecision;voidmain(){mpz_intN(567014094304930933548155069494723691156768423655208899778686163624192868328194365094673392756508907687565332345345678900976543567890976543565789054335678097654

c++ - boost Asio : Some questions about the tutorial (A synchronous daytime server/client)

我正在尝试使用BoostAsio而不是RakNet,所以我试图按照Boost网站上的示例进行操作,但我有一些问题没有得到解答。这是链接:http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime1.html请注意,我的教程在客户端和服务器上都有效。1)为什么查询需要字符串“daytime”?在服务器设置中找不到它。客户端似乎只在我使用该字符串时连接。(尝试使用“测试”但未连接)2)为什么我不需要给客户端一个连接端口?它是自己搜索这个端口还是在那里并选择手动设置它?提前致谢。

c++ - 一直读到 boost::asio::streambuf 中的字符串定界符

我想使用非常方便的Boostasync_read_until阅读消息,直到我得到\r\n\r\n分隔符。我喜欢使用这个定界符,因为它很容易使用telnet进行调试并制作多行命令。我只是用两个新行表示命令结束。我这样调用async_read_until:voiddo_read(){boost::asio::async_read_until(m_socket,m_input_buffer,"\r\n\r\n",std::bind(&player::handle_read,this,std::placeholders::_1,std::placeholders::_2));}我的处理程序现在

c++ - 如何使用 boost::mpl 编写策略?

我使用了类似下面的东西来为我的应用程序编写策略:策略类如下所示:structPolicy{staticvoidinit();staticvoidcleanup();//...};templatestructCons{staticvoidinit(){CarT::init();CdrT::init();}staticvoidcleanup(){CdrT::cleanup();CarT::cleanup();}//...};编写策略:typedefCons>>MyPolicy;要使用MyPolicy:init_with(...);//...cleanup_with(...);他们打电话的地