|  | 
|  | xview (const xview &)=default | 
|  | 
| template<class E> | 
| self_type & | operator= (const xexpression< E > &e) | 
|  | 
| template<class E> | 
| disable_xexpression< E, self_type > & | operator= (const E &e) | 
|  | 
| template<class... Args> | 
| reference | operator() (Args... args) | 
|  | 
| template<class... Args> | 
| reference | unchecked (Args... args) | 
|  | 
| template<class It> | 
| reference | element (It first, It last) | 
|  | 
| template<class... Args> | 
| const_reference | operator() (Args... args) const | 
|  | 
| template<class... Args> | 
| const_reference | unchecked (Args... args) const | 
|  | 
| template<class It> | 
| const_reference | element (It first, It last) const | 
|  | 
| template<class ST> | 
| stepper | stepper_begin (const ST &shape) | 
|  | 
| template<class ST> | 
| stepper | stepper_end (const ST &shape, layout_type l) | 
|  | 
| template<class ST> | 
| const_stepper | stepper_begin (const ST &shape) const | 
|  | 
| template<class ST> | 
| const_stepper | stepper_end (const ST &shape, layout_type l) const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T>)
 | 
| storage_type & | storage () | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T>)
 | 
| const storage_type & | storage () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| linear_iterator | linear_begin () | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| linear_iterator | linear_end () | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_linear_iterator | linear_begin () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_linear_iterator | linear_end () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_linear_iterator | linear_cbegin () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_linear_iterator | linear_cend () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| reverse_linear_iterator | linear_rbegin () | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| reverse_linear_iterator | linear_rend () | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_reverse_linear_iterator | linear_rbegin () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_reverse_linear_iterator | linear_rend () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_reverse_linear_iterator | linear_crbegin () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_reverse_linear_iterator | linear_crend () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const inner_strides_type & | strides () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const inner_strides_type & | backstrides () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_pointer | data () const | 
|  | 
| template<class T = xexpression_type> requires (has_data_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| pointer | data () | 
|  | 
| template<xscalar_concept ST = self_type> | 
|  | operator reference () | 
|  | 
| template<xscalar_concept ST = self_type> | 
|  | operator const_reference () const | 
|  | 
| template<class E> | 
| rebind_t< E > | build_view (E &&e) const | 
|  | 
| template<class align, class simd, class T = xexpression_type> requires (has_simd_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| void | store_simd (size_type i, const simd &e) | 
|  | 
| template<class align, class requested_type = value_type, std::size_t N = xt_simd::simd_traits<requested_type>::size, class T = xexpression_type> requires (has_simd_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| simd_return_type< requested_type > | load_simd (size_type i) const | 
|  | 
| template<class T = xexpression_type> requires (has_simd_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| reference | data_element (size_type i) | 
|  | 
| template<class T = xexpression_type> requires (has_simd_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_reference | data_element (size_type i) const | 
|  | 
| template<class T = xexpression_type> requires (has_simd_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| reference | flat (size_type i) | 
|  | 
| template<class T = xexpression_type> requires (has_simd_interface_concept<T> and strided_view_concept<CT, S...>)
 | 
| const_reference | flat (size_type i) const | 
|  | 
|  | 
| const inner_shape_type & | shape () const noexcept | 
|  | Returns the shape of the view. 
 | 
|  | 
| const slice_type & | slices () const noexcept | 
|  | Returns the slices of the view. 
 | 
|  | 
| layout_type | layout () const noexcept | 
|  | Returns the slices of the view. 
 | 
|  | 
| bool | is_contiguous () const noexcept | 
|  | 
|  | 
| template<class E> | 
| auto | operator= (const xexpression< E > &e) -> self_type & | 
|  | The extended assignment operator. 
 | 
|  | 
| template<class E> | 
| auto | operator= (const E &e) -> disable_xexpression< E, self_type > & | 
|  | 
| derived_type & | assign_xexpression (const xexpression< E > &e) | 
|  | 
| derived_type & | computed_assign (const xexpression< E > &e) | 
|  | 
| derived_type & | scalar_computed_assign (const E &e, F &&f) | 
|  | 
| auto | assign_xexpression (const xexpression< E > &e) -> derived_type & | 
|  | 
| auto | computed_assign (const xexpression< E > &e) -> derived_type & | 
|  | 
| auto | scalar_computed_assign (const E &e, F &&f) -> derived_type & | 
|  | 
| auto | operator= (const xexpression< E > &rhs) -> derived_type & | 
|  | 
| derived_type & | assign_temporary (temporary_type &&) | 
|  | Assigns the temporary tmpto*this.
 | 
|  | 
| auto | assign_xexpression (const xexpression< E > &e) -> derived_type & | 
|  | 
| auto | computed_assign (const xexpression< E > &e) -> derived_type & | 
|  | 
| auto | scalar_computed_assign (const E &e, F &&f) -> derived_type & | 
|  | 
| auto | operator= (const xexpression< E > &rhs) -> derived_type & | 
|  | 
| disable_xexpression< E, derived_type & > | operator+= (const E &) | 
|  | 
| derived_type & | operator+= (const xexpression< E > &) | 
|  | 
| disable_xexpression< E, derived_type & > | operator-= (const E &) | 
|  | 
| derived_type & | operator-= (const xexpression< E > &) | 
|  | 
| disable_xexpression< E, derived_type & > | operator*= (const E &) | 
|  | 
| derived_type & | operator*= (const xexpression< E > &) | 
|  | 
| disable_xexpression< E, derived_type & > | operator/= (const E &) | 
|  | 
| derived_type & | operator/= (const xexpression< E > &) | 
|  | 
| disable_xexpression< E, derived_type & > | operator%= (const E &) | 
|  | 
| derived_type & | operator%= (const xexpression< E > &) | 
|  | 
| disable_xexpression< E, derived_type & > | operator&= (const E &) | 
|  | 
| derived_type & | operator&= (const xexpression< E > &) | 
|  | 
| disable_xexpression< E, derived_type & > | operator|= (const E &) | 
|  | 
| derived_type & | operator|= (const xexpression< E > &) | 
|  | 
| disable_xexpression< E, derived_type & > | operator^= (const E &) | 
|  | 
| derived_type & | operator^= (const xexpression< E > &) | 
|  | 
| derived_type & | assign (const xexpression< E > &) | 
|  | 
| derived_type & | plus_assign (const xexpression< E > &) | 
|  | 
| derived_type & | minus_assign (const xexpression< E > &) | 
|  | 
| derived_type & | multiplies_assign (const xexpression< E > &) | 
|  | 
| derived_type & | divides_assign (const xexpression< E > &) | 
|  | 
| derived_type & | modulus_assign (const xexpression< E > &) | 
|  | 
| derived_type & | bit_and_assign (const xexpression< E > &) | 
|  | 
| derived_type & | bit_or_assign (const xexpression< E > &) | 
|  | 
| derived_type & | bit_xor_assign (const xexpression< E > &) | 
|  | 
| auto | operator+= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Adds the scalar eto*this.
 | 
|  | 
| auto | operator-= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Subtracts the scalar efrom*this.
 | 
|  | 
| auto | operator*= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Multiplies *thiswith the scalare.
 | 
|  | 
| auto | operator/= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Divides *thisby the scalare.
 | 
|  | 
| auto | operator%= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the remainder of *thisafter division by the scalare.
 | 
|  | 
| auto | operator&= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the bitwise and of *thisand the scalareand assigns it to*this.
 | 
|  | 
| auto | operator|= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the bitwise or of *thisand the scalareand assigns it to*this.
 | 
|  | 
| auto | operator^= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the bitwise xor of *thisand the scalareand assigns it to*this.
 | 
|  | 
| auto | operator+= (const xexpression< E > &e) -> derived_type & | 
|  | Adds the xexpression eto*this.
 | 
|  | 
| auto | operator-= (const xexpression< E > &e) -> derived_type & | 
|  | Subtracts the xexpression efrom*this.
 | 
|  | 
| auto | operator*= (const xexpression< E > &e) -> derived_type & | 
|  | Multiplies *thiswith the xexpressione.
 | 
|  | 
| auto | operator/= (const xexpression< E > &e) -> derived_type & | 
|  | Divides *thisby the xexpressione.
 | 
|  | 
| auto | operator%= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the remainder of *thisafter division by the xexpressione.
 | 
|  | 
| auto | operator&= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise and of *thisand the xexpressioneand assigns it to*this.
 | 
|  | 
| auto | operator|= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise or of *thisand the xexpressioneand assigns it to*this.
 | 
|  | 
| auto | operator^= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise xor of *thisand the xexpressioneand assigns it to*this.
 | 
|  | 
| auto | operator+= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Adds the scalar eto*this.
 | 
|  | 
| auto | operator+= (const xexpression< E > &e) -> derived_type & | 
|  | Adds the xexpression eto*this.
 | 
|  | 
| auto | operator-= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Subtracts the scalar efrom*this.
 | 
|  | 
| auto | operator-= (const xexpression< E > &e) -> derived_type & | 
|  | Subtracts the xexpression efrom*this.
 | 
|  | 
| auto | operator*= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Multiplies *thiswith the scalare.
 | 
|  | 
| auto | operator*= (const xexpression< E > &e) -> derived_type & | 
|  | Multiplies *thiswith the xexpressione.
 | 
|  | 
| auto | operator/= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Divides *thisby the scalare.
 | 
|  | 
| auto | operator/= (const xexpression< E > &e) -> derived_type & | 
|  | Divides *thisby the xexpressione.
 | 
|  | 
| auto | operator%= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the remainder of *thisafter division by the scalare.
 | 
|  | 
| auto | operator%= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the remainder of *thisafter division by the xexpressione.
 | 
|  | 
| auto | operator&= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the bitwise and of *thisand the scalareand assigns it to*this.
 | 
|  | 
| auto | operator&= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise and of *thisand the xexpressioneand assigns it to*this.
 | 
|  | 
| auto | operator|= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the bitwise or of *thisand the scalareand assigns it to*this.
 | 
|  | 
| auto | operator|= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise or of *thisand the xexpressioneand assigns it to*this.
 | 
|  | 
| auto | operator^= (const E &e) -> disable_xexpression< E, derived_type & > | 
|  | Computes the bitwise xor of *thisand the scalareand assigns it to*this.
 | 
|  | 
| auto | operator^= (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise xor of *thisand the xexpressioneand assigns it to*this.
 | 
|  | 
| auto | assign (const xexpression< E > &e) -> derived_type & | 
|  | Assigns the xexpression eto*this.
 | 
|  | 
| auto | plus_assign (const xexpression< E > &e) -> derived_type & | 
|  | Adds the xexpression eto*this.
 | 
|  | 
| auto | minus_assign (const xexpression< E > &e) -> derived_type & | 
|  | Subtracts the xexpression eto*this.
 | 
|  | 
| auto | multiplies_assign (const xexpression< E > &e) -> derived_type & | 
|  | Multiplies *thiswith the xexpressione.
 | 
|  | 
| auto | divides_assign (const xexpression< E > &e) -> derived_type & | 
|  | Divides *thisby the xexpressione.
 | 
|  | 
| auto | modulus_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the remainder of *thisafter division by the xexpressione.
 | 
|  | 
| auto | bit_and_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise and of eto*this.
 | 
|  | 
| auto | bit_or_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise or of eto*this.
 | 
|  | 
| auto | bit_xor_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise xor of eto*this.
 | 
|  | 
| auto | operator= (const xexpression< E > &e) -> derived_type & | 
|  | 
| auto | assign (const xexpression< E > &e) -> derived_type & | 
|  | Assigns the xexpression eto*this.
 | 
|  | 
| auto | plus_assign (const xexpression< E > &e) -> derived_type & | 
|  | Adds the xexpression eto*this.
 | 
|  | 
| auto | minus_assign (const xexpression< E > &e) -> derived_type & | 
|  | Subtracts the xexpression eto*this.
 | 
|  | 
| auto | multiplies_assign (const xexpression< E > &e) -> derived_type & | 
|  | Multiplies *thiswith the xexpressione.
 | 
|  | 
| auto | divides_assign (const xexpression< E > &e) -> derived_type & | 
|  | Divides *thisby the xexpressione.
 | 
|  | 
| auto | modulus_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the remainder of *thisafter division by the xexpressione.
 | 
|  | 
| auto | bit_and_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise and of eto*this.
 | 
|  | 
| auto | bit_or_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise or of eto*this.
 | 
|  | 
| auto | bit_xor_assign (const xexpression< E > &e) -> derived_type & | 
|  | Computes the bitwise xor of eto*this.
 | 
|  | 
| auto | operator= (const xexpression< E > &e) -> derived_type & | 
|  | 
| auto | at (Args... args) -> reference | 
|  | Returns a reference to the element at the specified position in the expression, after dimension and bounds checking. 
 | 
|  | 
| auto | operator[] (const S &index) -> disable_integral_t< S, reference > | 
|  | Returns a reference to the element at the specified position in the expression. 
 | 
|  | 
| auto | operator[] (std::initializer_list< I > index) -> reference | 
|  | 
| auto | periodic (Args... args) -> reference | 
|  | Returns a reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed). 
 | 
|  | 
| const_reference | at (Args... args) const | 
|  | 
| disable_integral_t< S, const_reference > | operator[] (const S &index) const | 
|  | 
| const_reference | operator[] (std::initializer_list< I > index) const | 
|  | 
| const_reference | operator[] (size_type i) const | 
|  | 
| const_reference | back () const | 
|  | Returns a constant reference to last the element of the expression. 
 | 
|  | 
| const_reference | front () const | 
|  | Returns a constant reference to first the element of the expression. 
 | 
|  | 
| const_reference | periodic (Args... args) const | 
|  | 
| reference | at (Args... args) | 
|  | 
| auto | at (Args... args) -> reference | 
|  | Returns a reference to the element at the specified position in the expression, after dimension and bounds checking. 
 | 
|  | 
| const_reference | at (Args... args) const | 
|  | 
| disable_integral_t< S, reference > | operator[] (const S &index) | 
|  | 
| reference | operator[] (std::initializer_list< I > index) | 
|  | 
| reference | operator[] (size_type i) | 
|  | 
| auto | operator[] (const S &index) -> disable_integral_t< S, reference > | 
|  | Returns a reference to the element at the specified position in the expression. 
 | 
|  | 
| auto | operator[] (std::initializer_list< I > index) -> reference | 
|  | 
| disable_integral_t< S, const_reference > | operator[] (const S &index) const | 
|  | 
| const_reference | operator[] (std::initializer_list< I > index) const | 
|  | 
| const_reference | operator[] (size_type i) const | 
|  | 
| reference | periodic (Args... args) | 
|  | 
| auto | periodic (Args... args) -> reference | 
|  | Returns a reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed). 
 | 
|  | 
| const_reference | periodic (Args... args) const | 
|  | 
| reference | front () | 
|  | Returns a reference to the first element of the expression. 
 | 
|  | 
| const_reference | front () const | 
|  | Returns a constant reference to first the element of the expression. 
 | 
|  | 
| reference | back () | 
|  | Returns a reference to the last element of the expression. 
 | 
|  | 
| const_reference | back () const | 
|  | Returns a constant reference to last the element of the expression. 
 | 
|  | 
| auto | at (Args... args) const -> const_reference | 
|  | Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking. 
 | 
|  | 
| auto | operator[] (const S &index) const -> disable_integral_t< S, const_reference > | 
|  | Returns a constant reference to the element at the specified position in the expression. 
 | 
|  | 
| auto | operator[] (std::initializer_list< I > index) const -> const_reference | 
|  | 
| auto | periodic (Args... args) const -> const_reference | 
|  | Returns a constant reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed). 
 | 
|  | 
| size_type | size () const noexcept(noexcept(derived_cast().shape())) | 
|  | Returns the size of the expression. 
 | 
|  | 
| size_type | dimension () const noexcept | 
|  | Returns the number of dimensions of the expression. 
 | 
|  | 
| size_type | shape (size_type index) const | 
|  | Returns the i-th dimension of the expression. 
 | 
|  | 
| const_reference | at (Args... args) const | 
|  | 
| auto | at (Args... args) const -> const_reference | 
|  | Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking. 
 | 
|  | 
| disable_integral_t< S, const_reference > | operator[] (const S &index) const | 
|  | 
| const_reference | operator[] (std::initializer_list< I > index) const | 
|  | 
| const_reference | operator[] (size_type i) const | 
|  | 
| auto | operator[] (const S &index) const -> disable_integral_t< S, const_reference > | 
|  | Returns a constant reference to the element at the specified position in the expression. 
 | 
|  | 
| auto | operator[] (std::initializer_list< I > index) const -> const_reference | 
|  | 
| const_reference | periodic (Args... args) const | 
|  | 
| auto | periodic (Args... args) const -> const_reference | 
|  | Returns a constant reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed). 
 | 
|  | 
| bool | in_bounds (Args... args) const | 
|  | Returns trueonly if the the specified position is a valid entry in the expression.
 | 
|  | 
| const_reference | front () const | 
|  | Returns a constant reference to first the element of the expression. 
 | 
|  | 
| const_reference | back () const | 
|  | Returns a constant reference to last the element of the expression. 
 | 
|  | 
|  | 
| template<class ST> | 
| bool | broadcast_shape (ST &shape, bool reuse_cache=false) const | 
|  | Broadcast the shape of the view to the specified parameter. 
 | 
|  | 
| template<class ST> | 
| bool | has_linear_assign (const ST &strides) const | 
|  | Checks whether the xview can be linearly assigned to an expression with the specified strides. 
 | 
|  | 
| template<class It> | 
| It | data_xbegin_impl (It begin) const noexcept | 
|  | 
| template<class It> | 
| It | data_xend_impl (It begin, layout_type l, size_type offset) const noexcept | 
|  | 
| container_iterator | data_xbegin () noexcept | 
|  | 
| const_container_iterator | data_xbegin () const noexcept | 
|  | 
| container_iterator | data_xend (layout_type l, size_type offset) noexcept | 
|  | 
| const_container_iterator | data_xend (layout_type l, size_type offset) const noexcept | 
|  | 
| template<class E, class T = xexpression_type> requires (has_data_interface_concept<T> and contiguous_view_concept<E, S...>)
 | 
| void | assign_to (xexpression< E > &e, bool force_resize) const | 
|  | 
| template<class E, std::size_t... I> | 
| auto | build_view_impl (E &&e, std::index_sequence< I... >) const -> rebind_t< E > | 
|  | 
| template<class E> | 
| auto | build_view (E &&e) const -> rebind_t< E > | 
|  | 
| template<class align, class simd, class T> | 
| auto | store_simd (size_type i, const simd &e) -> void requires(has_simd_interface_concept< T > and strided_view_concept< CT, S... >) | 
|  | 
| template<class align, class requested_type, std::size_t N, class T> | 
| auto | load_simd (size_type i) const -> simd_return_type< requested_type > requires(has_simd_interface_concept< T > and strided_view_concept< CT, S... >) | 
|  | 
| template<class T> | 
| auto | data_element (size_type i) -> reference requires(has_simd_interface_concept< T > and strided_view_concept< CT, S... >) | 
|  | 
| template<class T> | 
| auto | data_element (size_type i) const -> const_reference requires(has_simd_interface_concept< T > and strided_view_concept< CT, S... >) | 
|  | 
| template<class T> | 
| auto | flat (size_type i) -> reference requires(has_simd_interface_concept< T > and strided_view_concept< CT, S... >) | 
|  | 
| template<class T> | 
| auto | flat (size_type i) const -> const_reference requires(has_simd_interface_concept< T > and strided_view_concept< CT, S... >) | 
|  | 
| template<class Arg, class... Args> | 
| auto | access (Arg arg, Args... args) -> reference | 
|  | 
| template<class Arg, class... Args> | 
| auto | access (Arg arg, Args... args) const -> const_reference | 
|  | 
| template<typename std::decay_t< CT >::size_type... I, class... Args> | 
| auto | unchecked_impl (std::index_sequence< I... >, Args... args) -> reference | 
|  | 
| template<typename std::decay_t< CT >::size_type... I, class... Args> | 
| auto | unchecked_impl (std::index_sequence< I... >, Args... args) const -> const_reference | 
|  | 
| template<typename std::decay_t< CT >::size_type... I, class... Args> | 
| auto | access_impl (std::index_sequence< I... >, Args... args) -> reference | 
|  | 
| template<typename std::decay_t< CT >::size_type... I, class... Args> | 
| auto | access_impl (std::index_sequence< I... >, Args... args) const -> const_reference | 
|  | 
| template<typename std::decay_t< CT >::size_type I, class... Args> | 
| auto | index (Args... args) const -> size_type | 
|  | 
| template<typename std::decay_t< CT >::size_type I, class T> | 
| auto | sliced_access (const xslice< T > &slice) const -> size_type | 
|  | 
| template<typename std::decay_t< CT >::size_type I, class T, class Arg, class... Args> | 
| auto | sliced_access (const xslice< T > &slice, Arg arg, Args... args) const -> size_type | 
|  | 
| template<typename std::decay_t< CT >::size_type I, class T, class... Args> | 
| auto | sliced_access (const T &squeeze, Args...) const -> size_type requires(!is_xslice< T >::value) | 
|  | 
| template<class It> | 
| auto | make_index (It first, It last) const -> base_index_type | 
|  | 
| template<class ST> | 
| auto | stepper_begin (const ST &shape) -> stepper | 
|  | 
| template<class ST> | 
| auto | stepper_end (const ST &shape, layout_type l) -> stepper | 
|  | 
| template<class ST> | 
| auto | stepper_begin (const ST &shape) const -> const_stepper | 
|  | 
| template<class ST> | 
| auto | stepper_end (const ST &shape, layout_type l) const -> const_stepper | 
|  |