目录
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; }