Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::cartesian_product_view< Views >::cursor< IsConst_ > Class Template Reference

Friends

class cursor<!IsConst_ >
 

Public Types

using value_type = std::tuple< range_value_t< Views >... >
 

Public Member Functions

template<typename Diff >
auto advance (Diff n) -> void requires CartesianProductViewCanRandom< IsConst, Views... > &&detail::IntegerLike_< Diff >
 
 cursor (begin_tag, constify_if< cartesian_product_view > &view)
 
 cursor (end_tag, constify_if< cartesian_product_view > &view)
 
template<bool Other>
requires IsConst_ &&!Other cursor (cursor< Other > that)
 
auto distance_to (cursor const &that) const requires CartesianProductViewCanDistance< IsConst
 
bool equal (default_sentinel_t) const
 
bool equal (cursor const &that) const
 
void next ()
 
auto prev () -> void requires CartesianProductViewCanBidi< IsConst, Views... >
 
common_tuple< range_reference_t< Views >... > read () const
 

Public Attributes

auto Views
 

Member Data Documentation

◆ Views

template<typename... Views>
template<bool IsConst_>
auto ranges::cartesian_product_view< Views >::cursor< IsConst_ >::Views
Initial value:
{
return distance_(that, meta::size_t<sizeof...(Views)>{})