Added a new method to ranges
This commit is contained in:
parent
6377451027
commit
2dbc870f9a
2 changed files with 31 additions and 1 deletions
|
|
@ -125,6 +125,17 @@ public:
|
||||||
_end = end;
|
_end = end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void expandTo(Type value)
|
||||||
|
{
|
||||||
|
if (containsWithEnd(value))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (value > _end)
|
||||||
|
_end = value;
|
||||||
|
else
|
||||||
|
_start = value;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Type _start { static_cast<Type>(0.0) };
|
Type _start { static_cast<Type>(0.0) };
|
||||||
Type _end { static_cast<Type>(0.0) };
|
Type _end { static_cast<Type>(0.0) };
|
||||||
|
|
|
||||||
|
|
@ -112,3 +112,22 @@ TEST_CASE("[Range] shrinkIfSmaller")
|
||||||
intRange.shrinkIfSmaller(6, 5);
|
intRange.shrinkIfSmaller(6, 5);
|
||||||
REQUIRE(intRange == sfz::Range<int>(5, 6));
|
REQUIRE(intRange == sfz::Range<int>(5, 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("[Range] expandTo")
|
||||||
|
{
|
||||||
|
sfz::Range<int> intRange { 2, 10 };
|
||||||
|
intRange.expandTo(5);
|
||||||
|
REQUIRE(intRange == sfz::Range<int>(2, 10));
|
||||||
|
intRange.expandTo(10);
|
||||||
|
REQUIRE(intRange == sfz::Range<int>(2, 10));
|
||||||
|
intRange.expandTo(2);
|
||||||
|
REQUIRE(intRange == sfz::Range<int>(2, 10));
|
||||||
|
intRange.expandTo(1);
|
||||||
|
REQUIRE(intRange == sfz::Range<int>(1, 10));
|
||||||
|
intRange.expandTo(-10);
|
||||||
|
REQUIRE(intRange == sfz::Range<int>(-10, 10));
|
||||||
|
intRange.expandTo(12);
|
||||||
|
REQUIRE(intRange == sfz::Range<int>(-10, 12));
|
||||||
|
intRange.expandTo(6);
|
||||||
|
REQUIRE(intRange == sfz::Range<int>(-10, 12));
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue