#include "tensorstore/strided_layout.h"
explicit tensorstore::StridedLayout<Rank, OriginKind, CKind>::
    
StridedLayout(
        
span<const Index, RankConstraint::FromInlineRank(Rank)>
           
 origin
,
        
span<const Index, RankConstraint::FromInlineRank(Rank)> shape,
        
span<const Index, RankConstraint::FromInlineRank(Rank)>
           
 byte_strides
)
  
requires (array_origin_kind == offset_origin);
template <size_t N>
  
requires (OriginKind == offset_origin) &&
          
 (RankConstraint::Implies(N, static_rank))
explicit tensorstore::StridedLayout<Rank, OriginKind, CKind>::
    
StridedLayout(const Index (&origin)[N],
                  
const Index (&shape)[N],
                  
const Index (&byte_strides)[N]);

Constructs from the specified origin, shape and byte_strides.

Requires:

array_origin_kind == offset_origin.

Dchecks:

std::size(origin) == std::size(shape)

Dchecks:

std::size(origin) == std::size(byte_strides)