]>
git.saurik.com Git - apple/icu.git/blob - icuSources/i18n/uplrule.cpp
2 *****************************************************************************************
3 * Copyright (C) 2010 Apple Inc. All Rights Reserved.
4 *****************************************************************************************
7 #include "unicode/utypes.h"
9 #if !UCONFIG_NO_FORMATTING
11 #include "unicode/uplrule.h"
12 #include "unicode/plurrule.h"
13 #include "unicode/locid.h"
14 #include "unicode/unistr.h"
18 U_CAPI UPluralRules
* U_EXPORT2
19 uplrule_open(const char *locale
,
22 if (status
== NULL
|| U_FAILURE(*status
)) {
25 return (UPluralRules
*)PluralRules::forLocale(Locale(locale
), *status
);
29 uplrule_close(UPluralRules
*plrules
)
31 delete (PluralRules
*)plrules
;
34 U_CAPI
int32_t U_EXPORT2
35 uplrule_select(const UPluralRules
*plrules
,
37 UChar
*keyword
, int32_t capacity
,
40 if (status
== NULL
|| U_FAILURE(*status
)) {
43 UnicodeString result
= ((PluralRules
*)plrules
)->select(number
);
44 return result
.extract(keyword
, capacity
, *status
);
47 U_CAPI
int32_t U_EXPORT2
48 uplrule_selectDouble(const UPluralRules
*plrules
,
50 UChar
*keyword
, int32_t capacity
,
53 if (status
== NULL
|| U_FAILURE(*status
)) {
56 UnicodeString result
= ((PluralRules
*)plrules
)->select(number
);
57 return result
.extract(keyword
, capacity
, *status
);
60 #endif /* #if !UCONFIG_NO_FORMATTING */