草庐IT

boost-pool

全部标签

c++ - Boost Geometry/intersection() 似乎返回不一致的结果

我有一个适用于BoostGeometry的3Dvector作为2D点和环:BOOST_GEOMETRY_REGISTER_POINT_2D(Vector3,float,cs::cartesian,x,y)BOOST_GEOMETRY_REGISTER_RING(std::vector)然后:画一些非凸多边形(环)绘制线段,切割非凸多边形并将其一分为二(较小的通常是三角形)在线段上镜像较小的2个新多边形结果是两个多边形,它们重叠并且有1个切边。然后我检查两个多边形的交点。在15%的情况下,相交结果是空的,这是一个惊喜(较小的多边形可以有面积1.0f..10.f,所以它不是一个极端情况)s

c++ - Boost Lambda/Phoenix - 如何做返回另一个 lambda 的 lambda?

BoostLambda/Phoenix是否支持开箱即用的东西,比如返回另一个lambda的lambda?例如,它可以用来做一些柯里化(Currying):std::cout如何使用BoostLambda/Phoenix实现类似的目的(+作为奖励-我们将获得多态行为)? 最佳答案 BoostPhoenixScope:let/lambdaLivedemo:#include#include#includeusingnamespacestd;usingnamespaceboost;usingnamespacephoenix;usingnam

c++ - 如何使用 boost::packaged_task、函数参数和 boost::asio::io_service?

首先,我想为这篇冗长的帖子道歉。我想尽可能彻底。我已经在这个问题上停留了几天了,令人惊讶的是关于正确使用boost::packaged_task的信息很少。在具有输入参数的函数上。系统信息C++03boost1.54.0CMake2.8.9初始要求我有一个由客户端、服务器和设备组成的设置。客户端通过向服务器发送请求来与设备交互。这些请求被检查并路由到适当的设备。请求是异步处理的,偶尔会通过boost::asio::io_service::strand排队由于各种原因。请求被放入设备本身的本地队列中。当请求被确认(不一定完成)时,它会被分配一个ID,并返回给客户端。打包任务看完boost

c++ - std::[tr1::]ref 和 boost::ref 之间的混淆

注意:这是GCC4.1.2。我们在专有的嵌入式平台上。我们无法更新到新的编译器。所以C++03+TR1是。我们在某个地方有这样一个函数:templatevoidfoo(constboost::any&x){bar(boost::any_cast(x));}随后在绑定(bind)表达式中使用:std::tr1::bind(&foo,_1);这会产生以下错误:error:callofoverloaded'ref(constboost::any&)'isambiguousnote:candidatesare:std::tr1::reference_wrapperstd::tr1::ref(_

c++ - 获取 boost.log 记录器的严重性..?

假设我有一个简单的boost.logseverity_logger记录器设置如下:logging::core::get()->set_filter(logging::trivial::severity>=logging::trivial::debug);logging::add_common_attributes();src::severity_loggerlogger;我如何以编程方式检查严重性?IE。像logger.getSeverity()..?这样的东西我已经在StackOverflow上筛选了文档和其他问题,但就是找不到什么应该是一个简单的API调用......?

c++ - 如何在 C++ 中使用 BOOST_AUTO 模拟 'const auto'?

使用BOOST_AUTO宏,我们可以模拟C++11之前不可用的auto关键字:BOOST_AUTO(var,1+2);//intvar=3autovar=1+2;//thesameinC++11有没有办法模拟constauto?constautovar=1+2;//constintvar=3 最佳答案 您可以只包含“尾随”常量:#includeintmain(){BOOST_AUTO(constx,42);static_assert(std::is_const(),"weehoo");}出于多种原因,尾部位置是const限定符唯一一

c++ - boost 线程和 try_join_for 每次都给出不同的输出

假设我有以下代码:#include#include#includeintmain(){boost::threadthd([]{std::cout每次启动该程序时,MSVC-12.0和boost1.55都会给我不同的输出。例如,strFinishedstrFinishedstrRunning当我将boost::chrono::nanoseconds更改为boost::chrono::microseconds时,输出看起来符合预期。为什么?我究竟做错了什么?这是boost库中的错误吗?是否有关于boost错误跟踪器的票证?提前致谢。 最佳答案

c++ - 使用替代解析器 boost spirit 不佳的性能

我已经问过这个问题了。但由于没有答案,我现在再次询问完整的可编译源代码片段。由于boost::variant移动语义的一些问题,此代码片段应该在没有std=c++11选项的情况下编译。只是'g++-Wall-pedantic'。在此代码片段中,您将找到“//Commenthere”行。您可以评论以下block,直到“//Andhere-----”。如果这个block没有注释,这个程序的性能会很差。所以只要我能看到瓶颈就是替代解析器。我需要的是一些关于改进/更改语法以boost解析性能的建议。谢谢。代码:#include#include#include#include#include#i

c++ - 使用 boost 和 openssl 错误的 C++ 中的 JWT(JSON Web token )

我是一个相当新手的c++程序员(我还在上大学,所以我想我是一个相当新手的程序员),我正在尝试用c++生成一个JWT。我能够生成和编码header和有效负载,但是当我在jwt.io上检查时,我使用openssl的hmac库生成的签名似乎无效。我有一种感觉,这是由于我只是没有看到的一些细微的错误。如果您能找到我的错误,我将不胜感激。如果您也有关于如何改进我的代码的建议,我们也将不胜感激。请注意,我必须对json使用openssl和boost。****更新****我发现添加了额外的新行,这导致了身份验证期间的错误。目前我正在调用str.erase来删除它们,但如果有人能让我知道它们的去向,我

Python* 到 boost::python::object

我正在尝试用C++构建一个Python模块,将二维vector转换为Numpy二维数组。这里有什么不正确的地方-大概需要对PyObject*的boostpython对象进行一些转换?boost::python::objectbuild_day(intyear,intday){PyObject*arr;constintHEIGHT=5;constintWIDTH=5;std::vector>array(WIDTH,std::vector(HEIGHT));npy_intpdims[2]={WIDTH,HEIGHT};arr=PyArray_SimpleNewFromData(2,dims