我想知道是否可以比较/简化/规范化模板模板参数。
即我有一个
template <template <typename...> class CONTAINER>
struct spam;
,并希望检查两种垃圾邮件类型是否相同
template <typename T>
using vectoralias = std::vector<T>;
std::is_same_v<spam<std::vector>,spam<vectoralias>>; // is false, where I (too) naively would've expected true.
我假设比较两个模板类型的相等性而不用拼写出参数很难,因为我比较的两个模板类型可能包含复杂的enable_if
或conditional
,但在简单的情况下像这样的别名,我想知道是否有办法。