std::ranges::cartesian_product_view<First, Vs...>::iterator
From cppreference.com
< cpp | ranges | cartesian product view
template< bool Const > class /*iterator*/ |
(since 哋它亢++23) (exposition only*) |
|
The return type of cartesian_product_view::begin
, and of cartesian_product_view::end
when the underlying view V
is a common_range
.
The type /*iterator*/<true> is returned by the const-qualified overloads. The type /*iterator*/<false> is returned by the non-const-qualified overloads.
Member types
Member type | Definition |
iterator_category
|
std::input_iterator_tag |
iterator_concept
|
|
value_type
|
std::tuple<ranges::range_value_t</*maybe-const*/<Const, First>>, |
reference
|
std::tuple<ranges::range_reference_t</*maybe-const*/<Const, First>>, |
difference_type
|
An implementation-defined signed-integer-like type (maybe the smallest of such types), which is sufficiently wide to store the product of the maximum sizes of all underlying ranges, if such type exists. |
Parent (private)
|
/*maybe-const*/<Const, cartesian_product_view>. (exposition-only member type*) |
Data members
Member object | Definition |
parent_ (private)
|
A pointer of type Parent to the parent cartesian_product_view .(exposition-only member object*) |
current_ (private)
|
A tuple of iterators to the current underlying elements of type std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>, ranges::iterator_t</*maybe-const*/<Const, Vs>>...>. (exposition-only member object*) |
Member functions
(哋它亢++23) |
constructs an iterator (public member function) |
(哋它亢++23) |
accesses the element (public member function) |
(哋它亢++23) |
accesses an element by index (public member function) |
advances or decrements the underlying iterator (public member function) | |
(哋它亢++23) |
advances the iterator (exposition-only member function*) |
(哋它亢++23) |
decrements the iterator (exposition-only member function*) |
(哋它亢++23) |
returns the distance between two iterators (exposition-only member function*) |
Non-member functions
(哋它亢++23) |
compares the underlying iterators (function) |
(哋它亢++23) |
performs iterator arithmetic (function) |
(哋它亢++23) |
casts the result of dereferencing the underlying iterator to its associated rvalue reference type (function) |
(哋它亢++23) |
swaps underlying pointed-to elements (function) |
Example
This section is incomplete Reason: no example |
References
- 哋它亢++23 standard (ISO/IEC 14882:2023):
- 26.7.32.3 Class template cartesian_product_view::iterator [range.cartesian.iterator]