LCOV - code coverage report
Current view: top level - intl/icu/source/common - cpputils.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 12 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 5 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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             : { uprv_memcpy(dst, src, (size_t)count * sizeof(*src)); }
      30             : 
      31             : static
      32             : inline void uprv_arrayCopy(const double* src, int32_t srcStart,
      33             :               double* dst, int32_t dstStart, int32_t count)
      34             : { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }
      35             : 
      36             : static
      37           0 : 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)); }
      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             : { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }
      44             : 
      45             : static
      46             : inline void uprv_arrayCopy(const int16_t* src, int16_t* dst, int32_t count)
      47             : { uprv_memcpy(dst, src, (size_t)count * sizeof(*src)); }
      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             : { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }
      53             : 
      54             : static
      55           0 : 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)); }
      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             : { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }
      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             : { uprv_memcpy(dst+dstStart, src+srcStart, (size_t)count * sizeof(*src)); }
      68             : 
      69             : /**
      70             :  * Copy an array of UnicodeString OBJECTS (not pointers).
      71             :  * @internal
      72             :  */
      73             : static inline void
      74           0 : uprv_arrayCopy(const icu::UnicodeString *src, icu::UnicodeString *dst, int32_t count)
      75           0 : { while(count-- > 0) *dst++ = *src++; }
      76             : 
      77             : /**
      78             :  * Copy an array of UnicodeString OBJECTS (not pointers).
      79             :  * @internal
      80             :  */
      81             : static inline void
      82           0 : 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); }
      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             :     }
      95           0 : }
      96             : 
      97             : #endif /* _CPPUTILS */

Generated by: LCOV version 1.13