Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: icu46/source/i18n/ucol_wgt.h

Issue 5516007: Check in the pristine copy of ICU 4.6... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « icu46/source/i18n/ucol_tok.cpp ('k') | icu46/source/i18n/ucol_wgt.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: icu46/source/i18n/ucol_wgt.h
===================================================================
--- icu46/source/i18n/ucol_wgt.h (revision 0)
+++ icu46/source/i18n/ucol_wgt.h (revision 0)
@@ -0,0 +1,70 @@
+/*
+*******************************************************************************
+*
+* Copyright (C) 1999-2008, International Business Machines
+* Corporation and others. All Rights Reserved.
+*
+*******************************************************************************
+* file name: ucol_wgt.h
+* encoding: US-ASCII
+* tab size: 8 (not used)
+* indentation:4
+*
+* created on: 2001mar08
+* created by: Markus W. Scherer
+*/
+
+#ifndef UCOL_WGT_H
+#define UCOL_WGT_H
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_COLLATION
+
+/* definitions for CE weights */
+
+typedef struct WeightRange {
+ uint32_t start, end;
+ int32_t length, count;
+ int32_t length2;
+ uint32_t count2;
+} WeightRange;
+
+/**
+ * Determine heuristically
+ * what ranges to use for a given number of weights between (excluding)
+ * two limits.
+ *
+ * @param lowerLimit A collation element weight; the ranges will be filled to cover
+ * weights greater than this one.
+ * @param upperLimit A collation element weight; the ranges will be filled to cover
+ * weights less than this one.
+ * @param n The number of collation element weights w necessary such that
+ * lowerLimit<w<upperLimit in lexical order.
+ * @param maxByte The highest valid byte value.
+ * @param ranges An array that is filled in with one or more ranges to cover
+ * n weights between the limits.
+ * @return number of ranges, 0 if it is not possible to fit n elements between the limits
+ */
+U_CFUNC int32_t
+ucol_allocWeights(uint32_t lowerLimit, uint32_t upperLimit,
+ uint32_t n,
+ uint32_t maxByte,
+ WeightRange ranges[7]);
+
+/**
+ * Given a set of ranges calculated by ucol_allocWeights(),
+ * iterate through the weights.
+ * The ranges are modified to keep the current iteration state.
+ *
+ * @param ranges The array of ranges that ucol_allocWeights() filled in.
+ * The ranges are modified.
+ * @param pRangeCount The number of ranges. It will be decremented when necessary.
+ * @return The next weight in the ranges, or 0xffffffff if there is none left.
+ */
+U_CFUNC uint32_t
+ucol_nextWeight(WeightRange ranges[], int32_t *pRangeCount);
+
+#endif /* #if !UCONFIG_NO_COLLATION */
+
+#endif
Property changes on: icu46/source/i18n/ucol_wgt.h
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « icu46/source/i18n/ucol_tok.cpp ('k') | icu46/source/i18n/ucol_wgt.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698