Namespaces
Variants

std::ranges::transform_view<V,F>:: iterator

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/
(C++20 이후)
( 설명 전용* )

transform_view::begin 의 반환 타입, 그리고 transform_view::end 의 반환 타입(기반 뷰가 common_range 인 경우).

/*iterator*/ < true > 타입은 const 한정 오버로드에 의해 반환됩니다. /*iterator*/ < false > 타입은 non-const 한정 오버로드에 의해 반환됩니다.

목차

멤버 타입

멤버 타입 정의
Parent (private) maybe-const  < Const, ranges:: transform_view < V, F >>
( 설명 전용 멤버 타입* )
Base (private) maybe-const  < Const, V >
( 설명 전용 멤버 타입* )
iterator_concept
iterator_category
( Base forward_range 를 모델링하는 경우에만 존재)
MCF maybe-const  < Const, F > 로 정의

그렇지 않으면, C std:: iterator_traits < ranges:: iterator_t < Base >> :: iterator_category 로 정의

value_type std:: remove_cvref_t < std:: invoke_result_t < MCF & , ranges:: range_reference_t < Base >>> , 여기서 MCF maybe-const  < Const, F > 를 나타냄
difference_type ranges:: range_difference_t < Base >

데이터 멤버

멤버 이름 정의
current_ (private) (const 한정 가능한) V 에 대한 반복자.
( 설명 전용 멤버 객체* )
parent_ (private) 부모 transform_view 에 대한 포인터.
( 설명 전용 멤버 객체* )

멤버 함수

반복자를 생성함
(public member function)
기반 반복자를 반환함
(public member function)
변환된 요소에 접근함
(public member function)
인덱스로 요소에 접근함
(public member function)
기반 반복자를 진행하거나 감소시킴
(public member function)

비멤버 함수

기본 반복자를 비교합니다
(함수)
반복자 연산을 수행합니다
(함수)
(C++20)
변환된 요소에 대한 rvalue 참조를 얻습니다
(함수)

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
P2259R1 C++20 멤버 iterator_category 가 항상 정의됨 Base forward_range 를 모델링할 때만 정의됨
LWG 3555 C++20 iterator_concept 정의에서 const가 무시됨 const를 고려하도록 수정됨
LWG 3798 C++20 변환 결과가 rvalue 참조일 때 iterator_category 가 input-only임 더 강력한 카테고리를 가질 수 있음