问题标签 [boost-multi-array]

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 投票
3 回答
224 浏览

c++ - 了解 Boost MultiArray 参数

这是来自Boost 文档并且编译没有问题。

我的问题是:第二个模板参数是什么?从文档中我不清楚。此代码仅在设置为 时才能编译3

0 投票
1 回答
1355 浏览

c++ - 迭代 boost::multi_array 的维度

我正在尝试使用 boost::multi_array 为 c++ 中的模板类编写一些与维度无关的代码(尽管如果其他容器/数据结构在这方面做得更好,我很乐意听到它)。

给定一个维度,我想遍历所有其他维度的整个范围,沿所选维度返回一维视图。这是相当简单的,或者至少它似乎来自 boost 文档。

当数组的维度在编译时已知时,我不知道该怎么做是在数组的所有维度上迭代选定的维度。

关于如何做到这一点的任何建议?

0 投票
2 回答
1338 浏览

c++ - Boost MultiArray 复制构造函数

我在理解 boost::multi_:array 的复制构造函数实现时遇到了问题。

当我尝试以下

一切正常,

但是当我尝试

我撞车了。

我期望相同的行为,但我也无法在文档中找到任何有用的东西。

有人有想法吗?

问候

阿瓦拉布

0 投票
1 回答
641 浏览

c++ - 提升 multi_array 范围编译

范围可用于对 Boost 多维数组 (multi_array) 进行切片。根据文档,有几种定义范围的方法,但并非所有方法都能编译。我在 Ubuntu 11.04 上使用 GCC 4.5.2。

编译器输出为:

知道如何编译它,或者缺少什么吗?

0 投票
1 回答
699 浏览

c++ - 在 Qt Qimage 和 Boost Multi Array 之间正确复制数据

我想将数据从 Qt 图像复制到 Boost Multi Array,对 Multi Array 进行一些操作,然后将数据复制回 QImage 以显示。

我正在使用 访问原始数据Qimage::bits()并尝试使用 进行复制std::copy,并且似乎存在我不理解的数据对齐问题。这里有一个关于访问 32-bpp 图像数据的注释,但即使我将 QImage 转换为不同的格式,问题仍然存在。

我整理了一个片段来说明一个典型的问题。很可能有很多事情我做错了,所以请耐心等待。在这里,我试图将图像 2的上半部分复制到图像 1并获得此输出

我的 .pro 文件只包含SOURCES += main.cpp

非常感谢任何帮助。

0 投票
2 回答
479 浏览

c++ - 来自 boost::multi_array 的二维数组 - 无法编译

我正在尝试创建一个基于boost::multi_array. 我在下面给出的代码中面临两个问题。(1) 成员函数的代码col()无法编译::type’ has not been declared。我哪里错了?(2) 是否可以在类外定义成员函数data()?我的尝试给出了编译错误,因为 typedef 不可用。但是我无法在类外部定义 typedef,因为 typedef 又需要T仅在模板类内部可用的类型。谢谢。

0 投票
1 回答
586 浏览

c++ - 如何合并两个或多个一维 boost::multi_array s?

我想学习如何将一维添加multi_array到另一个一维的末尾multi_array。我该怎么做?

0 投票
1 回答
855 浏览

c++ - boost::multi_array 上的分段错误

以下代码给出了分段错误:

输入二进制文件包含unsigned int数据,其报告的大小为ls -l 231*(5+1) 4 = 5544 字节。我尝试读取文件并将数据存储在向量中,发现向量大小为 231 (5+1) = 1386。使用 gdb 分析核心文件得到以下输出。

有什么建议么?谢谢。

0 投票
1 回答
399 浏览

c++ - Boost C++ - 动态迭代多数组

我有一个大型 2D multi_array,我需要将其减少为一组较小的数据(也是 2D)。在运行时,我有一个要选择并放入子数组的列索引向量。

我知道您可以使用 boost::multi_array_types::index_range 从原始数组创建子数组,但我看到的所有示例都使用硬编码范围。有没有办法在运行时使用值向量设置 index_range,或者这在 multi_array 中是不可能的?

我想做类似的事情

0 投票
2 回答
779 浏览

c++ - 如何在运行时指定 boost multi_array 的退化维度?

我有一个 3D multi_array,我想使用运行时指定的维度制作 2D 切片。我知道退化维度的索引和要在该退化维度中提取的切片的索引。目前,丑陋的解决方法如下所示:

有没有更漂亮的方式来构造 index_gen 对象?像这样的东西:

似乎每次对 boost::indices::operator[] 的后续调用都会根据维度(即先前调用的数量)返回不同的类型,因此无法使用可以保存临时 index_gen 对象的单个变量。