std::ranges::transform_view<V,F>::iterator
From ko.cppreference.net
template< bool Const >
class /*iterator*/
|
(C++20부터) (설명 전용*) |
|
transform_view::begin의 반환 타입이며, 기본 뷰가 transform_view::endcommon_range일 때 의 반환 타입이기도 합니다.
/*iterator*/<true> 타입은 const 한정 오버로드에서 반환됩니다. /*iterator*/<false> 타입은 const 한정되지 않은 오버로드에서 반환됩니다.
멤버 타입
| 멤버 | 정의 |
Parent (비공개)
|
maybe-const <Const, ranges::transform_view<V, F>>(설명 전용 멤버 타입*) |
Base (비공개)
|
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>
|
데이터 멤버
| 멤버 | 설명 |
maybe-const <Const, V> current_ (비공개)
|
반복자 (설명 전용 멤버 객체*) |
ranges::transform_view* parent_ (비공개)
|
부모 객체를 가리키는 포인터 (설명 전용 멤버 객체*) |
멤버 함수
|
반복자를 생성함
(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임
|
더 강력한 카테고리를 가질 수 있음 |