草庐IT

BOOST_STRINGIZE

全部标签

c++ - 针对特定后端的 Boost.Locale 测试

有没有办法检查(最好是在编译时或配置时)Boost.Locale库是否在编译时支持特定后端(即ICU)? 最佳答案 Boost.Locale提供this:std::vectorboost::locale::localization_backend_manager::get_all_backends()const这将列出所有可用的后端。例如,localization_backend_managerlbm=localization_backend_manager::global();autos=lbm.get_all_backends(

c++ - 如何在 Boost.Lambda 中使用 <cmath> 中的函数?

我尝试使用其他一些算术运算(不在代码中)将vectorv的所有元素转换为它们的对数值。我如何使用Boost.Lambda来实现这一目标?正如我所说,还有更多的算术运算,所以带有Boost.Bind的表达式对我不起作用(太复杂、太长、不可读)。我也不想使用C++11lambda。但是……它会改变什么吗?我的代码是这样的:#include#include#includevoidtestLambda(){usingnamespaceboost::lambda;std::vectorv;v.push_back(1);v.push_back(2);v.push_back(3);std::tran

c++ - Boost iostreams 库存在,但我无法链接它

我知道有很多类似的问题,但我的问题有点不同,而且没有帮助我。我正在使用boost-iostreams库,这是我的问题,我试图将我的程序与库链接:ld-I/usr/include/boost/iostreams/-I/usr/include/boost/iostreams/device/-L/usr/lib/libboost_iostreams.so-lboost-iostreamsfd.o-ox结果是:ld:cannotfind-lboost-iostreams当我试图明确地写它时:ld-I/usr/include/boost/iostreams/-I/usr/include/boos

c++ - 在 boost::log 中使用格式语法

在boost::log进入官方boost库之前(从1.54开始),我使用的是sourceforgeversion使用以下代码:boost::log::formatters::fmt_formatsimpleFormat(boost::log::formatters::format("%1%%2%")%boost::log::formatters::date_time("TimeStamp",boost::log::keywords::format="%H:%M:%S")%boost::log::formatters::message());以及后来的:log_sink->locked_

c++ - 如何使 Boost dylibs 在 os x 上通用(i386 和 x86_64)?

我正在尝试将Boost库编译成通用二进制文件(即包含i386和x86_64架构构建的“胖”文件)。破坏互联网和SO我组装了以下说明。下载boost(例如来自http://www.boost.org/users/download/)在下载的文件夹中,输入./bootstrap.sh(或者,在我的例子中./bootstrap.sh--with-libraries=thread,因为我只需要线程库)键入./b2installcxxflags="-archi386-archx86"这些步骤将Boost线程库安装到/usr/local/lib/(它的标准位置)。生成的静态库是一个通用二进制文件。

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