That's weird. I haven't used C++ in years, long before C++11 was supported in compilers, but I never had trouble embedding templates inside templates without that extra space. Compiled code both with Microsoft's compilers and gcc back then.Actually any compiler that doesn't support C++11 won't compile that code as the C++03 standard says that ">>" should be seen as the right shift operator, or an overloaded operator. So that's nothing wrong with the PS3 compiler there as they have said that they will never support C++11 for PS3.
MS intentionally violated that standard for this reason.
In gcc as well, though?