From 7375bd058b48714d689d8404f7fc76b094412886 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Fri, 12 May 2023 06:25:54 -0700 Subject: [PATCH] Fix IndexTransformIter. (#9155) --- src/common/transform_iterator.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/common/transform_iterator.h b/src/common/transform_iterator.h index 83fffe05a..2efb0b725 100644 --- a/src/common/transform_iterator.h +++ b/src/common/transform_iterator.h @@ -26,9 +26,9 @@ class IndexTransformIter { public: using iterator_category = std::random_access_iterator_tag; // NOLINT - using value_type = std::result_of_t; // NOLINT + using reference = std::result_of_t; // NOLINT + using value_type = std::remove_cv_t>; // NOLINT using difference_type = detail::ptrdiff_t; // NOLINT - using reference = std::add_lvalue_reference_t; // NOLINT using pointer = std::add_pointer_t; // NOLINT public: @@ -43,8 +43,8 @@ class IndexTransformIter { return *this; } - value_type operator*() const { return fn_(iter_); } - value_type operator[](std::size_t i) const { + reference operator*() const { return fn_(iter_); } + reference operator[](std::size_t i) const { auto iter = *this + i; return *iter; }