Почему Eigen::DenseBase<Derived>
не имеет data()
метода?
Я думал, что плотный массив будет непрерывным в памяти.
Являются ли блоки также DenseBase?
template <typename Derived>
void f(Eigen::DenseBase<Derived>& x) {
std::sort(x.data(), x.data() + x.size());
}
ArrayBase
также не имеет метода данных.
Работа вокруг:
template <typename Derived>
void f(Eigen::DenseBase<Derived>& x) {
std::sort(&x[0], &x[0] + x.size()); // sort the whole vector
}