ICU 69.1  69.1
ucol.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (c) 1996-2015, International Business Machines Corporation and others.
6 * All Rights Reserved.
7 *******************************************************************************
8 */
9 
10 #ifndef UCOL_H
11 #define UCOL_H
12 
13 #include "unicode/utypes.h"
14 
15 #if !UCONFIG_NO_COLLATION
16 
17 #include "unicode/unorm.h"
18 #include "unicode/parseerr.h"
19 #include "unicode/uloc.h"
20 #include "unicode/uset.h"
21 #include "unicode/uscript.h"
22 
23 #if U_SHOW_CPLUSPLUS_API
24 #include "unicode/localpointer.h"
25 #endif // U_SHOW_CPLUSPLUS_API
26 
57 struct UCollator;
61 typedef struct UCollator UCollator;
62 
63 
76 typedef enum {
82  UCOL_LESS = -1
84 
85 
92 typedef enum {
95 
104  UCOL_CE_STRENGTH_LIMIT,
109  UCOL_STRENGTH_LIMIT,
110 
114  UCOL_OFF = 16,
118  UCOL_ON = 17,
119 
124 
130 
131 #ifndef U_HIDE_DEPRECATED_API
132 
137 #endif /* U_HIDE_DEPRECATED_API */
139 
149  typedef enum {
204 #ifndef U_HIDE_DEPRECATED_API
205 
210 #endif /* U_HIDE_DEPRECATED_API */
212 
240 
245 typedef enum {
314 #ifndef U_HIDE_DEPRECATED_API
315 
327 #endif /* U_HIDE_DEPRECATED_API */
328 
347 
348  /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API,
349  * it is needed for layout of RuleBasedCollator object. */
350 #ifndef U_FORCE_HIDE_DEPRECATED_API
351 
356 #endif // U_FORCE_HIDE_DEPRECATED_API
357 } UColAttribute;
358 
362 typedef enum {
377 } UColRuleOption ;
378 
404 U_CAPI UCollator* U_EXPORT2
405 ucol_open(const char *loc, UErrorCode *status);
406 
432 U_CAPI UCollator* U_EXPORT2
433 ucol_openRules( const UChar *rules,
434  int32_t rulesLength,
435  UColAttributeValue normalizationMode,
436  UCollationStrength strength,
437  UParseError *parseError,
438  UErrorCode *status);
439 
440 #ifndef U_HIDE_DEPRECATED_API
441 
474 U_DEPRECATED UCollator* U_EXPORT2
475 ucol_openFromShortString( const char *definition,
476  UBool forceDefaults,
477  UParseError *parseError,
478  UErrorCode *status);
479 #endif /* U_HIDE_DEPRECATED_API */
480 
481 #ifndef U_HIDE_DEPRECATED_API
482 
495 U_DEPRECATED int32_t U_EXPORT2
496 ucol_getContractions( const UCollator *coll,
497  USet *conts,
498  UErrorCode *status);
499 #endif /* U_HIDE_DEPRECATED_API */
500 
512 U_CAPI void U_EXPORT2
514  USet *contractions, USet *expansions,
515  UBool addPrefixes, UErrorCode *status);
516 
527 U_CAPI void U_EXPORT2
528 ucol_close(UCollator *coll);
529 
530 #if U_SHOW_CPLUSPLUS_API
531 
532 U_NAMESPACE_BEGIN
533 
544 
545 U_NAMESPACE_END
546 
547 #endif
548 
564 U_CAPI UCollationResult U_EXPORT2
565 ucol_strcoll( const UCollator *coll,
566  const UChar *source,
567  int32_t sourceLength,
568  const UChar *target,
569  int32_t targetLength);
570 
589 U_CAPI UCollationResult U_EXPORT2
591  const UCollator *coll,
592  const char *source,
593  int32_t sourceLength,
594  const char *target,
595  int32_t targetLength,
596  UErrorCode *status);
597 
612 U_CAPI UBool U_EXPORT2
613 ucol_greater(const UCollator *coll,
614  const UChar *source, int32_t sourceLength,
615  const UChar *target, int32_t targetLength);
616 
631 U_CAPI UBool U_EXPORT2
632 ucol_greaterOrEqual(const UCollator *coll,
633  const UChar *source, int32_t sourceLength,
634  const UChar *target, int32_t targetLength);
635 
650 U_CAPI UBool U_EXPORT2
651 ucol_equal(const UCollator *coll,
652  const UChar *source, int32_t sourceLength,
653  const UChar *target, int32_t targetLength);
654 
667 U_CAPI UCollationResult U_EXPORT2
668 ucol_strcollIter( const UCollator *coll,
669  UCharIterator *sIter,
670  UCharIterator *tIter,
671  UErrorCode *status);
672 
682 U_CAPI UCollationStrength U_EXPORT2
683 ucol_getStrength(const UCollator *coll);
684 
694 U_CAPI void U_EXPORT2
696  UCollationStrength strength);
697 
714 U_CAPI int32_t U_EXPORT2
715 ucol_getReorderCodes(const UCollator* coll,
716  int32_t* dest,
717  int32_t destCapacity,
718  UErrorCode *pErrorCode);
759 U_CAPI void U_EXPORT2
761  const int32_t* reorderCodes,
762  int32_t reorderCodesLength,
763  UErrorCode *pErrorCode);
764 
784 U_CAPI int32_t U_EXPORT2
785 ucol_getEquivalentReorderCodes(int32_t reorderCode,
786  int32_t* dest,
787  int32_t destCapacity,
788  UErrorCode *pErrorCode);
789 
802 U_CAPI int32_t U_EXPORT2
803 ucol_getDisplayName( const char *objLoc,
804  const char *dispLoc,
805  UChar *result,
806  int32_t resultLength,
807  UErrorCode *status);
808 
818 U_CAPI const char* U_EXPORT2
819 ucol_getAvailable(int32_t localeIndex);
820 
829 U_CAPI int32_t U_EXPORT2
830 ucol_countAvailable(void);
831 
832 #if !UCONFIG_NO_SERVICE
833 
841 U_CAPI UEnumeration* U_EXPORT2
843 #endif
844 
854 U_CAPI UEnumeration* U_EXPORT2
856 
868 U_CAPI UEnumeration* U_EXPORT2
869 ucol_getKeywordValues(const char *keyword, UErrorCode *status);
870 
887 U_CAPI UEnumeration* U_EXPORT2
888 ucol_getKeywordValuesForLocale(const char* key,
889  const char* locale,
890  UBool commonlyUsed,
891  UErrorCode* status);
892 
924 U_CAPI int32_t U_EXPORT2
925 ucol_getFunctionalEquivalent(char* result, int32_t resultCapacity,
926  const char* keyword, const char* locale,
927  UBool* isAvailable, UErrorCode* status);
928 
937 U_CAPI const UChar* U_EXPORT2
938 ucol_getRules( const UCollator *coll,
939  int32_t *length);
940 
941 #ifndef U_HIDE_DEPRECATED_API
942 
962 U_DEPRECATED int32_t U_EXPORT2
964  const char *locale,
965  char *buffer,
966  int32_t capacity,
967  UErrorCode *status);
968 
989 U_DEPRECATED int32_t U_EXPORT2
990 ucol_normalizeShortDefinitionString(const char *source,
991  char *destination,
992  int32_t capacity,
993  UParseError *parseError,
994  UErrorCode *status);
995 #endif /* U_HIDE_DEPRECATED_API */
996 
997 
1020 U_CAPI int32_t U_EXPORT2
1021 ucol_getSortKey(const UCollator *coll,
1022  const UChar *source,
1023  int32_t sourceLength,
1024  uint8_t *result,
1025  int32_t resultLength);
1026 
1027 
1048 U_CAPI int32_t U_EXPORT2
1049 ucol_nextSortKeyPart(const UCollator *coll,
1050  UCharIterator *iter,
1051  uint32_t state[2],
1052  uint8_t *dest, int32_t count,
1053  UErrorCode *status);
1054 
1062 typedef enum {
1069 #ifndef U_HIDE_DEPRECATED_API
1070 
1075 #endif /* U_HIDE_DEPRECATED_API */
1076 } UColBoundMode;
1077 
1115 U_CAPI int32_t U_EXPORT2
1116 ucol_getBound(const uint8_t *source,
1117  int32_t sourceLength,
1118  UColBoundMode boundType,
1119  uint32_t noOfLevels,
1120  uint8_t *result,
1121  int32_t resultLength,
1122  UErrorCode *status);
1123 
1132 U_CAPI void U_EXPORT2
1133 ucol_getVersion(const UCollator* coll, UVersionInfo info);
1134 
1142 U_CAPI void U_EXPORT2
1143 ucol_getUCAVersion(const UCollator* coll, UVersionInfo info);
1144 
1192 U_CAPI int32_t U_EXPORT2
1193 ucol_mergeSortkeys(const uint8_t *src1, int32_t src1Length,
1194  const uint8_t *src2, int32_t src2Length,
1195  uint8_t *dest, int32_t destCapacity);
1196 
1208 U_CAPI void U_EXPORT2
1210 
1222 U_CAPI UColAttributeValue U_EXPORT2
1223 ucol_getAttribute(const UCollator *coll, UColAttribute attr, UErrorCode *status);
1224 
1241 U_CAPI void U_EXPORT2
1242 ucol_setMaxVariable(UCollator *coll, UColReorderCode group, UErrorCode *pErrorCode);
1243 
1251 U_CAPI UColReorderCode U_EXPORT2
1252 ucol_getMaxVariable(const UCollator *coll);
1253 
1254 #ifndef U_HIDE_DEPRECATED_API
1255 
1275 U_DEPRECATED uint32_t U_EXPORT2
1277  const UChar *varTop, int32_t len,
1278  UErrorCode *status);
1279 #endif /* U_HIDE_DEPRECATED_API */
1280 
1292 U_CAPI uint32_t U_EXPORT2 ucol_getVariableTop(const UCollator *coll, UErrorCode *status);
1293 
1294 #ifndef U_HIDE_DEPRECATED_API
1295 
1309 U_DEPRECATED void U_EXPORT2
1310 ucol_restoreVariableTop(UCollator *coll, const uint32_t varTop, UErrorCode *status);
1311 #endif /* U_HIDE_DEPRECATED_API */
1312 
1336 U_CAPI UCollator* U_EXPORT2
1337 ucol_safeClone(const UCollator *coll,
1338  void *stackBuffer,
1339  int32_t *pBufferSize,
1340  UErrorCode *status);
1341 
1342 #ifndef U_HIDE_DEPRECATED_API
1343 
1347 #define U_COL_SAFECLONE_BUFFERSIZE 1
1348 
1349 #endif /* U_HIDE_DEPRECATED_API */
1350 
1366 U_CAPI int32_t U_EXPORT2
1367 ucol_getRulesEx(const UCollator *coll, UColRuleOption delta, UChar *buffer, int32_t bufferLen);
1368 
1369 #ifndef U_HIDE_DEPRECATED_API
1370 
1384 U_DEPRECATED const char * U_EXPORT2
1385 ucol_getLocale(const UCollator *coll, ULocDataLocaleType type, UErrorCode *status);
1386 #endif /* U_HIDE_DEPRECATED_API */
1387 
1402 U_CAPI const char * U_EXPORT2
1403 ucol_getLocaleByType(const UCollator *coll, ULocDataLocaleType type, UErrorCode *status);
1404 
1415 U_CAPI USet * U_EXPORT2
1416 ucol_getTailoredSet(const UCollator *coll, UErrorCode *status);
1417 
1418 #ifndef U_HIDE_INTERNAL_API
1419 
1430 U_CAPI int32_t U_EXPORT2
1431 ucol_getUnsafeSet( const UCollator *coll,
1432  USet *unsafe,
1433  UErrorCode *status);
1434 
1455 U_CAPI void U_EXPORT2
1456 ucol_prepareShortStringOpen( const char *definition,
1457  UBool forceDefaults,
1458  UParseError *parseError,
1459  UErrorCode *status);
1460 #endif /* U_HIDE_INTERNAL_API */
1461 
1473 U_CAPI int32_t U_EXPORT2
1474 ucol_cloneBinary(const UCollator *coll,
1475  uint8_t *buffer, int32_t capacity,
1476  UErrorCode *status);
1477 
1495 U_CAPI UCollator* U_EXPORT2
1496 ucol_openBinary(const uint8_t *bin, int32_t length,
1497  const UCollator *base,
1498  UErrorCode *status);
1499 
1500 
1501 #endif /* #if !UCONFIG_NO_COLLATION */
1502 
1503 #endif
"Smart pointer" class, closes a UCollator via ucol_close().
uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]
The binary form of a version on ICU APIs is an array of 4 uint8_t.
Definition: uversion.h:59
Characters with the currency property.
Definition: ucol.h:197
string a < string b
Definition: ucol.h:82
Turn the feature on - works for UCOL_FRENCH_COLLATION, UCOL_CASE_LEVEL, UCOL_HIRAGANA_QUATERNARY_MODE...
Definition: ucol.h:118
Characters with the symbol property.
Definition: ucol.h:191
U_CAPI UCollator * ucol_open(const char *loc, UErrorCode *status)
Open a UCollator for comparing strings.
U_CAPI UEnumeration * ucol_getKeywords(UErrorCode *status)
Create a string enumerator of all possible keywords that are relevant to collation.
U_CAPI int32_t ucol_getBound(const uint8_t *source, int32_t sourceLength, UColBoundMode boundType, uint32_t noOfLevels, uint8_t *result, int32_t resultLength, UErrorCode *status)
Produce a bound for a given sortkey and a number of levels.
U_CAPI UCollationResult ucol_strcoll(const UCollator *coll, const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength)
Compare two strings.
Retrieves the "UCA rules" concatenated with the tailoring rules.
Definition: ucol.h:376
A special reordering code that is used to specify all other codes used for reordering except for the ...
Definition: ucol.h:167
U_CAPI int32_t ucol_getSortKey(const UCollator *coll, const UChar *source, int32_t sourceLength, uint8_t *result, int32_t resultLength)
Get a sort key for a string from a UCollator.
U_CAPI int32_t ucol_getEquivalentReorderCodes(int32_t reorderCode, int32_t *dest, int32_t destCapacity, UErrorCode *pErrorCode)
Retrieves the reorder codes that are grouped with the given reorder code.
U_CAPI uint32_t ucol_getVariableTop(const UCollator *coll, UErrorCode *status)
Gets the variable top value of a Collator.
U_CAPI UEnumeration * ucol_getKeywordValues(const char *keyword, UErrorCode *status)
Given a keyword, create a string enumeration of all values for that keyword that are currently in use...
upper bound that will match all the strings that have the same initial substring as the given string ...
Definition: ucol.h:1068
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
One more than the highest normal UColAttributeValue value.
Definition: ucol.h:136
lower bound
Definition: ucol.h:1064
U_CAPI int32_t ucol_countAvailable(void)
Determine how many locales have collation rules available.
U_CAPI const char * ucol_getAvailable(int32_t localeIndex)
Get a locale for which collation rules are available.
Controls the ordering of upper and lower case letters.
Definition: ucol.h:272
UCollationResult
UCOL_LESS is returned if source string is compared to be less than target string in the ucol_strcoll(...
Definition: ucol.h:76
Retrieves the tailoring rules only.
Definition: ucol.h:368
uint32_t ucol_setVariableTop(UCollator *coll, const UChar *varTop, int32_t len, UErrorCode *status)
Sets the variable top to the primary weight of the specified string.
Valid for UCOL_ALTERNATE_HANDLING.
Definition: ucol.h:123
Controls whether the normalization check and necessary normalizations are performed.
Definition: ucol.h:292
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:44
U_CAPI UColAttributeValue ucol_getAttribute(const UCollator *coll, UColAttribute attr, UErrorCode *status)
Universal attribute getter.
U_CAPI UBool ucol_greaterOrEqual(const UCollator *coll, const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength)
Determine if one string is greater than or equal to another.
U_CAPI void ucol_getUCAVersion(const UCollator *coll, UVersionInfo info)
Gets the UCA version information for a Collator.
C API for code unit iteration.
Definition: uiter.h:341
accepted by most attributes
Definition: ucol.h:94
string a == string b
Definition: ucol.h:78
UColAttributeValue UCollationStrength
Base letter represents a primary difference.
Definition: ucol.h:239
U_CAPI int32_t ucol_getRulesEx(const UCollator *coll, UColRuleOption delta, UChar *buffer, int32_t bufferLen)
Returns current rules.
U_CAPI UEnumeration * ucol_getKeywordValuesForLocale(const char *key, const char *locale, UBool commonlyUsed, UErrorCode *status)
Given a key and a locale, returns an array of string values in a preferred order that would make a di...
Characters with the digit property.
Definition: ucol.h:203
U_CAPI UCollationStrength ucol_getStrength(const UCollator *coll)
Get the collation strength used in a UCollator.
Default collation strength.
Definition: ucol.h:103
U_CAPI void ucol_getVersion(const UCollator *coll, UVersionInfo info)
Gets the version information for a Collator.
U_CAPI UColReorderCode ucol_getMaxVariable(const UCollator *coll)
Returns the maximum reordering group whose characters are affected by UCOL_ALTERNATE_HANDLING.
Valid for UCOL_CASE_FIRST - lower case sorts before upper case.
Definition: ucol.h:127
C API: Unicode Script Information.
C API: Unicode Set.
U_CAPI const UChar * ucol_getRules(const UCollator *coll, int32_t *length)
Get the collation tailoring rules from a UCollator.
UColReorderCode
Enum containing the codes for reordering segments of the collation table that are not script codes...
Definition: ucol.h:149
UColAttribute
Attributes that collation service understands.
Definition: ucol.h:245
Turn the feature off - works for UCOL_FRENCH_COLLATION, UCOL_CASE_LEVEL, UCOL_HIRAGANA_QUATERNARY_MOD...
Definition: ucol.h:114
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API.
Definition: umachine.h:116
U_CAPI int32_t ucol_getFunctionalEquivalent(char *result, int32_t resultCapacity, const char *keyword, const char *locale, UBool *isAvailable, UErrorCode *status)
Return the functionally equivalent locale for the specified input locale, with respect to given keywo...
A special reordering code that is used to specify no reordering codes.
Definition: ucol.h:160
U_CAPI UCollator * ucol_safeClone(const UCollator *coll, void *stackBuffer, int32_t *pBufferSize, UErrorCode *status)
Thread safe cloning operation.
upper bound that will match strings of exact size
Definition: ucol.h:1066
Attribute for direction of secondary weights - used in Canadian French.
Definition: ucol.h:252
The strength attribute.
Definition: ucol.h:313
U_CAPI int32_t ucol_mergeSortkeys(const uint8_t *src1, int32_t src1Length, const uint8_t *src2, int32_t src2Length, uint8_t *dest, int32_t destCapacity)
Merges two sort keys.
When turned on, this attribute makes substrings of digits sort according to their numeric values...
Definition: ucol.h:346
Secondary collation strength.
Definition: ucol.h:99
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
U_CAPI void ucol_setReorderCodes(UCollator *coll, const int32_t *reorderCodes, int32_t reorderCodesLength, UErrorCode *pErrorCode)
Sets the reordering codes for this collator.
void ucol_restoreVariableTop(UCollator *coll, const uint32_t varTop, UErrorCode *status)
Sets the variable top to the specified primary weight.
When turned on, this attribute positions Hiragana before all non-ignorables on quaternary level This ...
Definition: ucol.h:326
Controls whether an extra case level (positioned before the third level) is generated or not...
Definition: ucol.h:282
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
U_CAPI const char * ucol_getLocaleByType(const UCollator *coll, ULocDataLocaleType type, UErrorCode *status)
gets the locale name of the collator.
C API: Unicode Normalization.
int32_t ucol_getContractions(const UCollator *coll, USet *conts, UErrorCode *status)
Get a set containing the contractions defined by the collator.
U_CAPI void ucol_setStrength(UCollator *coll, UCollationStrength strength)
Set the collation strength used in a UCollator.
upper case sorts before lower case
Definition: ucol.h:129
U_CAPI int32_t ucol_getUnsafeSet(const UCollator *coll, USet *unsafe, UErrorCode *status)
Calculates the set of unsafe code points, given a collator.
The first entry in the enumeration of reordering groups.
Definition: ucol.h:179
U_CAPI UCollator * ucol_openBinary(const uint8_t *bin, int32_t length, const UCollator *base, UErrorCode *status)
Opens a collator from a collator binary image created using ucol_cloneBinary.
U_CAPI void ucol_setMaxVariable(UCollator *coll, UColReorderCode group, UErrorCode *pErrorCode)
Sets the variable top to the top of the specified reordering group.
Tertiary collation strength.
Definition: ucol.h:101
A special reordering code that is used to specify the default reordering codes for a locale...
Definition: ucol.h:155
const char * ucol_getLocale(const UCollator *coll, ULocDataLocaleType type, UErrorCode *status)
gets the locale name of the collator.
U_CAPI UCollator * ucol_openRules(const UChar *rules, int32_t rulesLength, UColAttributeValue normalizationMode, UCollationStrength strength, UParseError *parseError, UErrorCode *status)
Produce a UCollator instance according to the rules supplied.
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:418
U_CAPI void ucol_close(UCollator *coll)
Close a UCollator.
string a > string b
Definition: ucol.h:80
C API: Parse Error Information.
int32_t ucol_normalizeShortDefinitionString(const char *source, char *destination, int32_t capacity, UParseError *parseError, UErrorCode *status)
Verifies and normalizes short definition string.
U_CAPI void ucol_prepareShortStringOpen(const char *definition, UBool forceDefaults, UParseError *parseError, UErrorCode *status)
Touches all resources needed for instantiating a collator from a short string definition, thus filling up the cache.
int32_t ucol_getShortDefinitionString(const UCollator *coll, const char *locale, char *buffer, int32_t capacity, UErrorCode *status)
Get the short definition string for a collator.
U_CAPI int32_t ucol_cloneBinary(const UCollator *coll, uint8_t *buffer, int32_t capacity, UErrorCode *status)
Creates a binary image of a collator.
U_CAPI void ucol_setAttribute(UCollator *coll, UColAttribute attr, UColAttributeValue value, UErrorCode *status)
Universal attribute setter.
One more than the highest normal UColBoundMode value.
Definition: ucol.h:1074
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested...
Definition: uloc.h:338
struct USet USet
USet is the C API type corresponding to C++ class UnicodeSet.
Definition: uset.h:50
U_CAPI void ucol_getContractionsAndExpansions(const UCollator *coll, USet *contractions, USet *expansions, UBool addPrefixes, UErrorCode *status)
Get a set containing the expansions defined by the collator.
U_CAPI UCollationResult ucol_strcollIter(const UCollator *coll, UCharIterator *sIter, UCharIterator *tIter, UErrorCode *status)
Compare two UTF-8 encoded trings.
Characters with the punctuation property.
Definition: ucol.h:185
UColBoundMode
enum that is taken by ucol_getBound API See below for explanation do not change the values assigned t...
Definition: ucol.h:1062
U_CAPI UBool ucol_equal(const UCollator *coll, const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength)
Compare two strings for equality.
struct UCollator UCollator
structure representing a collator object instance
Definition: ucol.h:61
U_CAPI int32_t ucol_nextSortKeyPart(const UCollator *coll, UCharIterator *iter, uint32_t state[2], uint8_t *dest, int32_t count, UErrorCode *status)
Gets the next count bytes of a sort key.
Valid for UCOL_ALTERNATE_HANDLING.
Definition: ucol.h:121
A UParseError struct is used to returned detailed information about parsing errors.
Definition: parseerr.h:58
Basic definitions for ICU, for both C and C++ APIs.
Identical collation strength.
Definition: ucol.h:108
UCollator * ucol_openFromShortString(const char *definition, UBool forceDefaults, UParseError *parseError, UErrorCode *status)
Open a collator defined by a short form string.
Quaternary collation strength.
Definition: ucol.h:106
Attribute for handling variable elements.
Definition: ucol.h:263
An alias for UCOL_NORMALIZATION_MODE attribute.
Definition: ucol.h:296
U_CAPI UBool ucol_greater(const UCollator *coll, const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength)
Determine if one string is greater than another.
UColAttributeValue
Enum containing attribute values for controlling collation behavior.
Definition: ucol.h:92
U_CAPI UCollationResult ucol_strcollUTF8(const UCollator *coll, const char *source, int32_t sourceLength, const char *target, int32_t targetLength, UErrorCode *status)
Compare two strings in UTF-8.
U_CAPI UEnumeration * ucol_openAvailableLocales(UErrorCode *status)
Create a string enumerator of all locales for which a valid collator may be opened.
Characters with the space property.
Definition: ucol.h:173
UColRuleOption
Options for retrieving the rule string.
Definition: ucol.h:362
One more than the highest normal UColAttribute value.
Definition: ucol.h:355
U_CAPI int32_t ucol_getReorderCodes(const UCollator *coll, int32_t *dest, int32_t destCapacity, UErrorCode *pErrorCode)
Retrieves the reordering codes for this collator.
Primary collation strength.
Definition: ucol.h:97
U_CAPI int32_t ucol_getDisplayName(const char *objLoc, const char *dispLoc, UChar *result, int32_t resultLength, UErrorCode *status)
Get the display name for a UCollator.
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition: umachine.h:269
One more than the highest normal UColReorderCode value.
Definition: ucol.h:209
C API: Locale.
U_CAPI USet * ucol_getTailoredSet(const UCollator *coll, UErrorCode *status)
Get a Unicode set that contains all the characters and sequences tailored in this collator...