summaryrefslogtreecommitdiff
path: root/external/mdds
diff options
context:
space:
mode:
Diffstat (limited to 'external/mdds')
-rw-r--r--external/mdds/UnpackedTarball_mdds.mk1
-rw-r--r--external/mdds/speedup-erase-2.patch18
2 files changed, 19 insertions, 0 deletions
diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk
index 22ba1d88785d..5f72853c6310 100644
--- a/external/mdds/UnpackedTarball_mdds.mk
+++ b/external/mdds/UnpackedTarball_mdds.mk
@@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0))
$(eval $(call gb_UnpackedTarball_add_patches,mdds,\
external/mdds/speedup-erase-begin.patch \
+ external/mdds/speedup-erase-2.patch \
))
# vim: set noet sw=4 ts=4:
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