Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

utf32.h File Reference

C API: UTF-32 macros. More...

Go to the source code of this file.

Defines

#define UTF32_IS_SAFE(c, strict)
#define UTF32_IS_SINGLE(uchar)   1
#define UTF32_IS_LEAD(uchar)   0
#define UTF32_IS_TRAIL(uchar)   0
#define UTF32_NEED_MULTIPLE_UCHAR(c)   0
#define UTF32_CHAR_LENGTH(c)   1
#define UTF32_MAX_CHAR_LENGTH   1
#define UTF32_ARRAY_SIZE(size)   (size)
#define UTF32_GET_CHAR_UNSAFE(s, i, c)
#define UTF32_GET_CHAR_SAFE(s, start, i, length, c, strict)
#define UTF32_NEXT_CHAR_UNSAFE(s, i, c)
#define UTF32_APPEND_CHAR_UNSAFE(s, i, c)
#define UTF32_FWD_1_UNSAFE(s, i)
#define UTF32_FWD_N_UNSAFE(s, i, n)
#define UTF32_SET_CHAR_START_UNSAFE(s, i)
#define UTF32_NEXT_CHAR_SAFE(s, i, length, c, strict)
#define UTF32_APPEND_CHAR_SAFE(s, i, length, c)
#define UTF32_FWD_1_SAFE(s, i, length)
#define UTF32_FWD_N_SAFE(s, i, length, n)
#define UTF32_SET_CHAR_START_SAFE(s, start, i)
#define UTF32_PREV_CHAR_UNSAFE(s, i, c)
#define UTF32_BACK_1_UNSAFE(s, i)
#define UTF32_BACK_N_UNSAFE(s, i, n)
#define UTF32_SET_CHAR_LIMIT_UNSAFE(s, i)
#define UTF32_PREV_CHAR_SAFE(s, start, i, c, strict)
#define UTF32_BACK_1_SAFE(s, start, i)
#define UTF32_BACK_N_SAFE(s, start, i, n)
#define UTF32_SET_CHAR_LIMIT_SAFE(s, i, length)


Detailed Description

C API: UTF-32 macros.

This file defines macros to deal with UTF-32 code units and code points. Signatures and semantics are the same as for the similarly named macros in utf16.h. utf32.h is included by utf.h after unicode/umachine.h and some common definitions.

Usage: ICU coding guidelines for if() statements should be followed when using these macros. Compound statements (curly braces {}) must be used for if-else-while... bodies and all macro statements should be terminated with semicolon.

Definition in file utf32.h.


Define Documentation

#define UTF32_APPEND_CHAR_SAFE s,
i,
length,
 
 

Value:

{ \
    if((uint32_t)(c)<=0x10ffff) { \
        (s)[(i)++]=(c); \
    } else   { \
        (s)[(i)++]=0xfffd; \
    } \
}

Definition at line 100 of file utf32.h.

#define UTF32_APPEND_CHAR_UNSAFE s,
i,
 
 

Value:

{ \
    (s)[(i)++]=(c); \
}

Definition at line 78 of file utf32.h.

#define UTF32_ARRAY_SIZE size       (size)
 

Definition at line 59 of file utf32.h.

#define UTF32_BACK_1_SAFE s,
start,
 
 

Value:

{ \
    --(i); \
}

Definition at line 145 of file utf32.h.

#define UTF32_BACK_1_UNSAFE s,
 
 

Value:

{ \
    --(i); \
}

Definition at line 127 of file utf32.h.

#define UTF32_BACK_N_SAFE s,
start,
i,
 
 

Value:

{ \
    (i)-=(n); \
    if((i)<(start)) { \
        (i)=(start); \
    } \
}

Definition at line 149 of file utf32.h.

#define UTF32_BACK_N_UNSAFE s,
i,
 
 

Value:

{ \
    (i)-=(n); \
}

Definition at line 131 of file utf32.h.

#define UTF32_CHAR_LENGTH      1
 

Definition at line 55 of file utf32.h.

#define UTF32_FWD_1_SAFE s,
i,
length   
 

Value:

{ \
    ++(i); \
}

Definition at line 108 of file utf32.h.

#define UTF32_FWD_1_UNSAFE s,
 
 

Value:

{ \
    ++(i); \
}

Definition at line 82 of file utf32.h.

#define UTF32_FWD_N_SAFE s,
i,
length,
 
 

Value:

{ \
    if(((i)+=(n))>(length)) { \
        (i)=(length); \
    } \
}

Definition at line 112 of file utf32.h.

#define UTF32_FWD_N_UNSAFE s,
i,
 
 

Value:

{ \
    (i)+=(n); \
}

Definition at line 86 of file utf32.h.

#define UTF32_GET_CHAR_SAFE s,
start,
i,
length,
c,
strict   
 

Value:

{ \
    (c)=(s)[i]; \
    if(!UTF32_IS_SAFE(c, strict)) { \
        (c)=UTF_ERROR_VALUE; \
    } \
}

Definition at line 65 of file utf32.h.

#define UTF32_GET_CHAR_UNSAFE s,
i,
 
 

Value:

{ \
    (c)=(s)[i]; \
}

Definition at line 61 of file utf32.h.

#define UTF32_IS_LEAD uchar       0
 

Definition at line 50 of file utf32.h.

#define UTF32_IS_SAFE c,
strict   
 

Value:

(!(strict) ? \
        (uint32_t)(c)<=0x10ffff : \
        UTF_IS_UNICODE_CHAR(c))

Definition at line 35 of file utf32.h.

#define UTF32_IS_SINGLE uchar       1
 

Definition at line 49 of file utf32.h.

#define UTF32_IS_TRAIL uchar       0
 

Definition at line 51 of file utf32.h.

#define UTF32_MAX_CHAR_LENGTH   1
 

Definition at line 56 of file utf32.h.

#define UTF32_NEED_MULTIPLE_UCHAR      0
 

Definition at line 54 of file utf32.h.

#define UTF32_NEXT_CHAR_SAFE s,
i,
length,
c,
strict   
 

Value:

{ \
    (c)=(s)[(i)++]; \
    if(!UTF32_IS_SAFE(c, strict)) { \
        (c)=UTF_ERROR_VALUE; \
    } \
}

Definition at line 93 of file utf32.h.

#define UTF32_NEXT_CHAR_UNSAFE s,
i,
 
 

Value:

{ \
    (c)=(s)[(i)++]; \
}

Definition at line 74 of file utf32.h.

#define UTF32_PREV_CHAR_SAFE s,
start,
i,
c,
strict   
 

Value:

{ \
    (c)=(s)[--(i)]; \
    if(!UTF32_IS_SAFE(c, strict)) { \
        (c)=UTF_ERROR_VALUE; \
    } \
}

Definition at line 138 of file utf32.h.

#define UTF32_PREV_CHAR_UNSAFE s,
i,
 
 

Value:

{ \
    (c)=(s)[--(i)]; \
}

Definition at line 123 of file utf32.h.

#define UTF32_SET_CHAR_LIMIT_SAFE s,
i,
length   
 

Value:

{ \
}

Definition at line 156 of file utf32.h.

#define UTF32_SET_CHAR_LIMIT_UNSAFE s,
 
 

Value:

{ \
}

Definition at line 135 of file utf32.h.

#define UTF32_SET_CHAR_START_SAFE s,
start,
 
 

Value:

{ \
}

Definition at line 118 of file utf32.h.

#define UTF32_SET_CHAR_START_UNSAFE s,
 
 

Value:

{ \
}

Definition at line 90 of file utf32.h.


Generated on Tue Apr 9 11:30:26 2002 for ICU 2.1 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001