michael@0: /* michael@0: ******************************************************************************* michael@0: * michael@0: * Copyright (C) 2001-2010, International Business Machines michael@0: * Corporation and others. All Rights Reserved. michael@0: * michael@0: ******************************************************************************* michael@0: * file name: ucol_tok.cpp michael@0: * encoding: US-ASCII michael@0: * tab size: 8 (not used) michael@0: * indentation:4 michael@0: * michael@0: * created 02/22/2001 michael@0: * created by: Vladimir Weinstein michael@0: * michael@0: * This module builds a collator based on the rule set. michael@0: * michael@0: */ michael@0: michael@0: #ifndef UCOL_BLD_H michael@0: #define UCOL_BLD_H michael@0: michael@0: #ifdef UCOL_DEBUG michael@0: #include michael@0: #include michael@0: #endif michael@0: michael@0: #include "unicode/utypes.h" michael@0: michael@0: #if !UCONFIG_NO_COLLATION michael@0: /*#if !UCONFIG_NO_COLLATION_BUILDER*/ michael@0: michael@0: #include "ucol_imp.h" michael@0: #include "ucol_tok.h" michael@0: #include "ucol_wgt.h" michael@0: michael@0: U_CFUNC michael@0: UCATableHeader *ucol_assembleTailoringTable(UColTokenParser *src, UErrorCode *status); michael@0: michael@0: typedef struct { michael@0: WeightRange ranges[7]; michael@0: int32_t noOfRanges; michael@0: uint32_t byteSize; uint32_t start; uint32_t limit; michael@0: int32_t maxCount; michael@0: int32_t count; michael@0: uint32_t current; michael@0: uint32_t fLow; /*forbidden Low */ michael@0: uint32_t fHigh; /*forbidden High */ michael@0: } ucolCEGenerator; michael@0: michael@0: U_CFUNC uint32_t U_EXPORT2 ucol_getCEStrengthDifference(uint32_t CE, uint32_t contCE, michael@0: uint32_t prevCE, uint32_t prevContCE); michael@0: michael@0: U_INTERNAL int32_t U_EXPORT2 ucol_findReorderingEntry(const char* name); michael@0: michael@0: /*#endif*/ /* #if !UCONFIG_NO_COLLATION_BUILDER */ michael@0: #endif /* #if !UCONFIG_NO_COLLATION */ michael@0: michael@0: #endif