00001
00002
00003
00004
00005
00006
00007 #ifndef __UMUTABLECPTRIE_H__
00008 #define __UMUTABLECPTRIE_H__
00009
00010 #include "unicode/utypes.h"
00011
00012 #include "unicode/localpointer.h"
00013 #include "unicode/ucpmap.h"
00014 #include "unicode/ucptrie.h"
00015 #include "unicode/utf8.h"
00016
00017 U_CDECL_BEGIN
00018
00047 typedef struct UMutableCPTrie UMutableCPTrie;
00048
00062 U_CAPI UMutableCPTrie * U_EXPORT2
00063 umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErrorCode);
00064
00074 U_CAPI UMutableCPTrie * U_EXPORT2
00075 umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode);
00076
00083 U_CAPI void U_EXPORT2
00084 umutablecptrie_close(UMutableCPTrie *trie);
00085
00095 U_CAPI UMutableCPTrie * U_EXPORT2
00096 umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode);
00097
00107 U_CAPI UMutableCPTrie * U_EXPORT2
00108 umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode);
00109
00118 U_CAPI uint32_t U_EXPORT2
00119 umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c);
00120
00150 U_CAPI UChar32 U_EXPORT2
00151 umutablecptrie_getRange(const UMutableCPTrie *trie, UChar32 start,
00152 UCPMapRangeOption option, uint32_t surrogateValue,
00153 UCPMapValueFilter *filter, const void *context, uint32_t *pValue);
00154
00164 U_CAPI void U_EXPORT2
00165 umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode);
00166
00178 U_CAPI void U_EXPORT2
00179 umutablecptrie_setRange(UMutableCPTrie *trie,
00180 UChar32 start, UChar32 end,
00181 uint32_t value, UErrorCode *pErrorCode);
00182
00213 U_CAPI UCPTrie * U_EXPORT2
00214 umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieValueWidth valueWidth,
00215 UErrorCode *pErrorCode);
00216
00217 U_CDECL_END
00218
00219 #if U_SHOW_CPLUSPLUS_API
00220
00221 U_NAMESPACE_BEGIN
00222
00232 U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close);
00233
00234 U_NAMESPACE_END
00235
00236 #endif
00237
00238 #endif