问题标签 [boost-tuples]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1414 浏览

c++ - boost::tuple 和 std::map 的分段错误

我无法使用类似于以下代码的代码:

编译器看不到任何错误。但是当我启动我的程序时,会发生一个奇怪的分段错误。所以我想找到导致它的代码行。GDB 然后告诉我:

不幸的是,到目前为止,我找不到任何解决此类问题的方法。

有人看到我在这里错过了什么吗?

编辑:所以我做了一些进一步的调查。导致问题的对象是用户定义的对象。实际上,boost-stuff 和地图的使用似乎都不是原因,因为向量也会发生错误!

我还尝试在单独的课程中重现该错误。不幸的是,我无法在那里引发错误。

现在 gdb 告诉我:

会不会是编译器设置造成的?

0 投票
2 回答
4823 浏览

c++ - boost tuple:增加最大元素数

boost 元组文档说:

当前版本支持具有 0-10 个元素的元组。如有必要,上限可以增加到例如几十个元素。

但是,我找不到它说明如何执行此操作的位置。

我希望元组有BOOST_MPL_LIMIT_VECTOR_SIZE元素(默认为 20)。这是因为我在 and 之间进行映射mpl::vectorsboost::tuples并且希望所有容器都具有相同数量的元素。

0 投票
1 回答
1318 浏览

c++ - 对 boost.fusion 向量中的元素的引用

编辑 - 请忽略 - 围绕一个简单的错字解决了这个问题。我需要休息。

如何访问对升压融合向量元素的引用?

与 boost.tuples 的tuples::get<i>(variable)(返回一个引用)不同,fusion::at_c<i>(variable)返回一个常数,这给我带来了困难。

以下说明了我的问题

0 投票
3 回答
1899 浏览

c++ - boost::tuple 中模板化参数的数量

我正在使用boost::tuple我的代码。

假设我想存储一个具有 3 个成员的结构的等价物

有没有什么方法可以调用,tuple这会给我包含的成员数量,所以在这种情况下是 3?

我的目标是监控何时增加模板参数的数量。

0 投票
1 回答
558 浏览

c++ - Boost.Range 的 C++ 元组 - 获取元素类型的元组?

我正在试验 Boost.Range 和 Boost Tuple。如果我有一个范围的元组,我如何 typedef 一个元组或相应的元素值?换句话说,我在这里放什么/*?*/

当然,我可以手动完成,我会写:

甚至:

但我认为无论元组大小如何,都应该可以TupleOfElements直接从中派生。TupleOfRanges欢迎任何想法!

编辑:这似乎有效,谢谢@ltjax:

0 投票
2 回答
1308 浏览

c++ - boost::bind 不适用于 boost::tuple::get()

我正在尝试将boost::bindSTL 与 一起使用boost::tuple,但每次尝试编译时都会出现以下错误。

你知道我在这里做错了什么,为什么只是为了boost::arg<1>

谢谢AFG

0 投票
3 回答
705 浏览

c++ - 如何为 boost::tuple 编写一个 `<<` 运算符?

在下面的示例代码中,它表明 boost::tuple 可以从第一个模板参数隐式创建。因此,我无法编写<<运算符,因为它变得模棱两可。

我也不明白为什么ostringstream& << float也是模棱两可的。这没有任何隐式构造。为什么这也会产生模棱两可的错误?

错误信息:

tupleTest2.C:18: error: ISO C++ 说这些是模棱两可的,即使第一个的最差转换比第二个的最差转换更好:

0 投票
1 回答
533 浏览

c++ - 按照运行时定义的顺序遍历 C++ 元组

可以迭代 boost 或 std 元组,但我可以按照运行时确定的顺序进行迭代,同时仍保留类型信息吗?

假设我的元组充满了类型的对象Foo

我希望能够遍历Foo类型列表,调用它们的doit方法,但是按照由rank成员的值定义的任意顺序。

0 投票
1 回答
163 浏览

c++ - 使用另一种构造一个具体的 boost::tuple 类型

鉴于:

typedef boost::tuple< T1, T2, T3, ..., Tn > Tuple_Tn

其中类型 T1, ... Tn 都已定义,

给定类型 T_another,我想定义一个新的元组类型:

typedef boost::tuple< T1, T2, T3, ..., Tn, T_another > Tuple_T_plus_1

但这是我的问题:在我想定义它的地方,我只能访问类型 Tuple_Tn 和 T_another。

换句话说,是否可以仅根据 Tuple_Tn 和 T_another 来定义 Tuple_T_plus_1?

0 投票
1 回答
749 浏览

c++ - boost tuple 'get' 方法是如何工作的?

在深入研究了优秀的 boost 元组类 (tuple_basic.hpp) 的源代码后,我可以看到在访问元组成员的“get”方法中使用了递归模板化算法。

我正在努力理解的是如何将数字模板化参数映射到特定的成员名称?此外,递归模板函数不会总是收敛到第一个元素(如递归模板函数的停止条件, get<0>())?, 如何访问大于零的元素?