|
| template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_bidi |
| |
|
template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_bidi_ = and_v<common_range<meta::const_if<IsConst, Views>>..., bidirectional_iterator<iterator_t<meta::const_if<IsConst, Views>>>...> |
| |
| template<typename... Views> |
| concept | ranges::cartesian_produce_view_can_const |
| |
| template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_distance |
| |
|
template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_distance_ = and_v<sized_sentinel_for< iterator_t<meta::const_if<IsConst, Views>>, iterator_t<meta::const_if<IsConst, Views>>>...> |
| |
| template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_random |
| |
|
template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_random_ = and_v<random_access_iterator<iterator_t<meta::const_if<IsConst, Views>>>...> |
| |
| template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_size |
| |
|
template<typename IsConst , typename... Views> |
| concept | ranges::cartesian_produce_view_can_size_ = and_v<common_with<std::uintmax_t, range_size_t<meta::const_if<IsConst, Views>>>...> |
| |
|
constexpr cartesian_product_fn | ranges::views::cartesian_product {} |
| |