ICU 63.1 63.1

umutablecptrie.h
Go to the documentation of this file.
1 // © 2017 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3
4 // umutablecptrie.h (split out of ucptrie.h)
5 // created: 2018jan24 Markus W. Scherer
6
7 #ifndef __UMUTABLECPTRIE_H__
8 #define __UMUTABLECPTRIE_H__
9
10 #include "unicode/utypes.h"
11
12 #ifndef U_HIDE_DRAFT_API
13
14 #include "unicode/localpointer.h"
15 #include "unicode/ucpmap.h"
16 #include "unicode/ucptrie.h"
17 #include "unicode/utf8.h"
18
19 U_CDECL_BEGIN
20
49 typedef struct UMutableCPTrie UMutableCPTrie;
50
64 U_CAPI UMutableCPTrie * U_EXPORT2
65 umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErrorCode);
66
76 U_CAPI UMutableCPTrie * U_EXPORT2
77 umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode);
78
85 U_CAPI void U_EXPORT2
86 umutablecptrie_close(UMutableCPTrie *trie);
87
88 #if U_SHOW_CPLUSPLUS_API
89
90 U_NAMESPACE_BEGIN
91
101 U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close);
102
103 U_NAMESPACE_END
104
105 #endif
106
116 U_CAPI UMutableCPTrie * U_EXPORT2
117 umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode);
118
128 U_CAPI UMutableCPTrie * U_EXPORT2
129 umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode);
130
139 U_CAPI uint32_t U_EXPORT2
140 umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c);
141
171 U_CAPI UChar32 U_EXPORT2
172 umutablecptrie_getRange(const UMutableCPTrie *trie, UChar32 start,
173 UCPMapRangeOption option, uint32_t surrogateValue,
174 UCPMapValueFilter *filter, const void *context, uint32_t *pValue);
175
185 U_CAPI void U_EXPORT2
186 umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode);
187
199 U_CAPI void U_EXPORT2
200 umutablecptrie_setRange(UMutableCPTrie *trie,
201 UChar32 start, UChar32 end,
202 uint32_t value, UErrorCode *pErrorCode);
203
234 U_CAPI UCPTrie * U_EXPORT2
235 umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieValueWidth valueWidth,
236 UErrorCode *pErrorCode);
237
238 U_CDECL_END
239
240 #endif // U_HIDE_DRAFT_API
241 #endif
umutablecptrie_open
U_CAPI UMutableCPTrie * umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErrorCode)
Creates a mutable trie that initially maps each Unicode code point to the same value.
UCPMapRangeOption
UCPMapRangeOption
Selectors for how ucpmap_getRange() etc.
Definition: ucpmap.h:44
UCPMap
struct UCPMap UCPMap
Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
Definition: ucpmap.h:33
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:109
umutablecptrie_set
U_CAPI void umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode)
Sets a value for a code point.
UCPTrieValueWidth
UCPTrieValueWidth
Selectors for the number of bits in a UCPTrie data value.
Definition: ucptrie.h:150
UCPTrie
Immutable Unicode code point trie structure.
Definition: ucptrie.h:60
ucpmap.h
This file defines an abstract map from Unicode code points to integer values.
umutablecptrie_buildImmutable
U_CAPI UCPTrie * umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieValueWidth valueWidth, UErrorCode *pErrorCode)
Compacts the data and builds an immutable UCPTrie according to the parameters.
utf8.h
C API: 8-bit Unicode handling macros.
umutablecptrie_setRange
U_CAPI void umutablecptrie_setRange(UMutableCPTrie *trie, UChar32 start, UChar32 end, uint32_t value, UErrorCode *pErrorCode)
Sets a value for each code point [start..end].
U_CDECL_BEGIN
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition: umachine.h:84
umutablecptrie_fromUCPTrie
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the immutable one.
U_NAMESPACE_BEGIN
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:137
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:487
umutablecptrie_fromUCPMap
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the UCPMap.
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
UCPMapValueFilter
uint32_t UCPMapValueFilter(const void *context, uint32_t value)
Callback function type: Modifies a map value.
Definition: ucpmap.h:116
UChar32
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:389
ucptrie.h
This file defines an immutable Unicode code point trie.
U_CDECL_END
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition: umachine.h:85
U_NAMESPACE_END
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:138
umutablecptrie_clone
U_CAPI UMutableCPTrie * umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode)
Clones a mutable trie.
umutablecptrie_getRange
U_CAPI UChar32 umutablecptrie_getRange(const UMutableCPTrie *trie, 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...
UErrorCode
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:401
LocalUMutableCPTriePointer
"Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close().
UMutableCPTrie
struct UMutableCPTrie UMutableCPTrie
Mutable Unicode code point trie.
Definition: umutablecptrie.h:49
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UCPTrieType
UCPTrieType
Selectors for the type of a UCPTrie.
Definition: ucptrie.h:120
umutablecptrie_get
U_CAPI uint32_t umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c)
Returns the value for a code point as stored in the trie.
umutablecptrie_close
U_CAPI void umutablecptrie_close(UMutableCPTrie *trie)
Closes a mutable trie and releases associated memory.