Avoid potential negative array index access to cached text.
[LibreOffice.git] / vcl / inc / pch / precompiled_vcl.hxx
blobfac11693cfa061ef97ece427ee6cd94c55bcf829
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
11 This file has been autogenerated by update_pch.sh. It is possible to edit it
12 manually (such as when an include file has been moved/renamed/removed). All such
13 manual changes will be rewritten by the next run of update_pch.sh (which presumably
14 also fixes all possible problems, so it's usually better to use it).
16 Generated on 2023-07-19 09:24:26 using:
17 ./bin/update_pch vcl vcl --cutoff=6 --exclude:system --include:module --include:local
19 If after updating build fails, use the following command to locate conflicting headers:
20 ./bin/update_pch_bisect ./vcl/inc/pch/precompiled_vcl.hxx "make vcl.build" --find-conflicts
23 #include <sal/config.h>
24 #if PCH_LEVEL >= 1
25 #include <algorithm>
26 #include <array>
27 #include <atomic>
28 #include <cassert>
29 #include <chrono>
30 #include <cmath>
31 #include <cstddef>
32 #include <cstdio>
33 #include <cstdlib>
34 #include <cstring>
35 #include <deque>
36 #include <float.h>
37 #include <functional>
38 #include <hb.h>
39 #include <initializer_list>
40 #include <iomanip>
41 #include <iterator>
42 #include <limits>
43 #include <list>
44 #include <map>
45 #include <math.h>
46 #include <memory>
47 #include <mutex>
48 #include <new>
49 #include <numeric>
50 #include <optional>
51 #include <ostream>
52 #include <set>
53 #include <stddef.h>
54 #include <string.h>
55 #include <string>
56 #include <string_view>
57 #include <type_traits>
58 #include <unordered_map>
59 #include <unordered_set>
60 #include <utility>
61 #include <vector>
62 #include <boost/container/small_vector.hpp>
63 #include <boost/math/special_functions/sinc.hpp>
64 #include <boost/multi_array.hpp>
65 #include <boost/property_tree/json_parser.hpp>
66 #include <boost/property_tree/ptree.hpp>
67 #include <boost/property_tree/ptree_fwd.hpp>
68 #include <boost/rational.hpp>
69 #endif // PCH_LEVEL >= 1
70 #if PCH_LEVEL >= 2
71 #include <osl/conditn.hxx>
72 #include <osl/diagnose.h>
73 #include <osl/doublecheckedlocking.h>
74 #include <osl/endian.h>
75 #include <osl/file.h>
76 #include <osl/file.hxx>
77 #include <osl/getglobalmutex.hxx>
78 #include <osl/interlck.h>
79 #include <osl/module.hxx>
80 #include <osl/mutex.h>
81 #include <osl/mutex.hxx>
82 #include <osl/nlsupport.h>
83 #include <osl/security.h>
84 #include <osl/signal.h>
85 #include <osl/socket.h>
86 #include <osl/socket.hxx>
87 #include <osl/thread.h>
88 #include <osl/time.h>
89 #include <rtl/alloc.h>
90 #include <rtl/bootstrap.hxx>
91 #include <rtl/byteseq.hxx>
92 #include <rtl/character.hxx>
93 #include <rtl/cipher.h>
94 #include <rtl/crc.h>
95 #include <rtl/digest.h>
96 #include <rtl/instance.hxx>
97 #include <rtl/locale.h>
98 #include <rtl/math.h>
99 #include <rtl/math.hxx>
100 #include <rtl/process.h>
101 #include <rtl/ref.hxx>
102 #include <rtl/strbuf.hxx>
103 #include <rtl/string.h>
104 #include <rtl/string.hxx>
105 #include <rtl/stringconcat.hxx>
106 #include <rtl/stringutils.hxx>
107 #include <rtl/tencinfo.h>
108 #include <rtl/textcvt.h>
109 #include <rtl/textenc.h>
110 #include <rtl/unload.h>
111 #include <rtl/uri.hxx>
112 #include <rtl/ustrbuf.hxx>
113 #include <rtl/ustring.h>
114 #include <rtl/ustring.hxx>
115 #include <rtl/uuid.h>
116 #include <sal/backtrace.hxx>
117 #include <sal/log.hxx>
118 #include <sal/macros.h>
119 #include <sal/saldllapi.h>
120 #include <sal/types.h>
121 #endif // PCH_LEVEL >= 2
122 #if PCH_LEVEL >= 3
123 #include <basegfx/basegfxdllapi.h>
124 #include <basegfx/color/bcolor.hxx>
125 #include <basegfx/matrix/b2dhommatrix.hxx>
126 #include <basegfx/matrix/b2dhommatrixtools.hxx>
127 #include <basegfx/numeric/ftools.hxx>
128 #include <basegfx/point/b2dpoint.hxx>
129 #include <basegfx/point/b2ipoint.hxx>
130 #include <basegfx/polygon/b2dpolygon.hxx>
131 #include <basegfx/polygon/b2dpolygontools.hxx>
132 #include <basegfx/polygon/b2dpolypolygon.hxx>
133 #include <basegfx/range/Range2D.hxx>
134 #include <basegfx/range/b2drange.hxx>
135 #include <basegfx/range/basicrange.hxx>
136 #include <basegfx/tuple/Size2D.hxx>
137 #include <basegfx/tuple/Tuple2D.hxx>
138 #include <basegfx/tuple/Tuple3D.hxx>
139 #include <basegfx/tuple/b2dtuple.hxx>
140 #include <basegfx/tuple/b2ituple.hxx>
141 #include <basegfx/tuple/b3dtuple.hxx>
142 #include <basegfx/utils/common.hxx>
143 #include <basegfx/vector/b2dsize.hxx>
144 #include <basegfx/vector/b2dvector.hxx>
145 #include <basegfx/vector/b2enums.hxx>
146 #include <basegfx/vector/b2isize.hxx>
147 #include <basegfx/vector/b2ivector.hxx>
148 #include <vcl/BitmapWriteAccess.hxx>
149 #include <com/sun/star/beans/PropertyValue.hpp>
150 #include <com/sun/star/beans/XPropertySet.hpp>
151 #include <com/sun/star/datatransfer/XTransferable2.hpp>
152 #include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
153 #include <com/sun/star/datatransfer/clipboard/XClipboardOwner.hpp>
154 #include <com/sun/star/datatransfer/dnd/DNDConstants.hpp>
155 #include <com/sun/star/datatransfer/dnd/DropTargetDragEvent.hpp>
156 #include <com/sun/star/datatransfer/dnd/DropTargetDropEvent.hpp>
157 #include <com/sun/star/datatransfer/dnd/XDragGestureListener.hpp>
158 #include <com/sun/star/datatransfer/dnd/XDragSourceListener.hpp>
159 #include <com/sun/star/datatransfer/dnd/XDropTarget.hpp>
160 #include <com/sun/star/datatransfer/dnd/XDropTargetListener.hpp>
161 #include <com/sun/star/embed/Aspects.hpp>
162 #include <com/sun/star/frame/XTerminateListener.hpp>
163 #include <com/sun/star/i18n/Calendar2.hpp>
164 #include <com/sun/star/io/XInputStream.hpp>
165 #include <com/sun/star/io/XOutputStream.hpp>
166 #include <com/sun/star/io/XSeekable.hpp>
167 #include <com/sun/star/io/XStream.hpp>
168 #include <com/sun/star/io/XTruncate.hpp>
169 #include <com/sun/star/lang/DisposedException.hpp>
170 #include <com/sun/star/lang/EventObject.hpp>
171 #include <com/sun/star/lang/Locale.hpp>
172 #include <com/sun/star/lang/XComponent.hpp>
173 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
174 #include <com/sun/star/lang/XServiceInfo.hpp>
175 #include <com/sun/star/lang/XTypeProvider.hpp>
176 #include <com/sun/star/uno/Any.h>
177 #include <com/sun/star/uno/Any.hxx>
178 #include <com/sun/star/uno/Reference.h>
179 #include <com/sun/star/uno/Reference.hxx>
180 #include <com/sun/star/uno/RuntimeException.hpp>
181 #include <com/sun/star/uno/Sequence.h>
182 #include <com/sun/star/uno/Sequence.hxx>
183 #include <com/sun/star/uno/Type.h>
184 #include <com/sun/star/uno/Type.hxx>
185 #include <com/sun/star/uno/TypeClass.hdl>
186 #include <com/sun/star/uno/XAggregation.hpp>
187 #include <com/sun/star/uno/XComponentContext.hpp>
188 #include <com/sun/star/uno/XInterface.hpp>
189 #include <com/sun/star/uno/XWeak.hpp>
190 #include <com/sun/star/uno/genfunc.h>
191 #include <com/sun/star/uno/genfunc.hxx>
192 #include <com/sun/star/util/Date.hpp>
193 #include <com/sun/star/util/DateTime.hpp>
194 #include <comphelper/comphelperdllapi.h>
195 #include <comphelper/diagnose_ex.hxx>
196 #include <comphelper/fileformat.h>
197 #include <comphelper/interfacecontainer4.hxx>
198 #include <comphelper/lok.hxx>
199 #include <comphelper/processfactory.hxx>
200 #include <comphelper/propertyvalue.hxx>
201 #include <comphelper/scopeguard.hxx>
202 #include <comphelper/sequence.hxx>
203 #include <comphelper/string.hxx>
204 #include <comphelper/unoimplbase.hxx>
205 #include <cppu/cppudllapi.h>
206 #include <cppu/unotype.hxx>
207 #include <cppuhelper/cppuhelperdllapi.h>
208 #include <cppuhelper/implbase.hxx>
209 #include <cppuhelper/queryinterface.hxx>
210 #include <cppuhelper/supportsservice.hxx>
211 #include <cppuhelper/weak.hxx>
212 #include <cppuhelper/weakagg.hxx>
213 #include <cppuhelper/weakref.hxx>
214 #include <font/FontSelectPattern.hxx>
215 #include <font/PhysicalFontCollection.hxx>
216 #include <font/PhysicalFontFace.hxx>
217 #include <font/PhysicalFontFaceCollection.hxx>
218 #include <i18nlangtag/lang.h>
219 #include <i18nlangtag/languagetag.hxx>
220 #include <i18nlangtag/mslangid.hxx>
221 #include <i18nutil/i18nutildllapi.h>
222 #include <o3tl/cow_wrapper.hxx>
223 #include <o3tl/hash_combine.hxx>
224 #include <o3tl/safeint.hxx>
225 #include <o3tl/sorted_vector.hxx>
226 #include <o3tl/string_view.hxx>
227 #include <o3tl/strong_int.hxx>
228 #include <o3tl/typed_flags_set.hxx>
229 #include <o3tl/underlyingenumvalue.hxx>
230 #include <o3tl/unit_conversion.hxx>
231 #include <officecfg/Office/Common.hxx>
232 #include <salhelper/linkhelper.hxx>
233 #include <salhelper/salhelperdllapi.h>
234 #include <salhelper/simplereferenceobject.hxx>
235 #include <salhelper/thread.hxx>
236 #include <sot/exchange.hxx>
237 #include <sot/formats.hxx>
238 #include <svl/hint.hxx>
239 #include <svl/macitem.hxx>
240 #include <svl/poolitem.hxx>
241 #include <svl/svldllapi.h>
242 #include <svl/typedwhich.hxx>
243 #include <test/outputdevice.hxx>
244 #include <tools/color.hxx>
245 #include <tools/contnr.hxx>
246 #include <tools/date.hxx>
247 #include <tools/datetime.hxx>
248 #include <tools/debug.hxx>
249 #include <tools/degree.hxx>
250 #include <tools/fldunit.hxx>
251 #include <tools/fontenum.hxx>
252 #include <tools/fract.hxx>
253 #include <tools/gen.hxx>
254 #include <tools/globname.hxx>
255 #include <tools/helpers.hxx>
256 #include <tools/json_writer.hxx>
257 #include <tools/link.hxx>
258 #include <tools/long.hxx>
259 #include <tools/mapunit.hxx>
260 #include <tools/poly.hxx>
261 #include <tools/ref.hxx>
262 #include <tools/solar.h>
263 #include <tools/stream.hxx>
264 #include <tools/time.hxx>
265 #include <tools/toolsdllapi.h>
266 #include <tools/urlobj.hxx>
267 #include <tools/vcompat.hxx>
268 #include <tools/zcodec.hxx>
269 #include <typelib/typeclass.h>
270 #include <typelib/typedescription.h>
271 #include <typelib/uik.h>
272 #include <uno/any2.h>
273 #include <uno/data.h>
274 #include <uno/sequence2.h>
275 #include <unotools/calendarwrapper.hxx>
276 #include <unotools/configmgr.hxx>
277 #include <unotools/fontdefs.hxx>
278 #include <unotools/localedatawrapper.hxx>
279 #include <unotools/resmgr.hxx>
280 #include <unotools/syslocale.hxx>
281 #include <unotools/tempfile.hxx>
282 #include <unotools/ucbstreamhelper.hxx>
283 #include <unotools/unotoolsdllapi.h>
284 #endif // PCH_LEVEL >= 3
285 #if PCH_LEVEL >= 4
286 #include <ImplOutDevData.hxx>
287 #include <accel.hxx>
288 #include <brdwin.hxx>
289 #include <configsettings.hxx>
290 #include <drawmode.hxx>
291 #include <fontattributes.hxx>
292 #include <glyphid.hxx>
293 #include <impfontcache.hxx>
294 #include <impglyphitem.hxx>
295 #include <ppdparser.hxx>
296 #include <salbmp.hxx>
297 #include <salframe.hxx>
298 #include <salgdi.hxx>
299 #include <salgdiimpl.hxx>
300 #include <sallayout.hxx>
301 #include <salmenu.hxx>
302 #include <salobj.hxx>
303 #include <salptype.hxx>
304 #include <salsession.hxx>
305 #include <salsys.hxx>
306 #include <saltimer.hxx>
307 #include <salusereventlist.hxx>
308 #include <salvd.hxx>
309 #include <salvtables.hxx>
310 #include <sft.hxx>
311 #include <svdata.hxx>
312 #include <vcl/AccessibleBrowseBoxObjType.hxx>
313 #include <vcl/BinaryDataContainer.hxx>
314 #include <vcl/BitmapColor.hxx>
315 #include <vcl/BitmapFilter.hxx>
316 #include <vcl/BitmapReadAccess.hxx>
317 #include <vcl/BitmapTools.hxx>
318 #include <vcl/FilterConfigItem.hxx>
319 #include <vcl/QueueInfo.hxx>
320 #include <vcl/TypeSerializer.hxx>
321 #include <vcl/bitmap.hxx>
322 #include <vcl/bitmapex.hxx>
323 #include <vcl/builder.hxx>
324 #include <vcl/canvastools.hxx>
325 #include <vcl/checksum.hxx>
326 #include <vcl/commandevent.hxx>
327 #include <vcl/commandinfoprovider.hxx>
328 #include <vcl/ctrl.hxx>
329 #include <vcl/cursor.hxx>
330 #include <vcl/cvtgrf.hxx>
331 #include <vcl/decoview.hxx>
332 #include <vcl/dibtools.hxx>
333 #include <vcl/dllapi.h>
334 #include <vcl/dockwin.hxx>
335 #include <vcl/event.hxx>
336 #include <vcl/filter/PngImageReader.hxx>
337 #include <vcl/filter/PngImageWriter.hxx>
338 #include <vcl/filter/SvmReader.hxx>
339 #include <vcl/filter/SvmWriter.hxx>
340 #include <vcl/fntstyle.hxx>
341 #include <vcl/font.hxx>
342 #include <vcl/formatter.hxx>
343 #include <vcl/gdimtf.hxx>
344 #include <vcl/gfxlink.hxx>
345 #include <vcl/glyphitem.hxx>
346 #include <vcl/gradient.hxx>
347 #include <vcl/graph.hxx>
348 #include <vcl/graphicfilter.hxx>
349 #include <vcl/help.hxx>
350 #include <vcl/i18nhelp.hxx>
351 #include <vcl/idle.hxx>
352 #include <vcl/image.hxx>
353 #include <vcl/layout.hxx>
354 #include <vcl/lazydelete.hxx>
355 #include <vcl/lineinfo.hxx>
356 #include <vcl/menu.hxx>
357 #include <vcl/metaact.hxx>
358 #include <vcl/mnemonic.hxx>
359 #include <vcl/outdev.hxx>
360 #include <vcl/ptrstyle.hxx>
361 #include <vcl/quickselectionengine.hxx>
362 #include <vcl/region.hxx>
363 #include <vcl/salnativewidgets.hxx>
364 #include <vcl/scheduler.hxx>
365 #include <vcl/settings.hxx>
366 #include <vcl/svapp.hxx>
367 #include <vcl/syswin.hxx>
368 #include <vcl/tabctrl.hxx>
369 #include <vcl/tabpage.hxx>
370 #include <vcl/taskpanelist.hxx>
371 #include <vcl/timer.hxx>
372 #include <vcl/toolbox.hxx>
373 #include <vcl/toolkit/button.hxx>
374 #include <vcl/toolkit/combobox.hxx>
375 #include <vcl/toolkit/dialog.hxx>
376 #include <vcl/toolkit/edit.hxx>
377 #include <vcl/toolkit/fixed.hxx>
378 #include <vcl/toolkit/floatwin.hxx>
379 #include <vcl/toolkit/lstbox.hxx>
380 #include <vcl/toolkit/scrbar.hxx>
381 #include <vcl/toolkit/spinfld.hxx>
382 #include <vcl/toolkit/svlbitm.hxx>
383 #include <vcl/toolkit/treelist.hxx>
384 #include <vcl/toolkit/treelistbox.hxx>
385 #include <vcl/toolkit/treelistentries.hxx>
386 #include <vcl/toolkit/treelistentry.hxx>
387 #include <vcl/toolkit/unowrap.hxx>
388 #include <vcl/toolkit/vclmedit.hxx>
389 #include <vcl/toolkit/viewdataentry.hxx>
390 #include <vcl/transfer.hxx>
391 #include <vcl/uitest/logger.hxx>
392 #include <vcl/uitest/uiobject.hxx>
393 #include <vcl/unohelp.hxx>
394 #include <vcl/vclenum.hxx>
395 #include <vcl/vclevent.hxx>
396 #include <vcl/vcllayout.hxx>
397 #include <vcl/vclptr.hxx>
398 #include <vcl/virdev.hxx>
399 #include <vcl/weld.hxx>
400 #include <vcl/weldutils.hxx>
401 #include <vcl/window.hxx>
402 #include <vcl/wrkwin.hxx>
403 #include <window.h>
404 #endif // PCH_LEVEL >= 4
406 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */