summaryrefslogtreecommitdiff
path: root/external/mdds/speedup-erase-2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'external/mdds/speedup-erase-2.patch')
-rw-r--r--external/mdds/speedup-erase-2.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/external/mdds/speedup-erase-2.patch b/external/mdds/speedup-erase-2.patch
new file mode 100644
index 000000000000..2affa4813420
--- /dev/null
+++ b/external/mdds/speedup-erase-2.patch
@@ -0,0 +1,18 @@
+diff -ur include/mdds/multi_type_vector/types.hpp include/mdds/multi_type_vector/types.hpp
+--- include/mdds/multi_type_vector/types.hpp 2022-09-02 15:16:14.811400565 +0200
++++ include/mdds/multi_type_vector/types.hpp 2022-09-02 15:18:26.951249322 +0200
+@@ -253,7 +253,13 @@
+
+ iterator erase( iterator first, iterator last )
+ {
+- return m_vec.erase( first, last );
++ if (first == m_vec.begin() + m_removedFront)
++ {
++ m_removedFront = last - m_vec.begin();
++ return m_vec.begin() + m_removedFront;
++ }
++ else
++ return m_vec.erase( first, last );
+ }
+
+ size_type capacity() const