The memory layout of an std::vector<std::array<...>> is better than std::vector<std::vector<...>>. This allows HighFive to avoid numerous allocations and copies. Additionally, I feel it's simpler because it avoid the ambiguity of rows of differing length, when in fact the RawIndex seems to be a vector of ranges.
The memory layout of an
std::vector<std::array<...>>
is better thanstd::vector<std::vector<...>>
. This allows HighFive to avoid numerous allocations and copies. Additionally, I feel it's simpler because it avoid the ambiguity of rows of differing length, when in fact theRawIndex
seems to be a vector of ranges.