1 /* 2 ******************************************************************************* 3 * 4 * Copyright (C) 2001-2010, International Business Machines 5 * Corporation and others. All Rights Reserved. 6 * 7 ******************************************************************************* 8 * file name: ucol_tok.cpp 9 * encoding: US-ASCII 10 * tab size: 8 (not used) 11 * indentation:4 12 * 13 * created 02/22/2001 14 * created by: Vladimir Weinstein 15 * 16 * This module builds a collator based on the rule set. 17 * 18 */ 19 20 #ifndef UCOL_BLD_H 21 #define UCOL_BLD_H 22 23 #ifdef UCOL_DEBUG 24 #include <stdio.h> 25 #include <stdlib.h> 26 #endif 27 28 #include "unicode/utypes.h" 29 30 #if !UCONFIG_NO_COLLATION 31 /*#if !UCONFIG_NO_COLLATION_BUILDER*/ 32 33 #include "ucol_imp.h" 34 #include "ucol_tok.h" 35 #include "ucol_wgt.h" 36 37 U_CFUNC 38 UCATableHeader *ucol_assembleTailoringTable(UColTokenParser *src, UErrorCode *status); 39 40 typedef struct { 41 WeightRange ranges[7]; 42 int32_t noOfRanges; 43 uint32_t byteSize; uint32_t start; uint32_t limit; 44 int32_t maxCount; 45 int32_t count; 46 uint32_t current; 47 uint32_t fLow; /*forbidden Low */ 48 uint32_t fHigh; /*forbidden High */ 49 } ucolCEGenerator; 50 51 U_CFUNC uint32_t U_EXPORT2 ucol_getCEStrengthDifference(uint32_t CE, uint32_t contCE, 52 uint32_t prevCE, uint32_t prevContCE); 53 54 U_INTERNAL int32_t U_EXPORT2 ucol_findReorderingEntry(const char* name); 55 56 /*#endif*/ /* #if !UCONFIG_NO_COLLATION_BUILDER */ 57 #endif /* #if !UCONFIG_NO_COLLATION */ 58 59 #endif 60