std::ranges::zip_transform_view<F,Views...>::iterator<Const>::operator[]
From cppreference.com
< cpp | ranges | zip transform view | iterator
C++
Ranges library
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
std::ranges::zip_transform_view
Member functions | ||||
Deduction guides | ||||
Iterator | ||||
Member functions | ||||
zip_transform_view::iterator::operator[] | ||||
Non-member functions | ||||
Sentinel | ||||
Member functions | ||||
Non-member functions | ||||
constexpr decltype(
auto
) operator[
]
( difference_type n )
const
requires ranges::random_access_range <Base> ; |
(since C++23) | |
Returns the element at specified relative location, after transformation.
Equivalent to
return std::apply ( [&]<class... Is>(const Is&... iters) -> decltype(auto) { return std::invoke(*parent_->fun_, iters[std::iter_difference_t<Is>(n)]...); }, inner_.current_ );
where *parent_->fun_ is the transformation function of type F stored in the parent ranges::zip_transform_view, and current_
is the underlying tuple of iterators into Views...
Parameters
n | - | position relative to current location. |
Return value
The element which is the result of transformation (mapping).
Notes
The behavior is undefined if the parent_
pointer to parent ranges::zip_transform_view is null (e.g. if *this
Example
This section is incomplete Reason: no example |