草庐IT

boost-polygon

全部标签

c++ - 'reinterpret_cast' : cannot convert from 'overloaded-function' to 'intptr_t' with boost. dll

我正在使用Boost.dll开发插件系统#include#include#includeclassbase{public:base(){};~base(){};templatestaticstd::shared_ptrcreate(){returnstd::make_shared();}virtualvoiddo1()=0;};classderived:publicbase{public:derived(){};~derived(){};virtualvoiddo1()override{}};BOOST_DLL_ALIAS(base::create,//();当我尝试在BOOST_DL

python - 使用 boost::python 包装 boost::optional

有没有办法包装boost::optional键入对象以通过boost::python::class_公开它(使用自BOOST_PYTHON_MODULE)structFoo{boost::optionalbar;};BOOST_PYTHON_MODULE(module_name){class_("Foo").def_readwrite("bar",&Foo::bar);}在这种情况下,我对Python的期望是AttributeErrorimportmodule_namef=module_name.Foo()printf.bar作为bar的值尚未设置。和TypeError当importm

c++ - boost hana 将两个序列压缩到 map 中

staticconstexprautotype_tuple_c=hana::tuple_t;staticconstexprautoidx_tuple_c=hana::tuple_c;我想将这两个大小相等的序列相互映射。但是,我似乎无法理解如何使用hana::map功能获得它:staticconstexprautotype_idx_map_c=hana::unpack(hana::zip_with(hana::make_pair,type_tuple_c,idx_tuple_c),hana::make_map);无论我进行何种转换,我似乎都无法创建映射。我知道map要求其元素属于Prod

c++ - Boost.Asio async_send 问题

我将Boost.Asio用于我正在编写的服务器应用程序。async_send要求调用方保留对正在发送的数据的所有权,直到数据发送成功。这意味着我的代码(如下所示)将失败,而且确实如此,因为data将不再是有效对象。voidfunc(){std::vectordata;//...//filldatawithstuff//...socket.async_send(boost::asio::buffer(data),handler);}所以我的解决方案是做这样的事情:std::vectordata;voidfunc(){//...//filldatawithstuff//...socket.

c++ - BOOST 中的属性映射是什么?

有人可以向像我这样的Boost初学者解释一下什么是Boost中的属性映射吗?我在尝试使用BGL计算强连通分量时遇到了这个问题。我浏览了propertymap和graph模块的文档,但仍然不知道该怎么做。以这段代码为例:make_iterator_property_map函数在做什么?这段代码的含义是什么:get(vertex_index,G)?#include#include#include#include#includeintmain(){usingnamespaceboost;typedefadjacency_listGraph;constintN=6;GraphG(N);add_

c++ - boost-python:如何提供自定义构造函数包装函数?

我正在使用boost-python为名为CppClass的C++类创建python绑定(bind)。必要时,我可以通过预处理参数的小包装函数将调用路由到“普通”成员函数(例如,从pythonargs中提取C++类型),如下所示:classCppClass{public:CppClass(SpecialParametersp);voiddoSomething(intx,floaty);};usingnamespaceboost::python;//Forextract,tuple,init,class_,etc.classWrapperFuncs{public:staticvoiddoS

c++ - BOOST 如何在线程中发送信号并在另一个线程中执行相应的槽?

例如,在Qt中,如果您在GUI线程以外的线程中发出信号,信号将在GUI线程中排队并稍后执行,有没有办法使用boost来做到这一点?谢谢 最佳答案 对于事件循环,使用boost::asio::io_service。您可以在此对象中发布任务,并让另一个线程以线程安全的方式执行它们:structMyClass{boost::io_serviceservice;voiddoSomethingOp()const{...}voiddoSomething(){service.post(boost::bind(&MyClass::doSomethi

c++ - boost asio tcp - 套接字写入数据不同于缓冲区中的数据 - 某处可能存在线程不安全

我正在探索boostasio产品客户端发送一个1字节的header,指示后面的字节长度。相关服务器代码:enum{max_length=1};voidhandle_read(constboost::system::error_code&error,constsize_t&bytes_transferred){if(!error){++ctr;std::stringinc_data_str(this->inc_data.begin(),this->inc_data.end());std::cout(inc_data_str);intoffset=0;//std::coutnext_inc

c++ - 服务器关闭时客户端上的 boost asio 写入操作被阻止

我想使用boost::asio实现一个同步tcp客户端。场景:client:同步tcpclient,循环向server发送数据服务器:从客户端接收数据并且当套接字不可用时可以重建连接。客户端io_serviceios;shared_ptrsp_sock(newsocket(ios));endpointep(address,port);error_codeec;sp_sock->connect(ep,ec);if(ec){return;}for(;;){error_codeec;boost::asio::write(*sp_sock,buffer("helloworld"),ec);if

c++ - boost Python : Having problems importing a module

我目前正在尝试使用BoostPython导出一个类,然后在相应的程序中使用它。/**main.cpp*/#defineBOOST_PYTHON_STATIC_LIB#include#include#include#include#include/*asimpleaddmethod,fors&g's*/intadd(inta,intb){returna+b;}/*Fooclass*/classFoo{public:Foo(intn);~Foo();voidf();};/*Fooctor,doesnothingmjustwantedtopassandarg*/Foo::Foo(intn){