sl@0
|
1 |
/*
|
sl@0
|
2 |
******************************************************************************
|
sl@0
|
3 |
*
|
sl@0
|
4 |
* Copyright (C) 1997-2001, International Business Machines
|
sl@0
|
5 |
* Corporation and others. All Rights Reserved.
|
sl@0
|
6 |
*
|
sl@0
|
7 |
******************************************************************************
|
sl@0
|
8 |
* file name: cpputils.h
|
sl@0
|
9 |
* encoding: US-ASCII
|
sl@0
|
10 |
* tab size: 8 (not used)
|
sl@0
|
11 |
* indentation:4
|
sl@0
|
12 |
*/
|
sl@0
|
13 |
|
sl@0
|
14 |
#ifndef CPPUTILS_H
|
sl@0
|
15 |
#define CPPUTILS_H
|
sl@0
|
16 |
|
sl@0
|
17 |
#include "unicode/utypes.h"
|
sl@0
|
18 |
#include "cmemory.h"
|
sl@0
|
19 |
|
sl@0
|
20 |
/*==========================================================================*/
|
sl@0
|
21 |
/* Array copy utility functions */
|
sl@0
|
22 |
/*==========================================================================*/
|
sl@0
|
23 |
|
sl@0
|
24 |
static
|
sl@0
|
25 |
inline void uprv_arrayCopy(const double* src, double* dst, int32_t count)
|
sl@0
|
26 |
{ uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
sl@0
|
27 |
|
sl@0
|
28 |
static
|
sl@0
|
29 |
inline void uprv_arrayCopy(const double* src, int32_t srcStart,
|
sl@0
|
30 |
double* dst, int32_t dstStart, int32_t count)
|
sl@0
|
31 |
{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
sl@0
|
32 |
|
sl@0
|
33 |
static
|
sl@0
|
34 |
inline void uprv_arrayCopy(const int8_t* src, int8_t* dst, int32_t count)
|
sl@0
|
35 |
{ uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
sl@0
|
36 |
|
sl@0
|
37 |
static
|
sl@0
|
38 |
inline void uprv_arrayCopy(const int8_t* src, int32_t srcStart,
|
sl@0
|
39 |
int8_t* dst, int32_t dstStart, int32_t count)
|
sl@0
|
40 |
{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
sl@0
|
41 |
|
sl@0
|
42 |
static
|
sl@0
|
43 |
inline void uprv_arrayCopy(const int16_t* src, int16_t* dst, int32_t count)
|
sl@0
|
44 |
{ uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
sl@0
|
45 |
|
sl@0
|
46 |
static
|
sl@0
|
47 |
inline void uprv_arrayCopy(const int16_t* src, int32_t srcStart,
|
sl@0
|
48 |
int16_t* dst, int32_t dstStart, int32_t count)
|
sl@0
|
49 |
{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
sl@0
|
50 |
|
sl@0
|
51 |
static
|
sl@0
|
52 |
inline void uprv_arrayCopy(const int32_t* src, int32_t* dst, int32_t count)
|
sl@0
|
53 |
{ uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
sl@0
|
54 |
|
sl@0
|
55 |
static
|
sl@0
|
56 |
inline void uprv_arrayCopy(const int32_t* src, int32_t srcStart,
|
sl@0
|
57 |
int32_t* dst, int32_t dstStart, int32_t count)
|
sl@0
|
58 |
{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
sl@0
|
59 |
|
sl@0
|
60 |
static
|
sl@0
|
61 |
inline void
|
sl@0
|
62 |
uprv_arrayCopy(const UChar *src, int32_t srcStart,
|
sl@0
|
63 |
UChar *dst, int32_t dstStart, int32_t count)
|
sl@0
|
64 |
{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
sl@0
|
65 |
|
sl@0
|
66 |
#endif /* _CPPUTILS */
|