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 
20 
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
87 
88 #if U_SHOW_CPLUSPLUS_API
89 
91 
102 
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
141 
171 U_CAPI UChar32 U_EXPORT2
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
201  UChar32 start, UChar32 end,
202  uint32_t value, UErrorCode *pErrorCode);
203 
234 U_CAPI UCPTrie * U_EXPORT2
236  UErrorCode *pErrorCode);
237 
239 
240 #endif // U_HIDE_DRAFT_API
241 #endif
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.
UCPTrieValueWidth
UCPTrieValueWidth
Selectors for the number of bits in a UCPTrie data value.
Definition: ucptrie.h:150
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.
LocalUMutableCPTriePointer
UCPMapRangeOption
UCPMapRangeOption
Selectors for how ucpmap_getRange() etc.
Definition: ucpmap.h:44
umutablecptrie_fromUCPTrie
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the immutable one.
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.
UCPTrie
Immutable Unicode code point trie structure.
Definition: ucptrie.h:60
umutablecptrie_fromUCPMap
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the UCPMap.
UChar32
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:389
UErrorCode
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition: utypes.h:401
UCPMapValueFilter
uint32_t UCPMapValueFilter(const void *context, uint32_t value)
Callback function type: Modifies a map value.
Definition: ucpmap.h:116
U_CDECL_END
#define U_CDECL_END
Definition: umachine.h:85
UCPMap
struct UCPMap UCPMap
Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
Definition: ucpmap.h:33
U_CDECL_BEGIN
#define U_CDECL_BEGIN
Definition: umachine.h:84
umutablecptrie_set
U_CAPI void umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode)
Sets a value for a code point.
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
Definition: localpointer.h:487
ucpmap.h
utf8.h
C API: 8-bit Unicode handling macros.
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
umutablecptrie_clone
U_CAPI UMutableCPTrie * umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode)
Clones a mutable trie.
U_NAMESPACE_END
#define U_NAMESPACE_END
Definition: uversion.h:138
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:109
UMutableCPTrie
struct UMutableCPTrie UMutableCPTrie
Mutable Unicode code point trie.
Definition: umutablecptrie.h:49
U_NAMESPACE_BEGIN
#define U_NAMESPACE_BEGIN
Definition: uversion.h:137
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.
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].
ucptrie.h