Add LocalVector.erase_unordered, mimicking erase but with remove_at_unordered, to remove duplicate logic.

`erase_unordered` should be preferred over `erase` where order is not important, for its performance benefits.

Co-authored-by: smix8 <smix8@users.noreply.github.com>
This commit is contained in:
Lukas Tenbrink
2025-01-02 16:32:54 +01:00
parent e585e6a3eb
commit ccdc5862e9
4 changed files with 37 additions and 33 deletions

View File

@@ -178,6 +178,23 @@ TEST_CASE("[LocalVector] Remove Unordered.") {
CHECK(vector.size() == 0);
}
TEST_CASE("[LocalVector] Erase Unordered.") {
LocalVector<int> vector;
vector.push_back(1);
vector.push_back(3);
vector.push_back(0);
vector.push_back(2);
vector.push_back(4);
CHECK(vector.find(1) == 0);
vector.erase_unordered(1);
CHECK(vector.find(1) == -1);
CHECK(vector.size() == 4);
CHECK(vector[0] == 4);
}
TEST_CASE("[LocalVector] Erase.") {
LocalVector<int> vector;
vector.push_back(1);