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

Unified Diff: source/i18n/unicode/usearch.h

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months 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 | « source/i18n/unicode/uregion.h ('k') | source/i18n/unicode/uspoof.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/i18n/unicode/usearch.h
diff --git a/source/i18n/unicode/usearch.h b/source/i18n/unicode/usearch.h
index 9f305eb87204138b3dc51584e968ebb3f07719d1..75521f528a410fae192358b070f38590d6626a3d 100644
--- a/source/i18n/unicode/usearch.h
+++ b/source/i18n/unicode/usearch.h
@@ -1,6 +1,6 @@
/*
**********************************************************************
-* Copyright (C) 2001-2011 IBM and others. All rights reserved.
+* Copyright (C) 2001-2011,2014 IBM and others. All rights reserved.
**********************************************************************
* Date Name Description
* 06/28/2001 synwee Creation.
@@ -30,11 +30,11 @@
* See the <a href="http://source.icu-project.org/repos/icu/icuhtml/trunk/design/collation/ICU_collation_design.htm">
* "ICU Collation Design Document"</a> for more information.
* <p>
- * The algorithm implemented is a modified form of the Boyer Moore's search.
- * For more information see
+ * The implementation may use a linear search or a modified form of the Boyer-Moore
+ * search; for more information on the latter see
* <a href="http://icu-project.org/docs/papers/efficient_text_searching_in_java.html">
* "Efficient Text Searching in Java"</a>, published in <i>Java Report</i>
- * in February, 1999, for further information on the algorithm.
+ * in February, 1999.
* <p>
* There are 2 match options for selection:<br>
* Let S' be the sub-string of a text string S between the offsets start and
@@ -91,6 +91,11 @@
* for the pattern "abab" in the text "ababab", where else mutually
* exclusive matches only produce the result of 0.
* <p>
+ * Options are also provided to implement "asymmetric search" as described in
+ * <a href="http://www.unicode.org/reports/tr10/#Asymmetric_Search">
+ * UTS #10 Unicode Collation Algorithm</a>, specifically the USearchAttribute
+ * USEARCH_ELEMENT_COMPARISON and its values.
+ * <p>
* Though collator attributes will be taken into consideration while
* performing matches, there are no APIs here for setting and getting the
* attributes. These attributes can be set by getting the collator
@@ -154,32 +159,60 @@ typedef struct UStringSearch UStringSearch;
* @stable ICU 2.4
*/
typedef enum {
- /** Option for overlapping matches */
- USEARCH_OVERLAP,
+ /**
+ * Option for overlapping matches
+ * @stable ICU 2.4
+ */
+ USEARCH_OVERLAP = 0,
+#ifndef U_HIDE_DEPRECATED_API
/**
- * Option for canonical matches. option 1 in header documentation.
- * The default value will be USEARCH_OFF
+ * Option for canonical matches; option 1 in header documentation.
+ * The default value will be USEARCH_OFF.
+ * Note: Setting this option to USEARCH_ON currently has no effect on
+ * search behavior, and this option is deprecated. Instead, to control
+ * canonical match behavior, you must set UCOL_NORMALIZATION_MODE
+ * appropriately (to UCOL_OFF or UCOL_ON) in the UCollator used by
+ * the UStringSearch object.
+ * @see usearch_openFromCollator
+ * @see usearch_getCollator
+ * @see usearch_setCollator
+ * @see ucol_getAttribute
+ * @deprecated ICU 53
*/
- USEARCH_CANONICAL_MATCH,
+ USEARCH_CANONICAL_MATCH = 1,
+#endif /* U_HIDE_DEPRECATED_API */
/**
* Option to control how collation elements are compared.
* The default value will be USEARCH_STANDARD_ELEMENT_COMPARISON.
* @stable ICU 4.4
*/
- USEARCH_ELEMENT_COMPARISON,
+ USEARCH_ELEMENT_COMPARISON = 2,
- USEARCH_ATTRIBUTE_COUNT
+ /**
+ * Count of attribute types
+ * @stable ICU 2.4
+ */
+ USEARCH_ATTRIBUTE_COUNT = 3
} USearchAttribute;
/**
* @stable ICU 2.4
*/
typedef enum {
- /** Default value for any USearchAttribute */
+ /**
+ * Default value for any USearchAttribute
+ * @stable ICU 2.4
+ */
USEARCH_DEFAULT = -1,
- /** Value for USEARCH_OVERLAP and USEARCH_CANONICAL_MATCH */
+ /**
+ * Value for USEARCH_OVERLAP and USEARCH_CANONICAL_MATCH
+ * @stable ICU 2.4
+ */
USEARCH_OFF,
- /** Value for USEARCH_OVERLAP and USEARCH_CANONICAL_MATCH */
+ /**
+ * Value for USEARCH_OVERLAP and USEARCH_CANONICAL_MATCH
+ * @stable ICU 2.4
+ */
USEARCH_ON,
/**
* Value (default) for USEARCH_ELEMENT_COMPARISON;
@@ -199,6 +232,11 @@ typedef enum {
* the pattern will match a plain e or an e with any diacritic in the
* searched text, but an e with diacritic in the pattern will only
* match an e with the same diacritic in the searched text.
+ *
+ * This supports "asymmetric search" as described in
+ * <a href="http://www.unicode.org/reports/tr10/#Asymmetric_Search">
+ * UTS #10 Unicode Collation Algorithm</a>.
+ *
* @stable ICU 4.4
*/
USEARCH_PATTERN_BASE_WEIGHT_IS_WILDCARD,
@@ -213,10 +251,21 @@ typedef enum {
* in the pattern will match a plain e or an e with any diacritic in the
* searched text, but an e with diacritic in the pattern will only
* match an e with the same diacritic or a plain e in the searched text.
+ *
+ * This option is similar to "asymmetric search" as described in
+ * <a href="http://www.unicode.org/reports/tr10/#Asymmetric_Search">
+ * UTS #10 Unicode Collation Algorithm</a, but also allows unmarked
+ * characters in the searched text to match marked or unmarked versions of
+ * that character in the pattern.
+ *
* @stable ICU 4.4
*/
USEARCH_ANY_BASE_WEIGHT_IS_WILDCARD,
+ /**
+ * Count of attribute values
+ * @stable ICU 2.4
+ */
USEARCH_ATTRIBUTE_VALUE_COUNT
} USearchAttributeValue;
« no previous file with comments | « source/i18n/unicode/uregion.h ('k') | source/i18n/unicode/uspoof.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698