Allow ArrayCopy into const ref of UnknownArrayHandle
Added the following form of ArrayCopy
:
VTKM_CONT_EXPORT void ArrayCopy(
const vtkm::cont::UnknownArrayHandle& source,
const vtkm::cont::UnknownArrayHandle& destination);
Note that the destination array is a constant reference. This is
actually OK because you can change the contents of an
UnknownArrayHandle
(as long as you don't change the array being
referenced). The main motivation for this change is to allow you to call
this form of ArrayCopy
while passing in a ArrayHandle
as the second
argument. C++ will automatically make the conversion, but the function
has to accept a const reference for it to be passed correctly.
Note that there is still a form of ArrayCopy
that accepts a non-const
reference to the destination array. The two arrays behave the same
except for one difference. For the non-const version, if the
UnknownArrayHandle
does not already point to an array (i.e. is not
valid), a new array will be created and placed in the destination
object. However, because this cannot be done for a const reference, an
exception is thrown instead.