Fix IndexTransformIter. (#9155)
This commit is contained in:
parent
59edfdb315
commit
7375bd058b
@ -26,9 +26,9 @@ class IndexTransformIter {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
using iterator_category = std::random_access_iterator_tag; // NOLINT
|
using iterator_category = std::random_access_iterator_tag; // NOLINT
|
||||||
using value_type = std::result_of_t<Fn(std::size_t)>; // NOLINT
|
using reference = std::result_of_t<Fn(std::size_t)>; // NOLINT
|
||||||
|
using value_type = std::remove_cv_t<std::remove_reference_t<reference>>; // NOLINT
|
||||||
using difference_type = detail::ptrdiff_t; // NOLINT
|
using difference_type = detail::ptrdiff_t; // NOLINT
|
||||||
using reference = std::add_lvalue_reference_t<value_type>; // NOLINT
|
|
||||||
using pointer = std::add_pointer_t<value_type>; // NOLINT
|
using pointer = std::add_pointer_t<value_type>; // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -43,8 +43,8 @@ class IndexTransformIter {
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
value_type operator*() const { return fn_(iter_); }
|
reference operator*() const { return fn_(iter_); }
|
||||||
value_type operator[](std::size_t i) const {
|
reference operator[](std::size_t i) const {
|
||||||
auto iter = *this + i;
|
auto iter = *this + i;
|
||||||
return *iter;
|
return *iter;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user