#include "tensorstore/array.h"
template <typename E,
         
 DimensionIndex R,
         
 ArrayOriginKind O,
         
 ContainerKind C>
  
requires std::is_constructible_v<Layout, StridedLayout<R, O, C>> &&
          
 std::is_constructible_v<ElementPointer, ElementPointer<E>>
explicit(!std::is_convertible_v<StridedLayout<R, O, C>, Layout> ||
        
 !std::is_convertible_v<ElementPointer<E>, ElementPointer>)

tensorstore::
        
Array<ElementTagType, Rank, OriginKind, LayoutContainerKind>::
            
Array(const Array<E, R, O, C>other);
template <typename E,
         
 DimensionIndex R,
         
 ArrayOriginKind O,
         
 ContainerKind C>
  
requires std::is_constructible_v<Layout, StridedLayout<R, O, C>> &&
          
 std::is_constructible_v<ElementPointer, ElementPointer<E>>
explicit(!std::is_convertible_v<StridedLayout<R, O, C>, Layout> ||
        
 !std::is_convertible_v<ElementPointer<E>, ElementPointer>)

tensorstore::
        
Array<ElementTagType, Rank, OriginKind, LayoutContainerKind>::
            
Array(Array<E, R, O, C>&other);

Converts from a compatible existing array.