_Tp operator _Op(_Tp __lhs, int __rhs); \
_Tp operator _Op(_Tp __lhs, unsigned int __rhs); \
_Tp operator _Op(_Tp __lhs, long __rhs); \
_Tp operator _Op(_Tp __lhs, unsigned long __rhs); \
_Tp operator _Op(_Tp __lhs, long long __rhs); \
_Tp operator _Op(_Tp __lhs, unsigned long long __rhs); \
_Tp operator _Op(int __lhs, _Tp __rhs); \
_Tp operator _Op(unsigned int __lhs, _Tp __rhs); \
_Tp operator _Op(long __lhs, _Tp __rhs); \
_Tp operator _Op(unsigned long __lhs, _Tp __rhs); \
_Tp operator _Op(long long __lhs, _Tp __rhs); \
_Tp operator _Op(unsigned long long __lhs, _Tp __rhs);