From 08123cff0d046350bc5a36ae13131e5c7c433252 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 6 Feb 2020 11:56:17 -0600 Subject: [PATCH] Use deque instead of vector for code readers so that the iterators and references will be stable --- src/program_state.inl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/program_state.inl b/src/program_state.inl index 272addd053..8df0f1cc0f 100644 --- a/src/program_state.inl +++ b/src/program_state.inl @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -202,7 +203,7 @@ public: std::function>; std::pair< std::mutex, - std::vector>> code_readers; + std::deque>> code_readers; program_state_impl() { // Create placeholder for each agent for the per-agent members. @@ -418,7 +419,7 @@ public: decltype(code_readers.second)::iterator it; { std::lock_guard lck{code_readers.first}; - it = code_readers.second.emplace(code_readers.second.end(), + it = code_readers.second.emplace_back(code_readers.second.end(), move(file), move(tmp)); }