std::ranges::zip_transform_view<F,Views...>::iterator<Const>::operator*
constexpr decltype(auto) operator*() const
noexcept(/* see description */);
| (начиная с C++23) |
Возвращает преобразованный элемент, полученный применением вызываемого объекта типа F к базовым элементам, на которые указывают итераторы.
Эквивалентно
return
std::apply
(
[&](auto const&... iters) -> decltype(auto)
{
return std::invoke(*parent_->fun_, *iters...);
},
inner_.current_
);
где *parent_->fun_ — функция преобразования, хранящаяся в родительском ranges::zip_transform_view, а current_ — базовый кортеж итераторов в Views....
Параметры
(нет)
Возвращаемое значение
Элемент, являющийся результатом преобразования (отображения).
Исключения
noexcept спецификация: noexcept(std::invoke(*parent_->fun_, *std::get<INTS>(inner_.current_)...))
INTS — набор целых чисел 0, 1, ..., (sizeof...(Views)-1). Примечания
operator-> не предоставляется.
Поведение не определено, если указатель parent_ на родительский ranges::zip_transform_view равен null (например, если *this сконструирован по умолчанию).
Пример
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/zip_transform_view/iterator/operator*