Two class templates, one using variadic parameters to model a multidimensional array, the other a multidimensional array adaptor on top of a container class
Besides the aforementioned container (array_md
) and adaptor (multiarray
) class templates, there are two helper sub-libraries. The indexing_result
and indexing_noexcept
type-traits class templates calculate the result type and exception status of a chain of operator []
calls. The slice
function templates carry out a chain of operator []
calls with the base and index objects/values given as variadic function arguments; they have bounds-checking counterparts called checked_slice
.
The four sub-libraries require C++2011 features, so your compiler and standard library has to support being run in C++11 mode.
The format of the library is like a prototype Boost library submission. As such, the code is under the Boost Software License.