How to retrieve the type of a variadic template argument?

96 Views Asked by At

I cant find a way to define a type like this:

template<typename TFirst, typename TSecond, typename ... Args>
using hasSomeFunc = decltype(std::declval<TSecond>().SomeFunc<TFirst, Args...>(std::declval<std::function<void(TFirst&)>>(), std::declval<TFirst&>(), std::declval<Args&>() ...));

My problem is that the compiler doesnt allow me to write that in the context:

std::declval<Args&>() ...

Is there a way to define the type of a variadic templated member function with variadic templated arguments?

I am using c++17.

Thanks so much in advance.

0

There are 0 best solutions below