2010/08/17 by Bjoern Andres, Ullrich Koethe, Andres, Bjoern +5 · 1 citation
Computer Science · #Advanced Data Storage Technologies #Algorithms and Data Compression #Data Structures and Algorithms (cs.DS) #FOS: Computer and information sciences #Mathematical Software (cs.MS) #Parallel Computing and Optimization Techniques #Programming Languages (cs.PL) #Software Engineering (cs.SE) #cs.DS #cs.MS #cs.PL #cs.SE
paper · pdf · doi:10.48550/arxiv.1008.2909
Free source code available
arxiv created 2010/08/17 · openalex publication_date 2010/08/17 · arxiv updated 2010/08/18 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Multi-dimensional arrays are among the most fundamental and most useful data structures of all. In C++, excellent template libraries exist for arrays whose dimension is fixed at runtime. Arrays whose dimension can change at runtime have been implemented in C. However, a generic object-oriented C++ implementation of runtime-flexible arrays has so far been missing. In this article, we discuss our new implementation called Marray, a package of class templates that fills this gap. Marray is based on views as an underlying concept. This concept brings some of the flexibility known from script languages such as R and MATLAB to C++. Marray is free both for commercial and non-commercial use and is publicly available from www.andres.sc/marray