Namespaces
Variants

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

From ko.cppreference.net
 
 
Ranges 라이브러리
Range 어댑터
 
 
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
  • std::random_access_iterator_tag, 만약 Base가 random_access_range의 모델이면,
  • std::bidirectional_iterator_tag, 만약 Base가 bidirectional_range의 모델이면,
  • std::forward_iterator_tag, 만약 Base가 forward_range의 모델이면,
  • std::input_iterator_tag 그 외의 경우.
iterator_category
(Base가
forward_range의 모델인 경우에만 존재)
MCF을 maybe-const <Const, F>라고 하자.
  • std::input_iterator_tag, 만약 std::invoke_result_t<MCF&, ranges::range_reference_t<Base>>이 참조가 아니라면.

그렇지 않으면, C을 std::iterator_traits<ranges::iterator_t<Base>>::iterator_category라고 하자.

  • std::random_access_iterator_tag, 만약 C이 std::contiguous_iterator_tag라면;
  • C, 그 외의 경우.
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)
변환된 요소에 대한 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임 더 강력한 카테고리를 가질 수 있음