草庐IT

boost-preprocessor

全部标签

c++ - Boost.Python - vector 到 Numpy 数组

我有以下类(class):classPyWav{public:staticinlineboost::python::objectsdVecToNumpyArray(std::vectorconst&vec){npy_intpsize=vec.size();double*data=size?const_cast(&vec[0]):static_cast(NULL);PyObject*pyObj=PyArray_SimpleNewFromData(1,&size,NPY_DOUBLE,data);boost::python::handlehandle(pyObj);boost::pytho

c++ - 如何在 boost::multiprecision::mpfr 中使用复数?

根据https://stackoverflow.com/a/17932632/1700939,应该可以在gcc-4.7中使用带有boost::multiprecision的复数。这确实适用于boost::multiprecision::float128:-----------test.cpp------------#include#includeusingnamespacestd;typedefboost::multiprecision::float128real_type_b;typedefcomplexnumeric_type_b;intmain(){numeric_type_ba

c++ - std::bind 和 boost::bind 与多态性的区别

我有一个派生类,我从中绑定(bind)了一个我没有在这个类中重写的虚函数,所以我希望调用父类中的一个。它适用于boost(1.55),但如果我从C++11切换到std::bind,它会拒绝使用进行编译errorC2100:illegalindirection1>functional(1152):seereferencetofunctiontemplateinstantiation'_Rxstd::_Pmf_wrap::operator()(_Wrapper&)const'beingcompiled1>with1>[1>_Rx=bool,1>_Pmf_t=bool(__thiscallB

c++ - Boost ICL : Are some combinations of interval types and functions not implemented?中函数 "contains"的基本使用

我开始使用BoostICL,并且偶然发现了一些非常基础的东西。例如,函数contains应该返回true或false,这取决于给定元素是否在区间内。然而,这适用于[right,left]_open_intervals但不适用于[open,closed]_inteval(请参见下面的示例)。这似乎太明显了,不是疏忽。我正在以预期的方式使用库吗?例如(使用gcc4.8或clang3.3和Boost1.54):#include//neededtomakethisMWEwork,boosticlshouldincludeitinternally#include#include#includei

c++ - Boost.Serialization 是否释放加载指针期间创建的内存?

具体来说,我指的是Boost.Serialization教程中的演示here.在上面的demo中,bus_top实例作为指针存储在bus_route中,展示了指针的序列化是如何实现的。然而,我观察到一个有趣的行为,即析构函数bus_stop::~bus_stop()永远不会为restore_schedule()bus_stop对象调用。我在bus_stop::~bus_stop()中放置了一个断点,它仅由main函数末尾的delete语句触发。在加载序列化数据期间,初始化指针的对象在boost/archive/detail/iserializer.hpp中定义的pointer_iser

c++ - boost Date_Time 日期解析不起作用

我正在尝试使用boost1.55Date_Time库编写代码来解析日期时间字符串。但它总是产生非日期时间日期。boost::gregorian::dated(2005,6,25);boost::gregorian::dated2;boost::gregorian::date_facet*facet(newboost::gregorian::date_facet("%Y%m%d"));stringstreamss;ss.imbue(std::locale(std::cout.getloc(),facet));ss>d2;//not-a-date-timecout我尝试了不同的格式说明符,

c++ - 我应该从 Boost::filesystem::copy 得到什么错误代码

我正在尝试使用带有system::error_code参数的boost::filesystem::copy_file将文件复制到目标位置,因为我不想抛出异常。如果同名文件已经存在,该函数接受一个参数是否应该失败,这是我想要的行为。来自http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/reference.html#copy_file:Effects:Ifoption==copy_option::fail_if_exists&&exists(to),anerrorisreported.但是,我找不到我应该期待的错误代码。

c++ - 如何在其他计算机上部署用visual studio编写的简单boost程序

我用C++编写了一个简单的程序,它使用boost文件系统库来组织一些文件。我正在使用适用于Windows桌面IDE的VisualStudio2013Express。我希望我的程序可以在没有安装程序或其他任何东西的情况下在其他计算机上运行。用户应该能够下载程序并单击它。我在Release模式下构建了我的程序,它可以在我的计算机上运行。当我尝试在另一台计算机上部署时,我得到的错误是缺少MSVCP120.dll。为了解决这个问题,我右键单击我的项目,单击属性,然后单击配置属性>C/C++>代码生成,并将运行时库从多线程DLL(/MD)更改为多线程(/MT)。现在由于这个构建错误,我的程序将无

c++ - boost::asio::deadline_timer 没有唤醒(压力场景)

我正在使用deadline_timer作为异步事件,我遇到了这样一种情况,一段时间后,等待该事件的线程似乎永远不会被唤醒(尽管对cancel()的调用更多)。我已经能够使用我在下面粘贴的一些示例代码来重现它;它并不完全一致,但我已经看到我认为与我遇到的问题相同。boost::asio::io_serviceio_service;boost::asio::deadline_timertimer(io_service);timer.expires_at(boost::posix_time::pos_infin);intnum_events=0;autowaiter=[&timer,&num

c++ - boost 单元解析字符串流

boostunits库提供有用的编译时“度量单位”类型检查。它还提供流io操作来序列化单元。但是,我正在努力处理字符串解析位。例如,下面几行:boost::units::quantityf(2.0*boost::units::si::newton);std::cout产生输出:Force=2.0N谁能给我指出一个将这些标准序列化解析回boost单元的示例?//f.parse_string("2.0N");orusingstreamoperators??谢谢! 最佳答案 库不直接支持它。有一个例子可以提供一些灵感:http://www