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:

https://skydrive.live.com/redir.aspx?cid=86dcd7f4133f7b94&resid=86DCD7F4133F7B94!119

Any comments welcome!