00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __UCASEMAP_H__
00020 #define __UCASEMAP_H__
00021
00022 #include "unicode/utypes.h"
00023 #include "unicode/ustring.h"
00024 #include "unicode/localpointer.h"
00025
00044 struct UCaseMap;
00045 typedef struct UCaseMap UCaseMap;
00069 U_STABLE UCaseMap * U_EXPORT2
00070 ucasemap_open(const char *locale, uint32_t options, UErrorCode *pErrorCode);
00071
00077 U_STABLE void U_EXPORT2
00078 ucasemap_close(UCaseMap *csm);
00079
00080 #if U_SHOW_CPLUSPLUS_API
00081
00082 U_NAMESPACE_BEGIN
00083
00093 U_DEFINE_LOCAL_OPEN_POINTER(LocalUCaseMapPointer, UCaseMap, ucasemap_close);
00094
00095 U_NAMESPACE_END
00096
00097 #endif
00098
00105 U_STABLE const char * U_EXPORT2
00106 ucasemap_getLocale(const UCaseMap *csm);
00107
00114 U_STABLE uint32_t U_EXPORT2
00115 ucasemap_getOptions(const UCaseMap *csm);
00116
00128 U_STABLE void U_EXPORT2
00129 ucasemap_setLocale(UCaseMap *csm, const char *locale, UErrorCode *pErrorCode);
00130
00142 U_STABLE void U_EXPORT2
00143 ucasemap_setOptions(UCaseMap *csm, uint32_t options, UErrorCode *pErrorCode);
00144
00159 #define U_TITLECASE_NO_LOWERCASE 0x100
00160
00184 #define U_TITLECASE_NO_BREAK_ADJUSTMENT 0x200
00185
00186 #if !UCONFIG_NO_BREAK_ITERATION
00187
00195 U_STABLE const UBreakIterator * U_EXPORT2
00196 ucasemap_getBreakIterator(const UCaseMap *csm);
00197
00218 U_STABLE void U_EXPORT2
00219 ucasemap_setBreakIterator(UCaseMap *csm, UBreakIterator *iterToAdopt, UErrorCode *pErrorCode);
00220
00267 U_STABLE int32_t U_EXPORT2
00268 ucasemap_toTitle(UCaseMap *csm,
00269 UChar *dest, int32_t destCapacity,
00270 const UChar *src, int32_t srcLength,
00271 UErrorCode *pErrorCode);
00272
00273 #endif
00274
00298 U_STABLE int32_t U_EXPORT2
00299 ucasemap_utf8ToLower(const UCaseMap *csm,
00300 char *dest, int32_t destCapacity,
00301 const char *src, int32_t srcLength,
00302 UErrorCode *pErrorCode);
00303
00327 U_STABLE int32_t U_EXPORT2
00328 ucasemap_utf8ToUpper(const UCaseMap *csm,
00329 char *dest, int32_t destCapacity,
00330 const char *src, int32_t srcLength,
00331 UErrorCode *pErrorCode);
00332
00333 #if !UCONFIG_NO_BREAK_ITERATION
00334
00379 U_STABLE int32_t U_EXPORT2
00380 ucasemap_utf8ToTitle(UCaseMap *csm,
00381 char *dest, int32_t destCapacity,
00382 const char *src, int32_t srcLength,
00383 UErrorCode *pErrorCode);
00384
00385 #endif
00386
00417 U_STABLE int32_t U_EXPORT2
00418 ucasemap_utf8FoldCase(const UCaseMap *csm,
00419 char *dest, int32_t destCapacity,
00420 const char *src, int32_t srcLength,
00421 UErrorCode *pErrorCode);
00422
00423 #endif