diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/smallvec_type.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/smallvec_type.hpp b/src/core/smallvec_type.hpp index a7a0fbad4..f0ca48818 100644 --- a/src/core/smallvec_type.hpp +++ b/src/core/smallvec_type.hpp @@ -119,6 +119,17 @@ public: return this->Find(item) != this->End(); } + /** Removes given item from this map + * @param item item to remove + * @return true iff key was found + * @note it has to be pointer to item in this map. It is overwritten by the last item. + */ + FORCEINLINE void Erase(T *item) + { + assert(item >= this->Begin() && item < this->End()); + *item = this->data[--this->items]; + } + /** * 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. |