135 const SrcViewType& src,
136 const bool dstConstStride,
137 const bool srcConstStride,
138 const DstWhichVecsType& dstWhichVecs,
139 const SrcWhichVecsType& srcWhichVecs)
142 using Kokkos::subview;
143 using size_type =
typename DstViewType::size_type;
145 if (dstConstStride && srcConstStride) {
146 copyConvertResolvingPossibleAliasing (dst, src);
149 const size_type numCols = dstConstStride ?
150 static_cast<size_type
> (srcWhichVecs.size ()) :
151 static_cast<size_type
> (dstWhichVecs.size ());
152 for (size_type j = 0; j < numCols; ++j) {
153 const size_type dst_col = dstConstStride ? j :
154 static_cast<size_type
> (dstWhichVecs[j]);
155 const auto dst_j = subview (dst, ALL (), dst_col);
156 const size_type src_col = srcConstStride ? j :
157 static_cast<size_type
> (srcWhichVecs[j]);
158 const auto src_j = subview (src, ALL (), src_col);
160 copyConvertResolvingPossibleAliasing (dst_j, src_j);