说我有以下代码。
template <template <typename...> class C, typename T>
constexpr bool is_vector() {
return is_same<C<T>, vector<T>>::value;
}
template <typename Value, enable_if_t<is_vector<???>()>>
void my_function(Value &value) {
}
如何调用is_vector
以检查Value
是否是std :: vector类模板的实例?
答案 0 :(得分:3)
通常的方法是写另一个特质......
template<class C>
struct is_vector : std::false_type {};
template<class T, class A>
struct is_vector<std::vector<T,A>>: std::true_type {};