Timestamp Timestamp::minus(unsigned long secs, unsigned long usecs) const { Timestamp t; const unsigned long max = 1000000ul; if(m_usecs < usecs) t.setTime(m_secs - secs - 1, max - (usecs - m_usecs)); else t.setTime(m_secs - secs, m_usecs - usecs); return t; }
Timestamp Timestamp::plus(unsigned long secs, unsigned long usecs) const { Timestamp t; const unsigned long max = 1000000ul; if(m_usecs + usecs >= max) t.setTime(m_secs + secs + 1, m_usecs + usecs - max); else t.setTime(m_secs + secs, m_usecs + usecs); return t; }