草庐IT

boost-pool

全部标签

c++ - 如何保持 boost asio async 连续读取事件

我正在构建一个tcp客户端,它必须发送请求和读取响应,而且还必须能够检测来自tcp服务器的不是对请求的响应的传入数据-服务器可以发起tx/rx序列。保持异步读取始终处于事件状态的最佳方法是什么。我尝试了以下方法:在我的“handle_connect”方法中,我开始异步读取和异步写入。异步读取看起来像这样:size_tbytes_transferred=BUFFER_SIZE;boost::asio::async_read(m_socket,boost::asio::buffer(rcvbuf,bytes_transferred),boost::bind(&CClientSock::ha

C++:使用 C++14 通用 lambda boost fusion fold

我正在尝试将通用lambda函数传递给boost::fusion::fold函数,以便我可以迭代boost::fusion::vector的所有元素。我的目标是从vector中的每个元素调用一个非常量成员函数。问题在于,即使vector包含非常量值,由通用lambda推导的类型也是一个const引用。这导致我的gcc-4.9.0编译器(使用CygWin)提示我放弃了const限定符。#include#include#include#includeclassSilly{public:Silly(intx):x_(x){}intincrement(inti){returnx_+=i;}pr

c++ - 为什么 boost::geometry 地理 Vincenty 距离在赤道附近不准确?

我需要一个函数来计算一对WGS84之间的距离定位到高精度,我计划使用boostgeometry中的geographic函数.boostgeometryDesignRational状态:ThereistheAndoyermethod,fastandprecise,andthereistheVincentymethod,slowerandmoreprecise..但是,当使用Andoyer和Vincenty策略测试boost::geometry::distance函数时,我得到了以下结果:WGS84values(metres)Semimajoraxis:6378137.000000Flat

c++ - boost::filesystem::path 与 boost::filesystem::wpath

Boost库有一个类来处理文件路径:boost::filesystem::path。Boos也有这个类boost::filesystem::wpath每个类都有方法string(),wstring(),c_str(),native()我开发Windows应用程序,我完全不明白我应该使用什么))从实用的角度来看,这两个类有什么区别?这些方法有什么区别?我应该为Windows应用程序使用什么类和什么方法?::wpath和wstring()无处不在?部分源代码(几个静态链接库)将为Ubuntu编译。在这种情况下::wpath还好吗?我还使用SQLite并且它需要数据库文件的路径。sqlite

c++ - 如何在 std::map 中使用 boost::mutex 作为映射类型?

我想像这样在另一个映射中锁定键/索引:std::mappointCloudsMutexes_;pointCloudsMutexes_[index].lock();但是,我收到以下错误:/usr/include/c++/4.8/bits/stl_pair.h:113:error:nomatchingfunctionforcallto'boost::mutex::mutex(constboost::mutex&)':first(__a),second(__b){}^它似乎适用于std::vector,但不适用于std::map。我做错了什么? 最佳答案

python - 如何通过 Boost.Python 从 python 文件导入函数

我是boost.python的新手。看了很多推荐使用boost.python来应用python的,但是还是不太容易理解和找到适合我的解决方案。我想要的是直接从python“SourceFile”导入一个函数或类示例文件:main.cpp我的Python类.py假设“MyPythonClass.py”中有一个带有“bark()”函数的“Dog”类,我如何在cpp中获取回调和发送参数?我不知道我该怎么办!请帮助我! 最佳答案 当需要从C++调用Python,而C++拥有main函数时,则必须在C++程序中嵌入Python中断程序。Boo

c++ - 链接器需要 lib 文件名称中的编译器和 Boost 版本。 fatal error LNK1104

要安装boost,我运行b2installoptimization=speedvariant=debug,release--layout=tagged--prefix=BOOST_DIRlib文件的名称看起来像...libboost_serialization-mt.liblibboost_serialization-mt-gd.lib...当项目链接时出现错误LINK:fatalerrorLNK1104:cannotopenfile'libboost_serialization-vc140-mt-gd-1_62.lib'这个文件在项目设置中没有设置任何名称,只设置了这个文件的目录。如

c++ - boost::asio lib 的那些 async_* 函数是否由操作系统并行执行

最近我在使用boost::asio库,并且对那些async_*函数有疑问。假设我连续调用多个boost::asio::async_write(),这些async_write()函数是否可能由底层操作系统并行执行,即使io_service是单线程运行的谢谢! 最佳答案 isitpossiblethattheseasync_write()functionsexecutedparallellybytheunderlyingoperatingsystem是的,他们是!有两种类型的异步操作,CPU绑定(bind)任务和IO绑定(bind)任务

c++ - boost program options 一个选项的多个值

当我在命令行键入a.out-ifile0file1时,我希望选项-i接收file0和file1但是,-i只接收file0而不是file1但是,我发现我必须输入a.out-ifile0-ifile1才能使-i选项接收到file0和file1boost::program_options可以这样做吗?代码改编自http://www.boost.org/doc/libs/1_62_0/libs/program_options/example/options_description.cpp#includeusingnamespaceboost;namespacepo=boost::program

c++ - 如何在 CentOS 7.3 64bit 上安装 boost 库?

我需要在CentOS上构建一个使用Boost库的C++项目。我试过这个:yuminstallboost-devel但是我遇到了依赖错误并且没有安装Boost:-->ProcessingDependency:libicuuc.so.42()(64bit)forpackage:libboost_regex1_59_0-1.59.0-1.x86_64-->ProcessingDependency:libicui18n.so.42()(64bit)forpackage:libboost_regex1_59_0-1.59.0-1.x86_64-->ProcessingDependency:lib