/src/icu/source/common/cpputils.h
Line  | Count  | Source (jump to first uncovered line)  | 
1  |  | // © 2016 and later: Unicode, Inc. and others.  | 
2  |  | // License & terms of use: http://www.unicode.org/copyright.html  | 
3  |  | /*  | 
4  |  | ******************************************************************************  | 
5  |  | *  | 
6  |  | *   Copyright (C) 1997-2011, International Business Machines  | 
7  |  | *   Corporation and others.  All Rights Reserved.  | 
8  |  | *  | 
9  |  | ******************************************************************************  | 
10  |  | *   file name:  cpputils.h  | 
11  |  | *   encoding:   UTF-8  | 
12  |  | *   tab size:   8 (not used)  | 
13  |  | *   indentation:4  | 
14  |  | */  | 
15  |  |  | 
16  |  | #ifndef CPPUTILS_H  | 
17  |  | #define CPPUTILS_H  | 
18  |  |  | 
19  |  | #include "unicode/utypes.h"  | 
20  |  | #include "unicode/unistr.h"  | 
21  |  | #include "cmemory.h"  | 
22  |  |  | 
23  |  | /*==========================================================================*/  | 
24  |  | /* Array copy utility functions */  | 
25  |  | /*==========================================================================*/  | 
26  |  |  | 
27  |  | static  | 
28  |  | inline void uprv_arrayCopy(const double* src, double* dst, int32_t count)  | 
29  | 0  | { uprv_memcpy(dst, src, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(double const*, double*, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(double const*, double*, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(double const*, double*, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(double const*, double*, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(double const*, double*, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(double const*, double*, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(double const*, double*, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(double const*, double*, int)  | 
30  |  |  | 
31  |  | static  | 
32  |  | inline void uprv_arrayCopy(const double* src, int32_t srcStart,  | 
33  |  |               double* dst, int32_t dstStart, int32_t count)  | 
34  | 0  | { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(double const*, int, double*, int, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(double const*, int, double*, int, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(double const*, int, double*, int, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(double const*, int, double*, int, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(double const*, int, double*, int, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(double const*, int, double*, int, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(double const*, int, double*, int, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(double const*, int, double*, int, int)  | 
35  |  |  | 
36  |  | static  | 
37  |  | inline void uprv_arrayCopy(const int8_t* src, int8_t* dst, int32_t count)  | 
38  | 0  |     { uprv_memcpy(dst, src, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(signed char const*, signed char*, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(signed char const*, signed char*, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(signed char const*, signed char*, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(signed char const*, signed char*, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(signed char const*, signed char*, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(signed char const*, signed char*, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(signed char const*, signed char*, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(signed char const*, signed char*, int)  | 
39  |  |  | 
40  |  | static  | 
41  |  | inline void uprv_arrayCopy(const int8_t* src, int32_t srcStart,  | 
42  |  |               int8_t* dst, int32_t dstStart, int32_t count)  | 
43  | 0  | { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(signed char const*, int, signed char*, int, int)  | 
44  |  |  | 
45  |  | static  | 
46  |  | inline void uprv_arrayCopy(const int16_t* src, int16_t* dst, int32_t count)  | 
47  | 0  | { uprv_memcpy(dst, src, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(short const*, short*, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(short const*, short*, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(short const*, short*, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(short const*, short*, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(short const*, short*, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(short const*, short*, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(short const*, short*, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(short const*, short*, int)  | 
48  |  |  | 
49  |  | static  | 
50  |  | inline void uprv_arrayCopy(const int16_t* src, int32_t srcStart,  | 
51  |  |               int16_t* dst, int32_t dstStart, int32_t count)  | 
52  | 0  | { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(short const*, int, short*, int, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(short const*, int, short*, int, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(short const*, int, short*, int, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(short const*, int, short*, int, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(short const*, int, short*, int, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(short const*, int, short*, int, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(short const*, int, short*, int, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(short const*, int, short*, int, int)  | 
53  |  |  | 
54  |  | static  | 
55  |  | inline void uprv_arrayCopy(const int32_t* src, int32_t* dst, int32_t count)  | 
56  | 0  | { uprv_memcpy(dst, src, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(int const*, int*, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(int const*, int*, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(int const*, int*, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(int const*, int*, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(int const*, int*, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(int const*, int*, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(int const*, int*, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(int const*, int*, int)  | 
57  |  |  | 
58  |  | static  | 
59  |  | inline void uprv_arrayCopy(const int32_t* src, int32_t srcStart,  | 
60  |  |               int32_t* dst, int32_t dstStart, int32_t count)  | 
61  | 0  | { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(int const*, int, int*, int, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(int const*, int, int*, int, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(int const*, int, int*, int, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(int const*, int, int*, int, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(int const*, int, int*, int, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(int const*, int, int*, int, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(int const*, int, int*, int, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(int const*, int, int*, int, int)  | 
62  |  |  | 
63  |  | static  | 
64  |  | inline void  | 
65  |  | uprv_arrayCopy(const UChar *src, int32_t srcStart,  | 
66  |  |         UChar *dst, int32_t dstStart, int32_t count)  | 
67  | 0  | { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(char16_t const*, int, char16_t*, int, int)  | 
68  |  |  | 
69  |  | /**  | 
70  |  |  * Copy an array of UnicodeString OBJECTS (not pointers).  | 
71  |  |  * @internal  | 
72  |  |  */  | 
73  |  | static inline void  | 
74  |  | uprv_arrayCopy(const icu::UnicodeString *src, icu::UnicodeString *dst, int32_t count)  | 
75  | 0  | { while(count-- > 0) *dst++ = *src++; }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, icu_70::UnicodeString*, int)  | 
76  |  |  | 
77  |  | /**  | 
78  |  |  * Copy an array of UnicodeString OBJECTS (not pointers).  | 
79  |  |  * @internal  | 
80  |  |  */  | 
81  |  | static inline void  | 
82  |  | uprv_arrayCopy(const icu::UnicodeString *src, int32_t srcStart,  | 
83  |  |                icu::UnicodeString *dst, int32_t dstStart, int32_t count)  | 
84  | 0  | { uprv_arrayCopy(src+srcStart, dst+dstStart, count); }Unexecuted instantiation: loadednormalizer2impl.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int) Unexecuted instantiation: normalizer2.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int) Unexecuted instantiation: udat.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int) Unexecuted instantiation: dtfmtsym.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int) Unexecuted instantiation: dtptngen.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int) Unexecuted instantiation: calendar.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int) Unexecuted instantiation: umsg.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int) Unexecuted instantiation: choicfmt.cpp:uprv_arrayCopy(icu_70::UnicodeString const*, int, icu_70::UnicodeString*, int, int)  | 
85  |  |  | 
86  |  | /**  | 
87  |  |  * Checks that the string is readable and writable.  | 
88  |  |  * Sets U_ILLEGAL_ARGUMENT_ERROR if the string isBogus() or has an open getBuffer().  | 
89  |  |  */  | 
90  |  | inline void  | 
91  | 0  | uprv_checkCanGetBuffer(const icu::UnicodeString &s, UErrorCode &errorCode) { | 
92  | 0  |     if(U_SUCCESS(errorCode) && s.isBogus()) { | 
93  | 0  |         errorCode=U_ILLEGAL_ARGUMENT_ERROR;  | 
94  | 0  |     }  | 
95  | 0  | }  | 
96  |  |  | 
97  |  | #endif /* _CPPUTILS */  |