草庐IT

boost-pool

全部标签

c++ - Boost::tokenizer 点分开,但也保留空字段

我看过thisquestion和我的很像,但是又不一样,所以请不要标为重复。我的问题是:如何从字符串中获取空字段?我有一个类似std::strings="This.is..a.test";的字符串我想获得字段.我也试过typedefboost::char_separatorChSep;typedefboost::tokenizerTknChSep;ChSepsep(".",".",boost::keep_empty_tokens);TknChSeptok(s,sep);for(TknChSep::iteratorbeg=tok.begin();beg!=tok.end();++beg)

c++ - 如何丢弃使用 boost::asio 发送的数据?

我正在编写一些使用boost::asio类读取和写入串行设备的代码。但是,在程序之间发送多个字符串时,我注意到在接收程序上,数据是按照写入串口的顺序读取的,而不是数据从另一个程序发送的顺序——如果我开始阅读数据几秒钟后,我没有得到我现在发送的值,而是以前发送的值。我假设这是由我设置boost::asio::serial_port的方式引起的:intmain(intargc,charconst*argv[]){intbaud=atoi(argv[1]);std::stringpty=argv[2];printf("Virtualdevice:%s\n",pty.data());print

c++ - PCL安装链接直接以某种方式 boost 安装目录

我在安装PCL时遇到了一个非常奇怪的问题。基本上我已经设置了PCL、boost、cmake、flann等。它们都能正确构建和编译。我复制并构建了ICPexample它构建得很好。这就是奇怪的地方。当我运行该应用程序时,出现以下错误:ldd:FATAL:Couldnotloadlibrarybin.v2/libs/system/build/qcc-4.4.2/release/threading-multi/libboost_system.so.1.48.0因此libboost_system.so.1.48.0存在于/usr/local/lib路径中,甚至更早地被同一个应用程序链接,即。如

c++ - 使用 boost::asio 从套接字读取 JSON

我目前正在尝试使用boost-asio的套接字API通过网络将一些JSON数据从客户端传输到服务器。我的客户基本上是这样做的:intfrom=1,to=2;boost::asio::streambufbuf;ostreamstr(&buf);str在服务器端,我可以在各种boost::asio::async_read*函数之间进行选择。我想使用JsonCpp来解析接收到的数据。研究JsonCppAPI(http://jsoncpp.sourceforge.net/class_json_1_1_reader.html)我发现Reader在std::string、char*数组或std::

c++ - 获取所有 boost 测试套件/测试用例

正如标题所说,我想从测试应用程序中获取所有测试套件或测试用例(名称),在控制台中获取以太坊或作为xml输出。测试框架是boost测试库。是否有实现此目标的选项?我没有在文档中找到任何有用的信息。 最佳答案 只有--list_content命令行选项,正是为了这个目的。 关于c++-获取所有boost测试套件/测试用例,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/25385011

c++ - 如何使用 boost::date_time 读取 ISO 时区?

令我惊讶的是,boost::date_time似乎可以写入它无法读取的日期/时间字符串。考虑以下示例代码:#include#include#includeclassPointTime:publicboost::local_time::local_date_time{typedefboost::local_time::local_time_input_facetinput_facet_t;typedefboost::local_time::local_time_facetoutput_face_t;public:staticinput_facet_tconsts_input_facet;

c++ - boost::filesystem::path::string() 输出的奇怪行为

pf.string()输出似乎有一些奇怪的行为,其中pf是用p.filename()生成的,其中p是boost::filesystem::path类型,由charconst*或std::string构造。这是代码段:#includenamespacefs=boost::filesystem;intmain(intargc,char**argv){fs::pathp(argv[0]);//orfs::pathp((std::string(argv[0])));fs::path&&pf=p.filename();//orfs::pathpf=p.filename();std::string

c++ - 关于boost mpl占位符的推理

Tutorial:MetafunctionsandHigher-OrderMetaprogrammingBoostMPL库文档的一部分指出transform可以这样调用typenamempl::transform>::type其中占位符_1和_2表示当转换的BinaryOperation被调用时,它的第一个和第二个参数将传递给_1指示的位置中的minus。和_2,分别。我已经一遍又一遍地阅读了将近一个月,但我仍然不明白。占位符_1到底有什么值?和_2有?D1和D2?如果是这样,为什么不写mpl::minus?还考虑到占位符是definedastypedefarg_1;和typedefa

c++ - 使用 BOOST shared_array 而不是 shared_ptr 的好处

我想在我的应用程序中使用BOOST智能指针进行内存管理。但是我不确定我应该为动态分配的数组shared_ptr或shared_array使用哪个智能指针。根据BOOST文档从Boost版本1.53开始,shared_ptr可用于保存指向动态分配数组的指针。所以我现在只是想知道用户应该出于什么目的使用shared_array而不是shared_ptr。 最佳答案 在boost1.53之前,boost::shared_ptr用于指向单个对象的指针。1.53之后,由于boost::shared_ptr可以用于数组类型,我觉得和boost:

python - 为什么 boost::python 迭代器会跳过第一个元素?

当我试图在C++中为Python实现可迭代对象(使用boost::python)时,我遇到了一个奇怪的问题。Python似乎总是取消引用前面的一个元素,因此,结果它跳过第一个元素并且还取消引用“结束”元素。我也不确定我的返回值策略是否正确选择,但如果我将int替换为std::string作为元素类型,它似乎是唯一可以正常工作的策略。特意选择了迭代器标记-我打算实现可迭代对象以访问只能遍历一次的资源。C++代码:#include#include#include#includeintnextInstance{0};classFoo{public:classiterator:publicst