草庐IT

Project_with_boost

全部标签

c++ - 从访问者更改 boost::variant 基础类型

我有一个模拟S表达式的递归变体:structsexpr{typedefboost::variant>>node_type;node_typenode;};我希望空列表始终由nil表示(不是list)。但是,我坚持执行push_back()访问者。当基础类型为nil时,我希望它将该类型更改为list并推回提供的值:structpush_back_visitor:publicboost::static_visitor{push_back_visitor(constsexpr&arg):arg_(arg){}templatevoidoperator()(constT&value)const{

c++ - 何时在 Boost Test 库中使用手动注册?

我一直使用BoostTest的自动注册。现在我想知道,手动注册有什么用?是否存在自动注册无法处理的情况?补充说明,这次我也将使用turtle进行模拟。编辑:似乎我的问题不清楚,更准确地说:我什么时候应该使用手动注册而不是自动注册?我为什么要这样做?自动注册不足以解决哪些现实生活情况? 最佳答案 根据documentationToalleviatethisissuetheUTFpresentsfacilitiesforautomated(inplace)testcasecreationandregistrationinthetestt

C++ 微软 : How to associate uuid/guid with template specialization

我想将uuid/guid与模板特化相关联。以下代码可用于将uuid与非模板接口(interface)(类、结构)相关联:__interface__declspec(uuid("CECA446F-2BE6-4AAC-A117-E395F27DF1F8"))ITest{virtualvoidTest()=0;};GUIDguid=__uuidof(ITest);//OK现在我有了一个模板化的界面template__interfaceITemplateTest{virtualvoidTest(Tt)=0;};我想做以下工作:GUIDtemplateGuid=__uuidof(ITemplat

c++ - PySide 中的多线程 Boost Python C++ 代码

我有用BoostPython包装的C++代码。我的想法是,我创建了一个共享对象,我的pythonGUI可以使用它来实例化包装C++功能的变量C++代码做了一些提升,我希望能够使包装对象并发运行,这样GUI就不会阻塞。我编译了一个用CMake包装的BoostPython共享对象,如下所示:find_package(BoostCOMPONENTSsystemthreadpythonREQUIRED)find_package(PythonLibsREQUIRED)include_directories(${Boost_INCLUDE_DIRS})include_directories(${P

c++ - boost 参数库

最近我发现ParametersBoost中的库。老实说,我不明白为什么这是Boost的一部分。当需要将多个参数传递给函数时,您可以从中创建一个结构,例如:structParameters{Parameters():strParam("DEFAULT"),intParam(0){}stringstrParam;intintParam;};voidfoo(constParameters¶ms){}Parametersparams;params.intParam=42;foo(params);这很容易写和理解。现在以使用Boost参数为例:BOOST_PARAMETER_NAME(p

c++ - 我可以用 boost.program_options 做什么和不能做什么?

我目前使用一些旧的C库来获取程序选项,并想用一些适当的C++替换它(主要是为了独立于该库,这是一个真正的负担)。我正在考虑使用boost.program_options,但我不确定它能否支持我想要的一切。我想要的一些东西是:允许以下命令行语法:myprogramoption=value(特别是,我真的不想要--optionvalue语法)如果未提供任何值,则使用默认值(显然这可以在我的程序中完成,但选项库中的支持会很好)允许默认选项(即使我不提供它们也始终存在)和包含所有选项及其描述的自动帮助输出允许数学解析,即(命令行)myprogramoption1=Pioption2=3/5op

c++ - 如何使用 C++ STL 和 boost 判断两个排序 vector 是否相交

我有两个已排序的C++std::vector,没有重复项(您可以称它们为集合),我想知道它们是否相交。我不需要公共(public)元素的vector。我在这个问题的末尾使用boost“范围”库中的boost::set_intersection算法编写了代码(http://www.boost.org/doc/libs/1_50_0/libs/range/doc/html/range/reference/algorithms/set.html)。此代码避免构建公共(public)元素集,但会扫描vector的所有元素。是否可以在不使用循环的情况下使用boost和C++STL改进我的函数“相

c++ - boost Python 可移植性问题

我有一个用C++编写的dll,我想将其导出到Python以运行回归和单元测试(使用Python维护和运行回归更容易)。为此,我想使用Boost.Python导出dll的主要API,以便它可以在Python中使用。我的程序集如下所示:MyLibrary.dll//主要APIC++库MyLibrary.pyd//一个仅包含BOOST_PYTHON_MODULE导出定义的瘦dll项目(依赖于MyLibrary.dll)...//MyLibrary.dll依赖的其他C++dll文件我在让MyLibrary.pyd链接时遇到了一些麻烦,但在深入研究了一些问题之后(例如here)我意识到我必须重新

c++ - 错误 : Undefined symbols for architecture x86_64 with classes

我是一名初学者,正在编写一个帮助我节食的有趣程序。该程序尚未完成,但在我编写时正在编译。我不断收到标题中提到的错误:Undefinedsymbolsforarchitecturex86_64withclasses我看过类似的问题,但它们都与模板和继承类有关,这与我的情况不同。我只是在宣布一个类(class),没什么特别的。我认为这与未正确定义类有关,但我无法弄清楚它是什么。这可能是我想念的愚蠢的东西,但我仍然被困住了。谢谢。#include#includeusingnamespacestd;classMeal{private:stringname;intprotein;intcarbs

使用 g++ 4.6 和 boost::unordered_map 的 C++11 相关编译错误

我有一段C++代码会因编译错误而失败,除非它在​​C++11模式下运行,但我无法弄清楚为什么会这样,因为代码没有(明确地)使用C++11特点:#include#include#includestructSomeStruct{boost::unordered_mapintMap;};intmain(intargc,constchar*argv[]){std::vectorvals;vals.resize(100);}在使用gcc4.6.3-1ubuntu5和boost1.48的Ubuntu12.0464位机器上编译时:g++test.cpp然后我得到这个编译错误:Infileinclud