101 const SrcViewType& src,
102 const bool dstConstStride,
103 const bool srcConstStride,
104 const DstWhichVecsType& dstWhichVecs,
105 const SrcWhichVecsType& srcWhichVecs)
108 using Kokkos::subview;
109 using size_type =
typename DstViewType::size_type;
111 if (dstConstStride && srcConstStride) {
112 copyConvertResolvingPossibleAliasing (dst, src);
115 const size_type numCols = dstConstStride ?
116 static_cast<size_type
> (srcWhichVecs.size ()) :
117 static_cast<size_type
> (dstWhichVecs.size ());
118 for (size_type j = 0; j < numCols; ++j) {
119 const size_type dst_col = dstConstStride ? j :
120 static_cast<size_type
> (dstWhichVecs[j]);
121 const auto dst_j = subview (dst, ALL (), dst_col);
122 const size_type src_col = srcConstStride ? j :
123 static_cast<size_type
> (srcWhichVecs[j]);
124 const auto src_j = subview (src, ALL (), src_col);
126 copyConvertResolvingPossibleAliasing (dst_j, src_j);