std::ranges::zip_transform_view<F,Views...>::iterator<Const>::operator*
constexpr decltype(auto) operator*() const
noexcept(/* see description */);
| (since 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/w/cpp/ranges/zip_transform_view/iterator/operator*