Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
/*iterator*/ ( ) = default ;
(1) (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) (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) ( 설명 전용* )

반복자를 생성합니다.

1) 기본 생성자. 값 초기화 parent_ nullptr 로 초기화하고 기본 초기화 current_ 를 초기화합니다.
2) /*iterator*/ < false > 에서 /*iterator*/ < true > 로의 변환. parent_ i. parent_ 로 초기화하고, current_ std :: move ( i. current_ ) 로 초기화합니다.
3) cartesian_product_view::begin cartesian_product_view::end 에서 사용하는 private 생성자입니다. 이 생성자는 사용자에게 접근할 수 없습니다. parent_ std:: addressof ( parent ) 로 초기화하고, current_ std :: move ( current ) 로 초기화합니다.

매개변수

i - an /*iterator*/ < false >

예제