I guess you have seen this particular function:
template<typename T> void print(const T& cont){
for (auto &i: cont)
std::cout << i << " ";
std::cout << std::endl;
}
It print's almost all type of containers like std::list. Now i wanna create one that prints (as example) 3D std::vector, look at this fantasy:
template<typename T1, typename T2> void print(const T1<T2>&);
But of course this is not how templates work. How to do that? And not less important: is any difference of doing that in c++17 and pre-c++17?