#include <iostream>
#include <vector>
#include <mdspan>
int main() {
std::vector<double> data(24);
for (int i = 0; i < 24; ++i) {
data[i] = i * 1.1;
}
// Create a 3D mdspan with dynamic extents
std::mdspan<double, std::dextents<std::size_t, 3>> volume(data.data(), 2, 3, 4);
// Access and print elements
for (std::size_t i = 0; i < volume.extent(0); ++i) {
for (std::size_t j = 0; j < volume.extent(1); ++j) {
for (std::size_t k = 0; k < volume.extent(2); ++k) {
std::cout << volume[i, j, k] << " ";
}
std::cout << std::endl;
}
std::cout << std::endl;
}
return 0;
}