00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef UCOLEITR_H
00017 #define UCOLEITR_H
00018
00019 #include "unicode/utypes.h"
00020
00021 #if !UCONFIG_NO_COLLATION
00022
00028 #define UCOL_NULLORDER ((int32_t)0xFFFFFFFF)
00029
00030 #ifndef U_HIDE_INTERNAL_API
00031
00037 #define UCOL_PROCESSED_NULLORDER ((int64_t)U_INT64_MAX)
00038 #endif
00039
00040 #include "unicode/ucol.h"
00041
00047 typedef struct UCollationElements UCollationElements;
00048
00120 U_STABLE UCollationElements* U_EXPORT2
00121 ucol_openElements(const UCollator *coll,
00122 const UChar *text,
00123 int32_t textLength,
00124 UErrorCode *status);
00125
00126
00134 U_STABLE int32_t U_EXPORT2
00135 ucol_keyHashCode(const uint8_t* key, int32_t length);
00136
00143 U_STABLE void U_EXPORT2
00144 ucol_closeElements(UCollationElements *elems);
00145
00155 U_STABLE void U_EXPORT2
00156 ucol_reset(UCollationElements *elems);
00157
00158 #ifndef U_HIDE_INTERNAL_API
00159
00170 U_INTERNAL void U_EXPORT2
00171 ucol_forceHanImplicit(UCollationElements *elems, UErrorCode *status);
00172 #endif
00173
00183 U_STABLE int32_t U_EXPORT2
00184 ucol_next(UCollationElements *elems, UErrorCode *status);
00185
00202 U_STABLE int32_t U_EXPORT2
00203 ucol_previous(UCollationElements *elems, UErrorCode *status);
00204
00205 #ifndef U_HIDE_INTERNAL_API
00206
00219 U_INTERNAL int64_t U_EXPORT2
00220 ucol_nextProcessed(UCollationElements *elems, int32_t *ixLow, int32_t *ixHigh, UErrorCode *status);
00221
00242 U_INTERNAL int64_t U_EXPORT2
00243 ucol_previousProcessed(UCollationElements *elems, int32_t *ixLow, int32_t *ixHigh, UErrorCode *status);
00244 #endif
00245
00257 U_STABLE int32_t U_EXPORT2
00258 ucol_getMaxExpansion(const UCollationElements *elems, int32_t order);
00259
00272 U_STABLE void U_EXPORT2
00273 ucol_setText( UCollationElements *elems,
00274 const UChar *text,
00275 int32_t textLength,
00276 UErrorCode *status);
00277
00287 U_STABLE int32_t U_EXPORT2
00288 ucol_getOffset(const UCollationElements *elems);
00289
00302 U_STABLE void U_EXPORT2
00303 ucol_setOffset(UCollationElements *elems,
00304 int32_t offset,
00305 UErrorCode *status);
00306
00313 U_STABLE int32_t U_EXPORT2
00314 ucol_primaryOrder (int32_t order);
00315
00322 U_STABLE int32_t U_EXPORT2
00323 ucol_secondaryOrder (int32_t order);
00324
00331 U_STABLE int32_t U_EXPORT2
00332 ucol_tertiaryOrder (int32_t order);
00333
00334 #endif
00335
00336 #endif