|
| iterator ()=default |
|
template<bool AntiConst, std::enable_if_t< conjunction< bool_constant<((Const !=AntiConst) &&Const)>, convertible_to< iterator_t< First >, iterator_t< const First >>, convertible_to< iterator_t< Vs >, iterator_t< const Vs >>... >::value, int > = 0> |
constexpr | iterator (iterator< AntiConst > i) |
|
constexpr auto | operator* () const |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_random_access< Const, First2, Vs... >::value, int > = 0> |
constexpr reference | operator[] (difference_type n) const |
|
template<std::size_t N = sizeof...(Vs)> |
constexpr void | next () |
|
template<std::size_t N = sizeof...(Vs)> |
constexpr void | prev () |
|
template<typename Tuple > |
constexpr difference_type | distance_from (const Tuple &t) const |
|
constexpr iterator & | operator++ () |
|
template<typename First2 = First, std::enable_if_t< forward_range< maybe_const< Const, First2 >>::value==false, int > = 0> |
constexpr void | operator++ (int) |
|
template<typename First2 = First, std::enable_if_t< forward_range< maybe_const< Const, First2 >>::value, int > = 0> |
constexpr iterator | operator++ (int) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_bidirectional< Const, First2, Vs... >::value, int > = 0> |
constexpr iterator & | operator-- () |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_bidirectional< Const, First2, Vs... >::value, int > = 0> |
constexpr iterator | operator-- (int) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_random_access< Const, First2, Vs... >::value, int > = 0> |
constexpr iterator & | operator+= (difference_type n) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_random_access< Const, First2, Vs... >::value, int > = 0> |
constexpr iterator & | operator-= (difference_type n) |
|
|
class | cartesian_product_view |
|
template<typename First2 = First, std::enable_if_t< equality_comparable< iterator_t< maybe_const< Const, First2 >>>::value, int > = 0> |
constexpr friend bool | operator== (const iterator &x, const iterator &y) |
|
template<typename First2 = First, std::enable_if_t< equality_comparable< iterator_t< maybe_const< Const, First2 >>>::value, int > = 0> |
constexpr friend bool | operator!= (const iterator &x, const iterator &y) |
|
template<typename First2 = First, std::enable_if_t< equality_comparable< iterator_t< maybe_const< Const, First2 >>>::value, int > = 0> |
constexpr friend bool | operator== (const iterator &x, default_sentinel_t) |
|
template<typename First2 = First, std::enable_if_t< equality_comparable< iterator_t< maybe_const< Const, First2 >>>::value, int > = 0> |
constexpr friend bool | operator!= (const iterator &x, default_sentinel_t) |
|
template<typename First2 = First, std::enable_if_t< equality_comparable< iterator_t< maybe_const< Const, First2 >>>::value, int > = 0> |
constexpr friend bool | operator== (default_sentinel_t, const iterator &x) |
|
template<typename First2 = First, std::enable_if_t< equality_comparable< iterator_t< maybe_const< Const, First2 >>>::value, int > = 0> |
constexpr friend bool | operator!= (default_sentinel_t, const iterator &x) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_random_access< Const, First2, Vs... >::value, int > = 0> |
constexpr friend iterator | operator+ (const iterator &i, difference_type n) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_random_access< Const, First2, Vs... >::value, int > = 0> |
constexpr friend iterator | operator+ (difference_type n, const iterator &i) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_random_access< Const, First2, Vs... >::value, int > = 0> |
constexpr friend iterator | operator- (const iterator &i, difference_type n) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_is_sized_sentinel< Const, iterator_t, First2, Vs... >::value, int > = 0> |
constexpr friend difference_type | operator- (const iterator &i, const iterator &j) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_is_sized_sentinel< Const, sentinel_t, First2, Vs... >::value, int > = 0> |
constexpr friend difference_type | operator- (const iterator &i, default_sentinel_t) |
|
template<typename First2 = First, std::enable_if_t< detail::cartesian_is_sized_sentinel< Const, sentinel_t, First2, Vs... >::value, int > = 0> |
constexpr friend difference_type | operator- (default_sentinel_t s, const iterator &i) |
|
constexpr friend auto | iter_move (const iterator &i) noexcept(noexcept(vccc::tuple_transform(i.current_, ranges::iter_move)) &&conjunction< std::is_nothrow_move_constructible< range_rvalue_reference_t< maybe_const< Const, First > >>, std::is_nothrow_move_constructible< range_rvalue_reference_t< maybe_const< Const, Vs > >>... >::value) |
|
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, indirectly_swappable< iterator_t< maybe_const< Const, First >> >, indirectly_swappable< iterator_t< maybe_const< Const, Vs >> >... >::value, int > = 0> |
constexpr friend void | iter_swap (const iterator &x, const iterator &y) noexcept(noexcept(x.iter_swap_impl(y))) |
|