Namespaces
Variants

std::ranges::join_view<V>::iterator<Const>::iterator

cppreference.net에서 발췌
 
 
Ranges 라이브러리
Range 어댑터
 
 
/*iterator*/() requires std::default_initializable<OuterIter> &&
                        std::default_initializable<InnerIter> = default;
(1) (C++20부터)
constexpr /*iterator*/( Parent& parent, OuterIter outer );
(2) (C++20부터)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
             std::convertible_to<ranges::iterator_t<V>, OuterIter> &&
             std::convertible_to<ranges::iterator_t<InnerRng>, InnerIter>;
(3) (C++20부터)

반복자를 생성합니다.

1) 기본 생성자. 값-초기화를 통해 내부 반복자를 초기화하고, 부모 ranges::join_view에 대한 포인터를 nullptr로 초기화합니다.
2) 내부 outer_ 반복자를 std::move(outer)로 초기화하고, 부모 parent_에 대한 포인터를 std::addressof(parent)로 초기화한 후, satisfy()를 호출합니다.
3) /*iterator*/<false>을(를) /*iterator*/<true>로 변환합니다. 내부 반복자 outer_을(를) std::move(i.outer_)로, inner_을(를) std::move(i.inner_)로 이동 생성하고, 부모에 대한 내부 포인터 parent_을(를) i.parent_로 초기화합니다.

매개변수

parent - (const 한정자가 있을 수 있는) ranges::join_view
outer - (const 한정자가 있을 수 있는) ranges:: iterator_t < Base > 를 가리키는 반복자
i - /*iterator*/ < false > 타입의 반복자

예제