The arithmetic classes provide at least the following signatures:

  self_t(int n);

  self_t& self_t::operator += (const self_t&);
  self_t& self_t::operator -= (const self_t&);
  self_t& self_t::operator *= (const self_t&);
  self_t& self_t::operator /= (const self_t&);

  self_t operator - (const self_t& x);
  self_t operator +(const self_t& x, const self_t& y);
  self_t operator -(const self_t& x, const self_t& y);
  self_t operator *(const self_t& x, const self_t& y);
  self_t operator /(const self_t& x, const self_t& y);

  bool operator ==(const self_t& x, const self_t& y);
  bool operator !=(const self_t& x, const self_t& y);