boost-any相关内容

通过索引访问可变参数模板中的类型

我想通过索引获取可变参数模板中的类型.索引被指定为模板参数.我设法找到了一个可行的"hack",但我认为这不符合可变参数模板编程的精神.此外,它使用额外的内存. 下面是带有一些解释的代码: 模板类PipelineReceiver{受保护的://此元组仅用于存储类型//因此,我想摆脱它,但不确定如何.std :: tuple ..
发布时间:2021-04-20 18:48:27 C/C++开发

boost :: any是否需要RTTI?

在Boost网站上,我没有找到关于boost :: any的使用或RTTI的信息. 我在几个地方读到这是一个要求,但是后来我建立了一个简单的测试项目,它在有和没有RTTI的情况下都可以构建. 那么,boost :: any和类似的类是否需要RTTI及其性能和内存问题? 解决方案 由于boost::any不需要boost 1.57 RTTI.请记住,所有用作boost::any的 ..
发布时间:2020-09-22 06:29:57 C/C++开发

地图中的其他键类型

对于特定要求,我想拥有一个具有不同类型键的映射.类似于boost:any. (我有一个旧的gcc版本) map aMap; //in runtime : aMap[1] = "aaa"; aMap["myKey"] = "bbb"; 使用boost可以做到这一点吗? 先谢谢 解决方案 如果您不愿意使用boost变体,则可以破解自己的密钥类 ..
发布时间:2020-09-22 05:42:39 C/C++开发

C ++ 11标准是否提供boost :: any之类的东西?

例如boost::function几乎完全移到了std::function,与boost::shared_ptr一样. 但是我找不到std::any吗? 是重命名还是以任何理由将其放置在新标准中? 解决方案 并不是boost中的每个库都使其成为标准库(甚至包括那些已删除组件的库).通常,在添加到标准库中时,提交人相当保守(因为如果包含错误(例如,因为有更好的选择),在以后无法删除某些 ..
发布时间:2020-07-31 06:30:50 C/C++开发

访问类中的值类似于boost :: any

我为教育目的做一个简单的 boost :: any 类的类,但我不知道如何访问存储的值。我可以完美地设置值,但是当我尝试访问“holder”类中的任何成员时,编译器只是抱怨该成员在其派生类中找不到。我不能将成员声明为 virtual 因为模板。 这里是相关的代码: class Element { struct ValueStorageBase { } templat ..
发布时间:2016-10-24 15:15:18 C/C++开发

boost :: spirit :: hold_any内存损坏

我有一个大型代码库,可以使用 boost ::任何或 boost :: spirit :: hold_any (取决于宏定义)。 hold_any boost :: any (例如如何将boost :: any打印到流? 或类型擦除 - 第IV部分 )和更快(为什么你不应该使用boost :: any ),但我遇到了几个分段错误使用 hold_any (Boost v1.55 / 1.54 ..
发布时间:2016-10-23 21:07:31 C/C++开发

boost :: spirit :: hold_any内存损坏

我有一个大型代码库,可以使用 boost ::任何或 boost :: spirit :: hold_any (取决于宏定义)。 hold_any boost :: any (例如如何将boost :: any打印到流? 或类型擦除 - 第IV部分 )和更快(为什么你不应该使用boost :: any ),但我遇到了几个分段错误使用 hold_any (Boost v1.55 / 1.54 ..
发布时间:2016-10-23 21:03:31 C/C++开发

c ++ boost :: any定义我自己的print,

我很努力找到如何使用 boost :: any 创建一个可以使用模板先打印任何类型的打印函数。 template struct printer { void print(ostream& os,const boost :: any& a); }; 我需要定义第一个 print() 。想法很简单:给每个任何对象附加一个类 i希望拥有真正的运算 ..
发布时间:2016-10-22 18:56:25 C/C++开发

C ++ - boost ::任何序列化

据我所知,没有序列化( boost :: serialization ,实际上)支持 boost :: any 占位符。 有人知道是否有一种方法可以序列化自定义 boost :: any 实体? 这里的问题很明显: boost :: any 使用基于模板的占位符存储对象, typeid 以检查 boost :: any_cast 是否合适。 因此,有一个定制的抽象超类占位符和基于 ..
发布时间:2016-10-17 10:50:06 C/C++开发

如何boost :: variant和boost ::任何工作?

``````````````````````````````在我正在开发的项目中,我目前使用一个标记的联合。我想使用其他的东西,因为C ++的联合不允许你使用对象的构造函数,析构函数或重载的赋值运算符。 我查询任何和变体的大小,并与他们做了一些实验。在我的平台,variant取其最长的类型加上8字节的大小:我认为我只是8字节的类型信息,其余的是存储的值。另一方面,任何只需要8个字节。因为我在 ..
发布时间:2016-10-14 22:51:36 C/C++开发

从字符串/ boost ::任何地图构建boost ::选项

我有一个表示配置的地图。它是 std :: string 和 boost :: any 的映射。 此映射在开始时初始化,我希望用户能够在命令行上覆盖这些选项。 我想要做的是使用 options_description :: add_option()方法从这个地图构建程序选项。但是,它需要一个模板参数 po :: value ,而我所有的是 boost :: any 。 到目前 ..
发布时间:2016-10-13 12:18:33 C/C++开发

提振精神,提升和任何引用字符串 - 编译时错误

我有以下的code: 的#include<升压/ any.hpp> #包括LT&;升压/精神/有/ qi.hpp>#包括LT&;&iostream的GT; #包括LT&;串GT;模板< typename的迭代器> 结构解析器:提振精神:: ::气::语法<迭代器,提振::任何()的boost ::精神::齐:: ASCII ::空间类型> { 解析器 ..
发布时间:2016-08-12 18:57:30 C/C++开发

阵列中的存储对象

我要保存在地图上提升信号的对象(协会:信号名称→信号对象)。这些信号签名是不同的,因此第二种类型的地图应的boost ::任何 地图<字符串,任何> mSignalAssociation; 问题是如何存储对象,而不定义新的信号特征的类型?的typedef的boost :: signals2 ::信号u;无效(INT重点code)> sigKey pressed; mSign ..
发布时间:2016-08-12 18:54:24 C/C++开发

通用功能转换的boost ::任何提振::变种

假设你有一个的boost ::任何对象和的boost ::变种对象。 我在寻找一个泛型函数转换,带有一个模板参数T是一个专门的的boost ::变种例如: 的boost ::变种< INT,标准::字符串> 和神奇的的boost ::任何转换为之一可用的类型给定的的boost ::变种。 模板< T> ŧ转换(常量的boost ::任何和放大器;任意){ //一些 ..
发布时间:2016-08-12 18:43:58 C/C++开发