diff --git a/common/main/d_enumerate.h b/common/main/d_enumerate.h index 53aebc5ea..9b4889058 100644 --- a/common/main/d_enumerate.h +++ b/common/main/d_enumerate.h @@ -60,7 +60,8 @@ template class enumerated_sentinel { public: - const sentinel_type m_sentinel; + sentinel_type m_sentinel; + constexpr enumerated_sentinel() = default; constexpr enumerated_sentinel(sentinel_type &&iter) : m_sentinel(std::move(iter)) { @@ -106,6 +107,12 @@ public: ++ m_idx; return *this; } + enumerated_iterator operator++(int) + { + auto result = *this; + ++ * this; + return result; + } constexpr bool operator==(const enumerated_sentinel &i) const { return m_iter == i.m_sentinel;