diff options
author | Henry Wilson <m3henry@googlemail.com> | 2018-09-25 22:01:05 +0100 |
---|---|---|
committer | PeterN <peter@fuzzle.org> | 2019-03-26 20:15:57 +0000 |
commit | ca2f33c6d025c0c45fb4bc472493290445312de5 (patch) | |
tree | cf39f3f0a815778049c037d80f0b86a11f1af665 /src/core | |
parent | 097328c3d73520834b4ef801945c4f57f9eca0cd (diff) | |
download | openttd-ca2f33c6d025c0c45fb4bc472493290445312de5.tar.xz |
Codechange: Replaced SmallVector::Erase() with std::vector::erase()
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/smallmap_type.hpp | 10 | ||||
-rw-r--r-- | src/core/smallvec_type.hpp | 12 |
2 files changed, 5 insertions, 17 deletions
diff --git a/src/core/smallmap_type.hpp b/src/core/smallmap_type.hpp index 44ace6b45..0bd9bd296 100644 --- a/src/core/smallmap_type.hpp +++ b/src/core/smallmap_type.hpp @@ -115,7 +115,8 @@ struct SmallMap : SmallVector<SmallPair<T, U>, S> { inline void Erase(Pair *pair) { assert(pair >= this->Begin() && pair < this->End()); - SmallVector<Pair, S>::Erase(pair); + auto distance = pair - std::vector<Pair>::data(); + std::vector<Pair>::erase(std::vector<Pair>::begin() + distance); } /** @@ -126,11 +127,10 @@ struct SmallMap : SmallVector<SmallPair<T, U>, S> { */ inline bool Erase(const T &key) { - Pair *pair = this->Find(key); - if (pair == this->End()) - return false; + auto pair = std::find(this->begin(), this->end(), key); + if (pair == this->end()) return false; - SmallVector<Pair, S>::Erase(pair); + std::vector<Pair>::erase(pair); return true; } diff --git a/src/core/smallvec_type.hpp b/src/core/smallvec_type.hpp index 1ec336b73..b989d44c5 100644 --- a/src/core/smallvec_type.hpp +++ b/src/core/smallvec_type.hpp @@ -104,18 +104,6 @@ public: } /** - * Removes given item from this vector - * @param item item to remove - * @note it has to be pointer to item in this map. It is overwritten by the last item. - */ - inline void Erase(T *item) - { - assert(item >= this->Begin() && item < this->End()); - *item = std::vector<T>::back(); - std::vector<T>::pop_back(); - } - - /** * Tests whether a item is present in the vector, and appends it to the end if not. * The '!=' operator of T is used for comparison. * @param item Item to test for |