зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1163445: Part4. Add IntervalSet::SetFuzz method. r=mattwoodrow
Will be required for fuzzy search in MediaSource until full conversion to Interval/IntervalSet.
This commit is contained in:
Родитель
640e48194f
Коммит
e6216240f5
|
@ -193,6 +193,11 @@ public:
|
||||||
return mStart == mEnd;
|
return mStart == mEnd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetFuzz(const T& aFuzz)
|
||||||
|
{
|
||||||
|
mFuzz = aFuzz;
|
||||||
|
}
|
||||||
|
|
||||||
T mStart;
|
T mStart;
|
||||||
T mEnd;
|
T mEnd;
|
||||||
T mFuzz;
|
T mFuzz;
|
||||||
|
@ -505,7 +510,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shift all values by aOffset.
|
// Shift all values by aOffset.
|
||||||
void Shift(T aOffset)
|
void Shift(const T& aOffset)
|
||||||
{
|
{
|
||||||
for (auto& interval : mIntervals) {
|
for (auto& interval : mIntervals) {
|
||||||
interval.mStart += aOffset;
|
interval.mStart += aOffset;
|
||||||
|
@ -513,9 +518,16 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetFuzz(const T& aFuzz) {
|
||||||
|
for (auto& interval : mIntervals) {
|
||||||
|
interval.SetFuzz(aFuzz);
|
||||||
|
}
|
||||||
|
Normalize();
|
||||||
|
}
|
||||||
|
|
||||||
static const IndexType NoIndex = IndexType(-1);
|
static const IndexType NoIndex = IndexType(-1);
|
||||||
|
|
||||||
IndexType Find(T aValue) const
|
IndexType Find(const T& aValue) const
|
||||||
{
|
{
|
||||||
for (IndexType i = 0; i < mIntervals.Length(); i++) {
|
for (IndexType i = 0; i < mIntervals.Length(); i++) {
|
||||||
if (mIntervals[i].Contains(aValue)) {
|
if (mIntervals[i].Contains(aValue)) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче