I recently stumbled across the useful pretty_printer implementation STL presents in this nice lecture. Thinking about it, I have rewritten the code a little bit to use a traits class to detect tuple types. The traits class relies on std::tuple_element<0,T>::type being valid. The code works with vc2010 and g++ 4.6.1. You can find the code here:
Any comments welcome!