cpp/ranges/cartesian product view/iterator

The return type of, and of when the underlying view  is a.

The type is returned by the const-qualified overloads. The type is returned by the non-const-qualified overloads.

The name of this class template (shown here as ) is unspecified.

Data members
Typical implementations of hold two non-static data members:
 * of type (see below), which is the pointer to the parent ,
 * of type
 * which is the tuple of iterators to the current underlying elements.
 * which is the tuple of iterators to the current underlying elements.

These names are for exposition only.