From 449adb14a56f24fcfd9c836bcf69e1c4661fae89 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 12 Aug 2024 22:38:53 +1000 Subject: [PATCH] Remove tuple use from ranges.hh --- src/ranges.hh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ranges.hh b/src/ranges.hh index 7b568cd24..1b6f88692 100644 --- a/src/ranges.hh +++ b/src/ranges.hh @@ -5,7 +5,6 @@ #include #include #include -#include #include "constexpr_utils.hh" @@ -191,7 +190,13 @@ struct EnumerateView Iterator(size_t index, RangeIt it) : m_index{index}, m_it{std::move(it)} {} - decltype(auto) operator*() { return std::tuple(m_index, *m_it); } + struct ValueType + { + size_t index; + decltype(*std::declval()) element; + }; + + ValueType operator*() { return {m_index, *m_it}; } Iterator& operator++() { ++m_index; ++m_it; return *this; } Iterator operator++(int) { auto copy = *this; ++(*this); return copy; }