Bug 1524890 - P9. Add += and -= operator. r=gerald

Differential Revision: https://phabricator.services.mozilla.com/D20167

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jean-Yves Avenard 2019-02-22 09:19:18 +00:00
Родитель 7f3801ebd7
Коммит ed02a5879c
1 изменённых файлов: 26 добавлений и 2 удалений

Просмотреть файл

@ -88,7 +88,6 @@ class Interval {
return SelfType(mStart + aVal, mEnd + aVal, mFuzz);
}
// Basic interval arithmetic operator definition.
SelfType operator-(const SelfType& aOther) const {
return SelfType(mStart - aOther.mEnd, mEnd - aOther.mStart,
mFuzz + aOther.mFuzz);
@ -98,6 +97,32 @@ class Interval {
return SelfType(mStart - aVal, mEnd - aVal, mFuzz);
}
SelfType& operator+=(const SelfType& aOther) {
mStart += aOther.mStart;
mEnd += aOther.mEnd;
mFuzz += aOther.mFuzz;
return *this;
}
SelfType& operator+=(const T& aVal) {
mStart += aVal;
mEnd += aVal;
return *this;
}
SelfType& operator-=(const SelfType& aOther) {
mStart -= aOther.mStart;
mEnd -= aOther.mEnd;
mFuzz += aOther.mFuzz;
return *this;
}
SelfType& operator-=(const T& aVal) {
mStart -= aVal;
mEnd -= aVal;
return *this;
}
bool operator==(const SelfType& aOther) const {
return mStart == aOther.mStart && mEnd == aOther.mEnd;
}
@ -540,7 +565,6 @@ class IntervalSet {
return false;
}
bool Intersects(const ElemType& aInterval) const {
for (const auto& interval : mIntervals) {
if (interval.Intersects(aInterval)) {