是否可以编写可变版本的std::is_convertible?例如are_convertible<T1, T2, T3, T4>会返回is_convertible<T1, T3> && is_convertible<T2, T4>.我一直在考虑这个问题几个小时但是无法提出任何合理的建议.
澄清我想使用它有点像这样:
template <class ...Args1>
struct thing
{
template <class ...Args2>
enable_if_t<are_convertible<Args2..., Args1...>::value>
foo(Args2 &&...args){}
}
Run Code Online (Sandbox Code Playgroud)