xref: /aosp_15_r20/external/icu/tools/icu4c_srcgen/cxxfiles.txt (revision 0e209d3975ff4a8c132096b14b0e9364a753506e)
1## This file contains all cxx headers from i18n & common directories for shim
2## library generator which strips all C++ APIs. This file used to be present at
3## icu4c/source/test/hdrtst/cxxfiles.txt but after 65.1 it was removed so
4## (at least in 65.1 upgrade) it is manually constructed.
5##
6## To construct this file the following steps were performed
7## (pseudocode, variables refer sets, operators as in
8##  https://docs.python.org/2/library/stdtypes.html#set):
9##
10## CXX64  = <files from cxxfiles.txt from ICU 64.2>
11## I18N   = <files from icu4c/source/i18n/unicode>
12## COMMON = <files from icu4c/source/common/unicode>
13## NEW    = CXX64 - (i18N | COMMON)
14##
15## Now manually filter out C headers from NEW set and paste them below, commenting
16## out non-C++ APIs which results only two new C++ files (localpointer and localematcher):
17#parseerr.h
18#icuplug.h
19#ptypes.h
20#utf_old.h
21#utf16.h
22#utf.h
23#utf8.h
24#utf32.h
25#stringoptions.h
26# icudataver.h
27# putil.h
28# docmain.h
29# platform.h
30
31# Android-changed: localpointer.h is required to generate libandroidicu headers
32# localpointer.h
33localematcher.h
34
35## Further until the end of file is a copy of cxxfiles.txt from ICU 64.2:
36# Copyright (C) 2016 and later: Unicode, Inc. and others.
37# License & terms of use: http://www.unicode.org/copyright.html
38# Copyright (c) 2001-2016 International Business Machines
39# Corporation and others. All Rights Reserved.
40# Begin temporary addition.
41# These are very bad "C" APIs that do not work with a C compiler and
42# violate many ICU coding guidelines. These were added with ticket #5996.
43# Temporarily marked as C++ for the hdrtst to pass.
44# These are gone in ICU 50.1, remove
45#vzone.h
46#zrule.h
47#ztrans.h
48# End temporary addition.
49# common & i18n
50alphaindex.h
51appendable.h
52bidi.h
53basictz.h
54bmsearch.h
55brkiter.h
56bytestream.h
57bytestrie.h
58bytestriebuilder.h
59calendar.h
60caniter.h
61casemap.h
62char16ptr.h
63chariter.h
64choicfmt.h
65coleitr.h
66coll.h
67colldata.h
68compactdecimalformat.h
69convert.h
70cpdtrans.h
71curramt.h
72currunit.h
73currpinf.h
74datefmt.h
75dbbi.h
76dcfmtsym.h
77decimfmt.h
78dtintrv.h
79dtitvinf.h
80dtitvfmt.h
81dtfmtsym.h
82dtptngen.h
83dtrule.h
84edits.h
85enumset.h
86errorcode.h
87fieldpos.h
88filteredbrk.h
89fmtable.h
90format.h
91formattedvalue.h
92fpositer.h
93gender.h
94gregocal.h
95idna.h
96listformatter.h
97localebuilder.h
98locdspnm.h
99locid.h
100measfmt.h
101measunit.h
102measure.h
103messagepattern.h
104msgfmt.h
105normalizer2.h
106normlzr.h
107nounit.h
108numberformatter.h
109numberrangeformatter.h
110numfmt.h
111numsys.h
112parsepos.h
113plurfmt.h
114plurrule.h
115rbbi.h
116rbnf.h
117rbtz.h
118regex.h
119region.h
120reldatefmt.h
121rep.h
122resbund.h
123schriter.h
124scientificformathelper.h
125scientificnumberformatter.h
126search.h
127selfmt.h
128simpleformatter.h
129simpletz.h
130smpdtfmt.h
131sortkey.h
132std_string.h
133strenum.h
134stringtriebuilder.h
135stringpiece.h
136stsearch.h
137symtable.h
138tblcoll.h
139timezone.h
140tmunit.h
141tmutamt.h
142tmutfmt.h
143translit.h
144tzfmt.h
145tznames.h
146tzrule.h
147tztrans.h
148ucharstrie.h
149ucharstriebuilder.h
150uchriter.h
151unifilt.h
152unifunct.h
153unimatch.h
154unirepl.h
155uniset.h
156unistr.h
157uobject.h
158usetiter.h
159vtzone.h
160# io library
161ustream.h
162# layout & layoutex
163LayoutEngine.h
164LEFontInstance.h
165LEGlyphFilter.h
166LEGlyphStorage.h
167LELanguages.h
168LEScripts.h
169LESwaps.h
170# LETypes.h -- C header
171# loengine.h -- C header
172ParagraphLayout.h
173RunArrays.h
174