• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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