typedef basic_ostream<_E, _Tr> _Myt;
typedef basic_ios<_E, _Tr> _Myios;
typedef ostreambuf_iterator<_E, _Tr> _Iter;
typedef num_put<_E, _Iter> _Nput;
_Myt& operator<<(short _X)
{ios_base::iostate _St = ios_base::goodbit;
const sentry _Ok(*this);
if (_Ok)
{const _Nput& _Fac =
use_facet<_Nput>(ios_base::getloc());
ios_base::fmtflags _Bfl =
ios_base::flags() & ios_base::basefield;
long _Y = (_Bfl == oct || _Bfl == hex)
? (long)(unsigned short)_X : (long)_X;
try {
if (_Fac.put(_Iter(_Myios::rdbuf()), *this,
_Myios::fill(), _Y).failed())
_St |= ios_base::badbit; }
catch (...)
_Myios::setstate(ios_base::badbit, true); }
_Myios::setstate(_St);
return (*this); }
//End of File