草庐IT

ZN5boost

全部标签

c++ - 访问 boost fusion map 字段名称

我一直在尝试使用一些boostfusion的东西来编写一个常规的c结构到文件。XML文件似乎是捕获数据并使其与其他工具兼容或可手动编辑的好方法。似乎我几乎拥有它,但似乎缺少一些基本的东西。我使用的东西与boost::fusion快速入门页面上的内容非常相似:http://www.boost.org/doc/libs/1_54_0/libs/fusion/doc/html/fusion/quick_start.html.作为旁注,我已经彻底查看了此处和boost的文档,但似乎没有人访问该字段名称。structprint_xml{templatevoidoperator()(Tconst&

c++ - 一旦 C++0x 成为主流,boost 的重叠部分会发生什么?

一旦C++0x成为主流,boost的重叠部分会发生什么?boost是否仍会包含以前的所有内容,或者他们是否会调整库以使用新的std::内容对其进行更新?boost是否会同时拥有正常的c++版本和他们将维护的c++0x版本? 最佳答案 出于几个原因,人们会希望Boost继续支持现有的类。首先,有一段代码使用了Boost中的重叠特性,需要在一段时间内得到支持。其次,重叠的实现让我可以选择我更喜欢使用哪一个。std::Frob和Boost::Frob之间可能存在一些对我的项目很重要的区别,并且有选择是好的。不过,从长远来看,我希望应用程序

c++ - 如何在 C++ 中生成 UUID,而不使用 boost 库?

我想为我的应用程序生成UUID,以区分我的应用程序的每次安装。我想在不支持boost库的情况下使用C++生成这个UUID。如何使用其他一些开源库生成UUID?注意:我的平台是windows 最佳答案 如果您使用的是现代C++,就可以了。#include#includenamespaceuuid{staticstd::random_devicerd;staticstd::mt19937gen(rd());staticstd::uniform_int_distributiondis(0,15);staticstd::uniform_in

c++ - BOOST_CLASS_EXPORT 放在哪里进行 boost::serialization?

我正在尝试序列化指向多态类的指针Shape.所以我需要使用BOOST_CLASS_EXPORTmacro为每个子类定义一个GUID。问题:放在哪里?让我先展示一个最小的测试用例:shapes.hpp#include#include#includeclassShape{friendclassboost::serialization::access;templatevoidserialize(Archive&ar,unsignedintconstversion){//nothingtodo}public:virtual~Shape(){}};classRect:publicShape{fr

c++ - 使用 boost::serialization 序列化为 XML

这是一个新手问题。我正在尝试将一些对象序列化为XML,但生成的XML包含增强序列化签名、版本信息、类id等。我不需要。有没有办法在不对xml消息进行后处理的情况下摆脱它们?#include#include#include#includeusingnamespacestd;classTest{private:friendclassboost::serialization::access;templatevoidserialize(Archive&ar,constunsignedintversion){ar&BOOST_SERIALIZATION_NVP(a);ar&BOOST_SERIA

c++ - 被 Unicode、Boost、C++、codecvts 难倒

在C++中,我想使用Unicode来做事。因此,在掉进Unicode的兔子洞之后,我最终陷入了困惑、头痛和语言环境的火车残骸中。但在Boost中,我遇到了一个不幸的问题,即尝试使用Unicode文件路径并尝试将Boost程序选项库与Unicode输入一起使用。我已经阅读了有关语言环境、codecvts、Unicode编码和Boost主题的所有内容。我目前的尝试是使用一个codecvt,它接受一个UTF-8字符串并将其转换为平台的编码(POSIX上的UTF-8,Windows上的UTF-16),我一直在尝试避免wchar_t.我实际上得到的最接近的是尝试使用Boost.Locale执行此

c++ - 如何找出特定 Boost 库需要哪些依赖项(即其他 Boost 库)?

对于任何C++Boost库,如何找出它需要哪个Boost库?示例(但不一定是工作示例):Boost库“test”需要Boost库“date_time”。问候, 最佳答案 boost自带一个工具来收集库的依赖关系。它被称为bcp.如果您只需要文件列表,则必须使用--list选项。 关于c++-如何找出特定Boost库需要哪些依赖项(即其他Boost库)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

c++ - 查找 boost python 对象的类型

我一直在将python嵌入到c++中,我想知道是否有办法找到boost::python::object的类型,它是执行python模块的函数后的结果。我有这样的代码:boost::python::objectmodule_=boost::python::import("..libName");boost::python::objectresult_=module_.attr("..functionName")(arg1,arg2,...);//supposeiftheresultisint,inta_=boost::python::extract(result_);从上面的代码片段中,

c++ - 有没有一种简单的方法可以让 `boost::ptr_vector` 在 Visual Studio 中对调试器更加友好?

我正在考虑使用boost::ptr_container作为thisquestion的响应的结果.该库的最大问题是我无法在调试器中查看集合的内容,因为MSVC调试器无法识别它,因此我看不到容器的内容。(所有数据在内部存储为void*)我听说MSVC有一个名为“调试器可视化器”的功能,它允许用户使调试器更智能地处理这些事情,但我从来没有写过这样的东西,而且我不是很熟悉这样的事情。例如,将boost::shared_ptr的行为与MSVC自己的std::tr1::shared_ptr进行比较。在调试器中(即在Watch窗口中),boost版本显示为用于实现共享指针的大量内部变量,但MSVC版

c++ - 使用 boost 库时加快编译/链接时间

我正在使用BoostProgramOptions,并且用它编译非常小的C++代码需要相当长的时间(10秒甚至更多)。在没有boost库的情况下编译代码需要1秒。知道如何使用boost库来boost编译/链接时间吗?它是跨平台的,所以我需要用MacOSX/Linux/PC编译代码。 最佳答案 除了通常的技巧之外,您无能为力:最小化依赖:只引入你真正需要的Boost头文件,并尽可能使用特定的头文件(许多库都有一个“主”头文件,例如boost/thread.hpp,但是还有一个带有特定header的子目录,例如boost/thread/s