std::ranges::transform_view<V,F>:: iterator
|
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
>
로 정의
그렇지 않으면,
|
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)
|
반복자 연산을 수행합니다
(함수) |
|
(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임
|
더 강력한 카테고리를 가질 수 있음 |