首页 > 解决方案 > 比较(别名)模板模板

问题描述

我想知道是否可以比较/简化/规范化模板模板参数。

即我有一个

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_ifor conditional,但是在像这里这样的别名的简单情况下,我想知道是否可能存在方法。

标签: templatesc++17

解决方案


推荐阅读