Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 12354)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 12355)
@@ -177,4 +177,5 @@
 					./shared/Alloc/alloc.cpp\
 					./shared/Alloc/xNewDelete.h\
+					./shared/MemOps/xMemCpy.h\
 					./shared/Matrix/matrix.h\
 					./shared/Matrix/MatrixUtils.cpp\
Index: /issm/trunk-jpl/src/c/shared/MemOps/xMemCpy.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/MemOps/xMemCpy.h	(revision 12355)
+++ /issm/trunk-jpl/src/c/shared/MemOps/xMemCpy.h	(revision 12355)
@@ -0,0 +1,19 @@
+/* \file xMemCpy.h
+ * \brief: header file for templated memory operations
+ */
+
+#ifndef _XMEMCPY_H_
+#define _XMEMCPY_H_
+
+#include <cassert>
+
+template <class T> 
+T* xMemCpy(T* dest, const T* src, unsigned int size) {
+  assert(dest); assert(src);
+  for (int i=0; i<size;++i) 
+    dest[i]=src[i];
+  return dest;
+};
+
+#endif
+
