X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=version2%2Fsrc%2FC%2Farray.h;h=b9d719628c41c2ad9c90990e034c881c5a8042e3;hb=a578eebaebcddd7f6b2a1b2edeed739bef657d5a;hp=a456fef5e697d7480addca664d896495ea1fb667;hpb=7262ffd03fa5a5f9e92977e7e3cc04dd2c2ff6e0;p=iotcloud.git diff --git a/version2/src/C/array.h b/version2/src/C/array.h index a456fef..b9d7196 100644 --- a/version2/src/C/array.h +++ b/version2/src/C/array.h @@ -1,6 +1,7 @@ #ifndef ARRAY_H #define ARRAY_H #include +#include "common.h" typedef uint32_t uint; @@ -72,4 +73,13 @@ private: type *array; uint size; }; + +template +void System_arraycopy(Array * src, int32_t srcPos, Array *dst, int32_t dstPos, int32_t len) { + if (srcPos + len > src->length() || + dstPos + len > dst->length()) + ASSERT(0); + uint bytesToCopy = len * sizeof(type); + memcpy(&dst->internalArray()[dstPos], &src->internalArray()[srcPos], bytesToCopy); +} #endif