std::mdspan::operator[](3)

NAME
std::mdspan::operator[] - std::mdspan::operator[]

Synopsis
   template< class... OtherIndexTypes >
   constexpr reference operator[]( OtherIndexTypes... indices ) (1) (since C++23)
   const;
   template< class OtherIndexType >
   constexpr reference operator[] (2) (since C++23)
       ( std::span<OtherIndexType, rank()> indices ) const;
   template< class OtherIndexType >
   constexpr reference operator[] (3) (since C++23)
       ( const std::array<OtherIndexType, rank()>& indices ) const;
   Returns a reference to the indices^th element of the mdspan.
   1) Equivalent to return acc_.access(ptr_,
   map_(static_cast<index_type>(std::move(indices))...));.
   This overload participates in overload resolution only if:
     * (std::is_convertible_v<OtherIndexTypes, index_type> && ...) is true,
     * (std::is_nothrow_constructible_v<index_type, OtherIndexTypes> && ...) is true,
       and
     * sizeof...(OtherIndexTypes) == rank() is true.
   Let I be extents_type::index-cast(std::move(indices)). Then the behavior is
   undefined if I is not a multidimensional index in extents(), i.e., map_(I) <
   map_.required_span_size() is false.
   2,3) Let P be a parameter pack such that std::is_same_v<make_index_sequence<rank()>,
   index_sequence<P...>> is true, then the operator is equivalent to return
   operator[](extents_type::index-cast(std::as_const(indices[P]))...);.
   This overload participates in overload resolution only if:
     * std::is_convertible_v<const OtherIndexType&, index_type> is true, and
     * std::is_nothrow_constructible_v<index_type, const OtherIndexType&> is true.

Parameters
   indices - the indices of the element to access

Return value
   A reference to the element.

Example
    This section is incomplete
    Reason: no example
   Defect reports
   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.
      DR Applied to Behavior as published Correct behavior
   LWG 3974 C++23 overloads (2,3) did not apply applies
                       extents_type::index-cast

See also
    This section is incomplete

Categories:
     * Todo no example
     * Todo without reason