When I use boost::multi_array with boost::fortran_storage_order(), and I want to .resize by only the latest (rightmost) dimension, the current implementation is a nested N function call (std::copy), one by dimension.
The same functionality can be reached with one std::copy on the storage.
This minimal example shows the problem:
https://godbolt.org/z/GWbxcM14h
When I use
boost::multi_arraywithboost::fortran_storage_order(), and I want to.resizeby only the latest (rightmost) dimension, the current implementation is a nestedNfunction call (std::copy), one by dimension.The same functionality can be reached with one
std::copyon the storage.This minimal example shows the problem:
https://godbolt.org/z/GWbxcM14h