sl@0: /* sl@0: ****************************************************************************** sl@0: * sl@0: * Copyright (C) 1997-2001, International Business Machines sl@0: * Corporation and others. All Rights Reserved. sl@0: * sl@0: ****************************************************************************** sl@0: * file name: cpputils.h sl@0: * encoding: US-ASCII sl@0: * tab size: 8 (not used) sl@0: * indentation:4 sl@0: */ sl@0: sl@0: #ifndef CPPUTILS_H sl@0: #define CPPUTILS_H sl@0: sl@0: #include "unicode/utypes.h" sl@0: #include "cmemory.h" sl@0: sl@0: /*==========================================================================*/ sl@0: /* Array copy utility functions */ sl@0: /*==========================================================================*/ sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const double* src, double* dst, int32_t count) sl@0: { uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const double* src, int32_t srcStart, sl@0: double* dst, int32_t dstStart, int32_t count) sl@0: { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const int8_t* src, int8_t* dst, int32_t count) sl@0: { uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const int8_t* src, int32_t srcStart, sl@0: int8_t* dst, int32_t dstStart, int32_t count) sl@0: { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const int16_t* src, int16_t* dst, int32_t count) sl@0: { uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const int16_t* src, int32_t srcStart, sl@0: int16_t* dst, int32_t dstStart, int32_t count) sl@0: { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const int32_t* src, int32_t* dst, int32_t count) sl@0: { uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void uprv_arrayCopy(const int32_t* src, int32_t srcStart, sl@0: int32_t* dst, int32_t dstStart, int32_t count) sl@0: { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); } sl@0: sl@0: static sl@0: inline void sl@0: uprv_arrayCopy(const UChar *src, int32_t srcStart, sl@0: UChar *dst, int32_t dstStart, int32_t count) sl@0: { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); } sl@0: sl@0: #endif /* _CPPUTILS */