目录
Boost.MultiArray 由几个组件组成。 MultiArray 概念定义了一个通用的多维容器接口。 multi_array 是一个通用容器类,它模拟 MultiArray。 multi_array_ref 和 const_multi_array_ref 是适配器类。 使用它们,您可以像操作 multi_array 一样操作任何连续数据块。 const_multi_array_ref 与 multi_array_ref 的区别在于,它的元素不能通过它的接口进行修改。 最后,几个辅助类用于创建和专门化数组,并且一些全局对象被定义为库接口的一部分。
要使用 Boost.MultiArray,您必须在您的源代码中包含头文件 boost/multi_array.hpp。 此文件将以下声明引入范围
namespace boost {
namespace multi_array_types {
typedef *unspecified* index;
typedef *unspecified* size_type;
typedef *unspecified* difference_type;
typedef *unspecified* index_range;
typedef *unspecified* extent_range;
typedef *unspecified* index_gen;
typedef *unspecified* extent_gen;
}
template <typename ValueType,
std::size_t NumDims,
typename Allocator = std::allocator<ValueType> >
class multi_array;
template <typename ValueType,
std::size_t NumDims>
class multi_array_ref;
template <typename ValueType,
std::size_t NumDims>
class const_multi_array_ref;
multi_array_types::extent_gen extents;
multi_array_types::index_gen indices;
template <typename Array, int N> class subarray_gen;
template <typename Array, int N> class const_subarray_gen;
template <typename Array, int N> class array_view_gen;
template <typename Array, int N> class const_array_view_gen;
class c_storage_order;
class fortran_storage_order;
template <std::size_t NumDims> class general_storage_order;
}