With the code below, I get a very confusing error in MSVC that seems to suggest the key type (an std::tuple) is being converted to an std::string.
#include &
Strange. Your code works fine in Visual Studio 2012 RC and output is "x: test data".