OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
alt-nodejs22
/
root
/
usr
/
include
/
unicode
Server IP: 2a02:4780:11:1594:0:ef5:22d7:a
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/21/2025 06:56:31 AM
rwxr-xr-x
📄
alphaindex.h
26.54 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
appendable.h
8.54 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
basictz.h
9.99 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
brkiter.h
27.84 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
bytestream.h
10.77 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
bytestrie.h
20.83 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
bytestriebuilder.h
7.48 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
calendar.h
107.54 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
caniter.h
7.53 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
casemap.h
25.42 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
char16ptr.h
10.79 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
chariter.h
23.79 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
choicfmt.h
23.99 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
coleitr.h
13.78 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
coll.h
59.6 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
compactdecimalformat.h
6.88 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
curramt.h
3.67 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
currpinf.h
7.3 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
currunit.h
4.02 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
datefmt.h
40.7 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dbbi.h
1.19 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dcfmtsym.h
20.96 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
decimfmt.h
87.46 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
displayoptions.h
7.08 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
docmain.h
7.6 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dtfmtsym.h
38.22 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dtintrv.h
3.84 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dtitvfmt.h
48.87 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dtitvinf.h
18.63 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dtptngen.h
28.05 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
dtrule.h
8.66 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
edits.h
20.74 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
enumset.h
2.08 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
errorcode.h
4.84 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
fieldpos.h
8.69 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
filteredbrk.h
5.37 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
fmtable.h
24.37 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
format.h
12.51 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
formattednumber.h
6.28 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
formattedvalue.h
9.75 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
fpositer.h
3.03 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
gender.h
3.35 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
gregocal.h
30.32 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
icudataver.h
1.02 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
icuplug.h
12.1 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
idna.h
12.93 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
listformatter.h
8.59 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
localebuilder.h
11.08 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
localematcher.h
26.86 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
localpointer.h
19.55 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
locdspnm.h
7.12 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
locid.h
48.62 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
measfmt.h
11.41 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
measunit.h
111.44 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
measure.h
4.63 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
messageformat2.h
21.05 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
messageformat2_arguments.h
4.49 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
messageformat2_data_model.h
101.89 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
messageformat2_data_model_names.h
784 bytes
06/06/2025 11:36:00 AM
rw-r--r--
📄
messageformat2_formattable.h
38.36 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
messageformat2_function_registry.h
18.07 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
messagepattern.h
33.79 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
msgfmt.h
44.2 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
normalizer2.h
34.68 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
normlzr.h
30.79 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
nounit.h
2.24 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
numberformatter.h
90.69 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
numberrangeformatter.h
26 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
numfmt.h
50.16 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
numsys.h
7.22 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
parseerr.h
3.08 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
parsepos.h
5.56 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
platform.h
27.18 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
plurfmt.h
25.07 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
plurrule.h
20.63 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ptypes.h
2.16 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
putil.h
6.32 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
rbbi.h
32.04 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
rbnf.h
56.16 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
rbtz.h
15.75 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
regex.h
84.45 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
region.h
9.2 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
reldatefmt.h
22.48 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
rep.h
9.38 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
resbund.h
18.02 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
schriter.h
6.09 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
scientificnumberformatter.h
6.44 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
search.h
22.21 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
selfmt.h
14.35 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
simpleformatter.h
12.6 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
simplenumberformatter.h
8.87 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
simpletz.h
45.62 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
smpdtfmt.h
57.06 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
sortkey.h
11.13 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
std_string.h
1.05 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
strenum.h
9.96 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
stringoptions.h
5.79 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
stringpiece.h
10.28 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
stringtriebuilder.h
15.53 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
stsearch.h
21.43 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
symtable.h
4.28 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tblcoll.h
36.96 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
timezone.h
45.59 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tmunit.h
3.4 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tmutamt.h
4.9 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tmutfmt.h
7.42 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
translit.h
65.81 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tzfmt.h
42.95 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tznames.h
16.85 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tzrule.h
34.81 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
tztrans.h
6.11 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ubidi.h
89.61 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ubiditransform.h
12.71 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ubrk.h
24.43 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucal.h
63.96 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucasemap.h
15.27 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucat.h
5.35 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uchar.h
151.74 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucharstrie.h
22.59 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucharstriebuilder.h
7.48 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uchriter.h
13.24 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uclean.h
11.21 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucnv.h
83.34 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucnv_cb.h
6.58 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucnv_err.h
20.98 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucnvsel.h
6.24 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucol.h
67.28 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucoleitr.h
9.82 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uconfig.h
12.56 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucpmap.h
5.54 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucptrie.h
22.51 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucsdet.h
14.69 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ucurr.h
16.72 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
udat.h
62.36 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
udata.h
15.63 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
udateintervalformat.h
11.93 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
udatpg.h
30.13 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
udisplaycontext.h
5.94 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
udisplayoptions.h
8.86 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uenum.h
7.79 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ufieldpositer.h
4.41 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uformattable.h
10.97 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uformattednumber.h
8.09 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uformattedvalue.h
12.25 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ugender.h
2.06 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uidna.h
34.12 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uiter.h
22.75 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uldnames.h
10.48 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ulistformatter.h
10.78 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uloc.h
55.38 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ulocale.h
6.31 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ulocbuilder.h
16.69 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ulocdata.h
11.3 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
umachine.h
14.59 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
umisc.h
1.34 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
umsg.h
24.25 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
umutablecptrie.h
8.3 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unifilt.h
4 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unifunct.h
4.05 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unimatch.h
6.1 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unirepl.h
3.38 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uniset.h
70.4 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unistr.h
182.08 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unorm.h
20.55 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unorm2.h
25.66 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unum.h
55.16 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unumberformatter.h
19.68 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unumberoptions.h
5.23 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unumberrangeformatter.h
15.35 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
unumsys.h
7.26 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uobject.h
10.66 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
upluralrules.h
8.79 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uregex.h
71.99 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uregion.h
9.81 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ureldatefmt.h
16.98 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
urename.h
141.99 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
urep.h
5.38 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ures.h
36.65 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uscript.h
28.51 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
usearch.h
39.21 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uset.h
63.08 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
usetiter.h
9.63 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ushape.h
18 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
usimplenumberformatter.h
7.31 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uspoof.h
80 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
usprep.h
8.19 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ustdio.h
38.58 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ustream.h
1.89 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ustring.h
72.16 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
ustringtrie.h
3.15 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utext.h
58.1 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utf.h
7.87 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utf16.h
23.35 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utf32.h
763 bytes
06/06/2025 11:36:00 AM
rw-r--r--
📄
utf8.h
30.83 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utf_old.h
45.8 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utmscale.h
13.78 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utrace.h
17.18 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utrans.h
25.54 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
utypes.h
34.48 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uvernum.h
6.33 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
uversion.h
8.21 KB
06/06/2025 11:36:00 AM
rw-r--r--
📄
vtzone.h
20.68 KB
06/06/2025 11:36:00 AM
rw-r--r--
Editing: ulistformatter.h
Close
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ***************************************************************************************** * Copyright (C) 2015-2016, International Business Machines * Corporation and others. All Rights Reserved. ***************************************************************************************** */ #ifndef ULISTFORMATTER_H #define ULISTFORMATTER_H #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING #include "unicode/uformattedvalue.h" #if U_SHOW_CPLUSPLUS_API #include "unicode/localpointer.h" #endif // U_SHOW_CPLUSPLUS_API /** * \file * \brief C API: Format a list in a locale-appropriate way. * * A UListFormatter is used to format a list of items in a locale-appropriate way, * using data from CLDR. * Example: Input data ["Alice", "Bob", "Charlie", "Delta"] will be formatted * as "Alice, Bob, Charlie, and Delta" in English. */ /** * Opaque UListFormatter object for use in C * @stable ICU 55 */ struct UListFormatter; typedef struct UListFormatter UListFormatter; /**< C typedef for struct UListFormatter. @stable ICU 55 */ struct UFormattedList; /** * Opaque struct to contain the results of a UListFormatter operation. * @stable ICU 64 */ typedef struct UFormattedList UFormattedList; /** * FieldPosition and UFieldPosition selectors for format fields * defined by ListFormatter. * @stable ICU 63 */ typedef enum UListFormatterField { /** * The literal text in the result which came from the resources. * @stable ICU 63 */ ULISTFMT_LITERAL_FIELD, /** * The element text in the result which came from the input strings. * @stable ICU 63 */ ULISTFMT_ELEMENT_FIELD } UListFormatterField; /** * Type of meaning expressed by the list. * * @stable ICU 67 */ typedef enum UListFormatterType { /** * Conjunction formatting, e.g. "Alice, Bob, Charlie, and Delta". * * @stable ICU 67 */ ULISTFMT_TYPE_AND, /** * Disjunction (or alternative, or simply one of) formatting, e.g. * "Alice, Bob, Charlie, or Delta". * * @stable ICU 67 */ ULISTFMT_TYPE_OR, /** * Formatting of a list of values with units, e.g. "5 pounds, 12 ounces". * * @stable ICU 67 */ ULISTFMT_TYPE_UNITS } UListFormatterType; /** * Verbosity level of the list patterns. * * @stable ICU 67 */ typedef enum UListFormatterWidth { /** * Use list formatting with full words (no abbreviations) when possible. * * @stable ICU 67 */ ULISTFMT_WIDTH_WIDE, /** * Use list formatting of typical length. * @stable ICU 67 */ ULISTFMT_WIDTH_SHORT, /** * Use list formatting of the shortest possible length. * @stable ICU 67 */ ULISTFMT_WIDTH_NARROW, } UListFormatterWidth; /** * Open a new UListFormatter object using the rules for a given locale. * The object will be initialized with AND type and WIDE width. * * @param locale * The locale whose rules should be used; may be NULL for * default locale. * @param status * A pointer to a standard ICU UErrorCode (input/output parameter). * Its input value must pass the U_SUCCESS() test, or else the * function returns immediately. The caller should check its output * value with U_FAILURE(), or use with function chaining (see User * Guide for details). * @return * A pointer to a UListFormatter object for the specified locale, * or NULL if an error occurred. * @stable ICU 55 */ U_CAPI UListFormatter* U_EXPORT2 ulistfmt_open(const char* locale, UErrorCode* status); /** * Open a new UListFormatter object appropriate for the given locale, list type, * and style. * * @param locale * The locale whose rules should be used; may be NULL for * default locale. * @param type * The type of list formatting to use. * @param width * The width of formatting to use. * @param status * A pointer to a standard ICU UErrorCode (input/output parameter). * Its input value must pass the U_SUCCESS() test, or else the * function returns immediately. The caller should check its output * value with U_FAILURE(), or use with function chaining (see User * Guide for details). * @return * A pointer to a UListFormatter object for the specified locale, * or NULL if an error occurred. * @stable ICU 67 */ U_CAPI UListFormatter* U_EXPORT2 ulistfmt_openForType(const char* locale, UListFormatterType type, UListFormatterWidth width, UErrorCode* status); /** * Close a UListFormatter object. Once closed it may no longer be used. * @param listfmt * The UListFormatter object to close. * @stable ICU 55 */ U_CAPI void U_EXPORT2 ulistfmt_close(UListFormatter *listfmt); /** * Creates an object to hold the result of a UListFormatter * operation. The object can be used repeatedly; it is cleared whenever * passed to a format function. * * @param ec Set if an error occurs. * @return A pointer needing ownership. * @stable ICU 64 */ U_CAPI UFormattedList* U_EXPORT2 ulistfmt_openResult(UErrorCode* ec); /** * Returns a representation of a UFormattedList as a UFormattedValue, * which can be subsequently passed to any API requiring that type. * * The returned object is owned by the UFormattedList and is valid * only as long as the UFormattedList is present and unchanged in memory. * * You can think of this method as a cast between types. * * When calling ufmtval_nextPosition(): * The fields are returned from start to end. The special field category * UFIELD_CATEGORY_LIST_SPAN is used to indicate which argument * was inserted at the given position. The span category will * always occur before the corresponding instance of UFIELD_CATEGORY_LIST * in the ufmtval_nextPosition() iterator. * * @param uresult The object containing the formatted string. * @param ec Set if an error occurs. * @return A UFormattedValue owned by the input object. * @stable ICU 64 */ U_CAPI const UFormattedValue* U_EXPORT2 ulistfmt_resultAsValue(const UFormattedList* uresult, UErrorCode* ec); /** * Releases the UFormattedList created by ulistfmt_openResult(). * * @param uresult The object to release. * @stable ICU 64 */ U_CAPI void U_EXPORT2 ulistfmt_closeResult(UFormattedList* uresult); #if U_SHOW_CPLUSPLUS_API U_NAMESPACE_BEGIN /** * \class LocalUListFormatterPointer * "Smart pointer" class, closes a UListFormatter via ulistfmt_close(). * For most methods see the LocalPointerBase base class. * * @see LocalPointerBase * @see LocalPointer * @stable ICU 55 */ U_DEFINE_LOCAL_OPEN_POINTER(LocalUListFormatterPointer, UListFormatter, ulistfmt_close); /** * \class LocalUFormattedListPointer * "Smart pointer" class, closes a UFormattedList via ulistfmt_closeResult(). * For most methods see the LocalPointerBase base class. * * @see LocalPointerBase * @see LocalPointer * @stable ICU 64 */ U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedListPointer, UFormattedList, ulistfmt_closeResult); U_NAMESPACE_END #endif /** * Formats a list of strings using the conventions established for the * UListFormatter object. * @param listfmt * The UListFormatter object specifying the list conventions. * @param strings * An array of pointers to UChar strings; the array length is * specified by stringCount. Must be non-NULL if stringCount > 0. * @param stringLengths * An array of string lengths corresponding to the strings[] * parameter; any individual length value may be negative to indicate * that the corresponding strings[] entry is 0-terminated, or * stringLengths itself may be NULL if all of the strings are * 0-terminated. If non-NULL, the stringLengths array must have * stringCount entries. * @param stringCount * the number of entries in strings[], and the number of entries * in the stringLengths array if it is not NULL. Must be >= 0. * @param result * A pointer to a buffer to receive the formatted list. * @param resultCapacity * The maximum size of result. * @param status * A pointer to a standard ICU UErrorCode (input/output parameter). * Its input value must pass the U_SUCCESS() test, or else the * function returns immediately. The caller should check its output * value with U_FAILURE(), or use with function chaining (see User * Guide for details). * @return * The total buffer size needed; if greater than resultLength, the * output was truncated. May be <=0 if unable to determine the * total buffer size needed (e.g. for illegal arguments). * @stable ICU 55 */ U_CAPI int32_t U_EXPORT2 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 to a UFormattedList, which exposes more * information than the string exported by ulistfmt_format(). * * @param listfmt * The UListFormatter object specifying the list conventions. * @param strings * An array of pointers to UChar strings; the array length is * specified by stringCount. Must be non-NULL if stringCount > 0. * @param stringLengths * An array of string lengths corresponding to the strings[] * parameter; any individual length value may be negative to indicate * that the corresponding strings[] entry is 0-terminated, or * stringLengths itself may be NULL if all of the strings are * 0-terminated. If non-NULL, the stringLengths array must have * stringCount entries. * @param stringCount * the number of entries in strings[], and the number of entries * in the stringLengths array if it is not NULL. Must be >= 0. * @param uresult * The object in which to store the result of the list formatting * operation. See ulistfmt_openResult(). * @param status * Error code set if an error occurred during formatting. * @stable ICU 64 */ U_CAPI void U_EXPORT2 ulistfmt_formatStringsToResult( const UListFormatter* listfmt, const UChar* const strings[], const int32_t * stringLengths, int32_t stringCount, UFormattedList* uresult, UErrorCode* status); #endif /* #if !UCONFIG_NO_FORMATTING */ #endif