It is probably easier to explain what I mean by an example. Imagine a following template:
template
You can do this with something like
template <class... Args> std::tuple<Args...> foo(proxy<Args, const char*>... names);
where proxy is
proxy
template<class T, class E> using proxy = E;
You can see this in action here: https://godbolt.org/g/SHBYzy