diff options
Diffstat (limited to 'external/mdds')
-rw-r--r-- | external/mdds/UnpackedTarball_mdds.mk | 1 | ||||
-rw-r--r-- | external/mdds/speedup-erase-2.patch | 18 |
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 |