std::ranges::stride_view<V>::iterator<Const>::operator[]

From cppreference.com
< cpp‎ | ranges‎ | stride view‎ | iterator
 
 
Ranges library
Range access
Range conversions
(C++23)
Range primitives



Dangling iterator handling
Range concepts
Views

Range factories
Range adaptors
Range generators
Range adaptor objects
Range adaptor closure objects
Helper items
(until C++23)(C++23)


 
 
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

A link to Compiler Explorer to evaluate.

#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)