ICU 76.1: common/unicode/ucpmap.h Source File

ICU 76.1 76.1

ucpmap.h
Go to the documentation of this file.
1 // © 2018 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3
4 // ucpmap.h
5 // created: 2018sep03 Markus W. Scherer
6
7 #ifndef __UCPMAP_H__
8 #define __UCPMAP_H__
9
10 #include "unicode/utypes.h"
11
12 U_CDECL_BEGIN
13
30 typedef struct UCPMap UCPMap;
31
41 enum UCPMapRangeOption {
47 UCPMAP_RANGE_NORMAL,
63 UCPMAP_RANGE_FIXED_LEAD_SURROGATES,
79 UCPMAP_RANGE_FIXED_ALL_SURROGATES
80 };
81 #ifndef U_IN_DOXYGEN
82 typedef enum UCPMapRangeOption UCPMapRangeOption;
83 #endif
84
95 U_CAPI uint32_t U_EXPORT2
96 ucpmap_get(const UCPMap *map, UChar32 c);
97
112 typedef uint32_t U_CALLCONV
113 UCPMapValueFilter(const void *context, uint32_t value);
114
151 U_CAPI UChar32 U_EXPORT2
152 ucpmap_getRange(const UCPMap *map, UChar32 start,
153 UCPMapRangeOption option, uint32_t surrogateValue,
154 UCPMapValueFilter *filter, const void *context, uint32_t *pValue);
155
156 U_CDECL_END
157
158 #endif
U_CALLCONV
#define U_CALLCONV
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...
Definition: platform.h:846
ucpmap_getRange
U_CAPI UChar32 ucpmap_getRange(const UCPMap *map, UChar32 start, UCPMapRangeOption option, uint32_t surrogateValue, UCPMapValueFilter *filter, const void *context, uint32_t *pValue)
Returns the last code point such that all those from start to there have the same value.
UCPMapValueFilter
uint32_t UCPMapValueFilter(const void *context, uint32_t value)
Callback function type: Modifies a map value.
Definition: ucpmap.h:113
ucpmap_get
U_CAPI uint32_t ucpmap_get(const UCPMap *map, UChar32 c)
Returns the value for a code point as stored in the map, with range checking.
UCPMap
struct UCPMap UCPMap
Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
Definition: ucpmap.h:30
UCPMapRangeOption
UCPMapRangeOption
Selectors for how ucpmap_getRange() etc.
Definition: ucpmap.h:41
UCPMAP_RANGE_FIXED_LEAD_SURROGATES
@ UCPMAP_RANGE_FIXED_LEAD_SURROGATES
ucpmap_getRange() enumerates all same-value ranges as stored in the map, except that lead surrogates ...
Definition: ucpmap.h:63
UCPMAP_RANGE_NORMAL
@ UCPMAP_RANGE_NORMAL
ucpmap_getRange() enumerates all same-value ranges as stored in the map.
Definition: ucpmap.h:47
UCPMAP_RANGE_FIXED_ALL_SURROGATES
@ UCPMAP_RANGE_FIXED_ALL_SURROGATES
ucpmap_getRange() enumerates all same-value ranges as stored in the map, except that all surrogates (...
Definition: ucpmap.h:79
UChar32
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:427
U_CDECL_END
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition: umachine.h:86
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
U_CDECL_BEGIN
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition: umachine.h:85
utypes.h
Basic definitions for ICU, for both C and C++ APIs.