"Fossies" - the Fresh Open Source Software Archive

Member "upluralrules_8h_source.html" (3 Oct 2019, 29205 Bytes) of package /linux/misc/icu4c-65_1-docs.zip:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

ICU 65.1  65.1
upluralrules.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) 2010-2013, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 *****************************************************************************************
8 */
9 
10 #ifndef UPLURALRULES_H
11 #define UPLURALRULES_H
12 
13 #include "unicode/utypes.h"
14 
15 #if !UCONFIG_NO_FORMATTING
16 
17 #include "unicode/localpointer.h"
18 #include "unicode/uenum.h"
19 #ifndef U_HIDE_INTERNAL_API
20 #include "unicode/unum.h"
21 #endif /* U_HIDE_INTERNAL_API */
22 
23 // Forward-declaration
24 struct UFormattedNumber;
25 
64 #ifndef U_HIDE_DEPRECATED_API
65 
70 #endif /* U_HIDE_DEPRECATED_API */
71 };
75 typedef enum UPluralType UPluralType;
76 
81 struct UPluralRules;
82 typedef struct UPluralRules UPluralRules;
93 U_CAPI UPluralRules* U_EXPORT2
94 uplrules_open(const char *locale, UErrorCode *status);
95 
105 U_CAPI UPluralRules* U_EXPORT2
106 uplrules_openForType(const char *locale, UPluralType type, UErrorCode *status);
107 
113 U_CAPI void U_EXPORT2
114 uplrules_close(UPluralRules *uplrules);
115 
116 
117 #if U_SHOW_CPLUSPLUS_API
118 
119 U_NAMESPACE_BEGIN
120 
131 
132 U_NAMESPACE_END
133 
134 #endif
135 
136 
149 U_CAPI int32_t U_EXPORT2
150 uplrules_select(const UPluralRules *uplrules,
151  double number,
152  UChar *keyword, int32_t capacity,
153  UErrorCode *status);
154 
155 #ifndef U_HIDE_DRAFT_API
156 
173 U_CAPI int32_t U_EXPORT2
174 uplrules_selectFormatted(const UPluralRules *uplrules,
175  const struct UFormattedNumber* number,
176  UChar *keyword, int32_t capacity,
177  UErrorCode *status);
178 #endif /* U_HIDE_DRAFT_API */
179 
180 #ifndef U_HIDE_INTERNAL_API
181 
199 U_INTERNAL int32_t U_EXPORT2
201  double number,
202  const UNumberFormat *fmt,
203  UChar *keyword, int32_t capacity,
204  UErrorCode *status);
205 
206 #endif /* U_HIDE_INTERNAL_API */
207 
218 U_STABLE UEnumeration* U_EXPORT2
219 uplrules_getKeywords(const UPluralRules *uplrules,
220  UErrorCode *status);
221 
222 #endif /* #if !UCONFIG_NO_FORMATTING */
223 
224 #endif
UEnumeration * uplrules_getKeywords(const UPluralRules *uplrules, UErrorCode *status)
Creates a string enumeration of all plural rule keywords used in this UPluralRules object...
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:109
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:43
#define U_INTERNAL
This is used to declare a function as an internal ICU C API.
Definition: umachine.h:119
U_CAPI void uplrules_close(UPluralRules *uplrules)
Closes a UPluralRules object.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:562
struct UFormattedNumber UFormattedNumber
C-compatible version of icu::number::FormattedNumber.
void * UNumberFormat
A number formatter.
Definition: unum.h:141
Plural rules for ordinal numbers: 1st file, 2nd file, 3rd file, 4th file, etc.
Definition: upluralrules.h:63
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
Plural rules for cardinal numbers: 1 file vs.
Definition: upluralrules.h:58
U_CAPI int32_t uplrules_select(const UPluralRules *uplrules, double number, UChar *keyword, int32_t capacity, UErrorCode *status)
Given a floating-point number, returns the keyword of the first rule that applies to the number...
int32_t uplrules_selectWithFormat(const UPluralRules *uplrules, double number, const UNumberFormat *fmt, UChar *keyword, int32_t capacity, UErrorCode *status)
Given a number, returns the keyword of the first rule that applies to the number, according to the UP...
U_CAPI UPluralRules * uplrules_open(const char *locale, UErrorCode *status)
Opens a new UPluralRules object using the predefined cardinal-number plural rules for a given locale...
U_CAPI UPluralRules * uplrules_openForType(const char *locale, UPluralType type, UErrorCode *status)
Opens a new UPluralRules object using the predefined plural rules for a given locale and the plural t...
uint16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:378
One more than the highest normal UPluralType value.
Definition: upluralrules.h:69
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
UPluralType
Type of plurals and PluralRules.
Definition: upluralrules.h:53
C API: String Enumeration.
struct UPluralRules UPluralRules
C typedef for struct UPluralRules.
Definition: upluralrules.h:82
Basic definitions for ICU, for both C and C++ APIs.
"Smart pointer" class, closes a UPluralRules via uplrules_close().
U_CAPI int32_t uplrules_selectFormatted(const UPluralRules *uplrules, const struct UFormattedNumber *number, UChar *keyword, int32_t capacity, UErrorCode *status)
Given a formatted number, returns the keyword of the first rule that applies to the number...
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:111
C API: Compatibility APIs for number formatting.