Merge "liblog: Add log_time += operator"

This commit is contained in:
Mark Salyzyn 2015-01-05 20:18:24 +00:00 committed by Gerrit Code Review
commit e892279b3a
2 changed files with 34 additions and 0 deletions

View file

@ -100,6 +100,12 @@ public:
log_time local(*this);
return local -= T;
}
log_time operator+= (const timespec &T);
log_time operator+ (const timespec &T) const
{
log_time local(*this);
return local += T;
}
// log_time
bool operator== (const log_time &T) const
@ -134,6 +140,12 @@ public:
log_time local(*this);
return local -= T;
}
log_time operator+= (const log_time &T);
log_time operator+ (const log_time &T) const
{
log_time local(*this);
return local += T;
}
uint64_t nsec() const
{

View file

@ -150,6 +150,17 @@ log_time log_time::operator-= (const timespec &T) {
return *this;
}
log_time log_time::operator+= (const timespec &T) {
this->tv_nsec += (unsigned long int)T.tv_nsec;
if (this->tv_nsec >= NS_PER_SEC) {
this->tv_nsec -= NS_PER_SEC;
++this->tv_sec;
}
this->tv_sec += T.tv_sec;
return *this;
}
log_time log_time::operator-= (const log_time &T) {
// No concept of negative time, clamp to EPOCH
if (*this <= T) {
@ -166,3 +177,14 @@ log_time log_time::operator-= (const log_time &T) {
return *this;
}
log_time log_time::operator+= (const log_time &T) {
this->tv_nsec += T.tv_nsec;
if (this->tv_nsec >= NS_PER_SEC) {
this->tv_nsec -= NS_PER_SEC;
++this->tv_sec;
}
this->tv_sec += T.tv_sec;
return *this;
}