ICU 69.1  69.1
ulistformatter.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) 2015-2016, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 *****************************************************************************************
8 */
9 
10 #ifndef ULISTFORMATTER_H
11 #define ULISTFORMATTER_H
12 
13 #include "unicode/utypes.h"
14 
15 #if !UCONFIG_NO_FORMATTING
16 
18 
19 #if U_SHOW_CPLUSPLUS_API
20 #include "unicode/localpointer.h"
21 #endif // U_SHOW_CPLUSPLUS_API
22 
37 struct UListFormatter;
40 struct UFormattedList;
46 
52 typedef enum UListFormatterField {
64 
70 typedef enum UListFormatterType {
77 
85 
93 
99 typedef enum UListFormatterWidth {
106 
112 
119 
138 U_CAPI UListFormatter* U_EXPORT2
139 ulistfmt_open(const char* locale,
140  UErrorCode* status);
141 
164 U_CAPI UListFormatter* U_EXPORT2
165 ulistfmt_openForType(const char* locale, UListFormatterType type,
166  UListFormatterWidth width, UErrorCode* status);
167 
174 U_CAPI void U_EXPORT2
176 
186 U_CAPI UFormattedList* U_EXPORT2
188 
210 U_CAPI const UFormattedValue* U_EXPORT2
212 
219 U_CAPI void U_EXPORT2
221 
222 
223 #if U_SHOW_CPLUSPLUS_API
224 
225 U_NAMESPACE_BEGIN
226 
237 
248 
249 U_NAMESPACE_END
250 
251 #endif
252 
287 U_CAPI int32_t U_EXPORT2
288 ulistfmt_format(const UListFormatter* listfmt,
289  const UChar* const strings[],
290  const int32_t * stringLengths,
291  int32_t stringCount,
292  UChar* result,
293  int32_t resultCapacity,
294  UErrorCode* status);
295 
322 U_CAPI void U_EXPORT2
324  const UListFormatter* listfmt,
325  const UChar* const strings[],
326  const int32_t * stringLengths,
327  int32_t stringCount,
328  UFormattedList* uresult,
329  UErrorCode* status);
330 
331 #endif /* #if !UCONFIG_NO_FORMATTING */
332 
333 #endif
U_CAPI UListFormatter * ulistfmt_openForType(const char *locale, UListFormatterType type, UListFormatterWidth width, UErrorCode *status)
Open a new UListFormatter object appropriate for the given locale, list type, and style...
U_CAPI int32_t ulistfmt_format(const UListFormatter *listfmt, const UChar *const strings[], const int32_t *stringLengths, int32_t stringCount, UChar *result, int32_t resultCapacity, UErrorCode *status)
Formats a list of strings using the conventions established for the UListFormatter object...
Formatting of a list of values with units, e.g.
C API: Abstract operations for localized strings.
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
The literal text in the result which came from the resources.
UListFormatterField
FieldPosition and UFieldPosition selectors for format fields defined by ListFormatter.
UListFormatterType
Type of meaning expressed by the list.
U_CAPI void ulistfmt_closeResult(UFormattedList *uresult)
Releases the UFormattedList created by ulistfmt_openResult().
Use list formatting of the shortest possible length.
U_CAPI UFormattedList * ulistfmt_openResult(UErrorCode *ec)
Creates an object to hold the result of a UListFormatter operation.
U_CAPI void ulistfmt_close(UListFormatter *listfmt)
Close a UListFormatter object.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
"Smart pointer" class, closes a UFormattedList via ulistfmt_closeResult().
"Smart pointer" class, closes a UListFormatter via ulistfmt_close().
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:418
Disjunction (or alternative, or simply one of) formatting, e.g.
Conjunction formatting, e.g.
U_CAPI const UFormattedValue * ulistfmt_resultAsValue(const UFormattedList *uresult, UErrorCode *ec)
Returns a representation of a UFormattedList as a UFormattedValue, which can be subsequently passed t...
Use list formatting with full words (no abbreviations) when possible.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
The element text in the result which came from the input strings.
Use list formatting of typical length.
U_CAPI UListFormatter * ulistfmt_open(const char *locale, UErrorCode *status)
Open a new UListFormatter object using the rules for a given locale.
struct UFormattedList UFormattedList
Opaque struct to contain the results of a UListFormatter operation.
Basic definitions for ICU, for both C and C++ APIs.
U_CAPI void ulistfmt_formatStringsToResult(const UListFormatter *listfmt, const UChar *const strings[], const int32_t *stringLengths, int32_t stringCount, UFormattedList *uresult, UErrorCode *status)
Formats a list of strings to a UFormattedList, which exposes more information than the string exporte...
struct UFormattedValue UFormattedValue
An abstract formatted value: a string with associated field attributes.
UListFormatterWidth
Verbosity level of the list patterns.
struct UListFormatter UListFormatter
C typedef for struct UListFormatter.