Hello everyone,
I'm new here and trying to get involved in the standardisation process for C++.
(I haven't been able to find R1 of the paper, so anything I say is based on R0)
My implementation is far from done, but I've completed the storage engines highlighted in R0. The repository also has a suite of tests written using Catch2.
Here are the most important things I've noticed about R0:
- Some of the methods of matrix_transpose_engine seem weird for a non-owning transposed view (Take for example data(), the pointer returned by this method won't be transposed, right? Otherwise, the transpose engine needs to make a copy, transpose the data
and return a pointer to the copied data, but then its not a view anymore, right?)
- dyn_matrix_engine doesn't seem to have a way to specify size (and/or capacity) at construct time.
- The memory layout for dyn_matrix_engine also needs to be discussed, I've found 2 options already, both with advantages and disadvantages. This image (https://bitbucket.org/ThomasCassimon/p1385/src/master/img/memory_layout.png)
should clarify what I mean.
- I've also found the resize/reserve semantics for a 2D array to be far from trivial, they require some design decisions to be made, this is also something that needs to be addressed.
Those are the major points I had about P1385, the code also contains todo's for a number of smaller things, feel free to browse, give feedback and discuss.
Thomas