Home | History | Annotate | Download | only in i18n
      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