| 
| 
  | 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 tmp to *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 e to *this.  
  | 
|   | 
| auto  | operator-= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Subtracts the scalar e from *this.  
  | 
|   | 
| auto  | operator*= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Multiplies *this with the scalar e.  
  | 
|   | 
| auto  | operator/= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Divides *this by the scalar e.  
  | 
|   | 
| auto  | operator%= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the remainder of *this after division by the scalar e.  
  | 
|   | 
| auto  | operator&= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the bitwise and of *this and the scalar e and assigns it to *this.  
  | 
|   | 
| auto  | operator|= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the bitwise or of *this and the scalar e and assigns it to *this.  
  | 
|   | 
| auto  | operator^= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the bitwise xor of *this and the scalar e and assigns it to *this.  
  | 
|   | 
| auto  | operator+= (const xexpression< E > &e) -> derived_type & | 
|   | Adds the xexpression e to *this.  
  | 
|   | 
| auto  | operator-= (const xexpression< E > &e) -> derived_type & | 
|   | Subtracts the xexpression e from *this.  
  | 
|   | 
| auto  | operator*= (const xexpression< E > &e) -> derived_type & | 
|   | Multiplies *this with the xexpression e.  
  | 
|   | 
| auto  | operator/= (const xexpression< E > &e) -> derived_type & | 
|   | Divides *this by the xexpression e.  
  | 
|   | 
| auto  | operator%= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the remainder of *this after division by the xexpression e.  
  | 
|   | 
| auto  | operator&= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise and of *this and the xexpression e and assigns it to *this.  
  | 
|   | 
| auto  | operator|= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise or of *this and the xexpression e and assigns it to *this.  
  | 
|   | 
| auto  | operator^= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise xor of *this and the xexpression e and assigns it to *this.  
  | 
|   | 
| auto  | operator+= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Adds the scalar e to *this.  
  | 
|   | 
| auto  | operator+= (const xexpression< E > &e) -> derived_type & | 
|   | Adds the xexpression e to *this.  
  | 
|   | 
| auto  | operator-= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Subtracts the scalar e from *this.  
  | 
|   | 
| auto  | operator-= (const xexpression< E > &e) -> derived_type & | 
|   | Subtracts the xexpression e from *this.  
  | 
|   | 
| auto  | operator*= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Multiplies *this with the scalar e.  
  | 
|   | 
| auto  | operator*= (const xexpression< E > &e) -> derived_type & | 
|   | Multiplies *this with the xexpression e.  
  | 
|   | 
| auto  | operator/= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Divides *this by the scalar e.  
  | 
|   | 
| auto  | operator/= (const xexpression< E > &e) -> derived_type & | 
|   | Divides *this by the xexpression e.  
  | 
|   | 
| auto  | operator%= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the remainder of *this after division by the scalar e.  
  | 
|   | 
| auto  | operator%= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the remainder of *this after division by the xexpression e.  
  | 
|   | 
| auto  | operator&= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the bitwise and of *this and the scalar e and assigns it to *this.  
  | 
|   | 
| auto  | operator&= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise and of *this and the xexpression e and assigns it to *this.  
  | 
|   | 
| auto  | operator|= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the bitwise or of *this and the scalar e and assigns it to *this.  
  | 
|   | 
| auto  | operator|= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise or of *this and the xexpression e and assigns it to *this.  
  | 
|   | 
| auto  | operator^= (const E &e) -> disable_xexpression< E, derived_type & > | 
|   | Computes the bitwise xor of *this and the scalar e and assigns it to *this.  
  | 
|   | 
| auto  | operator^= (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise xor of *this and the xexpression e and assigns it to *this.  
  | 
|   | 
| auto  | assign (const xexpression< E > &e) -> derived_type & | 
|   | Assigns the xexpression e to *this.  
  | 
|   | 
| auto  | plus_assign (const xexpression< E > &e) -> derived_type & | 
|   | Adds the xexpression e to *this.  
  | 
|   | 
| auto  | minus_assign (const xexpression< E > &e) -> derived_type & | 
|   | Subtracts the xexpression e to *this.  
  | 
|   | 
| auto  | multiplies_assign (const xexpression< E > &e) -> derived_type & | 
|   | Multiplies *this with the xexpression e.  
  | 
|   | 
| auto  | divides_assign (const xexpression< E > &e) -> derived_type & | 
|   | Divides *this by the xexpression e.  
  | 
|   | 
| auto  | modulus_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the remainder of *this after division by the xexpression e.  
  | 
|   | 
| auto  | bit_and_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise and of e to *this.  
  | 
|   | 
| auto  | bit_or_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise or of e to *this.  
  | 
|   | 
| auto  | bit_xor_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise xor of e to *this.  
  | 
|   | 
| auto  | operator= (const xexpression< E > &e) -> derived_type & | 
|   | 
| auto  | assign (const xexpression< E > &e) -> derived_type & | 
|   | Assigns the xexpression e to *this.  
  | 
|   | 
| auto  | plus_assign (const xexpression< E > &e) -> derived_type & | 
|   | Adds the xexpression e to *this.  
  | 
|   | 
| auto  | minus_assign (const xexpression< E > &e) -> derived_type & | 
|   | Subtracts the xexpression e to *this.  
  | 
|   | 
| auto  | multiplies_assign (const xexpression< E > &e) -> derived_type & | 
|   | Multiplies *this with the xexpression e.  
  | 
|   | 
| auto  | divides_assign (const xexpression< E > &e) -> derived_type & | 
|   | Divides *this by the xexpression e.  
  | 
|   | 
| auto  | modulus_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the remainder of *this after division by the xexpression e.  
  | 
|   | 
| auto  | bit_and_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise and of e to *this.  
  | 
|   | 
| auto  | bit_or_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise or of e to *this.  
  | 
|   | 
| auto  | bit_xor_assign (const xexpression< E > &e) -> derived_type & | 
|   | Computes the bitwise xor of e to *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 true only 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 | 
|   |