void copy_array (Array1& source, Array2& dest) { assert(std::equal(source.shape(),source.shape()+source.num_dimensions(), dest.shape())); // Dispatch to the proper function typedef typename Array1::element element_type; copy_dispatch<element_type>:: copy_array(source.begin(),source.end(),dest.begin()); }
static void copy_array (const Array1& source, Array2 dest) { copy_array(source.begin(),source.end(),dest.begin()); }