std::ranges::cartesian_product_view<First, Vs...>::iterator<Const>::iterator
De fr.cppreference.net
/*iterator*/() = default;
|
(1) | (depuis 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) | (depuis 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) | (uniquement à titre d'exposition*) |
Construit un itérateur.
1) Constructeur par défaut. Initialise par valeur le
parent_ avec nullptr et initialise par défaut le current_.
2) Conversion de
/*iterator*/<false> vers /*iterator*/<true>. Initialise parent_ avec i.parent_ et current_ avec std::move(i.current_).
3) Un constructeur privé qui est utilisé par cartesian_product_view::begin et cartesian_product_view::end. Ce constructeur n'est pas accessible aux utilisateurs.
Initialise
parent_ avec std::addressof(parent) et current_ avec std::move(current).Paramètres
| i | - | un /*iterator*/ < false > |
Exemple
|
Cette section est incomplète
Raison : aucun exemple |