summaryrefslogtreecommitdiff
path: root/src/core/smallvec_type.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/smallvec_type.hpp')
-rw-r--r--src/core/smallvec_type.hpp11
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.