#include "tensorstore/index_space/index_transform.h"
template <ArrayOriginKind OriginKind = offset_origin,
         
 DimensionIndex InputRank,
         
 DimensionIndex OutputRank,
         
 ContainerKind CKind,
         
 typename Array>
  
requires IsArray<Array> && (OutputRank == Array::static_rank)
Result<SharedArray<std::remove_const_t<typename Array::Element>,
                  
 InputRank,
                  
 OriginKind>> tensorstore::
    
MakeCopy(
        
const Arrayarray,
        
const IndexTransform<InputRank, OutputRank, CKind>transform,
        
IterationConstraints constraints = skip_repeated_elements);

Equivalent to TransformArray, but always returns a newly allocated array with a non-const element type.