std::ranges::stride_view<V>::iterator<Const>::operator[]
From cppreference.com
< cpp | ranges | stride view | iterator
C++
Ranges library
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
std::ranges::stride_view
Member functions | ||||
Deduction guides | ||||
Iterator | ||||
Member functions | ||||
stride_view::iterator::operator[] | ||||
Non-member functions | ||||
constexpr decltype(
auto
) operator[
]
( difference_type n )
const
requires ranges::random_access_range <Base> |
(since C++23) | |
Returns an element at specified relative location.
Equivalent to: return *(*this + n);
Parameters
n | - | position relative to current location |
Return value
The element at displacement n relative to the current location.
Example
Run this code
#include <ranges> int main() { constexpr static auto v = {'a', 'b', 'c', 'd', 'e'}; constexpr auto view{v | std::views::stride(2)}; constexpr auto iter{view.begin() + 1}; static_assert(*iter == 'c'); static_assert(iter[0] == 'c'); static_assert(iter[1] == 'e'); }
See also
(C++23)
|
accesses an element (public member function) |