os/textandloc/fontservices/textshaperplugin/IcuSource/common/cpputils.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
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 */