CopyOverlapped function defined in GameRes.Utitlity now.

CopyOverlapped copies ranges within array the same way standard C
function memcpy does (that is, ignoring potential region overlapping).
This commit is contained in:
morkt
2014-08-25 15:04:26 +04:00
parent 01464389d2
commit b0f621e8ab
3 changed files with 18 additions and 32 deletions

View File

@@ -69,6 +69,20 @@ namespace GameRes.Utility
return false;
return true;
}
public static void CopyOverlapped (byte[] data, int src, int dst, int count)
{
int preceding = dst-src;
while (count > 0)
{
if (preceding > count)
preceding = count;
System.Array.Copy (data, src, data, dst, preceding);
src = dst;
dst += preceding;
count -= preceding;
}
}
}
public static class LittleEndian