Я делаю шаблон псевдонима класса Matrix Эйгена, и мне было интересно, можно ли извлечь значение из одного из «неиспользуемых» параметров шаблона.
enum MatrixType{
FOO,
BAR
};
template<int ROWS, int COLS, MatrixType FOO>
using Matrix = Eigen::Matrix<double, ROWS, COLS>
Я хочу иметь возможность извлечь значение MatrixType на более позднем этапе (в частности, в плагине MatrixBase, но не связан). Я видел подходы на этом сайте, такие как:
template<template <MatrixType> typename T, MatrixType N>
constexpr MatrixType extract(const T<N>&) { return N; }
Но я не смог согласовать это с моей конкретной ситуацией c. Спасибо за любые рекомендации.