#include "tensorstore/strided_layout.h"
template <typename Indices>
  
requires IsCompatiblePartialIndexVector<static_rank, Indices>
Index tensorstore::StridedLayout<Rank, OriginKind, CKind>::operator[](
    
const Indicesindices) const;
template <typename IndexType, size_t N>
  
requires IsCompatiblePartialIndexVector<static_rank,
                                         
 const IndexType (&)[N]>
Index tensorstore::StridedLayout<Rank, OriginKind, CKind>::operator[](
    
const IndexType (&indices)[N]) const;

Returns the byte offset corresponding to a list of N <= rank() indices into the layout.

Parameters:
const Indices &indices
const IndexType (&indices)[N]

A list of N <= rank() indices. span(indices) must be valid, and the resulting span::value_type must be convertible to Index. May be specified as a braced list, e.g. layout[{1, 2, 3}].

Pre:

0 <= span(indices)[i] < shape()[i] for 0 <= i < N

Dchecks:

std::size(indices) <= rank()

Returns:

sum(byte_strides[i] * indices[i] for 0 <= i < N)