ICU 49.1.1  49.1.1
ucoleitr.h
Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 *   Copyright (C) 2001-2011, International Business Machines
00004 *   Corporation and others.  All Rights Reserved.
00005 *******************************************************************************
00006 *
00007 * File ucoleitr.cpp
00008 *
00009 * Modification History:
00010 *
00011 * Date        Name        Description
00012 * 02/15/2001  synwee      Modified all methods to process its own function 
00013 *                         instead of calling the equivalent c++ api (coleitr.h)
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  /* U_HIDE_INTERNAL_API */
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  /* U_HIDE_INTERNAL_API */
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  /* U_HIDE_INTERNAL_API */
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 /* #if !UCONFIG_NO_COLLATION */
00335 
00336 #endif