ucasemap.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 *
00004 *   Copyright (C) 2005-2008, International Business Machines
00005 *   Corporation and others.  All Rights Reserved.
00006 *
00007 *******************************************************************************
00008 *   file name:  ucasemap.h
00009 *   encoding:   US-ASCII
00010 *   tab size:   8 (not used)
00011 *   indentation:4
00012 *
00013 *   created on: 2005may06
00014 *   created by: Markus W. Scherer
00015 *
00016 *   Case mapping service object and functions using it.
00017 */
00018 
00019 #ifndef __UCASEMAP_H__
00020 #define __UCASEMAP_H__
00021 
00022 #include "unicode/utypes.h"
00023 #include "unicode/ustring.h"
00024 
00043 struct UCaseMap;
00044 typedef struct UCaseMap UCaseMap; 
00068 U_STABLE UCaseMap * U_EXPORT2
00069 ucasemap_open(const char *locale, uint32_t options, UErrorCode *pErrorCode);
00070 
00076 U_STABLE void U_EXPORT2
00077 ucasemap_close(UCaseMap *csm);
00078 
00085 U_STABLE const char * U_EXPORT2
00086 ucasemap_getLocale(const UCaseMap *csm);
00087 
00094 U_STABLE uint32_t U_EXPORT2
00095 ucasemap_getOptions(const UCaseMap *csm);
00096 
00108 U_STABLE void U_EXPORT2
00109 ucasemap_setLocale(UCaseMap *csm, const char *locale, UErrorCode *pErrorCode);
00110 
00122 U_STABLE void U_EXPORT2
00123 ucasemap_setOptions(UCaseMap *csm, uint32_t options, UErrorCode *pErrorCode);
00124 
00125 #ifndef U_HIDE_DRAFT_API
00126 
00141 #define U_TITLECASE_NO_LOWERCASE 0x100
00142 
00166 #define U_TITLECASE_NO_BREAK_ADJUSTMENT 0x200
00167 
00168 #endif
00169 
00170 #if !UCONFIG_NO_BREAK_ITERATION
00171 
00179 U_DRAFT const UBreakIterator * U_EXPORT2
00180 ucasemap_getBreakIterator(const UCaseMap *csm);
00181 
00202 U_DRAFT void U_EXPORT2
00203 ucasemap_setBreakIterator(UCaseMap *csm, UBreakIterator *iterToAdopt, UErrorCode *pErrorCode);
00204 
00246 U_DRAFT int32_t U_EXPORT2
00247 ucasemap_toTitle(UCaseMap *csm,
00248                  UChar *dest, int32_t destCapacity,
00249                  const UChar *src, int32_t srcLength,
00250                  UErrorCode *pErrorCode);
00251 
00252 #endif
00253 
00277 U_STABLE int32_t U_EXPORT2
00278 ucasemap_utf8ToLower(const UCaseMap *csm,
00279                      char *dest, int32_t destCapacity,
00280                      const char *src, int32_t srcLength,
00281                      UErrorCode *pErrorCode);
00282 
00306 U_STABLE int32_t U_EXPORT2
00307 ucasemap_utf8ToUpper(const UCaseMap *csm,
00308                      char *dest, int32_t destCapacity,
00309                      const char *src, int32_t srcLength,
00310                      UErrorCode *pErrorCode);
00311 
00312 #if !UCONFIG_NO_BREAK_ITERATION
00313 
00353 U_DRAFT int32_t U_EXPORT2
00354 ucasemap_utf8ToTitle(UCaseMap *csm,
00355                     char *dest, int32_t destCapacity,
00356                     const char *src, int32_t srcLength,
00357                     UErrorCode *pErrorCode);
00358 
00359 #endif
00360 
00389 U_DRAFT int32_t U_EXPORT2
00390 ucasemap_utf8FoldCase(const UCaseMap *csm,
00391                       char *dest, int32_t destCapacity,
00392                       const char *src, int32_t srcLength,
00393                       UErrorCode *pErrorCode);
00394 
00395 #endif

Generated on Thu Jan 15 11:25:49 2009 for ICU 4.0.1 by  doxygen 1.4.7