boost-variant相关内容

std :: variant和boost :: variant之间有什么区别?

在此问题的答案中: C ++标准库中的boost :: variant等效于什么? 有人提到 boost :: variant 和 std :: variant 有所不同。 就使用这些类的人而言,有什么区别? 有什么动机委员会是否表示采用具有这些差异的 std :: variant ? 使用这两个代码进行编码时应注意什么? ,以保持与切换到另一个的最大兼容性? (动机是 ..
发布时间:2020-06-06 20:15:36 C/C++开发

Boost :: Variant和function_types中:如何将函数放入Boost :: variant?

歌词: 我尝试通过MPI实现任务池。所以我需要某种RPC,但是在我的程序的不同部分之间工作,这意味着处理器A希望处理器B用参数D调用函数C.我们不能像进程线程一样传递指针到进程之间,所以我们需要一些包装容器来保存我们的函数指针在每个流程实例。所有内部一个源文件\ONE程序...所以我开始想知道如何在容器中存储具有不同签名的功能对象。我的API的想法当时是错误的 - 最好在池的构造中定义函数池 ..
发布时间:2016-10-30 20:01:26 C/C++开发

什么是正确的c ++变体语法调用成员函数设置为特定的变体?

下面的代码使用了包含int / MyVariant对的std :: map的boost变体。我能够正确地初始化我的地图,其中第一个元素包含33 / A对,第二个包含44 / B对。 A和B每个都有一个函数,我希望能够调用后分别检索他们初始化的地图元素: #include “stdafx.h” #include“boost / variant / variant.hpp” #includ ..
发布时间:2016-10-30 03:02:01 C/C++开发

boost :: variant单个存储保证

我的目标是确保所有变体类型的单一储存空间:根据'永不为空'保证从Boost :: variant ,我们需要重写 boost :: has_nothrow_copy 为每个有界类型。但稍后 文档提到了一些关于'boost :: blank',如果 类型是bound,variant将设置该值,而不是尝试不要 默认复制构造函数。 什么不清楚是如果在有界类型列表 中添加boost :: ..
发布时间:2016-10-27 04:55:39 C/C++开发

boost变种复制语义

我想知道boost变种的复制语义是什么。我检查了源代码,它有点令人不解,所以我想知道,在示例代码中,如果我的 getVal(name)函数复制的底层向量当它返回?如果是这样,我应该改变它作为引用(&)返回吗? 使用Val = boost :: variant& std :: vector,std :: vector> Val getVal( ..
发布时间:2016-10-24 17:09:57 C/C++开发

如何使用variant / visitor来概括树结构

这是我的问题的第2部分,最初是这里发布的。感谢@sehe的澄清和帮助。我结束了以下的代码,但我不知道如何减少这个东西一个通用的解决方案与变体和访问者。帮助/建议是非常感谢。感谢。 #include“stdafx.h” #include #include #include #include #inc ..
发布时间:2016-10-24 17:02:27 C/C++开发

boost :: variant的迭代器

Hy there, 我试图调整现有的代码以适应boost :: variant。想法是使用boost :: variant异构向量。问题是,其余的代码使用迭代器来访问向量的元素。有没有办法使用boost :: variant和迭代器? 我试过了 typedef boost :: variant变体; std :: vector袋; ..
发布时间:2016-10-24 15:08:00 C/C++开发

C ++:嵌套映射

这里是定义: struct nmap; struct nmap:map> {}; 下面的最后一行不起作用: nmap my_map; my_map [“a”] =“b”; my_map [“c”] = new nmap; my_map [“c”] [“d”] =“e”; 解决方案 我 ..
发布时间:2016-10-23 20:22:52 C/C++开发

构造包含变体类型索引中第n类型值的boost变体?

我想构造 boost :: variant 包含默认构造的值,用类型索引指定 - 不在类型索引上写自己的switch语句。 p> 我认为这个必须以某种方式使用MPL吗? ,索引不是编译时常量表达式。 用例是我需要构造一个变体,其中一个包含正确的值,但在这一点上我只知道类型索引。 解决方案 您需要使用 variant :: types typedef。这给了一个MPL兼容的 ..
发布时间:2016-10-23 19:49:43 C/C++开发

构造包含变体类型索引中第n类型值的boost变体?

我想构造 boost :: variant 包含默认构造的值,用类型索引指定 - 不在类型索引上写自己的switch语句。 p> 我认为这个必须以某种方式使用MPL吗? ,索引不是编译时常量表达式。 用例是我需要构造一个变体,其中一个包含正确的值,但在这一点上我只知道类型索引。 解决方案 您需要使用 variant :: types typedef。这给了一个MPL兼容的 ..
发布时间:2016-10-23 19:33:26 C/C++开发

如何在不相关的类型上实现动态多态性(运行时调用分派)?

目标: 我想实现类型安全动态多态性(即运行时调度对不相关类型的函数调用) - 即对于不具有公共基类的类型。在我看来,这是可以实现的,或至少在理论上是健全的。 给定以下内容: 两个或多个不相关类型 A1, $ R ;和 a boost :: variant object v (或任何其他类型的变体),并且必须必须随时假设任何类型的一个值; 我 ..
发布时间:2016-10-22 17:42:59 C/C++开发