| Index: icu51/source/common/cpputils.h
|
| ===================================================================
|
| --- icu51/source/common/cpputils.h (revision 0)
|
| +++ icu51/source/common/cpputils.h (revision 0)
|
| @@ -0,0 +1,95 @@
|
| +/*
|
| +******************************************************************************
|
| +*
|
| +* Copyright (C) 1997-2011, International Business Machines
|
| +* Corporation and others. All Rights Reserved.
|
| +*
|
| +******************************************************************************
|
| +* file name: cpputils.h
|
| +* encoding: US-ASCII
|
| +* tab size: 8 (not used)
|
| +* indentation:4
|
| +*/
|
| +
|
| +#ifndef CPPUTILS_H
|
| +#define CPPUTILS_H
|
| +
|
| +#include "unicode/utypes.h"
|
| +#include "unicode/unistr.h"
|
| +#include "cmemory.h"
|
| +
|
| +/*==========================================================================*/
|
| +/* Array copy utility functions */
|
| +/*==========================================================================*/
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const double* src, double* dst, int32_t count)
|
| +{ uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const double* src, int32_t srcStart,
|
| + double* dst, int32_t dstStart, int32_t count)
|
| +{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const int8_t* src, int8_t* dst, int32_t count)
|
| + { uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const int8_t* src, int32_t srcStart,
|
| + int8_t* dst, int32_t dstStart, int32_t count)
|
| +{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const int16_t* src, int16_t* dst, int32_t count)
|
| +{ uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const int16_t* src, int32_t srcStart,
|
| + int16_t* dst, int32_t dstStart, int32_t count)
|
| +{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const int32_t* src, int32_t* dst, int32_t count)
|
| +{ uprv_memcpy(dst, src, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void uprv_arrayCopy(const int32_t* src, int32_t srcStart,
|
| + int32_t* dst, int32_t dstStart, int32_t count)
|
| +{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
| +
|
| +static
|
| +inline void
|
| +uprv_arrayCopy(const UChar *src, int32_t srcStart,
|
| + UChar *dst, int32_t dstStart, int32_t count)
|
| +{ uprv_memcpy(dst+dstStart, src+srcStart, (size_t)(count * sizeof(*src))); }
|
| +
|
| +/**
|
| + * Copy an array of UnicodeString OBJECTS (not pointers).
|
| + * @internal
|
| + */
|
| +static inline void
|
| +uprv_arrayCopy(const icu::UnicodeString *src, icu::UnicodeString *dst, int32_t count)
|
| +{ while(count-- > 0) *dst++ = *src++; }
|
| +
|
| +/**
|
| + * Copy an array of UnicodeString OBJECTS (not pointers).
|
| + * @internal
|
| + */
|
| +static inline void
|
| +uprv_arrayCopy(const icu::UnicodeString *src, int32_t srcStart,
|
| + icu::UnicodeString *dst, int32_t dstStart, int32_t count)
|
| +{ uprv_arrayCopy(src+srcStart, dst+dstStart, count); }
|
| +
|
| +/**
|
| + * Checks that the string is readable and writable.
|
| + * Sets U_ILLEGAL_ARGUMENT_ERROR if the string isBogus() or has an open getBuffer().
|
| + */
|
| +inline void
|
| +uprv_checkCanGetBuffer(const icu::UnicodeString &s, UErrorCode &errorCode) {
|
| + if(U_SUCCESS(errorCode) && s.isBogus()) {
|
| + errorCode=U_ILLEGAL_ARGUMENT_ERROR;
|
| + }
|
| +}
|
| +
|
| +#endif /* _CPPUTILS */
|
|
|
| Property changes on: icu51/source/common/cpputils.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|