Специализация std::less для Eigen::DenseBase ⇐ C++
-
Anonymous
Специализация std::less для Eigen::DenseBase
Мне нужен общий порядок как для Eigen::Matrix, так и для Eigen::Array, поэтому я хотел бы специализировать std::less > для родительского класса обоих: Eigen::DenseBase. Из https://eigen.tuxfamily.org/dox/TopicFu ... Types.html я знаю, что мне нужно определить std::less для шаблонного типа Eigen::DenseBase. Передача шаблонной функции в функцию шаблона (производная Eigen) содержит рабочий пример для Eigen::Matrix, поэтому я адаптировал его для родительского класса и придумал
шаблон struct std::less { booloperator()(const Eigen::DenseBase& lhs, const Eigen::DenseBase& rhs) const { return std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), рхс.конец()); } }; что не работает, поскольку компилятор пытается использовать std::less по умолчанию, который использует operator
Мне нужен общий порядок как для Eigen::Matrix, так и для Eigen::Array, поэтому я хотел бы специализировать std::less > для родительского класса обоих: Eigen::DenseBase. Из https://eigen.tuxfamily.org/dox/TopicFu ... Types.html я знаю, что мне нужно определить std::less для шаблонного типа Eigen::DenseBase. Передача шаблонной функции в функцию шаблона (производная Eigen) содержит рабочий пример для Eigen::Matrix, поэтому я адаптировал его для родительского класса и придумал
шаблон struct std::less { booloperator()(const Eigen::DenseBase& lhs, const Eigen::DenseBase& rhs) const { return std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), рхс.конец()); } }; что не работает, поскольку компилятор пытается использовать std::less по умолчанию, который использует operator
Мобильная версия