From 3b671cb0bf4ae7b06b31e3914ace5c6c6b57641c Mon Sep 17 00:00:00 2001 From: jeffro256 Date: Wed, 23 Apr 2025 20:43:50 -0500 Subject: [PATCH] upstream: container helper to remove using reverse iterator --- src/common/container_helpers.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/common/container_helpers.h b/src/common/container_helpers.h index 5824c9c..2048de8 100644 --- a/src/common/container_helpers.h +++ b/src/common/container_helpers.h @@ -167,4 +167,15 @@ void for_all_in_map_erase_if(std::unordered_map &map_inout, PredT } } +/// erase with a reverse iterator +/// returned iterator is (pos + 1) if pos hadn't been erased +template +ReverseIteratorT reverse_erase(ContainerT &container, ReverseIteratorT pos) +{ + static_assert(std::is_same_v + || std::is_same_v); + + return ReverseIteratorT(container.erase((++pos).base())); +} + } //namespace tools