Namespaces
Variants

std::ranges::zip_transform_view<F,Views...>::iterator

cppreference.net에서
 
 
범위 라이브러리
범위 어댑터
 
 
template< bool Const >
class /*iterator*/;
(C++23부터)
(설명 전용*)

잠재적으로 const 한정된 zip_transform_view의 반복자 타입으로, zip_transform_view::begin에 의해 반환되며 특정 경우 zip_transform_view::end에 의해 반환됩니다.

타입 /*iterator*/<true> 또는 /*iterator*/<false>은 기본 뷰를 각각 const 한정 또는 비-const 한정으로 취급합니다.

멤버 타입

타입 정의
Parent (비공개) maybe-const <Const, zip_transform_view>
(설명 전용 멤버 타입*)
Base (비공개) maybe-const <Const, InnerView>
(설명 전용 멤버 타입*)
iterator_category
(조건부 존재)

/*POT*/을(를) 타입들의 팩(pack)이라고 하자.

std::iterator_traits<std::iterator_t<
    /*maybe-const*/<Const, Views>>>::iterator_category...

만약 /*Base*/이(가) forward_range를 모델링하면, iterator_category은(는) 다음을 의미한다:

  • std::input_iterator_tag (만약
    std::invoke_result_t</*maybe-const*/<Const, F>&,
        ranges::range_reference_t</*maybe-const*/<Const, Views>>...>
    
이(가) 참조가 아닌 경우).
  • 그렇지 않으면,
  • std::random_access_iterator_tag (만약
(std::derived_from</*POT*/, std::random_access_iterator_tag> && ...)이(가) true인 경우).
  • 그렇지 않으면, std::bidirectional_iterator_tag (만약
(std::derived_from</*POT*/, std::bidirectional_iterator_tag> && ...)이(가) true인 경우).
  • 그렇지 않으면, std::forward_iterator_tag (만약
(std::derived_from</*POT*/, std::forward_iterator_tag> && ...)이(가) true인 경우).
  • 그렇지 않으면, std::input_iterator_tag.

/*Base*/이(가) forward_range를 모델링하지 않으면 존재하지 않음.

iterator_concept /*ziperator*/<Const>::iterator_concept
value_type

/*RREF*/을(를) ranges::range_reference_t<Views>...이라 하고,
/*CRREF*/을(를) ranges::range_reference_t<const Views>...이라 하자. 그러면:

  • std::remove_cvref_t<std::invoke_result_t<F&, /*RREF*/>> 만약 Const이(가) false이면,
  • std::remove_cvref_t<std::invoke_result_t<const F&, /*CRREF*/>> 그렇지 않으면.
difference_type range::range_difference_t</*Base*/>

데이터 멤버

멤버 설명
Parent* parent_ (비공개) 부모 객체를 가리키는 포인터
(설명 전용 멤버 객체*)
ziperator<Const> inner_ (비공개) 반복자
(설명 전용 멤버 객체*)

멤버 함수

반복자를 생성합니다
(public member function)
호출 가능 객체를 기본 포인터 요소들에 적용한 결과를 얻습니다
(public member function)
호출 가능 객체를 주어진 오프셋의 기본 요소들에 적용한 결과를 얻습니다
(public member function)
기본 반복자를 전진시키거나 후퇴시킵니다
(public member function)

비멤버 함수

기본 반복자를 비교함
(함수)
기본 반복자에 대해 반복자 연산을 수행함
(함수)

예제