Avoid non-POD initializer lists (as they are only supported in C++11)
Remove unnecessary template function default argument (as it is only supported in C++11)
C++0x no longer required (if you have Boost - future commits will introduce choice between C++0x and Boost)