/*
*******************************************************************************
*
-* Copyright (C) 2001-2003, International Business Machines
+* Copyright (C) 2001-2006, International Business Machines
* Corporation and others. All Rights Reserved.
*
*******************************************************************************
/* this is space for the extra strings that need to be unquoted */
/* during the parsing of the rules */
-#define UCOL_TOK_EXTRA_RULE_SPACE_SIZE 2048
+#define UCOL_TOK_EXTRA_RULE_SPACE_SIZE 4096
typedef struct UColToken UColToken;
typedef struct {
UColToken* previous;
UColToken* next;
UChar *rulesToParse;
+ uint16_t flags;
};
/*
UErrorCode *status);
U_CFUNC
-void ucol_tok_initTokenList(UColTokenParser *src, const UChar *rules, const uint32_t rulesLength, UCollator *UCA, UErrorCode *status);
+void ucol_tok_initTokenList(UColTokenParser *src, const UChar *rules, const uint32_t rulesLength, const UCollator *UCA, UErrorCode *status);
U_CFUNC void ucol_tok_closeTokenList(UColTokenParser *src);
ucol_tok_getNextArgument(const UChar *start, const UChar *end,
UColAttribute *attrib, UColAttributeValue *value,
UErrorCode *status);
+U_CAPI int32_t U_EXPORT2 ucol_inv_getNextCE(const UColTokenParser *src,
+ uint32_t CE, uint32_t contCE,
+ uint32_t *nextCE, uint32_t *nextContCE,
+ uint32_t strength);
+U_CAPI int32_t U_EXPORT2 ucol_inv_getPrevCE(const UColTokenParser *src,
+ uint32_t CE, uint32_t contCE,
+ uint32_t *prevCE, uint32_t *prevContCE,
+ uint32_t strength);
+
+U_CAPI uint32_t U_EXPORT2 ucol_getCEStrengthDifference(uint32_t CE, uint32_t contCE,
+ uint32_t prevCE, uint32_t prevContCE);
+
#endif /* #if !UCONFIG_NO_COLLATION */