Namespaces
Variants

std::ranges::cartesian_product_view<First, Vs...>::iterator<Const>::iterator

cppreference.net에서 가져옴
 
 
Ranges library
범위 어댑터
 
 
/*iterator*/() = default;
(1) (since C++23)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const && (
        std::convertible_to<ranges::iterator_t<First>, ranges::iterator_t<const First>>
        && ... &&
        std::convertible_to<ranges::iterator_t<Vs>, ranges::iterator_t<const Vs>>
    );
(2) (since C++23)
private:
constexpr /*iterator*/(
    /*Parent*/& parent,
    std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>,
               ranges::iterator_t</*maybe-const*/<Const, Vs>>...> current );
(3) (설명 전용*)

반복자를 생성합니다.

2) 변환/*iterator*/<false>에서 /*iterator*/<true>으로. parent_를 i.parent_로 current_을 std::move(i.current_)로 초기화합니다.
3) 비공개 생성자로, cartesian_product_view::begin 및 cartesian_product_view::end에서 사용됩니다. 이 생성자는 사용자가 접근할 수 없습니다. parent_를 std::addressof(parent)로 current_을 std::move(current)로 초기화합니다.

매개변수

i - an /*iterator*/ < false >

예제