Updated use of BOOST_PP_OVERLOAD for VC++ and equality/non-equality for all types.