ICU 74.1 74.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#include "unicode/ucpmap.h"
13#include "unicode/ucptrie.h"
14#include "unicode/utf8.h"
15
16#if U_SHOW_CPLUSPLUS_API
18#endif // U_SHOW_CPLUSPLUS_API
19
21
50
64U_CAPI UMutableCPTrie * U_EXPORT2
65umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErrorCode);
66
76U_CAPI UMutableCPTrie * U_EXPORT2
78
85U_CAPI void U_EXPORT2
87
97U_CAPI UMutableCPTrie * U_EXPORT2
99
109U_CAPI UMutableCPTrie * U_EXPORT2
111
120U_CAPI uint32_t U_EXPORT2
122
152U_CAPI UChar32 U_EXPORT2
154 UCPMapRangeOption option, uint32_t surrogateValue,
155 UCPMapValueFilter *filter, const void *context, uint32_t *pValue);
156
166U_CAPI void U_EXPORT2
167umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode);
168
180U_CAPI void U_EXPORT2
182 UChar32 start, UChar32 end,
183 uint32_t value, UErrorCode *pErrorCode);
184
215U_CAPI UCPTrie * U_EXPORT2
217 UErrorCode *pErrorCode);
218
220
221#if U_SHOW_CPLUSPLUS_API
222
223U_NAMESPACE_BEGIN
224
235
236U_NAMESPACE_END
237
238#endif
239
240#endif
"Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
Immutable Unicode code point trie structure.
Definition: ucptrie.h:59
C API: This file defines an abstract map from Unicode code points to integer values.
uint32_t UCPMapValueFilter(const void *context, uint32_t value)
Callback function type: Modifies a map value.
Definition: ucpmap.h:113
struct UCPMap UCPMap
Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
Definition: ucpmap.h:30
UCPMapRangeOption
Selectors for how ucpmap_getRange() etc.
Definition: ucpmap.h:41
C API: This file defines an immutable Unicode code point trie.
UCPTrieType
Selectors for the type of a UCPTrie.
Definition: ucptrie.h:119
UCPTrieValueWidth
Selectors for the number of bits in a UCPTrie data value.
Definition: ucptrie.h:149
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:435
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition: umachine.h:86
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition: umachine.h:85
U_CAPI void umutablecptrie_close(UMutableCPTrie *trie)
Closes a mutable trie and releases associated memory.
U_CAPI uint32_t umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c)
Returns the value for a code point as stored in the trie.
U_CAPI UMutableCPTrie * umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode)
Clones a mutable trie.
U_CAPI void umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode)
Sets a value for a code point.
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the UCPMap.
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.
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the immutable one.
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_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.
struct UMutableCPTrie UMutableCPTrie
Mutable Unicode code point trie.
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.
C API: 8-bit Unicode handling macros.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415