From 6207df1e9b23d3af1aa6a78ea7fa9c7ebeb82b59 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sat, 19 Feb 2022 23:03:55 +0300 Subject: [PATCH] Make enum_iterator bidirectional --- libs/util/include/psemek/util/enum.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libs/util/include/psemek/util/enum.hpp b/libs/util/include/psemek/util/enum.hpp index 9a1c0cea..e5442cc2 100644 --- a/libs/util/include/psemek/util/enum.hpp +++ b/libs/util/include/psemek/util/enum.hpp @@ -53,6 +53,14 @@ namespace psemek::util return copy; } + enum_iterator operator --() { --value; return *this; } + enum_iterator operator -- (int) + { + enum_iterator copy = *this; + --(*this); + return copy; + } + friend bool operator == (enum_iterator const & it1, enum_iterator const & it2) = default; friend bool operator != (enum_iterator const & it1, enum_iterator const & it2) = default; };