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) |
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.
Definition in file utf32.h.
|
Initializer: { \ if((uint32_t)(c)<=0x10ffff) { \ (s)[(i)++]=(c); \ } else { \ (s)[(i)++]=0xfffd; \ } \ } |
|
Initializer: { \ (s)[(i)++]=(c); \ } |
|
|
|
Initializer: { \ --(i); \ } |
|
Initializer: { \ --(i); \ } |
|
Initializer: { \ (i)-=(n); \ if((i)<(start)) { \ (i)=(start); \ } \ } |
|
Initializer: { \ (i)-=(n); \ } |
|
|
|
Initializer: { \ ++(i); \ } |
|
Initializer: { \ ++(i); \ } |
|
Initializer: { \ if(((i)+=(n))>(length)) { \ (i)=(length); \ } \ } |
|
Initializer: { \ (i)+=(n); \ } |
|
Initializer: { \ (c)=(s)[i]; \ if(!UTF32_IS_SAFE(c, strict)) { \ (c)=UTF_ERROR_VALUE; \ } \ } |
|
Initializer: { \ (c)=(s)[i]; \ } |
|
|
|
Initializer: \ ((uint32_t)(c)<=0x10ffff && \ (!(strict) || !UTF_IS_SURROGATE(c) && ((c)&0xfffe)!=0xfffe)) |
|
|
|
|
|
|
|
|
|
Initializer: { \ (c)=(s)[(i)++]; \ if(!UTF32_IS_SAFE(c, strict)) { \ (c)=UTF_ERROR_VALUE; \ } \ } |
|
Initializer: { \ (c)=(s)[(i)++]; \ } |
|
Initializer: { \ (c)=(s)[--(i)]; \ if(!UTF32_IS_SAFE(c, strict)) { \ (c)=UTF_ERROR_VALUE; \ } \ } |
|
Initializer: { \ (c)=(s)[--(i)]; \ } |
|
Initializer: { \ } |
|
Initializer: { \ } |
|
Initializer: { \ } |
|
Initializer: { \ } |