7 #ifndef __UMUTABLECPTRIE_H__ 8 #define __UMUTABLECPTRIE_H__ 12 #ifndef U_HIDE_DRAFT_API 88 #if U_SHOW_CPLUSPLUS_API 240 #endif // U_HIDE_DRAFT_API 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
Selectors for how ucpmap_getRange() etc.
struct UCPMap UCPMap
Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
#define U_CAPI
This is used to declare a function as a public ICU C API.
U_CAPI void umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode)
Sets a value for a code point.
UCPTrieValueWidth
Selectors for the number of bits in a UCPTrie data value.
Immutable Unicode code point trie structure.
This file defines an abstract map from Unicode code points to integer values.
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.
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].
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the immutable one.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
U_CAPI UMutableCPTrie * umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode)
Creates a mutable trie with the same contents as the UCPMap.
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
uint32_t UCPMapValueFilter(const void *context, uint32_t value)
Callback function type: Modifies a map value.
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
This file defines an immutable Unicode code point trie.
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
U_CAPI UMutableCPTrie * umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode)
Clones a mutable trie.
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
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
"Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close().
struct UMutableCPTrie UMutableCPTrie
Mutable Unicode code point trie.
Basic definitions for ICU, for both C and C++ APIs.
UCPTrieType
Selectors for the type of a UCPTrie.
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 void umutablecptrie_close(UMutableCPTrie *trie)
Closes a mutable trie and releases associated memory.