Namespaces
Variants

std::ranges::zip_transform_view<F,Views...>:: iterator <Const>:: operator[]

From cppreference.net
Ranges library
Range adaptors
constexpr decltype ( auto ) operator [ ] ( difference_type n ) const
requires ranges:: random_access_range < Base > ;
(C++23부터)

지정된 상대적 위치에 있는 요소를 변환 후 반환합니다.

다음과 동일함

return
    std::apply
    (
        [&]<class... Is>(const Is&... iters) -> decltype(auto)
        {
            return std::invoke(*parent_->fun_, iters[std::iter_difference_t<Is>(n)]...);
        },
        inner_.current_
    );

여기서 * parent_ - > fun_ 는 부모 ranges::zip_transform_view 에 저장된 F 타입의 변환 함수이며, current_ Views... 를 가리키는 이터레이터들의 기본 튜플입니다.

목차

매개변수

n - 현재 위치를 기준으로 한 상대적 위치.

반환값

변환(매핑)의 결과인 요소입니다.

참고 사항

parent_ 포인터가 부모 ranges::zip_transform_view 를 가리키는 경우, 해당 포인터가 null일 때(예: * this 가 기본 생성된 경우)의 동작은 정의되지 않습니다.

예제