Pretty-print types and class template along with all its template arguments
Since typeid(T).name() doesn't return human understandable name of the type, it doesn't help us much if we want to print the name of the template arguments to some class template, especially when we're debugging. We often feel like writing this in debugging: print<Args...>(cout); //dump the names of all types to stdout! So I'm writing pretty-print utility which gives me the name of the class template. Well, it is easier to understand it through some sample usage: print<int>(cout); //prints int print<int, double, char>(cout); //prints int, double, char print<std::string>(cout); //prints std: