什么是 Eigen::array(不是 Eigen::Array)
What is a Eigen::array (not Eigen::Array)
我正在使用本征张量库,在我看来 shuffle() 方法需要一个对象作为输入 Eigen::array.
在我的实现中,我有一个 std::list int 需要传递给 shuffle(当然我只在运行时知道第二个 int 参数(排名)!)
不久前,Eigen 的 Tensor 模块与 C++03 兼容。这意味着 std::array
不可用。出于这个原因,Tensor 模块定义了它自己的 Eigen::array
class,如果 C++11 可用,它实际上是 std::array
的类型定义。
文件 unsupported/Eigen/CXX11/src/util/EmulateArray.h 包含可归结为 (pseudo-code)
的内容
#if C++11 not available
// Define a custom std::array like Eigen::array class
#else
template <typename T, std::size_t N> using array = std::array<T, N>;
#endif
Tensor 模块降低了 C++03 兼容性,部分代码可能会被删除。
我正在使用本征张量库,在我看来 shuffle() 方法需要一个对象作为输入 Eigen::array
在我的实现中,我有一个 std::list int 需要传递给 shuffle(当然我只在运行时知道第二个 int 参数(排名)!)
不久前,Eigen 的 Tensor 模块与 C++03 兼容。这意味着 std::array
不可用。出于这个原因,Tensor 模块定义了它自己的 Eigen::array
class,如果 C++11 可用,它实际上是 std::array
的类型定义。
文件 unsupported/Eigen/CXX11/src/util/EmulateArray.h 包含可归结为 (pseudo-code)
的内容#if C++11 not available
// Define a custom std::array like Eigen::array class
#else
template <typename T, std::size_t N> using array = std::array<T, N>;
#endif
Tensor 模块降低了 C++03 兼容性,部分代码可能会被删除。