ClassEMemory::Copy

Is ClassEMemory::Copy equivalent to memcpy or memmove?
For overlapped memory blocks, memcpy is undefined, but memmove is guaranteed to work even if the blocks are partially overlapped.
Example:
// Insert a position in an array...
memcpy( &a[i], &a[i+1], sizeof(a[0])*j));
...might not work
however...
memmove( &a[i], &a[i+1], sizeof(a[0])*j));
...is guaranteed to work.
For overlapped memory blocks, memcpy is undefined, but memmove is guaranteed to work even if the blocks are partially overlapped.
Example:
// Insert a position in an array...
memcpy( &a[i], &a[i+1], sizeof(a[0])*j));
...might not work
however...
memmove( &a[i], &a[i+1], sizeof(a[0])*j));
...is guaranteed to work.