table of contents
std::ranges::cartesian_product_view::iterator::iterator(3) | C++ Standard Libary | std::ranges::cartesian_product_view::iterator::iterator(3) |
NAME¶
std::ranges::cartesian_product_view::iterator::iterator - std::ranges::cartesian_product_view::iterator::iterator
Synopsis¶
/*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>> (2) (since C++23)
&& ... &&
std::convertible_to<ranges::iterator_t<Vs>,
ranges::iterator_t<const Vs>>
);
private:
constexpr /*iterator*/(
/*Parent*/& parent, (3) (exposition
std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>,
only*)
ranges::iterator_t</*maybe-const*/<Const, Vs>>...>
current );
Construct an iterator.
1) Default constructor. Value-initializes the parent_ with nullptr and
default-initializes the current_.
2) Conversion from /*iterator*/<false> to /*iterator*/<true>.
Initializes parent_
with i.parent_ and current_ with std::move(i.current_).
3) A private constructor which is used by cartesian_product_view::begin and
cartesian_product_view::end. This constructor is not accessible to users.
Initializes parent_ with std::addressof(parent) and current_ with
std::move(current).
Parameters¶
i - an /*iterator*/<false>
Example¶
This section is incomplete
Reason: no example
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |