Имея матрицу, сохраненную в векторе порядка строк, я хочу получить доступ на запись к представлению столбца (к соответствующим записям вектора).
Можно ли как-то разыменовать представление столбца range-v3 и напрямую присваивать ему значения другого представления?
До сих пор я нашел обходной путь, используя zip: view, но я не на 100% удовлетворен решением.
wandbox
std::vector<int> mat_as_vec = rv::ints(1, 12 + 1);
auto col_0 = mat_as_vec | rv::drop(0) | rv::stride(3);
auto col_1 = mat_as_vec | rv::drop(1) | rv::stride(3);
auto col_2 = mat_as_vec | rv::drop(2) | rv::stride(3);
//What I want to write is
auto new_col_0 = rv::zip_with([](auto c1, auto c2) {
return 10 * c1 + c2;
}, col_1, col_2);
//and then just dereference the view of col_0 and assign the new_col_0 to it
//*col_0 = new_col_0;
//Workaround:
for ( auto [c0, c1, c2] : rs::zip_view(col_0, col_1, col_2) ){
c0 = 10 * c1 + c2;
}