LCOV - code coverage report
Current view: top level - intl/icu/source/common - uinvchar.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 2 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 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) 1999-2015, International Business Machines
       7             : *   Corporation and others.  All Rights Reserved.
       8             : *
       9             : *******************************************************************************
      10             : *   file name:  uinvchar.h
      11             : *   encoding:   UTF-8
      12             : *   tab size:   8 (not used)
      13             : *   indentation:2
      14             : *
      15             : *   created on: 2004sep14
      16             : *   created by: Markus W. Scherer
      17             : *
      18             : *   Definitions for handling invariant characters, moved here from putil.c
      19             : *   for better modularization.
      20             : */
      21             : 
      22             : #ifndef __UINVCHAR_H__
      23             : #define __UINVCHAR_H__
      24             : 
      25             : #include "unicode/utypes.h"
      26             : #ifdef __cplusplus
      27             : #include "unicode/unistr.h"
      28             : #endif
      29             : 
      30             : /**
      31             :  * Check if a char string only contains invariant characters.
      32             :  * See utypes.h for details.
      33             :  *
      34             :  * @param s Input string pointer.
      35             :  * @param length Length of the string, can be -1 if NUL-terminated.
      36             :  * @return TRUE if s contains only invariant characters.
      37             :  *
      38             :  * @internal (ICU 2.8)
      39             :  */
      40             : U_INTERNAL UBool U_EXPORT2
      41             : uprv_isInvariantString(const char *s, int32_t length);
      42             : 
      43             : /**
      44             :  * Check if a Unicode string only contains invariant characters.
      45             :  * See utypes.h for details.
      46             :  *
      47             :  * @param s Input string pointer.
      48             :  * @param length Length of the string, can be -1 if NUL-terminated.
      49             :  * @return TRUE if s contains only invariant characters.
      50             :  *
      51             :  * @internal (ICU 2.8)
      52             :  */
      53             : U_INTERNAL UBool U_EXPORT2
      54             : uprv_isInvariantUString(const UChar *s, int32_t length);
      55             : 
      56             : #ifdef __cplusplus
      57             : 
      58             : /**
      59             :  * Check if a UnicodeString only contains invariant characters.
      60             :  * See utypes.h for details.
      61             :  *
      62             :  * @param s Input string.
      63             :  * @return TRUE if s contains only invariant characters.
      64             :  */
      65             : U_INTERNAL inline UBool U_EXPORT2
      66           0 : uprv_isInvariantUnicodeString(const icu::UnicodeString &s) {
      67           0 :     return uprv_isInvariantUString(icu::toUCharPtr(s.getBuffer()), s.length());
      68             : }
      69             : 
      70             : #endif  /* __cplusplus */
      71             : 
      72             : /**
      73             :  * \def U_UPPER_ORDINAL
      74             :  * Get the ordinal number of an uppercase invariant character
      75             :  * @internal
      76             :  */
      77             : #if U_CHARSET_FAMILY==U_ASCII_FAMILY
      78             : #   define U_UPPER_ORDINAL(x) ((x)-'A')
      79             : #elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY
      80             : #   define U_UPPER_ORDINAL(x) (((x) < 'J') ? ((x)-'A') : \
      81             :                               (((x) < 'S') ? ((x)-'J'+9) : \
      82             :                                ((x)-'S'+18)))
      83             : #else
      84             : #   error Unknown charset family!
      85             : #endif
      86             : 
      87             : /**
      88             :  * Compare two EBCDIC invariant-character strings in ASCII order.
      89             :  * @internal
      90             :  */
      91             : U_INTERNAL int32_t U_EXPORT2
      92             : uprv_compareInvEbcdicAsAscii(const char *s1, const char *s2);
      93             : 
      94             : /**
      95             :  * \def uprv_compareInvCharsAsAscii
      96             :  * Compare two invariant-character strings in ASCII order.
      97             :  * @internal
      98             :  */
      99             : #if U_CHARSET_FAMILY==U_ASCII_FAMILY
     100             : #   define uprv_compareInvCharsAsAscii(s1, s2) uprv_strcmp(s1, s2)
     101             : #elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY
     102             : #   define uprv_compareInvCharsAsAscii(s1, s2) uprv_compareInvEbcdicAsAscii(s1, s2)
     103             : #else
     104             : #   error Unknown charset family!
     105             : #endif
     106             : 
     107             : /**
     108             :  * Converts an EBCDIC invariant character to lowercase ASCII.
     109             :  * @internal
     110             :  */
     111             : U_INTERNAL char U_EXPORT2
     112             : uprv_ebcdicToLowercaseAscii(char c);
     113             : 
     114             : /**
     115             :  * \def uprv_invCharToLowercaseAscii
     116             :  * Converts an invariant character to lowercase ASCII.
     117             :  * @internal
     118             :  */
     119             : #if U_CHARSET_FAMILY==U_ASCII_FAMILY
     120             : #   define uprv_invCharToLowercaseAscii uprv_asciitolower
     121             : #elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY
     122             : #   define uprv_invCharToLowercaseAscii uprv_ebcdicToLowercaseAscii
     123             : #else
     124             : #   error Unknown charset family!
     125             : #endif
     126             : 
     127             : /**
     128             :  * Copy EBCDIC to ASCII
     129             :  * @internal
     130             :  * @see uprv_strncpy
     131             :  */
     132             : U_INTERNAL uint8_t* U_EXPORT2
     133             : uprv_aestrncpy(uint8_t *dst, const uint8_t *src, int32_t n);
     134             : 
     135             : 
     136             : /**
     137             :  * Copy ASCII to EBCDIC
     138             :  * @internal
     139             :  * @see uprv_strncpy
     140             :  */
     141             : U_INTERNAL uint8_t* U_EXPORT2
     142             : uprv_eastrncpy(uint8_t *dst, const uint8_t *src, int32_t n);
     143             : 
     144             : 
     145             : 
     146             : #endif

Generated by: LCOV version 1.13