Namespaces
Variants

std::ranges:: repeat_view<W, Bound>:: iterator

From cppreference.net
Ranges library
Range adaptors
struct /*iterator*/ ;
( 설명 전용* )

ranges:: repeat_view < W, Bound > :: iterator begin() end() 가 반환하는 반복자의 타입입니다. 이는 ranges:: repeat_view < W, Bound > 의 멤버 함수입니다.

목차

중첩 타입

설명 전용 타입
타입 정의
index-type std:: conditional_t < std:: same_as < Bound, std:: unreachable_sentinel_t > ,
std:: ptrdiff_t , Bound >
( 설명 전용 멤버 타입* )
반복자 속성 타입
타입 정의
iterator_concept std::random_access_iterator_tag
iterator_category std::random_access_iterator_tag
value_type W
difference_type std:: conditional_t < is-signed-integer-like  < index-type  > ,
index-type  , iota-diff-t  < index-type  >>

데이터 멤버

멤버 정의
const W * value_ 반복할 값에 대한 포인터
( 설명 전용 멤버 객체* )
index-type current_ 현재 위치
( 설명 전용 멤버 객체* )

멤버 함수

std::ranges::repeat_view:: iterator :: iterator

/*iterator*/ ( ) = default ;
(1) (since C++23)
constexpr explicit /*iterator*/
( const W * value, /*index-type*/ b = /*index-type*/ ( ) ) ;
(2) (since C++23)
( exposition only* )

반복자를 생성합니다. 오버로드 (2) begin() end() 에 의해 ranges::repeat_view 에서 호출됩니다.

1) value_ nullptr 로 초기화하고 current_ 를 값 초기화합니다.
2) value_ value 로, current_ b 로 초기화합니다.
만약 Bound std::unreachable_sentinel_t 가 아니고 b 가 음수이면, 동작은 정의되지 않습니다.

std::ranges::repeat_view:: iterator :: operator*

constexpr const W & operator * ( ) const noexcept ;
(C++23부터)

* value_ 을 반환합니다.

std::ranges::repeat_view:: iterator :: operator[]

constexpr const W & operator [ ] ( difference_type n ) const noexcept ;
(C++23부터)

* ( * this + n ) 을 반환합니다.

std::ranges::repeat_view:: iterator :: operator++

constexpr /*iterator*/ & operator ++ ( ) ;
(1) (since C++23)
constexpr void operator ++ ( int ) ;
(2) (since C++23)
1) 다음 코드와 동등함: ++ current_  ; return * this ; .
2) 다음 코드와 동등함: auto tmp = * this ; ++* this ; return tmp ; .

std::ranges::repeat_view:: iterator :: operator--

constexpr /*iterator*/ & operator -- ( ) ;
(1) (C++23 이후)
constexpr /*iterator*/ operator -- ( int ) ;
(2) (C++23 이후)
1) 다음 코드와 동등함: -- current_  ; return * this ; .
만약 Bound std::unreachable_sentinel_t 가 아니고 current_ 이 양수가 아닌 경우, 동작은 정의되지 않음.
2) 다음 코드와 동등함: auto tmp = * this ; --* this ; return tmp ; .

std::ranges::repeat_view:: iterator :: operator+=

constexpr /*iterator*/ & operator + = ( difference_type n ) ;
(C++23부터)

current_ + = n ; return * this ; 와 동일합니다.

Bound std::unreachable_sentinel_t 가 아니고 current_ + n 이 음수인 경우, 동작은 정의되지 않습니다.

std::ranges::repeat_view:: iterator :: operator-=

constexpr /*iterator*/ & operator - = ( difference_type n ) ;
(C++23부터)

다음 코드와 동등합니다: current_ - = n ; return * this ; .

만약 Bound std::unreachable_sentinel_t 가 아니고 current_ - n 가 음수인 경우, 동작은 정의되지 않습니다.

비멤버 함수

operator==, <=> (std::ranges::repeat_view:: iterator )

friend constexpr bool operator ==
( const /*iterator*/ & x, const /*iterator*/ & y ) ;
(1) (since C++23)
friend constexpr auto operator <=>
( const /*iterator*/ & x, const /*iterator*/ & y ) ;
(2) (since C++23)
1) x. current_ == y. current_ 을 반환합니다.
2) x. current_ <=> y. current_ 을 반환합니다.

!= 연산자는 operator== 로부터 합성됩니다 .

이 함수들은 일반적인 비한정 이름查找 또는 한정 이름查找 으로는 보이지 않으며, iterator 가 인자들의 연관 클래스일 때만 인자 종속查找 에 의해 찾을 수 있습니다.

operator+ (std::ranges::repeat_view:: iterator )

friend constexpr /*iterator*/ operator +
( /*iterator*/ i, difference_type n ) ;
(1) (C++23 이후)
friend constexpr /*iterator*/ operator +
( difference_type n, /*iterator*/ i ) ;
(2) (C++23 이후)

i + = n ; return i ; 와 동등합니다.

이 함수들은 일반적인 비한정 이름 검색 이나 한정 이름 검색 으로는 보이지 않으며, iterator 가 인자들의 연관 클래스일 때만 인자 종속 이름 검색 에 의해 찾을 수 있습니다.

operator- (std::ranges::repeat_view:: iterator )

friend constexpr /*iterator*/ operator -
( /*iterator*/ i, difference_type n ) ;
(1) (since C++23)
friend constexpr difference_type operator -
( const /*iterator*/ & x, const /*iterator*/ & y ) ;
(2) (since C++23)
1) 다음 코드와 동등합니다: i - = n ; return i ; .
2) 다음을 반환합니다: static_cast < difference_type > ( x. current_  ) -
static_cast < difference_type > ( y. current_  )
.

이 함수들은 일반적인 비한정 이름 검색 이나 한정 이름 검색 으로는 보이지 않으며, iterator 가 인자들의 연관 클래스일 때만 인자 종속 이름 검색 에 의해 찾을 수 있습니다.

참고 사항

iterator 는 항상 random_access_iterator 입니다.