Can vnl_copy be modified to include an instantiation for copying between two vectors/matrices of the same type? For example, vnl_copy(A,B) will work with a vnl_matrix<float> and vnl_matrix<double>, but not if A and B are the same type. The file vnl_copy.cxx contains the instantiation:
But it would be good to also have:
After all, the function is called vnl_copy, not vnl_convert.
(Although operator= can be used to copy objects of the same type, it cannot be used if one of the objects is templated, in which case vnl_copy seems like the obvious solution.)