|  | 
|  | zip_view (Rngs...rngs) | 
|  | 
|  | iter_zip_with_view (Rngs ...rngs) | 
|  | 
|  | iter_zip_with_view (detail::indirect_zip_fn_ fun, Rngs ...rngs) | 
|  | 
| constexpr size_type_ | size () const | 
|  | 
| detail::facade_iterator_t< D > | begin () | 
|  | Let dbestatic_cast<Derived &>(*this). Letbbestd::as_const(d).begin_cursor()if that expression is well-formed; otherwise, letbbed.begin_cursor(). LetBbe the type ofb.  More...
 | 
|  | 
| detail::facade_iterator_t< D const > | begin () const | 
|  | 
| detail::facade_sentinel_t< D > | end () | 
|  | Let dbestatic_cast<Derived &>(*this). Letebestd::as_const(d).end_cursor()if that expression is well-formed; otherwise, letebed.end_cursor(). LetEbe the type ofe.  More...
 | 
|  | 
| detail::facade_sentinel_t< D const > | end () const | 
|  | 
| auto | at (range_difference_type_t< D > n) -> decltype(std::declval< D & >().begin()[n]) | 
|  | Returns a reference to the element at specified location pos, with bounds checking. 
 | 
|  | 
| auto | at (range_difference_type_t< D > n) const -> decltype(std::declval< D const & >().begin()[n]) | 
|  | 
| range_reference_t< D > | back () | 
|  | Access the last element in a range: 
 | 
|  | 
| range_reference_t< D const > | back () const | 
|  | 
| constexpr bool | empty () const noexcept | 
|  | 
| constexpr bool | empty () const noexcept(noexcept(bool(ranges::begin(std::declval< D const & >())==ranges::end(std::declval< D const & >())))) | 
|  | 
| range_reference_t< D > | front () | 
|  | Access the first element in a range: 
 | 
|  | 
| range_reference_t< D const > | front () const | 
|  | 
| constexpr | operator bool () const noexcept(noexcept(ranges::empty(std::declval< D const & >()))) | 
|  | 
|  | operator Container () | 
|  | Implicit conversion to something that looks like a container. 
 | 
|  | 
|  | operator Container () const | 
|  | 
| constexpr auto | operator! () const noexcept(noexcept(decltype(ranges::empty(std::declval< D const & >()))(ranges::empty(std::declval< D const & >())))) -> decltype(ranges::empty(std::declval< D const & >())) | 
|  | 
| view_interface & | operator= (view_interface &&)=default | 
|  | 
| view_interface & | operator= (view_interface const &)=default | 
|  | 
| auto | operator[] (range_difference_type_t< D > n) -> decltype(std::declval< D & >().begin()[n]) | 
|  | Simple indexing: 
 | 
|  | 
| auto | operator[] (range_difference_type_t< D > n) const -> decltype(std::declval< D const & >().begin()[n]) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >> offs) &-> decltype(std::declval< Slice >()(std::declval< D & >(), offs.from, offs.to)) | 
|  | Python-ic slicing: 
 | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >> offs) const &-> decltype(std::declval< Slice >()(std::declval< D const & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >> offs) &&-> decltype(std::declval< Slice >()(std::declval< D >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >, detail::from_end_< range_difference_type_t< D >>> offs) &-> decltype(std::declval< Slice >()(std::declval< D & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >, detail::from_end_< range_difference_type_t< D >>> offs) const &-> decltype(std::declval< Slice >()(std::declval< D const & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >, detail::from_end_< range_difference_type_t< D >>> offs) &&-> decltype(std::declval< Slice >()(std::declval< D >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< detail::from_end_< range_difference_type_t< D >>, detail::from_end_< range_difference_type_t< D >>> offs) &-> decltype(std::declval< Slice >()(std::declval< D & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< detail::from_end_< range_difference_type_t< D >>, detail::from_end_< range_difference_type_t< D >>> offs) const &-> decltype(std::declval< Slice >()(std::declval< D const & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< detail::from_end_< range_difference_type_t< D >>, detail::from_end_< range_difference_type_t< D >>> offs) &&-> decltype(std::declval< Slice >()(std::declval< D >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >, end_fn > offs) &-> decltype(std::declval< Slice >()(std::declval< D & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >, end_fn > offs) const &-> decltype(std::declval< Slice >()(std::declval< D const & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< range_difference_type_t< D >, end_fn > offs) &&-> decltype(std::declval< Slice >()(std::declval< D >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< detail::from_end_< range_difference_type_t< D >>, end_fn > offs) &-> decltype(std::declval< Slice >()(std::declval< D & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< detail::from_end_< range_difference_type_t< D >>, end_fn > offs) const &-> decltype(std::declval< Slice >()(std::declval< D const & >(), offs.from, offs.to)) | 
|  | 
| auto | operator[] (detail::slice_bounds< detail::from_end_< range_difference_type_t< D >>, end_fn > offs) &&-> decltype(std::declval< Slice >()(std::declval< D >(), offs.from, offs.to)) | 
|  | 
| constexpr range_size_type_t< D > | size () const noexcept | 
|  | Access the size of the range, if it can be determined: 
 | 
|  | 
| constexpr range_size_type_t< D > | size () const | 
|  | 
|  | view_interface (view_interface &&)=default | 
|  | 
|  | view_interface (view_interface const &)=default | 
|  |