]>
Commit | Line | Data |
---|---|---|
81f80d8c MF |
1 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" |
2 | # 1 "<built-in>" | |
3 | #define __STDC__ 1 | |
4 | #define __cplusplus 1 | |
5 | #define __STDC_HOSTED__ 1 | |
6 | #define __GNUC__ 4 | |
7 | #define __GNUG__ 4 | |
8 | #define __GNUC_MINOR__ 3 | |
9 | #define __GNUC_PATCHLEVEL__ 4 | |
10 | #define __SIZE_TYPE__ long unsigned int | |
11 | #define __PTRDIFF_TYPE__ long int | |
12 | #define __WCHAR_TYPE__ int | |
13 | #define __WINT_TYPE__ unsigned int | |
14 | #define __INTMAX_TYPE__ long long int | |
15 | #define __UINTMAX_TYPE__ long long unsigned int | |
16 | #define __GXX_WEAK__ 1 | |
17 | #define __DEPRECATED 1 | |
18 | #define __GXX_RTTI 1 | |
19 | #define __EXCEPTIONS 1 | |
20 | #define __GXX_ABI_VERSION 1002 | |
21 | #define __SCHAR_MAX__ 127 | |
22 | #define __SHRT_MAX__ 32767 | |
23 | #define __INT_MAX__ 2147483647 | |
24 | #define __LONG_MAX__ 2147483647L | |
25 | #define __LONG_LONG_MAX__ 9223372036854775807LL | |
26 | #define __WCHAR_MAX__ 2147483647 | |
27 | #define __CHAR_BIT__ 8 | |
28 | #define __INTMAX_MAX__ 9223372036854775807LL | |
29 | #define __FLT_EVAL_METHOD__ 0 | |
30 | #define __DEC_EVAL_METHOD__ 2 | |
31 | #define __FLT_RADIX__ 2 | |
32 | #define __FLT_MANT_DIG__ 24 | |
33 | #define __FLT_DIG__ 6 | |
34 | #define __FLT_MIN_EXP__ (-125) | |
35 | #define __FLT_MIN_10_EXP__ (-37) | |
36 | #define __FLT_MAX_EXP__ 128 | |
37 | #define __FLT_MAX_10_EXP__ 38 | |
38 | #define __FLT_MAX__ 3.40282347e+38F | |
39 | #define __FLT_MIN__ 1.17549435e-38F | |
40 | #define __FLT_EPSILON__ 1.19209290e-7F | |
41 | #define __FLT_DENORM_MIN__ 1.40129846e-45F | |
42 | #define __FLT_HAS_DENORM__ 1 | |
43 | #define __FLT_HAS_INFINITY__ 1 | |
44 | #define __FLT_HAS_QUIET_NAN__ 1 | |
45 | #define __DBL_MANT_DIG__ 53 | |
46 | #define __DBL_DIG__ 15 | |
47 | #define __DBL_MIN_EXP__ (-1021) | |
48 | #define __DBL_MIN_10_EXP__ (-307) | |
49 | #define __DBL_MAX_EXP__ 1024 | |
50 | #define __DBL_MAX_10_EXP__ 308 | |
51 | #define __DBL_MAX__ 1.7976931348623157e+308 | |
52 | #define __DBL_MIN__ 2.2250738585072014e-308 | |
53 | #define __DBL_EPSILON__ 2.2204460492503131e-16 | |
54 | #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 | |
55 | #define __DBL_HAS_DENORM__ 1 | |
56 | #define __DBL_HAS_INFINITY__ 1 | |
57 | #define __DBL_HAS_QUIET_NAN__ 1 | |
58 | #define __LDBL_MANT_DIG__ 53 | |
59 | #define __LDBL_DIG__ 15 | |
60 | #define __LDBL_MIN_EXP__ (-1021) | |
61 | #define __LDBL_MIN_10_EXP__ (-307) | |
62 | #define __LDBL_MAX_EXP__ 1024 | |
63 | #define __LDBL_MAX_10_EXP__ 308 | |
64 | #define __DECIMAL_DIG__ 17 | |
65 | #define __LDBL_MAX__ 1.7976931348623157e+308L | |
66 | #define __LDBL_MIN__ 2.2250738585072014e-308L | |
67 | #define __LDBL_EPSILON__ 2.2204460492503131e-16L | |
68 | #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L | |
69 | #define __LDBL_HAS_DENORM__ 1 | |
70 | #define __LDBL_HAS_INFINITY__ 1 | |
71 | #define __LDBL_HAS_QUIET_NAN__ 1 | |
72 | #define __DEC32_MANT_DIG__ 7 | |
73 | #define __DEC32_MIN_EXP__ (-95) | |
74 | #define __DEC32_MAX_EXP__ 96 | |
75 | #define __DEC32_MIN__ 1E-95DF | |
76 | #define __DEC32_MAX__ 9.999999E96DF | |
77 | #define __DEC32_EPSILON__ 1E-6DF | |
78 | #define __DEC32_DEN__ 0.000001E-95DF | |
79 | #define __DEC64_MANT_DIG__ 16 | |
80 | #define __DEC64_MIN_EXP__ (-383) | |
81 | #define __DEC64_MAX_EXP__ 384 | |
82 | #define __DEC64_MIN__ 1E-383DD | |
83 | #define __DEC64_MAX__ 9.999999999999999E384DD | |
84 | #define __DEC64_EPSILON__ 1E-15DD | |
85 | #define __DEC64_DEN__ 0.000000000000001E-383DD | |
86 | #define __DEC128_MANT_DIG__ 34 | |
87 | #define __DEC128_MIN_EXP__ (-6143) | |
88 | #define __DEC128_MAX_EXP__ 6144 | |
89 | #define __DEC128_MIN__ 1E-6143DL | |
90 | #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL | |
91 | #define __DEC128_EPSILON__ 1E-33DL | |
92 | #define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL | |
93 | #define __REGISTER_PREFIX__ | |
94 | #define __USER_LABEL_PREFIX__ _ | |
95 | #define __VERSION__ "4.3.4" | |
96 | #define __GNUC_GNU_INLINE__ 1 | |
97 | #define __OPTIMIZE__ 1 | |
98 | #define __FINITE_MATH_ONLY__ 0 | |
99 | #define __pic__ 2 | |
100 | #define __PIC__ 2 | |
101 | #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 | |
102 | #define __SIZEOF_INT__ 4 | |
103 | #define __SIZEOF_LONG__ 4 | |
104 | #define __SIZEOF_LONG_LONG__ 8 | |
105 | #define __SIZEOF_SHORT__ 2 | |
106 | #define __SIZEOF_FLOAT__ 4 | |
107 | #define __SIZEOF_DOUBLE__ 8 | |
108 | #define __SIZEOF_LONG_DOUBLE__ 8 | |
109 | #define __SIZEOF_SIZE_T__ 4 | |
110 | #define __SIZEOF_WCHAR_T__ 4 | |
111 | #define __SIZEOF_WINT_T__ 4 | |
112 | #define __SIZEOF_PTRDIFF_T__ 4 | |
113 | #define __SIZEOF_POINTER__ 4 | |
114 | #define __bfin 1 | |
115 | #define __bfin__ 1 | |
116 | #define bfin 1 | |
117 | #define __BFIN 1 | |
118 | #define __BFIN__ 1 | |
119 | #define BFIN 1 | |
120 | #define __ADSPBLACKFIN__ 1 | |
121 | #define __ADSPLPBLACKFIN__ 1 | |
122 | #define __SILICON_REVISION__ 0xffff | |
123 | #define __WORKAROUNDS_ENABLED 1 | |
124 | #define __WORKAROUND_SPECULATIVE_LOADS 1 | |
125 | #define __WORKAROUND_SPECULATIVE_SYNCS 1 | |
126 | #define __WORKAROUND_RETS 1 | |
127 | #define __BFIN_FDPIC__ 1 | |
128 | #define __FDPIC__ 1 | |
129 | #define __gnu_linux__ 1 | |
130 | #define __linux 1 | |
131 | #define __linux__ 1 | |
132 | #define linux 1 | |
133 | #define __unix 1 | |
134 | #define __unix__ 1 | |
135 | #define unix 1 | |
136 | #define __ELF__ 1 | |
137 | # 1 "<command-line>" | |
138 | #define _GNU_SOURCE 1 | |
139 | #define QT_LINUX_NOMMU 1 | |
140 | #define _REENTRANT 1 | |
141 | #define QT_SHARED 1 | |
142 | #define QT_BUILD_GUI_LIB 1 | |
143 | #define QT_NO_USING_NAMESPACE 1 | |
144 | #define QT_NO_CAST_TO_ASCII 1 | |
145 | #define QT_ASCII_CAST_WARNINGS 1 | |
146 | #define QT_MOC_COMPAT 1 | |
147 | #define QT_RASTER_IMAGEENGINE 1 | |
148 | #define QT_RASTER_PAINTENGINE 1 | |
149 | #define QT_NO_FONTCONFIG 1 | |
150 | #define QT_NO_FREETYPE 1 | |
151 | #define QT_NO_OPENTYPE 1 | |
152 | #define QT_NO_STYLE_MAC 1 | |
153 | #define QT_NO_STYLE_WINDOWSVISTA 1 | |
154 | #define QT_NO_STYLE_WINDOWSXP 1 | |
155 | #define QT_NO_STYLE_GTK 1 | |
156 | #define QT_NO_STYLE_WINDOWSCE 1 | |
157 | #define QT_NO_STYLE_WINDOWSMOBILE 1 | |
158 | #define Q_INTERNAL_QAPP_SRC 1 | |
159 | #define QT_NO_DEBUG 1 | |
160 | #define QT_NETWORK_LIB 1 | |
161 | #define QT_CORE_LIB 1 | |
162 | #define _LARGEFILE64_SOURCE 1 | |
163 | #define _LARGEFILE_SOURCE 1 | |
164 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" | |
165 | # 42 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" | |
166 | # 1 "../../include/QtCore/qdebug.h" 1 | |
167 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 1 | |
168 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" | |
169 | #define QDEBUG_H | |
170 | ||
171 | # 1 "../../include/QtCore/qalgorithms.h" 1 | |
172 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qalgorithms.h" 1 | |
173 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qalgorithms.h" | |
174 | #define QALGORITHMS_H | |
175 | ||
176 | # 1 "../../include/QtCore/qglobal.h" 1 | |
177 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" 1 | |
178 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
179 | #define QGLOBAL_H | |
180 | ||
181 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
182 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
183 | #define _STDDEF_H | |
184 | #define _STDDEF_H_ | |
185 | ||
186 | #define _ANSI_STDDEF_H | |
187 | ||
188 | #define __STDDEF_H__ | |
189 | # 141 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
190 | #define _PTRDIFF_T | |
191 | #define _T_PTRDIFF_ | |
192 | #define _T_PTRDIFF | |
193 | #define __PTRDIFF_T | |
194 | #define _PTRDIFF_T_ | |
195 | #define _BSD_PTRDIFF_T_ | |
196 | #define ___int_ptrdiff_t_h | |
197 | #define _GCC_PTRDIFF_T | |
198 | ||
199 | ||
200 | ||
201 | typedef long int ptrdiff_t; | |
202 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
203 | #undef __need_ptrdiff_t | |
204 | # 189 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
205 | #define __size_t__ | |
206 | #define __SIZE_T__ | |
207 | #define _SIZE_T | |
208 | #define _SYS_SIZE_T_H | |
209 | #define _T_SIZE_ | |
210 | #define _T_SIZE | |
211 | #define __SIZE_T | |
212 | #define _SIZE_T_ | |
213 | #define _BSD_SIZE_T_ | |
214 | #define _SIZE_T_DEFINED_ | |
215 | #define _SIZE_T_DEFINED | |
216 | #define _BSD_SIZE_T_DEFINED_ | |
217 | #define _SIZE_T_DECLARED | |
218 | #define ___int_size_t_h | |
219 | #define _GCC_SIZE_T | |
220 | #define _SIZET_ | |
221 | ||
222 | ||
223 | ||
224 | #define __size_t | |
225 | ||
226 | ||
227 | ||
228 | ||
229 | ||
230 | typedef long unsigned int size_t; | |
231 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
232 | #undef __need_size_t | |
233 | # 265 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
234 | #define __wchar_t__ | |
235 | #define __WCHAR_T__ | |
236 | #define _WCHAR_T | |
237 | #define _T_WCHAR_ | |
238 | #define _T_WCHAR | |
239 | #define __WCHAR_T | |
240 | #define _WCHAR_T_ | |
241 | #define _BSD_WCHAR_T_ | |
242 | #define _WCHAR_T_DEFINED_ | |
243 | #define _WCHAR_T_DEFINED | |
244 | #define _WCHAR_T_H | |
245 | #define ___int_wchar_t_h | |
246 | #define __INT_WCHAR_T_H | |
247 | #define _GCC_WCHAR_T | |
248 | #define _WCHAR_T_DECLARED | |
249 | # 292 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
250 | #undef _BSD_WCHAR_T_ | |
251 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
252 | #undef __need_wchar_t | |
253 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
254 | #undef NULL | |
255 | ||
256 | #define NULL __null | |
257 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
258 | #undef __need_NULL | |
259 | ||
260 | ||
261 | ||
262 | ||
263 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
264 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" 2 | |
265 | ||
266 | #define QT_VERSION_STR "4.5.1" | |
267 | ||
268 | ||
269 | ||
270 | #define QT_VERSION 0x040501 | |
271 | ||
272 | ||
273 | ||
274 | #define QT_VERSION_CHECK(major,minor,patch) ((major<<16)|(minor<<8)|(patch)) | |
275 | ||
276 | #define QT_PACKAGEDATE_STR "2009-04-22" | |
277 | ||
278 | #define QT_PACKAGE_TAG "g8cfb0638c650b906fc0ddede4e5c1c391e81307c" | |
279 | ||
280 | ||
281 | # 1 "../../include/QtCore/qconfig.h" 1 | |
282 | ||
283 | ||
284 | ||
285 | ||
286 | #define QT_EDITION QT_EDITION_OPENSOURCE | |
287 | ||
288 | ||
289 | ||
290 | #define Q_BIG_ENDIAN 4321 | |
291 | #define Q_LITTLE_ENDIAN 1234 | |
292 | #define QT_BUILD_KEY "bfin linux fdpic-g++ full-config" | |
293 | ||
294 | ||
295 | ||
296 | ||
297 | #define Q_BYTE_ORDER Q_LITTLE_ENDIAN | |
298 | ||
299 | ||
300 | ||
301 | #define QT_ARCH_BFIN | |
302 | ||
303 | ||
304 | ||
305 | ||
306 | #define QT_LARGEFILE_SUPPORT 64 | |
307 | #define QT_POINTER_SIZE 4 | |
308 | ||
309 | ||
310 | ||
311 | ||
312 | #define QT_BUILTIN_GIF_READER 1 | |
313 | ||
314 | ||
315 | ||
316 | ||
317 | ||
318 | #define QT_NO_CUPS | |
319 | ||
320 | ||
321 | ||
322 | ||
323 | ||
324 | #define QT_NO_DBUS | |
325 | ||
326 | ||
327 | ||
328 | ||
329 | ||
330 | #define QT_NO_EXCEPTIONS | |
331 | ||
332 | ||
333 | ||
334 | ||
335 | ||
336 | #define QT_NO_GETIFADDRS | |
337 | ||
338 | ||
339 | ||
340 | ||
341 | ||
342 | #define QT_NO_GLIB | |
343 | ||
344 | ||
345 | ||
346 | ||
347 | ||
348 | #define QT_NO_GSTREAMER | |
349 | ||
350 | ||
351 | ||
352 | ||
353 | ||
354 | #define QT_NO_ICONV | |
355 | ||
356 | ||
357 | ||
358 | ||
359 | ||
360 | #define QT_NO_IMAGEFORMAT_JPEG | |
361 | ||
362 | ||
363 | ||
364 | ||
365 | ||
366 | #define QT_NO_IMAGEFORMAT_MNG | |
367 | ||
368 | ||
369 | ||
370 | ||
371 | ||
372 | #define QT_NO_IMAGEFORMAT_TIFF | |
373 | ||
374 | ||
375 | ||
376 | ||
377 | ||
378 | #define QT_NO_NAS | |
379 | ||
380 | ||
381 | ||
382 | ||
383 | ||
384 | #define QT_NO_NIS | |
385 | ||
386 | ||
387 | ||
388 | ||
389 | ||
390 | #define QT_NO_OPENGL | |
391 | ||
392 | ||
393 | ||
394 | ||
395 | ||
396 | #define QT_NO_OPENSSL | |
397 | ||
398 | ||
399 | ||
400 | ||
401 | ||
402 | #define QT_NO_PHONON | |
403 | ||
404 | ||
405 | ||
406 | ||
407 | ||
408 | #define QT_NO_QWS_KBD_QVFB | |
409 | ||
410 | ||
411 | ||
412 | ||
413 | ||
414 | #define QT_NO_QWS_KBD_SL5000 | |
415 | ||
416 | ||
417 | ||
418 | ||
419 | ||
420 | #define QT_NO_QWS_KBD_TTY | |
421 | ||
422 | ||
423 | ||
424 | ||
425 | ||
426 | #define QT_NO_QWS_KBD_UM | |
427 | ||
428 | ||
429 | ||
430 | ||
431 | ||
432 | #define QT_NO_QWS_KBD_USB | |
433 | ||
434 | ||
435 | ||
436 | ||
437 | ||
438 | #define QT_NO_QWS_KBD_VR41XX | |
439 | ||
440 | ||
441 | ||
442 | ||
443 | ||
444 | #define QT_NO_QWS_KBD_YOPY | |
445 | ||
446 | ||
447 | ||
448 | ||
449 | ||
450 | #define QT_NO_QWS_MOUSE_BUS | |
451 | ||
452 | ||
453 | ||
454 | ||
455 | ||
456 | #define QT_NO_QWS_MOUSE_LINUXTP | |
457 | ||
458 | ||
459 | ||
460 | ||
461 | ||
462 | #define QT_NO_QWS_MOUSE_QVFB | |
463 | ||
464 | ||
465 | ||
466 | ||
467 | ||
468 | #define QT_NO_QWS_MOUSE_TSLIB | |
469 | ||
470 | ||
471 | ||
472 | ||
473 | ||
474 | #define QT_NO_QWS_MOUSE_VR41XX | |
475 | ||
476 | ||
477 | ||
478 | ||
479 | ||
480 | #define QT_NO_QWS_MOUSE_YOPY | |
481 | ||
482 | ||
483 | ||
484 | ||
485 | ||
486 | #define QT_NO_QWS_QVFB | |
487 | ||
488 | ||
489 | ||
490 | ||
491 | ||
492 | #define QT_NO_QWS_TRANSFORMED | |
493 | ||
494 | ||
495 | ||
496 | ||
497 | ||
498 | #define QT_NO_QWS_VNC | |
499 | ||
500 | ||
501 | ||
502 | ||
503 | ||
504 | #define QT_NO_SESSIONMANAGER | |
505 | # 235 "../../include/QtCore/qconfig.h" | |
506 | #define QT_NO_SXE | |
507 | ||
508 | ||
509 | ||
510 | ||
511 | ||
512 | #define QT_NO_WEBKIT | |
513 | ||
514 | ||
515 | ||
516 | ||
517 | ||
518 | #define QT_NO_XMLPATTERNS | |
519 | ||
520 | ||
521 | ||
522 | ||
523 | ||
524 | #define QT_NO_ZLIB | |
525 | ||
526 | ||
527 | ||
528 | ||
529 | ||
530 | #define QT_QWS_DEPTH_16 | |
531 | ||
532 | ||
533 | ||
534 | ||
535 | ||
536 | #define QT_QWS_DEPTH_24 | |
537 | ||
538 | ||
539 | ||
540 | ||
541 | ||
542 | #define QT_QWS_DEPTH_32 | |
543 | ||
544 | ||
545 | ||
546 | ||
547 | ||
548 | #define QT_QWS_DEPTH_8 | |
549 | ||
550 | ||
551 | ||
552 | ||
553 | ||
554 | #define QT_RUNTIME_XCURSOR | |
555 | ||
556 | ||
557 | ||
558 | ||
559 | ||
560 | #define QT_RUNTIME_XFIXES | |
561 | ||
562 | ||
563 | ||
564 | ||
565 | ||
566 | #define QT_RUNTIME_XINERAMA | |
567 | ||
568 | ||
569 | ||
570 | ||
571 | ||
572 | #define QT_RUNTIME_XINPUT | |
573 | ||
574 | ||
575 | ||
576 | ||
577 | ||
578 | #define QT_RUNTIME_XRANDR | |
579 | ||
580 | ||
581 | ||
582 | ||
583 | ||
584 | #define QT_USE_MATH_H_FLOATS | |
585 | ||
586 | ||
587 | ||
588 | #define Q_WS_QWS | |
589 | ||
590 | ||
591 | #define QT_VISIBILITY_AVAILABLE | |
592 | # 63 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" 2 | |
593 | ||
594 | ||
595 | ||
596 | ||
597 | ||
598 | ||
599 | #define QT_PREPEND_NAMESPACE(name) ::name | |
600 | #define QT_USE_NAMESPACE | |
601 | #define QT_BEGIN_NAMESPACE | |
602 | #define QT_END_NAMESPACE | |
603 | #define QT_BEGIN_INCLUDE_NAMESPACE | |
604 | #define QT_END_INCLUDE_NAMESPACE | |
605 | #define QT_BEGIN_MOC_NAMESPACE | |
606 | #define QT_END_MOC_NAMESPACE | |
607 | #define QT_FORWARD_DECLARE_CLASS(name) class name; | |
608 | #define QT_FORWARD_DECLARE_STRUCT(name) struct name; | |
609 | #define QT_MANGLE_NAMESPACE(name) name | |
610 | # 137 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
611 | #define QT_BEGIN_HEADER | |
612 | #define QT_END_HEADER | |
613 | #define QT_BEGIN_INCLUDE_HEADER | |
614 | #define QT_END_INCLUDE_HEADER extern "C++" | |
615 | # 215 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
616 | #define Q_OS_LINUX | |
617 | # 285 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
618 | #define Q_OS_UNIX | |
619 | # 449 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
620 | #define Q_CC_GNU | |
621 | #define Q_C_CALLBACKS | |
622 | # 483 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
623 | #define Q_PACKED __attribute__ ((__packed__)) | |
624 | #define Q_NO_PACKED_REFERENCE | |
625 | ||
626 | #define QT_NO_ARM_EABI | |
627 | # 697 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
628 | #define Q_CONSTRUCTOR_FUNCTION0(AFUNC) static const int AFUNC ## __init_variable__ = AFUNC(); | |
629 | ||
630 | #define Q_CONSTRUCTOR_FUNCTION(AFUNC) Q_CONSTRUCTOR_FUNCTION0(AFUNC) | |
631 | ||
632 | ||
633 | ||
634 | #define Q_DESTRUCTOR_FUNCTION0(AFUNC) class AFUNC ## __dest_class__ { public: inline AFUNC ## __dest_class__() { } inline ~ AFUNC ## __dest_class__() { AFUNC(); } } AFUNC ## __dest_instance__; | |
635 | ||
636 | ||
637 | ||
638 | ||
639 | ||
640 | #define Q_DESTRUCTOR_FUNCTION(AFUNC) Q_DESTRUCTOR_FUNCTION0(AFUNC) | |
641 | ||
642 | ||
643 | ||
644 | ||
645 | #define Q_REQUIRED_RESULT __attribute__ ((warn_unused_result)) | |
646 | # 771 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
647 | ||
648 | ||
649 | ||
650 | ||
651 | ||
652 | ||
653 | ||
654 | ||
655 | ||
656 | typedef signed char qint8; | |
657 | typedef unsigned char quint8; | |
658 | typedef short qint16; | |
659 | typedef unsigned short quint16; | |
660 | typedef int qint32; | |
661 | typedef unsigned int quint32; | |
662 | ||
663 | ||
664 | ||
665 | ||
666 | ||
667 | ||
668 | #define Q_INT64_C(c) static_cast<long long>(c ## LL) | |
669 | #define Q_UINT64_C(c) static_cast<unsigned long long>(c ## ULL) | |
670 | typedef long long qint64; | |
671 | typedef unsigned long long quint64; | |
672 | ||
673 | ||
674 | typedef qint64 qlonglong; | |
675 | typedef quint64 qulonglong; | |
676 | # 809 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
677 | #define Q_INIT_RESOURCE(name) do { extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); } while (0) | |
678 | ||
679 | ||
680 | #define Q_CLEANUP_RESOURCE(name) do { extern int QT_MANGLE_NAMESPACE(qCleanupResources_ ## name) (); QT_MANGLE_NAMESPACE(qCleanupResources_ ## name) (); } while (0) | |
681 | # 824 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
682 | template <int> class QUintForSize { private: typedef void Type; }; | |
683 | template <> class QUintForSize<4> { public: typedef quint32 Type; }; | |
684 | template <> class QUintForSize<8> { public: typedef quint64 Type; }; | |
685 | template <typename T> class QUintForType : public QUintForSize<sizeof(T)> { }; | |
686 | typedef QUintForType<void *>::Type quintptr; | |
687 | ||
688 | template <int> class QIntForSize { private: typedef void Type; }; | |
689 | template <> class QIntForSize<4> { public: typedef qint32 Type; }; | |
690 | template <> class QIntForSize<8> { public: typedef qint64 Type; }; | |
691 | template <typename T> class QIntForType : public QIntForSize<sizeof(T)> { }; | |
692 | typedef QIntForType<void *>::Type qptrdiff; | |
693 | ||
694 | ||
695 | ||
696 | ||
697 | ||
698 | ||
699 | typedef unsigned char uchar; | |
700 | typedef unsigned short ushort; | |
701 | typedef unsigned int uint; | |
702 | typedef unsigned long ulong; | |
703 | ||
704 | # 857 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
705 | #define TRUE true | |
706 | #define FALSE false | |
707 | # 879 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
708 | #define QT_STATIC_CONST static const | |
709 | #define QT_STATIC_CONST_IMPL const | |
710 | # 889 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
711 | #define Q_DECL_DEPRECATED __attribute__ ((__deprecated__)) | |
712 | # 900 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
713 | #define Q_DECL_VARIABLE_DEPRECATED Q_DECL_DEPRECATED | |
714 | ||
715 | ||
716 | ||
717 | ||
718 | ||
719 | ||
720 | ||
721 | #define Q_DECL_CONSTRUCTOR_DEPRECATED Q_DECL_DEPRECATED | |
722 | # 930 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
723 | #undef QT_DEPRECATED | |
724 | #define QT_DEPRECATED | |
725 | #undef QT_DEPRECATED_VARIABLE | |
726 | #define QT_DEPRECATED_VARIABLE | |
727 | #undef QT_DEPRECATED_CONSTRUCTOR | |
728 | #define QT_DEPRECATED_CONSTRUCTOR | |
729 | # 968 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
730 | #undef QT_MOC_COMPAT | |
731 | #define QT_MOC_COMPAT | |
732 | ||
733 | ||
734 | ||
735 | #define QT_ASCII_CAST_WARN Q_DECL_DEPRECATED | |
736 | ||
737 | ||
738 | ||
739 | ||
740 | #define QT_ASCII_CAST_WARN_CONSTRUCTOR Q_DECL_CONSTRUCTOR_DEPRECATED | |
741 | # 998 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
742 | #define QT_FASTCALL | |
743 | ||
744 | ||
745 | typedef int QNoImplicitBoolCast; | |
746 | # 1012 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
747 | typedef double qreal; | |
748 | ||
749 | ||
750 | ||
751 | ||
752 | ||
753 | ||
754 | template <typename T> | |
755 | inline T qAbs(const T &t) { return t >= 0 ? t : -t; } | |
756 | ||
757 | inline int qRound(qreal d) | |
758 | { return d >= 0.0 ? int(d + 0.5) : int(d - int(d-1) + 0.5) + int(d-1); } | |
759 | ||
760 | inline qint64 qRound64(qreal d) | |
761 | { return d >= 0.0 ? qint64(d + 0.5) : qint64(d - qint64(d-1) + 0.5) + qint64(d-1); } | |
762 | ||
763 | template <typename T> | |
764 | inline const T &qMin(const T &a, const T &b) { if (a < b) return a; return b; } | |
765 | template <typename T> | |
766 | inline const T &qMax(const T &a, const T &b) { if (a < b) return b; return a; } | |
767 | template <typename T> | |
768 | inline const T &qBound(const T &min, const T &val, const T &max) | |
769 | { return qMax(min, qMin(max, val)); } | |
770 | # 1065 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
771 | class QDataStream; | |
772 | # 1081 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
773 | # 1 "../../include/QtCore/qfeatures.h" 1 | |
774 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qfeatures.h" 1 | |
775 | # 1 "../../include/QtCore/qfeatures.h" 2 | |
776 | # 1082 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" 2 | |
777 | ||
778 | #define QT_SUPPORTS(FEATURE) (!defined(QT_NO_ ##FEATURE)) | |
779 | ||
780 | ||
781 | ||
782 | ||
783 | ||
784 | #define Q_DECL_EXPORT __attribute__((visibility("default"))) | |
785 | # 1099 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
786 | #define Q_DECL_IMPORT | |
787 | # 1197 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
788 | #undef QT_MAKEDLL | |
789 | #undef QT_DLL | |
790 | ||
791 | ||
792 | ||
793 | ||
794 | #define Q_CORE_EXPORT Q_DECL_EXPORT | |
795 | #define Q_GUI_EXPORT Q_DECL_EXPORT | |
796 | #define Q_SQL_EXPORT Q_DECL_EXPORT | |
797 | #define Q_NETWORK_EXPORT Q_DECL_EXPORT | |
798 | #define Q_SVG_EXPORT Q_DECL_EXPORT | |
799 | #define Q_OPENGL_EXPORT Q_DECL_EXPORT | |
800 | #define Q_XML_EXPORT Q_DECL_EXPORT | |
801 | #define Q_XMLPATTERNS_EXPORT Q_DECL_EXPORT | |
802 | #define Q_SCRIPT_EXPORT Q_DECL_EXPORT | |
803 | #define Q_SCRIPTTOOLS_EXPORT Q_DECL_EXPORT | |
804 | #define Q_COMPAT_EXPORT Q_DECL_EXPORT | |
805 | # 1243 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
806 | #define Q_CORE_EXPORT_INLINE Q_CORE_EXPORT inline | |
807 | #define Q_GUI_EXPORT_INLINE Q_GUI_EXPORT inline | |
808 | # 1259 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
809 | #define Q_AUTOTEST_EXPORT | |
810 | ||
811 | ||
812 | ||
813 | ||
814 | ||
815 | ||
816 | class QString; | |
817 | class __attribute__((visibility("default"))) QSysInfo { | |
818 | public: | |
819 | enum Sizes { | |
820 | WordSize = (sizeof(void *)<<3) | |
821 | }; | |
822 | # 1281 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
823 | enum Endian { | |
824 | BigEndian, | |
825 | LittleEndian | |
826 | ||
827 | ||
828 | ||
829 | ||
830 | ||
831 | ||
832 | , ByteOrder = LittleEndian | |
833 | ||
834 | ||
835 | ||
836 | }; | |
837 | # 1358 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
838 | }; | |
839 | ||
840 | __attribute__((visibility("default"))) const char *qVersion(); | |
841 | __attribute__((visibility("default"))) bool qSharedBuild(); | |
842 | # 1396 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
843 | #define Q_OUTOFLINE_TEMPLATE | |
844 | ||
845 | ||
846 | #define Q_INLINE_TEMPLATE inline | |
847 | ||
848 | ||
849 | ||
850 | #define Q_TYPENAME typename | |
851 | # 1415 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
852 | #define Q_UNUSED(x) (void)x; | |
853 | # 1427 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
854 | #define qPrintable(string) (string).toLocal8Bit().constData() | |
855 | ||
856 | ||
857 | __attribute__((visibility("default"))) void qDebug(const char *, ...) | |
858 | ||
859 | __attribute__ ((format (printf, 1, 2))) | |
860 | ||
861 | ; | |
862 | ||
863 | __attribute__((visibility("default"))) void qWarning(const char *, ...) | |
864 | ||
865 | __attribute__ ((format (printf, 1, 2))) | |
866 | ||
867 | ; | |
868 | ||
869 | class QString; | |
870 | __attribute__((visibility("default"))) QString qt_error_string(int errorCode = -1); | |
871 | __attribute__((visibility("default"))) void qCritical(const char *, ...) | |
872 | ||
873 | __attribute__ ((format (printf, 1, 2))) | |
874 | ||
875 | ; | |
876 | __attribute__((visibility("default"))) void qFatal(const char *, ...) | |
877 | ||
878 | __attribute__ ((format (printf, 1, 2))) | |
879 | ||
880 | ; | |
881 | ||
882 | ||
883 | ||
884 | ||
885 | __attribute__((visibility("default"))) void qErrnoWarning(int code, const char *msg, ...); | |
886 | __attribute__((visibility("default"))) void qErrnoWarning(const char *msg, ...); | |
887 | # 1470 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
888 | class QDebug; | |
889 | class QNoDebug; | |
890 | ||
891 | __attribute__((visibility("default"))) inline QDebug qDebug(); | |
892 | __attribute__((visibility("default"))) inline QDebug qWarning(); | |
893 | __attribute__((visibility("default"))) inline QDebug qCritical(); | |
894 | ||
895 | ||
896 | ||
897 | ||
898 | #define QT_NO_QDEBUG_MACRO if(1); else qDebug | |
899 | ||
900 | ||
901 | ||
902 | #define QT_NO_QWARNING_MACRO if(1); else qWarning | |
903 | ||
904 | ||
905 | ||
906 | ||
907 | ||
908 | inline void qt_noop() {} | |
909 | ||
910 | __attribute__((visibility("default"))) void qt_assert(const char *assertion, const char *file, int line); | |
911 | ||
912 | ||
913 | ||
914 | ||
915 | ||
916 | #define Q_ASSERT(cond) qt_noop() | |
917 | ||
918 | ||
919 | ||
920 | ||
921 | #define QT_NO_PAINT_DEBUG | |
922 | ||
923 | ||
924 | __attribute__((visibility("default"))) void qt_assert_x(const char *where, const char *what, const char *file, int line); | |
925 | ||
926 | ||
927 | ||
928 | ||
929 | ||
930 | #define Q_ASSERT_X(cond,where,what) qt_noop() | |
931 | ||
932 | ||
933 | ||
934 | __attribute__((visibility("default"))) void qt_check_pointer(const char *, int); | |
935 | ||
936 | ||
937 | ||
938 | ||
939 | #define Q_CHECK_PTR(p) | |
940 | ||
941 | ||
942 | ||
943 | #define Q_FUNC_INFO __PRETTY_FUNCTION__ | |
944 | # 1551 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
945 | enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtSystemMsg = QtCriticalMsg }; | |
946 | ||
947 | __attribute__((visibility("default"))) void qt_message_output(QtMsgType, const char *buf); | |
948 | ||
949 | typedef void (*QtMsgHandler)(QtMsgType, const char *); | |
950 | __attribute__((visibility("default"))) QtMsgHandler qInstallMsgHandler(QtMsgHandler); | |
951 | # 1605 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
952 | template <typename T> class QBasicAtomicPointer; | |
953 | ||
954 | ||
955 | template <typename T> | |
956 | class QGlobalStatic | |
957 | { | |
958 | public: | |
959 | QBasicAtomicPointer<T> pointer; | |
960 | bool destroyed; | |
961 | }; | |
962 | ||
963 | ||
964 | template <typename T> | |
965 | class QGlobalStaticDeleter | |
966 | { | |
967 | public: | |
968 | QGlobalStatic<T> &globalStatic; | |
969 | QGlobalStaticDeleter(QGlobalStatic<T> &_globalStatic) | |
970 | : globalStatic(_globalStatic) | |
971 | { } | |
972 | ||
973 | inline ~QGlobalStaticDeleter() | |
974 | { | |
975 | delete globalStatic.pointer; | |
976 | globalStatic.pointer = 0; | |
977 | globalStatic.destroyed = true; | |
978 | } | |
979 | }; | |
980 | ||
981 | #define Q_GLOBAL_STATIC_INIT(TYPE,NAME) static QGlobalStatic<TYPE > this_ ##NAME = { Q_BASIC_ATOMIC_INITIALIZER(0), false } | |
982 | ||
983 | ||
984 | #define Q_GLOBAL_STATIC(TYPE,NAME) Q_GLOBAL_STATIC_INIT(TYPE, NAME); static TYPE *NAME() { if (!this_ ##NAME.pointer && !this_ ##NAME.destroyed) { TYPE *x = new TYPE; if (!this_ ##NAME.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<TYPE > cleanup(this_ ##NAME); } return this_ ##NAME.pointer; } | |
985 | # 1651 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
986 | #define Q_GLOBAL_STATIC_WITH_ARGS(TYPE,NAME,ARGS) Q_GLOBAL_STATIC_INIT(TYPE, NAME); static TYPE *NAME() { if (!this_ ##NAME.pointer && !this_ ##NAME.destroyed) { TYPE *x = new TYPE ARGS; if (!this_ ##NAME.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<TYPE > cleanup(this_ ##NAME); } return this_ ##NAME.pointer; } | |
987 | # 1665 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
988 | #define Q_GLOBAL_STATIC_WITH_INITIALIZER(TYPE,NAME,INITIALIZER) Q_GLOBAL_STATIC_INIT(TYPE, NAME); static TYPE *NAME() { if (!this_ ##NAME.pointer && !this_ ##NAME.destroyed) { TYPE *x = new TYPE; INITIALIZER; if (!this_ ##NAME.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<TYPE > cleanup(this_ ##NAME); } return this_ ##NAME.pointer; } | |
989 | # 1682 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
990 | class QBool | |
991 | { | |
992 | bool b; | |
993 | ||
994 | public: | |
995 | inline explicit QBool(bool B) : b(B) {} | |
996 | inline operator const void *() const | |
997 | { return b ? static_cast<const void *>(this) : static_cast<const void *>(0); } | |
998 | }; | |
999 | ||
1000 | inline bool operator==(QBool b1, bool b2) { return !b1 == !b2; } | |
1001 | inline bool operator==(bool b1, QBool b2) { return !b1 == !b2; } | |
1002 | inline bool operator==(QBool b1, QBool b2) { return !b1 == !b2; } | |
1003 | inline bool operator!=(QBool b1, bool b2) { return !b1 != !b2; } | |
1004 | inline bool operator!=(bool b1, QBool b2) { return !b1 != !b2; } | |
1005 | inline bool operator!=(QBool b1, QBool b2) { return !b1 != !b2; } | |
1006 | ||
1007 | static inline bool qFuzzyCompare(double p1, double p2) | |
1008 | { | |
1009 | return (qAbs(p1 - p2) <= 0.000000000001 * qMin(qAbs(p1), qAbs(p2))); | |
1010 | } | |
1011 | ||
1012 | static inline bool qFuzzyCompare(float p1, float p2) | |
1013 | { | |
1014 | return (qAbs(p1 - p2) <= 0.00001f * qMin(qAbs(p1), qAbs(p2))); | |
1015 | } | |
1016 | ||
1017 | ||
1018 | ||
1019 | ||
1020 | ||
1021 | ||
1022 | static inline bool qIsNull(double d) | |
1023 | { | |
1024 | union U { | |
1025 | double d; | |
1026 | quint64 u; | |
1027 | }; | |
1028 | U val; | |
1029 | val.d = d; | |
1030 | return val.u == quint64(0); | |
1031 | } | |
1032 | ||
1033 | ||
1034 | ||
1035 | ||
1036 | ||
1037 | ||
1038 | static inline bool qIsNull(float f) | |
1039 | { | |
1040 | union U { | |
1041 | float f; | |
1042 | quint32 u; | |
1043 | }; | |
1044 | U val; | |
1045 | val.f = f; | |
1046 | return val.u == 0u; | |
1047 | } | |
1048 | # 1757 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1049 | #define Q_DUMMY_COMPARISON_OPERATOR(C) | |
1050 | # 1772 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1051 | template <typename T> inline bool qIsDetached(T &) { return true; } | |
1052 | ||
1053 | template <typename T> | |
1054 | class QTypeInfo | |
1055 | { | |
1056 | public: | |
1057 | enum { | |
1058 | isPointer = false, | |
1059 | isComplex = true, | |
1060 | isStatic = true, | |
1061 | isLarge = (sizeof(T)>sizeof(void*)), | |
1062 | isDummy = false | |
1063 | }; | |
1064 | }; | |
1065 | ||
1066 | template <typename T> | |
1067 | class QTypeInfo<T*> | |
1068 | { | |
1069 | public: | |
1070 | enum { | |
1071 | isPointer = true, | |
1072 | isComplex = false, | |
1073 | isStatic = false, | |
1074 | isLarge = false, | |
1075 | isDummy = false | |
1076 | }; | |
1077 | }; | |
1078 | # 1830 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1079 | enum { | |
1080 | Q_COMPLEX_TYPE = 0, | |
1081 | Q_PRIMITIVE_TYPE = 0x1, | |
1082 | Q_STATIC_TYPE = 0, | |
1083 | Q_MOVABLE_TYPE = 0x2, | |
1084 | Q_DUMMY_TYPE = 0x4 | |
1085 | }; | |
1086 | ||
1087 | #define Q_DECLARE_TYPEINFO(TYPE,FLAGS) template <> class QTypeInfo<TYPE> { public: enum { isComplex = (((FLAGS) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((FLAGS) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(TYPE)>sizeof(void*)), isPointer = false, isDummy = (((FLAGS) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return #TYPE; } } | |
1088 | # 1879 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1089 | #define Q_DECLARE_SHARED(TYPE) template <> inline bool qIsDetached<TYPE>(TYPE &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<TYPE>(TYPE &value1, TYPE &value2) { const TYPE::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
1090 | # 1893 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1091 | template <> class QTypeInfo<bool> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(bool)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "bool"; } }; | |
1092 | template <> class QTypeInfo<char> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(char)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "char"; } }; | |
1093 | template <> class QTypeInfo<signed char> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(signed char)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "signed char"; } }; | |
1094 | template <> class QTypeInfo<uchar> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(uchar)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "uchar"; } }; | |
1095 | template <> class QTypeInfo<short> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(short)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "short"; } }; | |
1096 | template <> class QTypeInfo<ushort> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(ushort)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "ushort"; } }; | |
1097 | template <> class QTypeInfo<int> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(int)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "int"; } }; | |
1098 | template <> class QTypeInfo<uint> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(uint)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "uint"; } }; | |
1099 | template <> class QTypeInfo<long> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(long)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "long"; } }; | |
1100 | template <> class QTypeInfo<ulong> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(ulong)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "ulong"; } }; | |
1101 | template <> class QTypeInfo<qint64> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(qint64)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "qint64"; } }; | |
1102 | template <> class QTypeInfo<quint64> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(quint64)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "quint64"; } }; | |
1103 | template <> class QTypeInfo<float> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(float)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "float"; } }; | |
1104 | template <> class QTypeInfo<double> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(double)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "double"; } }; | |
1105 | ||
1106 | template <> class QTypeInfo<long double> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(long double)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "long double"; } }; | |
1107 | ||
1108 | ||
1109 | ||
1110 | ||
1111 | ||
1112 | ||
1113 | __attribute__((visibility("default"))) void *qMalloc(size_t size); | |
1114 | __attribute__((visibility("default"))) void qFree(void *ptr); | |
1115 | __attribute__((visibility("default"))) void *qRealloc(void *ptr, size_t size); | |
1116 | __attribute__((visibility("default"))) void *qMemCopy(void *dest, const void *src, size_t n); | |
1117 | __attribute__((visibility("default"))) void *qMemSet(void *dest, int c, size_t n); | |
1118 | # 1928 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1119 | #define QT_NO_WARNINGS | |
1120 | # 1960 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1121 | class __attribute__((visibility("default"))) QFlag | |
1122 | { | |
1123 | int i; | |
1124 | public: | |
1125 | inline QFlag(int i); | |
1126 | inline operator int() const { return i; } | |
1127 | }; | |
1128 | ||
1129 | inline QFlag::QFlag(int ai) : i(ai) {} | |
1130 | ||
1131 | class __attribute__((visibility("default"))) QIncompatibleFlag | |
1132 | { | |
1133 | int i; | |
1134 | public: | |
1135 | inline explicit QIncompatibleFlag(int i); | |
1136 | inline operator int() const { return i; } | |
1137 | }; | |
1138 | ||
1139 | inline QIncompatibleFlag::QIncompatibleFlag(int ai) : i(ai) {} | |
1140 | ||
1141 | ||
1142 | ||
1143 | ||
1144 | template<typename Enum> | |
1145 | class QFlags | |
1146 | { | |
1147 | typedef void **Zero; | |
1148 | int i; | |
1149 | public: | |
1150 | typedef Enum enum_type; | |
1151 | inline QFlags(const QFlags &f) : i(f.i) {} | |
1152 | inline QFlags(Enum f) : i(f) {} | |
1153 | inline QFlags(Zero = 0) : i(0) {} | |
1154 | inline QFlags(QFlag f) : i(f) {} | |
1155 | ||
1156 | inline QFlags &operator=(const QFlags &f) { i = f.i; return *this; } | |
1157 | inline QFlags &operator&=(int mask) { i &= mask; return *this; } | |
1158 | inline QFlags &operator&=(uint mask) { i &= mask; return *this; } | |
1159 | inline QFlags &operator|=(QFlags f) { i |= f.i; return *this; } | |
1160 | inline QFlags &operator|=(Enum f) { i |= f; return *this; } | |
1161 | inline QFlags &operator^=(QFlags f) { i ^= f.i; return *this; } | |
1162 | inline QFlags &operator^=(Enum f) { i ^= f; return *this; } | |
1163 | ||
1164 | inline operator int() const { return i; } | |
1165 | ||
1166 | inline QFlags operator|(QFlags f) const { QFlags g; g.i = i | f.i; return g; } | |
1167 | inline QFlags operator|(Enum f) const { QFlags g; g.i = i | f; return g; } | |
1168 | inline QFlags operator^(QFlags f) const { QFlags g; g.i = i ^ f.i; return g; } | |
1169 | inline QFlags operator^(Enum f) const { QFlags g; g.i = i ^ f; return g; } | |
1170 | inline QFlags operator&(int mask) const { QFlags g; g.i = i & mask; return g; } | |
1171 | inline QFlags operator&(uint mask) const { QFlags g; g.i = i & mask; return g; } | |
1172 | inline QFlags operator&(Enum f) const { QFlags g; g.i = i & f; return g; } | |
1173 | inline QFlags operator~() const { QFlags g; g.i = ~i; return g; } | |
1174 | ||
1175 | inline bool operator!() const { return !i; } | |
1176 | ||
1177 | inline bool testFlag(Enum f) const { return (i & f) == f; } | |
1178 | }; | |
1179 | ||
1180 | #define Q_DECLARE_FLAGS(Flags,Enum) typedef QFlags<Enum> Flags; | |
1181 | ||
1182 | ||
1183 | ||
1184 | ||
1185 | ||
1186 | #define Q_DECLARE_INCOMPATIBLE_FLAGS(Flags) inline QIncompatibleFlag operator|(Flags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
1187 | ||
1188 | ||
1189 | ||
1190 | ||
1191 | #define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags) inline QFlags<Flags::enum_type> operator|(Flags::enum_type f1, Flags::enum_type f2) { return QFlags<Flags::enum_type>(f1) | f2; } inline QFlags<Flags::enum_type> operator|(Flags::enum_type f1, QFlags<Flags::enum_type> f2) { return f2 | f1; } Q_DECLARE_INCOMPATIBLE_FLAGS(Flags) | |
1192 | # 2047 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1193 | template <typename T> | |
1194 | class QForeachContainer { | |
1195 | public: | |
1196 | inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { } | |
1197 | const T c; | |
1198 | int brk; | |
1199 | typename T::const_iterator i, e; | |
1200 | }; | |
1201 | ||
1202 | #define Q_FOREACH(variable,container) for (QForeachContainer<__typeof__(container)> _container_(container); !_container_.brk && _container_.i != _container_.e; __extension__ ({ ++_container_.brk; ++_container_.i; })) for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;})) | |
1203 | # 2110 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1204 | #define Q_FOREVER for(;;) | |
1205 | ||
1206 | ||
1207 | #define foreach Q_FOREACH | |
1208 | ||
1209 | ||
1210 | #define forever Q_FOREVER | |
1211 | # 2128 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1212 | #define Q_DECLARE_PRIVATE(Class) inline Class ##Private* d_func() { return reinterpret_cast<Class ##Private *>(d_ptr); } inline const Class ##Private* d_func() const { return reinterpret_cast<const Class ##Private *>(d_ptr); } friend class Class ##Private; | |
1213 | ||
1214 | ||
1215 | ||
1216 | ||
1217 | #define Q_DECLARE_PRIVATE_D(Dptr,Class) inline Class ##Private* d_func() { return reinterpret_cast<Class ##Private *>(Dptr); } inline const Class ##Private* d_func() const { return reinterpret_cast<const Class ##Private *>(Dptr); } friend class Class ##Private; | |
1218 | ||
1219 | ||
1220 | ||
1221 | ||
1222 | #define Q_DECLARE_PUBLIC(Class) inline Class* q_func() { return static_cast<Class *>(q_ptr); } inline const Class* q_func() const { return static_cast<const Class *>(q_ptr); } friend class Class; | |
1223 | ||
1224 | ||
1225 | ||
1226 | ||
1227 | #define Q_D(Class) Class ##Private * const d = d_func() | |
1228 | #define Q_Q(Class) Class * const q = q_func() | |
1229 | ||
1230 | #define QT_TR_NOOP(x) (x) | |
1231 | #define QT_TR_NOOP_UTF8(x) (x) | |
1232 | #define QT_TRANSLATE_NOOP(scope,x) (x) | |
1233 | #define QT_TRANSLATE_NOOP_UTF8(scope,x) (x) | |
1234 | #define QT_TRANSLATE_NOOP3(scope,x,comment) {x, comment} | |
1235 | #define QT_TRANSLATE_NOOP3_UTF8(scope,x,comment) {x, comment} | |
1236 | #define QDOC_PROPERTY(text) | |
1237 | # 2174 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1238 | #define Q_DISABLE_COPY(Class) Class(const Class &); Class &operator=(const Class &); | |
1239 | ||
1240 | ||
1241 | ||
1242 | ||
1243 | ||
1244 | ||
1245 | class QByteArray; | |
1246 | __attribute__((visibility("default"))) QByteArray qgetenv(const char *varName); | |
1247 | __attribute__((visibility("default"))) bool qputenv(const char *varName, const QByteArray& value); | |
1248 | ||
1249 | inline int qIntCast(double f) { return int(f); } | |
1250 | inline int qIntCast(float f) { return int(f); } | |
1251 | ||
1252 | ||
1253 | ||
1254 | ||
1255 | __attribute__((visibility("default"))) void qsrand(uint seed); | |
1256 | __attribute__((visibility("default"))) int qrand(); | |
1257 | # 2221 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1258 | #define QT_MODULE_CORE 0x00001 | |
1259 | #define QT_MODULE_GUI 0x00002 | |
1260 | #define QT_MODULE_NETWORK 0x00004 | |
1261 | #define QT_MODULE_OPENGL 0x00008 | |
1262 | #define QT_MODULE_SQL 0x00010 | |
1263 | #define QT_MODULE_XML 0x00020 | |
1264 | #define QT_MODULE_QT3SUPPORTLIGHT 0x00040 | |
1265 | #define QT_MODULE_QT3SUPPORT 0x00080 | |
1266 | #define QT_MODULE_SVG 0x00100 | |
1267 | #define QT_MODULE_ACTIVEQT 0x00200 | |
1268 | #define QT_MODULE_GRAPHICSVIEW 0x00400 | |
1269 | #define QT_MODULE_SCRIPT 0x00800 | |
1270 | #define QT_MODULE_XMLPATTERNS 0x01000 | |
1271 | #define QT_MODULE_HELP 0x02000 | |
1272 | #define QT_MODULE_TEST 0x04000 | |
1273 | #define QT_MODULE_DBUS 0x08000 | |
1274 | #define QT_MODULE_SCRIPTTOOLS 0x10000 | |
1275 | ||
1276 | ||
1277 | #define QT_EDITION_CONSOLE (QT_MODULE_CORE | QT_MODULE_NETWORK | QT_MODULE_SQL | QT_MODULE_SCRIPT | QT_MODULE_XML | QT_MODULE_XMLPATTERNS | QT_MODULE_TEST | QT_MODULE_DBUS) | |
1278 | ||
1279 | ||
1280 | ||
1281 | ||
1282 | ||
1283 | ||
1284 | ||
1285 | #define QT_EDITION_DESKTOPLIGHT (QT_MODULE_CORE | QT_MODULE_GUI | QT_MODULE_QT3SUPPORTLIGHT | QT_MODULE_TEST | QT_MODULE_DBUS) | |
1286 | ||
1287 | ||
1288 | ||
1289 | ||
1290 | #define QT_EDITION_OPENSOURCE (QT_MODULE_CORE | QT_MODULE_GUI | QT_MODULE_NETWORK | QT_MODULE_OPENGL | QT_MODULE_SQL | QT_MODULE_XML | QT_MODULE_XMLPATTERNS | QT_MODULE_SCRIPT | QT_MODULE_SCRIPTTOOLS | QT_MODULE_QT3SUPPORTLIGHT | QT_MODULE_QT3SUPPORT | QT_MODULE_SVG | QT_MODULE_GRAPHICSVIEW | QT_MODULE_HELP | QT_MODULE_TEST | QT_MODULE_DBUS) | |
1291 | # 2269 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1292 | #define QT_EDITION_DESKTOP (QT_EDITION_OPENSOURCE | QT_MODULE_ACTIVEQT) | |
1293 | ||
1294 | #define QT_EDITION_UNIVERSAL QT_EDITION_DESKTOP | |
1295 | #define QT_EDITION_ACADEMIC QT_EDITION_DESKTOP | |
1296 | #define QT_EDITION_EDUCATIONAL QT_EDITION_DESKTOP | |
1297 | #define QT_EDITION_EVALUATION QT_EDITION_DESKTOP | |
1298 | # 2285 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1299 | #define QT_LICENSED_MODULE(x) enum QtValidLicenseFor ##x ##Module { Licensed ##x = true }; | |
1300 | ||
1301 | ||
1302 | ||
1303 | enum QtValidLicenseForCoreModule { LicensedCore = true }; | |
1304 | ||
1305 | ||
1306 | enum QtValidLicenseForGuiModule { LicensedGui = true }; | |
1307 | ||
1308 | ||
1309 | enum QtValidLicenseForNetworkModule { LicensedNetwork = true }; | |
1310 | ||
1311 | ||
1312 | enum QtValidLicenseForOpenGLModule { LicensedOpenGL = true }; | |
1313 | ||
1314 | ||
1315 | enum QtValidLicenseForSqlModule { LicensedSql = true }; | |
1316 | ||
1317 | ||
1318 | enum QtValidLicenseForXmlModule { LicensedXml = true }; | |
1319 | ||
1320 | ||
1321 | enum QtValidLicenseForXmlPatternsModule { LicensedXmlPatterns = true }; | |
1322 | ||
1323 | ||
1324 | enum QtValidLicenseForHelpModule { LicensedHelp = true }; | |
1325 | ||
1326 | ||
1327 | enum QtValidLicenseForScriptModule { LicensedScript = true }; | |
1328 | ||
1329 | ||
1330 | enum QtValidLicenseForScriptToolsModule { LicensedScriptTools = true }; | |
1331 | ||
1332 | ||
1333 | enum QtValidLicenseForQt3SupportLightModule { LicensedQt3SupportLight = true }; | |
1334 | ||
1335 | ||
1336 | enum QtValidLicenseForQt3SupportModule { LicensedQt3Support = true }; | |
1337 | ||
1338 | ||
1339 | enum QtValidLicenseForSvgModule { LicensedSvg = true }; | |
1340 | ||
1341 | ||
1342 | ||
1343 | ||
1344 | ||
1345 | enum QtValidLicenseForTestModule { LicensedTest = true }; | |
1346 | ||
1347 | ||
1348 | enum QtValidLicenseForDBusModule { LicensedDBus = true }; | |
1349 | ||
1350 | ||
1351 | #define QT_MODULE(x) typedef QtValidLicenseFor ##x ##Module Qt ##x ##Module; | |
1352 | # 2370 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h" | |
1353 | ||
1354 | ||
1355 | # 1 "../../include/QtCore/qglobal.h" 2 | |
1356 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qalgorithms.h" 2 | |
1357 | ||
1358 | ||
1359 | ||
1360 | ||
1361 | ||
1362 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
1363 | ||
1364 | ||
1365 | ||
1366 | ||
1367 | ||
1368 | namespace QAlgorithmsPrivate { | |
1369 | ||
1370 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1371 | void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); | |
1372 | template <typename RandomAccessIterator, typename T> | |
1373 | inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy); | |
1374 | ||
1375 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1376 | void qStableSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); | |
1377 | template <typename RandomAccessIterator, typename T> | |
1378 | inline void qStableSortHelper(RandomAccessIterator, RandomAccessIterator, const T &); | |
1379 | ||
1380 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1381 | RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); | |
1382 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1383 | RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); | |
1384 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1385 | RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); | |
1386 | ||
1387 | } | |
1388 | ||
1389 | template <typename InputIterator, typename OutputIterator> | |
1390 | inline OutputIterator qCopy(InputIterator begin, InputIterator end, OutputIterator dest) | |
1391 | { | |
1392 | while (begin != end) | |
1393 | *dest++ = *begin++; | |
1394 | return dest; | |
1395 | } | |
1396 | ||
1397 | template <typename BiIterator1, typename BiIterator2> | |
1398 | inline BiIterator2 qCopyBackward(BiIterator1 begin, BiIterator1 end, BiIterator2 dest) | |
1399 | { | |
1400 | while (begin != end) | |
1401 | *--dest = *--end; | |
1402 | return dest; | |
1403 | } | |
1404 | ||
1405 | template <typename InputIterator1, typename InputIterator2> | |
1406 | inline bool qEqual(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) | |
1407 | { | |
1408 | for (; first1 != last1; ++first1, ++first2) | |
1409 | if (!(*first1 == *first2)) | |
1410 | return false; | |
1411 | return true; | |
1412 | } | |
1413 | ||
1414 | template <typename ForwardIterator, typename T> | |
1415 | inline void qFill(ForwardIterator first, ForwardIterator last, const T &val) | |
1416 | { | |
1417 | for (; first != last; ++first) | |
1418 | *first = val; | |
1419 | } | |
1420 | ||
1421 | template <typename Container, typename T> | |
1422 | inline void qFill(Container &container, const T &val) | |
1423 | { | |
1424 | qFill(container.begin(), container.end(), val); | |
1425 | } | |
1426 | ||
1427 | template <typename InputIterator, typename T> | |
1428 | inline InputIterator qFind(InputIterator first, InputIterator last, const T &val) | |
1429 | { | |
1430 | while (first != last && !(*first == val)) | |
1431 | ++first; | |
1432 | return first; | |
1433 | } | |
1434 | ||
1435 | template <typename Container, typename T> | |
1436 | inline typename Container::const_iterator qFind(const Container &container, const T &val) | |
1437 | { | |
1438 | return qFind(container.constBegin(), container.constEnd(), val); | |
1439 | } | |
1440 | ||
1441 | template <typename InputIterator, typename T, typename Size> | |
1442 | inline void qCount(InputIterator first, InputIterator last, const T &value, Size &n) | |
1443 | { | |
1444 | for (; first != last; ++first) | |
1445 | if (*first == value) | |
1446 | ++n; | |
1447 | } | |
1448 | ||
1449 | template <typename Container, typename T, typename Size> | |
1450 | inline void qCount(const Container &container, const T &value, Size &n) | |
1451 | { | |
1452 | qCount(container.constBegin(), container.constEnd(), value, n); | |
1453 | } | |
1454 | # 152 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qalgorithms.h" | |
1455 | template <typename T> | |
1456 | inline void qSwap(T &value1, T &value2) | |
1457 | { | |
1458 | T t = value1; | |
1459 | value1 = value2; | |
1460 | value2 = t; | |
1461 | } | |
1462 | # 172 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qalgorithms.h" | |
1463 | template <typename T> | |
1464 | class qLess | |
1465 | { | |
1466 | public: | |
1467 | inline bool operator()(const T &t1, const T &t2) const | |
1468 | { | |
1469 | return (t1 < t2); | |
1470 | } | |
1471 | }; | |
1472 | ||
1473 | template <typename T> | |
1474 | class qGreater | |
1475 | { | |
1476 | public: | |
1477 | inline bool operator()(const T &t1, const T &t2) const | |
1478 | { | |
1479 | return (t2 < t1); | |
1480 | } | |
1481 | }; | |
1482 | ||
1483 | ||
1484 | template <typename RandomAccessIterator> | |
1485 | inline void qSort(RandomAccessIterator start, RandomAccessIterator end) | |
1486 | { | |
1487 | if (start != end) | |
1488 | QAlgorithmsPrivate::qSortHelper(start, end, *start); | |
1489 | } | |
1490 | ||
1491 | template <typename RandomAccessIterator, typename LessThan> | |
1492 | inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) | |
1493 | { | |
1494 | if (start != end) | |
1495 | QAlgorithmsPrivate::qSortHelper(start, end, *start, lessThan); | |
1496 | } | |
1497 | ||
1498 | template<typename Container> | |
1499 | inline void qSort(Container &c) | |
1500 | { | |
1501 | ||
1502 | ||
1503 | ||
1504 | ||
1505 | if (!c.empty()) | |
1506 | QAlgorithmsPrivate::qSortHelper(c.begin(), c.end(), *c.begin()); | |
1507 | } | |
1508 | ||
1509 | template <typename RandomAccessIterator> | |
1510 | inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end) | |
1511 | { | |
1512 | if (start != end) | |
1513 | QAlgorithmsPrivate::qStableSortHelper(start, end, *start); | |
1514 | } | |
1515 | ||
1516 | template <typename RandomAccessIterator, typename LessThan> | |
1517 | inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) | |
1518 | { | |
1519 | if (start != end) | |
1520 | QAlgorithmsPrivate::qStableSortHelper(start, end, *start, lessThan); | |
1521 | } | |
1522 | ||
1523 | template<typename Container> | |
1524 | inline void qStableSort(Container &c) | |
1525 | { | |
1526 | ||
1527 | ||
1528 | ||
1529 | ||
1530 | if (!c.empty()) | |
1531 | QAlgorithmsPrivate::qStableSortHelper(c.begin(), c.end(), *c.begin()); | |
1532 | } | |
1533 | ||
1534 | template <typename RandomAccessIterator, typename T> | |
1535 | RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) | |
1536 | { | |
1537 | ||
1538 | ||
1539 | ||
1540 | RandomAccessIterator middle; | |
1541 | int n = end - begin; | |
1542 | int half; | |
1543 | ||
1544 | while (n > 0) { | |
1545 | half = n >> 1; | |
1546 | middle = begin + half; | |
1547 | if (*middle < value) { | |
1548 | begin = middle + 1; | |
1549 | n -= half + 1; | |
1550 | } else { | |
1551 | n = half; | |
1552 | } | |
1553 | } | |
1554 | return begin; | |
1555 | } | |
1556 | ||
1557 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1558 | RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) | |
1559 | { | |
1560 | return QAlgorithmsPrivate::qLowerBoundHelper(begin, end, value, lessThan); | |
1561 | } | |
1562 | ||
1563 | template <typename Container, typename T> | |
1564 | typename Container::const_iterator qLowerBound(const Container &container, const T &value) | |
1565 | { | |
1566 | return QAlgorithmsPrivate::qLowerBoundHelper(container.constBegin(), container.constEnd(), value, qLess<T>()); | |
1567 | } | |
1568 | ||
1569 | template <typename RandomAccessIterator, typename T> | |
1570 | RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) | |
1571 | { | |
1572 | ||
1573 | RandomAccessIterator middle; | |
1574 | int n = end - begin; | |
1575 | int half; | |
1576 | ||
1577 | while (n > 0) { | |
1578 | half = n >> 1; | |
1579 | middle = begin + half; | |
1580 | if (value < *middle) { | |
1581 | n = half; | |
1582 | } else { | |
1583 | begin = middle + 1; | |
1584 | n -= half + 1; | |
1585 | } | |
1586 | } | |
1587 | return begin; | |
1588 | } | |
1589 | ||
1590 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1591 | RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) | |
1592 | { | |
1593 | return QAlgorithmsPrivate::qUpperBoundHelper(begin, end, value, lessThan); | |
1594 | } | |
1595 | ||
1596 | template <typename Container, typename T> | |
1597 | typename Container::const_iterator qUpperBound(const Container &container, const T &value) | |
1598 | { | |
1599 | return QAlgorithmsPrivate::qUpperBoundHelper(container.constBegin(), container.constEnd(), value, qLess<T>()); | |
1600 | } | |
1601 | ||
1602 | template <typename RandomAccessIterator, typename T> | |
1603 | RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value) | |
1604 | { | |
1605 | ||
1606 | qint64 l = 0; | |
1607 | qint64 r = end - begin - 1; | |
1608 | if (r < 0) | |
1609 | return end; | |
1610 | qint64 i = (l + r + 1) / 2; | |
1611 | ||
1612 | while (r != l) { | |
1613 | if (value < begin[i]) | |
1614 | r = i - 1; | |
1615 | else | |
1616 | l = i; | |
1617 | i = (l + r + 1) / 2; | |
1618 | } | |
1619 | if (begin[i] < value || value < begin[i]) | |
1620 | return end; | |
1621 | else | |
1622 | return begin + i; | |
1623 | } | |
1624 | ||
1625 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1626 | RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) | |
1627 | { | |
1628 | return QAlgorithmsPrivate::qBinaryFindHelper(begin, end, value, lessThan); | |
1629 | } | |
1630 | ||
1631 | template <typename Container, typename T> | |
1632 | typename Container::const_iterator qBinaryFind(const Container &container, const T &value) | |
1633 | { | |
1634 | return QAlgorithmsPrivate::qBinaryFindHelper(container.constBegin(), container.constEnd(), value, qLess<T>()); | |
1635 | } | |
1636 | ||
1637 | template <typename ForwardIterator> | |
1638 | void qDeleteAll(ForwardIterator begin, ForwardIterator end) | |
1639 | { | |
1640 | while (begin != end) { | |
1641 | delete *begin; | |
1642 | ++begin; | |
1643 | } | |
1644 | } | |
1645 | ||
1646 | template <typename Container> | |
1647 | inline void qDeleteAll(const Container &c) | |
1648 | { | |
1649 | qDeleteAll(c.begin(), c.end()); | |
1650 | } | |
1651 | ||
1652 | ||
1653 | ||
1654 | ||
1655 | ||
1656 | namespace QAlgorithmsPrivate { | |
1657 | ||
1658 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1659 | void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan) | |
1660 | { | |
1661 | top: | |
1662 | int span = end - start; | |
1663 | if (span < 2) | |
1664 | return; | |
1665 | ||
1666 | --end; | |
1667 | RandomAccessIterator low = start, high = end - 1; | |
1668 | RandomAccessIterator pivot = start + span / 2; | |
1669 | ||
1670 | if (lessThan(*end, *start)) | |
1671 | qSwap(*end, *start); | |
1672 | if (span == 2) | |
1673 | return; | |
1674 | ||
1675 | if (lessThan(*pivot, *start)) | |
1676 | qSwap(*pivot, *start); | |
1677 | if (lessThan(*end, *pivot)) | |
1678 | qSwap(*end, *pivot); | |
1679 | if (span == 3) | |
1680 | return; | |
1681 | ||
1682 | qSwap(*pivot, *end); | |
1683 | ||
1684 | while (low < high) { | |
1685 | while (low < high && lessThan(*low, *end)) | |
1686 | ++low; | |
1687 | ||
1688 | while (high > low && lessThan(*end, *high)) | |
1689 | --high; | |
1690 | ||
1691 | if (low < high) { | |
1692 | qSwap(*low, *high); | |
1693 | ++low; | |
1694 | --high; | |
1695 | } else { | |
1696 | break; | |
1697 | } | |
1698 | } | |
1699 | ||
1700 | if (lessThan(*low, *end)) | |
1701 | ++low; | |
1702 | ||
1703 | qSwap(*end, *low); | |
1704 | qSortHelper(start, low, t, lessThan); | |
1705 | ||
1706 | start = low + 1; | |
1707 | ++end; | |
1708 | goto top; | |
1709 | } | |
1710 | ||
1711 | template <typename RandomAccessIterator, typename T> | |
1712 | inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) | |
1713 | { | |
1714 | qSortHelper(begin, end, dummy, qLess<T>()); | |
1715 | } | |
1716 | ||
1717 | template <typename RandomAccessIterator> | |
1718 | void qReverse(RandomAccessIterator begin, RandomAccessIterator end) | |
1719 | { | |
1720 | --end; | |
1721 | while (begin < end) | |
1722 | qSwap(*begin++, *end--); | |
1723 | } | |
1724 | ||
1725 | template <typename RandomAccessIterator> | |
1726 | void qRotate(RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end) | |
1727 | { | |
1728 | qReverse(begin, middle); | |
1729 | qReverse(middle, end); | |
1730 | qReverse(begin, end); | |
1731 | } | |
1732 | ||
1733 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1734 | void qMerge(RandomAccessIterator begin, RandomAccessIterator pivot, RandomAccessIterator end, T &t, LessThan lessThan) | |
1735 | { | |
1736 | const int len1 = pivot - begin; | |
1737 | const int len2 = end - pivot; | |
1738 | ||
1739 | if (len1 == 0 || len2 == 0) | |
1740 | return; | |
1741 | ||
1742 | if (len1 + len2 == 2) { | |
1743 | if (lessThan(*(begin + 1), *(begin))) | |
1744 | qSwap(*begin, *(begin + 1)); | |
1745 | return; | |
1746 | } | |
1747 | ||
1748 | RandomAccessIterator firstCut; | |
1749 | RandomAccessIterator secondCut; | |
1750 | int len2Half; | |
1751 | if (len1 > len2) { | |
1752 | const int len1Half = len1 / 2; | |
1753 | firstCut = begin + len1Half; | |
1754 | secondCut = qLowerBound(pivot, end, *firstCut, lessThan); | |
1755 | len2Half = secondCut - pivot; | |
1756 | } else { | |
1757 | len2Half = len2 / 2; | |
1758 | secondCut = pivot + len2Half; | |
1759 | firstCut = qUpperBound(begin, pivot, *secondCut, lessThan); | |
1760 | } | |
1761 | ||
1762 | qRotate(firstCut, pivot, secondCut); | |
1763 | const RandomAccessIterator newPivot = firstCut + len2Half; | |
1764 | qMerge(begin, firstCut, newPivot, t, lessThan); | |
1765 | qMerge(newPivot, secondCut, end, t, lessThan); | |
1766 | } | |
1767 | ||
1768 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1769 | void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &t, LessThan lessThan) | |
1770 | { | |
1771 | const int span = end - begin; | |
1772 | if (span < 2) | |
1773 | return; | |
1774 | ||
1775 | const RandomAccessIterator middle = begin + span / 2; | |
1776 | qStableSortHelper(begin, middle, t, lessThan); | |
1777 | qStableSortHelper(middle, end, t, lessThan); | |
1778 | qMerge(begin, middle, end, t, lessThan); | |
1779 | } | |
1780 | ||
1781 | template <typename RandomAccessIterator, typename T> | |
1782 | inline void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) | |
1783 | { | |
1784 | qStableSortHelper(begin, end, dummy, qLess<T>()); | |
1785 | } | |
1786 | ||
1787 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1788 | RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) | |
1789 | { | |
1790 | RandomAccessIterator middle; | |
1791 | int n = end - begin; | |
1792 | int half; | |
1793 | ||
1794 | while (n > 0) { | |
1795 | half = n >> 1; | |
1796 | middle = begin + half; | |
1797 | if (lessThan(*middle, value)) { | |
1798 | begin = middle + 1; | |
1799 | n -= half + 1; | |
1800 | } else { | |
1801 | n = half; | |
1802 | } | |
1803 | } | |
1804 | return begin; | |
1805 | } | |
1806 | ||
1807 | ||
1808 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1809 | RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) | |
1810 | { | |
1811 | RandomAccessIterator middle; | |
1812 | int n = end - begin; | |
1813 | int half; | |
1814 | ||
1815 | while (n > 0) { | |
1816 | half = n >> 1; | |
1817 | middle = begin + half; | |
1818 | if (lessThan(value, *middle)) { | |
1819 | n = half; | |
1820 | } else { | |
1821 | begin = middle + 1; | |
1822 | n -= half + 1; | |
1823 | } | |
1824 | } | |
1825 | return begin; | |
1826 | } | |
1827 | ||
1828 | template <typename RandomAccessIterator, typename T, typename LessThan> | |
1829 | RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) | |
1830 | { | |
1831 | qint64 l = 0; | |
1832 | qint64 r = end - begin - 1; | |
1833 | if (r < 0) | |
1834 | return end; | |
1835 | qint64 i = (l + r + 1) / 2; | |
1836 | ||
1837 | while (r != l) { | |
1838 | if (lessThan(value, begin[i])) | |
1839 | r = i - 1; | |
1840 | else | |
1841 | l = i; | |
1842 | i = (l + r + 1) / 2; | |
1843 | } | |
1844 | if (lessThan(begin[i], value) || lessThan(value, begin[i])) | |
1845 | return end; | |
1846 | else | |
1847 | return begin + i; | |
1848 | } | |
1849 | ||
1850 | } | |
1851 | ||
1852 | ||
1853 | ||
1854 | ||
1855 | # 1 "../../include/QtCore/qalgorithms.h" 2 | |
1856 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
1857 | # 1 "../../include/QtCore/qhash.h" 1 | |
1858 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" 1 | |
1859 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" | |
1860 | #define QHASH_H | |
1861 | ||
1862 | # 1 "../../include/QtCore/qatomic.h" 1 | |
1863 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qatomic.h" 1 | |
1864 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qatomic.h" | |
1865 | #define QATOMIC_H | |
1866 | ||
1867 | # 1 "../../include/QtCore/qglobal.h" 1 | |
1868 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qatomic.h" 2 | |
1869 | # 1 "../../include/QtCore/qbasicatomic.h" 1 | |
1870 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qbasicatomic.h" 1 | |
1871 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qbasicatomic.h" | |
1872 | #define QBASICATOMIC_H | |
1873 | ||
1874 | # 1 "../../include/QtCore/qglobal.h" 1 | |
1875 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qbasicatomic.h" 2 | |
1876 | ||
1877 | ||
1878 | ||
1879 | ||
1880 | ||
1881 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
1882 | ||
1883 | class __attribute__((visibility("default"))) QBasicAtomicInt | |
1884 | { | |
1885 | public: | |
1886 | ||
1887 | ||
1888 | ||
1889 | volatile int _q_value; | |
1890 | ||
1891 | ||
1892 | inline bool operator==(int value) const | |
1893 | { | |
1894 | return _q_value == value; | |
1895 | } | |
1896 | ||
1897 | inline bool operator!=(int value) const | |
1898 | { | |
1899 | return _q_value != value; | |
1900 | } | |
1901 | ||
1902 | inline bool operator!() const | |
1903 | { | |
1904 | return _q_value == 0; | |
1905 | } | |
1906 | ||
1907 | inline operator int() const | |
1908 | { | |
1909 | return _q_value; | |
1910 | } | |
1911 | ||
1912 | inline QBasicAtomicInt &operator=(int value) | |
1913 | { | |
1914 | ||
1915 | ||
1916 | ||
1917 | _q_value = value; | |
1918 | return *this; | |
1919 | } | |
1920 | ||
1921 | ||
1922 | ||
1923 | static bool isReferenceCountingNative(); | |
1924 | static bool isReferenceCountingWaitFree(); | |
1925 | ||
1926 | bool ref(); | |
1927 | bool deref(); | |
1928 | ||
1929 | static bool isTestAndSetNative(); | |
1930 | static bool isTestAndSetWaitFree(); | |
1931 | ||
1932 | bool testAndSetRelaxed(int expectedValue, int newValue); | |
1933 | bool testAndSetAcquire(int expectedValue, int newValue); | |
1934 | bool testAndSetRelease(int expectedValue, int newValue); | |
1935 | bool testAndSetOrdered(int expectedValue, int newValue); | |
1936 | ||
1937 | static bool isFetchAndStoreNative(); | |
1938 | static bool isFetchAndStoreWaitFree(); | |
1939 | ||
1940 | int fetchAndStoreRelaxed(int newValue); | |
1941 | int fetchAndStoreAcquire(int newValue); | |
1942 | int fetchAndStoreRelease(int newValue); | |
1943 | int fetchAndStoreOrdered(int newValue); | |
1944 | ||
1945 | static bool isFetchAndAddNative(); | |
1946 | static bool isFetchAndAddWaitFree(); | |
1947 | ||
1948 | int fetchAndAddRelaxed(int valueToAdd); | |
1949 | int fetchAndAddAcquire(int valueToAdd); | |
1950 | int fetchAndAddRelease(int valueToAdd); | |
1951 | int fetchAndAddOrdered(int valueToAdd); | |
1952 | }; | |
1953 | ||
1954 | template <typename T> | |
1955 | class QBasicAtomicPointer | |
1956 | { | |
1957 | public: | |
1958 | ||
1959 | ||
1960 | ||
1961 | T * volatile _q_value; | |
1962 | ||
1963 | ||
1964 | inline bool operator==(T *value) const | |
1965 | { | |
1966 | return _q_value == value; | |
1967 | } | |
1968 | ||
1969 | inline bool operator!=(T *value) const | |
1970 | { | |
1971 | return !operator==(value); | |
1972 | } | |
1973 | ||
1974 | inline bool operator!() const | |
1975 | { | |
1976 | return operator==(0); | |
1977 | } | |
1978 | ||
1979 | inline operator T *() const | |
1980 | { | |
1981 | return _q_value; | |
1982 | } | |
1983 | ||
1984 | inline T *operator->() const | |
1985 | { | |
1986 | return _q_value; | |
1987 | } | |
1988 | ||
1989 | inline QBasicAtomicPointer<T> &operator=(T *value) | |
1990 | { | |
1991 | ||
1992 | ||
1993 | ||
1994 | _q_value = value; | |
1995 | return *this; | |
1996 | } | |
1997 | ||
1998 | ||
1999 | ||
2000 | static bool isTestAndSetNative(); | |
2001 | static bool isTestAndSetWaitFree(); | |
2002 | ||
2003 | bool testAndSetRelaxed(T *expectedValue, T *newValue); | |
2004 | bool testAndSetAcquire(T *expectedValue, T *newValue); | |
2005 | bool testAndSetRelease(T *expectedValue, T *newValue); | |
2006 | bool testAndSetOrdered(T *expectedValue, T *newValue); | |
2007 | ||
2008 | static bool isFetchAndStoreNative(); | |
2009 | static bool isFetchAndStoreWaitFree(); | |
2010 | ||
2011 | T *fetchAndStoreRelaxed(T *newValue); | |
2012 | T *fetchAndStoreAcquire(T *newValue); | |
2013 | T *fetchAndStoreRelease(T *newValue); | |
2014 | T *fetchAndStoreOrdered(T *newValue); | |
2015 | ||
2016 | static bool isFetchAndAddNative(); | |
2017 | static bool isFetchAndAddWaitFree(); | |
2018 | ||
2019 | T *fetchAndAddRelaxed(qptrdiff valueToAdd); | |
2020 | T *fetchAndAddAcquire(qptrdiff valueToAdd); | |
2021 | T *fetchAndAddRelease(qptrdiff valueToAdd); | |
2022 | T *fetchAndAddOrdered(qptrdiff valueToAdd); | |
2023 | }; | |
2024 | ||
2025 | ||
2026 | ||
2027 | ||
2028 | #define Q_BASIC_ATOMIC_INITIALIZER(a) { (a) } | |
2029 | ||
2030 | ||
2031 | ||
2032 | ||
2033 | ||
2034 | ||
2035 | ||
2036 | ||
2037 | # 1 "../../include/QtCore/qatomic_arch.h" 1 | |
2038 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_arch.h" 1 | |
2039 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_arch.h" | |
2040 | #define QATOMIC_ARCH_H | |
2041 | ||
2042 | ||
2043 | ||
2044 | # 1 "../../include/QtCore/qglobal.h" 1 | |
2045 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_arch.h" 2 | |
2046 | # 58 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_arch.h" | |
2047 | # 1 "../../include/QtCore/qatomic_bfin.h" 1 | |
2048 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_bfin.h" 1 | |
2049 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_generic.h" 1 | |
2050 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_generic.h" | |
2051 | #define QATOMIC_GENERIC_H | |
2052 | ||
2053 | ||
2054 | ||
2055 | ||
2056 | ||
2057 | #define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE | |
2058 | ||
2059 | inline bool QBasicAtomicInt::isReferenceCountingNative() | |
2060 | { return false; } | |
2061 | inline bool QBasicAtomicInt::isReferenceCountingWaitFree() | |
2062 | { return false; } | |
2063 | ||
2064 | #define Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE | |
2065 | ||
2066 | inline bool QBasicAtomicInt::isTestAndSetNative() | |
2067 | { return false; } | |
2068 | inline bool QBasicAtomicInt::isTestAndSetWaitFree() | |
2069 | { return false; } | |
2070 | ||
2071 | #define Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE | |
2072 | ||
2073 | inline bool QBasicAtomicInt::isFetchAndStoreNative() | |
2074 | { return false; } | |
2075 | inline bool QBasicAtomicInt::isFetchAndStoreWaitFree() | |
2076 | { return false; } | |
2077 | ||
2078 | #define Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE | |
2079 | ||
2080 | inline bool QBasicAtomicInt::isFetchAndAddNative() | |
2081 | { return false; } | |
2082 | inline bool QBasicAtomicInt::isFetchAndAddWaitFree() | |
2083 | { return false; } | |
2084 | ||
2085 | #define Q_ATOMIC_POINTER_TEST_AND_SET_IS_NOT_NATIVE | |
2086 | ||
2087 | template <typename T> | |
2088 | inline bool QBasicAtomicPointer<T>::isTestAndSetNative() | |
2089 | { return false; } | |
2090 | template <typename T> | |
2091 | inline bool QBasicAtomicPointer<T>::isTestAndSetWaitFree() | |
2092 | { return false; } | |
2093 | ||
2094 | #define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_NOT_NATIVE | |
2095 | ||
2096 | template <typename T> | |
2097 | inline bool QBasicAtomicPointer<T>::isFetchAndStoreNative() | |
2098 | { return false; } | |
2099 | template <typename T> | |
2100 | inline bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree() | |
2101 | { return false; } | |
2102 | ||
2103 | #define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_NOT_NATIVE | |
2104 | ||
2105 | template <typename T> | |
2106 | inline bool QBasicAtomicPointer<T>::isFetchAndAddNative() | |
2107 | { return false; } | |
2108 | template <typename T> | |
2109 | inline bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree() | |
2110 | { return false; } | |
2111 | ||
2112 | __attribute__((visibility("default"))) bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int); | |
2113 | __attribute__((visibility("default"))) int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int); | |
2114 | __attribute__((visibility("default"))) int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int); | |
2115 | ||
2116 | __attribute__((visibility("default"))) bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *); | |
2117 | __attribute__((visibility("default"))) void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *); | |
2118 | __attribute__((visibility("default"))) void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff); | |
2119 | ||
2120 | ||
2121 | ||
2122 | inline bool QBasicAtomicInt::ref() | |
2123 | { | |
2124 | return QBasicAtomicInt_fetchAndAddOrdered(&_q_value, 1) != -1; | |
2125 | } | |
2126 | ||
2127 | inline bool QBasicAtomicInt::deref() | |
2128 | { | |
2129 | return QBasicAtomicInt_fetchAndAddOrdered(&_q_value, -1) != 1; | |
2130 | } | |
2131 | ||
2132 | ||
2133 | ||
2134 | inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue) | |
2135 | { | |
2136 | return QBasicAtomicInt_testAndSetOrdered(&_q_value, expectedValue, newValue); | |
2137 | } | |
2138 | ||
2139 | inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue) | |
2140 | { | |
2141 | return testAndSetOrdered(expectedValue, newValue); | |
2142 | } | |
2143 | ||
2144 | inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue) | |
2145 | { | |
2146 | return testAndSetOrdered(expectedValue, newValue); | |
2147 | } | |
2148 | ||
2149 | inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue) | |
2150 | { | |
2151 | return testAndSetOrdered(expectedValue, newValue); | |
2152 | } | |
2153 | ||
2154 | ||
2155 | ||
2156 | inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue) | |
2157 | { | |
2158 | return QBasicAtomicInt_fetchAndStoreOrdered(&_q_value, newValue); | |
2159 | } | |
2160 | ||
2161 | inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue) | |
2162 | { | |
2163 | return fetchAndStoreOrdered(newValue); | |
2164 | } | |
2165 | ||
2166 | inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue) | |
2167 | { | |
2168 | return fetchAndStoreOrdered(newValue); | |
2169 | } | |
2170 | ||
2171 | inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue) | |
2172 | { | |
2173 | return fetchAndStoreOrdered(newValue); | |
2174 | } | |
2175 | ||
2176 | ||
2177 | ||
2178 | inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd) | |
2179 | { | |
2180 | return QBasicAtomicInt_fetchAndAddOrdered(&_q_value, valueToAdd); | |
2181 | } | |
2182 | ||
2183 | inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd) | |
2184 | { | |
2185 | return fetchAndAddOrdered(valueToAdd); | |
2186 | } | |
2187 | ||
2188 | inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd) | |
2189 | { | |
2190 | return fetchAndAddOrdered(valueToAdd); | |
2191 | } | |
2192 | ||
2193 | inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd) | |
2194 | { | |
2195 | return fetchAndAddOrdered(valueToAdd); | |
2196 | } | |
2197 | ||
2198 | ||
2199 | ||
2200 | template <typename T> | |
2201 | inline bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue) | |
2202 | { | |
2203 | union { T * volatile * typed; void * volatile * voidp; } pointer; | |
2204 | pointer.typed = &_q_value; | |
2205 | return QBasicAtomicPointer_testAndSetOrdered(pointer.voidp, expectedValue, newValue); | |
2206 | } | |
2207 | ||
2208 | template <typename T> | |
2209 | inline bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue) | |
2210 | { | |
2211 | return testAndSetOrdered(expectedValue, newValue); | |
2212 | } | |
2213 | ||
2214 | template <typename T> | |
2215 | inline bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue) | |
2216 | { | |
2217 | return testAndSetOrdered(expectedValue, newValue); | |
2218 | } | |
2219 | ||
2220 | template <typename T> | |
2221 | inline bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue) | |
2222 | { | |
2223 | return testAndSetOrdered(expectedValue, newValue); | |
2224 | } | |
2225 | ||
2226 | ||
2227 | ||
2228 | template <typename T> | |
2229 | inline T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue) | |
2230 | { | |
2231 | union { T * volatile * typed; void * volatile * voidp; } pointer; | |
2232 | union { T *typed; void *voidp; } returnValue; | |
2233 | pointer.typed = &_q_value; | |
2234 | returnValue.voidp = QBasicAtomicPointer_fetchAndStoreOrdered(pointer.voidp, newValue); | |
2235 | return returnValue.typed; | |
2236 | } | |
2237 | ||
2238 | template <typename T> | |
2239 | inline T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue) | |
2240 | { | |
2241 | return fetchAndStoreOrdered(newValue); | |
2242 | } | |
2243 | ||
2244 | template <typename T> | |
2245 | inline T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue) | |
2246 | { | |
2247 | return fetchAndStoreOrdered(newValue); | |
2248 | } | |
2249 | ||
2250 | template <typename T> | |
2251 | inline T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue) | |
2252 | { | |
2253 | return fetchAndStoreOrdered(newValue); | |
2254 | } | |
2255 | ||
2256 | ||
2257 | ||
2258 | template <typename T> | |
2259 | inline T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd) | |
2260 | { | |
2261 | union { T * volatile *typed; void * volatile *voidp; } pointer; | |
2262 | union { T *typed; void *voidp; } returnValue; | |
2263 | pointer.typed = &_q_value; | |
2264 | returnValue.voidp = QBasicAtomicPointer_fetchAndAddOrdered(pointer.voidp, valueToAdd * sizeof(T)); | |
2265 | return returnValue.typed; | |
2266 | } | |
2267 | ||
2268 | template <typename T> | |
2269 | inline T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd) | |
2270 | { | |
2271 | return fetchAndAddOrdered(valueToAdd); | |
2272 | } | |
2273 | ||
2274 | template <typename T> | |
2275 | inline T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd) | |
2276 | { | |
2277 | return fetchAndAddOrdered(valueToAdd); | |
2278 | } | |
2279 | ||
2280 | template <typename T> | |
2281 | inline T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd) | |
2282 | { | |
2283 | return fetchAndAddOrdered(valueToAdd); | |
2284 | } | |
2285 | ||
2286 | ||
2287 | ||
2288 | ||
2289 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_bfin.h" 2 | |
2290 | # 1 "../../include/QtCore/qatomic_bfin.h" 2 | |
2291 | # 59 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_arch.h" 2 | |
2292 | # 91 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/arch/qatomic_arch.h" | |
2293 | ||
2294 | # 1 "../../include/QtCore/qatomic_arch.h" 2 | |
2295 | # 208 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qbasicatomic.h" 2 | |
2296 | # 1 "../../include/QtCore/qbasicatomic.h" 2 | |
2297 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qatomic.h" 2 | |
2298 | ||
2299 | ||
2300 | ||
2301 | ||
2302 | ||
2303 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
2304 | ||
2305 | ||
2306 | class __attribute__((visibility("default"))) QAtomicInt : public QBasicAtomicInt | |
2307 | { | |
2308 | public: | |
2309 | inline QAtomicInt(int value = 0) | |
2310 | { | |
2311 | ||
2312 | ||
2313 | ||
2314 | _q_value = value; | |
2315 | } | |
2316 | inline QAtomicInt(const QAtomicInt &other) | |
2317 | { | |
2318 | ||
2319 | ||
2320 | ||
2321 | _q_value = other._q_value; | |
2322 | } | |
2323 | ||
2324 | inline QAtomicInt &operator=(int value) | |
2325 | { | |
2326 | (void) QBasicAtomicInt::operator=(value); | |
2327 | return *this; | |
2328 | } | |
2329 | ||
2330 | inline QAtomicInt &operator=(const QAtomicInt &other) | |
2331 | { | |
2332 | (void) QBasicAtomicInt::operator=(other); | |
2333 | return *this; | |
2334 | } | |
2335 | # 121 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qatomic.h" | |
2336 | }; | |
2337 | ||
2338 | ||
2339 | template <typename T> | |
2340 | class QAtomicPointer : public QBasicAtomicPointer<T> | |
2341 | { | |
2342 | public: | |
2343 | inline QAtomicPointer(T *value = 0) | |
2344 | { | |
2345 | ||
2346 | ||
2347 | ||
2348 | QBasicAtomicPointer<T>::_q_value = value; | |
2349 | } | |
2350 | inline QAtomicPointer(const QAtomicPointer<T> &other) | |
2351 | { | |
2352 | ||
2353 | ||
2354 | ||
2355 | QBasicAtomicPointer<T>::_q_value = other._q_value; | |
2356 | } | |
2357 | ||
2358 | inline QAtomicPointer<T> &operator=(T *value) | |
2359 | { | |
2360 | (void) QBasicAtomicPointer<T>::operator=(value); | |
2361 | return *this; | |
2362 | } | |
2363 | ||
2364 | inline QAtomicPointer<T> &operator=(const QAtomicPointer<T> &other) | |
2365 | { | |
2366 | (void) QBasicAtomicPointer<T>::operator=(other); | |
2367 | return *this; | |
2368 | } | |
2369 | # 186 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qatomic.h" | |
2370 | }; | |
2371 | ||
2372 | ||
2373 | ||
2374 | ||
2375 | ||
2376 | ||
2377 | ||
2378 | template <typename T> | |
2379 | inline void qAtomicAssign(T *&d, T *x) | |
2380 | { | |
2381 | if (d == x) | |
2382 | return; | |
2383 | x->ref.ref(); | |
2384 | if (!d->ref.deref()) | |
2385 | delete d; | |
2386 | d = x; | |
2387 | } | |
2388 | # 213 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qatomic.h" | |
2389 | template <typename T> | |
2390 | inline void qAtomicDetach(T *&d) | |
2391 | { | |
2392 | if (d->ref == 1) | |
2393 | return; | |
2394 | T *x = d; | |
2395 | d = new T(*d); | |
2396 | if (!x->ref.deref()) | |
2397 | delete x; | |
2398 | } | |
2399 | ||
2400 | ||
2401 | ||
2402 | # 1 "../../include/QtCore/qatomic.h" 2 | |
2403 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" 2 | |
2404 | # 1 "../../include/QtCore/qchar.h" 1 | |
2405 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qchar.h" 1 | |
2406 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qchar.h" | |
2407 | #define QCHAR_H | |
2408 | ||
2409 | # 1 "../../include/QtCore/qglobal.h" 1 | |
2410 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qchar.h" 2 | |
2411 | ||
2412 | ||
2413 | ||
2414 | ||
2415 | ||
2416 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
2417 | ||
2418 | class QString; | |
2419 | ||
2420 | struct QLatin1Char | |
2421 | { | |
2422 | public: | |
2423 | inline explicit QLatin1Char(char c) : ch(c) {} | |
2424 | ||
2425 | ||
2426 | ||
2427 | ||
2428 | inline char toLatin1() const { return ch; } | |
2429 | inline ushort unicode() const { return ushort(uchar(ch)); } | |
2430 | ||
2431 | ||
2432 | private: | |
2433 | char ch; | |
2434 | }; | |
2435 | ||
2436 | ||
2437 | class __attribute__((visibility("default"))) QChar { | |
2438 | public: | |
2439 | QChar(); | |
2440 | ||
2441 | __attribute__ ((__deprecated__)) QChar(char c); | |
2442 | __attribute__ ((__deprecated__)) QChar(uchar c); | |
2443 | ||
2444 | QChar(QLatin1Char ch); | |
2445 | QChar(uchar c, uchar r); | |
2446 | inline QChar(ushort rc) : ucs(rc){} | |
2447 | QChar(short rc); | |
2448 | QChar(uint rc); | |
2449 | QChar(int rc); | |
2450 | enum SpecialCharacter { | |
2451 | Null = 0x0000, | |
2452 | Nbsp = 0x00a0, | |
2453 | ReplacementCharacter = 0xfffd, | |
2454 | ObjectReplacementCharacter = 0xfffc, | |
2455 | ByteOrderMark = 0xfeff, | |
2456 | ByteOrderSwapped = 0xfffe, | |
2457 | ||
2458 | ||
2459 | ||
2460 | ||
2461 | ||
2462 | ||
2463 | ||
2464 | ParagraphSeparator = 0x2029, | |
2465 | LineSeparator = 0x2028 | |
2466 | }; | |
2467 | QChar(SpecialCharacter sc); | |
2468 | ||
2469 | ||
2470 | ||
2471 | enum Category | |
2472 | { | |
2473 | NoCategory, | |
2474 | ||
2475 | Mark_NonSpacing, | |
2476 | Mark_SpacingCombining, | |
2477 | Mark_Enclosing, | |
2478 | ||
2479 | Number_DecimalDigit, | |
2480 | Number_Letter, | |
2481 | Number_Other, | |
2482 | ||
2483 | Separator_Space, | |
2484 | Separator_Line, | |
2485 | Separator_Paragraph, | |
2486 | ||
2487 | Other_Control, | |
2488 | Other_Format, | |
2489 | Other_Surrogate, | |
2490 | Other_PrivateUse, | |
2491 | Other_NotAssigned, | |
2492 | ||
2493 | Letter_Uppercase, | |
2494 | Letter_Lowercase, | |
2495 | Letter_Titlecase, | |
2496 | Letter_Modifier, | |
2497 | Letter_Other, | |
2498 | ||
2499 | Punctuation_Connector, | |
2500 | Punctuation_Dash, | |
2501 | Punctuation_Open, | |
2502 | Punctuation_Close, | |
2503 | Punctuation_InitialQuote, | |
2504 | Punctuation_FinalQuote, | |
2505 | Punctuation_Other, | |
2506 | ||
2507 | Symbol_Math, | |
2508 | Symbol_Currency, | |
2509 | Symbol_Modifier, | |
2510 | Symbol_Other, | |
2511 | ||
2512 | Punctuation_Dask = Punctuation_Dash | |
2513 | }; | |
2514 | ||
2515 | enum Direction | |
2516 | { | |
2517 | DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, | |
2518 | DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN | |
2519 | }; | |
2520 | ||
2521 | enum Decomposition | |
2522 | { | |
2523 | NoDecomposition, | |
2524 | Canonical, | |
2525 | Font, | |
2526 | NoBreak, | |
2527 | Initial, | |
2528 | Medial, | |
2529 | Final, | |
2530 | Isolated, | |
2531 | Circle, | |
2532 | Super, | |
2533 | Sub, | |
2534 | Vertical, | |
2535 | Wide, | |
2536 | Narrow, | |
2537 | Small, | |
2538 | Square, | |
2539 | Compat, | |
2540 | Fraction | |
2541 | ||
2542 | ||
2543 | ||
2544 | ||
2545 | }; | |
2546 | ||
2547 | enum Joining | |
2548 | { | |
2549 | OtherJoining, Dual, Right, Center | |
2550 | }; | |
2551 | ||
2552 | enum CombiningClass | |
2553 | { | |
2554 | Combining_BelowLeftAttached = 200, | |
2555 | Combining_BelowAttached = 202, | |
2556 | Combining_BelowRightAttached = 204, | |
2557 | Combining_LeftAttached = 208, | |
2558 | Combining_RightAttached = 210, | |
2559 | Combining_AboveLeftAttached = 212, | |
2560 | Combining_AboveAttached = 214, | |
2561 | Combining_AboveRightAttached = 216, | |
2562 | ||
2563 | Combining_BelowLeft = 218, | |
2564 | Combining_Below = 220, | |
2565 | Combining_BelowRight = 222, | |
2566 | Combining_Left = 224, | |
2567 | Combining_Right = 226, | |
2568 | Combining_AboveLeft = 228, | |
2569 | Combining_Above = 230, | |
2570 | Combining_AboveRight = 232, | |
2571 | ||
2572 | Combining_DoubleBelow = 233, | |
2573 | Combining_DoubleAbove = 234, | |
2574 | Combining_IotaSubscript = 240 | |
2575 | }; | |
2576 | ||
2577 | enum UnicodeVersion { | |
2578 | Unicode_Unassigned, | |
2579 | Unicode_1_1, | |
2580 | Unicode_2_0, | |
2581 | Unicode_2_1_2, | |
2582 | Unicode_3_0, | |
2583 | Unicode_3_1, | |
2584 | Unicode_3_2, | |
2585 | Unicode_4_0, | |
2586 | Unicode_4_1, | |
2587 | Unicode_5_0 | |
2588 | }; | |
2589 | ||
2590 | ||
2591 | Category category() const; | |
2592 | Direction direction() const; | |
2593 | Joining joining() const; | |
2594 | bool hasMirrored() const; | |
2595 | unsigned char combiningClass() const; | |
2596 | ||
2597 | QChar mirroredChar() const; | |
2598 | QString decomposition() const; | |
2599 | Decomposition decompositionTag() const; | |
2600 | ||
2601 | int digitValue() const; | |
2602 | QChar toLower() const; | |
2603 | QChar toUpper() const; | |
2604 | QChar toTitleCase() const; | |
2605 | QChar toCaseFolded() const; | |
2606 | ||
2607 | UnicodeVersion unicodeVersion() const; | |
2608 | ||
2609 | ||
2610 | ||
2611 | ||
2612 | ||
2613 | ||
2614 | char toAscii() const; | |
2615 | inline char toLatin1() const; | |
2616 | inline ushort unicode() const { return ucs; } | |
2617 | ||
2618 | ||
2619 | inline ushort &unicode() { return const_cast<ushort&>(ucs); } | |
2620 | ||
2621 | ||
2622 | ||
2623 | ||
2624 | static QChar fromAscii(char c); | |
2625 | static QChar fromLatin1(char c); | |
2626 | ||
2627 | inline bool isNull() const { return ucs == 0; } | |
2628 | bool isPrint() const; | |
2629 | bool isPunct() const; | |
2630 | bool isSpace() const; | |
2631 | bool isMark() const; | |
2632 | bool isLetter() const; | |
2633 | bool isNumber() const; | |
2634 | bool isLetterOrNumber() const; | |
2635 | bool isDigit() const; | |
2636 | bool isSymbol() const; | |
2637 | inline bool isLower() const { return category() == Letter_Lowercase; } | |
2638 | inline bool isUpper() const { return category() == Letter_Uppercase; } | |
2639 | inline bool isTitleCase() const { return category() == Letter_Titlecase; } | |
2640 | ||
2641 | inline bool isHighSurrogate() const { | |
2642 | return ((ucs & 0xfc00) == 0xd800); | |
2643 | } | |
2644 | inline bool isLowSurrogate() const { | |
2645 | return ((ucs & 0xfc00) == 0xdc00); | |
2646 | } | |
2647 | ||
2648 | inline uchar cell() const { return uchar(ucs & 0xff); } | |
2649 | inline uchar row() const { return uchar((ucs>>8)&0xff); } | |
2650 | inline void setCell(uchar cell); | |
2651 | inline void setRow(uchar row); | |
2652 | ||
2653 | static inline uint surrogateToUcs4(ushort high, ushort low) { | |
2654 | return (uint(high)<<10) + low - 0x35fdc00; | |
2655 | } | |
2656 | static inline uint surrogateToUcs4(QChar high, QChar low) { | |
2657 | return (uint(high.ucs)<<10) + low.ucs - 0x35fdc00; | |
2658 | } | |
2659 | static inline ushort highSurrogate(uint ucs4) { | |
2660 | return (ucs4>>10) + 0xd7c0; | |
2661 | } | |
2662 | static inline ushort lowSurrogate(uint ucs4) { | |
2663 | return ucs4%0x400 + 0xdc00; | |
2664 | } | |
2665 | ||
2666 | static Category category(uint ucs4); | |
2667 | static Category category(ushort ucs2); | |
2668 | static Direction direction(uint ucs4); | |
2669 | static Direction direction(ushort ucs2); | |
2670 | static Joining joining(uint ucs4); | |
2671 | static Joining joining(ushort ucs2); | |
2672 | static unsigned char combiningClass(uint ucs4); | |
2673 | static unsigned char combiningClass(ushort ucs2); | |
2674 | ||
2675 | static uint mirroredChar(uint ucs4); | |
2676 | static ushort mirroredChar(ushort ucs2); | |
2677 | static Decomposition decompositionTag(uint ucs4); | |
2678 | ||
2679 | static int digitValue(uint ucs4); | |
2680 | static int digitValue(ushort ucs2); | |
2681 | static uint toLower(uint ucs4); | |
2682 | static ushort toLower(ushort ucs2); | |
2683 | static uint toUpper(uint ucs4); | |
2684 | static ushort toUpper(ushort ucs2); | |
2685 | static uint toTitleCase(uint ucs4); | |
2686 | static ushort toTitleCase(ushort ucs2); | |
2687 | static uint toCaseFolded(uint ucs4); | |
2688 | static ushort toCaseFolded(ushort ucs2); | |
2689 | ||
2690 | static UnicodeVersion unicodeVersion(uint ucs4); | |
2691 | static UnicodeVersion unicodeVersion(ushort ucs2); | |
2692 | ||
2693 | static QString decomposition(uint ucs4); | |
2694 | # 346 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qchar.h" | |
2695 | private: | |
2696 | ||
2697 | ||
2698 | ||
2699 | ||
2700 | ushort ucs; | |
2701 | } | |
2702 | ||
2703 | ||
2704 | ||
2705 | ; | |
2706 | ||
2707 | template <> class QTypeInfo<QChar> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QChar)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QChar"; } }; | |
2708 | ||
2709 | inline QChar::QChar() : ucs(0) {} | |
2710 | ||
2711 | ||
2712 | ||
2713 | ||
2714 | inline char QChar::toLatin1() const { return ucs > 0xff ? '\0' : char(ucs); } | |
2715 | ||
2716 | inline QChar QChar::fromLatin1(char c) { return QChar(ushort(uchar(c))); } | |
2717 | ||
2718 | inline QChar::QChar(uchar c, uchar r) : ucs((r << 8) | c){} | |
2719 | inline QChar::QChar(short rc) : ucs(ushort(rc)){} | |
2720 | inline QChar::QChar(uint rc) : ucs(ushort(rc & 0xffff)){} | |
2721 | inline QChar::QChar(int rc) : ucs(ushort(rc & 0xffff)){} | |
2722 | inline QChar::QChar(SpecialCharacter s) : ucs(ushort(s)) {} | |
2723 | inline QChar::QChar(QLatin1Char ch) : ucs(ch.unicode()) {} | |
2724 | ||
2725 | inline void QChar::setCell(uchar acell) | |
2726 | { ucs = (ucs & 0xff00) + acell; } | |
2727 | inline void QChar::setRow(uchar arow) | |
2728 | { ucs = (ushort(arow)<<8) + (ucs&0xff); } | |
2729 | ||
2730 | inline bool operator==(QChar c1, QChar c2) { return c1.unicode() == c2.unicode(); } | |
2731 | inline bool operator!=(QChar c1, QChar c2) { return c1.unicode() != c2.unicode(); } | |
2732 | inline bool operator<=(QChar c1, QChar c2) { return c1.unicode() <= c2.unicode(); } | |
2733 | inline bool operator>=(QChar c1, QChar c2) { return c1.unicode() >= c2.unicode(); } | |
2734 | inline bool operator<(QChar c1, QChar c2) { return c1.unicode() < c2.unicode(); } | |
2735 | inline bool operator>(QChar c1, QChar c2) { return c1.unicode() > c2.unicode(); } | |
2736 | ||
2737 | ||
2738 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QChar &); | |
2739 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QChar &); | |
2740 | ||
2741 | ||
2742 | ||
2743 | ||
2744 | ||
2745 | # 1 "../../include/QtCore/qchar.h" 2 | |
2746 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" 2 | |
2747 | # 1 "../../include/QtCore/qiterator.h" 1 | |
2748 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qiterator.h" 1 | |
2749 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qiterator.h" | |
2750 | #define QITERATOR_H | |
2751 | ||
2752 | # 1 "../../include/QtCore/qglobal.h" 1 | |
2753 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qiterator.h" 2 | |
2754 | ||
2755 | ||
2756 | ||
2757 | namespace std { | |
2758 | struct bidirectional_iterator_tag; | |
2759 | struct random_access_iterator_tag; | |
2760 | } | |
2761 | ||
2762 | ||
2763 | ||
2764 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
2765 | ||
2766 | #define Q_DECLARE_SEQUENTIAL_ITERATOR(C) template <class T> class Q ##C ##Iterator { typedef typename Q ##C<T>::const_iterator const_iterator; Q ##C<T> c; const_iterator i; public: inline Q ##C ##Iterator(const Q ##C<T> &container) : c(container), i(c.constBegin()) {} inline Q ##C ##Iterator &operator=(const Q ##C<T> &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; | |
2767 | # 86 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qiterator.h" | |
2768 | #define Q_DECLARE_MUTABLE_SEQUENTIAL_ITERATOR(C) template <class T> class QMutable ##C ##Iterator { typedef typename Q ##C<T>::iterator iterator; typedef typename Q ##C<T>::const_iterator const_iterator; Q ##C<T> *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutable ##C ##Iterator(Q ##C<T> &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutable ##C ##Iterator() { c->setSharable(true); } inline QMutable ##C ##Iterator &operator=(Q ##C<T> &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { Q_ASSERT(item_exists()); return *n; } inline const T &value() const { Q_ASSERT(item_exists()); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; | |
2769 | # 126 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qiterator.h" | |
2770 | #define Q_DECLARE_ASSOCIATIVE_ITERATOR(C) template <class Key, class T> class Q ##C ##Iterator { typedef typename Q ##C<Key,T>::const_iterator const_iterator; typedef const_iterator Item; Q ##C<Key,T> c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline Q ##C ##Iterator(const Q ##C<Key,T> &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline Q ##C ##Iterator &operator=(const Q ##C<Key,T> &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { Q_ASSERT(item_exists()); return *n; } inline const Key &key() const { Q_ASSERT(item_exists()); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; | |
2771 | # 158 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qiterator.h" | |
2772 | #define Q_DECLARE_MUTABLE_ASSOCIATIVE_ITERATOR(C) template <class Key, class T> class QMutable ##C ##Iterator { typedef typename Q ##C<Key,T>::iterator iterator; typedef typename Q ##C<Key,T>::const_iterator const_iterator; typedef iterator Item; Q ##C<Key,T> *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutable ##C ##Iterator(Q ##C<Key,T> &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutable ##C ##Iterator() { c->setSharable(true); } inline QMutable ##C ##Iterator &operator=(Q ##C<Key,T> &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { Q_ASSERT(item_exists()); return *n; } inline const T &value() const { Q_ASSERT(item_exists()); return *n; } inline const Key &key() const { Q_ASSERT(item_exists()); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; | |
2773 | # 198 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qiterator.h" | |
2774 | ||
2775 | ||
2776 | ||
2777 | # 1 "../../include/QtCore/qiterator.h" 2 | |
2778 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" 2 | |
2779 | # 1 "../../include/QtCore/qlist.h" 1 | |
2780 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" 1 | |
2781 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" | |
2782 | #define QLIST_H | |
2783 | ||
2784 | # 1 "../../include/QtCore/qiterator.h" 1 | |
2785 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" 2 | |
2786 | # 1 "../../include/QtCore/qatomic.h" 1 | |
2787 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" 2 | |
2788 | # 1 "../../include/QtCore/qalgorithms.h" 1 | |
2789 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" 2 | |
2790 | ||
2791 | ||
2792 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 1 3 | |
2793 | # 61 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 3 | |
2794 | #define _GLIBCXX_ITERATOR 1 | |
2795 | ||
2796 | ||
2797 | # 64 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 3 | |
2798 | ||
2799 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 1 3 | |
2800 | # 37 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
2801 | #define _GLIBCXX_CXX_CONFIG_H 1 | |
2802 | ||
2803 | ||
2804 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/os_defines.h" 1 3 | |
2805 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/os_defines.h" 3 | |
2806 | #define _GLIBCXX_OS_DEFINES 1 | |
2807 | ||
2808 | ||
2809 | ||
2810 | ||
2811 | ||
2812 | #define __NO_CTYPE 1 | |
2813 | ||
2814 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 1 3 4 | |
2815 | # 29 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
2816 | #define _FEATURES_H 1 | |
2817 | ||
2818 | ||
2819 | ||
2820 | ||
2821 | #define __UCLIBC__ 1 | |
2822 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
2823 | #define __need_uClibc_config_h | |
2824 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_config.h" 1 3 4 | |
2825 | ||
2826 | ||
2827 | ||
2828 | ||
2829 | #define __UCLIBC_MAJOR__ 0 | |
2830 | #define __UCLIBC_MINOR__ 9 | |
2831 | #define __UCLIBC_SUBLEVEL__ 29 | |
2832 | ||
2833 | ||
2834 | #undef __TARGET_alpha__ | |
2835 | #undef __TARGET_arm__ | |
2836 | #undef __TARGET_avr32__ | |
2837 | #define __TARGET_bfin__ 1 | |
2838 | #undef __TARGET_cris__ | |
2839 | #undef __TARGET_e1__ | |
2840 | #undef __TARGET_frv__ | |
2841 | #undef __TARGET_h8300__ | |
2842 | #undef __TARGET_hppa__ | |
2843 | #undef __TARGET_i386__ | |
2844 | #undef __TARGET_i960__ | |
2845 | #undef __TARGET_ia64__ | |
2846 | #undef __TARGET_m68k__ | |
2847 | #undef __TARGET_microblaze__ | |
2848 | #undef __TARGET_mips__ | |
2849 | #undef __TARGET_nios__ | |
2850 | #undef __TARGET_nios2__ | |
2851 | #undef __TARGET_powerpc__ | |
2852 | #undef __TARGET_sh__ | |
2853 | #undef __TARGET_sh64__ | |
2854 | #undef __TARGET_sparc__ | |
2855 | #undef __TARGET_v850__ | |
2856 | #undef __TARGET_vax__ | |
2857 | #undef __TARGET_x86_64__ | |
2858 | #undef __TARGET_xtensa__ | |
2859 | ||
2860 | ||
2861 | #define __TARGET_ARCH__ "bfin" | |
2862 | #define __FORCE_OPTIONS_FOR_ARCH__ 1 | |
2863 | #define __TARGET_SUBARCH__ "" | |
2864 | #undef __UCLIBC_FORMAT_ELF__ | |
2865 | #define __UCLIBC_FORMAT_FDPIC_ELF__ 1 | |
2866 | #undef __UCLIBC_FORMAT_FLAT__ | |
2867 | #undef __UCLIBC_FORMAT_FLAT_SEP_DATA__ | |
2868 | #undef __UCLIBC_FORMAT_SHARED_FLAT__ | |
2869 | #define __ARCH_LITTLE_ENDIAN__ 1 | |
2870 | ||
2871 | ||
2872 | #define __ARCH_HAS_NO_MMU__ 1 | |
2873 | ||
2874 | ||
2875 | #define __UCLIBC_HAS_FLOATS__ 1 | |
2876 | #define __UCLIBC_HAS_FPU__ 1 | |
2877 | #define __DO_C99_MATH__ 1 | |
2878 | #undef __UCLIBC_HAS_FENV__ | |
2879 | #define __KERNEL_HEADERS__ "/home/test/work/cruise/temp/kernel_build/usr/include" | |
2880 | #undef __UCLIBC_UCLINUX_BROKEN_MUNMAP__ | |
2881 | #define __HAVE_DOT_CONFIG__ 1 | |
2882 | ||
2883 | ||
2884 | #undef __HAVE_NO_PIC__ | |
2885 | #define __DOPIC__ 1 | |
2886 | #undef __ARCH_HAS_NO_SHARED__ | |
2887 | #undef __ARCH_HAS_NO_LDSO__ | |
2888 | #define __HAVE_SHARED__ 1 | |
2889 | #define __FORCE_SHAREABLE_TEXT_SEGMENTS__ 1 | |
2890 | #define __LDSO_LDD_SUPPORT__ 1 | |
2891 | #define __LDSO_CACHE_SUPPORT__ 1 | |
2892 | #undef __LDSO_PRELOAD_FILE_SUPPORT__ | |
2893 | #define __LDSO_BASE_FILENAME__ "ld.so" | |
2894 | #define __UCLIBC_STATIC_LDCONFIG__ 1 | |
2895 | #undef __LDSO_RUNPATH__ | |
2896 | #define __UCLIBC_CTOR_DTOR__ 1 | |
2897 | #undef __LDSO_GNU_HASH_SUPPORT__ | |
2898 | #undef __HAS_NO_THREADS__ | |
2899 | #define __UCLIBC_HAS_THREADS__ 1 | |
2900 | #define __PTHREADS_DEBUG_SUPPORT__ 1 | |
2901 | #define __LINUXTHREADS_OLD__ 1 | |
2902 | #define __UCLIBC_HAS_SYSLOG__ 1 | |
2903 | #define __UCLIBC_HAS_LFS__ 1 | |
2904 | #define __MALLOC__ 1 | |
2905 | #undef __MALLOC_SIMPLE__ | |
2906 | #undef __MALLOC_STANDARD__ | |
2907 | #undef __MALLOC_GLIBC_COMPAT__ | |
2908 | #define __UCLIBC_DYNAMIC_ATEXIT__ 1 | |
2909 | #undef __COMPAT_ATEXIT__ | |
2910 | #define __UCLIBC_SUSV3_LEGACY__ 1 | |
2911 | #define __UCLIBC_SUSV3_LEGACY_MACROS__ 1 | |
2912 | #undef __UCLIBC_HAS_STUBS__ | |
2913 | #undef __UCLIBC_HAS_SHADOW__ | |
2914 | #define __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__ 1 | |
2915 | #define __UCLIBC_HAS___PROGNAME__ 1 | |
2916 | #define __UCLIBC_HAS_PTY__ 1 | |
2917 | #define __ASSUME_DEVPTS__ 1 | |
2918 | #define __UNIX98PTY_ONLY__ 1 | |
2919 | #undef __UCLIBC_HAS_GETPT__ | |
2920 | #define __UCLIBC_HAS_TM_EXTENSIONS__ 1 | |
2921 | #undef __UCLIBC_HAS_TZ_CACHING__ | |
2922 | #undef __UCLIBC_HAS_TZ_FILE__ | |
2923 | ||
2924 | ||
2925 | #define __UCLIBC_PWD_BUFFER_SIZE__ 256 | |
2926 | #define __UCLIBC_GRP_BUFFER_SIZE__ 256 | |
2927 | ||
2928 | ||
2929 | #undef __UCLIBC_LINUX_MODULE_24__ | |
2930 | #define __UCLIBC_LINUX_SPECIFIC__ 1 | |
2931 | #define __UCLIBC_HAS_GNU_ERROR__ 1 | |
2932 | #define __UCLIBC_BSD_SPECIFIC__ 1 | |
2933 | #define __UCLIBC_HAS_BSD_ERR__ 1 | |
2934 | #define __UCLIBC_HAS_OBSOLETE_BSD_SIGNAL__ 1 | |
2935 | #undef __UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL__ | |
2936 | #undef __UCLIBC_NTP_LEGACY__ | |
2937 | #define __UCLIBC_SV4_DEPRECATED__ 1 | |
2938 | #define __UCLIBC_HAS_REALTIME__ 1 | |
2939 | #define __UCLIBC_HAS_ADVANCED_REALTIME__ 1 | |
2940 | #define __UCLIBC_HAS_EPOLL__ 1 | |
2941 | #define __UCLIBC_HAS_XATTR__ 1 | |
2942 | #define __UCLIBC_HAS_PROFILING__ 1 | |
2943 | #define __UCLIBC_HAS_CRYPT_IMPL__ 1 | |
2944 | #define __UCLIBC_HAS_CRYPT__ 1 | |
2945 | #define __UCLIBC_HAS_NETWORK_SUPPORT__ 1 | |
2946 | #define __UCLIBC_HAS_SOCKET__ 1 | |
2947 | #define __UCLIBC_HAS_IPV4__ 1 | |
2948 | #undef __UCLIBC_HAS_IPV6__ | |
2949 | #define __UCLIBC_HAS_RPC__ 1 | |
2950 | #define __UCLIBC_HAS_FULL_RPC__ 1 | |
2951 | #define __UCLIBC_HAS_REENTRANT_RPC__ 1 | |
2952 | #undef __UCLIBC_USE_NETLINK__ | |
2953 | #define __UCLIBC_HAS_BSD_RES_CLOSE__ 1 | |
2954 | ||
2955 | ||
2956 | #define __UCLIBC_HAS_STRING_GENERIC_OPT__ 1 | |
2957 | #define __UCLIBC_HAS_STRING_ARCH_OPT__ 1 | |
2958 | #define __UCLIBC_HAS_CTYPE_TABLES__ 1 | |
2959 | #define __UCLIBC_HAS_CTYPE_SIGNED__ 1 | |
2960 | #define __UCLIBC_HAS_CTYPE_UNSAFE__ 1 | |
2961 | #undef __UCLIBC_HAS_CTYPE_CHECKED__ | |
2962 | #undef __UCLIBC_HAS_CTYPE_ENFORCED__ | |
2963 | #undef __UCLIBC_HAS_WCHAR__ | |
2964 | #undef __UCLIBC_HAS_LOCALE__ | |
2965 | #undef __UCLIBC_HAS_HEXADECIMAL_FLOATS__ | |
2966 | #undef __UCLIBC_HAS_GLIBC_CUSTOM_PRINTF__ | |
2967 | #undef __USE_OLD_VFPRINTF__ | |
2968 | #define __UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS__ 9 | |
2969 | #undef __UCLIBC_HAS_SCANF_GLIBC_A_FLAG__ | |
2970 | #undef __UCLIBC_HAS_STDIO_BUFSIZ_NONE__ | |
2971 | #define __UCLIBC_HAS_STDIO_BUFSIZ_256__ 1 | |
2972 | #undef __UCLIBC_HAS_STDIO_BUFSIZ_512__ | |
2973 | #undef __UCLIBC_HAS_STDIO_BUFSIZ_1024__ | |
2974 | #undef __UCLIBC_HAS_STDIO_BUFSIZ_2048__ | |
2975 | #undef __UCLIBC_HAS_STDIO_BUFSIZ_4096__ | |
2976 | #undef __UCLIBC_HAS_STDIO_BUFSIZ_8192__ | |
2977 | #define __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE__ 1 | |
2978 | #undef __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4__ | |
2979 | #undef __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8__ | |
2980 | #undef __UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT__ | |
2981 | #define __UCLIBC_HAS_STDIO_GETC_MACRO__ 1 | |
2982 | #define __UCLIBC_HAS_STDIO_PUTC_MACRO__ 1 | |
2983 | #define __UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION__ 1 | |
2984 | #undef __UCLIBC_HAS_FOPEN_LARGEFILE_MODE__ | |
2985 | #undef __UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE__ | |
2986 | #undef __UCLIBC_HAS_GLIBC_CUSTOM_STREAMS__ | |
2987 | #undef __UCLIBC_HAS_PRINTF_M_SPEC__ | |
2988 | #define __UCLIBC_HAS_ERRNO_MESSAGES__ 1 | |
2989 | #undef __UCLIBC_HAS_SYS_ERRLIST__ | |
2990 | #define __UCLIBC_HAS_SIGNUM_MESSAGES__ 1 | |
2991 | #undef __UCLIBC_HAS_SYS_SIGLIST__ | |
2992 | #define __UCLIBC_HAS_GNU_GETOPT__ 1 | |
2993 | #define __UCLIBC_HAS_GNU_GETSUBOPT__ 1 | |
2994 | ||
2995 | ||
2996 | #define __UCLIBC_HAS_REGEX__ 1 | |
2997 | #define __UCLIBC_HAS_REGEX_OLD__ 1 | |
2998 | #define __UCLIBC_HAS_FNMATCH__ 1 | |
2999 | #define __UCLIBC_HAS_FNMATCH_OLD__ 1 | |
3000 | #undef __UCLIBC_HAS_WORDEXP__ | |
3001 | #undef __UCLIBC_HAS_FTW__ | |
3002 | #define __UCLIBC_HAS_GLOB__ 1 | |
3003 | #undef __UCLIBC_HAS_GNU_GLOB__ | |
3004 | ||
3005 | ||
3006 | #define __SHARED_LIB_LOADER_PREFIX__ "/lib" | |
3007 | #define __RUNTIME_PREFIX__ "/" | |
3008 | #define __DEVEL_PREFIX__ "/usr" | |
3009 | #define __MULTILIB__ "" | |
3010 | ||
3011 | ||
3012 | #undef __UCLIBC_HAS_ARC4RANDOM__ | |
3013 | #undef __HAVE_NO_SSP__ | |
3014 | #undef __UCLIBC_HAS_SSP__ | |
3015 | #define __UCLIBC_BUILD_RELRO__ 1 | |
3016 | #undef __UCLIBC_BUILD_NOW__ | |
3017 | #undef __UCLIBC_BUILD_NOEXECSTACK__ | |
3018 | ||
3019 | ||
3020 | #define __CROSS_COMPILER_PREFIX__ "bfin-elf-" | |
3021 | #define __UCLIBC_EXTRA_CFLAGS__ " -mcpu=bf532-none -mfdpic" | |
3022 | #undef __DODEBUG__ | |
3023 | #undef __DODEBUG_PT__ | |
3024 | #undef __DOSTRIP__ | |
3025 | #undef __DOASSERTS__ | |
3026 | #define __SUPPORT_LD_DEBUG__ 1 | |
3027 | #undef __SUPPORT_LD_DEBUG_EARLY__ | |
3028 | #undef __UCLIBC_MALLOC_DEBUGGING__ | |
3029 | #define __WARNINGS__ "-Wall" | |
3030 | #undef __EXTRA_WARNINGS__ | |
3031 | #undef __DOMULTI__ | |
3032 | #undef __UCLIBC_MJN3_ONLY__ | |
3033 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 2 3 4 | |
3034 | #undef __need_uClibc_config_h | |
3035 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_arch_features.h" 1 3 4 | |
3036 | ||
3037 | ||
3038 | ||
3039 | ||
3040 | ||
3041 | #define _BITS_UCLIBC_ARCH_FEATURES_H | |
3042 | ||
3043 | ||
3044 | ||
3045 | #undef __UCLIBC_ABORT_INSTRUCTION__ | |
3046 | ||
3047 | ||
3048 | #define __UCLIBC_MMAP_HAS_6_ARGS__ | |
3049 | ||
3050 | ||
3051 | #undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ | |
3052 | ||
3053 | ||
3054 | #undef __UCLIBC_BROKEN_CREATE_MODULE__ | |
3055 | ||
3056 | ||
3057 | #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ | |
3058 | ||
3059 | ||
3060 | #undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__ | |
3061 | ||
3062 | ||
3063 | #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ | |
3064 | ||
3065 | ||
3066 | #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ | |
3067 | ||
3068 | ||
3069 | #undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ | |
3070 | ||
3071 | ||
3072 | #define __UCLIBC_HAVE_SIGNED_ZERO__ | |
3073 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 2 3 4 | |
3074 | ||
3075 | ||
3076 | ||
3077 | #define __OPTIMIZE_SIZE__ 1 | |
3078 | # 122 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3079 | #undef __USE_ISOC99 | |
3080 | #undef __USE_POSIX | |
3081 | #undef __USE_POSIX2 | |
3082 | #undef __USE_POSIX199309 | |
3083 | #undef __USE_POSIX199506 | |
3084 | #undef __USE_XOPEN | |
3085 | #undef __USE_XOPEN_EXTENDED | |
3086 | #undef __USE_UNIX98 | |
3087 | #undef __USE_XOPEN2K | |
3088 | #undef __USE_LARGEFILE | |
3089 | #undef __USE_LARGEFILE64 | |
3090 | #undef __USE_FILE_OFFSET64 | |
3091 | #undef __USE_BSD | |
3092 | #undef __USE_SVID | |
3093 | #undef __USE_MISC | |
3094 | #undef __USE_ATFILE | |
3095 | #undef __USE_GNU | |
3096 | #undef __USE_REENTRANT | |
3097 | #undef __USE_FORTIFY_LEVEL | |
3098 | #undef __FAVOR_BSD | |
3099 | #undef __KERNEL_STRICT_NAMES | |
3100 | ||
3101 | ||
3102 | ||
3103 | ||
3104 | #define __KERNEL_STRICT_NAMES | |
3105 | ||
3106 | ||
3107 | ||
3108 | #define __USE_ANSI 1 | |
3109 | # 161 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3110 | #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) | |
3111 | # 178 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3112 | #undef _ISOC99_SOURCE | |
3113 | #define _ISOC99_SOURCE 1 | |
3114 | #undef _POSIX_SOURCE | |
3115 | #define _POSIX_SOURCE 1 | |
3116 | #undef _POSIX_C_SOURCE | |
3117 | #define _POSIX_C_SOURCE 199506L | |
3118 | #undef _XOPEN_SOURCE | |
3119 | #define _XOPEN_SOURCE 600 | |
3120 | #undef _XOPEN_SOURCE_EXTENDED | |
3121 | #define _XOPEN_SOURCE_EXTENDED 1 | |
3122 | ||
3123 | #undef _LARGEFILE64_SOURCE | |
3124 | #define _LARGEFILE64_SOURCE 1 | |
3125 | ||
3126 | #undef _BSD_SOURCE | |
3127 | #define _BSD_SOURCE 1 | |
3128 | #undef _SVID_SOURCE | |
3129 | #define _SVID_SOURCE 1 | |
3130 | #undef _ATFILE_SOURCE | |
3131 | #define _ATFILE_SOURCE 1 | |
3132 | # 216 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3133 | #define __USE_ISOC99 1 | |
3134 | # 232 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3135 | #define __USE_POSIX 1 | |
3136 | ||
3137 | ||
3138 | ||
3139 | #define __USE_POSIX2 1 | |
3140 | ||
3141 | ||
3142 | ||
3143 | #define __USE_POSIX199309 1 | |
3144 | ||
3145 | ||
3146 | ||
3147 | #define __USE_POSIX199506 1 | |
3148 | ||
3149 | ||
3150 | ||
3151 | ||
3152 | ||
3153 | ||
3154 | ||
3155 | #define __USE_XOPEN 1 | |
3156 | ||
3157 | #define __USE_XOPEN_EXTENDED 1 | |
3158 | #define __USE_UNIX98 1 | |
3159 | #undef _LARGEFILE_SOURCE | |
3160 | #define _LARGEFILE_SOURCE 1 | |
3161 | ||
3162 | #define __USE_XOPEN2K 1 | |
3163 | #undef __USE_ISOC99 | |
3164 | #define __USE_ISOC99 1 | |
3165 | # 271 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3166 | #define __USE_LARGEFILE 1 | |
3167 | ||
3168 | ||
3169 | ||
3170 | #define __USE_LARGEFILE64 1 | |
3171 | ||
3172 | ||
3173 | ||
3174 | ||
3175 | ||
3176 | ||
3177 | ||
3178 | #define __USE_MISC 1 | |
3179 | ||
3180 | ||
3181 | ||
3182 | #define __USE_BSD 1 | |
3183 | ||
3184 | ||
3185 | ||
3186 | #define __USE_SVID 1 | |
3187 | ||
3188 | ||
3189 | ||
3190 | #define __USE_ATFILE 1 | |
3191 | ||
3192 | ||
3193 | ||
3194 | #define __USE_GNU 1 | |
3195 | ||
3196 | ||
3197 | ||
3198 | #define __USE_REENTRANT 1 | |
3199 | ||
3200 | ||
3201 | ||
3202 | #undef _FORTIFY_SOURCE | |
3203 | # 316 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3204 | #define __USE_FORTIFY_LEVEL 0 | |
3205 | ||
3206 | ||
3207 | ||
3208 | #define __STDC_IEC_559__ 1 | |
3209 | #define __STDC_IEC_559_COMPLEX__ 1 | |
3210 | # 339 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3211 | #undef __GNU_LIBRARY__ | |
3212 | #define __GNU_LIBRARY__ 6 | |
3213 | ||
3214 | ||
3215 | ||
3216 | ||
3217 | #define __GLIBC__ 2 | |
3218 | #define __GLIBC_MINOR__ 2 | |
3219 | ||
3220 | ||
3221 | #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) | |
3222 | # 365 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3223 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 1 3 4 | |
3224 | # 21 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3225 | #define _SYS_CDEFS_H 1 | |
3226 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3227 | #undef __P | |
3228 | #undef __PMT | |
3229 | # 51 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3230 | #define __THROW throw () | |
3231 | #define __NTH(fct) fct throw () | |
3232 | # 74 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3233 | #define __P(args) args | |
3234 | #define __PMT(args) args | |
3235 | ||
3236 | ||
3237 | ||
3238 | ||
3239 | #define __CONCAT(x,y) x ## y | |
3240 | #define __STRING(x) #x | |
3241 | ||
3242 | ||
3243 | #define __ptr_t void * | |
3244 | #define __long_double_t long double | |
3245 | ||
3246 | ||
3247 | ||
3248 | ||
3249 | #define __BEGIN_DECLS extern "C" { | |
3250 | #define __END_DECLS } | |
3251 | # 114 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3252 | #define __BEGIN_NAMESPACE_STD | |
3253 | #define __END_NAMESPACE_STD | |
3254 | #define __USING_NAMESPACE_STD(name) | |
3255 | #define __BEGIN_NAMESPACE_C99 | |
3256 | #define __END_NAMESPACE_C99 | |
3257 | #define __USING_NAMESPACE_C99(name) | |
3258 | ||
3259 | ||
3260 | ||
3261 | ||
3262 | ||
3263 | #define __bounded | |
3264 | #define __unbounded | |
3265 | #define __ptrvalue | |
3266 | ||
3267 | ||
3268 | ||
3269 | ||
3270 | #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) | |
3271 | #define __bos0(ptr) __builtin_object_size (ptr, 0) | |
3272 | ||
3273 | ||
3274 | #define __warndecl(name,msg) extern void name (void) __attribute__((__warning__ (msg))) | |
3275 | ||
3276 | #define __warnattr(msg) __attribute__((__warning__ (msg))) | |
3277 | #define __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg))) | |
3278 | # 150 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3279 | #define __flexarr [] | |
3280 | # 177 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3281 | #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) | |
3282 | ||
3283 | #define __REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias)) | |
3284 | ||
3285 | ||
3286 | ||
3287 | ||
3288 | ||
3289 | #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) | |
3290 | #define __ASMNAME2(prefix,cname) __STRING (prefix) cname | |
3291 | # 206 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3292 | #define __attribute_aligned__(size) __attribute__ ((__aligned__ (size))) | |
3293 | # 215 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3294 | #define __attribute_malloc__ __attribute__ ((__malloc__)) | |
3295 | # 224 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3296 | #define __attribute_pure__ __attribute__ ((__pure__)) | |
3297 | # 233 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3298 | #define __attribute_used__ __attribute__ ((__used__)) | |
3299 | #define __attribute_noinline__ __attribute__ ((__noinline__)) | |
3300 | ||
3301 | ||
3302 | ||
3303 | ||
3304 | ||
3305 | ||
3306 | ||
3307 | #define __attribute_deprecated__ __attribute__ ((__deprecated__)) | |
3308 | # 254 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3309 | #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) | |
3310 | # 264 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3311 | #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b))) | |
3312 | # 273 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3313 | #define __nonnull(params) __attribute__ ((__nonnull__ params)) | |
3314 | ||
3315 | ||
3316 | ||
3317 | ||
3318 | ||
3319 | ||
3320 | ||
3321 | #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__)) | |
3322 | # 290 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3323 | #define __wur | |
3324 | ||
3325 | ||
3326 | ||
3327 | ||
3328 | #define __always_inline __inline __attribute__ ((__always_inline__)) | |
3329 | # 306 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3330 | #define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) | |
3331 | ||
3332 | #define __extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__, __artificial__)) | |
3333 | # 323 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3334 | #define __va_arg_pack() __builtin_va_arg_pack () | |
3335 | #define __va_arg_pack_len() __builtin_va_arg_pack_len () | |
3336 | # 347 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/cdefs.h" 3 4 | |
3337 | #define __restrict_arr | |
3338 | # 366 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 2 3 4 | |
3339 | # 418 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/features.h" 3 4 | |
3340 | #undef _ATFILE_SOURCE | |
3341 | #undef __USE_ATFILE | |
3342 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/os_defines.h" 2 3 | |
3343 | ||
3344 | ||
3345 | #define __NO_STRING_INLINES | |
3346 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 2 3 | |
3347 | ||
3348 | ||
3349 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/cpu_defines.h" 1 3 | |
3350 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/cpu_defines.h" 3 | |
3351 | #define _GLIBCXX_CPU_DEFINES 1 | |
3352 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 2 3 | |
3353 | ||
3354 | ||
3355 | #define __GLIBCXX__ 20090804 | |
3356 | ||
3357 | ||
3358 | ||
3359 | ||
3360 | #define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 | |
3361 | ||
3362 | ||
3363 | #define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) | |
3364 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3365 | #define _GLIBCXX_DEPRECATED 1 | |
3366 | ||
3367 | ||
3368 | ||
3369 | ||
3370 | ||
3371 | #define _GLIBCXX_DEPRECATED_ATTR | |
3372 | # 98 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3373 | #define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 | |
3374 | # 122 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3375 | #define _GLIBCXX_STD_D _GLIBCXX_STD | |
3376 | #define _GLIBCXX_STD_P _GLIBCXX_STD | |
3377 | #define _GLIBCXX_STD std | |
3378 | #define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X,Y) _GLIBCXX_BEGIN_NAMESPACE(X) | |
3379 | #define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE | |
3380 | #define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { | |
3381 | #define _GLIBCXX_END_NAMESPACE } | |
3382 | # 229 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3383 | #undef _GLIBCXX_LONG_DOUBLE_COMPAT | |
3384 | ||
3385 | ||
3386 | ||
3387 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
3388 | ||
3389 | ||
3390 | ||
3391 | ||
3392 | ||
3393 | ||
3394 | ||
3395 | #define _GLIBCXX_LDBL_NAMESPACE | |
3396 | #define _GLIBCXX_BEGIN_LDBL_NAMESPACE | |
3397 | #define _GLIBCXX_END_LDBL_NAMESPACE | |
3398 | ||
3399 | } | |
3400 | # 259 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3401 | #define _GLIBCXX_EXTERN_TEMPLATE 1 | |
3402 | ||
3403 | ||
3404 | ||
3405 | ||
3406 | ||
3407 | ||
3408 | ||
3409 | #define _GLIBCXX_WEAK_DEFINITION | |
3410 | # 285 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3411 | #define _GLIBCXX_FAST_MATH 0 | |
3412 | ||
3413 | ||
3414 | ||
3415 | ||
3416 | ||
3417 | ||
3418 | #define __N(msgid) (msgid) | |
3419 | ||
3420 | ||
3421 | #undef min | |
3422 | #undef max | |
3423 | ||
3424 | ||
3425 | ||
3426 | ||
3427 | ||
3428 | ||
3429 | #define _GLIBCXX_HAVE_ACOSF 1 | |
3430 | ||
3431 | ||
3432 | ||
3433 | ||
3434 | ||
3435 | #define _GLIBCXX_HAVE_ASINF 1 | |
3436 | ||
3437 | ||
3438 | ||
3439 | ||
3440 | ||
3441 | #define _GLIBCXX_HAVE_ATAN2F 1 | |
3442 | ||
3443 | ||
3444 | ||
3445 | ||
3446 | ||
3447 | #define _GLIBCXX_HAVE_ATANF 1 | |
3448 | # 330 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3449 | #define _GLIBCXX_HAVE_CEILF 1 | |
3450 | ||
3451 | ||
3452 | ||
3453 | ||
3454 | ||
3455 | #define _GLIBCXX_HAVE_COMPLEX_H 1 | |
3456 | ||
3457 | ||
3458 | #define _GLIBCXX_HAVE_COPYSIGN 1 | |
3459 | ||
3460 | ||
3461 | #define _GLIBCXX_HAVE_COPYSIGNF 1 | |
3462 | ||
3463 | ||
3464 | ||
3465 | ||
3466 | ||
3467 | #define _GLIBCXX_HAVE_COSF 1 | |
3468 | ||
3469 | ||
3470 | #define _GLIBCXX_HAVE_COSHF 1 | |
3471 | # 360 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3472 | #define _GLIBCXX_HAVE_DLFCN_H 1 | |
3473 | ||
3474 | ||
3475 | #define _GLIBCXX_HAVE_ENDIAN_H 1 | |
3476 | ||
3477 | ||
3478 | #define _GLIBCXX_HAVE_EXPF 1 | |
3479 | ||
3480 | ||
3481 | ||
3482 | ||
3483 | ||
3484 | #define _GLIBCXX_HAVE_FABSF 1 | |
3485 | # 381 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3486 | #define _GLIBCXX_HAVE_FINITE 1 | |
3487 | ||
3488 | ||
3489 | #define _GLIBCXX_HAVE_FINITEF 1 | |
3490 | ||
3491 | ||
3492 | ||
3493 | ||
3494 | ||
3495 | #define _GLIBCXX_HAVE_FLOAT_H 1 | |
3496 | ||
3497 | ||
3498 | #define _GLIBCXX_HAVE_FLOORF 1 | |
3499 | ||
3500 | ||
3501 | ||
3502 | ||
3503 | ||
3504 | #define _GLIBCXX_HAVE_FMODF 1 | |
3505 | # 411 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3506 | #define _GLIBCXX_HAVE_FREXPF 1 | |
3507 | # 423 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3508 | #define _GLIBCXX_HAVE_GETIPINFO 1 | |
3509 | ||
3510 | ||
3511 | ||
3512 | ||
3513 | ||
3514 | ||
3515 | #define _GLIBCXX_HAVE_GTHR_DEFAULT 1 | |
3516 | ||
3517 | ||
3518 | #define _GLIBCXX_HAVE_HYPOT 1 | |
3519 | ||
3520 | ||
3521 | #define _GLIBCXX_HAVE_HYPOTF 1 | |
3522 | # 448 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3523 | #define _GLIBCXX_HAVE_INT64_T 1 | |
3524 | ||
3525 | ||
3526 | #define _GLIBCXX_HAVE_INTTYPES_H 1 | |
3527 | ||
3528 | ||
3529 | #define _GLIBCXX_HAVE_ISINF 1 | |
3530 | ||
3531 | ||
3532 | #define _GLIBCXX_HAVE_ISINFF 1 | |
3533 | ||
3534 | ||
3535 | ||
3536 | ||
3537 | ||
3538 | #define _GLIBCXX_HAVE_ISNAN 1 | |
3539 | ||
3540 | ||
3541 | #define _GLIBCXX_HAVE_ISNANF 1 | |
3542 | # 478 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3543 | #define _GLIBCXX_HAVE_LDEXPF 1 | |
3544 | # 487 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3545 | #define _GLIBCXX_HAVE_LIBM 1 | |
3546 | # 505 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3547 | #define _GLIBCXX_HAVE_LINUX_FUTEX 1 | |
3548 | ||
3549 | ||
3550 | #define _GLIBCXX_HAVE_LOCALE_H 1 | |
3551 | ||
3552 | ||
3553 | #define _GLIBCXX_HAVE_LOG10F 1 | |
3554 | ||
3555 | ||
3556 | ||
3557 | ||
3558 | ||
3559 | #define _GLIBCXX_HAVE_LOGF 1 | |
3560 | # 532 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3561 | #define _GLIBCXX_HAVE_MEMORY_H 1 | |
3562 | ||
3563 | ||
3564 | ||
3565 | ||
3566 | ||
3567 | #define _GLIBCXX_HAVE_MODF 1 | |
3568 | ||
3569 | ||
3570 | #define _GLIBCXX_HAVE_MODFF 1 | |
3571 | # 550 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3572 | #define _GLIBCXX_HAVE_POLL 1 | |
3573 | ||
3574 | ||
3575 | #define _GLIBCXX_HAVE_POWF 1 | |
3576 | # 565 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3577 | #define _GLIBCXX_HAVE_SIGSETJMP 1 | |
3578 | # 577 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3579 | #define _GLIBCXX_HAVE_SINF 1 | |
3580 | ||
3581 | ||
3582 | #define _GLIBCXX_HAVE_SINHF 1 | |
3583 | # 589 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3584 | #define _GLIBCXX_HAVE_SQRTF 1 | |
3585 | ||
3586 | ||
3587 | ||
3588 | ||
3589 | ||
3590 | #define _GLIBCXX_HAVE_STDBOOL_H 1 | |
3591 | ||
3592 | ||
3593 | #define _GLIBCXX_HAVE_STDINT_H 1 | |
3594 | ||
3595 | ||
3596 | #define _GLIBCXX_HAVE_STDLIB_H 1 | |
3597 | ||
3598 | ||
3599 | ||
3600 | ||
3601 | ||
3602 | #define _GLIBCXX_HAVE_STRERROR_R 1 | |
3603 | ||
3604 | ||
3605 | #define _GLIBCXX_HAVE_STRINGS_H 1 | |
3606 | ||
3607 | ||
3608 | #define _GLIBCXX_HAVE_STRING_H 1 | |
3609 | ||
3610 | ||
3611 | #define _GLIBCXX_HAVE_STRTOF 1 | |
3612 | ||
3613 | ||
3614 | #define _GLIBCXX_HAVE_STRTOLD 1 | |
3615 | # 628 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3616 | #define _GLIBCXX_HAVE_SYS_IOCTL_H 1 | |
3617 | ||
3618 | ||
3619 | #define _GLIBCXX_HAVE_SYS_IPC_H 1 | |
3620 | # 646 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3621 | #define _GLIBCXX_HAVE_SYS_SEM_H 1 | |
3622 | ||
3623 | ||
3624 | #define _GLIBCXX_HAVE_SYS_STAT_H 1 | |
3625 | ||
3626 | ||
3627 | ||
3628 | ||
3629 | ||
3630 | #define _GLIBCXX_HAVE_SYS_TYPES_H 1 | |
3631 | ||
3632 | ||
3633 | #define _GLIBCXX_HAVE_SYS_UIO_H 1 | |
3634 | ||
3635 | ||
3636 | ||
3637 | ||
3638 | ||
3639 | #define _GLIBCXX_HAVE_S_ISREG 1 | |
3640 | ||
3641 | ||
3642 | #define _GLIBCXX_HAVE_TANF 1 | |
3643 | ||
3644 | ||
3645 | #define _GLIBCXX_HAVE_TANHF 1 | |
3646 | # 679 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3647 | #define _GLIBCXX_HAVE_TGMATH_H 1 | |
3648 | ||
3649 | ||
3650 | ||
3651 | ||
3652 | ||
3653 | #define _GLIBCXX_HAVE_UNISTD_H 1 | |
3654 | # 706 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3655 | #define _GLIBCXX_HAVE_WRITEV 1 | |
3656 | # 901 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3657 | #define _GLIBCXX_HAVE___BUILTIN_ABS 1 | |
3658 | ||
3659 | ||
3660 | #define _GLIBCXX_HAVE___BUILTIN_COS 1 | |
3661 | ||
3662 | ||
3663 | #define _GLIBCXX_HAVE___BUILTIN_COSF 1 | |
3664 | ||
3665 | ||
3666 | #define _GLIBCXX_HAVE___BUILTIN_COSL 1 | |
3667 | ||
3668 | ||
3669 | #define _GLIBCXX_HAVE___BUILTIN_FABS 1 | |
3670 | ||
3671 | ||
3672 | #define _GLIBCXX_HAVE___BUILTIN_FABSF 1 | |
3673 | ||
3674 | ||
3675 | #define _GLIBCXX_HAVE___BUILTIN_FABSL 1 | |
3676 | ||
3677 | ||
3678 | #define _GLIBCXX_HAVE___BUILTIN_LABS 1 | |
3679 | ||
3680 | ||
3681 | #define _GLIBCXX_HAVE___BUILTIN_SIN 1 | |
3682 | ||
3683 | ||
3684 | #define _GLIBCXX_HAVE___BUILTIN_SINF 1 | |
3685 | ||
3686 | ||
3687 | #define _GLIBCXX_HAVE___BUILTIN_SINL 1 | |
3688 | ||
3689 | ||
3690 | #define _GLIBCXX_HAVE___BUILTIN_SQRT 1 | |
3691 | ||
3692 | ||
3693 | #define _GLIBCXX_HAVE___BUILTIN_SQRTF 1 | |
3694 | ||
3695 | ||
3696 | #define _GLIBCXX_HAVE___BUILTIN_SQRTL 1 | |
3697 | ||
3698 | ||
3699 | #define _GLIBCXX_HAVE___SIGNBIT 1 | |
3700 | ||
3701 | ||
3702 | #define _GLIBCXX_HAVE___SIGNBITF 1 | |
3703 | # 956 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3704 | #define LT_OBJDIR ".libs/" | |
3705 | ||
3706 | ||
3707 | ||
3708 | ||
3709 | ||
3710 | #define _GLIBCXX_PACKAGE_BUGREPORT "" | |
3711 | ||
3712 | ||
3713 | #define _GLIBCXX_PACKAGE_NAME "package-unused" | |
3714 | ||
3715 | ||
3716 | #define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" | |
3717 | ||
3718 | ||
3719 | #define _GLIBCXX_PACKAGE_TARNAME "libstdc++" | |
3720 | ||
3721 | ||
3722 | #define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" | |
3723 | ||
3724 | ||
3725 | #define STDC_HEADERS 1 | |
3726 | ||
3727 | ||
3728 | ||
3729 | ||
3730 | ||
3731 | #define _GLIBCXX_ATOMIC_BUILTINS 1 | |
3732 | # 992 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3733 | #define _GLIBCXX_HOSTED 1 | |
3734 | # 1032 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++config.h" 3 | |
3735 | #define _GLIBCXX_USE_C99_COMPLEX_TR1 1 | |
3736 | ||
3737 | ||
3738 | ||
3739 | #define _GLIBCXX_USE_C99_CTYPE_TR1 1 | |
3740 | ||
3741 | ||
3742 | ||
3743 | ||
3744 | ||
3745 | ||
3746 | ||
3747 | #define _GLIBCXX_USE_C99_INTTYPES_TR1 1 | |
3748 | ||
3749 | ||
3750 | ||
3751 | #define _GLIBCXX_USE_C99_MATH 1 | |
3752 | ||
3753 | ||
3754 | ||
3755 | ||
3756 | ||
3757 | ||
3758 | ||
3759 | #define _GLIBCXX_USE_C99_STDINT_TR1 1 | |
3760 | ||
3761 | ||
3762 | #define _GLIBCXX_USE_LFS 1 | |
3763 | ||
3764 | ||
3765 | #define _GLIBCXX_USE_LONG_LONG 1 | |
3766 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
3767 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
3768 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
3769 | ||
3770 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
3771 | ||
3772 | ||
3773 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
3774 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
3775 | ||
3776 | ||
3777 | #define _GLIBCXX_CSTDDEF 1 | |
3778 | ||
3779 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
3780 | ||
3781 | using ::ptrdiff_t; | |
3782 | using ::size_t; | |
3783 | ||
3784 | } | |
3785 | # 67 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
3786 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_types.h" 1 3 | |
3787 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_types.h" 3 | |
3788 | #define _STL_ITERATOR_BASE_TYPES_H 1 | |
3789 | ||
3790 | ||
3791 | # 69 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_types.h" 3 | |
3792 | ||
3793 | ||
3794 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
3795 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
3796 | ||
3797 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
3798 | ||
3799 | ||
3800 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
3801 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
3802 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_types.h" 2 3 | |
3803 | ||
3804 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
3805 | # 84 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_types.h" 3 | |
3806 | struct input_iterator_tag {}; | |
3807 | ||
3808 | struct output_iterator_tag {}; | |
3809 | ||
3810 | struct forward_iterator_tag : public input_iterator_tag {}; | |
3811 | ||
3812 | ||
3813 | struct bidirectional_iterator_tag : public forward_iterator_tag {}; | |
3814 | ||
3815 | ||
3816 | struct random_access_iterator_tag : public bidirectional_iterator_tag {}; | |
3817 | # 108 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_types.h" 3 | |
3818 | template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, | |
3819 | typename _Pointer = _Tp*, typename _Reference = _Tp&> | |
3820 | struct iterator | |
3821 | { | |
3822 | ||
3823 | typedef _Category iterator_category; | |
3824 | ||
3825 | typedef _Tp value_type; | |
3826 | ||
3827 | typedef _Distance difference_type; | |
3828 | ||
3829 | typedef _Pointer pointer; | |
3830 | ||
3831 | typedef _Reference reference; | |
3832 | }; | |
3833 | ||
3834 | ||
3835 | ||
3836 | ||
3837 | ||
3838 | ||
3839 | ||
3840 | template<typename _Iterator> | |
3841 | struct iterator_traits | |
3842 | { | |
3843 | typedef typename _Iterator::iterator_category iterator_category; | |
3844 | typedef typename _Iterator::value_type value_type; | |
3845 | typedef typename _Iterator::difference_type difference_type; | |
3846 | typedef typename _Iterator::pointer pointer; | |
3847 | typedef typename _Iterator::reference reference; | |
3848 | }; | |
3849 | ||
3850 | template<typename _Tp> | |
3851 | struct iterator_traits<_Tp*> | |
3852 | { | |
3853 | typedef random_access_iterator_tag iterator_category; | |
3854 | typedef _Tp value_type; | |
3855 | typedef ptrdiff_t difference_type; | |
3856 | typedef _Tp* pointer; | |
3857 | typedef _Tp& reference; | |
3858 | }; | |
3859 | ||
3860 | template<typename _Tp> | |
3861 | struct iterator_traits<const _Tp*> | |
3862 | { | |
3863 | typedef random_access_iterator_tag iterator_category; | |
3864 | typedef _Tp value_type; | |
3865 | typedef ptrdiff_t difference_type; | |
3866 | typedef const _Tp* pointer; | |
3867 | typedef const _Tp& reference; | |
3868 | }; | |
3869 | ||
3870 | ||
3871 | ||
3872 | ||
3873 | ||
3874 | template<typename _Iter> | |
3875 | inline typename iterator_traits<_Iter>::iterator_category | |
3876 | __iterator_category(const _Iter&) | |
3877 | { return typename iterator_traits<_Iter>::iterator_category(); } | |
3878 | ||
3879 | } | |
3880 | # 68 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
3881 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_funcs.h" 1 3 | |
3882 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_funcs.h" 3 | |
3883 | #define _STL_ITERATOR_BASE_FUNCS_H 1 | |
3884 | ||
3885 | ||
3886 | # 69 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_funcs.h" 3 | |
3887 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/concept_check.h" 1 3 | |
3888 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/concept_check.h" 3 | |
3889 | #define _CONCEPT_CHECK_H 1 | |
3890 | ||
3891 | ||
3892 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/concept_check.h" 3 | |
3893 | # 52 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/concept_check.h" 3 | |
3894 | #define __glibcxx_function_requires(...) | |
3895 | #define __glibcxx_class_requires(_a,_b) | |
3896 | #define __glibcxx_class_requires2(_a,_b,_c) | |
3897 | #define __glibcxx_class_requires3(_a,_b,_c,_d) | |
3898 | #define __glibcxx_class_requires4(_a,_b,_c,_d,_e) | |
3899 | # 70 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_funcs.h" 2 3 | |
3900 | ||
3901 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
3902 | ||
3903 | template<typename _InputIterator> | |
3904 | inline typename iterator_traits<_InputIterator>::difference_type | |
3905 | __distance(_InputIterator __first, _InputIterator __last, | |
3906 | input_iterator_tag) | |
3907 | { | |
3908 | ||
3909 | ||
3910 | ||
3911 | typename iterator_traits<_InputIterator>::difference_type __n = 0; | |
3912 | while (__first != __last) | |
3913 | { | |
3914 | ++__first; | |
3915 | ++__n; | |
3916 | } | |
3917 | return __n; | |
3918 | } | |
3919 | ||
3920 | template<typename _RandomAccessIterator> | |
3921 | inline typename iterator_traits<_RandomAccessIterator>::difference_type | |
3922 | __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
3923 | random_access_iterator_tag) | |
3924 | { | |
3925 | ||
3926 | ||
3927 | ||
3928 | return __last - __first; | |
3929 | } | |
3930 | # 113 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_funcs.h" 3 | |
3931 | template<typename _InputIterator> | |
3932 | inline typename iterator_traits<_InputIterator>::difference_type | |
3933 | distance(_InputIterator __first, _InputIterator __last) | |
3934 | { | |
3935 | ||
3936 | return std::__distance(__first, __last, | |
3937 | std::__iterator_category(__first)); | |
3938 | } | |
3939 | ||
3940 | template<typename _InputIterator, typename _Distance> | |
3941 | inline void | |
3942 | __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) | |
3943 | { | |
3944 | ||
3945 | ||
3946 | while (__n--) | |
3947 | ++__i; | |
3948 | } | |
3949 | ||
3950 | template<typename _BidirectionalIterator, typename _Distance> | |
3951 | inline void | |
3952 | __advance(_BidirectionalIterator& __i, _Distance __n, | |
3953 | bidirectional_iterator_tag) | |
3954 | { | |
3955 | ||
3956 | ||
3957 | ||
3958 | if (__n > 0) | |
3959 | while (__n--) | |
3960 | ++__i; | |
3961 | else | |
3962 | while (__n++) | |
3963 | --__i; | |
3964 | } | |
3965 | ||
3966 | template<typename _RandomAccessIterator, typename _Distance> | |
3967 | inline void | |
3968 | __advance(_RandomAccessIterator& __i, _Distance __n, | |
3969 | random_access_iterator_tag) | |
3970 | { | |
3971 | ||
3972 | ||
3973 | ||
3974 | __i += __n; | |
3975 | } | |
3976 | # 171 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator_base_funcs.h" 3 | |
3977 | template<typename _InputIterator, typename _Distance> | |
3978 | inline void | |
3979 | advance(_InputIterator& __i, _Distance __n) | |
3980 | { | |
3981 | ||
3982 | typename iterator_traits<_InputIterator>::difference_type __d = __n; | |
3983 | std::__advance(__i, __d, std::__iterator_category(__i)); | |
3984 | } | |
3985 | ||
3986 | } | |
3987 | # 69 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
3988 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 1 3 | |
3989 | # 67 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
3990 | #define _STL_ITERATOR_H 1 | |
3991 | ||
3992 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/cpp_type_traits.h" 1 3 | |
3993 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/cpp_type_traits.h" 3 | |
3994 | #define _CPP_TYPE_TRAITS_H 1 | |
3995 | ||
3996 | ||
3997 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/cpp_type_traits.h" 3 | |
3998 | # 74 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/cpp_type_traits.h" 3 | |
3999 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
4000 | ||
4001 | template<typename _Iterator, typename _Container> | |
4002 | class __normal_iterator; | |
4003 | ||
4004 | } | |
4005 | ||
4006 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
4007 | ||
4008 | struct __true_type { }; | |
4009 | struct __false_type { }; | |
4010 | ||
4011 | template<bool> | |
4012 | struct __truth_type | |
4013 | { typedef __false_type __type; }; | |
4014 | ||
4015 | template<> | |
4016 | struct __truth_type<true> | |
4017 | { typedef __true_type __type; }; | |
4018 | ||
4019 | ||
4020 | ||
4021 | template<class _Sp, class _Tp> | |
4022 | struct __traitor | |
4023 | { | |
4024 | enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; | |
4025 | typedef typename __truth_type<__value>::__type __type; | |
4026 | }; | |
4027 | ||
4028 | ||
4029 | ||
4030 | template<class _Sp, class _Tp> | |
4031 | struct __traitand | |
4032 | { | |
4033 | enum { __value = bool(_Sp::__value) && bool(_Tp::__value) }; | |
4034 | typedef typename __truth_type<__value>::__type __type; | |
4035 | }; | |
4036 | ||
4037 | ||
4038 | template<typename, typename> | |
4039 | struct __are_same | |
4040 | { | |
4041 | enum { __value = 0 }; | |
4042 | typedef __false_type __type; | |
4043 | }; | |
4044 | ||
4045 | template<typename _Tp> | |
4046 | struct __are_same<_Tp, _Tp> | |
4047 | { | |
4048 | enum { __value = 1 }; | |
4049 | typedef __true_type __type; | |
4050 | }; | |
4051 | ||
4052 | ||
4053 | template<typename _Tp> | |
4054 | struct __is_void | |
4055 | { | |
4056 | enum { __value = 0 }; | |
4057 | typedef __false_type __type; | |
4058 | }; | |
4059 | ||
4060 | template<> | |
4061 | struct __is_void<void> | |
4062 | { | |
4063 | enum { __value = 1 }; | |
4064 | typedef __true_type __type; | |
4065 | }; | |
4066 | ||
4067 | ||
4068 | ||
4069 | ||
4070 | template<typename _Tp> | |
4071 | struct __is_integer | |
4072 | { | |
4073 | enum { __value = 0 }; | |
4074 | typedef __false_type __type; | |
4075 | }; | |
4076 | ||
4077 | ||
4078 | ||
4079 | ||
4080 | template<> | |
4081 | struct __is_integer<bool> | |
4082 | { | |
4083 | enum { __value = 1 }; | |
4084 | typedef __true_type __type; | |
4085 | }; | |
4086 | ||
4087 | template<> | |
4088 | struct __is_integer<char> | |
4089 | { | |
4090 | enum { __value = 1 }; | |
4091 | typedef __true_type __type; | |
4092 | }; | |
4093 | ||
4094 | template<> | |
4095 | struct __is_integer<signed char> | |
4096 | { | |
4097 | enum { __value = 1 }; | |
4098 | typedef __true_type __type; | |
4099 | }; | |
4100 | ||
4101 | template<> | |
4102 | struct __is_integer<unsigned char> | |
4103 | { | |
4104 | enum { __value = 1 }; | |
4105 | typedef __true_type __type; | |
4106 | }; | |
4107 | # 192 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/cpp_type_traits.h" 3 | |
4108 | template<> | |
4109 | struct __is_integer<short> | |
4110 | { | |
4111 | enum { __value = 1 }; | |
4112 | typedef __true_type __type; | |
4113 | }; | |
4114 | ||
4115 | template<> | |
4116 | struct __is_integer<unsigned short> | |
4117 | { | |
4118 | enum { __value = 1 }; | |
4119 | typedef __true_type __type; | |
4120 | }; | |
4121 | ||
4122 | template<> | |
4123 | struct __is_integer<int> | |
4124 | { | |
4125 | enum { __value = 1 }; | |
4126 | typedef __true_type __type; | |
4127 | }; | |
4128 | ||
4129 | template<> | |
4130 | struct __is_integer<unsigned int> | |
4131 | { | |
4132 | enum { __value = 1 }; | |
4133 | typedef __true_type __type; | |
4134 | }; | |
4135 | ||
4136 | template<> | |
4137 | struct __is_integer<long> | |
4138 | { | |
4139 | enum { __value = 1 }; | |
4140 | typedef __true_type __type; | |
4141 | }; | |
4142 | ||
4143 | template<> | |
4144 | struct __is_integer<unsigned long> | |
4145 | { | |
4146 | enum { __value = 1 }; | |
4147 | typedef __true_type __type; | |
4148 | }; | |
4149 | ||
4150 | template<> | |
4151 | struct __is_integer<long long> | |
4152 | { | |
4153 | enum { __value = 1 }; | |
4154 | typedef __true_type __type; | |
4155 | }; | |
4156 | ||
4157 | template<> | |
4158 | struct __is_integer<unsigned long long> | |
4159 | { | |
4160 | enum { __value = 1 }; | |
4161 | typedef __true_type __type; | |
4162 | }; | |
4163 | ||
4164 | ||
4165 | ||
4166 | ||
4167 | template<typename _Tp> | |
4168 | struct __is_floating | |
4169 | { | |
4170 | enum { __value = 0 }; | |
4171 | typedef __false_type __type; | |
4172 | }; | |
4173 | ||
4174 | ||
4175 | template<> | |
4176 | struct __is_floating<float> | |
4177 | { | |
4178 | enum { __value = 1 }; | |
4179 | typedef __true_type __type; | |
4180 | }; | |
4181 | ||
4182 | template<> | |
4183 | struct __is_floating<double> | |
4184 | { | |
4185 | enum { __value = 1 }; | |
4186 | typedef __true_type __type; | |
4187 | }; | |
4188 | ||
4189 | template<> | |
4190 | struct __is_floating<long double> | |
4191 | { | |
4192 | enum { __value = 1 }; | |
4193 | typedef __true_type __type; | |
4194 | }; | |
4195 | ||
4196 | ||
4197 | ||
4198 | ||
4199 | template<typename _Tp> | |
4200 | struct __is_pointer | |
4201 | { | |
4202 | enum { __value = 0 }; | |
4203 | typedef __false_type __type; | |
4204 | }; | |
4205 | ||
4206 | template<typename _Tp> | |
4207 | struct __is_pointer<_Tp*> | |
4208 | { | |
4209 | enum { __value = 1 }; | |
4210 | typedef __true_type __type; | |
4211 | }; | |
4212 | ||
4213 | ||
4214 | ||
4215 | ||
4216 | template<typename _Tp> | |
4217 | struct __is_normal_iterator | |
4218 | { | |
4219 | enum { __value = 0 }; | |
4220 | typedef __false_type __type; | |
4221 | }; | |
4222 | ||
4223 | template<typename _Iterator, typename _Container> | |
4224 | struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, | |
4225 | _Container> > | |
4226 | { | |
4227 | enum { __value = 1 }; | |
4228 | typedef __true_type __type; | |
4229 | }; | |
4230 | ||
4231 | ||
4232 | ||
4233 | ||
4234 | template<typename _Tp> | |
4235 | struct __is_arithmetic | |
4236 | : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > | |
4237 | { }; | |
4238 | ||
4239 | ||
4240 | ||
4241 | ||
4242 | template<typename _Tp> | |
4243 | struct __is_fundamental | |
4244 | : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> > | |
4245 | { }; | |
4246 | ||
4247 | ||
4248 | ||
4249 | ||
4250 | template<typename _Tp> | |
4251 | struct __is_scalar | |
4252 | : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > | |
4253 | { }; | |
4254 | ||
4255 | ||
4256 | ||
4257 | ||
4258 | template<typename _Tp> | |
4259 | struct __is_char | |
4260 | { | |
4261 | enum { __value = 0 }; | |
4262 | typedef __false_type __type; | |
4263 | }; | |
4264 | ||
4265 | template<> | |
4266 | struct __is_char<char> | |
4267 | { | |
4268 | enum { __value = 1 }; | |
4269 | typedef __true_type __type; | |
4270 | }; | |
4271 | # 365 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/cpp_type_traits.h" 3 | |
4272 | template<typename _Tp> | |
4273 | struct __is_byte | |
4274 | { | |
4275 | enum { __value = 0 }; | |
4276 | typedef __false_type __type; | |
4277 | }; | |
4278 | ||
4279 | template<> | |
4280 | struct __is_byte<char> | |
4281 | { | |
4282 | enum { __value = 1 }; | |
4283 | typedef __true_type __type; | |
4284 | }; | |
4285 | ||
4286 | template<> | |
4287 | struct __is_byte<signed char> | |
4288 | { | |
4289 | enum { __value = 1 }; | |
4290 | typedef __true_type __type; | |
4291 | }; | |
4292 | ||
4293 | template<> | |
4294 | struct __is_byte<unsigned char> | |
4295 | { | |
4296 | enum { __value = 1 }; | |
4297 | typedef __true_type __type; | |
4298 | }; | |
4299 | ||
4300 | ||
4301 | ||
4302 | ||
4303 | template<typename _Tp> | |
4304 | struct __is_move_iterator | |
4305 | { | |
4306 | enum { __value = 0 }; | |
4307 | typedef __false_type __type; | |
4308 | }; | |
4309 | # 415 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/cpp_type_traits.h" 3 | |
4310 | } | |
4311 | # 70 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 2 3 | |
4312 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/type_traits.h" 1 3 | |
4313 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/type_traits.h" 3 | |
4314 | #define _EXT_TYPE_TRAITS 1 | |
4315 | ||
4316 | ||
4317 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/type_traits.h" 3 | |
4318 | ||
4319 | ||
4320 | ||
4321 | ||
4322 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
4323 | ||
4324 | ||
4325 | template<bool, typename> | |
4326 | struct __enable_if | |
4327 | { }; | |
4328 | ||
4329 | template<typename _Tp> | |
4330 | struct __enable_if<true, _Tp> | |
4331 | { typedef _Tp __type; }; | |
4332 | ||
4333 | ||
4334 | ||
4335 | template<bool _Cond, typename _Iftrue, typename _Iffalse> | |
4336 | struct __conditional_type | |
4337 | { typedef _Iftrue __type; }; | |
4338 | ||
4339 | template<typename _Iftrue, typename _Iffalse> | |
4340 | struct __conditional_type<false, _Iftrue, _Iffalse> | |
4341 | { typedef _Iffalse __type; }; | |
4342 | ||
4343 | ||
4344 | ||
4345 | template<typename _Tp> | |
4346 | struct __add_unsigned | |
4347 | { | |
4348 | private: | |
4349 | typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; | |
4350 | ||
4351 | public: | |
4352 | typedef typename __if_type::__type __type; | |
4353 | }; | |
4354 | ||
4355 | template<> | |
4356 | struct __add_unsigned<char> | |
4357 | { typedef unsigned char __type; }; | |
4358 | ||
4359 | template<> | |
4360 | struct __add_unsigned<signed char> | |
4361 | { typedef unsigned char __type; }; | |
4362 | ||
4363 | template<> | |
4364 | struct __add_unsigned<short> | |
4365 | { typedef unsigned short __type; }; | |
4366 | ||
4367 | template<> | |
4368 | struct __add_unsigned<int> | |
4369 | { typedef unsigned int __type; }; | |
4370 | ||
4371 | template<> | |
4372 | struct __add_unsigned<long> | |
4373 | { typedef unsigned long __type; }; | |
4374 | ||
4375 | template<> | |
4376 | struct __add_unsigned<long long> | |
4377 | { typedef unsigned long long __type; }; | |
4378 | ||
4379 | ||
4380 | template<> | |
4381 | struct __add_unsigned<bool>; | |
4382 | ||
4383 | template<> | |
4384 | struct __add_unsigned<wchar_t>; | |
4385 | ||
4386 | ||
4387 | ||
4388 | template<typename _Tp> | |
4389 | struct __remove_unsigned | |
4390 | { | |
4391 | private: | |
4392 | typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; | |
4393 | ||
4394 | public: | |
4395 | typedef typename __if_type::__type __type; | |
4396 | }; | |
4397 | ||
4398 | template<> | |
4399 | struct __remove_unsigned<char> | |
4400 | { typedef signed char __type; }; | |
4401 | ||
4402 | template<> | |
4403 | struct __remove_unsigned<unsigned char> | |
4404 | { typedef signed char __type; }; | |
4405 | ||
4406 | template<> | |
4407 | struct __remove_unsigned<unsigned short> | |
4408 | { typedef short __type; }; | |
4409 | ||
4410 | template<> | |
4411 | struct __remove_unsigned<unsigned int> | |
4412 | { typedef int __type; }; | |
4413 | ||
4414 | template<> | |
4415 | struct __remove_unsigned<unsigned long> | |
4416 | { typedef long __type; }; | |
4417 | ||
4418 | template<> | |
4419 | struct __remove_unsigned<unsigned long long> | |
4420 | { typedef long long __type; }; | |
4421 | ||
4422 | ||
4423 | template<> | |
4424 | struct __remove_unsigned<bool>; | |
4425 | ||
4426 | template<> | |
4427 | struct __remove_unsigned<wchar_t>; | |
4428 | ||
4429 | ||
4430 | ||
4431 | template<typename _Type> | |
4432 | inline bool | |
4433 | __is_null_pointer(_Type* __ptr) | |
4434 | { return __ptr == 0; } | |
4435 | ||
4436 | template<typename _Type> | |
4437 | inline bool | |
4438 | __is_null_pointer(_Type) | |
4439 | { return false; } | |
4440 | ||
4441 | ||
4442 | ||
4443 | template<typename _Tp, bool = std::__is_integer<_Tp>::__value> | |
4444 | struct __promote | |
4445 | { typedef double __type; }; | |
4446 | ||
4447 | template<typename _Tp> | |
4448 | struct __promote<_Tp, false> | |
4449 | { typedef _Tp __type; }; | |
4450 | ||
4451 | template<typename _Tp, typename _Up> | |
4452 | struct __promote_2 | |
4453 | { | |
4454 | private: | |
4455 | typedef typename __promote<_Tp>::__type __type1; | |
4456 | typedef typename __promote<_Up>::__type __type2; | |
4457 | ||
4458 | public: | |
4459 | typedef __typeof__(__type1() + __type2()) __type; | |
4460 | }; | |
4461 | ||
4462 | template<typename _Tp, typename _Up, typename _Vp> | |
4463 | struct __promote_3 | |
4464 | { | |
4465 | private: | |
4466 | typedef typename __promote<_Tp>::__type __type1; | |
4467 | typedef typename __promote<_Up>::__type __type2; | |
4468 | typedef typename __promote<_Vp>::__type __type3; | |
4469 | ||
4470 | public: | |
4471 | typedef __typeof__(__type1() + __type2() + __type3()) __type; | |
4472 | }; | |
4473 | ||
4474 | template<typename _Tp, typename _Up, typename _Vp, typename _Wp> | |
4475 | struct __promote_4 | |
4476 | { | |
4477 | private: | |
4478 | typedef typename __promote<_Tp>::__type __type1; | |
4479 | typedef typename __promote<_Up>::__type __type2; | |
4480 | typedef typename __promote<_Vp>::__type __type3; | |
4481 | typedef typename __promote<_Wp>::__type __type4; | |
4482 | ||
4483 | public: | |
4484 | typedef __typeof__(__type1() + __type2() + __type3() + __type4()) __type; | |
4485 | }; | |
4486 | ||
4487 | } | |
4488 | # 71 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 2 3 | |
4489 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_move.h" 1 3 | |
4490 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_move.h" 3 | |
4491 | #define _STL_MOVE_H 1 | |
4492 | # 67 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_move.h" 3 | |
4493 | #define _GLIBCXX_MOVE(_Tp) (_Tp) | |
4494 | ||
4495 | ||
4496 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
4497 | ||
4498 | ||
4499 | ||
4500 | ||
4501 | ||
4502 | ||
4503 | ||
4504 | template<typename _Tp> | |
4505 | inline void | |
4506 | swap(_Tp& __a, _Tp& __b) | |
4507 | { | |
4508 | ||
4509 | ||
4510 | ||
4511 | _Tp __tmp = (__a); | |
4512 | __a = (__b); | |
4513 | __b = (__tmp); | |
4514 | } | |
4515 | ||
4516 | } | |
4517 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 2 3 | |
4518 | ||
4519 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
4520 | # 94 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4521 | template<typename _Iterator> | |
4522 | class reverse_iterator | |
4523 | : public iterator<typename iterator_traits<_Iterator>::iterator_category, | |
4524 | typename iterator_traits<_Iterator>::value_type, | |
4525 | typename iterator_traits<_Iterator>::difference_type, | |
4526 | typename iterator_traits<_Iterator>::pointer, | |
4527 | typename iterator_traits<_Iterator>::reference> | |
4528 | { | |
4529 | protected: | |
4530 | _Iterator current; | |
4531 | ||
4532 | public: | |
4533 | typedef _Iterator iterator_type; | |
4534 | typedef typename iterator_traits<_Iterator>::difference_type | |
4535 | difference_type; | |
4536 | typedef typename iterator_traits<_Iterator>::reference reference; | |
4537 | typedef typename iterator_traits<_Iterator>::pointer pointer; | |
4538 | ||
4539 | public: | |
4540 | ||
4541 | ||
4542 | ||
4543 | ||
4544 | ||
4545 | ||
4546 | reverse_iterator() : current() { } | |
4547 | ||
4548 | ||
4549 | ||
4550 | ||
4551 | explicit | |
4552 | reverse_iterator(iterator_type __x) : current(__x) { } | |
4553 | ||
4554 | ||
4555 | ||
4556 | ||
4557 | reverse_iterator(const reverse_iterator& __x) | |
4558 | : current(__x.current) { } | |
4559 | ||
4560 | ||
4561 | ||
4562 | ||
4563 | ||
4564 | template<typename _Iter> | |
4565 | reverse_iterator(const reverse_iterator<_Iter>& __x) | |
4566 | : current(__x.base()) { } | |
4567 | ||
4568 | ||
4569 | ||
4570 | ||
4571 | iterator_type | |
4572 | base() const | |
4573 | { return current; } | |
4574 | ||
4575 | ||
4576 | ||
4577 | ||
4578 | ||
4579 | ||
4580 | reference | |
4581 | operator*() const | |
4582 | { | |
4583 | _Iterator __tmp = current; | |
4584 | return *--__tmp; | |
4585 | } | |
4586 | ||
4587 | ||
4588 | ||
4589 | ||
4590 | ||
4591 | ||
4592 | pointer | |
4593 | operator->() const | |
4594 | { return &(operator*()); } | |
4595 | ||
4596 | ||
4597 | ||
4598 | ||
4599 | ||
4600 | ||
4601 | reverse_iterator& | |
4602 | operator++() | |
4603 | { | |
4604 | --current; | |
4605 | return *this; | |
4606 | } | |
4607 | ||
4608 | ||
4609 | ||
4610 | ||
4611 | ||
4612 | ||
4613 | reverse_iterator | |
4614 | operator++(int) | |
4615 | { | |
4616 | reverse_iterator __tmp = *this; | |
4617 | --current; | |
4618 | return __tmp; | |
4619 | } | |
4620 | ||
4621 | ||
4622 | ||
4623 | ||
4624 | ||
4625 | ||
4626 | reverse_iterator& | |
4627 | operator--() | |
4628 | { | |
4629 | ++current; | |
4630 | return *this; | |
4631 | } | |
4632 | ||
4633 | ||
4634 | ||
4635 | ||
4636 | ||
4637 | ||
4638 | reverse_iterator | |
4639 | operator--(int) | |
4640 | { | |
4641 | reverse_iterator __tmp = *this; | |
4642 | ++current; | |
4643 | return __tmp; | |
4644 | } | |
4645 | ||
4646 | ||
4647 | ||
4648 | ||
4649 | ||
4650 | ||
4651 | reverse_iterator | |
4652 | operator+(difference_type __n) const | |
4653 | { return reverse_iterator(current - __n); } | |
4654 | ||
4655 | ||
4656 | ||
4657 | ||
4658 | ||
4659 | ||
4660 | reverse_iterator& | |
4661 | operator+=(difference_type __n) | |
4662 | { | |
4663 | current -= __n; | |
4664 | return *this; | |
4665 | } | |
4666 | ||
4667 | ||
4668 | ||
4669 | ||
4670 | ||
4671 | ||
4672 | reverse_iterator | |
4673 | operator-(difference_type __n) const | |
4674 | { return reverse_iterator(current + __n); } | |
4675 | ||
4676 | ||
4677 | ||
4678 | ||
4679 | ||
4680 | ||
4681 | reverse_iterator& | |
4682 | operator-=(difference_type __n) | |
4683 | { | |
4684 | current += __n; | |
4685 | return *this; | |
4686 | } | |
4687 | ||
4688 | ||
4689 | ||
4690 | ||
4691 | ||
4692 | ||
4693 | reference | |
4694 | operator[](difference_type __n) const | |
4695 | { return *(*this + __n); } | |
4696 | }; | |
4697 | # 281 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4698 | template<typename _Iterator> | |
4699 | inline bool | |
4700 | operator==(const reverse_iterator<_Iterator>& __x, | |
4701 | const reverse_iterator<_Iterator>& __y) | |
4702 | { return __x.base() == __y.base(); } | |
4703 | ||
4704 | template<typename _Iterator> | |
4705 | inline bool | |
4706 | operator<(const reverse_iterator<_Iterator>& __x, | |
4707 | const reverse_iterator<_Iterator>& __y) | |
4708 | { return __y.base() < __x.base(); } | |
4709 | ||
4710 | template<typename _Iterator> | |
4711 | inline bool | |
4712 | operator!=(const reverse_iterator<_Iterator>& __x, | |
4713 | const reverse_iterator<_Iterator>& __y) | |
4714 | { return !(__x == __y); } | |
4715 | ||
4716 | template<typename _Iterator> | |
4717 | inline bool | |
4718 | operator>(const reverse_iterator<_Iterator>& __x, | |
4719 | const reverse_iterator<_Iterator>& __y) | |
4720 | { return __y < __x; } | |
4721 | ||
4722 | template<typename _Iterator> | |
4723 | inline bool | |
4724 | operator<=(const reverse_iterator<_Iterator>& __x, | |
4725 | const reverse_iterator<_Iterator>& __y) | |
4726 | { return !(__y < __x); } | |
4727 | ||
4728 | template<typename _Iterator> | |
4729 | inline bool | |
4730 | operator>=(const reverse_iterator<_Iterator>& __x, | |
4731 | const reverse_iterator<_Iterator>& __y) | |
4732 | { return !(__x < __y); } | |
4733 | ||
4734 | template<typename _Iterator> | |
4735 | inline typename reverse_iterator<_Iterator>::difference_type | |
4736 | operator-(const reverse_iterator<_Iterator>& __x, | |
4737 | const reverse_iterator<_Iterator>& __y) | |
4738 | { return __y.base() - __x.base(); } | |
4739 | ||
4740 | template<typename _Iterator> | |
4741 | inline reverse_iterator<_Iterator> | |
4742 | operator+(typename reverse_iterator<_Iterator>::difference_type __n, | |
4743 | const reverse_iterator<_Iterator>& __x) | |
4744 | { return reverse_iterator<_Iterator>(__x.base() - __n); } | |
4745 | ||
4746 | ||
4747 | ||
4748 | template<typename _IteratorL, typename _IteratorR> | |
4749 | inline bool | |
4750 | operator==(const reverse_iterator<_IteratorL>& __x, | |
4751 | const reverse_iterator<_IteratorR>& __y) | |
4752 | { return __x.base() == __y.base(); } | |
4753 | ||
4754 | template<typename _IteratorL, typename _IteratorR> | |
4755 | inline bool | |
4756 | operator<(const reverse_iterator<_IteratorL>& __x, | |
4757 | const reverse_iterator<_IteratorR>& __y) | |
4758 | { return __y.base() < __x.base(); } | |
4759 | ||
4760 | template<typename _IteratorL, typename _IteratorR> | |
4761 | inline bool | |
4762 | operator!=(const reverse_iterator<_IteratorL>& __x, | |
4763 | const reverse_iterator<_IteratorR>& __y) | |
4764 | { return !(__x == __y); } | |
4765 | ||
4766 | template<typename _IteratorL, typename _IteratorR> | |
4767 | inline bool | |
4768 | operator>(const reverse_iterator<_IteratorL>& __x, | |
4769 | const reverse_iterator<_IteratorR>& __y) | |
4770 | { return __y < __x; } | |
4771 | ||
4772 | template<typename _IteratorL, typename _IteratorR> | |
4773 | inline bool | |
4774 | operator<=(const reverse_iterator<_IteratorL>& __x, | |
4775 | const reverse_iterator<_IteratorR>& __y) | |
4776 | { return !(__y < __x); } | |
4777 | ||
4778 | template<typename _IteratorL, typename _IteratorR> | |
4779 | inline bool | |
4780 | operator>=(const reverse_iterator<_IteratorL>& __x, | |
4781 | const reverse_iterator<_IteratorR>& __y) | |
4782 | { return !(__x < __y); } | |
4783 | ||
4784 | template<typename _IteratorL, typename _IteratorR> | |
4785 | inline typename reverse_iterator<_IteratorL>::difference_type | |
4786 | operator-(const reverse_iterator<_IteratorL>& __x, | |
4787 | const reverse_iterator<_IteratorR>& __y) | |
4788 | { return __y.base() - __x.base(); } | |
4789 | # 385 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4790 | template<typename _Container> | |
4791 | class back_insert_iterator | |
4792 | : public iterator<output_iterator_tag, void, void, void, void> | |
4793 | { | |
4794 | protected: | |
4795 | _Container* container; | |
4796 | ||
4797 | public: | |
4798 | ||
4799 | typedef _Container container_type; | |
4800 | ||
4801 | ||
4802 | explicit | |
4803 | back_insert_iterator(_Container& __x) : container(&__x) { } | |
4804 | # 411 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4805 | back_insert_iterator& | |
4806 | operator=(typename _Container::const_reference __value) | |
4807 | { | |
4808 | container->push_back(__value); | |
4809 | return *this; | |
4810 | } | |
4811 | # 428 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4812 | back_insert_iterator& | |
4813 | operator*() | |
4814 | { return *this; } | |
4815 | ||
4816 | ||
4817 | back_insert_iterator& | |
4818 | operator++() | |
4819 | { return *this; } | |
4820 | ||
4821 | ||
4822 | back_insert_iterator | |
4823 | operator++(int) | |
4824 | { return *this; } | |
4825 | }; | |
4826 | # 454 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4827 | template<typename _Container> | |
4828 | inline back_insert_iterator<_Container> | |
4829 | back_inserter(_Container& __x) | |
4830 | { return back_insert_iterator<_Container>(__x); } | |
4831 | # 469 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4832 | template<typename _Container> | |
4833 | class front_insert_iterator | |
4834 | : public iterator<output_iterator_tag, void, void, void, void> | |
4835 | { | |
4836 | protected: | |
4837 | _Container* container; | |
4838 | ||
4839 | public: | |
4840 | ||
4841 | typedef _Container container_type; | |
4842 | ||
4843 | ||
4844 | explicit front_insert_iterator(_Container& __x) : container(&__x) { } | |
4845 | # 494 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4846 | front_insert_iterator& | |
4847 | operator=(typename _Container::const_reference __value) | |
4848 | { | |
4849 | container->push_front(__value); | |
4850 | return *this; | |
4851 | } | |
4852 | # 511 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4853 | front_insert_iterator& | |
4854 | operator*() | |
4855 | { return *this; } | |
4856 | ||
4857 | ||
4858 | front_insert_iterator& | |
4859 | operator++() | |
4860 | { return *this; } | |
4861 | ||
4862 | ||
4863 | front_insert_iterator | |
4864 | operator++(int) | |
4865 | { return *this; } | |
4866 | }; | |
4867 | # 537 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4868 | template<typename _Container> | |
4869 | inline front_insert_iterator<_Container> | |
4870 | front_inserter(_Container& __x) | |
4871 | { return front_insert_iterator<_Container>(__x); } | |
4872 | # 556 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4873 | template<typename _Container> | |
4874 | class insert_iterator | |
4875 | : public iterator<output_iterator_tag, void, void, void, void> | |
4876 | { | |
4877 | protected: | |
4878 | _Container* container; | |
4879 | typename _Container::iterator iter; | |
4880 | ||
4881 | public: | |
4882 | ||
4883 | typedef _Container container_type; | |
4884 | ||
4885 | ||
4886 | ||
4887 | ||
4888 | ||
4889 | insert_iterator(_Container& __x, typename _Container::iterator __i) | |
4890 | : container(&__x), iter(__i) {} | |
4891 | # 598 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4892 | insert_iterator& | |
4893 | operator=(typename _Container::const_reference __value) | |
4894 | { | |
4895 | iter = container->insert(iter, __value); | |
4896 | ++iter; | |
4897 | return *this; | |
4898 | } | |
4899 | # 617 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4900 | insert_iterator& | |
4901 | operator*() | |
4902 | { return *this; } | |
4903 | ||
4904 | ||
4905 | insert_iterator& | |
4906 | operator++() | |
4907 | { return *this; } | |
4908 | ||
4909 | ||
4910 | insert_iterator& | |
4911 | operator++(int) | |
4912 | { return *this; } | |
4913 | }; | |
4914 | # 643 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4915 | template<typename _Container, typename _Iterator> | |
4916 | inline insert_iterator<_Container> | |
4917 | inserter(_Container& __x, _Iterator __i) | |
4918 | { | |
4919 | return insert_iterator<_Container>(__x, | |
4920 | typename _Container::iterator(__i)); | |
4921 | } | |
4922 | ||
4923 | } | |
4924 | ||
4925 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
4926 | # 662 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
4927 | using std::iterator_traits; | |
4928 | using std::iterator; | |
4929 | template<typename _Iterator, typename _Container> | |
4930 | class __normal_iterator | |
4931 | { | |
4932 | protected: | |
4933 | _Iterator _M_current; | |
4934 | ||
4935 | public: | |
4936 | typedef _Iterator iterator_type; | |
4937 | typedef typename iterator_traits<_Iterator>::iterator_category | |
4938 | iterator_category; | |
4939 | typedef typename iterator_traits<_Iterator>::value_type value_type; | |
4940 | typedef typename iterator_traits<_Iterator>::difference_type | |
4941 | difference_type; | |
4942 | typedef typename iterator_traits<_Iterator>::reference reference; | |
4943 | typedef typename iterator_traits<_Iterator>::pointer pointer; | |
4944 | ||
4945 | __normal_iterator() : _M_current(_Iterator()) { } | |
4946 | ||
4947 | explicit | |
4948 | __normal_iterator(const _Iterator& __i) : _M_current(__i) { } | |
4949 | ||
4950 | ||
4951 | template<typename _Iter> | |
4952 | __normal_iterator(const __normal_iterator<_Iter, | |
4953 | typename __enable_if< | |
4954 | (std::__are_same<_Iter, typename _Container::pointer>::__value), | |
4955 | _Container>::__type>& __i) | |
4956 | : _M_current(__i.base()) { } | |
4957 | ||
4958 | ||
4959 | reference | |
4960 | operator*() const | |
4961 | { return *_M_current; } | |
4962 | ||
4963 | pointer | |
4964 | operator->() const | |
4965 | { return _M_current; } | |
4966 | ||
4967 | __normal_iterator& | |
4968 | operator++() | |
4969 | { | |
4970 | ++_M_current; | |
4971 | return *this; | |
4972 | } | |
4973 | ||
4974 | __normal_iterator | |
4975 | operator++(int) | |
4976 | { return __normal_iterator(_M_current++); } | |
4977 | ||
4978 | ||
4979 | __normal_iterator& | |
4980 | operator--() | |
4981 | { | |
4982 | --_M_current; | |
4983 | return *this; | |
4984 | } | |
4985 | ||
4986 | __normal_iterator | |
4987 | operator--(int) | |
4988 | { return __normal_iterator(_M_current--); } | |
4989 | ||
4990 | ||
4991 | reference | |
4992 | operator[](const difference_type& __n) const | |
4993 | { return _M_current[__n]; } | |
4994 | ||
4995 | __normal_iterator& | |
4996 | operator+=(const difference_type& __n) | |
4997 | { _M_current += __n; return *this; } | |
4998 | ||
4999 | __normal_iterator | |
5000 | operator+(const difference_type& __n) const | |
5001 | { return __normal_iterator(_M_current + __n); } | |
5002 | ||
5003 | __normal_iterator& | |
5004 | operator-=(const difference_type& __n) | |
5005 | { _M_current -= __n; return *this; } | |
5006 | ||
5007 | __normal_iterator | |
5008 | operator-(const difference_type& __n) const | |
5009 | { return __normal_iterator(_M_current - __n); } | |
5010 | ||
5011 | const _Iterator& | |
5012 | base() const | |
5013 | { return _M_current; } | |
5014 | }; | |
5015 | # 760 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
5016 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
5017 | inline bool | |
5018 | operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
5019 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
5020 | { return __lhs.base() == __rhs.base(); } | |
5021 | ||
5022 | template<typename _Iterator, typename _Container> | |
5023 | inline bool | |
5024 | operator==(const __normal_iterator<_Iterator, _Container>& __lhs, | |
5025 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
5026 | { return __lhs.base() == __rhs.base(); } | |
5027 | ||
5028 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
5029 | inline bool | |
5030 | operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
5031 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
5032 | { return __lhs.base() != __rhs.base(); } | |
5033 | ||
5034 | template<typename _Iterator, typename _Container> | |
5035 | inline bool | |
5036 | operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, | |
5037 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
5038 | { return __lhs.base() != __rhs.base(); } | |
5039 | ||
5040 | ||
5041 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
5042 | inline bool | |
5043 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
5044 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
5045 | { return __lhs.base() < __rhs.base(); } | |
5046 | ||
5047 | template<typename _Iterator, typename _Container> | |
5048 | inline bool | |
5049 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs, | |
5050 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
5051 | { return __lhs.base() < __rhs.base(); } | |
5052 | ||
5053 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
5054 | inline bool | |
5055 | operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
5056 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
5057 | { return __lhs.base() > __rhs.base(); } | |
5058 | ||
5059 | template<typename _Iterator, typename _Container> | |
5060 | inline bool | |
5061 | operator>(const __normal_iterator<_Iterator, _Container>& __lhs, | |
5062 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
5063 | { return __lhs.base() > __rhs.base(); } | |
5064 | ||
5065 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
5066 | inline bool | |
5067 | operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
5068 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
5069 | { return __lhs.base() <= __rhs.base(); } | |
5070 | ||
5071 | template<typename _Iterator, typename _Container> | |
5072 | inline bool | |
5073 | operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, | |
5074 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
5075 | { return __lhs.base() <= __rhs.base(); } | |
5076 | ||
5077 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
5078 | inline bool | |
5079 | operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
5080 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
5081 | { return __lhs.base() >= __rhs.base(); } | |
5082 | ||
5083 | template<typename _Iterator, typename _Container> | |
5084 | inline bool | |
5085 | operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, | |
5086 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
5087 | { return __lhs.base() >= __rhs.base(); } | |
5088 | ||
5089 | ||
5090 | ||
5091 | ||
5092 | ||
5093 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
5094 | inline typename __normal_iterator<_IteratorL, _Container>::difference_type | |
5095 | operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
5096 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
5097 | { return __lhs.base() - __rhs.base(); } | |
5098 | ||
5099 | template<typename _Iterator, typename _Container> | |
5100 | inline typename __normal_iterator<_Iterator, _Container>::difference_type | |
5101 | operator-(const __normal_iterator<_Iterator, _Container>& __lhs, | |
5102 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
5103 | { return __lhs.base() - __rhs.base(); } | |
5104 | ||
5105 | template<typename _Iterator, typename _Container> | |
5106 | inline __normal_iterator<_Iterator, _Container> | |
5107 | operator+(typename __normal_iterator<_Iterator, _Container>::difference_type | |
5108 | __n, const __normal_iterator<_Iterator, _Container>& __i) | |
5109 | { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } | |
5110 | ||
5111 | } | |
5112 | # 1025 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_iterator.h" 3 | |
5113 | #define _GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) (_Iter) | |
5114 | # 70 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
5115 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 1 3 | |
5116 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
5117 | #define _GLIBCXX_OSTREAM 1 | |
5118 | ||
5119 | ||
5120 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
5121 | ||
5122 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 1 3 | |
5123 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 3 | |
5124 | #define _GLIBCXX_IOS 1 | |
5125 | ||
5126 | ||
5127 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 3 | |
5128 | ||
5129 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iosfwd" 1 3 | |
5130 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iosfwd" 3 | |
5131 | #define _GLIBCXX_IOSFWD 1 | |
5132 | ||
5133 | ||
5134 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iosfwd" 3 | |
5135 | ||
5136 | ||
5137 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stringfwd.h" 1 3 | |
5138 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stringfwd.h" 3 | |
5139 | #define _STRINGFWD_H 1 | |
5140 | ||
5141 | ||
5142 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stringfwd.h" 3 | |
5143 | ||
5144 | ||
5145 | ||
5146 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
5147 | ||
5148 | template<typename _Alloc> | |
5149 | class allocator; | |
5150 | ||
5151 | template<class _CharT> | |
5152 | struct char_traits; | |
5153 | ||
5154 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
5155 | typename _Alloc = allocator<_CharT> > | |
5156 | class basic_string; | |
5157 | ||
5158 | template<> struct char_traits<char>; | |
5159 | ||
5160 | typedef basic_string<char> string; | |
5161 | ||
5162 | ||
5163 | ||
5164 | ||
5165 | ||
5166 | ||
5167 | ||
5168 | } | |
5169 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iosfwd" 2 3 | |
5170 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 1 3 | |
5171 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 3 | |
5172 | #define _GLIBCXX_POSTYPES_H 1 | |
5173 | ||
5174 | ||
5175 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 3 | |
5176 | ||
5177 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 1 3 | |
5178 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 3 | |
5179 | ||
5180 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 3 | |
5181 | ||
5182 | ||
5183 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
5184 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
5185 | ||
5186 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
5187 | ||
5188 | ||
5189 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
5190 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
5191 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 2 3 | |
5192 | ||
5193 | ||
5194 | ||
5195 | ||
5196 | ||
5197 | ||
5198 | #define _GLIBCXX_CWCHAR 1 | |
5199 | ||
5200 | ||
5201 | ||
5202 | ||
5203 | extern "C" | |
5204 | { | |
5205 | typedef struct | |
5206 | { | |
5207 | int __fill[6]; | |
5208 | } mbstate_t; | |
5209 | } | |
5210 | ||
5211 | ||
5212 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
5213 | ||
5214 | using ::mbstate_t; | |
5215 | ||
5216 | } | |
5217 | ||
5218 | ||
5219 | #undef btowc | |
5220 | #undef fgetwc | |
5221 | #undef fgetws | |
5222 | #undef fputwc | |
5223 | #undef fputws | |
5224 | #undef fwide | |
5225 | #undef fwprintf | |
5226 | #undef fwscanf | |
5227 | #undef getwc | |
5228 | #undef getwchar | |
5229 | #undef mbrlen | |
5230 | #undef mbrtowc | |
5231 | #undef mbsinit | |
5232 | #undef mbsrtowcs | |
5233 | #undef putwc | |
5234 | #undef putwchar | |
5235 | #undef swprintf | |
5236 | #undef swscanf | |
5237 | #undef ungetwc | |
5238 | #undef vfwprintf | |
5239 | ||
5240 | ||
5241 | ||
5242 | #undef vswprintf | |
5243 | ||
5244 | ||
5245 | ||
5246 | #undef vwprintf | |
5247 | ||
5248 | ||
5249 | ||
5250 | #undef wcrtomb | |
5251 | #undef wcscat | |
5252 | #undef wcschr | |
5253 | #undef wcscmp | |
5254 | #undef wcscoll | |
5255 | #undef wcscpy | |
5256 | #undef wcscspn | |
5257 | #undef wcsftime | |
5258 | #undef wcslen | |
5259 | #undef wcsncat | |
5260 | #undef wcsncmp | |
5261 | #undef wcsncpy | |
5262 | #undef wcspbrk | |
5263 | #undef wcsrchr | |
5264 | #undef wcsrtombs | |
5265 | #undef wcsspn | |
5266 | #undef wcsstr | |
5267 | #undef wcstod | |
5268 | ||
5269 | ||
5270 | ||
5271 | #undef wcstok | |
5272 | #undef wcstol | |
5273 | #undef wcstoul | |
5274 | #undef wcsxfrm | |
5275 | #undef wctob | |
5276 | #undef wmemchr | |
5277 | #undef wmemcmp | |
5278 | #undef wmemcpy | |
5279 | #undef wmemmove | |
5280 | #undef wmemset | |
5281 | #undef wprintf | |
5282 | #undef wscanf | |
5283 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 2 3 | |
5284 | ||
5285 | ||
5286 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdint.h" 1 3 4 | |
5287 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdint.h" 3 4 | |
5288 | #define _STDINT_H 1 | |
5289 | ||
5290 | ||
5291 | ||
5292 | ||
5293 | ||
5294 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/wordsize.h" 1 3 4 | |
5295 | # 19 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/wordsize.h" 3 4 | |
5296 | #define __WORDSIZE 32 | |
5297 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdint.h" 2 3 4 | |
5298 | ||
5299 | ||
5300 | ||
5301 | ||
5302 | ||
5303 | ||
5304 | ||
5305 | #define __int8_t_defined | |
5306 | typedef signed char int8_t; | |
5307 | typedef short int int16_t; | |
5308 | typedef int int32_t; | |
5309 | ||
5310 | ||
5311 | ||
5312 | __extension__ | |
5313 | typedef long long int int64_t; | |
5314 | ||
5315 | ||
5316 | ||
5317 | ||
5318 | typedef unsigned char uint8_t; | |
5319 | typedef unsigned short int uint16_t; | |
5320 | ||
5321 | typedef unsigned int uint32_t; | |
5322 | #define __uint32_t_defined | |
5323 | ||
5324 | ||
5325 | ||
5326 | ||
5327 | __extension__ | |
5328 | typedef unsigned long long int uint64_t; | |
5329 | ||
5330 | ||
5331 | ||
5332 | ||
5333 | ||
5334 | ||
5335 | typedef signed char int_least8_t; | |
5336 | typedef short int int_least16_t; | |
5337 | typedef int int_least32_t; | |
5338 | ||
5339 | ||
5340 | ||
5341 | __extension__ | |
5342 | typedef long long int int_least64_t; | |
5343 | ||
5344 | ||
5345 | ||
5346 | typedef unsigned char uint_least8_t; | |
5347 | typedef unsigned short int uint_least16_t; | |
5348 | typedef unsigned int uint_least32_t; | |
5349 | ||
5350 | ||
5351 | ||
5352 | __extension__ | |
5353 | typedef unsigned long long int uint_least64_t; | |
5354 | ||
5355 | ||
5356 | ||
5357 | ||
5358 | ||
5359 | ||
5360 | typedef signed char int_fast8_t; | |
5361 | ||
5362 | ||
5363 | ||
5364 | ||
5365 | ||
5366 | typedef int int_fast16_t; | |
5367 | typedef int int_fast32_t; | |
5368 | __extension__ | |
5369 | typedef long long int int_fast64_t; | |
5370 | ||
5371 | ||
5372 | ||
5373 | typedef unsigned char uint_fast8_t; | |
5374 | ||
5375 | ||
5376 | ||
5377 | ||
5378 | ||
5379 | typedef unsigned int uint_fast16_t; | |
5380 | typedef unsigned int uint_fast32_t; | |
5381 | __extension__ | |
5382 | typedef unsigned long long int uint_fast64_t; | |
5383 | # 128 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdint.h" 3 4 | |
5384 | typedef int intptr_t; | |
5385 | #define __intptr_t_defined | |
5386 | ||
5387 | typedef unsigned int uintptr_t; | |
5388 | # 140 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdint.h" 3 4 | |
5389 | __extension__ | |
5390 | typedef long long int intmax_t; | |
5391 | __extension__ | |
5392 | typedef unsigned long long int uintmax_t; | |
5393 | # 51 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 2 3 | |
5394 | ||
5395 | ||
5396 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
5397 | # 71 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 3 | |
5398 | typedef int64_t streamoff; | |
5399 | ||
5400 | ||
5401 | ||
5402 | ||
5403 | ||
5404 | typedef ptrdiff_t streamsize; | |
5405 | # 90 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 3 | |
5406 | template<typename _StateT> | |
5407 | class fpos | |
5408 | { | |
5409 | private: | |
5410 | streamoff _M_off; | |
5411 | _StateT _M_state; | |
5412 | ||
5413 | public: | |
5414 | ||
5415 | ||
5416 | ||
5417 | ||
5418 | fpos() | |
5419 | : _M_off(0), _M_state() { } | |
5420 | # 112 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/postypes.h" 3 | |
5421 | fpos(streamoff __off) | |
5422 | : _M_off(__off), _M_state() { } | |
5423 | ||
5424 | ||
5425 | operator streamoff() const { return _M_off; } | |
5426 | ||
5427 | ||
5428 | void | |
5429 | state(_StateT __st) | |
5430 | { _M_state = __st; } | |
5431 | ||
5432 | ||
5433 | _StateT | |
5434 | state() const | |
5435 | { return _M_state; } | |
5436 | ||
5437 | ||
5438 | ||
5439 | ||
5440 | ||
5441 | fpos& | |
5442 | operator+=(streamoff __off) | |
5443 | { | |
5444 | _M_off += __off; | |
5445 | return *this; | |
5446 | } | |
5447 | ||
5448 | ||
5449 | ||
5450 | ||
5451 | ||
5452 | fpos& | |
5453 | operator-=(streamoff __off) | |
5454 | { | |
5455 | _M_off -= __off; | |
5456 | return *this; | |
5457 | } | |
5458 | ||
5459 | ||
5460 | ||
5461 | ||
5462 | ||
5463 | ||
5464 | ||
5465 | fpos | |
5466 | operator+(streamoff __off) const | |
5467 | { | |
5468 | fpos __pos(*this); | |
5469 | __pos += __off; | |
5470 | return __pos; | |
5471 | } | |
5472 | ||
5473 | ||
5474 | ||
5475 | ||
5476 | ||
5477 | ||
5478 | ||
5479 | fpos | |
5480 | operator-(streamoff __off) const | |
5481 | { | |
5482 | fpos __pos(*this); | |
5483 | __pos -= __off; | |
5484 | return __pos; | |
5485 | } | |
5486 | ||
5487 | ||
5488 | ||
5489 | ||
5490 | ||
5491 | ||
5492 | streamoff | |
5493 | operator-(const fpos& __other) const | |
5494 | { return _M_off - __other._M_off; } | |
5495 | }; | |
5496 | ||
5497 | ||
5498 | ||
5499 | ||
5500 | ||
5501 | ||
5502 | template<typename _StateT> | |
5503 | inline bool | |
5504 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | |
5505 | { return streamoff(__lhs) == streamoff(__rhs); } | |
5506 | ||
5507 | template<typename _StateT> | |
5508 | inline bool | |
5509 | operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | |
5510 | { return streamoff(__lhs) != streamoff(__rhs); } | |
5511 | ||
5512 | ||
5513 | ||
5514 | ||
5515 | ||
5516 | typedef fpos<mbstate_t> streampos; | |
5517 | ||
5518 | typedef fpos<mbstate_t> wstreampos; | |
5519 | ||
5520 | } | |
5521 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iosfwd" 2 3 | |
5522 | ||
5523 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
5524 | ||
5525 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5526 | class basic_ios; | |
5527 | ||
5528 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5529 | class basic_streambuf; | |
5530 | ||
5531 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5532 | class basic_istream; | |
5533 | ||
5534 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5535 | class basic_ostream; | |
5536 | ||
5537 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5538 | class basic_iostream; | |
5539 | ||
5540 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
5541 | typename _Alloc = allocator<_CharT> > | |
5542 | class basic_stringbuf; | |
5543 | ||
5544 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
5545 | typename _Alloc = allocator<_CharT> > | |
5546 | class basic_istringstream; | |
5547 | ||
5548 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
5549 | typename _Alloc = allocator<_CharT> > | |
5550 | class basic_ostringstream; | |
5551 | ||
5552 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
5553 | typename _Alloc = allocator<_CharT> > | |
5554 | class basic_stringstream; | |
5555 | ||
5556 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5557 | class basic_filebuf; | |
5558 | ||
5559 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5560 | class basic_ifstream; | |
5561 | ||
5562 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5563 | class basic_ofstream; | |
5564 | ||
5565 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5566 | class basic_fstream; | |
5567 | ||
5568 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5569 | class istreambuf_iterator; | |
5570 | ||
5571 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
5572 | class ostreambuf_iterator; | |
5573 | ||
5574 | ||
5575 | ||
5576 | class ios_base; | |
5577 | # 132 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iosfwd" 3 | |
5578 | typedef basic_ios<char> ios; | |
5579 | typedef basic_streambuf<char> streambuf; | |
5580 | typedef basic_istream<char> istream; | |
5581 | typedef basic_ostream<char> ostream; | |
5582 | typedef basic_iostream<char> iostream; | |
5583 | typedef basic_stringbuf<char> stringbuf; | |
5584 | typedef basic_istringstream<char> istringstream; | |
5585 | typedef basic_ostringstream<char> ostringstream; | |
5586 | typedef basic_stringstream<char> stringstream; | |
5587 | typedef basic_filebuf<char> filebuf; | |
5588 | typedef basic_ifstream<char> ifstream; | |
5589 | typedef basic_ofstream<char> ofstream; | |
5590 | typedef basic_fstream<char> fstream; | |
5591 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iosfwd" 3 | |
5592 | } | |
5593 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 2 3 | |
5594 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception" 1 3 | |
5595 | # 38 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception" 3 | |
5596 | #define __EXCEPTION__ | |
5597 | ||
5598 | #pragma GCC visibility push(default) | |
5599 | ||
5600 | ||
5601 | ||
5602 | extern "C++" { | |
5603 | ||
5604 | namespace std | |
5605 | { | |
5606 | # 56 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception" 3 | |
5607 | class exception | |
5608 | { | |
5609 | public: | |
5610 | exception() throw() { } | |
5611 | virtual ~exception() throw(); | |
5612 | ||
5613 | ||
5614 | ||
5615 | virtual const char* what() const throw(); | |
5616 | }; | |
5617 | ||
5618 | ||
5619 | ||
5620 | class bad_exception : public exception | |
5621 | { | |
5622 | public: | |
5623 | bad_exception() throw() { } | |
5624 | ||
5625 | ||
5626 | ||
5627 | virtual ~bad_exception() throw(); | |
5628 | ||
5629 | ||
5630 | virtual const char* what() const throw(); | |
5631 | }; | |
5632 | ||
5633 | ||
5634 | typedef void (*terminate_handler) (); | |
5635 | ||
5636 | ||
5637 | typedef void (*unexpected_handler) (); | |
5638 | ||
5639 | ||
5640 | terminate_handler set_terminate(terminate_handler) throw(); | |
5641 | ||
5642 | ||
5643 | ||
5644 | void terminate() __attribute__ ((__noreturn__)); | |
5645 | ||
5646 | ||
5647 | unexpected_handler set_unexpected(unexpected_handler) throw(); | |
5648 | ||
5649 | ||
5650 | ||
5651 | void unexpected() __attribute__ ((__noreturn__)); | |
5652 | # 112 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception" 3 | |
5653 | bool uncaught_exception() throw(); | |
5654 | } | |
5655 | ||
5656 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
5657 | # 127 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception" 3 | |
5658 | void __verbose_terminate_handler (); | |
5659 | ||
5660 | } | |
5661 | ||
5662 | } | |
5663 | ||
5664 | #pragma GCC visibility pop | |
5665 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 2 3 | |
5666 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 1 3 | |
5667 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 3 | |
5668 | #define _CHAR_TRAITS_H 1 | |
5669 | ||
5670 | ||
5671 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 3 | |
5672 | ||
5673 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 1 3 | |
5674 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
5675 | #define _STL_ALGOBASE_H 1 | |
5676 | ||
5677 | ||
5678 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
5679 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
5680 | ||
5681 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
5682 | ||
5683 | ||
5684 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
5685 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
5686 | # 67 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 2 3 | |
5687 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/functexcept.h" 1 3 | |
5688 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/functexcept.h" 3 | |
5689 | #define _FUNCTEXCEPT_H 1 | |
5690 | ||
5691 | ||
5692 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception_defines.h" 1 3 | |
5693 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception_defines.h" 3 | |
5694 | #define _EXCEPTION_DEFINES_H 1 | |
5695 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/exception_defines.h" 3 | |
5696 | #define __throw_exception_again throw | |
5697 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/functexcept.h" 2 3 | |
5698 | ||
5699 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
5700 | ||
5701 | ||
5702 | void | |
5703 | __throw_bad_exception(void) __attribute__((__noreturn__)); | |
5704 | ||
5705 | ||
5706 | void | |
5707 | __throw_bad_alloc(void) __attribute__((__noreturn__)); | |
5708 | ||
5709 | ||
5710 | void | |
5711 | __throw_bad_cast(void) __attribute__((__noreturn__)); | |
5712 | ||
5713 | void | |
5714 | __throw_bad_typeid(void) __attribute__((__noreturn__)); | |
5715 | ||
5716 | ||
5717 | void | |
5718 | __throw_logic_error(const char*) __attribute__((__noreturn__)); | |
5719 | ||
5720 | void | |
5721 | __throw_domain_error(const char*) __attribute__((__noreturn__)); | |
5722 | ||
5723 | void | |
5724 | __throw_invalid_argument(const char*) __attribute__((__noreturn__)); | |
5725 | ||
5726 | void | |
5727 | __throw_length_error(const char*) __attribute__((__noreturn__)); | |
5728 | ||
5729 | void | |
5730 | __throw_out_of_range(const char*) __attribute__((__noreturn__)); | |
5731 | ||
5732 | void | |
5733 | __throw_runtime_error(const char*) __attribute__((__noreturn__)); | |
5734 | ||
5735 | void | |
5736 | __throw_range_error(const char*) __attribute__((__noreturn__)); | |
5737 | ||
5738 | void | |
5739 | __throw_overflow_error(const char*) __attribute__((__noreturn__)); | |
5740 | ||
5741 | void | |
5742 | __throw_underflow_error(const char*) __attribute__((__noreturn__)); | |
5743 | ||
5744 | ||
5745 | void | |
5746 | __throw_ios_failure(const char*) __attribute__((__noreturn__)); | |
5747 | ||
5748 | } | |
5749 | # 68 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 2 3 | |
5750 | ||
5751 | ||
5752 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/numeric_traits.h" 1 3 | |
5753 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/numeric_traits.h" 3 | |
5754 | #define _EXT_NUMERIC_TRAITS 1 | |
5755 | ||
5756 | ||
5757 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/numeric_traits.h" 3 | |
5758 | ||
5759 | ||
5760 | ||
5761 | ||
5762 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
5763 | ||
5764 | ||
5765 | ||
5766 | #define __glibcxx_signed(_Tp) ((_Tp)(-1) < 0) | |
5767 | #define __glibcxx_digits(_Tp) (sizeof(_Tp) * __CHAR_BIT__ - __glibcxx_signed(_Tp)) | |
5768 | ||
5769 | ||
5770 | #define __glibcxx_min(_Tp) (__glibcxx_signed(_Tp) ? (_Tp)1 << __glibcxx_digits(_Tp) : (_Tp)0) | |
5771 | ||
5772 | ||
5773 | #define __glibcxx_max(_Tp) (__glibcxx_signed(_Tp) ? (((((_Tp)1 << (__glibcxx_digits(_Tp) - 1)) - 1) << 1) + 1) : ~(_Tp)0) | |
5774 | ||
5775 | ||
5776 | ||
5777 | template<typename _Value> | |
5778 | struct __numeric_traits_integer | |
5779 | { | |
5780 | ||
5781 | static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); | |
5782 | static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); | |
5783 | ||
5784 | ||
5785 | ||
5786 | static const bool __is_signed = ((_Value)(-1) < 0); | |
5787 | static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); | |
5788 | }; | |
5789 | ||
5790 | template<typename _Value> | |
5791 | const _Value __numeric_traits_integer<_Value>::__min; | |
5792 | ||
5793 | template<typename _Value> | |
5794 | const _Value __numeric_traits_integer<_Value>::__max; | |
5795 | ||
5796 | template<typename _Value> | |
5797 | const bool __numeric_traits_integer<_Value>::__is_signed; | |
5798 | ||
5799 | template<typename _Value> | |
5800 | const int __numeric_traits_integer<_Value>::__digits; | |
5801 | ||
5802 | #undef __glibcxx_signed | |
5803 | #undef __glibcxx_digits | |
5804 | #undef __glibcxx_min | |
5805 | #undef __glibcxx_max | |
5806 | ||
5807 | #define __glibcxx_floating(_Tp,_Fval,_Dval,_LDval) (std::__are_same<_Tp, float>::__value ? _Fval : std::__are_same<_Tp, double>::__value ? _Dval : _LDval) | |
5808 | ||
5809 | ||
5810 | ||
5811 | #define __glibcxx_max_digits10(_Tp) (2 + __glibcxx_floating(_Tp, __FLT_MANT_DIG__, __DBL_MANT_DIG__, __LDBL_MANT_DIG__) * 3010 / 10000) | |
5812 | ||
5813 | ||
5814 | ||
5815 | #define __glibcxx_digits10(_Tp) __glibcxx_floating(_Tp, __FLT_DIG__, __DBL_DIG__, __LDBL_DIG__) | |
5816 | ||
5817 | ||
5818 | #define __glibcxx_max_exponent10(_Tp) __glibcxx_floating(_Tp, __FLT_MAX_10_EXP__, __DBL_MAX_10_EXP__, __LDBL_MAX_10_EXP__) | |
5819 | ||
5820 | ||
5821 | ||
5822 | template<typename _Value> | |
5823 | struct __numeric_traits_floating | |
5824 | { | |
5825 | ||
5826 | static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 3010 / 10000); | |
5827 | ||
5828 | ||
5829 | static const bool __is_signed = true; | |
5830 | static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15); | |
5831 | static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308); | |
5832 | }; | |
5833 | ||
5834 | template<typename _Value> | |
5835 | const int __numeric_traits_floating<_Value>::__max_digits10; | |
5836 | ||
5837 | template<typename _Value> | |
5838 | const bool __numeric_traits_floating<_Value>::__is_signed; | |
5839 | ||
5840 | template<typename _Value> | |
5841 | const int __numeric_traits_floating<_Value>::__digits10; | |
5842 | ||
5843 | template<typename _Value> | |
5844 | const int __numeric_traits_floating<_Value>::__max_exponent10; | |
5845 | ||
5846 | template<typename _Value> | |
5847 | struct __numeric_traits | |
5848 | : public __conditional_type<std::__is_integer<_Value>::__value, | |
5849 | __numeric_traits_integer<_Value>, | |
5850 | __numeric_traits_floating<_Value> >::__type | |
5851 | { }; | |
5852 | ||
5853 | } | |
5854 | ||
5855 | #undef __glibcxx_floating | |
5856 | #undef __glibcxx_max_digits10 | |
5857 | #undef __glibcxx_digits10 | |
5858 | #undef __glibcxx_max_exponent10 | |
5859 | # 71 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 2 3 | |
5860 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_pair.h" 1 3 | |
5861 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_pair.h" 3 | |
5862 | #define _STL_PAIR_H 1 | |
5863 | ||
5864 | ||
5865 | ||
5866 | ||
5867 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
5868 | ||
5869 | ||
5870 | template<class _T1, class _T2> | |
5871 | struct pair | |
5872 | { | |
5873 | typedef _T1 first_type; | |
5874 | typedef _T2 second_type; | |
5875 | ||
5876 | _T1 first; | |
5877 | _T2 second; | |
5878 | ||
5879 | ||
5880 | ||
5881 | ||
5882 | ||
5883 | pair() | |
5884 | : first(), second() { } | |
5885 | ||
5886 | ||
5887 | pair(const _T1& __a, const _T2& __b) | |
5888 | : first(__a), second(__b) { } | |
5889 | # 103 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_pair.h" 3 | |
5890 | template<class _U1, class _U2> | |
5891 | pair(const pair<_U1, _U2>& __p) | |
5892 | : first(__p.first), | |
5893 | second(__p.second) { } | |
5894 | # 146 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_pair.h" 3 | |
5895 | }; | |
5896 | ||
5897 | ||
5898 | template<class _T1, class _T2> | |
5899 | inline bool | |
5900 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
5901 | { return __x.first == __y.first && __x.second == __y.second; } | |
5902 | ||
5903 | ||
5904 | template<class _T1, class _T2> | |
5905 | inline bool | |
5906 | operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
5907 | { return __x.first < __y.first | |
5908 | || (!(__y.first < __x.first) && __x.second < __y.second); } | |
5909 | ||
5910 | ||
5911 | template<class _T1, class _T2> | |
5912 | inline bool | |
5913 | operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
5914 | { return !(__x == __y); } | |
5915 | ||
5916 | ||
5917 | template<class _T1, class _T2> | |
5918 | inline bool | |
5919 | operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
5920 | { return __y < __x; } | |
5921 | ||
5922 | ||
5923 | template<class _T1, class _T2> | |
5924 | inline bool | |
5925 | operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
5926 | { return !(__y < __x); } | |
5927 | ||
5928 | ||
5929 | template<class _T1, class _T2> | |
5930 | inline bool | |
5931 | operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
5932 | { return !(__x < __y); } | |
5933 | # 216 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_pair.h" 3 | |
5934 | template<class _T1, class _T2> | |
5935 | inline pair<_T1, _T2> | |
5936 | make_pair(_T1 __x, _T2 __y) | |
5937 | { return pair<_T1, _T2>(__x, __y); } | |
5938 | # 262 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_pair.h" 3 | |
5939 | } | |
5940 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 2 3 | |
5941 | ||
5942 | ||
5943 | ||
5944 | ||
5945 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/debug/debug.h" 1 3 | |
5946 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/debug/debug.h" 3 | |
5947 | #define _GLIBCXX_DEBUG_MACRO_SWITCH_H 1 | |
5948 | # 52 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/debug/debug.h" 3 | |
5949 | namespace std | |
5950 | { | |
5951 | namespace __debug { } | |
5952 | } | |
5953 | ||
5954 | ||
5955 | ||
5956 | ||
5957 | namespace __gnu_debug | |
5958 | { | |
5959 | using namespace std::__debug; | |
5960 | } | |
5961 | ||
5962 | ||
5963 | ||
5964 | #define _GLIBCXX_DEBUG_ASSERT(_Condition) | |
5965 | #define _GLIBCXX_DEBUG_PEDASSERT(_Condition) | |
5966 | #define _GLIBCXX_DEBUG_ONLY(_Statement) ; | |
5967 | #define __glibcxx_requires_cond(_Cond,_Msg) | |
5968 | #define __glibcxx_requires_valid_range(_First,_Last) | |
5969 | #define __glibcxx_requires_sorted(_First,_Last) | |
5970 | #define __glibcxx_requires_sorted_pred(_First,_Last,_Pred) | |
5971 | #define __glibcxx_requires_sorted_set(_First1,_Last1,_First2) | |
5972 | #define __glibcxx_requires_sorted_set_pred(_First1,_Last1,_First2,_Pred) | |
5973 | #define __glibcxx_requires_partitioned_lower(_First,_Last,_Value) | |
5974 | #define __glibcxx_requires_partitioned_upper(_First,_Last,_Value) | |
5975 | #define __glibcxx_requires_partitioned_lower_pred(_First,_Last,_Value,_Pred) | |
5976 | #define __glibcxx_requires_partitioned_upper_pred(_First,_Last,_Value,_Pred) | |
5977 | #define __glibcxx_requires_heap(_First,_Last) | |
5978 | #define __glibcxx_requires_heap_pred(_First,_Last,_Pred) | |
5979 | #define __glibcxx_requires_nonempty() | |
5980 | #define __glibcxx_requires_string(_String) | |
5981 | #define __glibcxx_requires_string_len(_String,_Len) | |
5982 | #define __glibcxx_requires_subscript(_N) | |
5983 | # 77 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 2 3 | |
5984 | ||
5985 | ||
5986 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
5987 | ||
5988 | ||
5989 | ||
5990 | ||
5991 | template<bool _BoolType> | |
5992 | struct __iter_swap | |
5993 | { | |
5994 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
5995 | static void | |
5996 | iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) | |
5997 | { | |
5998 | typedef typename iterator_traits<_ForwardIterator1>::value_type | |
5999 | _ValueType1; | |
6000 | _ValueType1 __tmp = (*__a); | |
6001 | *__a = (*__b); | |
6002 | *__b = (__tmp); | |
6003 | } | |
6004 | }; | |
6005 | ||
6006 | template<> | |
6007 | struct __iter_swap<true> | |
6008 | { | |
6009 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
6010 | static void | |
6011 | iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) | |
6012 | { | |
6013 | swap(*__a, *__b); | |
6014 | } | |
6015 | }; | |
6016 | # 119 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6017 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
6018 | inline void | |
6019 | iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) | |
6020 | { | |
6021 | typedef typename iterator_traits<_ForwardIterator1>::value_type | |
6022 | _ValueType1; | |
6023 | typedef typename iterator_traits<_ForwardIterator2>::value_type | |
6024 | _ValueType2; | |
6025 | ||
6026 | ||
6027 | ||
6028 | ||
6029 | ||
6030 | ||
6031 | ||
6032 | ||
6033 | ||
6034 | ||
6035 | ||
6036 | typedef typename iterator_traits<_ForwardIterator1>::reference | |
6037 | _ReferenceType1; | |
6038 | typedef typename iterator_traits<_ForwardIterator2>::reference | |
6039 | _ReferenceType2; | |
6040 | std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value | |
6041 | && __are_same<_ValueType1&, _ReferenceType1>::__value | |
6042 | && __are_same<_ValueType2&, _ReferenceType2>::__value>:: | |
6043 | iter_swap(__a, __b); | |
6044 | } | |
6045 | # 159 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6046 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
6047 | _ForwardIterator2 | |
6048 | swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
6049 | _ForwardIterator2 __first2) | |
6050 | { | |
6051 | ||
6052 | ||
6053 | ||
6054 | ||
6055 | ||
6056 | ; | |
6057 | ||
6058 | for (; __first1 != __last1; ++__first1, ++__first2) | |
6059 | std::iter_swap(__first1, __first2); | |
6060 | return __first2; | |
6061 | } | |
6062 | # 186 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6063 | template<typename _Tp> | |
6064 | inline const _Tp& | |
6065 | min(const _Tp& __a, const _Tp& __b) | |
6066 | { | |
6067 | ||
6068 | ||
6069 | ||
6070 | if (__b < __a) | |
6071 | return __b; | |
6072 | return __a; | |
6073 | } | |
6074 | # 208 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6075 | template<typename _Tp> | |
6076 | inline const _Tp& | |
6077 | max(const _Tp& __a, const _Tp& __b) | |
6078 | { | |
6079 | ||
6080 | ||
6081 | ||
6082 | if (__a < __b) | |
6083 | return __b; | |
6084 | return __a; | |
6085 | } | |
6086 | # 230 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6087 | template<typename _Tp, typename _Compare> | |
6088 | inline const _Tp& | |
6089 | min(const _Tp& __a, const _Tp& __b, _Compare __comp) | |
6090 | { | |
6091 | ||
6092 | if (__comp(__b, __a)) | |
6093 | return __b; | |
6094 | return __a; | |
6095 | } | |
6096 | # 250 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6097 | template<typename _Tp, typename _Compare> | |
6098 | inline const _Tp& | |
6099 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) | |
6100 | { | |
6101 | ||
6102 | if (__comp(__a, __b)) | |
6103 | return __b; | |
6104 | return __a; | |
6105 | } | |
6106 | ||
6107 | ||
6108 | ||
6109 | ||
6110 | template<typename _Iterator, | |
6111 | bool _IsNormal = __is_normal_iterator<_Iterator>::__value> | |
6112 | struct __niter_base | |
6113 | { | |
6114 | static _Iterator | |
6115 | __b(_Iterator __it) | |
6116 | { return __it; } | |
6117 | }; | |
6118 | ||
6119 | template<typename _Iterator> | |
6120 | struct __niter_base<_Iterator, true> | |
6121 | { | |
6122 | static typename _Iterator::iterator_type | |
6123 | __b(_Iterator __it) | |
6124 | { return __it.base(); } | |
6125 | }; | |
6126 | ||
6127 | ||
6128 | template<typename _Iterator, | |
6129 | bool _IsMove = __is_move_iterator<_Iterator>::__value> | |
6130 | struct __miter_base | |
6131 | { | |
6132 | static _Iterator | |
6133 | __b(_Iterator __it) | |
6134 | { return __it; } | |
6135 | }; | |
6136 | ||
6137 | template<typename _Iterator> | |
6138 | struct __miter_base<_Iterator, true> | |
6139 | { | |
6140 | static typename _Iterator::iterator_type | |
6141 | __b(_Iterator __it) | |
6142 | { return __it.base(); } | |
6143 | }; | |
6144 | ||
6145 | ||
6146 | ||
6147 | ||
6148 | ||
6149 | ||
6150 | ||
6151 | template<bool, bool, typename> | |
6152 | struct __copy_move | |
6153 | { | |
6154 | template<typename _II, typename _OI> | |
6155 | static _OI | |
6156 | __copy_m(_II __first, _II __last, _OI __result) | |
6157 | { | |
6158 | for (; __first != __last; ++__result, ++__first) | |
6159 | *__result = *__first; | |
6160 | return __result; | |
6161 | } | |
6162 | }; | |
6163 | # 332 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6164 | template<> | |
6165 | struct __copy_move<false, false, random_access_iterator_tag> | |
6166 | { | |
6167 | template<typename _II, typename _OI> | |
6168 | static _OI | |
6169 | __copy_m(_II __first, _II __last, _OI __result) | |
6170 | { | |
6171 | typedef typename iterator_traits<_II>::difference_type _Distance; | |
6172 | for(_Distance __n = __last - __first; __n > 0; --__n) | |
6173 | { | |
6174 | *__result = *__first; | |
6175 | ++__first; | |
6176 | ++__result; | |
6177 | } | |
6178 | return __result; | |
6179 | } | |
6180 | }; | |
6181 | # 370 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6182 | template<bool _IsMove> | |
6183 | struct __copy_move<_IsMove, true, random_access_iterator_tag> | |
6184 | { | |
6185 | template<typename _Tp> | |
6186 | static _Tp* | |
6187 | __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) | |
6188 | { | |
6189 | __builtin_memmove(__result, __first, | |
6190 | sizeof(_Tp) * (__last - __first)); | |
6191 | return __result + (__last - __first); | |
6192 | } | |
6193 | }; | |
6194 | ||
6195 | template<bool _IsMove, typename _II, typename _OI> | |
6196 | inline _OI | |
6197 | __copy_move_a(_II __first, _II __last, _OI __result) | |
6198 | { | |
6199 | typedef typename iterator_traits<_II>::value_type _ValueTypeI; | |
6200 | typedef typename iterator_traits<_OI>::value_type _ValueTypeO; | |
6201 | typedef typename iterator_traits<_II>::iterator_category _Category; | |
6202 | const bool __simple = (__is_pod(_ValueTypeI) | |
6203 | && __is_pointer<_II>::__value | |
6204 | && __is_pointer<_OI>::__value | |
6205 | && __are_same<_ValueTypeI, _ValueTypeO>::__value); | |
6206 | ||
6207 | return std::__copy_move<_IsMove, __simple, | |
6208 | _Category>::__copy_m(__first, __last, __result); | |
6209 | } | |
6210 | ||
6211 | ||
6212 | ||
6213 | template<typename _CharT> | |
6214 | struct char_traits; | |
6215 | ||
6216 | template<typename _CharT, typename _Traits> | |
6217 | class istreambuf_iterator; | |
6218 | ||
6219 | template<typename _CharT, typename _Traits> | |
6220 | class ostreambuf_iterator; | |
6221 | ||
6222 | template<bool _IsMove, typename _CharT> | |
6223 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
6224 | ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type | |
6225 | __copy_move_a2(_CharT*, _CharT*, | |
6226 | ostreambuf_iterator<_CharT, char_traits<_CharT> >); | |
6227 | ||
6228 | template<bool _IsMove, typename _CharT> | |
6229 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
6230 | ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type | |
6231 | __copy_move_a2(const _CharT*, const _CharT*, | |
6232 | ostreambuf_iterator<_CharT, char_traits<_CharT> >); | |
6233 | ||
6234 | template<bool _IsMove, typename _CharT> | |
6235 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
6236 | _CharT*>::__type | |
6237 | __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, | |
6238 | istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); | |
6239 | ||
6240 | template<bool _IsMove, typename _II, typename _OI> | |
6241 | inline _OI | |
6242 | __copy_move_a2(_II __first, _II __last, _OI __result) | |
6243 | { | |
6244 | return _OI(std::__copy_move_a<_IsMove> | |
6245 | (std::__niter_base<_II>::__b(__first), | |
6246 | std::__niter_base<_II>::__b(__last), | |
6247 | std::__niter_base<_OI>::__b(__result))); | |
6248 | } | |
6249 | # 454 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6250 | template<typename _II, typename _OI> | |
6251 | inline _OI | |
6252 | copy(_II __first, _II __last, _OI __result) | |
6253 | { | |
6254 | ||
6255 | ||
6256 | ||
6257 | ||
6258 | ; | |
6259 | ||
6260 | return (std::__copy_move_a2<__is_move_iterator<_II>::__value> | |
6261 | (std::__miter_base<_II>::__b(__first), | |
6262 | std::__miter_base<_II>::__b(__last), __result)); | |
6263 | } | |
6264 | # 503 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6265 | #define _GLIBCXX_MOVE3(_Tp,_Up,_Vp) std::copy(_Tp, _Up, _Vp) | |
6266 | ||
6267 | ||
6268 | template<bool, bool, typename> | |
6269 | struct __copy_move_backward | |
6270 | { | |
6271 | template<typename _BI1, typename _BI2> | |
6272 | static _BI2 | |
6273 | __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) | |
6274 | { | |
6275 | while (__first != __last) | |
6276 | *--__result = *--__last; | |
6277 | return __result; | |
6278 | } | |
6279 | }; | |
6280 | # 534 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6281 | template<> | |
6282 | struct __copy_move_backward<false, false, random_access_iterator_tag> | |
6283 | { | |
6284 | template<typename _BI1, typename _BI2> | |
6285 | static _BI2 | |
6286 | __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) | |
6287 | { | |
6288 | typename iterator_traits<_BI1>::difference_type __n; | |
6289 | for (__n = __last - __first; __n > 0; --__n) | |
6290 | *--__result = *--__last; | |
6291 | return __result; | |
6292 | } | |
6293 | }; | |
6294 | # 564 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6295 | template<bool _IsMove> | |
6296 | struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> | |
6297 | { | |
6298 | template<typename _Tp> | |
6299 | static _Tp* | |
6300 | __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) | |
6301 | { | |
6302 | const ptrdiff_t _Num = __last - __first; | |
6303 | __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); | |
6304 | return __result - _Num; | |
6305 | } | |
6306 | }; | |
6307 | ||
6308 | template<bool _IsMove, typename _BI1, typename _BI2> | |
6309 | inline _BI2 | |
6310 | __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) | |
6311 | { | |
6312 | typedef typename iterator_traits<_BI1>::value_type _ValueType1; | |
6313 | typedef typename iterator_traits<_BI2>::value_type _ValueType2; | |
6314 | typedef typename iterator_traits<_BI1>::iterator_category _Category; | |
6315 | const bool __simple = (__is_pod(_ValueType1) | |
6316 | && __is_pointer<_BI1>::__value | |
6317 | && __is_pointer<_BI2>::__value | |
6318 | && __are_same<_ValueType1, _ValueType2>::__value); | |
6319 | ||
6320 | return std::__copy_move_backward<_IsMove, __simple, | |
6321 | _Category>::__copy_move_b(__first, | |
6322 | __last, | |
6323 | __result); | |
6324 | } | |
6325 | ||
6326 | template<bool _IsMove, typename _BI1, typename _BI2> | |
6327 | inline _BI2 | |
6328 | __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) | |
6329 | { | |
6330 | return _BI2(std::__copy_move_backward_a<_IsMove> | |
6331 | (std::__niter_base<_BI1>::__b(__first), | |
6332 | std::__niter_base<_BI1>::__b(__last), | |
6333 | std::__niter_base<_BI2>::__b(__result))); | |
6334 | } | |
6335 | # 622 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6336 | template<typename _BI1, typename _BI2> | |
6337 | inline _BI2 | |
6338 | copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) | |
6339 | { | |
6340 | ||
6341 | ||
6342 | ||
6343 | ||
6344 | ||
6345 | ||
6346 | ; | |
6347 | ||
6348 | return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> | |
6349 | (std::__miter_base<_BI1>::__b(__first), | |
6350 | std::__miter_base<_BI1>::__b(__last), __result)); | |
6351 | } | |
6352 | # 676 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6353 | #define _GLIBCXX_MOVE_BACKWARD3(_Tp,_Up,_Vp) std::copy_backward(_Tp, _Up, _Vp) | |
6354 | ||
6355 | ||
6356 | template<typename _ForwardIterator, typename _Tp> | |
6357 | inline typename | |
6358 | __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type | |
6359 | __fill_a(_ForwardIterator __first, _ForwardIterator __last, | |
6360 | const _Tp& __value) | |
6361 | { | |
6362 | for (; __first != __last; ++__first) | |
6363 | *__first = __value; | |
6364 | } | |
6365 | ||
6366 | template<typename _ForwardIterator, typename _Tp> | |
6367 | inline typename | |
6368 | __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type | |
6369 | __fill_a(_ForwardIterator __first, _ForwardIterator __last, | |
6370 | const _Tp& __value) | |
6371 | { | |
6372 | const _Tp __tmp = __value; | |
6373 | for (; __first != __last; ++__first) | |
6374 | *__first = __tmp; | |
6375 | } | |
6376 | ||
6377 | ||
6378 | template<typename _Tp> | |
6379 | inline typename | |
6380 | __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type | |
6381 | __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) | |
6382 | { | |
6383 | const _Tp __tmp = __c; | |
6384 | __builtin_memset(__first, static_cast<unsigned char>(__tmp), | |
6385 | __last - __first); | |
6386 | } | |
6387 | # 722 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6388 | template<typename _ForwardIterator, typename _Tp> | |
6389 | inline void | |
6390 | fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) | |
6391 | { | |
6392 | ||
6393 | ||
6394 | ||
6395 | ; | |
6396 | ||
6397 | std::__fill_a(std::__niter_base<_ForwardIterator>::__b(__first), | |
6398 | std::__niter_base<_ForwardIterator>::__b(__last), __value); | |
6399 | } | |
6400 | ||
6401 | template<typename _OutputIterator, typename _Size, typename _Tp> | |
6402 | inline typename | |
6403 | __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type | |
6404 | __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) | |
6405 | { | |
6406 | for (; __n > 0; --__n, ++__first) | |
6407 | *__first = __value; | |
6408 | return __first; | |
6409 | } | |
6410 | ||
6411 | template<typename _OutputIterator, typename _Size, typename _Tp> | |
6412 | inline typename | |
6413 | __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type | |
6414 | __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) | |
6415 | { | |
6416 | const _Tp __tmp = __value; | |
6417 | for (; __n > 0; --__n, ++__first) | |
6418 | *__first = __tmp; | |
6419 | return __first; | |
6420 | } | |
6421 | ||
6422 | template<typename _Size, typename _Tp> | |
6423 | inline typename | |
6424 | __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type | |
6425 | __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) | |
6426 | { | |
6427 | std::__fill_a(__first, __first + __n, __c); | |
6428 | return __first + __n; | |
6429 | } | |
6430 | # 776 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6431 | template<typename _OI, typename _Size, typename _Tp> | |
6432 | inline _OI | |
6433 | fill_n(_OI __first, _Size __n, const _Tp& __value) | |
6434 | { | |
6435 | ||
6436 | ||
6437 | ||
6438 | return _OI(std::__fill_n_a(std::__niter_base<_OI>::__b(__first), | |
6439 | __n, __value)); | |
6440 | } | |
6441 | ||
6442 | template<bool _BoolType> | |
6443 | struct __equal | |
6444 | { | |
6445 | template<typename _II1, typename _II2> | |
6446 | static bool | |
6447 | equal(_II1 __first1, _II1 __last1, _II2 __first2) | |
6448 | { | |
6449 | for (; __first1 != __last1; ++__first1, ++__first2) | |
6450 | if (!(*__first1 == *__first2)) | |
6451 | return false; | |
6452 | return true; | |
6453 | } | |
6454 | }; | |
6455 | ||
6456 | template<> | |
6457 | struct __equal<true> | |
6458 | { | |
6459 | template<typename _Tp> | |
6460 | static bool | |
6461 | equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) | |
6462 | { | |
6463 | return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) | |
6464 | * (__last1 - __first1)); | |
6465 | } | |
6466 | }; | |
6467 | ||
6468 | template<typename _II1, typename _II2> | |
6469 | inline bool | |
6470 | __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) | |
6471 | { | |
6472 | typedef typename iterator_traits<_II1>::value_type _ValueType1; | |
6473 | typedef typename iterator_traits<_II2>::value_type _ValueType2; | |
6474 | const bool __simple = (__is_integer<_ValueType1>::__value | |
6475 | && __is_pointer<_II1>::__value | |
6476 | && __is_pointer<_II2>::__value | |
6477 | && __are_same<_ValueType1, _ValueType2>::__value); | |
6478 | ||
6479 | return std::__equal<__simple>::equal(__first1, __last1, __first2); | |
6480 | } | |
6481 | ||
6482 | ||
6483 | template<typename, typename> | |
6484 | struct __lc_rai | |
6485 | { | |
6486 | template<typename _II1, typename _II2> | |
6487 | static _II1 | |
6488 | __newlast1(_II1, _II1 __last1, _II2, _II2) | |
6489 | { return __last1; } | |
6490 | ||
6491 | template<typename _II> | |
6492 | static bool | |
6493 | __cnd2(_II __first, _II __last) | |
6494 | { return __first != __last; } | |
6495 | }; | |
6496 | ||
6497 | template<> | |
6498 | struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag> | |
6499 | { | |
6500 | template<typename _RAI1, typename _RAI2> | |
6501 | static _RAI1 | |
6502 | __newlast1(_RAI1 __first1, _RAI1 __last1, | |
6503 | _RAI2 __first2, _RAI2 __last2) | |
6504 | { | |
6505 | const typename iterator_traits<_RAI1>::difference_type | |
6506 | __diff1 = __last1 - __first1; | |
6507 | const typename iterator_traits<_RAI2>::difference_type | |
6508 | __diff2 = __last2 - __first2; | |
6509 | return __diff2 < __diff1 ? __first1 + __diff2 : __last1; | |
6510 | } | |
6511 | ||
6512 | template<typename _RAI> | |
6513 | static bool | |
6514 | __cnd2(_RAI, _RAI) | |
6515 | { return true; } | |
6516 | }; | |
6517 | ||
6518 | template<bool _BoolType> | |
6519 | struct __lexicographical_compare | |
6520 | { | |
6521 | template<typename _II1, typename _II2> | |
6522 | static bool __lc(_II1, _II1, _II2, _II2); | |
6523 | }; | |
6524 | ||
6525 | template<bool _BoolType> | |
6526 | template<typename _II1, typename _II2> | |
6527 | bool | |
6528 | __lexicographical_compare<_BoolType>:: | |
6529 | __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) | |
6530 | { | |
6531 | typedef typename iterator_traits<_II1>::iterator_category _Category1; | |
6532 | typedef typename iterator_traits<_II2>::iterator_category _Category2; | |
6533 | typedef std::__lc_rai<_Category1, _Category2> __rai_type; | |
6534 | ||
6535 | __last1 = __rai_type::__newlast1(__first1, __last1, | |
6536 | __first2, __last2); | |
6537 | for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); | |
6538 | ++__first1, ++__first2) | |
6539 | { | |
6540 | if (*__first1 < *__first2) | |
6541 | return true; | |
6542 | if (*__first2 < *__first1) | |
6543 | return false; | |
6544 | } | |
6545 | return __first1 == __last1 && __first2 != __last2; | |
6546 | } | |
6547 | ||
6548 | template<> | |
6549 | struct __lexicographical_compare<true> | |
6550 | { | |
6551 | template<typename _Tp, typename _Up> | |
6552 | static bool | |
6553 | __lc(const _Tp* __first1, const _Tp* __last1, | |
6554 | const _Up* __first2, const _Up* __last2) | |
6555 | { | |
6556 | const size_t __len1 = __last1 - __first1; | |
6557 | const size_t __len2 = __last2 - __first2; | |
6558 | const int __result = __builtin_memcmp(__first1, __first2, | |
6559 | std::min(__len1, __len2)); | |
6560 | return __result != 0 ? __result < 0 : __len1 < __len2; | |
6561 | } | |
6562 | }; | |
6563 | ||
6564 | template<typename _II1, typename _II2> | |
6565 | inline bool | |
6566 | __lexicographical_compare_aux(_II1 __first1, _II1 __last1, | |
6567 | _II2 __first2, _II2 __last2) | |
6568 | { | |
6569 | typedef typename iterator_traits<_II1>::value_type _ValueType1; | |
6570 | typedef typename iterator_traits<_II2>::value_type _ValueType2; | |
6571 | const bool __simple = | |
6572 | (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value | |
6573 | && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed | |
6574 | && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed | |
6575 | && __is_pointer<_II1>::__value | |
6576 | && __is_pointer<_II2>::__value); | |
6577 | ||
6578 | return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, | |
6579 | __first2, __last2); | |
6580 | } | |
6581 | ||
6582 | } | |
6583 | ||
6584 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
6585 | # 942 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6586 | template<typename _II1, typename _II2> | |
6587 | inline bool | |
6588 | equal(_II1 __first1, _II1 __last1, _II2 __first2) | |
6589 | { | |
6590 | ||
6591 | ||
6592 | ||
6593 | ||
6594 | ||
6595 | ||
6596 | ; | |
6597 | ||
6598 | return std::__equal_aux(std::__niter_base<_II1>::__b(__first1), | |
6599 | std::__niter_base<_II1>::__b(__last1), | |
6600 | std::__niter_base<_II2>::__b(__first2)); | |
6601 | } | |
6602 | # 973 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6603 | template<typename _IIter1, typename _IIter2, typename _BinaryPredicate> | |
6604 | inline bool | |
6605 | equal(_IIter1 __first1, _IIter1 __last1, | |
6606 | _IIter2 __first2, _BinaryPredicate __binary_pred) | |
6607 | { | |
6608 | ||
6609 | ||
6610 | ||
6611 | ; | |
6612 | ||
6613 | for (; __first1 != __last1; ++__first1, ++__first2) | |
6614 | if (!bool(__binary_pred(*__first1, *__first2))) | |
6615 | return false; | |
6616 | return true; | |
6617 | } | |
6618 | # 1003 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6619 | template<typename _II1, typename _II2> | |
6620 | inline bool | |
6621 | lexicographical_compare(_II1 __first1, _II1 __last1, | |
6622 | _II2 __first2, _II2 __last2) | |
6623 | { | |
6624 | ||
6625 | typedef typename iterator_traits<_II1>::value_type _ValueType1; | |
6626 | typedef typename iterator_traits<_II2>::value_type _ValueType2; | |
6627 | ||
6628 | ||
6629 | ||
6630 | ||
6631 | ; | |
6632 | ; | |
6633 | ||
6634 | return std::__lexicographical_compare_aux | |
6635 | (std::__niter_base<_II1>::__b(__first1), | |
6636 | std::__niter_base<_II1>::__b(__last1), | |
6637 | std::__niter_base<_II2>::__b(__first2), | |
6638 | std::__niter_base<_II2>::__b(__last2)); | |
6639 | } | |
6640 | # 1037 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6641 | template<typename _II1, typename _II2, typename _Compare> | |
6642 | bool | |
6643 | lexicographical_compare(_II1 __first1, _II1 __last1, | |
6644 | _II2 __first2, _II2 __last2, _Compare __comp) | |
6645 | { | |
6646 | typedef typename iterator_traits<_II1>::iterator_category _Category1; | |
6647 | typedef typename iterator_traits<_II2>::iterator_category _Category2; | |
6648 | typedef std::__lc_rai<_Category1, _Category2> __rai_type; | |
6649 | ||
6650 | ||
6651 | ||
6652 | ||
6653 | ; | |
6654 | ; | |
6655 | ||
6656 | __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); | |
6657 | for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); | |
6658 | ++__first1, ++__first2) | |
6659 | { | |
6660 | if (__comp(*__first1, *__first2)) | |
6661 | return true; | |
6662 | if (__comp(*__first2, *__first1)) | |
6663 | return false; | |
6664 | } | |
6665 | return __first1 == __last1 && __first2 != __last2; | |
6666 | } | |
6667 | # 1076 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6668 | template<typename _InputIterator1, typename _InputIterator2> | |
6669 | pair<_InputIterator1, _InputIterator2> | |
6670 | mismatch(_InputIterator1 __first1, _InputIterator1 __last1, | |
6671 | _InputIterator2 __first2) | |
6672 | { | |
6673 | ||
6674 | ||
6675 | ||
6676 | ||
6677 | ||
6678 | ||
6679 | ; | |
6680 | ||
6681 | while (__first1 != __last1 && *__first1 == *__first2) | |
6682 | { | |
6683 | ++__first1; | |
6684 | ++__first2; | |
6685 | } | |
6686 | return pair<_InputIterator1, _InputIterator2>(__first1, __first2); | |
6687 | } | |
6688 | # 1112 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_algobase.h" 3 | |
6689 | template<typename _InputIterator1, typename _InputIterator2, | |
6690 | typename _BinaryPredicate> | |
6691 | pair<_InputIterator1, _InputIterator2> | |
6692 | mismatch(_InputIterator1 __first1, _InputIterator1 __last1, | |
6693 | _InputIterator2 __first2, _BinaryPredicate __binary_pred) | |
6694 | { | |
6695 | ||
6696 | ||
6697 | ||
6698 | ; | |
6699 | ||
6700 | while (__first1 != __last1 && bool(__binary_pred(*__first1, *__first2))) | |
6701 | { | |
6702 | ++__first1; | |
6703 | ++__first2; | |
6704 | } | |
6705 | return pair<_InputIterator1, _InputIterator2>(__first1, __first2); | |
6706 | } | |
6707 | ||
6708 | } | |
6709 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 2 3 | |
6710 | ||
6711 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 1 3 | |
6712 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 3 | |
6713 | ||
6714 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 3 | |
6715 | ||
6716 | ||
6717 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
6718 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
6719 | ||
6720 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
6721 | ||
6722 | ||
6723 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
6724 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
6725 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 2 3 | |
6726 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 1 3 4 | |
6727 | # 27 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
6728 | #define _STDIO_H 1 | |
6729 | ||
6730 | ||
6731 | extern "C" { | |
6732 | ||
6733 | #define __need_size_t | |
6734 | #define __need_NULL | |
6735 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
6736 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6737 | #undef __need_ptrdiff_t | |
6738 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6739 | #undef __need_size_t | |
6740 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6741 | #undef __need_wchar_t | |
6742 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6743 | #undef NULL | |
6744 | ||
6745 | #define NULL __null | |
6746 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6747 | #undef __need_NULL | |
6748 | ||
6749 | ||
6750 | ||
6751 | ||
6752 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
6753 | # 35 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 2 3 4 | |
6754 | ||
6755 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 1 3 4 | |
6756 | # 25 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 3 4 | |
6757 | #define _BITS_TYPES_H 1 | |
6758 | ||
6759 | ||
6760 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/wordsize.h" 1 3 4 | |
6761 | # 19 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/wordsize.h" 3 4 | |
6762 | #define __WORDSIZE 32 | |
6763 | # 29 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 2 3 4 | |
6764 | ||
6765 | #define __need_size_t | |
6766 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
6767 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6768 | #undef __need_ptrdiff_t | |
6769 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6770 | #undef __need_size_t | |
6771 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6772 | #undef __need_wchar_t | |
6773 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6774 | #undef NULL | |
6775 | ||
6776 | #define NULL __null | |
6777 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
6778 | #undef __need_NULL | |
6779 | ||
6780 | ||
6781 | ||
6782 | ||
6783 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
6784 | # 32 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 2 3 4 | |
6785 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/kernel_types.h" 1 3 4 | |
6786 | # 9 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/kernel_types.h" 3 4 | |
6787 | #define __ARCH_BFIN_POSIX_TYPES_H | |
6788 | typedef unsigned short __kernel_dev_t; | |
6789 | typedef unsigned long __kernel_ino_t; | |
6790 | typedef unsigned short __kernel_mode_t; | |
6791 | typedef unsigned short __kernel_nlink_t; | |
6792 | typedef long __kernel_off_t; | |
6793 | typedef int __kernel_pid_t; | |
6794 | typedef unsigned int __kernel_ipc_pid_t; | |
6795 | typedef unsigned int __kernel_uid_t; | |
6796 | typedef unsigned int __kernel_gid_t; | |
6797 | typedef unsigned int __kernel_size_t; | |
6798 | typedef int __kernel_ssize_t; | |
6799 | typedef int __kernel_ptrdiff_t; | |
6800 | typedef long __kernel_time_t; | |
6801 | typedef long __kernel_suseconds_t; | |
6802 | typedef long __kernel_clock_t; | |
6803 | typedef int __kernel_daddr_t; | |
6804 | typedef char * __kernel_caddr_t; | |
6805 | typedef unsigned short __kernel_uid16_t; | |
6806 | typedef unsigned short __kernel_gid16_t; | |
6807 | typedef unsigned int __kernel_uid32_t; | |
6808 | typedef unsigned int __kernel_gid32_t; | |
6809 | typedef unsigned short __kernel_old_uid_t; | |
6810 | typedef unsigned short __kernel_old_gid_t; | |
6811 | typedef long long __kernel_loff_t; | |
6812 | typedef __kernel_dev_t __kernel_old_dev_t; | |
6813 | ||
6814 | typedef struct { | |
6815 | ||
6816 | ||
6817 | ||
6818 | int __val[2]; | |
6819 | ||
6820 | } __kernel_fsid_t; | |
6821 | # 33 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 2 3 4 | |
6822 | ||
6823 | ||
6824 | typedef unsigned char __u_char; | |
6825 | typedef unsigned short int __u_short; | |
6826 | typedef unsigned int __u_int; | |
6827 | typedef unsigned long int __u_long; | |
6828 | ||
6829 | ||
6830 | typedef signed char __int8_t; | |
6831 | typedef unsigned char __uint8_t; | |
6832 | typedef signed short int __int16_t; | |
6833 | typedef unsigned short int __uint16_t; | |
6834 | typedef signed int __int32_t; | |
6835 | typedef unsigned int __uint32_t; | |
6836 | ||
6837 | ||
6838 | ||
6839 | ||
6840 | __extension__ typedef signed long long int __int64_t; | |
6841 | __extension__ typedef unsigned long long int __uint64_t; | |
6842 | ||
6843 | ||
6844 | ||
6845 | ||
6846 | ||
6847 | ||
6848 | ||
6849 | __extension__ typedef long long int __quad_t; | |
6850 | __extension__ typedef unsigned long long int __u_quad_t; | |
6851 | # 103 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 3 4 | |
6852 | #define __S16_TYPE short int | |
6853 | #define __U16_TYPE unsigned short int | |
6854 | #define __S32_TYPE int | |
6855 | #define __U32_TYPE unsigned int | |
6856 | #define __SLONGWORD_TYPE long int | |
6857 | #define __ULONGWORD_TYPE unsigned long int | |
6858 | ||
6859 | #define __SQUAD_TYPE __quad_t | |
6860 | #define __UQUAD_TYPE __u_quad_t | |
6861 | #define __SWORD_TYPE int | |
6862 | #define __UWORD_TYPE unsigned int | |
6863 | #define __SLONG32_TYPE long int | |
6864 | #define __ULONG32_TYPE unsigned long int | |
6865 | #define __S64_TYPE __quad_t | |
6866 | #define __U64_TYPE __u_quad_t | |
6867 | ||
6868 | ||
6869 | #define __STD_TYPE __extension__ typedef | |
6870 | # 135 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 3 4 | |
6871 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/typesizes.h" 1 3 4 | |
6872 | # 25 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/typesizes.h" 3 4 | |
6873 | #define _BITS_TYPESIZES_H 1 | |
6874 | ||
6875 | ||
6876 | ||
6877 | ||
6878 | #define __DEV_T_TYPE __UQUAD_TYPE | |
6879 | #define __UID_T_TYPE __U32_TYPE | |
6880 | #define __GID_T_TYPE __U32_TYPE | |
6881 | #define __INO_T_TYPE __ULONGWORD_TYPE | |
6882 | #define __INO64_T_TYPE __UQUAD_TYPE | |
6883 | #define __MODE_T_TYPE __U32_TYPE | |
6884 | #define __NLINK_T_TYPE __UWORD_TYPE | |
6885 | #define __OFF_T_TYPE __SLONGWORD_TYPE | |
6886 | #define __OFF64_T_TYPE __SQUAD_TYPE | |
6887 | #define __PID_T_TYPE __S32_TYPE | |
6888 | #define __RLIM_T_TYPE __ULONGWORD_TYPE | |
6889 | #define __RLIM64_T_TYPE __UQUAD_TYPE | |
6890 | #define __BLKCNT_T_TYPE __SLONGWORD_TYPE | |
6891 | #define __BLKCNT64_T_TYPE __SQUAD_TYPE | |
6892 | #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE | |
6893 | #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE | |
6894 | #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE | |
6895 | #define __FSFILCNT64_T_TYPE __UQUAD_TYPE | |
6896 | #define __ID_T_TYPE __U32_TYPE | |
6897 | #define __CLOCK_T_TYPE __SLONGWORD_TYPE | |
6898 | #define __TIME_T_TYPE __SLONGWORD_TYPE | |
6899 | #define __USECONDS_T_TYPE __U32_TYPE | |
6900 | #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE | |
6901 | #define __DADDR_T_TYPE __S32_TYPE | |
6902 | #define __SWBLK_T_TYPE __SLONGWORD_TYPE | |
6903 | #define __KEY_T_TYPE __S32_TYPE | |
6904 | #define __CLOCKID_T_TYPE __S32_TYPE | |
6905 | #define __TIMER_T_TYPE void * | |
6906 | #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE | |
6907 | #define __FSID_T_TYPE struct { int __val[2]; } | |
6908 | #define __SSIZE_T_TYPE __SLONGWORD_TYPE | |
6909 | ||
6910 | ||
6911 | #define __FD_SETSIZE 1024 | |
6912 | # 136 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 2 3 4 | |
6913 | ||
6914 | ||
6915 | __extension__ typedef __u_quad_t __dev_t; | |
6916 | __extension__ typedef unsigned int __uid_t; | |
6917 | __extension__ typedef unsigned int __gid_t; | |
6918 | __extension__ typedef unsigned long int __ino_t; | |
6919 | __extension__ typedef __u_quad_t __ino64_t; | |
6920 | __extension__ typedef unsigned int __mode_t; | |
6921 | __extension__ typedef unsigned int __nlink_t; | |
6922 | __extension__ typedef long int __off_t; | |
6923 | __extension__ typedef __quad_t __off64_t; | |
6924 | __extension__ typedef int __pid_t; | |
6925 | __extension__ typedef struct { int __val[2]; } __fsid_t; | |
6926 | __extension__ typedef long int __clock_t; | |
6927 | __extension__ typedef unsigned long int __rlim_t; | |
6928 | __extension__ typedef __u_quad_t __rlim64_t; | |
6929 | __extension__ typedef unsigned int __id_t; | |
6930 | __extension__ typedef long int __time_t; | |
6931 | __extension__ typedef unsigned int __useconds_t; | |
6932 | __extension__ typedef long int __suseconds_t; | |
6933 | ||
6934 | __extension__ typedef int __daddr_t; | |
6935 | __extension__ typedef long int __swblk_t; | |
6936 | __extension__ typedef int __key_t; | |
6937 | ||
6938 | ||
6939 | __extension__ typedef int __clockid_t; | |
6940 | ||
6941 | ||
6942 | __extension__ typedef void * __timer_t; | |
6943 | ||
6944 | ||
6945 | __extension__ typedef long int __blksize_t; | |
6946 | ||
6947 | ||
6948 | ||
6949 | ||
6950 | __extension__ typedef long int __blkcnt_t; | |
6951 | __extension__ typedef __quad_t __blkcnt64_t; | |
6952 | ||
6953 | ||
6954 | __extension__ typedef unsigned long int __fsblkcnt_t; | |
6955 | __extension__ typedef __u_quad_t __fsblkcnt64_t; | |
6956 | ||
6957 | ||
6958 | __extension__ typedef unsigned long int __fsfilcnt_t; | |
6959 | __extension__ typedef __u_quad_t __fsfilcnt64_t; | |
6960 | ||
6961 | __extension__ typedef long int __ssize_t; | |
6962 | ||
6963 | ||
6964 | ||
6965 | typedef __off64_t __loff_t; | |
6966 | typedef __quad_t *__qaddr_t; | |
6967 | typedef char *__caddr_t; | |
6968 | ||
6969 | ||
6970 | __extension__ typedef int __intptr_t; | |
6971 | ||
6972 | ||
6973 | __extension__ typedef unsigned int __socklen_t; | |
6974 | ||
6975 | ||
6976 | #undef __STD_TYPE | |
6977 | ||
6978 | ||
6979 | typedef __kernel_ipc_pid_t __ipc_pid_t; | |
6980 | ||
6981 | ||
6982 | ||
6983 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/pthreadtypes.h" 1 3 4 | |
6984 | # 20 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/pthreadtypes.h" 3 4 | |
6985 | #define _BITS_PTHREADTYPES_H 1 | |
6986 | ||
6987 | #define __need_schedparam | |
6988 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sched.h" 1 3 4 | |
6989 | # 89 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sched.h" 3 4 | |
6990 | #define __defined_schedparam 1 | |
6991 | ||
6992 | struct __sched_param | |
6993 | { | |
6994 | int __sched_priority; | |
6995 | }; | |
6996 | #undef __need_schedparam | |
6997 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/pthreadtypes.h" 2 3 4 | |
6998 | ||
6999 | ||
7000 | struct _pthread_fastlock | |
7001 | { | |
7002 | long int __status; | |
7003 | int __spinlock; | |
7004 | ||
7005 | }; | |
7006 | ||
7007 | ||
7008 | ||
7009 | typedef struct _pthread_descr_struct *_pthread_descr; | |
7010 | #define _PTHREAD_DESCR_DEFINED | |
7011 | ||
7012 | ||
7013 | ||
7014 | ||
7015 | typedef struct __pthread_attr_s | |
7016 | { | |
7017 | int __detachstate; | |
7018 | int __schedpolicy; | |
7019 | struct __sched_param __schedparam; | |
7020 | int __inheritsched; | |
7021 | int __scope; | |
7022 | size_t __guardsize; | |
7023 | int __stackaddr_set; | |
7024 | void *__stackaddr; | |
7025 | size_t __stacksize; | |
7026 | } pthread_attr_t; | |
7027 | ||
7028 | ||
7029 | ||
7030 | typedef struct | |
7031 | { | |
7032 | struct _pthread_fastlock __c_lock; | |
7033 | _pthread_descr __c_waiting; | |
7034 | } pthread_cond_t; | |
7035 | ||
7036 | ||
7037 | ||
7038 | typedef struct | |
7039 | { | |
7040 | int __dummy; | |
7041 | } pthread_condattr_t; | |
7042 | ||
7043 | ||
7044 | typedef unsigned int pthread_key_t; | |
7045 | ||
7046 | ||
7047 | ||
7048 | ||
7049 | ||
7050 | typedef struct | |
7051 | { | |
7052 | int __m_reserved; | |
7053 | int __m_count; | |
7054 | _pthread_descr __m_owner; | |
7055 | int __m_kind; | |
7056 | struct _pthread_fastlock __m_lock; | |
7057 | } pthread_mutex_t; | |
7058 | ||
7059 | ||
7060 | ||
7061 | typedef struct | |
7062 | { | |
7063 | int __mutexkind; | |
7064 | } pthread_mutexattr_t; | |
7065 | ||
7066 | ||
7067 | ||
7068 | typedef int pthread_once_t; | |
7069 | ||
7070 | ||
7071 | ||
7072 | ||
7073 | typedef struct _pthread_rwlock_t | |
7074 | { | |
7075 | struct _pthread_fastlock __rw_lock; | |
7076 | int __rw_readers; | |
7077 | _pthread_descr __rw_writer; | |
7078 | _pthread_descr __rw_read_waiting; | |
7079 | _pthread_descr __rw_write_waiting; | |
7080 | int __rw_kind; | |
7081 | int __rw_pshared; | |
7082 | } pthread_rwlock_t; | |
7083 | ||
7084 | ||
7085 | ||
7086 | typedef struct | |
7087 | { | |
7088 | int __lockkind; | |
7089 | int __pshared; | |
7090 | } pthread_rwlockattr_t; | |
7091 | ||
7092 | ||
7093 | ||
7094 | ||
7095 | typedef volatile int pthread_spinlock_t; | |
7096 | ||
7097 | ||
7098 | typedef struct { | |
7099 | struct _pthread_fastlock __ba_lock; | |
7100 | int __ba_required; | |
7101 | int __ba_present; | |
7102 | _pthread_descr __ba_waiting; | |
7103 | } pthread_barrier_t; | |
7104 | ||
7105 | ||
7106 | typedef struct { | |
7107 | int __pshared; | |
7108 | } pthread_barrierattr_t; | |
7109 | ||
7110 | ||
7111 | ||
7112 | ||
7113 | ||
7114 | typedef unsigned long int pthread_t; | |
7115 | # 207 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/types.h" 2 3 4 | |
7116 | # 37 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 2 3 4 | |
7117 | #define __need_FILE | |
7118 | #define __need___FILE | |
7119 | ||
7120 | ||
7121 | ||
7122 | ||
7123 | ||
7124 | ||
7125 | ||
7126 | typedef struct __STDIO_FILE_STRUCT FILE; | |
7127 | ||
7128 | ||
7129 | ||
7130 | ||
7131 | ||
7132 | ||
7133 | ||
7134 | #define __FILE_defined 1 | |
7135 | ||
7136 | #undef __need_FILE | |
7137 | ||
7138 | ||
7139 | ||
7140 | ||
7141 | ||
7142 | typedef struct __STDIO_FILE_STRUCT __FILE; | |
7143 | ||
7144 | #define ____FILE_defined 1 | |
7145 | ||
7146 | #undef __need___FILE | |
7147 | ||
7148 | ||
7149 | ||
7150 | #undef _STDIO_USES_IOSTREAM | |
7151 | ||
7152 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 1 3 4 | |
7153 | # 14 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
7154 | #define __STDIO_BUFFERS | |
7155 | ||
7156 | ||
7157 | ||
7158 | ||
7159 | ||
7160 | ||
7161 | #define __STDIO_BUFSIZ 256 | |
7162 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
7163 | #define __STDIO_BUILTIN_BUF_SIZE 0 | |
7164 | # 51 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
7165 | #define __STDIO_HAS_OPENLIST 1 | |
7166 | # 83 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
7167 | #define __STDIO_GETC_MACRO | |
7168 | ||
7169 | ||
7170 | ||
7171 | #define __STDIO_PUTC_MACRO | |
7172 | # 107 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
7173 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_mutex.h" 1 3 4 | |
7174 | # 9 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_mutex.h" 3 4 | |
7175 | #define _UCLIBC_MUTEX_H | |
7176 | ||
7177 | ||
7178 | ||
7179 | ||
7180 | ||
7181 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 1 3 4 | |
7182 | # 16 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 3 4 | |
7183 | #define _PTHREAD_H 1 | |
7184 | ||
7185 | ||
7186 | ||
7187 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sched.h" 1 3 4 | |
7188 | # 21 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sched.h" 3 4 | |
7189 | #define _SCHED_H 1 | |
7190 | ||
7191 | ||
7192 | ||
7193 | ||
7194 | ||
7195 | ||
7196 | #define __need_timespec | |
7197 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 1 3 4 | |
7198 | # 68 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7199 | #undef __need_clock_t | |
7200 | # 84 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7201 | #undef __need_time_t | |
7202 | # 96 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7203 | #undef __clockid_time_t | |
7204 | # 108 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7205 | #undef __need_timer_t | |
7206 | ||
7207 | ||
7208 | ||
7209 | ||
7210 | ||
7211 | ||
7212 | #define __timespec_defined 1 | |
7213 | ||
7214 | ||
7215 | ||
7216 | ||
7217 | ||
7218 | struct timespec | |
7219 | { | |
7220 | __time_t tv_sec; | |
7221 | long int tv_nsec; | |
7222 | }; | |
7223 | ||
7224 | ||
7225 | #undef __need_timespec | |
7226 | # 30 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sched.h" 2 3 4 | |
7227 | ||
7228 | ||
7229 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sched.h" 1 3 4 | |
7230 | # 29 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sched.h" 3 4 | |
7231 | #define SCHED_OTHER 0 | |
7232 | #define SCHED_FIFO 1 | |
7233 | #define SCHED_RR 2 | |
7234 | ||
7235 | #define SCHED_BATCH 3 | |
7236 | ||
7237 | ||
7238 | ||
7239 | ||
7240 | #define CSIGNAL 0x000000ff | |
7241 | #define CLONE_VM 0x00000100 | |
7242 | #define CLONE_FS 0x00000200 | |
7243 | #define CLONE_FILES 0x00000400 | |
7244 | #define CLONE_SIGHAND 0x00000800 | |
7245 | #define CLONE_PTRACE 0x00002000 | |
7246 | #define CLONE_VFORK 0x00004000 | |
7247 | ||
7248 | #define CLONE_PARENT 0x00008000 | |
7249 | ||
7250 | #define CLONE_THREAD 0x00010000 | |
7251 | #define CLONE_NEWNS 0x00020000 | |
7252 | #define CLONE_SYSVSEM 0x00040000 | |
7253 | #define CLONE_SETTLS 0x00080000 | |
7254 | #define CLONE_PARENT_SETTID 0x00100000 | |
7255 | ||
7256 | #define CLONE_CHILD_CLEARTID 0x00200000 | |
7257 | ||
7258 | #define CLONE_DETACHED 0x00400000 | |
7259 | #define CLONE_UNTRACED 0x00800000 | |
7260 | ||
7261 | #define CLONE_CHILD_SETTID 0x01000000 | |
7262 | ||
7263 | #define CLONE_STOPPED 0x02000000 | |
7264 | ||
7265 | ||
7266 | ||
7267 | struct sched_param | |
7268 | { | |
7269 | int __sched_priority; | |
7270 | }; | |
7271 | ||
7272 | extern "C" { | |
7273 | ||
7274 | ||
7275 | ||
7276 | extern int clone (int (*__fn) (void *__arg), void *__child_stack, | |
7277 | int __flags, void *__arg, ...) throw (); | |
7278 | ||
7279 | ||
7280 | ||
7281 | ||
7282 | ||
7283 | ||
7284 | ||
7285 | } | |
7286 | # 100 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sched.h" 3 4 | |
7287 | #define __cpu_set_t_defined | |
7288 | ||
7289 | #define __CPU_SETSIZE 1024 | |
7290 | #define __NCPUBITS (8 * sizeof (__cpu_mask)) | |
7291 | ||
7292 | ||
7293 | typedef unsigned long int __cpu_mask; | |
7294 | ||
7295 | ||
7296 | #define __CPUELT(cpu) ((cpu) / __NCPUBITS) | |
7297 | #define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS)) | |
7298 | ||
7299 | ||
7300 | typedef struct | |
7301 | { | |
7302 | __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; | |
7303 | } cpu_set_t; | |
7304 | ||
7305 | ||
7306 | #define __CPU_ZERO(cpusetp) do { unsigned int __i; cpu_set_t *__arr = (cpusetp); for (__i = 0; __i < sizeof (cpu_set_t) / sizeof (__cpu_mask); ++__i) __arr->__bits[__i] = 0; } while (0) | |
7307 | ||
7308 | ||
7309 | ||
7310 | ||
7311 | ||
7312 | ||
7313 | #define __CPU_SET(cpu,cpusetp) ((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu)) | |
7314 | ||
7315 | #define __CPU_CLR(cpu,cpusetp) ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu)) | |
7316 | ||
7317 | #define __CPU_ISSET(cpu,cpusetp) (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0) | |
7318 | # 33 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sched.h" 2 3 4 | |
7319 | ||
7320 | #define sched_priority __sched_priority | |
7321 | ||
7322 | ||
7323 | extern "C" { | |
7324 | ||
7325 | ||
7326 | extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) | |
7327 | throw (); | |
7328 | ||
7329 | ||
7330 | extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); | |
7331 | ||
7332 | ||
7333 | extern int sched_setscheduler (__pid_t __pid, int __policy, | |
7334 | __const struct sched_param *__param) throw (); | |
7335 | ||
7336 | ||
7337 | extern int sched_getscheduler (__pid_t __pid) throw (); | |
7338 | ||
7339 | ||
7340 | extern int sched_yield (void) throw (); | |
7341 | ||
7342 | ||
7343 | extern int sched_get_priority_max (int __algorithm) throw (); | |
7344 | ||
7345 | ||
7346 | extern int sched_get_priority_min (int __algorithm) throw (); | |
7347 | ||
7348 | ||
7349 | extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); | |
7350 | ||
7351 | ||
7352 | ||
7353 | ||
7354 | #define CPU_SETSIZE __CPU_SETSIZE | |
7355 | #define CPU_SET(cpu,cpusetp) __CPU_SET (cpu, cpusetp) | |
7356 | #define CPU_CLR(cpu,cpusetp) __CPU_CLR (cpu, cpusetp) | |
7357 | #define CPU_ISSET(cpu,cpusetp) __CPU_ISSET (cpu, cpusetp) | |
7358 | #define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp) | |
7359 | ||
7360 | ||
7361 | ||
7362 | extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, | |
7363 | __const cpu_set_t *__cpuset) throw (); | |
7364 | ||
7365 | ||
7366 | extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, | |
7367 | cpu_set_t *__cpuset) throw (); | |
7368 | ||
7369 | ||
7370 | } | |
7371 | # 21 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 2 3 4 | |
7372 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 1 3 4 | |
7373 | # 28 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7374 | #define _TIME_H 1 | |
7375 | ||
7376 | ||
7377 | extern "C" { | |
7378 | ||
7379 | ||
7380 | ||
7381 | ||
7382 | ||
7383 | #define __need_size_t | |
7384 | #define __need_NULL | |
7385 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
7386 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
7387 | #undef __need_ptrdiff_t | |
7388 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
7389 | #undef __need_size_t | |
7390 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
7391 | #undef __need_wchar_t | |
7392 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
7393 | #undef NULL | |
7394 | ||
7395 | #define NULL __null | |
7396 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
7397 | #undef __need_NULL | |
7398 | ||
7399 | ||
7400 | ||
7401 | ||
7402 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
7403 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 2 3 4 | |
7404 | ||
7405 | ||
7406 | ||
7407 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/time.h" 1 3 4 | |
7408 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/time.h" 3 4 | |
7409 | #define _BITS_TIME_H 1 | |
7410 | ||
7411 | ||
7412 | ||
7413 | ||
7414 | ||
7415 | ||
7416 | ||
7417 | #define CLOCKS_PER_SEC 1000000l | |
7418 | ||
7419 | ||
7420 | ||
7421 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_clk_tck.h" 1 3 4 | |
7422 | ||
7423 | ||
7424 | ||
7425 | ||
7426 | ||
7427 | ||
7428 | ||
7429 | #define __UCLIBC_CLK_TCK_CONST 100 | |
7430 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/time.h" 2 3 4 | |
7431 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/time.h" 3 4 | |
7432 | #define CLOCK_REALTIME 0 | |
7433 | ||
7434 | #define CLOCK_MONOTONIC 1 | |
7435 | ||
7436 | #define CLOCK_PROCESS_CPUTIME_ID 2 | |
7437 | ||
7438 | #define CLOCK_THREAD_CPUTIME_ID 3 | |
7439 | ||
7440 | ||
7441 | #define TIMER_ABSTIME 1 | |
7442 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 2 3 4 | |
7443 | # 55 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7444 | #define __clock_t_defined 1 | |
7445 | ||
7446 | ||
7447 | ||
7448 | ||
7449 | ||
7450 | typedef __clock_t clock_t; | |
7451 | ||
7452 | ||
7453 | ||
7454 | ||
7455 | ||
7456 | ||
7457 | #undef __need_clock_t | |
7458 | ||
7459 | ||
7460 | #define __time_t_defined 1 | |
7461 | ||
7462 | ||
7463 | ||
7464 | ||
7465 | ||
7466 | typedef __time_t time_t; | |
7467 | ||
7468 | ||
7469 | ||
7470 | ||
7471 | ||
7472 | ||
7473 | #undef __need_time_t | |
7474 | ||
7475 | ||
7476 | ||
7477 | #define __clockid_t_defined 1 | |
7478 | ||
7479 | ||
7480 | ||
7481 | ||
7482 | typedef __clockid_t clockid_t; | |
7483 | ||
7484 | ||
7485 | #undef __clockid_time_t | |
7486 | ||
7487 | ||
7488 | ||
7489 | #define __timer_t_defined 1 | |
7490 | ||
7491 | ||
7492 | ||
7493 | ||
7494 | typedef __timer_t timer_t; | |
7495 | ||
7496 | ||
7497 | #undef __need_timer_t | |
7498 | # 128 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7499 | #undef __need_timespec | |
7500 | ||
7501 | ||
7502 | ||
7503 | ||
7504 | ||
7505 | struct tm | |
7506 | { | |
7507 | int tm_sec; | |
7508 | int tm_min; | |
7509 | int tm_hour; | |
7510 | int tm_mday; | |
7511 | int tm_mon; | |
7512 | int tm_year; | |
7513 | int tm_wday; | |
7514 | int tm_yday; | |
7515 | int tm_isdst; | |
7516 | ||
7517 | ||
7518 | ||
7519 | long int tm_gmtoff; | |
7520 | __const char *tm_zone; | |
7521 | ||
7522 | ||
7523 | ||
7524 | ||
7525 | ||
7526 | }; | |
7527 | ||
7528 | ||
7529 | ||
7530 | ||
7531 | ||
7532 | ||
7533 | ||
7534 | ||
7535 | struct itimerspec | |
7536 | { | |
7537 | struct timespec it_interval; | |
7538 | struct timespec it_value; | |
7539 | }; | |
7540 | ||
7541 | ||
7542 | struct sigevent; | |
7543 | ||
7544 | ||
7545 | ||
7546 | ||
7547 | ||
7548 | typedef __pid_t pid_t; | |
7549 | #define __pid_t_defined | |
7550 | ||
7551 | ||
7552 | ||
7553 | ||
7554 | ||
7555 | ||
7556 | ||
7557 | extern clock_t clock (void) throw (); | |
7558 | ||
7559 | ||
7560 | extern time_t time (time_t *__timer) throw (); | |
7561 | ||
7562 | ||
7563 | ||
7564 | extern double difftime (time_t __time1, time_t __time0) | |
7565 | throw () __attribute__ ((__const__)); | |
7566 | ||
7567 | ||
7568 | ||
7569 | extern time_t mktime (struct tm *__tp) throw (); | |
7570 | ||
7571 | ||
7572 | ||
7573 | ||
7574 | ||
7575 | extern size_t strftime (char *__restrict __s, size_t __maxsize, | |
7576 | __const char *__restrict __format, | |
7577 | __const struct tm *__restrict __tp) throw (); | |
7578 | ||
7579 | ||
7580 | ||
7581 | ||
7582 | ||
7583 | extern char *strptime (__const char *__restrict __s, | |
7584 | __const char *__restrict __fmt, struct tm *__tp) | |
7585 | throw (); | |
7586 | # 235 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7587 | ||
7588 | ||
7589 | ||
7590 | extern struct tm *gmtime (__const time_t *__timer) throw (); | |
7591 | ||
7592 | ||
7593 | ||
7594 | extern struct tm *localtime (__const time_t *__timer) throw (); | |
7595 | ||
7596 | ||
7597 | ||
7598 | ||
7599 | ||
7600 | extern struct tm *gmtime_r (__const time_t *__restrict __timer, | |
7601 | struct tm *__restrict __tp) throw (); | |
7602 | ||
7603 | ||
7604 | ||
7605 | extern struct tm *localtime_r (__const time_t *__restrict __timer, | |
7606 | struct tm *__restrict __tp) throw (); | |
7607 | ||
7608 | ||
7609 | ||
7610 | ||
7611 | ||
7612 | extern char *asctime (__const struct tm *__tp) throw (); | |
7613 | ||
7614 | ||
7615 | extern char *ctime (__const time_t *__timer) throw (); | |
7616 | ||
7617 | ||
7618 | ||
7619 | ||
7620 | ||
7621 | ||
7622 | ||
7623 | extern char *asctime_r (__const struct tm *__restrict __tp, | |
7624 | char *__restrict __buf) throw (); | |
7625 | ||
7626 | ||
7627 | extern char *ctime_r (__const time_t *__restrict __timer, | |
7628 | char *__restrict __buf) throw (); | |
7629 | # 291 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7630 | extern char *tzname[2]; | |
7631 | ||
7632 | ||
7633 | ||
7634 | extern void tzset (void) throw (); | |
7635 | ||
7636 | ||
7637 | ||
7638 | extern int daylight; | |
7639 | extern long int timezone; | |
7640 | ||
7641 | ||
7642 | ||
7643 | ||
7644 | ||
7645 | extern int stime (__const time_t *__when) throw (); | |
7646 | ||
7647 | ||
7648 | ||
7649 | ||
7650 | ||
7651 | #define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) | |
7652 | # 321 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7653 | extern time_t timegm (struct tm *__tp) throw (); | |
7654 | ||
7655 | ||
7656 | extern time_t timelocal (struct tm *__tp) throw (); | |
7657 | ||
7658 | ||
7659 | extern int dysize (int __year) throw () __attribute__ ((__const__)); | |
7660 | # 337 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7661 | extern int nanosleep (__const struct timespec *__requested_time, | |
7662 | struct timespec *__remaining); | |
7663 | ||
7664 | ||
7665 | ||
7666 | extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); | |
7667 | ||
7668 | ||
7669 | extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); | |
7670 | ||
7671 | ||
7672 | extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) | |
7673 | throw (); | |
7674 | # 369 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7675 | extern int timer_create (clockid_t __clock_id, | |
7676 | struct sigevent *__restrict __evp, | |
7677 | timer_t *__restrict __timerid) throw (); | |
7678 | ||
7679 | ||
7680 | extern int timer_delete (timer_t __timerid) throw (); | |
7681 | ||
7682 | ||
7683 | extern int timer_settime (timer_t __timerid, int __flags, | |
7684 | __const struct itimerspec *__restrict __value, | |
7685 | struct itimerspec *__restrict __ovalue) throw (); | |
7686 | ||
7687 | ||
7688 | extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) | |
7689 | throw (); | |
7690 | ||
7691 | ||
7692 | extern int timer_getoverrun (timer_t __timerid) throw (); | |
7693 | # 433 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/time.h" 3 4 | |
7694 | } | |
7695 | # 22 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 2 3 4 | |
7696 | ||
7697 | #define __need_sigset_t | |
7698 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/signal.h" 1 3 4 | |
7699 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/signal.h" 3 4 | |
7700 | extern "C" { | |
7701 | ||
7702 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sigset.h" 1 3 4 | |
7703 | # 21 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sigset.h" 3 4 | |
7704 | #define _SIGSET_H_types 1 | |
7705 | ||
7706 | typedef int __sig_atomic_t; | |
7707 | ||
7708 | ||
7709 | ||
7710 | #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) | |
7711 | typedef struct | |
7712 | { | |
7713 | unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; | |
7714 | } __sigset_t; | |
7715 | # 34 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/signal.h" 2 3 4 | |
7716 | # 49 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/signal.h" 3 4 | |
7717 | #define __sigset_t_defined | |
7718 | typedef __sigset_t sigset_t; | |
7719 | ||
7720 | #undef __need_sigset_t | |
7721 | # 400 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/signal.h" 3 4 | |
7722 | } | |
7723 | # 25 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 2 3 4 | |
7724 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/pthreadtypes.h" 1 3 4 | |
7725 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 2 3 4 | |
7726 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/initspin.h" 1 3 4 | |
7727 | # 23 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/initspin.h" 3 4 | |
7728 | #define __LT_SPINLOCK_INIT 0 | |
7729 | ||
7730 | ||
7731 | #define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } | |
7732 | #define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } | |
7733 | #define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT } | |
7734 | # 27 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 2 3 4 | |
7735 | ||
7736 | ||
7737 | extern "C" { | |
7738 | ||
7739 | ||
7740 | ||
7741 | #define PTHREAD_MUTEX_INITIALIZER {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __LOCK_INITIALIZER} | |
7742 | ||
7743 | ||
7744 | #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP {0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __LOCK_INITIALIZER} | |
7745 | ||
7746 | #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __LOCK_INITIALIZER} | |
7747 | ||
7748 | #define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __LOCK_INITIALIZER} | |
7749 | ||
7750 | ||
7751 | ||
7752 | #define PTHREAD_COND_INITIALIZER {__LOCK_INITIALIZER, 0} | |
7753 | ||
7754 | ||
7755 | #define PTHREAD_RWLOCK_INITIALIZER { __LOCK_INITIALIZER, 0, NULL, NULL, NULL, PTHREAD_RWLOCK_DEFAULT_NP, PTHREAD_PROCESS_PRIVATE } | |
7756 | ||
7757 | ||
7758 | ||
7759 | ||
7760 | #define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { __LOCK_INITIALIZER, 0, NULL, NULL, NULL, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_PROCESS_PRIVATE } | |
7761 | ||
7762 | ||
7763 | ||
7764 | ||
7765 | ||
7766 | ||
7767 | enum | |
7768 | { | |
7769 | PTHREAD_CREATE_JOINABLE, | |
7770 | #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE | |
7771 | PTHREAD_CREATE_DETACHED | |
7772 | #define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED | |
7773 | }; | |
7774 | ||
7775 | enum | |
7776 | { | |
7777 | PTHREAD_INHERIT_SCHED, | |
7778 | #define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED | |
7779 | PTHREAD_EXPLICIT_SCHED | |
7780 | #define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED | |
7781 | }; | |
7782 | ||
7783 | enum | |
7784 | { | |
7785 | PTHREAD_SCOPE_SYSTEM, | |
7786 | #define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM | |
7787 | PTHREAD_SCOPE_PROCESS | |
7788 | #define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS | |
7789 | }; | |
7790 | ||
7791 | enum | |
7792 | { | |
7793 | PTHREAD_MUTEX_ADAPTIVE_NP, | |
7794 | PTHREAD_MUTEX_RECURSIVE_NP, | |
7795 | PTHREAD_MUTEX_ERRORCHECK_NP, | |
7796 | PTHREAD_MUTEX_TIMED_NP | |
7797 | ||
7798 | , | |
7799 | PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_ADAPTIVE_NP, | |
7800 | PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, | |
7801 | PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, | |
7802 | PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL | |
7803 | ||
7804 | ||
7805 | ||
7806 | , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_ADAPTIVE_NP | |
7807 | ||
7808 | }; | |
7809 | ||
7810 | enum | |
7811 | { | |
7812 | PTHREAD_PROCESS_PRIVATE, | |
7813 | #define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE | |
7814 | PTHREAD_PROCESS_SHARED | |
7815 | #define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED | |
7816 | }; | |
7817 | ||
7818 | ||
7819 | enum | |
7820 | { | |
7821 | PTHREAD_RWLOCK_PREFER_READER_NP, | |
7822 | PTHREAD_RWLOCK_PREFER_WRITER_NP, | |
7823 | PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, | |
7824 | PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_WRITER_NP | |
7825 | }; | |
7826 | ||
7827 | ||
7828 | #define PTHREAD_ONCE_INIT 0 | |
7829 | ||
7830 | ||
7831 | ||
7832 | ||
7833 | ||
7834 | #define PTHREAD_BARRIER_SERIAL_THREAD -1 | |
7835 | ||
7836 | ||
7837 | ||
7838 | ||
7839 | struct _pthread_cleanup_buffer | |
7840 | { | |
7841 | void (*__routine) (void *); | |
7842 | void *__arg; | |
7843 | int __canceltype; | |
7844 | struct _pthread_cleanup_buffer *__prev; | |
7845 | }; | |
7846 | ||
7847 | ||
7848 | ||
7849 | enum | |
7850 | { | |
7851 | PTHREAD_CANCEL_ENABLE, | |
7852 | #define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE | |
7853 | PTHREAD_CANCEL_DISABLE | |
7854 | #define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE | |
7855 | }; | |
7856 | enum | |
7857 | { | |
7858 | PTHREAD_CANCEL_DEFERRED, | |
7859 | #define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED | |
7860 | PTHREAD_CANCEL_ASYNCHRONOUS | |
7861 | #define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS | |
7862 | }; | |
7863 | #define PTHREAD_CANCELED ((void *) -1) | |
7864 | ||
7865 | ||
7866 | ||
7867 | ||
7868 | ||
7869 | ||
7870 | ||
7871 | extern int pthread_create (pthread_t *__restrict __threadp, | |
7872 | __const pthread_attr_t *__restrict __attr, | |
7873 | void *(*__start_routine) (void *), | |
7874 | void *__restrict __arg) throw (); | |
7875 | ||
7876 | ||
7877 | extern pthread_t pthread_self (void) throw (); | |
7878 | ||
7879 | ||
7880 | extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw (); | |
7881 | ||
7882 | ||
7883 | extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); | |
7884 | ||
7885 | ||
7886 | ||
7887 | ||
7888 | extern int pthread_join (pthread_t __th, void **__thread_return); | |
7889 | ||
7890 | ||
7891 | ||
7892 | ||
7893 | ||
7894 | extern int pthread_detach (pthread_t __th) throw (); | |
7895 | ||
7896 | ||
7897 | ||
7898 | ||
7899 | ||
7900 | ||
7901 | ||
7902 | extern int pthread_attr_init (pthread_attr_t *__attr) throw (); | |
7903 | ||
7904 | ||
7905 | extern int pthread_attr_destroy (pthread_attr_t *__attr) throw (); | |
7906 | ||
7907 | ||
7908 | extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, | |
7909 | int __detachstate) throw (); | |
7910 | ||
7911 | ||
7912 | extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, | |
7913 | int *__detachstate) throw (); | |
7914 | ||
7915 | ||
7916 | extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, | |
7917 | __const struct sched_param *__restrict | |
7918 | __param) throw (); | |
7919 | ||
7920 | ||
7921 | extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict | |
7922 | __attr, | |
7923 | struct sched_param *__restrict __param) | |
7924 | throw (); | |
7925 | ||
7926 | ||
7927 | extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) | |
7928 | throw (); | |
7929 | ||
7930 | ||
7931 | extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict | |
7932 | __attr, int *__restrict __policy) | |
7933 | throw (); | |
7934 | ||
7935 | ||
7936 | extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, | |
7937 | int __inherit) throw (); | |
7938 | ||
7939 | ||
7940 | extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict | |
7941 | __attr, int *__restrict __inherit) | |
7942 | throw (); | |
7943 | ||
7944 | ||
7945 | extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) | |
7946 | throw (); | |
7947 | ||
7948 | ||
7949 | extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr, | |
7950 | int *__restrict __scope) throw (); | |
7951 | ||
7952 | ||
7953 | ||
7954 | extern int pthread_attr_setguardsize (pthread_attr_t *__attr, | |
7955 | size_t __guardsize) throw (); | |
7956 | ||
7957 | ||
7958 | extern int pthread_attr_getguardsize (__const pthread_attr_t *__restrict | |
7959 | __attr, size_t *__restrict __guardsize) | |
7960 | throw (); | |
7961 | ||
7962 | ||
7963 | ||
7964 | ||
7965 | ||
7966 | ||
7967 | extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, | |
7968 | void *__stackaddr) throw (); | |
7969 | ||
7970 | ||
7971 | extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict | |
7972 | __attr, void **__restrict __stackaddr) | |
7973 | throw (); | |
7974 | ||
7975 | ||
7976 | ||
7977 | ||
7978 | ||
7979 | extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, | |
7980 | size_t __stacksize) throw (); | |
7981 | ||
7982 | ||
7983 | extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr, | |
7984 | void **__restrict __stackaddr, | |
7985 | size_t *__restrict __stacksize) throw (); | |
7986 | ||
7987 | ||
7988 | ||
7989 | ||
7990 | ||
7991 | extern int pthread_attr_setstacksize (pthread_attr_t *__attr, | |
7992 | size_t __stacksize) throw (); | |
7993 | ||
7994 | ||
7995 | extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict | |
7996 | __attr, size_t *__restrict __stacksize) | |
7997 | throw (); | |
7998 | # 306 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 3 4 | |
7999 | extern int pthread_setschedparam (pthread_t __target_thread, int __policy, | |
8000 | __const struct sched_param *__param) | |
8001 | throw (); | |
8002 | ||
8003 | ||
8004 | extern int pthread_getschedparam (pthread_t __target_thread, | |
8005 | int *__restrict __policy, | |
8006 | struct sched_param *__restrict __param) | |
8007 | throw (); | |
8008 | ||
8009 | ||
8010 | ||
8011 | extern int pthread_getconcurrency (void) throw (); | |
8012 | ||
8013 | ||
8014 | extern int pthread_setconcurrency (int __level) throw (); | |
8015 | ||
8016 | ||
8017 | ||
8018 | ||
8019 | ||
8020 | ||
8021 | extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex, | |
8022 | __const pthread_mutexattr_t *__restrict | |
8023 | __mutex_attr) throw (); | |
8024 | ||
8025 | ||
8026 | extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw (); | |
8027 | ||
8028 | ||
8029 | extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw (); | |
8030 | ||
8031 | ||
8032 | extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw (); | |
8033 | ||
8034 | ||
8035 | ||
8036 | extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, | |
8037 | __const struct timespec *__restrict | |
8038 | __abstime) throw (); | |
8039 | ||
8040 | ||
8041 | ||
8042 | extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw (); | |
8043 | ||
8044 | ||
8045 | ||
8046 | ||
8047 | ||
8048 | ||
8049 | extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw (); | |
8050 | ||
8051 | ||
8052 | extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw (); | |
8053 | ||
8054 | ||
8055 | extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t * | |
8056 | __restrict __attr, | |
8057 | int *__restrict __pshared) throw (); | |
8058 | ||
8059 | ||
8060 | extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, | |
8061 | int __pshared) throw (); | |
8062 | ||
8063 | ||
8064 | ||
8065 | ||
8066 | ||
8067 | extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) | |
8068 | throw (); | |
8069 | ||
8070 | ||
8071 | extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict | |
8072 | __attr, int *__restrict __kind) throw (); | |
8073 | ||
8074 | ||
8075 | ||
8076 | ||
8077 | ||
8078 | ||
8079 | ||
8080 | extern int pthread_cond_init (pthread_cond_t *__restrict __cond, | |
8081 | __const pthread_condattr_t *__restrict | |
8082 | __cond_attr) throw (); | |
8083 | ||
8084 | ||
8085 | extern int pthread_cond_destroy (pthread_cond_t *__cond) throw (); | |
8086 | ||
8087 | ||
8088 | extern int pthread_cond_signal (pthread_cond_t *__cond) throw (); | |
8089 | ||
8090 | ||
8091 | extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw (); | |
8092 | ||
8093 | ||
8094 | ||
8095 | extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, | |
8096 | pthread_mutex_t *__restrict __mutex); | |
8097 | ||
8098 | ||
8099 | ||
8100 | ||
8101 | ||
8102 | extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, | |
8103 | pthread_mutex_t *__restrict __mutex, | |
8104 | __const struct timespec *__restrict | |
8105 | __abstime); | |
8106 | ||
8107 | ||
8108 | ||
8109 | ||
8110 | extern int pthread_condattr_init (pthread_condattr_t *__attr) throw (); | |
8111 | ||
8112 | ||
8113 | extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw (); | |
8114 | ||
8115 | ||
8116 | extern int pthread_condattr_getpshared (__const pthread_condattr_t * | |
8117 | __restrict __attr, | |
8118 | int *__restrict __pshared) throw (); | |
8119 | ||
8120 | ||
8121 | extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, | |
8122 | int __pshared) throw (); | |
8123 | ||
8124 | ||
8125 | ||
8126 | ||
8127 | ||
8128 | ||
8129 | ||
8130 | extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, | |
8131 | __const pthread_rwlockattr_t *__restrict | |
8132 | __attr) throw (); | |
8133 | ||
8134 | ||
8135 | extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw (); | |
8136 | ||
8137 | ||
8138 | extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw (); | |
8139 | ||
8140 | ||
8141 | extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw (); | |
8142 | ||
8143 | ||
8144 | ||
8145 | extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, | |
8146 | __const struct timespec *__restrict | |
8147 | __abstime) throw (); | |
8148 | ||
8149 | ||
8150 | ||
8151 | extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw (); | |
8152 | ||
8153 | ||
8154 | extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw (); | |
8155 | ||
8156 | ||
8157 | ||
8158 | extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, | |
8159 | __const struct timespec *__restrict | |
8160 | __abstime) throw (); | |
8161 | ||
8162 | ||
8163 | ||
8164 | extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw (); | |
8165 | ||
8166 | ||
8167 | ||
8168 | ||
8169 | ||
8170 | extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw (); | |
8171 | ||
8172 | ||
8173 | extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw (); | |
8174 | ||
8175 | ||
8176 | extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t * | |
8177 | __restrict __attr, | |
8178 | int *__restrict __pshared) throw (); | |
8179 | ||
8180 | ||
8181 | extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, | |
8182 | int __pshared) throw (); | |
8183 | ||
8184 | ||
8185 | extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *__attr, | |
8186 | int *__pref) throw (); | |
8187 | ||
8188 | ||
8189 | extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, | |
8190 | int __pref) throw (); | |
8191 | # 557 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 3 4 | |
8192 | extern int pthread_key_create (pthread_key_t *__key, | |
8193 | void (*__destr_function) (void *)) throw (); | |
8194 | ||
8195 | ||
8196 | extern int pthread_key_delete (pthread_key_t __key) throw (); | |
8197 | ||
8198 | ||
8199 | extern int pthread_setspecific (pthread_key_t __key, | |
8200 | __const void *__pointer) throw (); | |
8201 | ||
8202 | ||
8203 | extern void *pthread_getspecific (pthread_key_t __key) throw (); | |
8204 | # 580 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 3 4 | |
8205 | extern int pthread_once (pthread_once_t *__once_control, | |
8206 | void (*__init_routine) (void)); | |
8207 | ||
8208 | ||
8209 | ||
8210 | ||
8211 | ||
8212 | ||
8213 | extern int pthread_setcancelstate (int __state, int *__oldstate); | |
8214 | ||
8215 | ||
8216 | ||
8217 | extern int pthread_setcanceltype (int __type, int *__oldtype); | |
8218 | ||
8219 | ||
8220 | extern int pthread_cancel (pthread_t __cancelthread); | |
8221 | ||
8222 | ||
8223 | ||
8224 | ||
8225 | extern void pthread_testcancel (void); | |
8226 | # 610 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 3 4 | |
8227 | #define pthread_cleanup_push(routine,arg) { struct _pthread_cleanup_buffer _buffer; _pthread_cleanup_push (&_buffer, (routine), (arg)); | |
8228 | ||
8229 | ||
8230 | ||
8231 | extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, | |
8232 | void (*__routine) (void *), | |
8233 | void *__arg) throw (); | |
8234 | ||
8235 | ||
8236 | ||
8237 | ||
8238 | #define pthread_cleanup_pop(execute) _pthread_cleanup_pop (&_buffer, (execute)); } | |
8239 | ||
8240 | ||
8241 | extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, | |
8242 | int __execute) throw (); | |
8243 | ||
8244 | ||
8245 | ||
8246 | ||
8247 | ||
8248 | #define pthread_cleanup_push_defer_np(routine,arg) { struct _pthread_cleanup_buffer _buffer; _pthread_cleanup_push_defer (&_buffer, (routine), (arg)); | |
8249 | ||
8250 | ||
8251 | ||
8252 | extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer, | |
8253 | void (*__routine) (void *), | |
8254 | void *__arg) throw (); | |
8255 | extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer, | |
8256 | void (*__routine) (void *), | |
8257 | void *__arg) throw (); | |
8258 | ||
8259 | ||
8260 | ||
8261 | ||
8262 | ||
8263 | #define pthread_cleanup_pop_restore_np(execute) _pthread_cleanup_pop_restore (&_buffer, (execute)); } | |
8264 | ||
8265 | ||
8266 | extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer, | |
8267 | int __execute) throw (); | |
8268 | extern void __pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer, | |
8269 | int __execute) throw (); | |
8270 | # 668 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 3 4 | |
8271 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sigthread.h" 1 3 4 | |
8272 | # 21 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sigthread.h" 3 4 | |
8273 | #define _BITS_SIGTHREAD_H 1 | |
8274 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sigthread.h" 3 4 | |
8275 | extern int pthread_sigmask (int __how, | |
8276 | __const __sigset_t *__restrict __newmask, | |
8277 | __sigset_t *__restrict __oldmask)throw (); | |
8278 | ||
8279 | ||
8280 | extern int pthread_kill (pthread_t __threadid, int __signo) throw (); | |
8281 | # 669 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 2 3 4 | |
8282 | # 684 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/pthread.h" 3 4 | |
8283 | extern int pthread_atfork (void (*__prepare) (void), | |
8284 | void (*__parent) (void), | |
8285 | void (*__child) (void)) throw (); | |
8286 | ||
8287 | ||
8288 | ||
8289 | ||
8290 | extern void pthread_kill_other_threads_np (void) throw (); | |
8291 | ||
8292 | } | |
8293 | # 16 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_mutex.h" 2 3 4 | |
8294 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_pthread.h" 1 3 4 | |
8295 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_pthread.h" 3 4 | |
8296 | #define _UCLIBC_PTHREAD_H | |
8297 | # 17 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_mutex.h" 2 3 4 | |
8298 | ||
8299 | #define __UCLIBC_MUTEX_TYPE pthread_mutex_t | |
8300 | ||
8301 | #define __UCLIBC_MUTEX(M) pthread_mutex_t M | |
8302 | #define __UCLIBC_MUTEX_INIT(M,I) pthread_mutex_t M = I | |
8303 | #define __UCLIBC_MUTEX_STATIC(M,I) static pthread_mutex_t M = I | |
8304 | #define __UCLIBC_MUTEX_EXTERN(M) extern pthread_mutex_t M | |
8305 | ||
8306 | #define __UCLIBC_MUTEX_LOCK_CANCEL_UNSAFE(M) __pthread_mutex_lock(&(M)) | |
8307 | ||
8308 | ||
8309 | #define __UCLIBC_MUTEX_UNLOCK_CANCEL_UNSAFE(M) __pthread_mutex_unlock(&(M)) | |
8310 | ||
8311 | ||
8312 | #define __UCLIBC_MUTEX_TRYLOCK_CANCEL_UNSAFE(M) __pthread_mutex_trylock(&(M)) | |
8313 | ||
8314 | ||
8315 | #define __UCLIBC_MUTEX_CONDITIONAL_LOCK(M,C) do { struct _pthread_cleanup_buffer __infunc_pthread_cleanup_buffer; if (C) { _pthread_cleanup_push_defer(&__infunc_pthread_cleanup_buffer, (void (*) (void *))__pthread_mutex_unlock, &(M)); __pthread_mutex_lock(&(M)); } ((void)0) | |
8316 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_mutex.h" 3 4 | |
8317 | #define __UCLIBC_MUTEX_CONDITIONAL_UNLOCK(M,C) if (C) { _pthread_cleanup_pop_restore(&__infunc_pthread_cleanup_buffer,1); } } while (0) | |
8318 | ||
8319 | ||
8320 | ||
8321 | ||
8322 | ||
8323 | #define __UCLIBC_MUTEX_AUTO_LOCK_VAR(A) int A | |
8324 | ||
8325 | #define __UCLIBC_MUTEX_AUTO_LOCK(M,A,V) __UCLIBC_MUTEX_CONDITIONAL_LOCK(M,((A=(V)) == 0)) | |
8326 | ||
8327 | ||
8328 | #define __UCLIBC_MUTEX_AUTO_UNLOCK(M,A) __UCLIBC_MUTEX_CONDITIONAL_UNLOCK(M,(A == 0)) | |
8329 | ||
8330 | ||
8331 | #define __UCLIBC_MUTEX_LOCK(M) __UCLIBC_MUTEX_CONDITIONAL_LOCK(M, 1) | |
8332 | ||
8333 | ||
8334 | #define __UCLIBC_MUTEX_UNLOCK(M) __UCLIBC_MUTEX_CONDITIONAL_UNLOCK(M, 1) | |
8335 | # 108 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 2 3 4 | |
8336 | # 121 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8337 | #define __STDIO_AUTO_THREADLOCK_VAR __UCLIBC_MUTEX_AUTO_LOCK_VAR(__infunc_user_locking) | |
8338 | ||
8339 | ||
8340 | #define __STDIO_AUTO_THREADLOCK(__stream) __UCLIBC_MUTEX_AUTO_LOCK((__stream)->__lock, __infunc_user_locking, (__stream)->__user_locking) | |
8341 | ||
8342 | ||
8343 | ||
8344 | #define __STDIO_AUTO_THREADUNLOCK(__stream) __UCLIBC_MUTEX_AUTO_UNLOCK((__stream)->__lock, __infunc_user_locking) | |
8345 | ||
8346 | ||
8347 | #define __STDIO_ALWAYS_THREADLOCK(__stream) __UCLIBC_MUTEX_LOCK((__stream)->__lock) | |
8348 | ||
8349 | ||
8350 | #define __STDIO_ALWAYS_THREADUNLOCK(__stream) __UCLIBC_MUTEX_UNLOCK((__stream)->__lock) | |
8351 | ||
8352 | ||
8353 | #define __STDIO_ALWAYS_THREADLOCK_CANCEL_UNSAFE(__stream) __UCLIBC_MUTEX_LOCK_CANCEL_UNSAFE((__stream)->__lock) | |
8354 | ||
8355 | ||
8356 | #define __STDIO_ALWAYS_THREADTRYLOCK_CANCEL_UNSAFE(__stream) __UCLIBC_MUTEX_TRYLOCK_CANCEL_UNSAFE((__stream)->__lock) | |
8357 | ||
8358 | ||
8359 | #define __STDIO_ALWAYS_THREADUNLOCK_CANCEL_UNSAFE(__stream) __UCLIBC_MUTEX_UNLOCK_CANCEL_UNSAFE((__stream)->__lock) | |
8360 | ||
8361 | ||
8362 | ||
8363 | #define __STDIO_SET_USER_LOCKING(__stream) ((__stream)->__user_locking = 1) | |
8364 | ||
8365 | ||
8366 | ||
8367 | ||
8368 | ||
8369 | ||
8370 | #define __STDIO_IOFBF 0 | |
8371 | #define __STDIO_IOLBF 1 | |
8372 | #define __STDIO_IONBF 2 | |
8373 | ||
8374 | typedef struct { | |
8375 | __off_t __pos; | |
8376 | ||
8377 | ||
8378 | ||
8379 | ||
8380 | ||
8381 | ||
8382 | } __STDIO_fpos_t; | |
8383 | ||
8384 | ||
8385 | typedef struct { | |
8386 | __off64_t __pos; | |
8387 | ||
8388 | ||
8389 | ||
8390 | ||
8391 | ||
8392 | ||
8393 | } __STDIO_fpos64_t; | |
8394 | ||
8395 | ||
8396 | ||
8397 | ||
8398 | typedef __off64_t __offmax_t; | |
8399 | # 221 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8400 | struct __STDIO_FILE_STRUCT { | |
8401 | unsigned short __modeflags; | |
8402 | ||
8403 | ||
8404 | ||
8405 | ||
8406 | ||
8407 | ||
8408 | ||
8409 | unsigned char __ungot[2]; | |
8410 | ||
8411 | int __filedes; | |
8412 | ||
8413 | unsigned char *__bufstart; | |
8414 | unsigned char *__bufend; | |
8415 | unsigned char *__bufpos; | |
8416 | unsigned char *__bufread; | |
8417 | ||
8418 | ||
8419 | unsigned char *__bufgetc_u; | |
8420 | ||
8421 | ||
8422 | unsigned char *__bufputc_u; | |
8423 | ||
8424 | ||
8425 | ||
8426 | ||
8427 | ||
8428 | struct __STDIO_FILE_STRUCT *__nextopen; | |
8429 | # 265 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8430 | int __user_locking; | |
8431 | pthread_mutex_t __lock; | |
8432 | ||
8433 | ||
8434 | ||
8435 | ||
8436 | ||
8437 | }; | |
8438 | # 293 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8439 | #define __MASK_READING 0x0003U | |
8440 | #define __FLAG_READING 0x0001U | |
8441 | #define __FLAG_UNGOT 0x0002U | |
8442 | #define __FLAG_EOF 0x0004U | |
8443 | #define __FLAG_ERROR 0x0008U | |
8444 | #define __FLAG_WRITEONLY 0x0010U | |
8445 | #define __FLAG_READONLY 0x0020U | |
8446 | #define __FLAG_WRITING 0x0040U | |
8447 | #define __FLAG_NARROW 0x0080U | |
8448 | ||
8449 | #define __FLAG_FBF 0x0000U | |
8450 | #define __FLAG_LBF 0x0100U | |
8451 | #define __FLAG_NBF 0x0200U | |
8452 | #define __MASK_BUFMODE 0x0300U | |
8453 | #define __FLAG_APPEND 0x0400U | |
8454 | #define __FLAG_WIDE 0x0800U | |
8455 | ||
8456 | #define __FLAG_FREEFILE 0x2000U | |
8457 | #define __FLAG_FREEBUF 0x4000U | |
8458 | #define __FLAG_LARGEFILE 0x8000U | |
8459 | #define __FLAG_FAILED_FREOPEN __FLAG_LARGEFILE | |
8460 | # 357 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8461 | #define __CLEARERR_UNLOCKED(__stream) ((void)((__stream)->__modeflags &= ~(__FLAG_EOF|__FLAG_ERROR))) | |
8462 | ||
8463 | #define __FEOF_UNLOCKED(__stream) ((__stream)->__modeflags & __FLAG_EOF) | |
8464 | #define __FERROR_UNLOCKED(__stream) ((__stream)->__modeflags & __FLAG_ERROR) | |
8465 | ||
8466 | ||
8467 | #define __CLEARERR(__stream) (clearerr)(__stream) | |
8468 | #define __FERROR(__stream) (ferror)(__stream) | |
8469 | #define __FEOF(__stream) (feof)(__stream) | |
8470 | ||
8471 | ||
8472 | ||
8473 | ||
8474 | ||
8475 | ||
8476 | extern int __fgetc_unlocked(FILE *__stream); | |
8477 | extern int __fputc_unlocked(int __c, FILE *__stream); | |
8478 | ||
8479 | ||
8480 | ||
8481 | #define __FGETC_UNLOCKED(__stream) (__fgetc_unlocked)((__stream)) | |
8482 | #define __FGETC(__stream) (fgetc)((__stream)) | |
8483 | #define __GETC_UNLOCKED_MACRO(__stream) (__fgetc_unlocked)((__stream)) | |
8484 | #define __GETC_UNLOCKED(__stream) (__fgetc_unlocked)((__stream)) | |
8485 | #define __GETC(__stream) (fgetc)((__stream)) | |
8486 | ||
8487 | #define __FPUTC_UNLOCKED(__c,__stream) (__fputc_unlocked)((__c),(__stream)) | |
8488 | #define __FPUTC(__c,__stream) (fputc)((__c),(__stream)) | |
8489 | #define __PUTC_UNLOCKED_MACRO(__c,__stream) (__fputc_unlocked)((__c),(__stream)) | |
8490 | #define __PUTC_UNLOCKED(__c,__stream) (__fputc_unlocked)((__c),(__stream)) | |
8491 | #define __PUTC(__c,__stream) (fputc)((__c),(__stream)) | |
8492 | ||
8493 | ||
8494 | ||
8495 | ||
8496 | extern FILE *__stdin; | |
8497 | ||
8498 | #undef __GETC_UNLOCKED_MACRO | |
8499 | #define __GETC_UNLOCKED_MACRO(__stream) ( ((__stream)->__bufpos < (__stream)->__bufgetc_u) ? (*(__stream)->__bufpos++) : __fgetc_unlocked(__stream) ) | |
8500 | # 411 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8501 | #undef __FGETC_UNLOCKED | |
8502 | #define __FGETC_UNLOCKED(__stream) (__extension__ ({ FILE *__S = (__stream); __GETC_UNLOCKED_MACRO(__S); }) ) | |
8503 | ||
8504 | ||
8505 | ||
8506 | ||
8507 | ||
8508 | #undef __GETC_UNLOCKED | |
8509 | #define __GETC_UNLOCKED(__stream) __FGETC_UNLOCKED((__stream)) | |
8510 | ||
8511 | ||
8512 | #undef __FGETC | |
8513 | #define __FGETC(__stream) (__extension__ ({ FILE *__S = (__stream); ((__S->__user_locking ) ? __GETC_UNLOCKED_MACRO(__S) : (fgetc)(__S)); }) ) | |
8514 | ||
8515 | ||
8516 | ||
8517 | ||
8518 | ||
8519 | ||
8520 | ||
8521 | #undef __GETC | |
8522 | #define __GETC(__stream) __FGETC((__stream)) | |
8523 | # 451 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8524 | extern FILE *__stdout; | |
8525 | ||
8526 | #undef __PUTC_UNLOCKED_MACRO | |
8527 | #define __PUTC_UNLOCKED_MACRO(__c,__stream) ( ((__stream)->__bufpos < (__stream)->__bufputc_u) ? (*(__stream)->__bufpos++) = (__c) : __fputc_unlocked((__c),(__stream)) ) | |
8528 | # 472 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4 | |
8529 | #undef __FPUTC_UNLOCKED | |
8530 | #define __FPUTC_UNLOCKED(__c,__stream) (__extension__ ({ FILE *__S = (__stream); __PUTC_UNLOCKED_MACRO((__c),__S); }) ) | |
8531 | ||
8532 | ||
8533 | ||
8534 | ||
8535 | ||
8536 | #undef __PUTC_UNLOCKED | |
8537 | #define __PUTC_UNLOCKED(__c,__stream) __FPUTC_UNLOCKED((__c), (__stream)) | |
8538 | ||
8539 | ||
8540 | #undef __FPUTC | |
8541 | #define __FPUTC(__c,__stream) (__extension__ ({ FILE *__S = (__stream); ((__S->__user_locking) ? __PUTC_UNLOCKED_MACRO((__c),__S) : (fputc)((__c),__S)); }) ) | |
8542 | ||
8543 | ||
8544 | ||
8545 | ||
8546 | ||
8547 | ||
8548 | ||
8549 | #undef __PUTC | |
8550 | #define __PUTC(__c,__stream) __FPUTC((__c), (__stream)) | |
8551 | # 73 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 2 3 4 | |
8552 | ||
8553 | ||
8554 | #define __need___va_list | |
8555 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stdarg.h" 1 3 4 | |
8556 | # 37 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stdarg.h" 3 4 | |
8557 | #undef __need___va_list | |
8558 | ||
8559 | ||
8560 | ||
8561 | ||
8562 | #define __GNUC_VA_LIST | |
8563 | typedef __builtin_va_list __gnuc_va_list; | |
8564 | # 77 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 2 3 4 | |
8565 | ||
8566 | ||
8567 | ||
8568 | ||
8569 | typedef __STDIO_fpos_t fpos_t; | |
8570 | ||
8571 | ||
8572 | ||
8573 | ||
8574 | ||
8575 | typedef __STDIO_fpos64_t fpos64_t; | |
8576 | ||
8577 | ||
8578 | ||
8579 | #define _IOFBF __STDIO_IOFBF | |
8580 | #define _IOLBF __STDIO_IOLBF | |
8581 | #define _IONBF __STDIO_IONBF | |
8582 | ||
8583 | ||
8584 | ||
8585 | ||
8586 | #define BUFSIZ __STDIO_BUFSIZ | |
8587 | ||
8588 | ||
8589 | ||
8590 | ||
8591 | ||
8592 | ||
8593 | #define EOF (-1) | |
8594 | ||
8595 | ||
8596 | ||
8597 | ||
8598 | ||
8599 | #define SEEK_SET 0 | |
8600 | #define SEEK_CUR 1 | |
8601 | #define SEEK_END 2 | |
8602 | ||
8603 | ||
8604 | ||
8605 | ||
8606 | #define P_tmpdir "/tmp" | |
8607 | # 131 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8608 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/stdio_lim.h" 1 3 4 | |
8609 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/stdio_lim.h" 3 4 | |
8610 | #define L_tmpnam 20 | |
8611 | #define TMP_MAX 238328 | |
8612 | #define FILENAME_MAX 4095 | |
8613 | ||
8614 | ||
8615 | #define L_ctermid 9 | |
8616 | #define L_cuserid 9 | |
8617 | ||
8618 | ||
8619 | ||
8620 | ||
8621 | #undef FOPEN_MAX | |
8622 | #define FOPEN_MAX 16 | |
8623 | # 132 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 2 3 4 | |
8624 | ||
8625 | ||
8626 | ||
8627 | extern FILE *stdin; | |
8628 | extern FILE *stdout; | |
8629 | extern FILE *stderr; | |
8630 | ||
8631 | #define stdin stdin | |
8632 | #define stdout stdout | |
8633 | #define stderr stderr | |
8634 | ||
8635 | ||
8636 | ||
8637 | extern int remove (__const char *__filename) throw (); | |
8638 | ||
8639 | extern int rename (__const char *__old, __const char *__new) throw (); | |
8640 | ||
8641 | ||
8642 | ||
8643 | ||
8644 | ||
8645 | ||
8646 | ||
8647 | ||
8648 | ||
8649 | extern FILE *tmpfile (void) ; | |
8650 | # 167 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8651 | extern FILE *tmpfile64 (void) ; | |
8652 | ||
8653 | ||
8654 | ||
8655 | extern char *tmpnam (char *__s) throw () ; | |
8656 | ||
8657 | ||
8658 | ||
8659 | ||
8660 | ||
8661 | extern char *tmpnam_r (char *__s) throw () ; | |
8662 | # 189 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8663 | extern char *tempnam (__const char *__dir, __const char *__pfx) | |
8664 | throw () __attribute__ ((__malloc__)) ; | |
8665 | ||
8666 | ||
8667 | ||
8668 | ||
8669 | ||
8670 | ||
8671 | ||
8672 | ||
8673 | extern int fclose (FILE *__stream); | |
8674 | ||
8675 | ||
8676 | ||
8677 | ||
8678 | extern int fflush (FILE *__stream); | |
8679 | ||
8680 | # 214 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8681 | extern int fflush_unlocked (FILE *__stream); | |
8682 | # 224 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8683 | extern int fcloseall (void); | |
8684 | ||
8685 | ||
8686 | ||
8687 | ||
8688 | ||
8689 | ||
8690 | ||
8691 | ||
8692 | ||
8693 | extern FILE *fopen (__const char *__restrict __filename, | |
8694 | __const char *__restrict __modes) ; | |
8695 | ||
8696 | ||
8697 | ||
8698 | ||
8699 | extern FILE *freopen (__const char *__restrict __filename, | |
8700 | __const char *__restrict __modes, | |
8701 | FILE *__restrict __stream) ; | |
8702 | # 257 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8703 | ||
8704 | ||
8705 | extern FILE *fopen64 (__const char *__restrict __filename, | |
8706 | __const char *__restrict __modes) ; | |
8707 | extern FILE *freopen64 (__const char *__restrict __filename, | |
8708 | __const char *__restrict __modes, | |
8709 | FILE *__restrict __stream) ; | |
8710 | ||
8711 | ||
8712 | ||
8713 | ||
8714 | extern FILE *fdopen (int __fd, __const char *__modes) throw () ; | |
8715 | # 292 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8716 | ||
8717 | ||
8718 | ||
8719 | extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); | |
8720 | ||
8721 | ||
8722 | ||
8723 | extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, | |
8724 | int __modes, size_t __n) throw (); | |
8725 | ||
8726 | ||
8727 | ||
8728 | ||
8729 | ||
8730 | extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, | |
8731 | size_t __size) throw (); | |
8732 | ||
8733 | ||
8734 | extern void setlinebuf (FILE *__stream) throw (); | |
8735 | ||
8736 | ||
8737 | ||
8738 | ||
8739 | ||
8740 | ||
8741 | ||
8742 | ||
8743 | extern int fprintf (FILE *__restrict __stream, | |
8744 | __const char *__restrict __format, ...); | |
8745 | ||
8746 | ||
8747 | ||
8748 | ||
8749 | extern int printf (__const char *__restrict __format, ...); | |
8750 | ||
8751 | extern int sprintf (char *__restrict __s, | |
8752 | __const char *__restrict __format, ...) throw (); | |
8753 | ||
8754 | ||
8755 | ||
8756 | ||
8757 | ||
8758 | extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, | |
8759 | __gnuc_va_list __arg); | |
8760 | ||
8761 | ||
8762 | ||
8763 | ||
8764 | extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); | |
8765 | ||
8766 | extern int vsprintf (char *__restrict __s, __const char *__restrict __format, | |
8767 | __gnuc_va_list __arg) throw (); | |
8768 | ||
8769 | ||
8770 | ||
8771 | ||
8772 | ||
8773 | extern int snprintf (char *__restrict __s, size_t __maxlen, | |
8774 | __const char *__restrict __format, ...) | |
8775 | throw () __attribute__ ((__format__ (__printf__, 3, 4))); | |
8776 | ||
8777 | extern int vsnprintf (char *__restrict __s, size_t __maxlen, | |
8778 | __const char *__restrict __format, __gnuc_va_list __arg) | |
8779 | throw () __attribute__ ((__format__ (__printf__, 3, 0))); | |
8780 | ||
8781 | ||
8782 | ||
8783 | ||
8784 | ||
8785 | ||
8786 | extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, | |
8787 | __gnuc_va_list __arg) | |
8788 | throw () __attribute__ ((__format__ (__printf__, 2, 0))) ; | |
8789 | ||
8790 | ||
8791 | ||
8792 | ||
8793 | ||
8794 | extern int asprintf (char **__restrict __ptr, | |
8795 | __const char *__restrict __fmt, ...) | |
8796 | throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; | |
8797 | ||
8798 | ||
8799 | ||
8800 | ||
8801 | ||
8802 | ||
8803 | ||
8804 | extern int vdprintf (int __fd, __const char *__restrict __fmt, | |
8805 | __gnuc_va_list __arg) | |
8806 | __attribute__ ((__format__ (__printf__, 2, 0))); | |
8807 | extern int dprintf (int __fd, __const char *__restrict __fmt, ...) | |
8808 | __attribute__ ((__format__ (__printf__, 2, 3))); | |
8809 | ||
8810 | ||
8811 | ||
8812 | ||
8813 | ||
8814 | ||
8815 | ||
8816 | ||
8817 | extern int fscanf (FILE *__restrict __stream, | |
8818 | __const char *__restrict __format, ...) ; | |
8819 | ||
8820 | ||
8821 | ||
8822 | ||
8823 | extern int scanf (__const char *__restrict __format, ...) ; | |
8824 | ||
8825 | extern int sscanf (__const char *__restrict __s, | |
8826 | __const char *__restrict __format, ...) throw (); | |
8827 | ||
8828 | ||
8829 | ||
8830 | ||
8831 | ||
8832 | ||
8833 | ||
8834 | ||
8835 | extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, | |
8836 | __gnuc_va_list __arg) | |
8837 | __attribute__ ((__format__ (__scanf__, 2, 0))) ; | |
8838 | ||
8839 | ||
8840 | ||
8841 | ||
8842 | ||
8843 | extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) | |
8844 | __attribute__ ((__format__ (__scanf__, 1, 0))) ; | |
8845 | ||
8846 | ||
8847 | extern int vsscanf (__const char *__restrict __s, | |
8848 | __const char *__restrict __format, __gnuc_va_list __arg) | |
8849 | throw () __attribute__ ((__format__ (__scanf__, 2, 0))); | |
8850 | ||
8851 | ||
8852 | ||
8853 | ||
8854 | ||
8855 | ||
8856 | ||
8857 | ||
8858 | ||
8859 | extern int fgetc (FILE *__stream); | |
8860 | extern int getc (FILE *__stream); | |
8861 | ||
8862 | ||
8863 | ||
8864 | ||
8865 | ||
8866 | extern int getchar (void); | |
8867 | ||
8868 | ||
8869 | ||
8870 | ||
8871 | #define getc(_fp) __GETC(_fp) | |
8872 | ||
8873 | ||
8874 | ||
8875 | ||
8876 | ||
8877 | ||
8878 | extern int getc_unlocked (FILE *__stream); | |
8879 | extern int getchar_unlocked (void); | |
8880 | ||
8881 | ||
8882 | #define getc_unlocked(_fp) __GETC_UNLOCKED(_fp) | |
8883 | # 468 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8884 | extern int fgetc_unlocked (FILE *__stream); | |
8885 | ||
8886 | ||
8887 | ||
8888 | ||
8889 | ||
8890 | ||
8891 | ||
8892 | ||
8893 | ||
8894 | ||
8895 | ||
8896 | extern int fputc (int __c, FILE *__stream); | |
8897 | extern int putc (int __c, FILE *__stream); | |
8898 | ||
8899 | ||
8900 | ||
8901 | ||
8902 | ||
8903 | extern int putchar (int __c); | |
8904 | ||
8905 | ||
8906 | ||
8907 | ||
8908 | #define putc(_ch,_fp) __PUTC(_ch, _fp) | |
8909 | # 501 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8910 | extern int fputc_unlocked (int __c, FILE *__stream); | |
8911 | ||
8912 | ||
8913 | ||
8914 | ||
8915 | ||
8916 | ||
8917 | ||
8918 | extern int putc_unlocked (int __c, FILE *__stream); | |
8919 | extern int putchar_unlocked (int __c); | |
8920 | ||
8921 | ||
8922 | #define putc_unlocked(_ch,_fp) __PUTC_UNLOCKED(_ch, _fp) | |
8923 | ||
8924 | ||
8925 | ||
8926 | ||
8927 | ||
8928 | ||
8929 | extern int getw (FILE *__stream); | |
8930 | ||
8931 | ||
8932 | extern int putw (int __w, FILE *__stream); | |
8933 | ||
8934 | ||
8935 | ||
8936 | ||
8937 | ||
8938 | ||
8939 | ||
8940 | ||
8941 | extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) | |
8942 | ; | |
8943 | ||
8944 | ||
8945 | ||
8946 | ||
8947 | ||
8948 | ||
8949 | extern char *gets (char *__s) ; | |
8950 | ||
8951 | # 550 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8952 | extern char *fgets_unlocked (char *__restrict __s, int __n, | |
8953 | FILE *__restrict __stream) ; | |
8954 | # 571 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
8955 | extern __ssize_t getdelim (char **__restrict __lineptr, | |
8956 | size_t *__restrict __n, int __delimiter, | |
8957 | FILE *__restrict __stream) ; | |
8958 | ||
8959 | ||
8960 | ||
8961 | ||
8962 | ||
8963 | ||
8964 | ||
8965 | extern __ssize_t getline (char **__restrict __lineptr, | |
8966 | size_t *__restrict __n, | |
8967 | FILE *__restrict __stream) ; | |
8968 | ||
8969 | ||
8970 | ||
8971 | ||
8972 | ||
8973 | ||
8974 | ||
8975 | ||
8976 | extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); | |
8977 | ||
8978 | ||
8979 | ||
8980 | ||
8981 | ||
8982 | extern int puts (__const char *__s); | |
8983 | ||
8984 | ||
8985 | ||
8986 | ||
8987 | ||
8988 | ||
8989 | extern int ungetc (int __c, FILE *__stream); | |
8990 | ||
8991 | ||
8992 | ||
8993 | ||
8994 | ||
8995 | ||
8996 | extern size_t fread (void *__restrict __ptr, size_t __size, | |
8997 | size_t __n, FILE *__restrict __stream) ; | |
8998 | ||
8999 | ||
9000 | ||
9001 | ||
9002 | extern size_t fwrite (__const void *__restrict __ptr, size_t __size, | |
9003 | size_t __n, FILE *__restrict __s) ; | |
9004 | ||
9005 | # 629 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9006 | extern int fputs_unlocked (__const char *__restrict __s, | |
9007 | FILE *__restrict __stream); | |
9008 | # 640 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9009 | extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, | |
9010 | size_t __n, FILE *__restrict __stream) ; | |
9011 | extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, | |
9012 | size_t __n, FILE *__restrict __stream) ; | |
9013 | ||
9014 | ||
9015 | ||
9016 | ||
9017 | ||
9018 | ||
9019 | ||
9020 | ||
9021 | extern int fseek (FILE *__stream, long int __off, int __whence); | |
9022 | ||
9023 | ||
9024 | ||
9025 | ||
9026 | extern long int ftell (FILE *__stream) ; | |
9027 | ||
9028 | ||
9029 | ||
9030 | ||
9031 | extern void rewind (FILE *__stream); | |
9032 | ||
9033 | # 676 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9034 | extern int fseeko (FILE *__stream, __off_t __off, int __whence); | |
9035 | ||
9036 | ||
9037 | ||
9038 | ||
9039 | extern __off_t ftello (FILE *__stream) ; | |
9040 | # 695 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9041 | ||
9042 | ||
9043 | ||
9044 | ||
9045 | ||
9046 | ||
9047 | extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); | |
9048 | ||
9049 | ||
9050 | ||
9051 | ||
9052 | extern int fsetpos (FILE *__stream, __const fpos_t *__pos); | |
9053 | # 718 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9054 | ||
9055 | ||
9056 | ||
9057 | extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); | |
9058 | extern __off64_t ftello64 (FILE *__stream) ; | |
9059 | extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); | |
9060 | extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); | |
9061 | ||
9062 | ||
9063 | ||
9064 | ||
9065 | extern void clearerr (FILE *__stream) throw (); | |
9066 | ||
9067 | extern int feof (FILE *__stream) throw () ; | |
9068 | ||
9069 | extern int ferror (FILE *__stream) throw () ; | |
9070 | ||
9071 | ||
9072 | ||
9073 | ||
9074 | extern void clearerr_unlocked (FILE *__stream) throw (); | |
9075 | extern int feof_unlocked (FILE *__stream) throw () ; | |
9076 | extern int ferror_unlocked (FILE *__stream) throw () ; | |
9077 | ||
9078 | ||
9079 | ||
9080 | ||
9081 | ||
9082 | ||
9083 | ||
9084 | ||
9085 | extern void perror (__const char *__s); | |
9086 | ||
9087 | # 764 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9088 | extern int fileno (FILE *__stream) throw () ; | |
9089 | ||
9090 | ||
9091 | ||
9092 | ||
9093 | extern int fileno_unlocked (FILE *__stream) throw () ; | |
9094 | # 779 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9095 | extern FILE *popen (__const char *__command, __const char *__modes) ; | |
9096 | ||
9097 | ||
9098 | ||
9099 | ||
9100 | ||
9101 | extern int pclose (FILE *__stream); | |
9102 | ||
9103 | ||
9104 | ||
9105 | ||
9106 | ||
9107 | extern char *ctermid (char *__s) throw (); | |
9108 | ||
9109 | ||
9110 | ||
9111 | ||
9112 | ||
9113 | extern char *cuserid (char *__s); | |
9114 | # 819 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9115 | extern void flockfile (FILE *__stream) throw (); | |
9116 | ||
9117 | ||
9118 | ||
9119 | extern int ftrylockfile (FILE *__stream) throw () ; | |
9120 | ||
9121 | ||
9122 | extern void funlockfile (FILE *__stream) throw (); | |
9123 | # 839 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4 | |
9124 | #define fgetc(_fp) __FGETC(_fp) | |
9125 | #define fputc(_ch,_fp) __FPUTC(_ch, _fp) | |
9126 | ||
9127 | ||
9128 | #define fgetc_unlocked(_fp) __FGETC_UNLOCKED(_fp) | |
9129 | #define fputc_unlocked(_ch,_fp) __FPUTC_UNLOCKED(_ch, _fp) | |
9130 | ||
9131 | ||
9132 | ||
9133 | ||
9134 | ||
9135 | #define getchar() __GETC(__stdin) | |
9136 | ||
9137 | ||
9138 | ||
9139 | ||
9140 | #define putchar(_ch) __PUTC((_ch), __stdout) | |
9141 | ||
9142 | ||
9143 | #define getchar_unlocked() __GETC_UNLOCKED(__stdin) | |
9144 | #define putchar_unlocked(_ch) __PUTC_UNLOCKED((_ch), __stdout) | |
9145 | ||
9146 | ||
9147 | ||
9148 | #define clearerr(_fp) __CLEARERR(_fp) | |
9149 | #define feof(_fp) __FEOF(_fp) | |
9150 | #define ferror(_fp) __FERROR(_fp) | |
9151 | ||
9152 | ||
9153 | #define clearerr_unlocked(_fp) __CLEARERR_UNLOCKED(_fp) | |
9154 | #define feof_unlocked(_fp) __FEOF_UNLOCKED(_fp) | |
9155 | #define ferror_unlocked(_fp) __FERROR_UNLOCKED(_fp) | |
9156 | ||
9157 | ||
9158 | } | |
9159 | # 51 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 2 3 | |
9160 | ||
9161 | ||
9162 | #define _GLIBCXX_CSTDIO 1 | |
9163 | ||
9164 | ||
9165 | #undef clearerr | |
9166 | #undef fclose | |
9167 | #undef feof | |
9168 | #undef ferror | |
9169 | #undef fflush | |
9170 | #undef fgetc | |
9171 | #undef fgetpos | |
9172 | #undef fgets | |
9173 | #undef fopen | |
9174 | #undef fprintf | |
9175 | #undef fputc | |
9176 | #undef fputs | |
9177 | #undef fread | |
9178 | #undef freopen | |
9179 | #undef fscanf | |
9180 | #undef fseek | |
9181 | #undef fsetpos | |
9182 | #undef ftell | |
9183 | #undef fwrite | |
9184 | #undef getc | |
9185 | #undef getchar | |
9186 | #undef gets | |
9187 | #undef perror | |
9188 | #undef printf | |
9189 | #undef putc | |
9190 | #undef putchar | |
9191 | #undef puts | |
9192 | #undef remove | |
9193 | #undef rename | |
9194 | #undef rewind | |
9195 | #undef scanf | |
9196 | #undef setbuf | |
9197 | #undef setvbuf | |
9198 | #undef sprintf | |
9199 | #undef sscanf | |
9200 | #undef tmpfile | |
9201 | #undef tmpnam | |
9202 | #undef ungetc | |
9203 | #undef vfprintf | |
9204 | #undef vprintf | |
9205 | #undef vsprintf | |
9206 | ||
9207 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
9208 | ||
9209 | using ::FILE; | |
9210 | using ::fpos_t; | |
9211 | ||
9212 | using ::clearerr; | |
9213 | using ::fclose; | |
9214 | using ::feof; | |
9215 | using ::ferror; | |
9216 | using ::fflush; | |
9217 | using ::fgetc; | |
9218 | using ::fgetpos; | |
9219 | using ::fgets; | |
9220 | using ::fopen; | |
9221 | using ::fprintf; | |
9222 | using ::fputc; | |
9223 | using ::fputs; | |
9224 | using ::fread; | |
9225 | using ::freopen; | |
9226 | using ::fscanf; | |
9227 | using ::fseek; | |
9228 | using ::fsetpos; | |
9229 | using ::ftell; | |
9230 | using ::fwrite; | |
9231 | using ::getc; | |
9232 | using ::getchar; | |
9233 | using ::gets; | |
9234 | using ::perror; | |
9235 | using ::printf; | |
9236 | using ::putc; | |
9237 | using ::putchar; | |
9238 | using ::puts; | |
9239 | using ::remove; | |
9240 | using ::rename; | |
9241 | using ::rewind; | |
9242 | using ::scanf; | |
9243 | using ::setbuf; | |
9244 | using ::setvbuf; | |
9245 | using ::sprintf; | |
9246 | using ::sscanf; | |
9247 | using ::tmpfile; | |
9248 | using ::tmpnam; | |
9249 | using ::ungetc; | |
9250 | using ::vfprintf; | |
9251 | using ::vprintf; | |
9252 | using ::vsprintf; | |
9253 | ||
9254 | } | |
9255 | # 49 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 2 3 | |
9256 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 1 3 | |
9257 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 3 | |
9258 | ||
9259 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 3 | |
9260 | ||
9261 | ||
9262 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
9263 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
9264 | ||
9265 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
9266 | ||
9267 | ||
9268 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
9269 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
9270 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwchar" 2 3 | |
9271 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 2 3 | |
9272 | ||
9273 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
9274 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 3 | |
9275 | template<typename _CharT> | |
9276 | struct _Char_types | |
9277 | { | |
9278 | typedef unsigned long int_type; | |
9279 | typedef std::streampos pos_type; | |
9280 | typedef std::streamoff off_type; | |
9281 | typedef std::mbstate_t state_type; | |
9282 | }; | |
9283 | # 88 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 3 | |
9284 | template<typename _CharT> | |
9285 | struct char_traits | |
9286 | { | |
9287 | typedef _CharT char_type; | |
9288 | typedef typename _Char_types<_CharT>::int_type int_type; | |
9289 | typedef typename _Char_types<_CharT>::pos_type pos_type; | |
9290 | typedef typename _Char_types<_CharT>::off_type off_type; | |
9291 | typedef typename _Char_types<_CharT>::state_type state_type; | |
9292 | ||
9293 | static void | |
9294 | assign(char_type& __c1, const char_type& __c2) | |
9295 | { __c1 = __c2; } | |
9296 | ||
9297 | static bool | |
9298 | eq(const char_type& __c1, const char_type& __c2) | |
9299 | { return __c1 == __c2; } | |
9300 | ||
9301 | static bool | |
9302 | lt(const char_type& __c1, const char_type& __c2) | |
9303 | { return __c1 < __c2; } | |
9304 | ||
9305 | static int | |
9306 | compare(const char_type* __s1, const char_type* __s2, std::size_t __n); | |
9307 | ||
9308 | static std::size_t | |
9309 | length(const char_type* __s); | |
9310 | ||
9311 | static const char_type* | |
9312 | find(const char_type* __s, std::size_t __n, const char_type& __a); | |
9313 | ||
9314 | static char_type* | |
9315 | move(char_type* __s1, const char_type* __s2, std::size_t __n); | |
9316 | ||
9317 | static char_type* | |
9318 | copy(char_type* __s1, const char_type* __s2, std::size_t __n); | |
9319 | ||
9320 | static char_type* | |
9321 | assign(char_type* __s, std::size_t __n, char_type __a); | |
9322 | ||
9323 | static char_type | |
9324 | to_char_type(const int_type& __c) | |
9325 | { return static_cast<char_type>(__c); } | |
9326 | ||
9327 | static int_type | |
9328 | to_int_type(const char_type& __c) | |
9329 | { return static_cast<int_type>(__c); } | |
9330 | ||
9331 | static bool | |
9332 | eq_int_type(const int_type& __c1, const int_type& __c2) | |
9333 | { return __c1 == __c2; } | |
9334 | ||
9335 | static int_type | |
9336 | eof() | |
9337 | { return static_cast<int_type>((-1)); } | |
9338 | ||
9339 | static int_type | |
9340 | not_eof(const int_type& __c) | |
9341 | { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } | |
9342 | }; | |
9343 | ||
9344 | template<typename _CharT> | |
9345 | int | |
9346 | char_traits<_CharT>:: | |
9347 | compare(const char_type* __s1, const char_type* __s2, std::size_t __n) | |
9348 | { | |
9349 | for (std::size_t __i = 0; __i < __n; ++__i) | |
9350 | if (lt(__s1[__i], __s2[__i])) | |
9351 | return -1; | |
9352 | else if (lt(__s2[__i], __s1[__i])) | |
9353 | return 1; | |
9354 | return 0; | |
9355 | } | |
9356 | ||
9357 | template<typename _CharT> | |
9358 | std::size_t | |
9359 | char_traits<_CharT>:: | |
9360 | length(const char_type* __p) | |
9361 | { | |
9362 | std::size_t __i = 0; | |
9363 | while (!eq(__p[__i], char_type())) | |
9364 | ++__i; | |
9365 | return __i; | |
9366 | } | |
9367 | ||
9368 | template<typename _CharT> | |
9369 | const typename char_traits<_CharT>::char_type* | |
9370 | char_traits<_CharT>:: | |
9371 | find(const char_type* __s, std::size_t __n, const char_type& __a) | |
9372 | { | |
9373 | for (std::size_t __i = 0; __i < __n; ++__i) | |
9374 | if (eq(__s[__i], __a)) | |
9375 | return __s + __i; | |
9376 | return 0; | |
9377 | } | |
9378 | ||
9379 | template<typename _CharT> | |
9380 | typename char_traits<_CharT>::char_type* | |
9381 | char_traits<_CharT>:: | |
9382 | move(char_type* __s1, const char_type* __s2, std::size_t __n) | |
9383 | { | |
9384 | return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, | |
9385 | __n * sizeof(char_type))); | |
9386 | } | |
9387 | ||
9388 | template<typename _CharT> | |
9389 | typename char_traits<_CharT>::char_type* | |
9390 | char_traits<_CharT>:: | |
9391 | copy(char_type* __s1, const char_type* __s2, std::size_t __n) | |
9392 | { | |
9393 | ||
9394 | std::copy(__s2, __s2 + __n, __s1); | |
9395 | return __s1; | |
9396 | } | |
9397 | ||
9398 | template<typename _CharT> | |
9399 | typename char_traits<_CharT>::char_type* | |
9400 | char_traits<_CharT>:: | |
9401 | assign(char_type* __s, std::size_t __n, char_type __a) | |
9402 | { | |
9403 | ||
9404 | std::fill_n(__s, __n, __a); | |
9405 | return __s; | |
9406 | } | |
9407 | ||
9408 | } | |
9409 | ||
9410 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
9411 | # 229 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 3 | |
9412 | template<class _CharT> | |
9413 | struct char_traits : public __gnu_cxx::char_traits<_CharT> | |
9414 | { }; | |
9415 | ||
9416 | ||
9417 | ||
9418 | template<> | |
9419 | struct char_traits<char> | |
9420 | { | |
9421 | typedef char char_type; | |
9422 | typedef int int_type; | |
9423 | typedef streampos pos_type; | |
9424 | typedef streamoff off_type; | |
9425 | typedef mbstate_t state_type; | |
9426 | ||
9427 | static void | |
9428 | assign(char_type& __c1, const char_type& __c2) | |
9429 | { __c1 = __c2; } | |
9430 | ||
9431 | static bool | |
9432 | eq(const char_type& __c1, const char_type& __c2) | |
9433 | { return __c1 == __c2; } | |
9434 | ||
9435 | static bool | |
9436 | lt(const char_type& __c1, const char_type& __c2) | |
9437 | { return __c1 < __c2; } | |
9438 | ||
9439 | static int | |
9440 | compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
9441 | { return __builtin_memcmp(__s1, __s2, __n); } | |
9442 | ||
9443 | static size_t | |
9444 | length(const char_type* __s) | |
9445 | { return __builtin_strlen(__s); } | |
9446 | ||
9447 | static const char_type* | |
9448 | find(const char_type* __s, size_t __n, const char_type& __a) | |
9449 | { return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n)); } | |
9450 | ||
9451 | static char_type* | |
9452 | move(char_type* __s1, const char_type* __s2, size_t __n) | |
9453 | { return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n)); } | |
9454 | ||
9455 | static char_type* | |
9456 | copy(char_type* __s1, const char_type* __s2, size_t __n) | |
9457 | { return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); } | |
9458 | ||
9459 | static char_type* | |
9460 | assign(char_type* __s, size_t __n, char_type __a) | |
9461 | { return static_cast<char_type*>(__builtin_memset(__s, __a, __n)); } | |
9462 | ||
9463 | static char_type | |
9464 | to_char_type(const int_type& __c) | |
9465 | { return static_cast<char_type>(__c); } | |
9466 | ||
9467 | ||
9468 | ||
9469 | static int_type | |
9470 | to_int_type(const char_type& __c) | |
9471 | { return static_cast<int_type>(static_cast<unsigned char>(__c)); } | |
9472 | ||
9473 | static bool | |
9474 | eq_int_type(const int_type& __c1, const int_type& __c2) | |
9475 | { return __c1 == __c2; } | |
9476 | ||
9477 | static int_type | |
9478 | eof() { return static_cast<int_type>((-1)); } | |
9479 | ||
9480 | static int_type | |
9481 | not_eof(const int_type& __c) | |
9482 | { return (__c == eof()) ? 0 : __c; } | |
9483 | }; | |
9484 | # 369 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/char_traits.h" 3 | |
9485 | } | |
9486 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 2 3 | |
9487 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/localefwd.h" 1 3 | |
9488 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/localefwd.h" 3 | |
9489 | #define _LOCALE_FWD_H 1 | |
9490 | ||
9491 | ||
9492 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/localefwd.h" 3 | |
9493 | ||
9494 | ||
9495 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++locale.h" 1 3 | |
9496 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++locale.h" 3 | |
9497 | #define _GLIBCXX_CXX_LOCALE_H 1 | |
9498 | ||
9499 | ||
9500 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++locale.h" 3 | |
9501 | ||
9502 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/clocale" 1 3 | |
9503 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/clocale" 3 | |
9504 | ||
9505 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/clocale" 3 | |
9506 | ||
9507 | ||
9508 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/locale.h" 1 3 4 | |
9509 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/locale.h" 3 4 | |
9510 | #define _LOCALE_H 1 | |
9511 | ||
9512 | ||
9513 | ||
9514 | #define __need_NULL | |
9515 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
9516 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
9517 | #undef __need_ptrdiff_t | |
9518 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
9519 | #undef __need_size_t | |
9520 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
9521 | #undef __need_wchar_t | |
9522 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
9523 | #undef NULL | |
9524 | ||
9525 | #define NULL __null | |
9526 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
9527 | #undef __need_NULL | |
9528 | ||
9529 | ||
9530 | ||
9531 | ||
9532 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
9533 | # 30 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/locale.h" 2 3 4 | |
9534 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_locale.h" 1 3 4 | |
9535 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_locale.h" 3 4 | |
9536 | #define _UCLIBC_LOCALE_H | |
9537 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_locale.h" 3 4 | |
9538 | #define __LOCALE_C_ONLY | |
9539 | ||
9540 | #define __XL_NPP(N) N | |
9541 | #define __LOCALE_PARAM | |
9542 | #define __LOCALE_ARG | |
9543 | ||
9544 | ||
9545 | ||
9546 | ||
9547 | ||
9548 | #define __NL_ITEM_CATEGORY_SHIFT (8) | |
9549 | #define __NL_ITEM_INDEX_MASK (0xff) | |
9550 | ||
9551 | ||
9552 | ||
9553 | #define __LC_CTYPE 0 | |
9554 | #define __LC_NUMERIC 1 | |
9555 | #define __LC_MONETARY 2 | |
9556 | #define __LC_TIME 3 | |
9557 | #define __LC_COLLATE 4 | |
9558 | #define __LC_MESSAGES 5 | |
9559 | #define __LC_ALL 6 | |
9560 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/locale.h" 2 3 4 | |
9561 | ||
9562 | extern "C" { | |
9563 | ||
9564 | ||
9565 | ||
9566 | #define LC_CTYPE __LC_CTYPE | |
9567 | #define LC_NUMERIC __LC_NUMERIC | |
9568 | #define LC_TIME __LC_TIME | |
9569 | #define LC_COLLATE __LC_COLLATE | |
9570 | #define LC_MONETARY __LC_MONETARY | |
9571 | #define LC_MESSAGES __LC_MESSAGES | |
9572 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/locale.h" 3 4 | |
9573 | #define LC_ALL __LC_ALL | |
9574 | ||
9575 | ||
9576 | ||
9577 | struct lconv | |
9578 | { | |
9579 | ||
9580 | ||
9581 | char *decimal_point; | |
9582 | char *thousands_sep; | |
9583 | ||
9584 | ||
9585 | ||
9586 | ||
9587 | ||
9588 | char *grouping; | |
9589 | ||
9590 | ||
9591 | ||
9592 | ||
9593 | ||
9594 | char *int_curr_symbol; | |
9595 | char *currency_symbol; | |
9596 | char *mon_decimal_point; | |
9597 | char *mon_thousands_sep; | |
9598 | char *mon_grouping; | |
9599 | char *positive_sign; | |
9600 | char *negative_sign; | |
9601 | char int_frac_digits; | |
9602 | char frac_digits; | |
9603 | ||
9604 | char p_cs_precedes; | |
9605 | ||
9606 | char p_sep_by_space; | |
9607 | ||
9608 | char n_cs_precedes; | |
9609 | ||
9610 | char n_sep_by_space; | |
9611 | ||
9612 | ||
9613 | ||
9614 | ||
9615 | ||
9616 | ||
9617 | char p_sign_posn; | |
9618 | char n_sign_posn; | |
9619 | ||
9620 | ||
9621 | char int_p_cs_precedes; | |
9622 | ||
9623 | char int_p_sep_by_space; | |
9624 | ||
9625 | char int_n_cs_precedes; | |
9626 | ||
9627 | char int_n_sep_by_space; | |
9628 | ||
9629 | ||
9630 | ||
9631 | ||
9632 | ||
9633 | ||
9634 | char int_p_sign_posn; | |
9635 | char int_n_sign_posn; | |
9636 | # 121 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/locale.h" 3 4 | |
9637 | }; | |
9638 | ||
9639 | ||
9640 | ||
9641 | ||
9642 | ||
9643 | extern char *setlocale (int __category, __const char *__locale) throw (); | |
9644 | ||
9645 | ||
9646 | extern struct lconv *localeconv (void) throw (); | |
9647 | ||
9648 | ||
9649 | # 225 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/locale.h" 3 4 | |
9650 | } | |
9651 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/clocale" 2 3 | |
9652 | ||
9653 | ||
9654 | #define _GLIBCXX_CLOCALE 1 | |
9655 | ||
9656 | ||
9657 | #undef setlocale | |
9658 | #undef localeconv | |
9659 | ||
9660 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
9661 | ||
9662 | using ::lconv; | |
9663 | using ::setlocale; | |
9664 | using ::localeconv; | |
9665 | ||
9666 | } | |
9667 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++locale.h" 2 3 | |
9668 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
9669 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
9670 | ||
9671 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
9672 | ||
9673 | ||
9674 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
9675 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
9676 | # 49 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++locale.h" 2 3 | |
9677 | ||
9678 | #define _GLIBCXX_NUM_CATEGORIES 0 | |
9679 | ||
9680 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
9681 | ||
9682 | typedef int* __c_locale; | |
9683 | ||
9684 | ||
9685 | ||
9686 | ||
9687 | ||
9688 | inline int | |
9689 | __convert_from_v(const __c_locale&, char* __out, | |
9690 | const int __size __attribute__((__unused__)), | |
9691 | const char* __fmt, ...) | |
9692 | { | |
9693 | char* __old = std::setlocale(1, __null); | |
9694 | char* __sav = __null; | |
9695 | if (__builtin_strcmp(__old, "C")) | |
9696 | { | |
9697 | const size_t __len = __builtin_strlen(__old) + 1; | |
9698 | __sav = new char[__len]; | |
9699 | __builtin_memcpy(__sav, __old, __len); | |
9700 | std::setlocale(1, "C"); | |
9701 | } | |
9702 | ||
9703 | __builtin_va_list __args; | |
9704 | __builtin_va_start(__args, __fmt); | |
9705 | ||
9706 | ||
9707 | ||
9708 | ||
9709 | const int __ret = __builtin_vsprintf(__out, __fmt, __args); | |
9710 | ||
9711 | ||
9712 | __builtin_va_end(__args); | |
9713 | ||
9714 | if (__sav) | |
9715 | { | |
9716 | std::setlocale(1, __sav); | |
9717 | delete [] __sav; | |
9718 | } | |
9719 | return __ret; | |
9720 | } | |
9721 | ||
9722 | } | |
9723 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/localefwd.h" 2 3 | |
9724 | ||
9725 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cctype" 1 3 | |
9726 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cctype" 3 | |
9727 | ||
9728 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cctype" 3 | |
9729 | ||
9730 | ||
9731 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/ctype.h" 1 3 4 | |
9732 | # 25 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/ctype.h" 3 4 | |
9733 | #define _CTYPE_H 1 | |
9734 | ||
9735 | ||
9736 | ||
9737 | ||
9738 | ||
9739 | ||
9740 | extern "C" { | |
9741 | ||
9742 | ||
9743 | ||
9744 | ||
9745 | ||
9746 | ||
9747 | #define _ISbit(bit) (1 << (bit)) | |
9748 | ||
9749 | enum | |
9750 | { | |
9751 | _ISupper = (1 << (0)), | |
9752 | _ISlower = (1 << (1)), | |
9753 | _ISalpha = (1 << (2)), | |
9754 | _ISdigit = (1 << (3)), | |
9755 | _ISxdigit = (1 << (4)), | |
9756 | _ISspace = (1 << (5)), | |
9757 | _ISprint = (1 << (6)), | |
9758 | _ISgraph = (1 << (7)), | |
9759 | _ISblank = (1 << (8)), | |
9760 | _IScntrl = (1 << (9)), | |
9761 | _ISpunct = (1 << (10)), | |
9762 | _ISalnum = (1 << (11)) | |
9763 | }; | |
9764 | ||
9765 | ||
9766 | ||
9767 | ||
9768 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_touplow.h" 1 3 4 | |
9769 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_touplow.h" 3 4 | |
9770 | #define _UCLIBC_TOUPLOW_H | |
9771 | ||
9772 | ||
9773 | ||
9774 | ||
9775 | ||
9776 | ||
9777 | typedef __uint16_t __ctype_mask_t; | |
9778 | ||
9779 | ||
9780 | ||
9781 | typedef __int16_t __ctype_touplow_t; | |
9782 | #define __UCLIBC_CTYPE_B_TBL_OFFSET 128 | |
9783 | #define __UCLIBC_CTYPE_TO_TBL_OFFSET 128 | |
9784 | # 61 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/ctype.h" 2 3 4 | |
9785 | ||
9786 | ||
9787 | #define __UCLIBC_CTYPE_IN_TO_DOMAIN(c) (((unsigned int)((c) + 128)) < 384) | |
9788 | # 103 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/ctype.h" 3 4 | |
9789 | extern const __ctype_mask_t *__C_ctype_b; | |
9790 | extern const __ctype_touplow_t *__C_ctype_toupper; | |
9791 | extern const __ctype_touplow_t *__C_ctype_tolower; | |
9792 | # 123 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/ctype.h" 3 4 | |
9793 | extern const __ctype_mask_t *__ctype_b; | |
9794 | extern const __ctype_touplow_t *__ctype_toupper; | |
9795 | extern const __ctype_touplow_t *__ctype_tolower; | |
9796 | ||
9797 | #define __UCLIBC_CTYPE_B (__ctype_b) | |
9798 | #define __UCLIBC_CTYPE_TOLOWER (__ctype_tolower) | |
9799 | #define __UCLIBC_CTYPE_TOUPPER (__ctype_toupper) | |
9800 | ||
9801 | ||
9802 | ||
9803 | #define __isctype(c,type) ((__UCLIBC_CTYPE_B)[(int) (c)] & (__ctype_mask_t) type) | |
9804 | ||
9805 | ||
9806 | #define __isascii(c) (((c) & ~0x7f) == 0) | |
9807 | #define __toascii(c) ((c) & 0x7f) | |
9808 | # 146 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/ctype.h" 3 4 | |
9809 | #define __exctype(name) extern int name (int) __THROW | |
9810 | ||
9811 | ||
9812 | ||
9813 | ||
9814 | ||
9815 | ||
9816 | ||
9817 | extern int isalnum (int) throw (); | |
9818 | extern int isalpha (int) throw (); | |
9819 | extern int iscntrl (int) throw (); | |
9820 | extern int isdigit (int) throw (); | |
9821 | extern int islower (int) throw (); | |
9822 | extern int isgraph (int) throw (); | |
9823 | extern int isprint (int) throw (); | |
9824 | extern int ispunct (int) throw (); | |
9825 | extern int isspace (int) throw (); | |
9826 | extern int isupper (int) throw (); | |
9827 | extern int isxdigit (int) throw (); | |
9828 | ||
9829 | ||
9830 | ||
9831 | extern int tolower (int __c) throw (); | |
9832 | ||
9833 | ||
9834 | extern int toupper (int __c) throw (); | |
9835 | ||
9836 | ||
9837 | ||
9838 | ||
9839 | ||
9840 | ||
9841 | ||
9842 | ||
9843 | extern int isblank (int) throw (); | |
9844 | ||
9845 | ||
9846 | ||
9847 | ||
9848 | ||
9849 | ||
9850 | extern int isctype (int __c, int __mask) throw (); | |
9851 | ||
9852 | ||
9853 | ||
9854 | ||
9855 | ||
9856 | ||
9857 | extern int isascii (int __c) throw (); | |
9858 | ||
9859 | ||
9860 | ||
9861 | extern int toascii (int __c) throw (); | |
9862 | ||
9863 | ||
9864 | ||
9865 | extern int _toupper (int) throw (); | |
9866 | extern int _tolower (int) throw (); | |
9867 | ||
9868 | ||
9869 | ||
9870 | #define __tobody(c,f,a,args) (__extension__ ({ int __res; if (sizeof (c) > 1) { if (__builtin_constant_p (c)) { int __c = (c); __res = __UCLIBC_CTYPE_IN_TO_DOMAIN(__c) ? (a)[__c] : __c; } else __res = f args; } else __res = (a)[(int) (c)]; __res; })) | |
9871 | # 375 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/ctype.h" 3 4 | |
9872 | } | |
9873 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cctype" 2 3 | |
9874 | ||
9875 | ||
9876 | #define _GLIBCXX_CCTYPE 1 | |
9877 | ||
9878 | ||
9879 | #undef isalnum | |
9880 | #undef isalpha | |
9881 | #undef iscntrl | |
9882 | #undef isdigit | |
9883 | #undef isgraph | |
9884 | #undef islower | |
9885 | #undef isprint | |
9886 | #undef ispunct | |
9887 | #undef isspace | |
9888 | #undef isupper | |
9889 | #undef isxdigit | |
9890 | #undef tolower | |
9891 | #undef toupper | |
9892 | ||
9893 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
9894 | ||
9895 | using ::isalnum; | |
9896 | using ::isalpha; | |
9897 | using ::iscntrl; | |
9898 | using ::isdigit; | |
9899 | using ::isgraph; | |
9900 | using ::islower; | |
9901 | using ::isprint; | |
9902 | using ::ispunct; | |
9903 | using ::isspace; | |
9904 | using ::isupper; | |
9905 | using ::isxdigit; | |
9906 | using ::tolower; | |
9907 | using ::toupper; | |
9908 | ||
9909 | } | |
9910 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/localefwd.h" 2 3 | |
9911 | ||
9912 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
9913 | ||
9914 | ||
9915 | class locale; | |
9916 | ||
9917 | template<typename _Facet> | |
9918 | bool | |
9919 | has_facet(const locale&) throw(); | |
9920 | ||
9921 | template<typename _Facet> | |
9922 | const _Facet& | |
9923 | use_facet(const locale&); | |
9924 | ||
9925 | ||
9926 | template<typename _CharT> | |
9927 | bool | |
9928 | isspace(_CharT, const locale&); | |
9929 | ||
9930 | template<typename _CharT> | |
9931 | bool | |
9932 | isprint(_CharT, const locale&); | |
9933 | ||
9934 | template<typename _CharT> | |
9935 | bool | |
9936 | iscntrl(_CharT, const locale&); | |
9937 | ||
9938 | template<typename _CharT> | |
9939 | bool | |
9940 | isupper(_CharT, const locale&); | |
9941 | ||
9942 | template<typename _CharT> | |
9943 | bool | |
9944 | islower(_CharT, const locale&); | |
9945 | ||
9946 | template<typename _CharT> | |
9947 | bool | |
9948 | isalpha(_CharT, const locale&); | |
9949 | ||
9950 | template<typename _CharT> | |
9951 | bool | |
9952 | isdigit(_CharT, const locale&); | |
9953 | ||
9954 | template<typename _CharT> | |
9955 | bool | |
9956 | ispunct(_CharT, const locale&); | |
9957 | ||
9958 | template<typename _CharT> | |
9959 | bool | |
9960 | isxdigit(_CharT, const locale&); | |
9961 | ||
9962 | template<typename _CharT> | |
9963 | bool | |
9964 | isalnum(_CharT, const locale&); | |
9965 | ||
9966 | template<typename _CharT> | |
9967 | bool | |
9968 | isgraph(_CharT, const locale&); | |
9969 | ||
9970 | template<typename _CharT> | |
9971 | _CharT | |
9972 | toupper(_CharT, const locale&); | |
9973 | ||
9974 | template<typename _CharT> | |
9975 | _CharT | |
9976 | tolower(_CharT, const locale&); | |
9977 | ||
9978 | ||
9979 | class ctype_base; | |
9980 | template<typename _CharT> | |
9981 | class ctype; | |
9982 | template<> class ctype<char>; | |
9983 | ||
9984 | ||
9985 | ||
9986 | template<typename _CharT> | |
9987 | class ctype_byname; | |
9988 | ||
9989 | ||
9990 | class codecvt_base; | |
9991 | template<typename _InternT, typename _ExternT, typename _StateT> | |
9992 | class codecvt; | |
9993 | template<> class codecvt<char, char, mbstate_t>; | |
9994 | ||
9995 | ||
9996 | ||
9997 | template<typename _InternT, typename _ExternT, typename _StateT> | |
9998 | class codecvt_byname; | |
9999 | ||
10000 | ||
10001 | ||
10002 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
10003 | class num_get; | |
10004 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
10005 | class num_put; | |
10006 | ||
10007 | template<typename _CharT> class numpunct; | |
10008 | template<typename _CharT> class numpunct_byname; | |
10009 | ||
10010 | ||
10011 | template<typename _CharT> | |
10012 | class collate; | |
10013 | template<typename _CharT> class | |
10014 | collate_byname; | |
10015 | ||
10016 | ||
10017 | class time_base; | |
10018 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
10019 | class time_get; | |
10020 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
10021 | class time_get_byname; | |
10022 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
10023 | class time_put; | |
10024 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
10025 | class time_put_byname; | |
10026 | ||
10027 | ||
10028 | class money_base; | |
10029 | ||
10030 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
10031 | class money_get; | |
10032 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
10033 | class money_put; | |
10034 | ||
10035 | template<typename _CharT, bool _Intl = false> | |
10036 | class moneypunct; | |
10037 | template<typename _CharT, bool _Intl = false> | |
10038 | class moneypunct_byname; | |
10039 | ||
10040 | ||
10041 | class messages_base; | |
10042 | template<typename _CharT> | |
10043 | class messages; | |
10044 | template<typename _CharT> | |
10045 | class messages_byname; | |
10046 | ||
10047 | } | |
10048 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 2 3 | |
10049 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 1 3 | |
10050 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
10051 | #define _IOS_BASE_H 1 | |
10052 | ||
10053 | ||
10054 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
10055 | ||
10056 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/atomicity.h" 1 3 | |
10057 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/atomicity.h" 3 | |
10058 | #define _GLIBCXX_ATOMICITY_H 1 | |
10059 | ||
10060 | ||
10061 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr.h" 1 3 | |
10062 | # 30 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr.h" 3 | |
10063 | #define _GLIBCXX_GCC_GTHR_H | |
10064 | ||
10065 | ||
10066 | #pragma GCC visibility push(default) | |
10067 | # 129 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr.h" 3 | |
10068 | #define _GLIBCXX_GTHREAD_USE_WEAK 1 | |
10069 | ||
10070 | ||
10071 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr-default.h" 1 3 | |
10072 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr-default.h" 3 | |
10073 | #define _GLIBCXX_GCC_GTHR_POSIX_H | |
10074 | ||
10075 | ||
10076 | ||
10077 | ||
10078 | #define __GTHREADS 1 | |
10079 | ||
10080 | ||
10081 | ||
10082 | ||
10083 | ||
10084 | ||
10085 | ||
10086 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 1 3 4 | |
10087 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10088 | #define _UNISTD_H 1 | |
10089 | ||
10090 | ||
10091 | ||
10092 | extern "C" { | |
10093 | ||
10094 | ||
10095 | ||
10096 | ||
10097 | ||
10098 | #define _POSIX_VERSION 200112L | |
10099 | ||
10100 | ||
10101 | ||
10102 | ||
10103 | ||
10104 | #define _POSIX2_VERSION 200112L | |
10105 | ||
10106 | ||
10107 | ||
10108 | #define _POSIX2_C_BIND 200112L | |
10109 | ||
10110 | ||
10111 | ||
10112 | #define _POSIX2_C_DEV 200112L | |
10113 | ||
10114 | ||
10115 | ||
10116 | #define _POSIX2_SW_DEV 200112L | |
10117 | ||
10118 | ||
10119 | ||
10120 | #define _POSIX2_LOCALEDEF 200112L | |
10121 | ||
10122 | ||
10123 | ||
10124 | #define _XOPEN_VERSION 500 | |
10125 | ||
10126 | ||
10127 | ||
10128 | ||
10129 | ||
10130 | #define _XOPEN_XCU_VERSION 4 | |
10131 | ||
10132 | ||
10133 | #define _XOPEN_XPG2 1 | |
10134 | #define _XOPEN_XPG3 1 | |
10135 | #define _XOPEN_XPG4 1 | |
10136 | ||
10137 | ||
10138 | #define _XOPEN_UNIX 1 | |
10139 | ||
10140 | ||
10141 | #define _XOPEN_CRYPT 1 | |
10142 | ||
10143 | ||
10144 | ||
10145 | #define _XOPEN_ENH_I18N 1 | |
10146 | ||
10147 | ||
10148 | #define _XOPEN_LEGACY 1 | |
10149 | # 171 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10150 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix_opt.h" 1 3 4 | |
10151 | # 21 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix_opt.h" 3 4 | |
10152 | #define _POSIX_OPT_H 1 | |
10153 | ||
10154 | ||
10155 | #define _POSIX_JOB_CONTROL 1 | |
10156 | ||
10157 | ||
10158 | #define _POSIX_SAVED_IDS 1 | |
10159 | ||
10160 | ||
10161 | #define _POSIX_PRIORITY_SCHEDULING 200112L | |
10162 | ||
10163 | ||
10164 | #define _POSIX_SYNCHRONIZED_IO 200112L | |
10165 | ||
10166 | ||
10167 | #define _POSIX_FSYNC 200112L | |
10168 | ||
10169 | ||
10170 | #define _POSIX_MAPPED_FILES 200112L | |
10171 | ||
10172 | ||
10173 | #define _POSIX_MEMLOCK 200112L | |
10174 | ||
10175 | ||
10176 | #define _POSIX_MEMLOCK_RANGE 200112L | |
10177 | ||
10178 | ||
10179 | #define _POSIX_MEMORY_PROTECTION 200112L | |
10180 | ||
10181 | ||
10182 | #define _POSIX_CHOWN_RESTRICTED 1 | |
10183 | ||
10184 | ||
10185 | ||
10186 | #define _POSIX_VDISABLE '\0' | |
10187 | ||
10188 | ||
10189 | #define _POSIX_NO_TRUNC 1 | |
10190 | ||
10191 | ||
10192 | #define _XOPEN_REALTIME 1 | |
10193 | ||
10194 | ||
10195 | #define _XOPEN_SHM 1 | |
10196 | ||
10197 | ||
10198 | #define _POSIX_THREADS 200112L | |
10199 | ||
10200 | ||
10201 | #define _POSIX_REENTRANT_FUNCTIONS 1 | |
10202 | #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L | |
10203 | ||
10204 | ||
10205 | #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L | |
10206 | ||
10207 | ||
10208 | #define _POSIX_THREAD_ATTR_STACKSIZE 200112L | |
10209 | ||
10210 | ||
10211 | #define _POSIX_THREAD_ATTR_STACKADDR 200112L | |
10212 | ||
10213 | ||
10214 | #define _POSIX_SEMAPHORES 200112L | |
10215 | ||
10216 | ||
10217 | #define _POSIX_REALTIME_SIGNALS 200112L | |
10218 | ||
10219 | ||
10220 | #define _POSIX_ASYNCHRONOUS_IO 200112L | |
10221 | #define _POSIX_ASYNC_IO 1 | |
10222 | ||
10223 | #define _LFS_ASYNCHRONOUS_IO 1 | |
10224 | ||
10225 | #define _POSIX_PRIORITIZED_IO 200112L | |
10226 | ||
10227 | ||
10228 | #define _LFS64_ASYNCHRONOUS_IO 1 | |
10229 | ||
10230 | ||
10231 | ||
10232 | #define _LFS_LARGEFILE 1 | |
10233 | #define _LFS64_LARGEFILE 1 | |
10234 | #define _LFS64_STDIO 1 | |
10235 | ||
10236 | ||
10237 | ||
10238 | #define _POSIX_SHARED_MEMORY_OBJECTS 200112L | |
10239 | ||
10240 | ||
10241 | #define _POSIX_CPUTIME 0 | |
10242 | ||
10243 | ||
10244 | #define _POSIX_THREAD_CPUTIME 0 | |
10245 | ||
10246 | ||
10247 | #define _POSIX_REGEXP 1 | |
10248 | ||
10249 | ||
10250 | #define _POSIX_READER_WRITER_LOCKS 200112L | |
10251 | ||
10252 | ||
10253 | #define _POSIX_SHELL 1 | |
10254 | ||
10255 | ||
10256 | #define _POSIX_TIMEOUTS 200112L | |
10257 | # 138 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix_opt.h" 3 4 | |
10258 | #define _POSIX_TIMERS 200112L | |
10259 | ||
10260 | ||
10261 | #define _POSIX_BARRIERS 200112L | |
10262 | ||
10263 | ||
10264 | #define _POSIX_MESSAGE_PASSING 200112L | |
10265 | ||
10266 | ||
10267 | #define _POSIX_THREAD_PROCESS_SHARED 200112L | |
10268 | ||
10269 | ||
10270 | #define _POSIX_MONOTONIC_CLOCK 0 | |
10271 | ||
10272 | ||
10273 | #define _POSIX_CLOCK_SELECTION 200112L | |
10274 | ||
10275 | ||
10276 | #define _POSIX_ADVISORY_INFO 200112L | |
10277 | ||
10278 | ||
10279 | #define _POSIX_IPV6 200112L | |
10280 | ||
10281 | ||
10282 | #define _POSIX_RAW_SOCKETS 200112L | |
10283 | ||
10284 | ||
10285 | #define _POSIX2_CHAR_TERM 200112L | |
10286 | ||
10287 | ||
10288 | #define _POSIX_SPORADIC_SERVER -1 | |
10289 | #define _POSIX_THREAD_SPORADIC_SERVER -1 | |
10290 | ||
10291 | ||
10292 | #define _POSIX_TRACE -1 | |
10293 | #define _POSIX_TRACE_EVENT_FILTER -1 | |
10294 | #define _POSIX_TRACE_INHERIT -1 | |
10295 | #define _POSIX_TRACE_LOG -1 | |
10296 | ||
10297 | ||
10298 | #define _POSIX_TYPED_MEMORY_OBJECTS -1 | |
10299 | ||
10300 | ||
10301 | #define _POSIX_THREAD_PRIO_INHERIT -1 | |
10302 | #define _POSIX_THREAD_PRIO_PROTECT -1 | |
10303 | # 172 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 2 3 4 | |
10304 | ||
10305 | ||
10306 | ||
10307 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/environments.h" 1 3 4 | |
10308 | # 23 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/environments.h" 3 4 | |
10309 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/wordsize.h" 1 3 4 | |
10310 | # 19 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/wordsize.h" 3 4 | |
10311 | #define __WORDSIZE 32 | |
10312 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/environments.h" 2 3 4 | |
10313 | # 61 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/environments.h" 3 4 | |
10314 | #define _POSIX_V6_ILP32_OFF32 1 | |
10315 | #define _POSIX_V6_ILP32_OFFBIG 1 | |
10316 | #define _XBS5_ILP32_OFF32 1 | |
10317 | #define _XBS5_ILP32_OFFBIG 1 | |
10318 | ||
10319 | ||
10320 | ||
10321 | ||
10322 | ||
10323 | #define _POSIX_V6_LP64_OFF64 -1 | |
10324 | #define _POSIX_V6_LPBIG_OFFBIG -1 | |
10325 | #define _XBS5_LP64_OFF64 -1 | |
10326 | #define _XBS5_LPBIG_OFFBIG -1 | |
10327 | ||
10328 | ||
10329 | #define __ILP32_OFFBIG_CFLAGS "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" | |
10330 | # 176 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 2 3 4 | |
10331 | ||
10332 | ||
10333 | ||
10334 | #define STDIN_FILENO 0 | |
10335 | #define STDOUT_FILENO 1 | |
10336 | #define STDERR_FILENO 2 | |
10337 | ||
10338 | ||
10339 | ||
10340 | ||
10341 | ||
10342 | ||
10343 | ||
10344 | typedef __ssize_t ssize_t; | |
10345 | #define __ssize_t_defined | |
10346 | ||
10347 | ||
10348 | #define __need_size_t | |
10349 | #define __need_NULL | |
10350 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
10351 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
10352 | #undef __need_ptrdiff_t | |
10353 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
10354 | #undef __need_size_t | |
10355 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
10356 | #undef __need_wchar_t | |
10357 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
10358 | #undef NULL | |
10359 | ||
10360 | #define NULL __null | |
10361 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
10362 | #undef __need_NULL | |
10363 | ||
10364 | ||
10365 | ||
10366 | ||
10367 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
10368 | # 196 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 2 3 4 | |
10369 | ||
10370 | ||
10371 | ||
10372 | ||
10373 | ||
10374 | typedef __gid_t gid_t; | |
10375 | #define __gid_t_defined | |
10376 | ||
10377 | ||
10378 | ||
10379 | typedef __uid_t uid_t; | |
10380 | #define __uid_t_defined | |
10381 | ||
10382 | ||
10383 | ||
10384 | ||
10385 | typedef __off_t off_t; | |
10386 | ||
10387 | ||
10388 | ||
10389 | #define __off_t_defined | |
10390 | ||
10391 | ||
10392 | typedef __off64_t off64_t; | |
10393 | #define __off64_t_defined | |
10394 | ||
10395 | ||
10396 | ||
10397 | typedef __useconds_t useconds_t; | |
10398 | #define __useconds_t_defined | |
10399 | # 243 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10400 | typedef __socklen_t socklen_t; | |
10401 | #define __socklen_t_defined | |
10402 | ||
10403 | ||
10404 | ||
10405 | ||
10406 | ||
10407 | #define R_OK 4 | |
10408 | #define W_OK 2 | |
10409 | #define X_OK 1 | |
10410 | #define F_OK 0 | |
10411 | ||
10412 | ||
10413 | extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); | |
10414 | # 287 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10415 | #define L_SET SEEK_SET | |
10416 | #define L_INCR SEEK_CUR | |
10417 | #define L_XTND SEEK_END | |
10418 | # 299 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10419 | extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw (); | |
10420 | # 310 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10421 | extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) | |
10422 | throw (); | |
10423 | ||
10424 | ||
10425 | ||
10426 | ||
10427 | ||
10428 | ||
10429 | extern int close (int __fd); | |
10430 | ||
10431 | ||
10432 | ||
10433 | ||
10434 | ||
10435 | ||
10436 | extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; | |
10437 | ||
10438 | ||
10439 | ||
10440 | ||
10441 | ||
10442 | extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; | |
10443 | # 341 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10444 | extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, | |
10445 | __off_t __offset) ; | |
10446 | ||
10447 | ||
10448 | ||
10449 | ||
10450 | ||
10451 | ||
10452 | extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, | |
10453 | __off_t __offset) ; | |
10454 | # 369 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10455 | extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, | |
10456 | __off64_t __offset) ; | |
10457 | ||
10458 | ||
10459 | extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, | |
10460 | __off64_t __offset) ; | |
10461 | ||
10462 | ||
10463 | ||
10464 | ||
10465 | ||
10466 | ||
10467 | ||
10468 | extern int pipe (int __pipedes[2]) throw () ; | |
10469 | # 391 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10470 | extern unsigned int alarm (unsigned int __seconds) throw (); | |
10471 | # 403 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10472 | extern unsigned int sleep (unsigned int __seconds); | |
10473 | ||
10474 | ||
10475 | ||
10476 | ||
10477 | ||
10478 | ||
10479 | extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) | |
10480 | throw (); | |
10481 | ||
10482 | ||
10483 | ||
10484 | ||
10485 | ||
10486 | ||
10487 | extern int usleep (__useconds_t __useconds); | |
10488 | # 427 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10489 | extern int pause (void); | |
10490 | ||
10491 | ||
10492 | ||
10493 | extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) | |
10494 | throw () __attribute__ ((__nonnull__ (1))) ; | |
10495 | ||
10496 | ||
10497 | ||
10498 | extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ; | |
10499 | ||
10500 | ||
10501 | ||
10502 | ||
10503 | extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) | |
10504 | throw () __attribute__ ((__nonnull__ (1))) ; | |
10505 | # 455 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10506 | extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; | |
10507 | ||
10508 | ||
10509 | ||
10510 | extern int fchdir (int __fd) throw () ; | |
10511 | # 469 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10512 | extern char *getcwd (char *__buf, size_t __size) throw () ; | |
10513 | ||
10514 | ||
10515 | ||
10516 | ||
10517 | ||
10518 | extern char *get_current_dir_name (void) throw (); | |
10519 | # 488 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10520 | extern int dup (int __fd) throw () ; | |
10521 | ||
10522 | ||
10523 | extern int dup2 (int __fd, int __fd2) throw (); | |
10524 | ||
10525 | ||
10526 | extern char **__environ; | |
10527 | ||
10528 | extern char **environ; | |
10529 | ||
10530 | ||
10531 | ||
10532 | ||
10533 | ||
10534 | extern int execve (__const char *__path, char *__const __argv[], | |
10535 | char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1))); | |
10536 | # 514 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
10537 | extern int execv (__const char *__path, char *__const __argv[]) | |
10538 | throw () __attribute__ ((__nonnull__ (1))); | |
10539 | ||
10540 | ||
10541 | ||
10542 | extern int execle (__const char *__path, __const char *__arg, ...) | |
10543 | throw () __attribute__ ((__nonnull__ (1))); | |
10544 | ||
10545 | ||
10546 | ||
10547 | extern int execl (__const char *__path, __const char *__arg, ...) | |
10548 | throw () __attribute__ ((__nonnull__ (1))); | |
10549 | ||
10550 | ||
10551 | ||
10552 | extern int execvp (__const char *__file, char *__const __argv[]) | |
10553 | throw () __attribute__ ((__nonnull__ (1))); | |
10554 | ||
10555 | ||
10556 | ||
10557 | ||
10558 | extern int execlp (__const char *__file, __const char *__arg, ...) | |
10559 | throw () __attribute__ ((__nonnull__ (1))); | |
10560 | ||
10561 | ||
10562 | ||
10563 | ||
10564 | extern int nice (int __inc) throw () ; | |
10565 | ||
10566 | ||
10567 | ||
10568 | ||
10569 | extern void _exit (int __status) __attribute__ ((__noreturn__)); | |
10570 | ||
10571 | ||
10572 | ||
10573 | ||
10574 | ||
10575 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/confname.h" 1 3 4 | |
10576 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/confname.h" 3 4 | |
10577 | enum | |
10578 | { | |
10579 | _PC_LINK_MAX, | |
10580 | #define _PC_LINK_MAX _PC_LINK_MAX | |
10581 | _PC_MAX_CANON, | |
10582 | #define _PC_MAX_CANON _PC_MAX_CANON | |
10583 | _PC_MAX_INPUT, | |
10584 | #define _PC_MAX_INPUT _PC_MAX_INPUT | |
10585 | _PC_NAME_MAX, | |
10586 | #define _PC_NAME_MAX _PC_NAME_MAX | |
10587 | _PC_PATH_MAX, | |
10588 | #define _PC_PATH_MAX _PC_PATH_MAX | |
10589 | _PC_PIPE_BUF, | |
10590 | #define _PC_PIPE_BUF _PC_PIPE_BUF | |
10591 | _PC_CHOWN_RESTRICTED, | |
10592 | #define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED | |
10593 | _PC_NO_TRUNC, | |
10594 | #define _PC_NO_TRUNC _PC_NO_TRUNC | |
10595 | _PC_VDISABLE, | |
10596 | #define _PC_VDISABLE _PC_VDISABLE | |
10597 | _PC_SYNC_IO, | |
10598 | #define _PC_SYNC_IO _PC_SYNC_IO | |
10599 | _PC_ASYNC_IO, | |
10600 | #define _PC_ASYNC_IO _PC_ASYNC_IO | |
10601 | _PC_PRIO_IO, | |
10602 | #define _PC_PRIO_IO _PC_PRIO_IO | |
10603 | _PC_SOCK_MAXBUF, | |
10604 | #define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF | |
10605 | _PC_FILESIZEBITS, | |
10606 | #define _PC_FILESIZEBITS _PC_FILESIZEBITS | |
10607 | _PC_REC_INCR_XFER_SIZE, | |
10608 | #define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE | |
10609 | _PC_REC_MAX_XFER_SIZE, | |
10610 | #define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE | |
10611 | _PC_REC_MIN_XFER_SIZE, | |
10612 | #define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE | |
10613 | _PC_REC_XFER_ALIGN, | |
10614 | #define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN | |
10615 | _PC_ALLOC_SIZE_MIN, | |
10616 | #define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN | |
10617 | _PC_SYMLINK_MAX, | |
10618 | #define _PC_SYMLINK_MAX _PC_SYMLINK_MAX | |
10619 | _PC_2_SYMLINKS | |
10620 | #define _PC_2_SYMLINKS _PC_2_SYMLINKS | |
10621 | }; | |
10622 | ||
10623 | ||
10624 | enum | |
10625 | { | |
10626 | _SC_ARG_MAX, | |
10627 | #define _SC_ARG_MAX _SC_ARG_MAX | |
10628 | _SC_CHILD_MAX, | |
10629 | #define _SC_CHILD_MAX _SC_CHILD_MAX | |
10630 | _SC_CLK_TCK, | |
10631 | #define _SC_CLK_TCK _SC_CLK_TCK | |
10632 | _SC_NGROUPS_MAX, | |
10633 | #define _SC_NGROUPS_MAX _SC_NGROUPS_MAX | |
10634 | _SC_OPEN_MAX, | |
10635 | #define _SC_OPEN_MAX _SC_OPEN_MAX | |
10636 | _SC_STREAM_MAX, | |
10637 | #define _SC_STREAM_MAX _SC_STREAM_MAX | |
10638 | _SC_TZNAME_MAX, | |
10639 | #define _SC_TZNAME_MAX _SC_TZNAME_MAX | |
10640 | _SC_JOB_CONTROL, | |
10641 | #define _SC_JOB_CONTROL _SC_JOB_CONTROL | |
10642 | _SC_SAVED_IDS, | |
10643 | #define _SC_SAVED_IDS _SC_SAVED_IDS | |
10644 | _SC_REALTIME_SIGNALS, | |
10645 | #define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS | |
10646 | _SC_PRIORITY_SCHEDULING, | |
10647 | #define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING | |
10648 | _SC_TIMERS, | |
10649 | #define _SC_TIMERS _SC_TIMERS | |
10650 | _SC_ASYNCHRONOUS_IO, | |
10651 | #define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO | |
10652 | _SC_PRIORITIZED_IO, | |
10653 | #define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO | |
10654 | _SC_SYNCHRONIZED_IO, | |
10655 | #define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO | |
10656 | _SC_FSYNC, | |
10657 | #define _SC_FSYNC _SC_FSYNC | |
10658 | _SC_MAPPED_FILES, | |
10659 | #define _SC_MAPPED_FILES _SC_MAPPED_FILES | |
10660 | _SC_MEMLOCK, | |
10661 | #define _SC_MEMLOCK _SC_MEMLOCK | |
10662 | _SC_MEMLOCK_RANGE, | |
10663 | #define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE | |
10664 | _SC_MEMORY_PROTECTION, | |
10665 | #define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION | |
10666 | _SC_MESSAGE_PASSING, | |
10667 | #define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING | |
10668 | _SC_SEMAPHORES, | |
10669 | #define _SC_SEMAPHORES _SC_SEMAPHORES | |
10670 | _SC_SHARED_MEMORY_OBJECTS, | |
10671 | #define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS | |
10672 | _SC_AIO_LISTIO_MAX, | |
10673 | #define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX | |
10674 | _SC_AIO_MAX, | |
10675 | #define _SC_AIO_MAX _SC_AIO_MAX | |
10676 | _SC_AIO_PRIO_DELTA_MAX, | |
10677 | #define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX | |
10678 | _SC_DELAYTIMER_MAX, | |
10679 | #define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX | |
10680 | _SC_MQ_OPEN_MAX, | |
10681 | #define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX | |
10682 | _SC_MQ_PRIO_MAX, | |
10683 | #define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX | |
10684 | _SC_VERSION, | |
10685 | #define _SC_VERSION _SC_VERSION | |
10686 | _SC_PAGESIZE, | |
10687 | #define _SC_PAGESIZE _SC_PAGESIZE | |
10688 | #define _SC_PAGE_SIZE _SC_PAGESIZE | |
10689 | _SC_RTSIG_MAX, | |
10690 | #define _SC_RTSIG_MAX _SC_RTSIG_MAX | |
10691 | _SC_SEM_NSEMS_MAX, | |
10692 | #define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX | |
10693 | _SC_SEM_VALUE_MAX, | |
10694 | #define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX | |
10695 | _SC_SIGQUEUE_MAX, | |
10696 | #define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX | |
10697 | _SC_TIMER_MAX, | |
10698 | #define _SC_TIMER_MAX _SC_TIMER_MAX | |
10699 | ||
10700 | ||
10701 | ||
10702 | _SC_BC_BASE_MAX, | |
10703 | #define _SC_BC_BASE_MAX _SC_BC_BASE_MAX | |
10704 | _SC_BC_DIM_MAX, | |
10705 | #define _SC_BC_DIM_MAX _SC_BC_DIM_MAX | |
10706 | _SC_BC_SCALE_MAX, | |
10707 | #define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX | |
10708 | _SC_BC_STRING_MAX, | |
10709 | #define _SC_BC_STRING_MAX _SC_BC_STRING_MAX | |
10710 | _SC_COLL_WEIGHTS_MAX, | |
10711 | #define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX | |
10712 | _SC_EQUIV_CLASS_MAX, | |
10713 | #define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX | |
10714 | _SC_EXPR_NEST_MAX, | |
10715 | #define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX | |
10716 | _SC_LINE_MAX, | |
10717 | #define _SC_LINE_MAX _SC_LINE_MAX | |
10718 | _SC_RE_DUP_MAX, | |
10719 | #define _SC_RE_DUP_MAX _SC_RE_DUP_MAX | |
10720 | _SC_CHARCLASS_NAME_MAX, | |
10721 | #define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX | |
10722 | ||
10723 | _SC_2_VERSION, | |
10724 | #define _SC_2_VERSION _SC_2_VERSION | |
10725 | _SC_2_C_BIND, | |
10726 | #define _SC_2_C_BIND _SC_2_C_BIND | |
10727 | _SC_2_C_DEV, | |
10728 | #define _SC_2_C_DEV _SC_2_C_DEV | |
10729 | _SC_2_FORT_DEV, | |
10730 | #define _SC_2_FORT_DEV _SC_2_FORT_DEV | |
10731 | _SC_2_FORT_RUN, | |
10732 | #define _SC_2_FORT_RUN _SC_2_FORT_RUN | |
10733 | _SC_2_SW_DEV, | |
10734 | #define _SC_2_SW_DEV _SC_2_SW_DEV | |
10735 | _SC_2_LOCALEDEF, | |
10736 | #define _SC_2_LOCALEDEF _SC_2_LOCALEDEF | |
10737 | ||
10738 | _SC_PII, | |
10739 | #define _SC_PII _SC_PII | |
10740 | _SC_PII_XTI, | |
10741 | #define _SC_PII_XTI _SC_PII_XTI | |
10742 | _SC_PII_SOCKET, | |
10743 | #define _SC_PII_SOCKET _SC_PII_SOCKET | |
10744 | _SC_PII_INTERNET, | |
10745 | #define _SC_PII_INTERNET _SC_PII_INTERNET | |
10746 | _SC_PII_OSI, | |
10747 | #define _SC_PII_OSI _SC_PII_OSI | |
10748 | _SC_POLL, | |
10749 | #define _SC_POLL _SC_POLL | |
10750 | _SC_SELECT, | |
10751 | #define _SC_SELECT _SC_SELECT | |
10752 | _SC_UIO_MAXIOV, | |
10753 | #define _SC_UIO_MAXIOV _SC_UIO_MAXIOV | |
10754 | _SC_IOV_MAX = _SC_UIO_MAXIOV, | |
10755 | #define _SC_IOV_MAX _SC_IOV_MAX | |
10756 | _SC_PII_INTERNET_STREAM, | |
10757 | #define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM | |
10758 | _SC_PII_INTERNET_DGRAM, | |
10759 | #define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM | |
10760 | _SC_PII_OSI_COTS, | |
10761 | #define _SC_PII_OSI_COTS _SC_PII_OSI_COTS | |
10762 | _SC_PII_OSI_CLTS, | |
10763 | #define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS | |
10764 | _SC_PII_OSI_M, | |
10765 | #define _SC_PII_OSI_M _SC_PII_OSI_M | |
10766 | _SC_T_IOV_MAX, | |
10767 | #define _SC_T_IOV_MAX _SC_T_IOV_MAX | |
10768 | ||
10769 | ||
10770 | _SC_THREADS, | |
10771 | #define _SC_THREADS _SC_THREADS | |
10772 | _SC_THREAD_SAFE_FUNCTIONS, | |
10773 | #define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS | |
10774 | _SC_GETGR_R_SIZE_MAX, | |
10775 | #define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX | |
10776 | _SC_GETPW_R_SIZE_MAX, | |
10777 | #define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX | |
10778 | _SC_LOGIN_NAME_MAX, | |
10779 | #define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX | |
10780 | _SC_TTY_NAME_MAX, | |
10781 | #define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX | |
10782 | _SC_THREAD_DESTRUCTOR_ITERATIONS, | |
10783 | #define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS | |
10784 | _SC_THREAD_KEYS_MAX, | |
10785 | #define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX | |
10786 | _SC_THREAD_STACK_MIN, | |
10787 | #define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN | |
10788 | _SC_THREAD_THREADS_MAX, | |
10789 | #define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX | |
10790 | _SC_THREAD_ATTR_STACKADDR, | |
10791 | #define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR | |
10792 | _SC_THREAD_ATTR_STACKSIZE, | |
10793 | #define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE | |
10794 | _SC_THREAD_PRIORITY_SCHEDULING, | |
10795 | #define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING | |
10796 | _SC_THREAD_PRIO_INHERIT, | |
10797 | #define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT | |
10798 | _SC_THREAD_PRIO_PROTECT, | |
10799 | #define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT | |
10800 | _SC_THREAD_PROCESS_SHARED, | |
10801 | #define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED | |
10802 | ||
10803 | _SC_NPROCESSORS_CONF, | |
10804 | #define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF | |
10805 | _SC_NPROCESSORS_ONLN, | |
10806 | #define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN | |
10807 | _SC_PHYS_PAGES, | |
10808 | #define _SC_PHYS_PAGES _SC_PHYS_PAGES | |
10809 | _SC_AVPHYS_PAGES, | |
10810 | #define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES | |
10811 | _SC_ATEXIT_MAX, | |
10812 | #define _SC_ATEXIT_MAX _SC_ATEXIT_MAX | |
10813 | _SC_PASS_MAX, | |
10814 | #define _SC_PASS_MAX _SC_PASS_MAX | |
10815 | ||
10816 | _SC_XOPEN_VERSION, | |
10817 | #define _SC_XOPEN_VERSION _SC_XOPEN_VERSION | |
10818 | _SC_XOPEN_XCU_VERSION, | |
10819 | #define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION | |
10820 | _SC_XOPEN_UNIX, | |
10821 | #define _SC_XOPEN_UNIX _SC_XOPEN_UNIX | |
10822 | _SC_XOPEN_CRYPT, | |
10823 | #define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT | |
10824 | _SC_XOPEN_ENH_I18N, | |
10825 | #define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N | |
10826 | _SC_XOPEN_SHM, | |
10827 | #define _SC_XOPEN_SHM _SC_XOPEN_SHM | |
10828 | ||
10829 | _SC_2_CHAR_TERM, | |
10830 | #define _SC_2_CHAR_TERM _SC_2_CHAR_TERM | |
10831 | _SC_2_C_VERSION, | |
10832 | #define _SC_2_C_VERSION _SC_2_C_VERSION | |
10833 | _SC_2_UPE, | |
10834 | #define _SC_2_UPE _SC_2_UPE | |
10835 | ||
10836 | _SC_XOPEN_XPG2, | |
10837 | #define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2 | |
10838 | _SC_XOPEN_XPG3, | |
10839 | #define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3 | |
10840 | _SC_XOPEN_XPG4, | |
10841 | #define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4 | |
10842 | ||
10843 | _SC_CHAR_BIT, | |
10844 | #define _SC_CHAR_BIT _SC_CHAR_BIT | |
10845 | _SC_CHAR_MAX, | |
10846 | #define _SC_CHAR_MAX _SC_CHAR_MAX | |
10847 | _SC_CHAR_MIN, | |
10848 | #define _SC_CHAR_MIN _SC_CHAR_MIN | |
10849 | _SC_INT_MAX, | |
10850 | #define _SC_INT_MAX _SC_INT_MAX | |
10851 | _SC_INT_MIN, | |
10852 | #define _SC_INT_MIN _SC_INT_MIN | |
10853 | _SC_LONG_BIT, | |
10854 | #define _SC_LONG_BIT _SC_LONG_BIT | |
10855 | _SC_WORD_BIT, | |
10856 | #define _SC_WORD_BIT _SC_WORD_BIT | |
10857 | _SC_MB_LEN_MAX, | |
10858 | #define _SC_MB_LEN_MAX _SC_MB_LEN_MAX | |
10859 | _SC_NZERO, | |
10860 | #define _SC_NZERO _SC_NZERO | |
10861 | _SC_SSIZE_MAX, | |
10862 | #define _SC_SSIZE_MAX _SC_SSIZE_MAX | |
10863 | _SC_SCHAR_MAX, | |
10864 | #define _SC_SCHAR_MAX _SC_SCHAR_MAX | |
10865 | _SC_SCHAR_MIN, | |
10866 | #define _SC_SCHAR_MIN _SC_SCHAR_MIN | |
10867 | _SC_SHRT_MAX, | |
10868 | #define _SC_SHRT_MAX _SC_SHRT_MAX | |
10869 | _SC_SHRT_MIN, | |
10870 | #define _SC_SHRT_MIN _SC_SHRT_MIN | |
10871 | _SC_UCHAR_MAX, | |
10872 | #define _SC_UCHAR_MAX _SC_UCHAR_MAX | |
10873 | _SC_UINT_MAX, | |
10874 | #define _SC_UINT_MAX _SC_UINT_MAX | |
10875 | _SC_ULONG_MAX, | |
10876 | #define _SC_ULONG_MAX _SC_ULONG_MAX | |
10877 | _SC_USHRT_MAX, | |
10878 | #define _SC_USHRT_MAX _SC_USHRT_MAX | |
10879 | ||
10880 | _SC_NL_ARGMAX, | |
10881 | #define _SC_NL_ARGMAX _SC_NL_ARGMAX | |
10882 | _SC_NL_LANGMAX, | |
10883 | #define _SC_NL_LANGMAX _SC_NL_LANGMAX | |
10884 | _SC_NL_MSGMAX, | |
10885 | #define _SC_NL_MSGMAX _SC_NL_MSGMAX | |
10886 | _SC_NL_NMAX, | |
10887 | #define _SC_NL_NMAX _SC_NL_NMAX | |
10888 | _SC_NL_SETMAX, | |
10889 | #define _SC_NL_SETMAX _SC_NL_SETMAX | |
10890 | _SC_NL_TEXTMAX, | |
10891 | #define _SC_NL_TEXTMAX _SC_NL_TEXTMAX | |
10892 | ||
10893 | _SC_XBS5_ILP32_OFF32, | |
10894 | #define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32 | |
10895 | _SC_XBS5_ILP32_OFFBIG, | |
10896 | #define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG | |
10897 | _SC_XBS5_LP64_OFF64, | |
10898 | #define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64 | |
10899 | _SC_XBS5_LPBIG_OFFBIG, | |
10900 | #define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG | |
10901 | ||
10902 | _SC_XOPEN_LEGACY, | |
10903 | #define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY | |
10904 | _SC_XOPEN_REALTIME, | |
10905 | #define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME | |
10906 | _SC_XOPEN_REALTIME_THREADS, | |
10907 | #define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS | |
10908 | ||
10909 | _SC_ADVISORY_INFO, | |
10910 | #define _SC_ADVISORY_INFO _SC_ADVISORY_INFO | |
10911 | _SC_BARRIERS, | |
10912 | #define _SC_BARRIERS _SC_BARRIERS | |
10913 | _SC_BASE, | |
10914 | #define _SC_BASE _SC_BASE | |
10915 | _SC_C_LANG_SUPPORT, | |
10916 | #define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT | |
10917 | _SC_C_LANG_SUPPORT_R, | |
10918 | #define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R | |
10919 | _SC_CLOCK_SELECTION, | |
10920 | #define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION | |
10921 | _SC_CPUTIME, | |
10922 | #define _SC_CPUTIME _SC_CPUTIME | |
10923 | _SC_THREAD_CPUTIME, | |
10924 | #define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME | |
10925 | _SC_DEVICE_IO, | |
10926 | #define _SC_DEVICE_IO _SC_DEVICE_IO | |
10927 | _SC_DEVICE_SPECIFIC, | |
10928 | #define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC | |
10929 | _SC_DEVICE_SPECIFIC_R, | |
10930 | #define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R | |
10931 | _SC_FD_MGMT, | |
10932 | #define _SC_FD_MGMT _SC_FD_MGMT | |
10933 | _SC_FIFO, | |
10934 | #define _SC_FIFO _SC_FIFO | |
10935 | _SC_PIPE, | |
10936 | #define _SC_PIPE _SC_PIPE | |
10937 | _SC_FILE_ATTRIBUTES, | |
10938 | #define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES | |
10939 | _SC_FILE_LOCKING, | |
10940 | #define _SC_FILE_LOCKING _SC_FILE_LOCKING | |
10941 | _SC_FILE_SYSTEM, | |
10942 | #define _SC_FILE_SYSTEM _SC_FILE_SYSTEM | |
10943 | _SC_MONOTONIC_CLOCK, | |
10944 | #define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK | |
10945 | _SC_MULTI_PROCESS, | |
10946 | #define _SC_MULTI_PROCESS _SC_MULTI_PROCESS | |
10947 | _SC_SINGLE_PROCESS, | |
10948 | #define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS | |
10949 | _SC_NETWORKING, | |
10950 | #define _SC_NETWORKING _SC_NETWORKING | |
10951 | _SC_READER_WRITER_LOCKS, | |
10952 | #define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS | |
10953 | _SC_SPIN_LOCKS, | |
10954 | #define _SC_SPIN_LOCKS _SC_SPIN_LOCKS | |
10955 | _SC_REGEXP, | |
10956 | #define _SC_REGEXP _SC_REGEXP | |
10957 | _SC_REGEX_VERSION, | |
10958 | #define _SC_REGEX_VERSION _SC_REGEX_VERSION | |
10959 | _SC_SHELL, | |
10960 | #define _SC_SHELL _SC_SHELL | |
10961 | _SC_SIGNALS, | |
10962 | #define _SC_SIGNALS _SC_SIGNALS | |
10963 | _SC_SPAWN, | |
10964 | #define _SC_SPAWN _SC_SPAWN | |
10965 | _SC_SPORADIC_SERVER, | |
10966 | #define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER | |
10967 | _SC_THREAD_SPORADIC_SERVER, | |
10968 | #define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER | |
10969 | _SC_SYSTEM_DATABASE, | |
10970 | #define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE | |
10971 | _SC_SYSTEM_DATABASE_R, | |
10972 | #define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R | |
10973 | _SC_TIMEOUTS, | |
10974 | #define _SC_TIMEOUTS _SC_TIMEOUTS | |
10975 | _SC_TYPED_MEMORY_OBJECTS, | |
10976 | #define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS | |
10977 | _SC_USER_GROUPS, | |
10978 | #define _SC_USER_GROUPS _SC_USER_GROUPS | |
10979 | _SC_USER_GROUPS_R, | |
10980 | #define _SC_USER_GROUPS_R _SC_USER_GROUPS_R | |
10981 | _SC_2_PBS, | |
10982 | #define _SC_2_PBS _SC_2_PBS | |
10983 | _SC_2_PBS_ACCOUNTING, | |
10984 | #define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING | |
10985 | _SC_2_PBS_LOCATE, | |
10986 | #define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE | |
10987 | _SC_2_PBS_MESSAGE, | |
10988 | #define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE | |
10989 | _SC_2_PBS_TRACK, | |
10990 | #define _SC_2_PBS_TRACK _SC_2_PBS_TRACK | |
10991 | _SC_SYMLOOP_MAX, | |
10992 | #define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX | |
10993 | _SC_STREAMS, | |
10994 | #define _SC_STREAMS _SC_STREAMS | |
10995 | _SC_2_PBS_CHECKPOINT, | |
10996 | #define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT | |
10997 | ||
10998 | _SC_V6_ILP32_OFF32, | |
10999 | #define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32 | |
11000 | _SC_V6_ILP32_OFFBIG, | |
11001 | #define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG | |
11002 | _SC_V6_LP64_OFF64, | |
11003 | #define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64 | |
11004 | _SC_V6_LPBIG_OFFBIG, | |
11005 | #define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG | |
11006 | ||
11007 | _SC_HOST_NAME_MAX, | |
11008 | #define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX | |
11009 | _SC_TRACE, | |
11010 | #define _SC_TRACE _SC_TRACE | |
11011 | _SC_TRACE_EVENT_FILTER, | |
11012 | #define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER | |
11013 | _SC_TRACE_INHERIT, | |
11014 | #define _SC_TRACE_INHERIT _SC_TRACE_INHERIT | |
11015 | _SC_TRACE_LOG, | |
11016 | #define _SC_TRACE_LOG _SC_TRACE_LOG | |
11017 | ||
11018 | _SC_LEVEL1_ICACHE_SIZE, | |
11019 | #define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE | |
11020 | _SC_LEVEL1_ICACHE_ASSOC, | |
11021 | #define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC | |
11022 | _SC_LEVEL1_ICACHE_LINESIZE, | |
11023 | #define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE | |
11024 | _SC_LEVEL1_DCACHE_SIZE, | |
11025 | #define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE | |
11026 | _SC_LEVEL1_DCACHE_ASSOC, | |
11027 | #define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC | |
11028 | _SC_LEVEL1_DCACHE_LINESIZE, | |
11029 | #define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE | |
11030 | _SC_LEVEL2_CACHE_SIZE, | |
11031 | #define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE | |
11032 | _SC_LEVEL2_CACHE_ASSOC, | |
11033 | #define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC | |
11034 | _SC_LEVEL2_CACHE_LINESIZE, | |
11035 | #define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE | |
11036 | _SC_LEVEL3_CACHE_SIZE, | |
11037 | #define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE | |
11038 | _SC_LEVEL3_CACHE_ASSOC, | |
11039 | #define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC | |
11040 | _SC_LEVEL3_CACHE_LINESIZE, | |
11041 | #define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE | |
11042 | _SC_LEVEL4_CACHE_SIZE, | |
11043 | #define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE | |
11044 | _SC_LEVEL4_CACHE_ASSOC, | |
11045 | #define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC | |
11046 | _SC_LEVEL4_CACHE_LINESIZE, | |
11047 | #define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE | |
11048 | ||
11049 | ||
11050 | _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, | |
11051 | #define _SC_IPV6 _SC_IPV6 | |
11052 | _SC_RAW_SOCKETS | |
11053 | #define _SC_RAW_SOCKETS _SC_RAW_SOCKETS | |
11054 | }; | |
11055 | ||
11056 | ||
11057 | ||
11058 | ||
11059 | ||
11060 | enum | |
11061 | { | |
11062 | _CS_PATH, | |
11063 | #define _CS_PATH _CS_PATH | |
11064 | ||
11065 | _CS_V6_WIDTH_RESTRICTED_ENVS, | |
11066 | #define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS | |
11067 | ||
11068 | ||
11069 | ||
11070 | _CS_LFS_CFLAGS = 1000, | |
11071 | #define _CS_LFS_CFLAGS _CS_LFS_CFLAGS | |
11072 | _CS_LFS_LDFLAGS, | |
11073 | #define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS | |
11074 | _CS_LFS_LIBS, | |
11075 | #define _CS_LFS_LIBS _CS_LFS_LIBS | |
11076 | _CS_LFS_LINTFLAGS, | |
11077 | #define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS | |
11078 | _CS_LFS64_CFLAGS, | |
11079 | #define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS | |
11080 | _CS_LFS64_LDFLAGS, | |
11081 | #define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS | |
11082 | _CS_LFS64_LIBS, | |
11083 | #define _CS_LFS64_LIBS _CS_LFS64_LIBS | |
11084 | _CS_LFS64_LINTFLAGS, | |
11085 | #define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS | |
11086 | ||
11087 | ||
11088 | ||
11089 | _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, | |
11090 | #define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS | |
11091 | _CS_XBS5_ILP32_OFF32_LDFLAGS, | |
11092 | #define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS | |
11093 | _CS_XBS5_ILP32_OFF32_LIBS, | |
11094 | #define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS | |
11095 | _CS_XBS5_ILP32_OFF32_LINTFLAGS, | |
11096 | #define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS | |
11097 | _CS_XBS5_ILP32_OFFBIG_CFLAGS, | |
11098 | #define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS | |
11099 | _CS_XBS5_ILP32_OFFBIG_LDFLAGS, | |
11100 | #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS | |
11101 | _CS_XBS5_ILP32_OFFBIG_LIBS, | |
11102 | #define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS | |
11103 | _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, | |
11104 | #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS | |
11105 | _CS_XBS5_LP64_OFF64_CFLAGS, | |
11106 | #define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS | |
11107 | _CS_XBS5_LP64_OFF64_LDFLAGS, | |
11108 | #define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS | |
11109 | _CS_XBS5_LP64_OFF64_LIBS, | |
11110 | #define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS | |
11111 | _CS_XBS5_LP64_OFF64_LINTFLAGS, | |
11112 | #define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS | |
11113 | _CS_XBS5_LPBIG_OFFBIG_CFLAGS, | |
11114 | #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS | |
11115 | _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, | |
11116 | #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS | |
11117 | _CS_XBS5_LPBIG_OFFBIG_LIBS, | |
11118 | #define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS | |
11119 | _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, | |
11120 | #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS | |
11121 | ||
11122 | ||
11123 | _CS_POSIX_V6_ILP32_OFF32_CFLAGS, | |
11124 | #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS | |
11125 | _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, | |
11126 | #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS | |
11127 | _CS_POSIX_V6_ILP32_OFF32_LIBS, | |
11128 | #define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS | |
11129 | _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, | |
11130 | #define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS | |
11131 | _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, | |
11132 | #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS | |
11133 | _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, | |
11134 | #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS | |
11135 | _CS_POSIX_V6_ILP32_OFFBIG_LIBS, | |
11136 | #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS | |
11137 | _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, | |
11138 | #define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS | |
11139 | _CS_POSIX_V6_LP64_OFF64_CFLAGS, | |
11140 | #define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS | |
11141 | _CS_POSIX_V6_LP64_OFF64_LDFLAGS, | |
11142 | #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS | |
11143 | _CS_POSIX_V6_LP64_OFF64_LIBS, | |
11144 | #define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS | |
11145 | _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, | |
11146 | #define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS | |
11147 | _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, | |
11148 | #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS | |
11149 | _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, | |
11150 | #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS | |
11151 | _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, | |
11152 | #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS | |
11153 | _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS | |
11154 | #define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS | |
11155 | ||
11156 | }; | |
11157 | # 553 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 2 3 4 | |
11158 | ||
11159 | ||
11160 | extern long int pathconf (__const char *__path, int __name) | |
11161 | throw () __attribute__ ((__nonnull__ (1))); | |
11162 | ||
11163 | ||
11164 | extern long int fpathconf (int __fd, int __name) throw (); | |
11165 | ||
11166 | ||
11167 | extern long int sysconf (int __name) throw (); | |
11168 | ||
11169 | ||
11170 | ||
11171 | extern size_t confstr (int __name, char *__buf, size_t __len) throw (); | |
11172 | ||
11173 | ||
11174 | ||
11175 | ||
11176 | extern __pid_t getpid (void) throw (); | |
11177 | ||
11178 | ||
11179 | extern __pid_t getppid (void) throw (); | |
11180 | ||
11181 | ||
11182 | ||
11183 | ||
11184 | extern __pid_t getpgrp (void) throw (); | |
11185 | # 589 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11186 | extern __pid_t __getpgid (__pid_t __pid) throw (); | |
11187 | ||
11188 | extern __pid_t getpgid (__pid_t __pid) throw (); | |
11189 | ||
11190 | ||
11191 | ||
11192 | ||
11193 | ||
11194 | ||
11195 | extern int setpgid (__pid_t __pid, __pid_t __pgid) throw (); | |
11196 | # 615 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11197 | extern int setpgrp (void) throw (); | |
11198 | # 632 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11199 | extern __pid_t setsid (void) throw (); | |
11200 | ||
11201 | ||
11202 | ||
11203 | extern __pid_t getsid (__pid_t __pid) throw (); | |
11204 | ||
11205 | ||
11206 | ||
11207 | extern __uid_t getuid (void) throw (); | |
11208 | ||
11209 | ||
11210 | extern __uid_t geteuid (void) throw (); | |
11211 | ||
11212 | ||
11213 | extern __gid_t getgid (void) throw (); | |
11214 | ||
11215 | ||
11216 | extern __gid_t getegid (void) throw (); | |
11217 | ||
11218 | ||
11219 | ||
11220 | ||
11221 | extern int getgroups (int __size, __gid_t __list[]) throw () ; | |
11222 | # 665 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11223 | extern int setuid (__uid_t __uid) throw (); | |
11224 | ||
11225 | ||
11226 | ||
11227 | ||
11228 | extern int setreuid (__uid_t __ruid, __uid_t __euid) throw (); | |
11229 | ||
11230 | ||
11231 | ||
11232 | ||
11233 | extern int seteuid (__uid_t __uid) throw (); | |
11234 | ||
11235 | ||
11236 | ||
11237 | ||
11238 | ||
11239 | ||
11240 | extern int setgid (__gid_t __gid) throw (); | |
11241 | ||
11242 | ||
11243 | ||
11244 | ||
11245 | extern int setregid (__gid_t __rgid, __gid_t __egid) throw (); | |
11246 | ||
11247 | ||
11248 | ||
11249 | ||
11250 | extern int setegid (__gid_t __gid) throw (); | |
11251 | ||
11252 | ||
11253 | ||
11254 | ||
11255 | ||
11256 | extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) | |
11257 | throw (); | |
11258 | ||
11259 | ||
11260 | ||
11261 | extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) | |
11262 | throw (); | |
11263 | ||
11264 | ||
11265 | ||
11266 | ||
11267 | extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) | |
11268 | throw (); | |
11269 | ||
11270 | ||
11271 | ||
11272 | ||
11273 | extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) | |
11274 | throw (); | |
11275 | # 732 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11276 | extern __pid_t vfork (void) throw (); | |
11277 | ||
11278 | ||
11279 | ||
11280 | ||
11281 | ||
11282 | extern char *ttyname (int __fd) throw (); | |
11283 | ||
11284 | ||
11285 | ||
11286 | extern int ttyname_r (int __fd, char *__buf, size_t __buflen) | |
11287 | throw () __attribute__ ((__nonnull__ (2))) ; | |
11288 | ||
11289 | ||
11290 | ||
11291 | extern int isatty (int __fd) throw (); | |
11292 | # 758 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11293 | extern int link (__const char *__from, __const char *__to) | |
11294 | throw () __attribute__ ((__nonnull__ (1, 2))) ; | |
11295 | # 771 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11296 | extern int symlink (__const char *__from, __const char *__to) | |
11297 | throw () __attribute__ ((__nonnull__ (1, 2))) ; | |
11298 | ||
11299 | ||
11300 | ||
11301 | ||
11302 | extern ssize_t readlink (__const char *__restrict __path, | |
11303 | char *__restrict __buf, size_t __len) | |
11304 | throw () __attribute__ ((__nonnull__ (1, 2))) ; | |
11305 | # 794 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11306 | extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); | |
11307 | # 803 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11308 | extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))); | |
11309 | ||
11310 | ||
11311 | ||
11312 | extern __pid_t tcgetpgrp (int __fd) throw (); | |
11313 | ||
11314 | ||
11315 | extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw (); | |
11316 | ||
11317 | ||
11318 | ||
11319 | ||
11320 | ||
11321 | ||
11322 | extern char *getlogin (void); | |
11323 | ||
11324 | ||
11325 | ||
11326 | ||
11327 | ||
11328 | ||
11329 | ||
11330 | extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); | |
11331 | # 838 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11332 | #define __need_getopt | |
11333 | ||
11334 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 1 3 4 | |
11335 | # 52 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4 | |
11336 | extern "C" { | |
11337 | # 61 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4 | |
11338 | extern char *optarg; | |
11339 | # 75 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4 | |
11340 | extern int optind; | |
11341 | ||
11342 | ||
11343 | ||
11344 | ||
11345 | extern int opterr; | |
11346 | ||
11347 | ||
11348 | ||
11349 | extern int optopt; | |
11350 | # 154 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4 | |
11351 | extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) | |
11352 | throw (); | |
11353 | # 175 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4 | |
11354 | } | |
11355 | ||
11356 | ||
11357 | ||
11358 | #undef __need_getopt | |
11359 | # 841 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 2 3 4 | |
11360 | ||
11361 | ||
11362 | ||
11363 | ||
11364 | ||
11365 | ||
11366 | ||
11367 | extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))); | |
11368 | ||
11369 | ||
11370 | ||
11371 | ||
11372 | ||
11373 | ||
11374 | extern int sethostname (__const char *__name, size_t __len) | |
11375 | throw () __attribute__ ((__nonnull__ (1))) ; | |
11376 | ||
11377 | ||
11378 | ||
11379 | extern int sethostid (long int __id) throw () ; | |
11380 | ||
11381 | ||
11382 | ||
11383 | ||
11384 | ||
11385 | extern int getdomainname (char *__name, size_t __len) | |
11386 | throw () __attribute__ ((__nonnull__ (1))) ; | |
11387 | extern int setdomainname (__const char *__name, size_t __len) | |
11388 | throw () __attribute__ ((__nonnull__ (1))) ; | |
11389 | ||
11390 | ||
11391 | ||
11392 | ||
11393 | ||
11394 | extern int vhangup (void) throw (); | |
11395 | # 896 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11396 | extern int acct (__const char *__name) throw (); | |
11397 | ||
11398 | ||
11399 | ||
11400 | extern char *getusershell (void) throw (); | |
11401 | extern void endusershell (void) throw (); | |
11402 | extern void setusershell (void) throw (); | |
11403 | ||
11404 | ||
11405 | ||
11406 | ||
11407 | ||
11408 | extern int daemon (int __nochdir, int __noclose) throw () ; | |
11409 | ||
11410 | ||
11411 | ||
11412 | ||
11413 | ||
11414 | ||
11415 | extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; | |
11416 | ||
11417 | ||
11418 | ||
11419 | extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); | |
11420 | # 928 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11421 | extern int fsync (int __fd); | |
11422 | ||
11423 | ||
11424 | ||
11425 | ||
11426 | ||
11427 | ||
11428 | extern long int gethostid (void); | |
11429 | ||
11430 | ||
11431 | extern void sync (void) throw (); | |
11432 | ||
11433 | ||
11434 | ||
11435 | ||
11436 | extern int getpagesize (void) throw () __attribute__ ((__const__)); | |
11437 | ||
11438 | ||
11439 | ||
11440 | ||
11441 | extern int getdtablesize (void) throw (); | |
11442 | ||
11443 | ||
11444 | ||
11445 | ||
11446 | extern int truncate (__const char *__file, __off_t __length) | |
11447 | throw () __attribute__ ((__nonnull__ (1))) ; | |
11448 | # 965 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11449 | extern int truncate64 (__const char *__file, __off64_t __length) | |
11450 | throw () __attribute__ ((__nonnull__ (1))) ; | |
11451 | # 975 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11452 | extern int ftruncate (int __fd, __off_t __length) throw () ; | |
11453 | # 985 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11454 | extern int ftruncate64 (int __fd, __off64_t __length) throw () ; | |
11455 | # 995 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11456 | extern int brk (void *__addr) throw () ; | |
11457 | ||
11458 | ||
11459 | ||
11460 | ||
11461 | ||
11462 | extern void *sbrk (intptr_t __delta) throw (); | |
11463 | # 1016 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11464 | extern long int syscall (long int __sysno, ...) throw (); | |
11465 | # 1033 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11466 | #define F_ULOCK 0 | |
11467 | #define F_LOCK 1 | |
11468 | #define F_TLOCK 2 | |
11469 | #define F_TEST 3 | |
11470 | ||
11471 | ||
11472 | extern int lockf (int __fd, int __cmd, __off_t __len) ; | |
11473 | # 1049 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11474 | extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; | |
11475 | # 1059 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11476 | #define TEMP_FAILURE_RETRY(expression) (__extension__ ({ long int __result; do __result = (long int) (expression); while (__result == -1L && errno == EINTR); __result; })) | |
11477 | # 1071 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11478 | extern int fdatasync (int __fildes) throw (); | |
11479 | # 1080 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11480 | extern char *crypt (__const char *__key, __const char *__salt) | |
11481 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
11482 | ||
11483 | ||
11484 | ||
11485 | extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1))); | |
11486 | ||
11487 | ||
11488 | ||
11489 | ||
11490 | ||
11491 | ||
11492 | ||
11493 | extern void swab (__const void *__restrict __from, void *__restrict __to, | |
11494 | ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); | |
11495 | ||
11496 | ||
11497 | ||
11498 | ||
11499 | ||
11500 | ||
11501 | ||
11502 | extern char *ctermid (char *__s) throw (); | |
11503 | # 1111 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4 | |
11504 | } | |
11505 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr-default.h" 2 3 | |
11506 | ||
11507 | typedef pthread_key_t __gthread_key_t; | |
11508 | typedef pthread_once_t __gthread_once_t; | |
11509 | typedef pthread_mutex_t __gthread_mutex_t; | |
11510 | typedef pthread_mutex_t __gthread_recursive_mutex_t; | |
11511 | typedef pthread_cond_t __gthread_cond_t; | |
11512 | ||
11513 | ||
11514 | ||
11515 | #define __GTHREAD_HAS_COND 1 | |
11516 | ||
11517 | #define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER | |
11518 | #define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT | |
11519 | ||
11520 | ||
11521 | ||
11522 | #define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP | |
11523 | ||
11524 | ||
11525 | ||
11526 | #define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER | |
11527 | ||
11528 | ||
11529 | ||
11530 | #define __gthrw_pragma(pragma) | |
11531 | ||
11532 | #define __gthrw2(name,name2,type) static __typeof(type) name __attribute__ ((__weakref__(#name2))); __gthrw_pragma(weak type) | |
11533 | ||
11534 | ||
11535 | #define __gthrw_(name) __gthrw_ ## name | |
11536 | ||
11537 | ||
11538 | ||
11539 | ||
11540 | ||
11541 | ||
11542 | #define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) | |
11543 | # 100 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr-default.h" 3 | |
11544 | static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); | |
11545 | static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); | |
11546 | static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); | |
11547 | static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); | |
11548 | static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); | |
11549 | static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); | |
11550 | static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); | |
11551 | static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); | |
11552 | static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); | |
11553 | static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); | |
11554 | static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); | |
11555 | ||
11556 | ||
11557 | static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); | |
11558 | static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); | |
11559 | static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); | |
11560 | static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); | |
11561 | static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); | |
11562 | # 211 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr-default.h" 3 | |
11563 | static inline int | |
11564 | __gthread_active_p (void) | |
11565 | { | |
11566 | static void *const __gthread_active_ptr | |
11567 | = __extension__ (void *) &__gthrw_pthread_cancel; | |
11568 | return __gthread_active_ptr != 0; | |
11569 | } | |
11570 | # 649 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr-default.h" 3 | |
11571 | static inline int | |
11572 | __gthread_once (__gthread_once_t *once, void (*func) (void)) | |
11573 | { | |
11574 | if (__gthread_active_p ()) | |
11575 | return __gthrw_pthread_once (once, func); | |
11576 | else | |
11577 | return -1; | |
11578 | } | |
11579 | ||
11580 | static inline int | |
11581 | __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *)) | |
11582 | { | |
11583 | return __gthrw_pthread_key_create (key, dtor); | |
11584 | } | |
11585 | ||
11586 | static inline int | |
11587 | __gthread_key_delete (__gthread_key_t key) | |
11588 | { | |
11589 | return __gthrw_pthread_key_delete (key); | |
11590 | } | |
11591 | ||
11592 | static inline void * | |
11593 | __gthread_getspecific (__gthread_key_t key) | |
11594 | { | |
11595 | return __gthrw_pthread_getspecific (key); | |
11596 | } | |
11597 | ||
11598 | static inline int | |
11599 | __gthread_setspecific (__gthread_key_t key, const void *ptr) | |
11600 | { | |
11601 | return __gthrw_pthread_setspecific (key, ptr); | |
11602 | } | |
11603 | ||
11604 | static inline int | |
11605 | __gthread_mutex_lock (__gthread_mutex_t *mutex) | |
11606 | { | |
11607 | if (__gthread_active_p ()) | |
11608 | return __gthrw_pthread_mutex_lock (mutex); | |
11609 | else | |
11610 | return 0; | |
11611 | } | |
11612 | ||
11613 | static inline int | |
11614 | __gthread_mutex_trylock (__gthread_mutex_t *mutex) | |
11615 | { | |
11616 | if (__gthread_active_p ()) | |
11617 | return __gthrw_pthread_mutex_trylock (mutex); | |
11618 | else | |
11619 | return 0; | |
11620 | } | |
11621 | ||
11622 | static inline int | |
11623 | __gthread_mutex_unlock (__gthread_mutex_t *mutex) | |
11624 | { | |
11625 | if (__gthread_active_p ()) | |
11626 | return __gthrw_pthread_mutex_unlock (mutex); | |
11627 | else | |
11628 | return 0; | |
11629 | } | |
11630 | # 731 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr-default.h" 3 | |
11631 | static inline int | |
11632 | __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex) | |
11633 | { | |
11634 | return __gthread_mutex_lock (mutex); | |
11635 | } | |
11636 | ||
11637 | static inline int | |
11638 | __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex) | |
11639 | { | |
11640 | return __gthread_mutex_trylock (mutex); | |
11641 | } | |
11642 | ||
11643 | static inline int | |
11644 | __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex) | |
11645 | { | |
11646 | return __gthread_mutex_unlock (mutex); | |
11647 | } | |
11648 | ||
11649 | static inline int | |
11650 | __gthread_cond_broadcast (__gthread_cond_t *cond) | |
11651 | { | |
11652 | return __gthrw_pthread_cond_broadcast (cond); | |
11653 | } | |
11654 | ||
11655 | static inline int | |
11656 | __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex) | |
11657 | { | |
11658 | return __gthrw_pthread_cond_wait (cond, mutex); | |
11659 | } | |
11660 | ||
11661 | static inline int | |
11662 | __gthread_cond_wait_recursive (__gthread_cond_t *cond, | |
11663 | __gthread_recursive_mutex_t *mutex) | |
11664 | { | |
11665 | return __gthread_cond_wait (cond, mutex); | |
11666 | } | |
11667 | # 133 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/gthr.h" 2 3 | |
11668 | ||
11669 | ||
11670 | ||
11671 | ||
11672 | ||
11673 | ||
11674 | ||
11675 | #pragma GCC visibility pop | |
11676 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/atomicity.h" 2 3 | |
11677 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/atomic_word.h" 1 3 | |
11678 | # 35 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/atomic_word.h" 3 | |
11679 | #define _GLIBCXX_ATOMIC_WORD_H 1 | |
11680 | ||
11681 | typedef int _Atomic_word; | |
11682 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/atomicity.h" 2 3 | |
11683 | ||
11684 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
11685 | ||
11686 | ||
11687 | ||
11688 | ||
11689 | ||
11690 | ||
11691 | static inline _Atomic_word | |
11692 | __exchange_and_add(volatile _Atomic_word* __mem, int __val) | |
11693 | { return __sync_fetch_and_add(__mem, __val); } | |
11694 | ||
11695 | static inline void | |
11696 | __atomic_add(volatile _Atomic_word* __mem, int __val) | |
11697 | { __sync_fetch_and_add(__mem, __val); } | |
11698 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/atomicity.h" 3 | |
11699 | static inline _Atomic_word | |
11700 | __exchange_and_add_single(_Atomic_word* __mem, int __val) | |
11701 | { | |
11702 | _Atomic_word __result = *__mem; | |
11703 | *__mem += __val; | |
11704 | return __result; | |
11705 | } | |
11706 | ||
11707 | static inline void | |
11708 | __atomic_add_single(_Atomic_word* __mem, int __val) | |
11709 | { *__mem += __val; } | |
11710 | ||
11711 | static inline _Atomic_word | |
11712 | __attribute__ ((__unused__)) | |
11713 | __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) | |
11714 | { | |
11715 | ||
11716 | if (__gthread_active_p()) | |
11717 | return __exchange_and_add(__mem, __val); | |
11718 | else | |
11719 | return __exchange_and_add_single(__mem, __val); | |
11720 | ||
11721 | ||
11722 | ||
11723 | } | |
11724 | ||
11725 | static inline void | |
11726 | __attribute__ ((__unused__)) | |
11727 | __atomic_add_dispatch(_Atomic_word* __mem, int __val) | |
11728 | { | |
11729 | ||
11730 | if (__gthread_active_p()) | |
11731 | __atomic_add(__mem, __val); | |
11732 | else | |
11733 | __atomic_add_single(__mem, __val); | |
11734 | ||
11735 | ||
11736 | ||
11737 | } | |
11738 | ||
11739 | } | |
11740 | ||
11741 | ||
11742 | ||
11743 | ||
11744 | ||
11745 | #define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory") | |
11746 | ||
11747 | ||
11748 | #define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory") | |
11749 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 2 3 | |
11750 | ||
11751 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 1 3 | |
11752 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
11753 | #define _LOCALE_CLASSES_H 1 | |
11754 | ||
11755 | ||
11756 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
11757 | ||
11758 | ||
11759 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 1 3 | |
11760 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 3 | |
11761 | #define _GLIBCXX_STRING 1 | |
11762 | ||
11763 | ||
11764 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 3 | |
11765 | ||
11766 | ||
11767 | ||
11768 | ||
11769 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/allocator.h" 1 3 | |
11770 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/allocator.h" 3 | |
11771 | #define _ALLOCATOR_H 1 | |
11772 | ||
11773 | ||
11774 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++allocator.h" 1 3 | |
11775 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++allocator.h" 3 | |
11776 | #define _GLIBCXX_CXX_ALLOCATOR_H 1 | |
11777 | ||
11778 | ||
11779 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/new_allocator.h" 1 3 | |
11780 | # 35 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/new_allocator.h" 3 | |
11781 | #define _NEW_ALLOCATOR_H 1 | |
11782 | ||
11783 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/new" 1 3 | |
11784 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/new" 3 | |
11785 | #define _NEW | |
11786 | ||
11787 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
11788 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
11789 | ||
11790 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
11791 | ||
11792 | ||
11793 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
11794 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
11795 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/new" 2 3 | |
11796 | ||
11797 | ||
11798 | #pragma GCC visibility push(default) | |
11799 | ||
11800 | extern "C++" { | |
11801 | ||
11802 | namespace std | |
11803 | { | |
11804 | ||
11805 | ||
11806 | ||
11807 | ||
11808 | ||
11809 | class bad_alloc : public exception | |
11810 | { | |
11811 | public: | |
11812 | bad_alloc() throw() { } | |
11813 | ||
11814 | ||
11815 | ||
11816 | virtual ~bad_alloc() throw(); | |
11817 | ||
11818 | ||
11819 | virtual const char* what() const throw(); | |
11820 | }; | |
11821 | ||
11822 | struct nothrow_t { }; | |
11823 | ||
11824 | extern const nothrow_t nothrow; | |
11825 | ||
11826 | ||
11827 | ||
11828 | typedef void (*new_handler)(); | |
11829 | ||
11830 | ||
11831 | ||
11832 | new_handler set_new_handler(new_handler) throw(); | |
11833 | } | |
11834 | # 95 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/new" 3 | |
11835 | void* operator new(std::size_t) throw (std::bad_alloc); | |
11836 | void* operator new[](std::size_t) throw (std::bad_alloc); | |
11837 | void operator delete(void*) throw(); | |
11838 | void operator delete[](void*) throw(); | |
11839 | void* operator new(std::size_t, const std::nothrow_t&) throw(); | |
11840 | void* operator new[](std::size_t, const std::nothrow_t&) throw(); | |
11841 | void operator delete(void*, const std::nothrow_t&) throw(); | |
11842 | void operator delete[](void*, const std::nothrow_t&) throw(); | |
11843 | ||
11844 | ||
11845 | inline void* operator new(std::size_t, void* __p) throw() { return __p; } | |
11846 | inline void* operator new[](std::size_t, void* __p) throw() { return __p; } | |
11847 | ||
11848 | ||
11849 | inline void operator delete (void*, void*) throw() { } | |
11850 | inline void operator delete[](void*, void*) throw() { } | |
11851 | ||
11852 | } | |
11853 | ||
11854 | #pragma GCC visibility pop | |
11855 | # 38 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/new_allocator.h" 2 3 | |
11856 | ||
11857 | ||
11858 | ||
11859 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
11860 | ||
11861 | using std::size_t; | |
11862 | using std::ptrdiff_t; | |
11863 | # 53 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/new_allocator.h" 3 | |
11864 | template<typename _Tp> | |
11865 | class new_allocator | |
11866 | { | |
11867 | public: | |
11868 | typedef size_t size_type; | |
11869 | typedef ptrdiff_t difference_type; | |
11870 | typedef _Tp* pointer; | |
11871 | typedef const _Tp* const_pointer; | |
11872 | typedef _Tp& reference; | |
11873 | typedef const _Tp& const_reference; | |
11874 | typedef _Tp value_type; | |
11875 | ||
11876 | template<typename _Tp1> | |
11877 | struct rebind | |
11878 | { typedef new_allocator<_Tp1> other; }; | |
11879 | ||
11880 | new_allocator() throw() { } | |
11881 | ||
11882 | new_allocator(const new_allocator&) throw() { } | |
11883 | ||
11884 | template<typename _Tp1> | |
11885 | new_allocator(const new_allocator<_Tp1>&) throw() { } | |
11886 | ||
11887 | ~new_allocator() throw() { } | |
11888 | ||
11889 | pointer | |
11890 | address(reference __x) const { return &__x; } | |
11891 | ||
11892 | const_pointer | |
11893 | address(const_reference __x) const { return &__x; } | |
11894 | ||
11895 | ||
11896 | ||
11897 | pointer | |
11898 | allocate(size_type __n, const void* = 0) | |
11899 | { | |
11900 | if (__builtin_expect(__n > this->max_size(), false)) | |
11901 | std::__throw_bad_alloc(); | |
11902 | ||
11903 | return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); | |
11904 | } | |
11905 | ||
11906 | ||
11907 | void | |
11908 | deallocate(pointer __p, size_type) | |
11909 | { ::operator delete(__p); } | |
11910 | ||
11911 | size_type | |
11912 | max_size() const throw() | |
11913 | { return size_t(-1) / sizeof(_Tp); } | |
11914 | ||
11915 | ||
11916 | ||
11917 | void | |
11918 | construct(pointer __p, const _Tp& __val) | |
11919 | { ::new((void *)__p) _Tp(__val); } | |
11920 | # 117 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ext/new_allocator.h" 3 | |
11921 | void | |
11922 | destroy(pointer __p) { __p->~_Tp(); } | |
11923 | }; | |
11924 | ||
11925 | template<typename _Tp> | |
11926 | inline bool | |
11927 | operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) | |
11928 | { return true; } | |
11929 | ||
11930 | template<typename _Tp> | |
11931 | inline bool | |
11932 | operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) | |
11933 | { return false; } | |
11934 | ||
11935 | } | |
11936 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/c++allocator.h" 2 3 | |
11937 | #define __glibcxx_base_allocator __gnu_cxx::new_allocator | |
11938 | # 54 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/allocator.h" 2 3 | |
11939 | ||
11940 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
11941 | ||
11942 | template<typename _Tp> | |
11943 | class allocator; | |
11944 | ||
11945 | ||
11946 | template<> | |
11947 | class allocator<void> | |
11948 | { | |
11949 | public: | |
11950 | typedef size_t size_type; | |
11951 | typedef ptrdiff_t difference_type; | |
11952 | typedef void* pointer; | |
11953 | typedef const void* const_pointer; | |
11954 | typedef void value_type; | |
11955 | ||
11956 | template<typename _Tp1> | |
11957 | struct rebind | |
11958 | { typedef allocator<_Tp1> other; }; | |
11959 | }; | |
11960 | ||
11961 | ||
11962 | ||
11963 | ||
11964 | ||
11965 | ||
11966 | ||
11967 | template<typename _Tp> | |
11968 | class allocator: public __gnu_cxx::new_allocator<_Tp> | |
11969 | { | |
11970 | public: | |
11971 | typedef size_t size_type; | |
11972 | typedef ptrdiff_t difference_type; | |
11973 | typedef _Tp* pointer; | |
11974 | typedef const _Tp* const_pointer; | |
11975 | typedef _Tp& reference; | |
11976 | typedef const _Tp& const_reference; | |
11977 | typedef _Tp value_type; | |
11978 | ||
11979 | template<typename _Tp1> | |
11980 | struct rebind | |
11981 | { typedef allocator<_Tp1> other; }; | |
11982 | ||
11983 | allocator() throw() { } | |
11984 | ||
11985 | allocator(const allocator& __a) throw() | |
11986 | : __gnu_cxx::new_allocator<_Tp>(__a) { } | |
11987 | ||
11988 | template<typename _Tp1> | |
11989 | allocator(const allocator<_Tp1>&) throw() { } | |
11990 | ||
11991 | ~allocator() throw() { } | |
11992 | ||
11993 | ||
11994 | }; | |
11995 | ||
11996 | template<typename _T1, typename _T2> | |
11997 | inline bool | |
11998 | operator==(const allocator<_T1>&, const allocator<_T2>&) | |
11999 | { return true; } | |
12000 | ||
12001 | template<typename _Tp> | |
12002 | inline bool | |
12003 | operator==(const allocator<_Tp>&, const allocator<_Tp>&) | |
12004 | { return true; } | |
12005 | ||
12006 | template<typename _T1, typename _T2> | |
12007 | inline bool | |
12008 | operator!=(const allocator<_T1>&, const allocator<_T2>&) | |
12009 | { return false; } | |
12010 | ||
12011 | template<typename _Tp> | |
12012 | inline bool | |
12013 | operator!=(const allocator<_Tp>&, const allocator<_Tp>&) | |
12014 | { return false; } | |
12015 | ||
12016 | ||
12017 | ||
12018 | ||
12019 | ||
12020 | extern template class allocator<char>; | |
12021 | extern template class allocator<wchar_t>; | |
12022 | ||
12023 | ||
12024 | ||
12025 | #undef __glibcxx_base_allocator | |
12026 | ||
12027 | ||
12028 | template<typename _Alloc, bool = __is_empty(_Alloc)> | |
12029 | struct __alloc_swap | |
12030 | { static void _S_do_it(_Alloc&, _Alloc&) { } }; | |
12031 | ||
12032 | template<typename _Alloc> | |
12033 | struct __alloc_swap<_Alloc, false> | |
12034 | { | |
12035 | static void | |
12036 | _S_do_it(_Alloc& __one, _Alloc& __two) | |
12037 | { | |
12038 | ||
12039 | if (__one != __two) | |
12040 | swap(__one, __two); | |
12041 | } | |
12042 | }; | |
12043 | ||
12044 | ||
12045 | template<typename _Alloc, bool = __is_empty(_Alloc)> | |
12046 | struct __alloc_neq | |
12047 | { | |
12048 | static bool | |
12049 | _S_do_it(const _Alloc&, const _Alloc&) | |
12050 | { return false; } | |
12051 | }; | |
12052 | ||
12053 | template<typename _Alloc> | |
12054 | struct __alloc_neq<_Alloc, false> | |
12055 | { | |
12056 | static bool | |
12057 | _S_do_it(const _Alloc& __one, const _Alloc& __two) | |
12058 | { return __one != __two; } | |
12059 | }; | |
12060 | ||
12061 | } | |
12062 | # 49 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 2 3 | |
12063 | ||
12064 | ||
12065 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream_insert.h" 1 3 | |
12066 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream_insert.h" 3 | |
12067 | #define _OSTREAM_INSERT_H 1 | |
12068 | ||
12069 | ||
12070 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream_insert.h" 3 | |
12071 | ||
12072 | ||
12073 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cxxabi-forced.h" 1 3 | |
12074 | # 32 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cxxabi-forced.h" 3 | |
12075 | #define _CXXABI_FORCED_H 1 | |
12076 | ||
12077 | #pragma GCC visibility push(default) | |
12078 | ||
12079 | ||
12080 | namespace __cxxabiv1 | |
12081 | { | |
12082 | ||
12083 | ||
12084 | class __forced_unwind | |
12085 | { | |
12086 | virtual ~__forced_unwind() throw(); | |
12087 | virtual void __pure_dummy() = 0; | |
12088 | }; | |
12089 | } | |
12090 | ||
12091 | ||
12092 | #pragma GCC visibility pop | |
12093 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream_insert.h" 2 3 | |
12094 | ||
12095 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12096 | ||
12097 | template<typename _CharT, typename _Traits> | |
12098 | inline void | |
12099 | __ostream_write(basic_ostream<_CharT, _Traits>& __out, | |
12100 | const _CharT* __s, streamsize __n) | |
12101 | { | |
12102 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
12103 | typedef typename __ostream_type::ios_base __ios_base; | |
12104 | ||
12105 | const streamsize __put = __out.rdbuf()->sputn(__s, __n); | |
12106 | if (__put != __n) | |
12107 | __out.setstate(__ios_base::badbit); | |
12108 | } | |
12109 | ||
12110 | template<typename _CharT, typename _Traits> | |
12111 | inline void | |
12112 | __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) | |
12113 | { | |
12114 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
12115 | typedef typename __ostream_type::ios_base __ios_base; | |
12116 | ||
12117 | const _CharT __c = __out.fill(); | |
12118 | for (; __n > 0; --__n) | |
12119 | { | |
12120 | const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); | |
12121 | if (_Traits::eq_int_type(__put, _Traits::eof())) | |
12122 | { | |
12123 | __out.setstate(__ios_base::badbit); | |
12124 | break; | |
12125 | } | |
12126 | } | |
12127 | } | |
12128 | ||
12129 | template<typename _CharT, typename _Traits> | |
12130 | basic_ostream<_CharT, _Traits>& | |
12131 | __ostream_insert(basic_ostream<_CharT, _Traits>& __out, | |
12132 | const _CharT* __s, streamsize __n) | |
12133 | { | |
12134 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
12135 | typedef typename __ostream_type::ios_base __ios_base; | |
12136 | ||
12137 | typename __ostream_type::sentry __cerb(__out); | |
12138 | if (__cerb) | |
12139 | { | |
12140 | try | |
12141 | { | |
12142 | const streamsize __w = __out.width(); | |
12143 | if (__w > __n) | |
12144 | { | |
12145 | const bool __left = ((__out.flags() | |
12146 | & __ios_base::adjustfield) | |
12147 | == __ios_base::left); | |
12148 | if (!__left) | |
12149 | __ostream_fill(__out, __w - __n); | |
12150 | if (__out.good()) | |
12151 | __ostream_write(__out, __s, __n); | |
12152 | if (__left && __out.good()) | |
12153 | __ostream_fill(__out, __w - __n); | |
12154 | } | |
12155 | else | |
12156 | __ostream_write(__out, __s, __n); | |
12157 | __out.width(0); | |
12158 | } | |
12159 | catch(__cxxabiv1::__forced_unwind&) | |
12160 | { | |
12161 | __out._M_setstate(__ios_base::badbit); | |
12162 | throw; | |
12163 | } | |
12164 | catch(...) | |
12165 | { __out._M_setstate(__ios_base::badbit); } | |
12166 | } | |
12167 | return __out; | |
12168 | } | |
12169 | ||
12170 | ||
12171 | ||
12172 | ||
12173 | ||
12174 | extern template ostream& __ostream_insert(ostream&, const char*, streamsize); | |
12175 | ||
12176 | ||
12177 | ||
12178 | ||
12179 | ||
12180 | ||
12181 | ||
12182 | } | |
12183 | # 52 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 2 3 | |
12184 | ||
12185 | ||
12186 | ||
12187 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 1 3 | |
12188 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12189 | #define _STL_FUNCTION_H 1 | |
12190 | ||
12191 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12192 | # 102 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12193 | template<typename _Arg, typename _Result> | |
12194 | struct unary_function | |
12195 | { | |
12196 | typedef _Arg argument_type; | |
12197 | ||
12198 | ||
12199 | typedef _Result result_type; | |
12200 | }; | |
12201 | ||
12202 | ||
12203 | ||
12204 | ||
12205 | template<typename _Arg1, typename _Arg2, typename _Result> | |
12206 | struct binary_function | |
12207 | { | |
12208 | typedef _Arg1 first_argument_type; | |
12209 | ||
12210 | ||
12211 | typedef _Arg2 second_argument_type; | |
12212 | typedef _Result result_type; | |
12213 | }; | |
12214 | # 136 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12215 | template<typename _Tp> | |
12216 | struct plus : public binary_function<_Tp, _Tp, _Tp> | |
12217 | { | |
12218 | _Tp | |
12219 | operator()(const _Tp& __x, const _Tp& __y) const | |
12220 | { return __x + __y; } | |
12221 | }; | |
12222 | ||
12223 | ||
12224 | template<typename _Tp> | |
12225 | struct minus : public binary_function<_Tp, _Tp, _Tp> | |
12226 | { | |
12227 | _Tp | |
12228 | operator()(const _Tp& __x, const _Tp& __y) const | |
12229 | { return __x - __y; } | |
12230 | }; | |
12231 | ||
12232 | ||
12233 | template<typename _Tp> | |
12234 | struct multiplies : public binary_function<_Tp, _Tp, _Tp> | |
12235 | { | |
12236 | _Tp | |
12237 | operator()(const _Tp& __x, const _Tp& __y) const | |
12238 | { return __x * __y; } | |
12239 | }; | |
12240 | ||
12241 | ||
12242 | template<typename _Tp> | |
12243 | struct divides : public binary_function<_Tp, _Tp, _Tp> | |
12244 | { | |
12245 | _Tp | |
12246 | operator()(const _Tp& __x, const _Tp& __y) const | |
12247 | { return __x / __y; } | |
12248 | }; | |
12249 | ||
12250 | ||
12251 | template<typename _Tp> | |
12252 | struct modulus : public binary_function<_Tp, _Tp, _Tp> | |
12253 | { | |
12254 | _Tp | |
12255 | operator()(const _Tp& __x, const _Tp& __y) const | |
12256 | { return __x % __y; } | |
12257 | }; | |
12258 | ||
12259 | ||
12260 | template<typename _Tp> | |
12261 | struct negate : public unary_function<_Tp, _Tp> | |
12262 | { | |
12263 | _Tp | |
12264 | operator()(const _Tp& __x) const | |
12265 | { return -__x; } | |
12266 | }; | |
12267 | # 198 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12268 | template<typename _Tp> | |
12269 | struct equal_to : public binary_function<_Tp, _Tp, bool> | |
12270 | { | |
12271 | bool | |
12272 | operator()(const _Tp& __x, const _Tp& __y) const | |
12273 | { return __x == __y; } | |
12274 | }; | |
12275 | ||
12276 | ||
12277 | template<typename _Tp> | |
12278 | struct not_equal_to : public binary_function<_Tp, _Tp, bool> | |
12279 | { | |
12280 | bool | |
12281 | operator()(const _Tp& __x, const _Tp& __y) const | |
12282 | { return __x != __y; } | |
12283 | }; | |
12284 | ||
12285 | ||
12286 | template<typename _Tp> | |
12287 | struct greater : public binary_function<_Tp, _Tp, bool> | |
12288 | { | |
12289 | bool | |
12290 | operator()(const _Tp& __x, const _Tp& __y) const | |
12291 | { return __x > __y; } | |
12292 | }; | |
12293 | ||
12294 | ||
12295 | template<typename _Tp> | |
12296 | struct less : public binary_function<_Tp, _Tp, bool> | |
12297 | { | |
12298 | bool | |
12299 | operator()(const _Tp& __x, const _Tp& __y) const | |
12300 | { return __x < __y; } | |
12301 | }; | |
12302 | ||
12303 | ||
12304 | template<typename _Tp> | |
12305 | struct greater_equal : public binary_function<_Tp, _Tp, bool> | |
12306 | { | |
12307 | bool | |
12308 | operator()(const _Tp& __x, const _Tp& __y) const | |
12309 | { return __x >= __y; } | |
12310 | }; | |
12311 | ||
12312 | ||
12313 | template<typename _Tp> | |
12314 | struct less_equal : public binary_function<_Tp, _Tp, bool> | |
12315 | { | |
12316 | bool | |
12317 | operator()(const _Tp& __x, const _Tp& __y) const | |
12318 | { return __x <= __y; } | |
12319 | }; | |
12320 | # 260 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12321 | template<typename _Tp> | |
12322 | struct logical_and : public binary_function<_Tp, _Tp, bool> | |
12323 | { | |
12324 | bool | |
12325 | operator()(const _Tp& __x, const _Tp& __y) const | |
12326 | { return __x && __y; } | |
12327 | }; | |
12328 | ||
12329 | ||
12330 | template<typename _Tp> | |
12331 | struct logical_or : public binary_function<_Tp, _Tp, bool> | |
12332 | { | |
12333 | bool | |
12334 | operator()(const _Tp& __x, const _Tp& __y) const | |
12335 | { return __x || __y; } | |
12336 | }; | |
12337 | ||
12338 | ||
12339 | template<typename _Tp> | |
12340 | struct logical_not : public unary_function<_Tp, bool> | |
12341 | { | |
12342 | bool | |
12343 | operator()(const _Tp& __x) const | |
12344 | { return !__x; } | |
12345 | }; | |
12346 | ||
12347 | ||
12348 | ||
12349 | ||
12350 | template<typename _Tp> | |
12351 | struct bit_and : public binary_function<_Tp, _Tp, _Tp> | |
12352 | { | |
12353 | _Tp | |
12354 | operator()(const _Tp& __x, const _Tp& __y) const | |
12355 | { return __x & __y; } | |
12356 | }; | |
12357 | ||
12358 | template<typename _Tp> | |
12359 | struct bit_or : public binary_function<_Tp, _Tp, _Tp> | |
12360 | { | |
12361 | _Tp | |
12362 | operator()(const _Tp& __x, const _Tp& __y) const | |
12363 | { return __x | __y; } | |
12364 | }; | |
12365 | ||
12366 | template<typename _Tp> | |
12367 | struct bit_xor : public binary_function<_Tp, _Tp, _Tp> | |
12368 | { | |
12369 | _Tp | |
12370 | operator()(const _Tp& __x, const _Tp& __y) const | |
12371 | { return __x ^ __y; } | |
12372 | }; | |
12373 | # 341 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12374 | template<typename _Predicate> | |
12375 | class unary_negate | |
12376 | : public unary_function<typename _Predicate::argument_type, bool> | |
12377 | { | |
12378 | protected: | |
12379 | _Predicate _M_pred; | |
12380 | ||
12381 | public: | |
12382 | explicit | |
12383 | unary_negate(const _Predicate& __x) : _M_pred(__x) { } | |
12384 | ||
12385 | bool | |
12386 | operator()(const typename _Predicate::argument_type& __x) const | |
12387 | { return !_M_pred(__x); } | |
12388 | }; | |
12389 | ||
12390 | ||
12391 | template<typename _Predicate> | |
12392 | inline unary_negate<_Predicate> | |
12393 | not1(const _Predicate& __pred) | |
12394 | { return unary_negate<_Predicate>(__pred); } | |
12395 | ||
12396 | ||
12397 | template<typename _Predicate> | |
12398 | class binary_negate | |
12399 | : public binary_function<typename _Predicate::first_argument_type, | |
12400 | typename _Predicate::second_argument_type, bool> | |
12401 | { | |
12402 | protected: | |
12403 | _Predicate _M_pred; | |
12404 | ||
12405 | public: | |
12406 | explicit | |
12407 | binary_negate(const _Predicate& __x) : _M_pred(__x) { } | |
12408 | ||
12409 | bool | |
12410 | operator()(const typename _Predicate::first_argument_type& __x, | |
12411 | const typename _Predicate::second_argument_type& __y) const | |
12412 | { return !_M_pred(__x, __y); } | |
12413 | }; | |
12414 | ||
12415 | ||
12416 | template<typename _Predicate> | |
12417 | inline binary_negate<_Predicate> | |
12418 | not2(const _Predicate& __pred) | |
12419 | { return binary_negate<_Predicate>(__pred); } | |
12420 | # 410 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12421 | template<typename _Arg, typename _Result> | |
12422 | class pointer_to_unary_function : public unary_function<_Arg, _Result> | |
12423 | { | |
12424 | protected: | |
12425 | _Result (*_M_ptr)(_Arg); | |
12426 | ||
12427 | public: | |
12428 | pointer_to_unary_function() { } | |
12429 | ||
12430 | explicit | |
12431 | pointer_to_unary_function(_Result (*__x)(_Arg)) | |
12432 | : _M_ptr(__x) { } | |
12433 | ||
12434 | _Result | |
12435 | operator()(_Arg __x) const | |
12436 | { return _M_ptr(__x); } | |
12437 | }; | |
12438 | ||
12439 | ||
12440 | template<typename _Arg, typename _Result> | |
12441 | inline pointer_to_unary_function<_Arg, _Result> | |
12442 | ptr_fun(_Result (*__x)(_Arg)) | |
12443 | { return pointer_to_unary_function<_Arg, _Result>(__x); } | |
12444 | ||
12445 | ||
12446 | template<typename _Arg1, typename _Arg2, typename _Result> | |
12447 | class pointer_to_binary_function | |
12448 | : public binary_function<_Arg1, _Arg2, _Result> | |
12449 | { | |
12450 | protected: | |
12451 | _Result (*_M_ptr)(_Arg1, _Arg2); | |
12452 | ||
12453 | public: | |
12454 | pointer_to_binary_function() { } | |
12455 | ||
12456 | explicit | |
12457 | pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) | |
12458 | : _M_ptr(__x) { } | |
12459 | ||
12460 | _Result | |
12461 | operator()(_Arg1 __x, _Arg2 __y) const | |
12462 | { return _M_ptr(__x, __y); } | |
12463 | }; | |
12464 | ||
12465 | ||
12466 | template<typename _Arg1, typename _Arg2, typename _Result> | |
12467 | inline pointer_to_binary_function<_Arg1, _Arg2, _Result> | |
12468 | ptr_fun(_Result (*__x)(_Arg1, _Arg2)) | |
12469 | { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } | |
12470 | ||
12471 | ||
12472 | template<typename _Tp> | |
12473 | struct _Identity : public unary_function<_Tp,_Tp> | |
12474 | { | |
12475 | _Tp& | |
12476 | operator()(_Tp& __x) const | |
12477 | { return __x; } | |
12478 | ||
12479 | const _Tp& | |
12480 | operator()(const _Tp& __x) const | |
12481 | { return __x; } | |
12482 | }; | |
12483 | ||
12484 | template<typename _Pair> | |
12485 | struct _Select1st : public unary_function<_Pair, | |
12486 | typename _Pair::first_type> | |
12487 | { | |
12488 | typename _Pair::first_type& | |
12489 | operator()(_Pair& __x) const | |
12490 | { return __x.first; } | |
12491 | ||
12492 | const typename _Pair::first_type& | |
12493 | operator()(const _Pair& __x) const | |
12494 | { return __x.first; } | |
12495 | }; | |
12496 | ||
12497 | template<typename _Pair> | |
12498 | struct _Select2nd : public unary_function<_Pair, | |
12499 | typename _Pair::second_type> | |
12500 | { | |
12501 | typename _Pair::second_type& | |
12502 | operator()(_Pair& __x) const | |
12503 | { return __x.second; } | |
12504 | ||
12505 | const typename _Pair::second_type& | |
12506 | operator()(const _Pair& __x) const | |
12507 | { return __x.second; } | |
12508 | }; | |
12509 | # 515 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 3 | |
12510 | template<typename _Ret, typename _Tp> | |
12511 | class mem_fun_t : public unary_function<_Tp*, _Ret> | |
12512 | { | |
12513 | public: | |
12514 | explicit | |
12515 | mem_fun_t(_Ret (_Tp::*__pf)()) | |
12516 | : _M_f(__pf) { } | |
12517 | ||
12518 | _Ret | |
12519 | operator()(_Tp* __p) const | |
12520 | { return (__p->*_M_f)(); } | |
12521 | ||
12522 | private: | |
12523 | _Ret (_Tp::*_M_f)(); | |
12524 | }; | |
12525 | ||
12526 | ||
12527 | ||
12528 | template<typename _Ret, typename _Tp> | |
12529 | class const_mem_fun_t : public unary_function<const _Tp*, _Ret> | |
12530 | { | |
12531 | public: | |
12532 | explicit | |
12533 | const_mem_fun_t(_Ret (_Tp::*__pf)() const) | |
12534 | : _M_f(__pf) { } | |
12535 | ||
12536 | _Ret | |
12537 | operator()(const _Tp* __p) const | |
12538 | { return (__p->*_M_f)(); } | |
12539 | ||
12540 | private: | |
12541 | _Ret (_Tp::*_M_f)() const; | |
12542 | }; | |
12543 | ||
12544 | ||
12545 | ||
12546 | template<typename _Ret, typename _Tp> | |
12547 | class mem_fun_ref_t : public unary_function<_Tp, _Ret> | |
12548 | { | |
12549 | public: | |
12550 | explicit | |
12551 | mem_fun_ref_t(_Ret (_Tp::*__pf)()) | |
12552 | : _M_f(__pf) { } | |
12553 | ||
12554 | _Ret | |
12555 | operator()(_Tp& __r) const | |
12556 | { return (__r.*_M_f)(); } | |
12557 | ||
12558 | private: | |
12559 | _Ret (_Tp::*_M_f)(); | |
12560 | }; | |
12561 | ||
12562 | ||
12563 | ||
12564 | template<typename _Ret, typename _Tp> | |
12565 | class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> | |
12566 | { | |
12567 | public: | |
12568 | explicit | |
12569 | const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) | |
12570 | : _M_f(__pf) { } | |
12571 | ||
12572 | _Ret | |
12573 | operator()(const _Tp& __r) const | |
12574 | { return (__r.*_M_f)(); } | |
12575 | ||
12576 | private: | |
12577 | _Ret (_Tp::*_M_f)() const; | |
12578 | }; | |
12579 | ||
12580 | ||
12581 | ||
12582 | template<typename _Ret, typename _Tp, typename _Arg> | |
12583 | class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> | |
12584 | { | |
12585 | public: | |
12586 | explicit | |
12587 | mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) | |
12588 | : _M_f(__pf) { } | |
12589 | ||
12590 | _Ret | |
12591 | operator()(_Tp* __p, _Arg __x) const | |
12592 | { return (__p->*_M_f)(__x); } | |
12593 | ||
12594 | private: | |
12595 | _Ret (_Tp::*_M_f)(_Arg); | |
12596 | }; | |
12597 | ||
12598 | ||
12599 | ||
12600 | template<typename _Ret, typename _Tp, typename _Arg> | |
12601 | class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret> | |
12602 | { | |
12603 | public: | |
12604 | explicit | |
12605 | const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) | |
12606 | : _M_f(__pf) { } | |
12607 | ||
12608 | _Ret | |
12609 | operator()(const _Tp* __p, _Arg __x) const | |
12610 | { return (__p->*_M_f)(__x); } | |
12611 | ||
12612 | private: | |
12613 | _Ret (_Tp::*_M_f)(_Arg) const; | |
12614 | }; | |
12615 | ||
12616 | ||
12617 | ||
12618 | template<typename _Ret, typename _Tp, typename _Arg> | |
12619 | class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> | |
12620 | { | |
12621 | public: | |
12622 | explicit | |
12623 | mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) | |
12624 | : _M_f(__pf) { } | |
12625 | ||
12626 | _Ret | |
12627 | operator()(_Tp& __r, _Arg __x) const | |
12628 | { return (__r.*_M_f)(__x); } | |
12629 | ||
12630 | private: | |
12631 | _Ret (_Tp::*_M_f)(_Arg); | |
12632 | }; | |
12633 | ||
12634 | ||
12635 | ||
12636 | template<typename _Ret, typename _Tp, typename _Arg> | |
12637 | class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> | |
12638 | { | |
12639 | public: | |
12640 | explicit | |
12641 | const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) | |
12642 | : _M_f(__pf) { } | |
12643 | ||
12644 | _Ret | |
12645 | operator()(const _Tp& __r, _Arg __x) const | |
12646 | { return (__r.*_M_f)(__x); } | |
12647 | ||
12648 | private: | |
12649 | _Ret (_Tp::*_M_f)(_Arg) const; | |
12650 | }; | |
12651 | ||
12652 | ||
12653 | ||
12654 | template<typename _Ret, typename _Tp> | |
12655 | inline mem_fun_t<_Ret, _Tp> | |
12656 | mem_fun(_Ret (_Tp::*__f)()) | |
12657 | { return mem_fun_t<_Ret, _Tp>(__f); } | |
12658 | ||
12659 | template<typename _Ret, typename _Tp> | |
12660 | inline const_mem_fun_t<_Ret, _Tp> | |
12661 | mem_fun(_Ret (_Tp::*__f)() const) | |
12662 | { return const_mem_fun_t<_Ret, _Tp>(__f); } | |
12663 | ||
12664 | template<typename _Ret, typename _Tp> | |
12665 | inline mem_fun_ref_t<_Ret, _Tp> | |
12666 | mem_fun_ref(_Ret (_Tp::*__f)()) | |
12667 | { return mem_fun_ref_t<_Ret, _Tp>(__f); } | |
12668 | ||
12669 | template<typename _Ret, typename _Tp> | |
12670 | inline const_mem_fun_ref_t<_Ret, _Tp> | |
12671 | mem_fun_ref(_Ret (_Tp::*__f)() const) | |
12672 | { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } | |
12673 | ||
12674 | template<typename _Ret, typename _Tp, typename _Arg> | |
12675 | inline mem_fun1_t<_Ret, _Tp, _Arg> | |
12676 | mem_fun(_Ret (_Tp::*__f)(_Arg)) | |
12677 | { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } | |
12678 | ||
12679 | template<typename _Ret, typename _Tp, typename _Arg> | |
12680 | inline const_mem_fun1_t<_Ret, _Tp, _Arg> | |
12681 | mem_fun(_Ret (_Tp::*__f)(_Arg) const) | |
12682 | { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } | |
12683 | ||
12684 | template<typename _Ret, typename _Tp, typename _Arg> | |
12685 | inline mem_fun1_ref_t<_Ret, _Tp, _Arg> | |
12686 | mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) | |
12687 | { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } | |
12688 | ||
12689 | template<typename _Ret, typename _Tp, typename _Arg> | |
12690 | inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> | |
12691 | mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) | |
12692 | { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } | |
12693 | ||
12694 | ||
12695 | ||
12696 | } | |
12697 | ||
12698 | ||
12699 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/backward/binders.h" 1 3 | |
12700 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/backward/binders.h" 3 | |
12701 | #define _GLIBCXX_BINDERS_H 1 | |
12702 | ||
12703 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12704 | # 99 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/backward/binders.h" 3 | |
12705 | template<typename _Operation> | |
12706 | class binder1st | |
12707 | : public unary_function<typename _Operation::second_argument_type, | |
12708 | typename _Operation::result_type> | |
12709 | { | |
12710 | protected: | |
12711 | _Operation op; | |
12712 | typename _Operation::first_argument_type value; | |
12713 | ||
12714 | public: | |
12715 | binder1st(const _Operation& __x, | |
12716 | const typename _Operation::first_argument_type& __y) | |
12717 | : op(__x), value(__y) { } | |
12718 | ||
12719 | typename _Operation::result_type | |
12720 | operator()(const typename _Operation::second_argument_type& __x) const | |
12721 | { return op(value, __x); } | |
12722 | ||
12723 | ||
12724 | ||
12725 | typename _Operation::result_type | |
12726 | operator()(typename _Operation::second_argument_type& __x) const | |
12727 | { return op(value, __x); } | |
12728 | } ; | |
12729 | ||
12730 | ||
12731 | template<typename _Operation, typename _Tp> | |
12732 | inline binder1st<_Operation> | |
12733 | bind1st(const _Operation& __fn, const _Tp& __x) | |
12734 | { | |
12735 | typedef typename _Operation::first_argument_type _Arg1_type; | |
12736 | return binder1st<_Operation>(__fn, _Arg1_type(__x)); | |
12737 | } | |
12738 | ||
12739 | ||
12740 | template<typename _Operation> | |
12741 | class binder2nd | |
12742 | : public unary_function<typename _Operation::first_argument_type, | |
12743 | typename _Operation::result_type> | |
12744 | { | |
12745 | protected: | |
12746 | _Operation op; | |
12747 | typename _Operation::second_argument_type value; | |
12748 | ||
12749 | public: | |
12750 | binder2nd(const _Operation& __x, | |
12751 | const typename _Operation::second_argument_type& __y) | |
12752 | : op(__x), value(__y) { } | |
12753 | ||
12754 | typename _Operation::result_type | |
12755 | operator()(const typename _Operation::first_argument_type& __x) const | |
12756 | { return op(__x, value); } | |
12757 | ||
12758 | ||
12759 | ||
12760 | typename _Operation::result_type | |
12761 | operator()(typename _Operation::first_argument_type& __x) const | |
12762 | { return op(__x, value); } | |
12763 | } ; | |
12764 | ||
12765 | ||
12766 | template<typename _Operation, typename _Tp> | |
12767 | inline binder2nd<_Operation> | |
12768 | bind2nd(const _Operation& __fn, const _Tp& __x) | |
12769 | { | |
12770 | typedef typename _Operation::second_argument_type _Arg2_type; | |
12771 | return binder2nd<_Operation>(__fn, _Arg2_type(__x)); | |
12772 | } | |
12773 | ||
12774 | ||
12775 | } | |
12776 | # 705 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_function.h" 2 3 | |
12777 | # 56 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 2 3 | |
12778 | ||
12779 | ||
12780 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 1 3 | |
12781 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
12782 | #define _BASIC_STRING_H 1 | |
12783 | ||
12784 | ||
12785 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
12786 | ||
12787 | ||
12788 | ||
12789 | ||
12790 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12791 | # 108 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
12792 | template<typename _CharT, typename _Traits, typename _Alloc> | |
12793 | class basic_string | |
12794 | { | |
12795 | typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type; | |
12796 | ||
12797 | ||
12798 | public: | |
12799 | typedef _Traits traits_type; | |
12800 | typedef typename _Traits::char_type value_type; | |
12801 | typedef _Alloc allocator_type; | |
12802 | typedef typename _CharT_alloc_type::size_type size_type; | |
12803 | typedef typename _CharT_alloc_type::difference_type difference_type; | |
12804 | typedef typename _CharT_alloc_type::reference reference; | |
12805 | typedef typename _CharT_alloc_type::const_reference const_reference; | |
12806 | typedef typename _CharT_alloc_type::pointer pointer; | |
12807 | typedef typename _CharT_alloc_type::const_pointer const_pointer; | |
12808 | typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator; | |
12809 | typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string> | |
12810 | const_iterator; | |
12811 | typedef std::reverse_iterator<const_iterator> const_reverse_iterator; | |
12812 | typedef std::reverse_iterator<iterator> reverse_iterator; | |
12813 | ||
12814 | private: | |
12815 | # 145 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
12816 | struct _Rep_base | |
12817 | { | |
12818 | size_type _M_length; | |
12819 | size_type _M_capacity; | |
12820 | _Atomic_word _M_refcount; | |
12821 | }; | |
12822 | ||
12823 | struct _Rep : _Rep_base | |
12824 | { | |
12825 | ||
12826 | typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc; | |
12827 | # 170 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
12828 | static const size_type _S_max_size; | |
12829 | static const _CharT _S_terminal; | |
12830 | ||
12831 | ||
12832 | ||
12833 | static size_type _S_empty_rep_storage[]; | |
12834 | ||
12835 | static _Rep& | |
12836 | _S_empty_rep() | |
12837 | { | |
12838 | ||
12839 | ||
12840 | ||
12841 | void* __p = reinterpret_cast<void*>(&_S_empty_rep_storage); | |
12842 | return *reinterpret_cast<_Rep*>(__p); | |
12843 | } | |
12844 | ||
12845 | bool | |
12846 | _M_is_leaked() const | |
12847 | { return this->_M_refcount < 0; } | |
12848 | ||
12849 | bool | |
12850 | _M_is_shared() const | |
12851 | { return this->_M_refcount > 0; } | |
12852 | ||
12853 | void | |
12854 | _M_set_leaked() | |
12855 | { this->_M_refcount = -1; } | |
12856 | ||
12857 | void | |
12858 | _M_set_sharable() | |
12859 | { this->_M_refcount = 0; } | |
12860 | ||
12861 | void | |
12862 | _M_set_length_and_sharable(size_type __n) | |
12863 | { | |
12864 | this->_M_set_sharable(); | |
12865 | this->_M_length = __n; | |
12866 | traits_type::assign(this->_M_refdata()[__n], _S_terminal); | |
12867 | ||
12868 | ||
12869 | } | |
12870 | ||
12871 | _CharT* | |
12872 | _M_refdata() throw() | |
12873 | { return reinterpret_cast<_CharT*>(this + 1); } | |
12874 | ||
12875 | _CharT* | |
12876 | _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) | |
12877 | { | |
12878 | return (!_M_is_leaked() && __alloc1 == __alloc2) | |
12879 | ? _M_refcopy() : _M_clone(__alloc1); | |
12880 | } | |
12881 | ||
12882 | ||
12883 | static _Rep* | |
12884 | _S_create(size_type, size_type, const _Alloc&); | |
12885 | ||
12886 | void | |
12887 | _M_dispose(const _Alloc& __a) | |
12888 | { | |
12889 | ||
12890 | if (__builtin_expect(this != &_S_empty_rep(), false)) | |
12891 | ||
12892 | if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, | |
12893 | -1) <= 0) | |
12894 | _M_destroy(__a); | |
12895 | } | |
12896 | ||
12897 | void | |
12898 | _M_destroy(const _Alloc&) throw(); | |
12899 | ||
12900 | _CharT* | |
12901 | _M_refcopy() throw() | |
12902 | { | |
12903 | ||
12904 | if (__builtin_expect(this != &_S_empty_rep(), false)) | |
12905 | ||
12906 | __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1); | |
12907 | return _M_refdata(); | |
12908 | } | |
12909 | ||
12910 | _CharT* | |
12911 | _M_clone(const _Alloc&, size_type __res = 0); | |
12912 | }; | |
12913 | ||
12914 | ||
12915 | struct _Alloc_hider : _Alloc | |
12916 | { | |
12917 | _Alloc_hider(_CharT* __dat, const _Alloc& __a) | |
12918 | : _Alloc(__a), _M_p(__dat) { } | |
12919 | ||
12920 | _CharT* _M_p; | |
12921 | }; | |
12922 | ||
12923 | public: | |
12924 | ||
12925 | ||
12926 | ||
12927 | ||
12928 | static const size_type npos = static_cast<size_type>(-1); | |
12929 | ||
12930 | private: | |
12931 | ||
12932 | mutable _Alloc_hider _M_dataplus; | |
12933 | ||
12934 | _CharT* | |
12935 | _M_data() const | |
12936 | { return _M_dataplus._M_p; } | |
12937 | ||
12938 | _CharT* | |
12939 | _M_data(_CharT* __p) | |
12940 | { return (_M_dataplus._M_p = __p); } | |
12941 | ||
12942 | _Rep* | |
12943 | _M_rep() const | |
12944 | { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } | |
12945 | ||
12946 | ||
12947 | ||
12948 | iterator | |
12949 | _M_ibegin() const | |
12950 | { return iterator(_M_data()); } | |
12951 | ||
12952 | iterator | |
12953 | _M_iend() const | |
12954 | { return iterator(_M_data() + this->size()); } | |
12955 | ||
12956 | void | |
12957 | _M_leak() | |
12958 | { | |
12959 | if (!_M_rep()->_M_is_leaked()) | |
12960 | _M_leak_hard(); | |
12961 | } | |
12962 | ||
12963 | size_type | |
12964 | _M_check(size_type __pos, const char* __s) const | |
12965 | { | |
12966 | if (__pos > this->size()) | |
12967 | __throw_out_of_range((__s)); | |
12968 | return __pos; | |
12969 | } | |
12970 | ||
12971 | void | |
12972 | _M_check_length(size_type __n1, size_type __n2, const char* __s) const | |
12973 | { | |
12974 | if (this->max_size() - (this->size() - __n1) < __n2) | |
12975 | __throw_length_error((__s)); | |
12976 | } | |
12977 | ||
12978 | ||
12979 | size_type | |
12980 | _M_limit(size_type __pos, size_type __off) const | |
12981 | { | |
12982 | const bool __testoff = __off < this->size() - __pos; | |
12983 | return __testoff ? __off : this->size() - __pos; | |
12984 | } | |
12985 | ||
12986 | ||
12987 | bool | |
12988 | _M_disjunct(const _CharT* __s) const | |
12989 | { | |
12990 | return (less<const _CharT*>()(__s, _M_data()) | |
12991 | || less<const _CharT*>()(_M_data() + this->size(), __s)); | |
12992 | } | |
12993 | ||
12994 | ||
12995 | ||
12996 | static void | |
12997 | _M_copy(_CharT* __d, const _CharT* __s, size_type __n) | |
12998 | { | |
12999 | if (__n == 1) | |
13000 | traits_type::assign(*__d, *__s); | |
13001 | else | |
13002 | traits_type::copy(__d, __s, __n); | |
13003 | } | |
13004 | ||
13005 | static void | |
13006 | _M_move(_CharT* __d, const _CharT* __s, size_type __n) | |
13007 | { | |
13008 | if (__n == 1) | |
13009 | traits_type::assign(*__d, *__s); | |
13010 | else | |
13011 | traits_type::move(__d, __s, __n); | |
13012 | } | |
13013 | ||
13014 | static void | |
13015 | _M_assign(_CharT* __d, size_type __n, _CharT __c) | |
13016 | { | |
13017 | if (__n == 1) | |
13018 | traits_type::assign(*__d, __c); | |
13019 | else | |
13020 | traits_type::assign(__d, __n, __c); | |
13021 | } | |
13022 | ||
13023 | ||
13024 | ||
13025 | template<class _Iterator> | |
13026 | static void | |
13027 | _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) | |
13028 | { | |
13029 | for (; __k1 != __k2; ++__k1, ++__p) | |
13030 | traits_type::assign(*__p, *__k1); | |
13031 | } | |
13032 | ||
13033 | static void | |
13034 | _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) | |
13035 | { _S_copy_chars(__p, __k1.base(), __k2.base()); } | |
13036 | ||
13037 | static void | |
13038 | _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) | |
13039 | { _S_copy_chars(__p, __k1.base(), __k2.base()); } | |
13040 | ||
13041 | static void | |
13042 | _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) | |
13043 | { _M_copy(__p, __k1, __k2 - __k1); } | |
13044 | ||
13045 | static void | |
13046 | _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) | |
13047 | { _M_copy(__p, __k1, __k2 - __k1); } | |
13048 | ||
13049 | static int | |
13050 | _S_compare(size_type __n1, size_type __n2) | |
13051 | { | |
13052 | const difference_type __d = difference_type(__n1 - __n2); | |
13053 | ||
13054 | if (__d > __gnu_cxx::__numeric_traits<int>::__max) | |
13055 | return __gnu_cxx::__numeric_traits<int>::__max; | |
13056 | else if (__d < __gnu_cxx::__numeric_traits<int>::__min) | |
13057 | return __gnu_cxx::__numeric_traits<int>::__min; | |
13058 | else | |
13059 | return int(__d); | |
13060 | } | |
13061 | ||
13062 | void | |
13063 | _M_mutate(size_type __pos, size_type __len1, size_type __len2); | |
13064 | ||
13065 | void | |
13066 | _M_leak_hard(); | |
13067 | ||
13068 | static _Rep& | |
13069 | _S_empty_rep() | |
13070 | { return _Rep::_S_empty_rep(); } | |
13071 | ||
13072 | public: | |
13073 | ||
13074 | ||
13075 | ||
13076 | ||
13077 | ||
13078 | ||
13079 | ||
13080 | inline | |
13081 | basic_string(); | |
13082 | ||
13083 | ||
13084 | ||
13085 | ||
13086 | explicit | |
13087 | basic_string(const _Alloc& __a); | |
13088 | ||
13089 | ||
13090 | ||
13091 | ||
13092 | ||
13093 | ||
13094 | basic_string(const basic_string& __str); | |
13095 | ||
13096 | ||
13097 | ||
13098 | ||
13099 | ||
13100 | ||
13101 | basic_string(const basic_string& __str, size_type __pos, | |
13102 | size_type __n = npos); | |
13103 | ||
13104 | ||
13105 | ||
13106 | ||
13107 | ||
13108 | ||
13109 | ||
13110 | basic_string(const basic_string& __str, size_type __pos, | |
13111 | size_type __n, const _Alloc& __a); | |
13112 | # 464 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13113 | basic_string(const _CharT* __s, size_type __n, | |
13114 | const _Alloc& __a = _Alloc()); | |
13115 | ||
13116 | ||
13117 | ||
13118 | ||
13119 | ||
13120 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); | |
13121 | ||
13122 | ||
13123 | ||
13124 | ||
13125 | ||
13126 | ||
13127 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()); | |
13128 | ||
13129 | ||
13130 | ||
13131 | ||
13132 | ||
13133 | ||
13134 | ||
13135 | template<class _InputIterator> | |
13136 | basic_string(_InputIterator __beg, _InputIterator __end, | |
13137 | const _Alloc& __a = _Alloc()); | |
13138 | ||
13139 | ||
13140 | ||
13141 | ||
13142 | ~basic_string() | |
13143 | { _M_rep()->_M_dispose(this->get_allocator()); } | |
13144 | ||
13145 | ||
13146 | ||
13147 | ||
13148 | ||
13149 | basic_string& | |
13150 | operator=(const basic_string& __str) | |
13151 | { return this->assign(__str); } | |
13152 | ||
13153 | ||
13154 | ||
13155 | ||
13156 | ||
13157 | basic_string& | |
13158 | operator=(const _CharT* __s) | |
13159 | { return this->assign(__s); } | |
13160 | # 519 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13161 | basic_string& | |
13162 | operator=(_CharT __c) | |
13163 | { | |
13164 | this->assign(1, __c); | |
13165 | return *this; | |
13166 | } | |
13167 | ||
13168 | ||
13169 | ||
13170 | ||
13171 | ||
13172 | ||
13173 | iterator | |
13174 | begin() | |
13175 | { | |
13176 | _M_leak(); | |
13177 | return iterator(_M_data()); | |
13178 | } | |
13179 | ||
13180 | ||
13181 | ||
13182 | ||
13183 | ||
13184 | const_iterator | |
13185 | begin() const | |
13186 | { return const_iterator(_M_data()); } | |
13187 | ||
13188 | ||
13189 | ||
13190 | ||
13191 | ||
13192 | iterator | |
13193 | end() | |
13194 | { | |
13195 | _M_leak(); | |
13196 | return iterator(_M_data() + this->size()); | |
13197 | } | |
13198 | ||
13199 | ||
13200 | ||
13201 | ||
13202 | ||
13203 | const_iterator | |
13204 | end() const | |
13205 | { return const_iterator(_M_data() + this->size()); } | |
13206 | ||
13207 | ||
13208 | ||
13209 | ||
13210 | ||
13211 | ||
13212 | reverse_iterator | |
13213 | rbegin() | |
13214 | { return reverse_iterator(this->end()); } | |
13215 | ||
13216 | ||
13217 | ||
13218 | ||
13219 | ||
13220 | ||
13221 | const_reverse_iterator | |
13222 | rbegin() const | |
13223 | { return const_reverse_iterator(this->end()); } | |
13224 | ||
13225 | ||
13226 | ||
13227 | ||
13228 | ||
13229 | ||
13230 | reverse_iterator | |
13231 | rend() | |
13232 | { return reverse_iterator(this->begin()); } | |
13233 | ||
13234 | ||
13235 | ||
13236 | ||
13237 | ||
13238 | ||
13239 | const_reverse_iterator | |
13240 | rend() const | |
13241 | { return const_reverse_iterator(this->begin()); } | |
13242 | ||
13243 | public: | |
13244 | ||
13245 | ||
13246 | ||
13247 | size_type | |
13248 | size() const | |
13249 | { return _M_rep()->_M_length; } | |
13250 | ||
13251 | ||
13252 | ||
13253 | size_type | |
13254 | length() const | |
13255 | { return _M_rep()->_M_length; } | |
13256 | ||
13257 | ||
13258 | size_type | |
13259 | max_size() const | |
13260 | { return _Rep::_S_max_size; } | |
13261 | # 630 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13262 | void | |
13263 | resize(size_type __n, _CharT __c); | |
13264 | # 643 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13265 | void | |
13266 | resize(size_type __n) | |
13267 | { this->resize(__n, _CharT()); } | |
13268 | ||
13269 | ||
13270 | ||
13271 | ||
13272 | ||
13273 | size_type | |
13274 | capacity() const | |
13275 | { return _M_rep()->_M_capacity; } | |
13276 | # 672 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13277 | void | |
13278 | reserve(size_type __res_arg = 0); | |
13279 | ||
13280 | ||
13281 | ||
13282 | ||
13283 | void | |
13284 | clear() | |
13285 | { _M_mutate(0, this->size(), 0); } | |
13286 | ||
13287 | ||
13288 | ||
13289 | ||
13290 | bool | |
13291 | empty() const | |
13292 | { return this->size() == 0; } | |
13293 | # 700 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13294 | const_reference | |
13295 | operator[] (size_type __pos) const | |
13296 | { | |
13297 | ; | |
13298 | return _M_data()[__pos]; | |
13299 | } | |
13300 | # 717 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13301 | reference | |
13302 | operator[](size_type __pos) | |
13303 | { | |
13304 | ||
13305 | ; | |
13306 | ||
13307 | ; | |
13308 | _M_leak(); | |
13309 | return _M_data()[__pos]; | |
13310 | } | |
13311 | # 738 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13312 | const_reference | |
13313 | at(size_type __n) const | |
13314 | { | |
13315 | if (__n >= this->size()) | |
13316 | __throw_out_of_range(("basic_string::at")); | |
13317 | return _M_data()[__n]; | |
13318 | } | |
13319 | # 757 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13320 | reference | |
13321 | at(size_type __n) | |
13322 | { | |
13323 | if (__n >= size()) | |
13324 | __throw_out_of_range(("basic_string::at")); | |
13325 | _M_leak(); | |
13326 | return _M_data()[__n]; | |
13327 | } | |
13328 | ||
13329 | ||
13330 | ||
13331 | ||
13332 | ||
13333 | ||
13334 | ||
13335 | basic_string& | |
13336 | operator+=(const basic_string& __str) | |
13337 | { return this->append(__str); } | |
13338 | ||
13339 | ||
13340 | ||
13341 | ||
13342 | ||
13343 | ||
13344 | basic_string& | |
13345 | operator+=(const _CharT* __s) | |
13346 | { return this->append(__s); } | |
13347 | ||
13348 | ||
13349 | ||
13350 | ||
13351 | ||
13352 | ||
13353 | basic_string& | |
13354 | operator+=(_CharT __c) | |
13355 | { | |
13356 | this->push_back(__c); | |
13357 | return *this; | |
13358 | } | |
13359 | ||
13360 | ||
13361 | ||
13362 | ||
13363 | ||
13364 | ||
13365 | basic_string& | |
13366 | append(const basic_string& __str); | |
13367 | # 817 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13368 | basic_string& | |
13369 | append(const basic_string& __str, size_type __pos, size_type __n); | |
13370 | ||
13371 | ||
13372 | ||
13373 | ||
13374 | ||
13375 | ||
13376 | ||
13377 | basic_string& | |
13378 | append(const _CharT* __s, size_type __n); | |
13379 | ||
13380 | ||
13381 | ||
13382 | ||
13383 | ||
13384 | ||
13385 | basic_string& | |
13386 | append(const _CharT* __s) | |
13387 | { | |
13388 | ; | |
13389 | return this->append(__s, traits_type::length(__s)); | |
13390 | } | |
13391 | # 849 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13392 | basic_string& | |
13393 | append(size_type __n, _CharT __c); | |
13394 | # 860 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13395 | template<class _InputIterator> | |
13396 | basic_string& | |
13397 | append(_InputIterator __first, _InputIterator __last) | |
13398 | { return this->replace(_M_iend(), _M_iend(), __first, __last); } | |
13399 | ||
13400 | ||
13401 | ||
13402 | ||
13403 | ||
13404 | void | |
13405 | push_back(_CharT __c) | |
13406 | { | |
13407 | const size_type __len = 1 + this->size(); | |
13408 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
13409 | this->reserve(__len); | |
13410 | traits_type::assign(_M_data()[this->size()], __c); | |
13411 | _M_rep()->_M_set_length_and_sharable(__len); | |
13412 | } | |
13413 | ||
13414 | ||
13415 | ||
13416 | ||
13417 | ||
13418 | ||
13419 | basic_string& | |
13420 | assign(const basic_string& __str); | |
13421 | # 899 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13422 | basic_string& | |
13423 | assign(const basic_string& __str, size_type __pos, size_type __n) | |
13424 | { return this->assign(__str._M_data() | |
13425 | + __str._M_check(__pos, "basic_string::assign"), | |
13426 | __str._M_limit(__pos, __n)); } | |
13427 | # 915 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13428 | basic_string& | |
13429 | assign(const _CharT* __s, size_type __n); | |
13430 | # 927 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13431 | basic_string& | |
13432 | assign(const _CharT* __s) | |
13433 | { | |
13434 | ; | |
13435 | return this->assign(__s, traits_type::length(__s)); | |
13436 | } | |
13437 | # 943 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13438 | basic_string& | |
13439 | assign(size_type __n, _CharT __c) | |
13440 | { return _M_replace_aux(size_type(0), this->size(), __n, __c); } | |
13441 | # 955 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13442 | template<class _InputIterator> | |
13443 | basic_string& | |
13444 | assign(_InputIterator __first, _InputIterator __last) | |
13445 | { return this->replace(_M_ibegin(), _M_iend(), __first, __last); } | |
13446 | # 972 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13447 | void | |
13448 | insert(iterator __p, size_type __n, _CharT __c) | |
13449 | { this->replace(__p, __p, __n, __c); } | |
13450 | # 987 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13451 | template<class _InputIterator> | |
13452 | void | |
13453 | insert(iterator __p, _InputIterator __beg, _InputIterator __end) | |
13454 | { this->replace(__p, __p, __beg, __end); } | |
13455 | # 1003 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13456 | basic_string& | |
13457 | insert(size_type __pos1, const basic_string& __str) | |
13458 | { return this->insert(__pos1, __str, size_type(0), __str.size()); } | |
13459 | # 1025 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13460 | basic_string& | |
13461 | insert(size_type __pos1, const basic_string& __str, | |
13462 | size_type __pos2, size_type __n) | |
13463 | { return this->insert(__pos1, __str._M_data() | |
13464 | + __str._M_check(__pos2, "basic_string::insert"), | |
13465 | __str._M_limit(__pos2, __n)); } | |
13466 | # 1048 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13467 | basic_string& | |
13468 | insert(size_type __pos, const _CharT* __s, size_type __n); | |
13469 | # 1066 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13470 | basic_string& | |
13471 | insert(size_type __pos, const _CharT* __s) | |
13472 | { | |
13473 | ; | |
13474 | return this->insert(__pos, __s, traits_type::length(__s)); | |
13475 | } | |
13476 | # 1089 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13477 | basic_string& | |
13478 | insert(size_type __pos, size_type __n, _CharT __c) | |
13479 | { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), | |
13480 | size_type(0), __n, __c); } | |
13481 | # 1106 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13482 | iterator | |
13483 | insert(iterator __p, _CharT __c) | |
13484 | { | |
13485 | ; | |
13486 | const size_type __pos = __p - _M_ibegin(); | |
13487 | _M_replace_aux(__pos, size_type(0), size_type(1), __c); | |
13488 | _M_rep()->_M_set_leaked(); | |
13489 | return iterator(_M_data() + __pos); | |
13490 | } | |
13491 | # 1130 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13492 | basic_string& | |
13493 | erase(size_type __pos = 0, size_type __n = npos) | |
13494 | { | |
13495 | _M_mutate(_M_check(__pos, "basic_string::erase"), | |
13496 | _M_limit(__pos, __n), size_type(0)); | |
13497 | return *this; | |
13498 | } | |
13499 | # 1146 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13500 | iterator | |
13501 | erase(iterator __position) | |
13502 | { | |
13503 | ; | |
13504 | ||
13505 | const size_type __pos = __position - _M_ibegin(); | |
13506 | _M_mutate(__pos, size_type(1), size_type(0)); | |
13507 | _M_rep()->_M_set_leaked(); | |
13508 | return iterator(_M_data() + __pos); | |
13509 | } | |
13510 | # 1166 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13511 | iterator | |
13512 | erase(iterator __first, iterator __last) | |
13513 | { | |
13514 | ; | |
13515 | ||
13516 | const size_type __pos = __first - _M_ibegin(); | |
13517 | _M_mutate(__pos, __last - __first, size_type(0)); | |
13518 | _M_rep()->_M_set_leaked(); | |
13519 | return iterator(_M_data() + __pos); | |
13520 | } | |
13521 | # 1193 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13522 | basic_string& | |
13523 | replace(size_type __pos, size_type __n, const basic_string& __str) | |
13524 | { return this->replace(__pos, __n, __str._M_data(), __str.size()); } | |
13525 | # 1215 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13526 | basic_string& | |
13527 | replace(size_type __pos1, size_type __n1, const basic_string& __str, | |
13528 | size_type __pos2, size_type __n2) | |
13529 | { return this->replace(__pos1, __n1, __str._M_data() | |
13530 | + __str._M_check(__pos2, "basic_string::replace"), | |
13531 | __str._M_limit(__pos2, __n2)); } | |
13532 | # 1239 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13533 | basic_string& | |
13534 | replace(size_type __pos, size_type __n1, const _CharT* __s, | |
13535 | size_type __n2); | |
13536 | # 1258 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13537 | basic_string& | |
13538 | replace(size_type __pos, size_type __n1, const _CharT* __s) | |
13539 | { | |
13540 | ; | |
13541 | return this->replace(__pos, __n1, __s, traits_type::length(__s)); | |
13542 | } | |
13543 | # 1281 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13544 | basic_string& | |
13545 | replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) | |
13546 | { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), | |
13547 | _M_limit(__pos, __n1), __n2, __c); } | |
13548 | # 1299 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13549 | basic_string& | |
13550 | replace(iterator __i1, iterator __i2, const basic_string& __str) | |
13551 | { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } | |
13552 | # 1317 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13553 | basic_string& | |
13554 | replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) | |
13555 | { | |
13556 | ; | |
13557 | ||
13558 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); | |
13559 | } | |
13560 | # 1338 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13561 | basic_string& | |
13562 | replace(iterator __i1, iterator __i2, const _CharT* __s) | |
13563 | { | |
13564 | ; | |
13565 | return this->replace(__i1, __i2, __s, traits_type::length(__s)); | |
13566 | } | |
13567 | # 1359 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13568 | basic_string& | |
13569 | replace(iterator __i1, iterator __i2, size_type __n, _CharT __c) | |
13570 | { | |
13571 | ; | |
13572 | ||
13573 | return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c); | |
13574 | } | |
13575 | # 1381 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13576 | template<class _InputIterator> | |
13577 | basic_string& | |
13578 | replace(iterator __i1, iterator __i2, | |
13579 | _InputIterator __k1, _InputIterator __k2) | |
13580 | { | |
13581 | ; | |
13582 | ||
13583 | ; | |
13584 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
13585 | return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); | |
13586 | } | |
13587 | ||
13588 | ||
13589 | ||
13590 | basic_string& | |
13591 | replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) | |
13592 | { | |
13593 | ; | |
13594 | ||
13595 | ; | |
13596 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
13597 | __k1, __k2 - __k1); | |
13598 | } | |
13599 | ||
13600 | basic_string& | |
13601 | replace(iterator __i1, iterator __i2, | |
13602 | const _CharT* __k1, const _CharT* __k2) | |
13603 | { | |
13604 | ; | |
13605 | ||
13606 | ; | |
13607 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
13608 | __k1, __k2 - __k1); | |
13609 | } | |
13610 | ||
13611 | basic_string& | |
13612 | replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) | |
13613 | { | |
13614 | ; | |
13615 | ||
13616 | ; | |
13617 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
13618 | __k1.base(), __k2 - __k1); | |
13619 | } | |
13620 | ||
13621 | basic_string& | |
13622 | replace(iterator __i1, iterator __i2, | |
13623 | const_iterator __k1, const_iterator __k2) | |
13624 | { | |
13625 | ; | |
13626 | ||
13627 | ; | |
13628 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
13629 | __k1.base(), __k2 - __k1); | |
13630 | } | |
13631 | ||
13632 | private: | |
13633 | template<class _Integer> | |
13634 | basic_string& | |
13635 | _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n, | |
13636 | _Integer __val, __true_type) | |
13637 | { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); } | |
13638 | ||
13639 | template<class _InputIterator> | |
13640 | basic_string& | |
13641 | _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, | |
13642 | _InputIterator __k2, __false_type); | |
13643 | ||
13644 | basic_string& | |
13645 | _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, | |
13646 | _CharT __c); | |
13647 | ||
13648 | basic_string& | |
13649 | _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, | |
13650 | size_type __n2); | |
13651 | ||
13652 | ||
13653 | ||
13654 | template<class _InIterator> | |
13655 | static _CharT* | |
13656 | _S_construct_aux(_InIterator __beg, _InIterator __end, | |
13657 | const _Alloc& __a, __false_type) | |
13658 | { | |
13659 | typedef typename iterator_traits<_InIterator>::iterator_category _Tag; | |
13660 | return _S_construct(__beg, __end, __a, _Tag()); | |
13661 | } | |
13662 | ||
13663 | ||
13664 | ||
13665 | template<class _Integer> | |
13666 | static _CharT* | |
13667 | _S_construct_aux(_Integer __beg, _Integer __end, | |
13668 | const _Alloc& __a, __true_type) | |
13669 | { return _S_construct(static_cast<size_type>(__beg), __end, __a); } | |
13670 | ||
13671 | template<class _InIterator> | |
13672 | static _CharT* | |
13673 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) | |
13674 | { | |
13675 | typedef typename std::__is_integer<_InIterator>::__type _Integral; | |
13676 | return _S_construct_aux(__beg, __end, __a, _Integral()); | |
13677 | } | |
13678 | ||
13679 | ||
13680 | template<class _InIterator> | |
13681 | static _CharT* | |
13682 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, | |
13683 | input_iterator_tag); | |
13684 | ||
13685 | ||
13686 | ||
13687 | template<class _FwdIterator> | |
13688 | static _CharT* | |
13689 | _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, | |
13690 | forward_iterator_tag); | |
13691 | ||
13692 | static _CharT* | |
13693 | _S_construct(size_type __req, _CharT __c, const _Alloc& __a); | |
13694 | ||
13695 | public: | |
13696 | # 1513 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13697 | size_type | |
13698 | copy(_CharT* __s, size_type __n, size_type __pos = 0) const; | |
13699 | # 1523 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13700 | void | |
13701 | swap(basic_string& __s); | |
13702 | # 1533 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13703 | const _CharT* | |
13704 | c_str() const | |
13705 | { return _M_data(); } | |
13706 | ||
13707 | ||
13708 | ||
13709 | ||
13710 | ||
13711 | ||
13712 | ||
13713 | const _CharT* | |
13714 | data() const | |
13715 | { return _M_data(); } | |
13716 | ||
13717 | ||
13718 | ||
13719 | ||
13720 | allocator_type | |
13721 | get_allocator() const | |
13722 | { return _M_dataplus; } | |
13723 | # 1565 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13724 | size_type | |
13725 | find(const _CharT* __s, size_type __pos, size_type __n) const; | |
13726 | # 1578 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13727 | size_type | |
13728 | find(const basic_string& __str, size_type __pos = 0) const | |
13729 | { return this->find(__str.data(), __pos, __str.size()); } | |
13730 | # 1592 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13731 | size_type | |
13732 | find(const _CharT* __s, size_type __pos = 0) const | |
13733 | { | |
13734 | ; | |
13735 | return this->find(__s, __pos, traits_type::length(__s)); | |
13736 | } | |
13737 | # 1609 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13738 | size_type | |
13739 | find(_CharT __c, size_type __pos = 0) const; | |
13740 | # 1622 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13741 | size_type | |
13742 | rfind(const basic_string& __str, size_type __pos = npos) const | |
13743 | { return this->rfind(__str.data(), __pos, __str.size()); } | |
13744 | # 1637 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13745 | size_type | |
13746 | rfind(const _CharT* __s, size_type __pos, size_type __n) const; | |
13747 | # 1650 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13748 | size_type | |
13749 | rfind(const _CharT* __s, size_type __pos = npos) const | |
13750 | { | |
13751 | ; | |
13752 | return this->rfind(__s, __pos, traits_type::length(__s)); | |
13753 | } | |
13754 | # 1667 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13755 | size_type | |
13756 | rfind(_CharT __c, size_type __pos = npos) const; | |
13757 | # 1680 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13758 | size_type | |
13759 | find_first_of(const basic_string& __str, size_type __pos = 0) const | |
13760 | { return this->find_first_of(__str.data(), __pos, __str.size()); } | |
13761 | # 1695 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13762 | size_type | |
13763 | find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; | |
13764 | # 1708 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13765 | size_type | |
13766 | find_first_of(const _CharT* __s, size_type __pos = 0) const | |
13767 | { | |
13768 | ; | |
13769 | return this->find_first_of(__s, __pos, traits_type::length(__s)); | |
13770 | } | |
13771 | # 1727 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13772 | size_type | |
13773 | find_first_of(_CharT __c, size_type __pos = 0) const | |
13774 | { return this->find(__c, __pos); } | |
13775 | # 1741 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13776 | size_type | |
13777 | find_last_of(const basic_string& __str, size_type __pos = npos) const | |
13778 | { return this->find_last_of(__str.data(), __pos, __str.size()); } | |
13779 | # 1756 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13780 | size_type | |
13781 | find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; | |
13782 | # 1769 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13783 | size_type | |
13784 | find_last_of(const _CharT* __s, size_type __pos = npos) const | |
13785 | { | |
13786 | ; | |
13787 | return this->find_last_of(__s, __pos, traits_type::length(__s)); | |
13788 | } | |
13789 | # 1788 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13790 | size_type | |
13791 | find_last_of(_CharT __c, size_type __pos = npos) const | |
13792 | { return this->rfind(__c, __pos); } | |
13793 | # 1802 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13794 | size_type | |
13795 | find_first_not_of(const basic_string& __str, size_type __pos = 0) const | |
13796 | { return this->find_first_not_of(__str.data(), __pos, __str.size()); } | |
13797 | # 1817 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13798 | size_type | |
13799 | find_first_not_of(const _CharT* __s, size_type __pos, | |
13800 | size_type __n) const; | |
13801 | # 1831 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13802 | size_type | |
13803 | find_first_not_of(const _CharT* __s, size_type __pos = 0) const | |
13804 | { | |
13805 | ; | |
13806 | return this->find_first_not_of(__s, __pos, traits_type::length(__s)); | |
13807 | } | |
13808 | # 1848 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13809 | size_type | |
13810 | find_first_not_of(_CharT __c, size_type __pos = 0) const; | |
13811 | # 1861 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13812 | size_type | |
13813 | find_last_not_of(const basic_string& __str, size_type __pos = npos) const | |
13814 | { return this->find_last_not_of(__str.data(), __pos, __str.size()); } | |
13815 | # 1877 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13816 | size_type | |
13817 | find_last_not_of(const _CharT* __s, size_type __pos, | |
13818 | size_type __n) const; | |
13819 | # 1890 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13820 | size_type | |
13821 | find_last_not_of(const _CharT* __s, size_type __pos = npos) const | |
13822 | { | |
13823 | ; | |
13824 | return this->find_last_not_of(__s, __pos, traits_type::length(__s)); | |
13825 | } | |
13826 | # 1907 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13827 | size_type | |
13828 | find_last_not_of(_CharT __c, size_type __pos = npos) const; | |
13829 | # 1922 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13830 | basic_string | |
13831 | substr(size_type __pos = 0, size_type __n = npos) const | |
13832 | { return basic_string(*this, | |
13833 | _M_check(__pos, "basic_string::substr"), __n); } | |
13834 | # 1940 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13835 | int | |
13836 | compare(const basic_string& __str) const | |
13837 | { | |
13838 | const size_type __size = this->size(); | |
13839 | const size_type __osize = __str.size(); | |
13840 | const size_type __len = std::min(__size, __osize); | |
13841 | ||
13842 | int __r = traits_type::compare(_M_data(), __str.data(), __len); | |
13843 | if (!__r) | |
13844 | __r = _S_compare(__size, __osize); | |
13845 | return __r; | |
13846 | } | |
13847 | # 1970 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13848 | int | |
13849 | compare(size_type __pos, size_type __n, const basic_string& __str) const; | |
13850 | # 1994 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13851 | int | |
13852 | compare(size_type __pos1, size_type __n1, const basic_string& __str, | |
13853 | size_type __pos2, size_type __n2) const; | |
13854 | # 2012 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13855 | int | |
13856 | compare(const _CharT* __s) const; | |
13857 | # 2035 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13858 | int | |
13859 | compare(size_type __pos, size_type __n1, const _CharT* __s) const; | |
13860 | # 2060 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13861 | int | |
13862 | compare(size_type __pos, size_type __n1, const _CharT* __s, | |
13863 | size_type __n2) const; | |
13864 | }; | |
13865 | ||
13866 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13867 | inline basic_string<_CharT, _Traits, _Alloc>:: | |
13868 | basic_string() | |
13869 | ||
13870 | : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { } | |
13871 | # 2081 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13872 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13873 | basic_string<_CharT, _Traits, _Alloc> | |
13874 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
13875 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
13876 | { | |
13877 | basic_string<_CharT, _Traits, _Alloc> __str(__lhs); | |
13878 | __str.append(__rhs); | |
13879 | return __str; | |
13880 | } | |
13881 | ||
13882 | ||
13883 | ||
13884 | ||
13885 | ||
13886 | ||
13887 | ||
13888 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13889 | basic_string<_CharT,_Traits,_Alloc> | |
13890 | operator+(const _CharT* __lhs, | |
13891 | const basic_string<_CharT,_Traits,_Alloc>& __rhs); | |
13892 | ||
13893 | ||
13894 | ||
13895 | ||
13896 | ||
13897 | ||
13898 | ||
13899 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13900 | basic_string<_CharT,_Traits,_Alloc> | |
13901 | operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); | |
13902 | ||
13903 | ||
13904 | ||
13905 | ||
13906 | ||
13907 | ||
13908 | ||
13909 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13910 | inline basic_string<_CharT, _Traits, _Alloc> | |
13911 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
13912 | const _CharT* __rhs) | |
13913 | { | |
13914 | basic_string<_CharT, _Traits, _Alloc> __str(__lhs); | |
13915 | __str.append(__rhs); | |
13916 | return __str; | |
13917 | } | |
13918 | ||
13919 | ||
13920 | ||
13921 | ||
13922 | ||
13923 | ||
13924 | ||
13925 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13926 | inline basic_string<_CharT, _Traits, _Alloc> | |
13927 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) | |
13928 | { | |
13929 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
13930 | typedef typename __string_type::size_type __size_type; | |
13931 | __string_type __str(__lhs); | |
13932 | __str.append(__size_type(1), __rhs); | |
13933 | return __str; | |
13934 | } | |
13935 | # 2152 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13936 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13937 | inline bool | |
13938 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
13939 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
13940 | { return __lhs.compare(__rhs) == 0; } | |
13941 | ||
13942 | template<typename _CharT> | |
13943 | inline | |
13944 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type | |
13945 | operator==(const basic_string<_CharT>& __lhs, | |
13946 | const basic_string<_CharT>& __rhs) | |
13947 | { return (__lhs.size() == __rhs.size() | |
13948 | && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), | |
13949 | __lhs.size())); } | |
13950 | ||
13951 | ||
13952 | ||
13953 | ||
13954 | ||
13955 | ||
13956 | ||
13957 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13958 | inline bool | |
13959 | operator==(const _CharT* __lhs, | |
13960 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
13961 | { return __rhs.compare(__lhs) == 0; } | |
13962 | ||
13963 | ||
13964 | ||
13965 | ||
13966 | ||
13967 | ||
13968 | ||
13969 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13970 | inline bool | |
13971 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
13972 | const _CharT* __rhs) | |
13973 | { return __lhs.compare(__rhs) == 0; } | |
13974 | # 2198 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
13975 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13976 | inline bool | |
13977 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
13978 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
13979 | { return !(__lhs == __rhs); } | |
13980 | ||
13981 | ||
13982 | ||
13983 | ||
13984 | ||
13985 | ||
13986 | ||
13987 | template<typename _CharT, typename _Traits, typename _Alloc> | |
13988 | inline bool | |
13989 | operator!=(const _CharT* __lhs, | |
13990 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
13991 | { return !(__lhs == __rhs); } | |
13992 | ||
13993 | ||
13994 | ||
13995 | ||
13996 | ||
13997 | ||
13998 | ||
13999 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14000 | inline bool | |
14001 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14002 | const _CharT* __rhs) | |
14003 | { return !(__lhs == __rhs); } | |
14004 | # 2235 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14005 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14006 | inline bool | |
14007 | operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14008 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14009 | { return __lhs.compare(__rhs) < 0; } | |
14010 | ||
14011 | ||
14012 | ||
14013 | ||
14014 | ||
14015 | ||
14016 | ||
14017 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14018 | inline bool | |
14019 | operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14020 | const _CharT* __rhs) | |
14021 | { return __lhs.compare(__rhs) < 0; } | |
14022 | ||
14023 | ||
14024 | ||
14025 | ||
14026 | ||
14027 | ||
14028 | ||
14029 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14030 | inline bool | |
14031 | operator<(const _CharT* __lhs, | |
14032 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14033 | { return __rhs.compare(__lhs) > 0; } | |
14034 | # 2272 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14035 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14036 | inline bool | |
14037 | operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14038 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14039 | { return __lhs.compare(__rhs) > 0; } | |
14040 | ||
14041 | ||
14042 | ||
14043 | ||
14044 | ||
14045 | ||
14046 | ||
14047 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14048 | inline bool | |
14049 | operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14050 | const _CharT* __rhs) | |
14051 | { return __lhs.compare(__rhs) > 0; } | |
14052 | ||
14053 | ||
14054 | ||
14055 | ||
14056 | ||
14057 | ||
14058 | ||
14059 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14060 | inline bool | |
14061 | operator>(const _CharT* __lhs, | |
14062 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14063 | { return __rhs.compare(__lhs) < 0; } | |
14064 | # 2309 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14065 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14066 | inline bool | |
14067 | operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14068 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14069 | { return __lhs.compare(__rhs) <= 0; } | |
14070 | ||
14071 | ||
14072 | ||
14073 | ||
14074 | ||
14075 | ||
14076 | ||
14077 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14078 | inline bool | |
14079 | operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14080 | const _CharT* __rhs) | |
14081 | { return __lhs.compare(__rhs) <= 0; } | |
14082 | ||
14083 | ||
14084 | ||
14085 | ||
14086 | ||
14087 | ||
14088 | ||
14089 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14090 | inline bool | |
14091 | operator<=(const _CharT* __lhs, | |
14092 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14093 | { return __rhs.compare(__lhs) >= 0; } | |
14094 | # 2346 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14095 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14096 | inline bool | |
14097 | operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14098 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14099 | { return __lhs.compare(__rhs) >= 0; } | |
14100 | ||
14101 | ||
14102 | ||
14103 | ||
14104 | ||
14105 | ||
14106 | ||
14107 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14108 | inline bool | |
14109 | operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14110 | const _CharT* __rhs) | |
14111 | { return __lhs.compare(__rhs) >= 0; } | |
14112 | ||
14113 | ||
14114 | ||
14115 | ||
14116 | ||
14117 | ||
14118 | ||
14119 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14120 | inline bool | |
14121 | operator>=(const _CharT* __lhs, | |
14122 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14123 | { return __rhs.compare(__lhs) <= 0; } | |
14124 | # 2383 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14125 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14126 | inline void | |
14127 | swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
14128 | basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14129 | { __lhs.swap(__rhs); } | |
14130 | # 2400 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14131 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14132 | basic_istream<_CharT, _Traits>& | |
14133 | operator>>(basic_istream<_CharT, _Traits>& __is, | |
14134 | basic_string<_CharT, _Traits, _Alloc>& __str); | |
14135 | ||
14136 | template<> | |
14137 | basic_istream<char>& | |
14138 | operator>>(basic_istream<char>& __is, basic_string<char>& __str); | |
14139 | # 2418 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14140 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14141 | inline basic_ostream<_CharT, _Traits>& | |
14142 | operator<<(basic_ostream<_CharT, _Traits>& __os, | |
14143 | const basic_string<_CharT, _Traits, _Alloc>& __str) | |
14144 | { | |
14145 | ||
14146 | ||
14147 | return __ostream_insert(__os, __str.data(), __str.size()); | |
14148 | } | |
14149 | # 2441 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14150 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14151 | basic_istream<_CharT, _Traits>& | |
14152 | getline(basic_istream<_CharT, _Traits>& __is, | |
14153 | basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); | |
14154 | # 2458 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14155 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14156 | inline basic_istream<_CharT, _Traits>& | |
14157 | getline(basic_istream<_CharT, _Traits>& __is, | |
14158 | basic_string<_CharT, _Traits, _Alloc>& __str) | |
14159 | { return getline(__is, __str, __is.widen('\n')); } | |
14160 | ||
14161 | template<> | |
14162 | basic_istream<char>& | |
14163 | getline(basic_istream<char>& __in, basic_string<char>& __str, | |
14164 | char __delim); | |
14165 | # 2476 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.h" 3 | |
14166 | } | |
14167 | # 59 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 2 3 | |
14168 | ||
14169 | ||
14170 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.tcc" 1 3 | |
14171 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.tcc" 3 | |
14172 | #define _BASIC_STRING_TCC 1 | |
14173 | ||
14174 | ||
14175 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.tcc" 3 | |
14176 | ||
14177 | ||
14178 | ||
14179 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
14180 | ||
14181 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14182 | const typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14183 | basic_string<_CharT, _Traits, _Alloc>:: | |
14184 | _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4; | |
14185 | ||
14186 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14187 | const _CharT | |
14188 | basic_string<_CharT, _Traits, _Alloc>:: | |
14189 | _Rep::_S_terminal = _CharT(); | |
14190 | ||
14191 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14192 | const typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14193 | basic_string<_CharT, _Traits, _Alloc>::npos; | |
14194 | ||
14195 | ||
14196 | ||
14197 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14198 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14199 | basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[ | |
14200 | (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) / | |
14201 | sizeof(size_type)]; | |
14202 | ||
14203 | ||
14204 | ||
14205 | ||
14206 | ||
14207 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14208 | template<typename _InIterator> | |
14209 | _CharT* | |
14210 | basic_string<_CharT, _Traits, _Alloc>:: | |
14211 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, | |
14212 | input_iterator_tag) | |
14213 | { | |
14214 | ||
14215 | if (__beg == __end && __a == _Alloc()) | |
14216 | return _S_empty_rep()._M_refdata(); | |
14217 | ||
14218 | ||
14219 | _CharT __buf[128]; | |
14220 | size_type __len = 0; | |
14221 | while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT)) | |
14222 | { | |
14223 | __buf[__len++] = *__beg; | |
14224 | ++__beg; | |
14225 | } | |
14226 | _Rep* __r = _Rep::_S_create(__len, size_type(0), __a); | |
14227 | _M_copy(__r->_M_refdata(), __buf, __len); | |
14228 | try | |
14229 | { | |
14230 | while (__beg != __end) | |
14231 | { | |
14232 | if (__len == __r->_M_capacity) | |
14233 | { | |
14234 | ||
14235 | _Rep* __another = _Rep::_S_create(__len + 1, __len, __a); | |
14236 | _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len); | |
14237 | __r->_M_destroy(__a); | |
14238 | __r = __another; | |
14239 | } | |
14240 | __r->_M_refdata()[__len++] = *__beg; | |
14241 | ++__beg; | |
14242 | } | |
14243 | } | |
14244 | catch(...) | |
14245 | { | |
14246 | __r->_M_destroy(__a); | |
14247 | throw; | |
14248 | } | |
14249 | __r->_M_set_length_and_sharable(__len); | |
14250 | return __r->_M_refdata(); | |
14251 | } | |
14252 | ||
14253 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14254 | template <typename _InIterator> | |
14255 | _CharT* | |
14256 | basic_string<_CharT, _Traits, _Alloc>:: | |
14257 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, | |
14258 | forward_iterator_tag) | |
14259 | { | |
14260 | ||
14261 | if (__beg == __end && __a == _Alloc()) | |
14262 | return _S_empty_rep()._M_refdata(); | |
14263 | ||
14264 | ||
14265 | if (__builtin_expect(__gnu_cxx::__is_null_pointer(__beg) | |
14266 | && __beg != __end, 0)) | |
14267 | __throw_logic_error(("basic_string::_S_construct NULL not valid")); | |
14268 | ||
14269 | const size_type __dnew = static_cast<size_type>(std::distance(__beg, | |
14270 | __end)); | |
14271 | ||
14272 | _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); | |
14273 | try | |
14274 | { _S_copy_chars(__r->_M_refdata(), __beg, __end); } | |
14275 | catch(...) | |
14276 | { | |
14277 | __r->_M_destroy(__a); | |
14278 | throw; | |
14279 | } | |
14280 | __r->_M_set_length_and_sharable(__dnew); | |
14281 | return __r->_M_refdata(); | |
14282 | } | |
14283 | ||
14284 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14285 | _CharT* | |
14286 | basic_string<_CharT, _Traits, _Alloc>:: | |
14287 | _S_construct(size_type __n, _CharT __c, const _Alloc& __a) | |
14288 | { | |
14289 | ||
14290 | if (__n == 0 && __a == _Alloc()) | |
14291 | return _S_empty_rep()._M_refdata(); | |
14292 | ||
14293 | ||
14294 | _Rep* __r = _Rep::_S_create(__n, size_type(0), __a); | |
14295 | if (__n) | |
14296 | _M_assign(__r->_M_refdata(), __n, __c); | |
14297 | ||
14298 | __r->_M_set_length_and_sharable(__n); | |
14299 | return __r->_M_refdata(); | |
14300 | } | |
14301 | ||
14302 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14303 | basic_string<_CharT, _Traits, _Alloc>:: | |
14304 | basic_string(const basic_string& __str) | |
14305 | : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()), | |
14306 | __str.get_allocator()), | |
14307 | __str.get_allocator()) | |
14308 | { } | |
14309 | ||
14310 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14311 | basic_string<_CharT, _Traits, _Alloc>:: | |
14312 | basic_string(const _Alloc& __a) | |
14313 | : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a) | |
14314 | { } | |
14315 | ||
14316 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14317 | basic_string<_CharT, _Traits, _Alloc>:: | |
14318 | basic_string(const basic_string& __str, size_type __pos, size_type __n) | |
14319 | : _M_dataplus(_S_construct(__str._M_data() | |
14320 | + __str._M_check(__pos, | |
14321 | "basic_string::basic_string"), | |
14322 | __str._M_data() + __str._M_limit(__pos, __n) | |
14323 | + __pos, _Alloc()), _Alloc()) | |
14324 | { } | |
14325 | ||
14326 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14327 | basic_string<_CharT, _Traits, _Alloc>:: | |
14328 | basic_string(const basic_string& __str, size_type __pos, | |
14329 | size_type __n, const _Alloc& __a) | |
14330 | : _M_dataplus(_S_construct(__str._M_data() | |
14331 | + __str._M_check(__pos, | |
14332 | "basic_string::basic_string"), | |
14333 | __str._M_data() + __str._M_limit(__pos, __n) | |
14334 | + __pos, __a), __a) | |
14335 | { } | |
14336 | ||
14337 | ||
14338 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14339 | basic_string<_CharT, _Traits, _Alloc>:: | |
14340 | basic_string(const _CharT* __s, size_type __n, const _Alloc& __a) | |
14341 | : _M_dataplus(_S_construct(__s, __s + __n, __a), __a) | |
14342 | { } | |
14343 | ||
14344 | ||
14345 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14346 | basic_string<_CharT, _Traits, _Alloc>:: | |
14347 | basic_string(const _CharT* __s, const _Alloc& __a) | |
14348 | : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : | |
14349 | __s + npos, __a), __a) | |
14350 | { } | |
14351 | ||
14352 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14353 | basic_string<_CharT, _Traits, _Alloc>:: | |
14354 | basic_string(size_type __n, _CharT __c, const _Alloc& __a) | |
14355 | : _M_dataplus(_S_construct(__n, __c, __a), __a) | |
14356 | { } | |
14357 | ||
14358 | ||
14359 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14360 | template<typename _InputIterator> | |
14361 | basic_string<_CharT, _Traits, _Alloc>:: | |
14362 | basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a) | |
14363 | : _M_dataplus(_S_construct(__beg, __end, __a), __a) | |
14364 | { } | |
14365 | ||
14366 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14367 | basic_string<_CharT, _Traits, _Alloc>& | |
14368 | basic_string<_CharT, _Traits, _Alloc>:: | |
14369 | assign(const basic_string& __str) | |
14370 | { | |
14371 | if (_M_rep() != __str._M_rep()) | |
14372 | { | |
14373 | ||
14374 | const allocator_type __a = this->get_allocator(); | |
14375 | _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); | |
14376 | _M_rep()->_M_dispose(__a); | |
14377 | _M_data(__tmp); | |
14378 | } | |
14379 | return *this; | |
14380 | } | |
14381 | ||
14382 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14383 | basic_string<_CharT, _Traits, _Alloc>& | |
14384 | basic_string<_CharT, _Traits, _Alloc>:: | |
14385 | assign(const _CharT* __s, size_type __n) | |
14386 | { | |
14387 | ; | |
14388 | _M_check_length(this->size(), __n, "basic_string::assign"); | |
14389 | if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) | |
14390 | return _M_replace_safe(size_type(0), this->size(), __s, __n); | |
14391 | else | |
14392 | { | |
14393 | ||
14394 | const size_type __pos = __s - _M_data(); | |
14395 | if (__pos >= __n) | |
14396 | _M_copy(_M_data(), __s, __n); | |
14397 | else if (__pos) | |
14398 | _M_move(_M_data(), __s, __n); | |
14399 | _M_rep()->_M_set_length_and_sharable(__n); | |
14400 | return *this; | |
14401 | } | |
14402 | } | |
14403 | ||
14404 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14405 | basic_string<_CharT, _Traits, _Alloc>& | |
14406 | basic_string<_CharT, _Traits, _Alloc>:: | |
14407 | append(size_type __n, _CharT __c) | |
14408 | { | |
14409 | if (__n) | |
14410 | { | |
14411 | _M_check_length(size_type(0), __n, "basic_string::append"); | |
14412 | const size_type __len = __n + this->size(); | |
14413 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
14414 | this->reserve(__len); | |
14415 | _M_assign(_M_data() + this->size(), __n, __c); | |
14416 | _M_rep()->_M_set_length_and_sharable(__len); | |
14417 | } | |
14418 | return *this; | |
14419 | } | |
14420 | ||
14421 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14422 | basic_string<_CharT, _Traits, _Alloc>& | |
14423 | basic_string<_CharT, _Traits, _Alloc>:: | |
14424 | append(const _CharT* __s, size_type __n) | |
14425 | { | |
14426 | ; | |
14427 | if (__n) | |
14428 | { | |
14429 | _M_check_length(size_type(0), __n, "basic_string::append"); | |
14430 | const size_type __len = __n + this->size(); | |
14431 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
14432 | { | |
14433 | if (_M_disjunct(__s)) | |
14434 | this->reserve(__len); | |
14435 | else | |
14436 | { | |
14437 | const size_type __off = __s - _M_data(); | |
14438 | this->reserve(__len); | |
14439 | __s = _M_data() + __off; | |
14440 | } | |
14441 | } | |
14442 | _M_copy(_M_data() + this->size(), __s, __n); | |
14443 | _M_rep()->_M_set_length_and_sharable(__len); | |
14444 | } | |
14445 | return *this; | |
14446 | } | |
14447 | ||
14448 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14449 | basic_string<_CharT, _Traits, _Alloc>& | |
14450 | basic_string<_CharT, _Traits, _Alloc>:: | |
14451 | append(const basic_string& __str) | |
14452 | { | |
14453 | const size_type __size = __str.size(); | |
14454 | if (__size) | |
14455 | { | |
14456 | const size_type __len = __size + this->size(); | |
14457 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
14458 | this->reserve(__len); | |
14459 | _M_copy(_M_data() + this->size(), __str._M_data(), __size); | |
14460 | _M_rep()->_M_set_length_and_sharable(__len); | |
14461 | } | |
14462 | return *this; | |
14463 | } | |
14464 | ||
14465 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14466 | basic_string<_CharT, _Traits, _Alloc>& | |
14467 | basic_string<_CharT, _Traits, _Alloc>:: | |
14468 | append(const basic_string& __str, size_type __pos, size_type __n) | |
14469 | { | |
14470 | __str._M_check(__pos, "basic_string::append"); | |
14471 | __n = __str._M_limit(__pos, __n); | |
14472 | if (__n) | |
14473 | { | |
14474 | const size_type __len = __n + this->size(); | |
14475 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
14476 | this->reserve(__len); | |
14477 | _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n); | |
14478 | _M_rep()->_M_set_length_and_sharable(__len); | |
14479 | } | |
14480 | return *this; | |
14481 | } | |
14482 | ||
14483 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14484 | basic_string<_CharT, _Traits, _Alloc>& | |
14485 | basic_string<_CharT, _Traits, _Alloc>:: | |
14486 | insert(size_type __pos, const _CharT* __s, size_type __n) | |
14487 | { | |
14488 | ; | |
14489 | _M_check(__pos, "basic_string::insert"); | |
14490 | _M_check_length(size_type(0), __n, "basic_string::insert"); | |
14491 | if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) | |
14492 | return _M_replace_safe(__pos, size_type(0), __s, __n); | |
14493 | else | |
14494 | { | |
14495 | ||
14496 | const size_type __off = __s - _M_data(); | |
14497 | _M_mutate(__pos, 0, __n); | |
14498 | __s = _M_data() + __off; | |
14499 | _CharT* __p = _M_data() + __pos; | |
14500 | if (__s + __n <= __p) | |
14501 | _M_copy(__p, __s, __n); | |
14502 | else if (__s >= __p) | |
14503 | _M_copy(__p, __s + __n, __n); | |
14504 | else | |
14505 | { | |
14506 | const size_type __nleft = __p - __s; | |
14507 | _M_copy(__p, __s, __nleft); | |
14508 | _M_copy(__p + __nleft, __p + __n, __n - __nleft); | |
14509 | } | |
14510 | return *this; | |
14511 | } | |
14512 | } | |
14513 | ||
14514 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14515 | basic_string<_CharT, _Traits, _Alloc>& | |
14516 | basic_string<_CharT, _Traits, _Alloc>:: | |
14517 | replace(size_type __pos, size_type __n1, const _CharT* __s, | |
14518 | size_type __n2) | |
14519 | { | |
14520 | ; | |
14521 | _M_check(__pos, "basic_string::replace"); | |
14522 | __n1 = _M_limit(__pos, __n1); | |
14523 | _M_check_length(__n1, __n2, "basic_string::replace"); | |
14524 | bool __left; | |
14525 | if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) | |
14526 | return _M_replace_safe(__pos, __n1, __s, __n2); | |
14527 | else if ((__left = __s + __n2 <= _M_data() + __pos) | |
14528 | || _M_data() + __pos + __n1 <= __s) | |
14529 | { | |
14530 | ||
14531 | size_type __off = __s - _M_data(); | |
14532 | __left ? __off : (__off += __n2 - __n1); | |
14533 | _M_mutate(__pos, __n1, __n2); | |
14534 | _M_copy(_M_data() + __pos, _M_data() + __off, __n2); | |
14535 | return *this; | |
14536 | } | |
14537 | else | |
14538 | { | |
14539 | ||
14540 | const basic_string __tmp(__s, __n2); | |
14541 | return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2); | |
14542 | } | |
14543 | } | |
14544 | ||
14545 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14546 | void | |
14547 | basic_string<_CharT, _Traits, _Alloc>::_Rep:: | |
14548 | _M_destroy(const _Alloc& __a) throw () | |
14549 | { | |
14550 | const size_type __size = sizeof(_Rep_base) + | |
14551 | (this->_M_capacity + 1) * sizeof(_CharT); | |
14552 | _Raw_bytes_alloc(__a).deallocate(reinterpret_cast<char*>(this), __size); | |
14553 | } | |
14554 | ||
14555 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14556 | void | |
14557 | basic_string<_CharT, _Traits, _Alloc>:: | |
14558 | _M_leak_hard() | |
14559 | { | |
14560 | ||
14561 | if (_M_rep() == &_S_empty_rep()) | |
14562 | return; | |
14563 | ||
14564 | if (_M_rep()->_M_is_shared()) | |
14565 | _M_mutate(0, 0, 0); | |
14566 | _M_rep()->_M_set_leaked(); | |
14567 | } | |
14568 | ||
14569 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14570 | void | |
14571 | basic_string<_CharT, _Traits, _Alloc>:: | |
14572 | _M_mutate(size_type __pos, size_type __len1, size_type __len2) | |
14573 | { | |
14574 | const size_type __old_size = this->size(); | |
14575 | const size_type __new_size = __old_size + __len2 - __len1; | |
14576 | const size_type __how_much = __old_size - __pos - __len1; | |
14577 | ||
14578 | if (__new_size > this->capacity() || _M_rep()->_M_is_shared()) | |
14579 | { | |
14580 | ||
14581 | const allocator_type __a = get_allocator(); | |
14582 | _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a); | |
14583 | ||
14584 | if (__pos) | |
14585 | _M_copy(__r->_M_refdata(), _M_data(), __pos); | |
14586 | if (__how_much) | |
14587 | _M_copy(__r->_M_refdata() + __pos + __len2, | |
14588 | _M_data() + __pos + __len1, __how_much); | |
14589 | ||
14590 | _M_rep()->_M_dispose(__a); | |
14591 | _M_data(__r->_M_refdata()); | |
14592 | } | |
14593 | else if (__how_much && __len1 != __len2) | |
14594 | { | |
14595 | ||
14596 | _M_move(_M_data() + __pos + __len2, | |
14597 | _M_data() + __pos + __len1, __how_much); | |
14598 | } | |
14599 | _M_rep()->_M_set_length_and_sharable(__new_size); | |
14600 | } | |
14601 | ||
14602 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14603 | void | |
14604 | basic_string<_CharT, _Traits, _Alloc>:: | |
14605 | reserve(size_type __res) | |
14606 | { | |
14607 | if (__res != this->capacity() || _M_rep()->_M_is_shared()) | |
14608 | { | |
14609 | ||
14610 | if (__res < this->size()) | |
14611 | __res = this->size(); | |
14612 | const allocator_type __a = get_allocator(); | |
14613 | _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); | |
14614 | _M_rep()->_M_dispose(__a); | |
14615 | _M_data(__tmp); | |
14616 | } | |
14617 | } | |
14618 | ||
14619 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14620 | void | |
14621 | basic_string<_CharT, _Traits, _Alloc>:: | |
14622 | swap(basic_string& __s) | |
14623 | { | |
14624 | if (_M_rep()->_M_is_leaked()) | |
14625 | _M_rep()->_M_set_sharable(); | |
14626 | if (__s._M_rep()->_M_is_leaked()) | |
14627 | __s._M_rep()->_M_set_sharable(); | |
14628 | if (this->get_allocator() == __s.get_allocator()) | |
14629 | { | |
14630 | _CharT* __tmp = _M_data(); | |
14631 | _M_data(__s._M_data()); | |
14632 | __s._M_data(__tmp); | |
14633 | } | |
14634 | ||
14635 | else | |
14636 | { | |
14637 | const basic_string __tmp1(_M_ibegin(), _M_iend(), | |
14638 | __s.get_allocator()); | |
14639 | const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(), | |
14640 | this->get_allocator()); | |
14641 | *this = __tmp2; | |
14642 | __s = __tmp1; | |
14643 | } | |
14644 | } | |
14645 | ||
14646 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14647 | typename basic_string<_CharT, _Traits, _Alloc>::_Rep* | |
14648 | basic_string<_CharT, _Traits, _Alloc>::_Rep:: | |
14649 | _S_create(size_type __capacity, size_type __old_capacity, | |
14650 | const _Alloc& __alloc) | |
14651 | { | |
14652 | ||
14653 | ||
14654 | if (__capacity > _S_max_size) | |
14655 | __throw_length_error(("basic_string::_S_create")); | |
14656 | # 552 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.tcc" 3 | |
14657 | const size_type __pagesize = 4096; | |
14658 | const size_type __malloc_header_size = 4 * sizeof(void*); | |
14659 | ||
14660 | ||
14661 | ||
14662 | ||
14663 | ||
14664 | ||
14665 | ||
14666 | if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) | |
14667 | __capacity = 2 * __old_capacity; | |
14668 | ||
14669 | ||
14670 | ||
14671 | ||
14672 | size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); | |
14673 | ||
14674 | const size_type __adj_size = __size + __malloc_header_size; | |
14675 | if (__adj_size > __pagesize && __capacity > __old_capacity) | |
14676 | { | |
14677 | const size_type __extra = __pagesize - __adj_size % __pagesize; | |
14678 | __capacity += __extra / sizeof(_CharT); | |
14679 | ||
14680 | if (__capacity > _S_max_size) | |
14681 | __capacity = _S_max_size; | |
14682 | __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); | |
14683 | } | |
14684 | ||
14685 | ||
14686 | ||
14687 | void* __place = _Raw_bytes_alloc(__alloc).allocate(__size); | |
14688 | _Rep *__p = new (__place) _Rep; | |
14689 | __p->_M_capacity = __capacity; | |
14690 | ||
14691 | ||
14692 | ||
14693 | ||
14694 | ||
14695 | ||
14696 | ||
14697 | __p->_M_set_sharable(); | |
14698 | return __p; | |
14699 | } | |
14700 | ||
14701 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14702 | _CharT* | |
14703 | basic_string<_CharT, _Traits, _Alloc>::_Rep:: | |
14704 | _M_clone(const _Alloc& __alloc, size_type __res) | |
14705 | { | |
14706 | ||
14707 | const size_type __requested_cap = this->_M_length + __res; | |
14708 | _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity, | |
14709 | __alloc); | |
14710 | if (this->_M_length) | |
14711 | _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length); | |
14712 | ||
14713 | __r->_M_set_length_and_sharable(this->_M_length); | |
14714 | return __r->_M_refdata(); | |
14715 | } | |
14716 | ||
14717 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14718 | void | |
14719 | basic_string<_CharT, _Traits, _Alloc>:: | |
14720 | resize(size_type __n, _CharT __c) | |
14721 | { | |
14722 | const size_type __size = this->size(); | |
14723 | _M_check_length(__size, __n, "basic_string::resize"); | |
14724 | if (__size < __n) | |
14725 | this->append(__n - __size, __c); | |
14726 | else if (__n < __size) | |
14727 | this->erase(__n); | |
14728 | ||
14729 | } | |
14730 | ||
14731 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14732 | template<typename _InputIterator> | |
14733 | basic_string<_CharT, _Traits, _Alloc>& | |
14734 | basic_string<_CharT, _Traits, _Alloc>:: | |
14735 | _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, | |
14736 | _InputIterator __k2, __false_type) | |
14737 | { | |
14738 | const basic_string __s(__k1, __k2); | |
14739 | const size_type __n1 = __i2 - __i1; | |
14740 | _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch"); | |
14741 | return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(), | |
14742 | __s.size()); | |
14743 | } | |
14744 | ||
14745 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14746 | basic_string<_CharT, _Traits, _Alloc>& | |
14747 | basic_string<_CharT, _Traits, _Alloc>:: | |
14748 | _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, | |
14749 | _CharT __c) | |
14750 | { | |
14751 | _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); | |
14752 | _M_mutate(__pos1, __n1, __n2); | |
14753 | if (__n2) | |
14754 | _M_assign(_M_data() + __pos1, __n2, __c); | |
14755 | return *this; | |
14756 | } | |
14757 | ||
14758 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14759 | basic_string<_CharT, _Traits, _Alloc>& | |
14760 | basic_string<_CharT, _Traits, _Alloc>:: | |
14761 | _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, | |
14762 | size_type __n2) | |
14763 | { | |
14764 | _M_mutate(__pos1, __n1, __n2); | |
14765 | if (__n2) | |
14766 | _M_copy(_M_data() + __pos1, __s, __n2); | |
14767 | return *this; | |
14768 | } | |
14769 | ||
14770 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14771 | basic_string<_CharT, _Traits, _Alloc> | |
14772 | operator+(const _CharT* __lhs, | |
14773 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14774 | { | |
14775 | ; | |
14776 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
14777 | typedef typename __string_type::size_type __size_type; | |
14778 | const __size_type __len = _Traits::length(__lhs); | |
14779 | __string_type __str; | |
14780 | __str.reserve(__len + __rhs.size()); | |
14781 | __str.append(__lhs, __len); | |
14782 | __str.append(__rhs); | |
14783 | return __str; | |
14784 | } | |
14785 | ||
14786 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14787 | basic_string<_CharT, _Traits, _Alloc> | |
14788 | operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
14789 | { | |
14790 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
14791 | typedef typename __string_type::size_type __size_type; | |
14792 | __string_type __str; | |
14793 | const __size_type __len = __rhs.size(); | |
14794 | __str.reserve(__len + 1); | |
14795 | __str.append(__size_type(1), __lhs); | |
14796 | __str.append(__rhs); | |
14797 | return __str; | |
14798 | } | |
14799 | ||
14800 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14801 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14802 | basic_string<_CharT, _Traits, _Alloc>:: | |
14803 | copy(_CharT* __s, size_type __n, size_type __pos) const | |
14804 | { | |
14805 | _M_check(__pos, "basic_string::copy"); | |
14806 | __n = _M_limit(__pos, __n); | |
14807 | ; | |
14808 | if (__n) | |
14809 | _M_copy(__s, _M_data() + __pos, __n); | |
14810 | ||
14811 | return __n; | |
14812 | } | |
14813 | ||
14814 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14815 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14816 | basic_string<_CharT, _Traits, _Alloc>:: | |
14817 | find(const _CharT* __s, size_type __pos, size_type __n) const | |
14818 | { | |
14819 | ; | |
14820 | const size_type __size = this->size(); | |
14821 | const _CharT* __data = _M_data(); | |
14822 | ||
14823 | if (__n == 0) | |
14824 | return __pos <= __size ? __pos : npos; | |
14825 | ||
14826 | if (__n <= __size) | |
14827 | { | |
14828 | for (; __pos <= __size - __n; ++__pos) | |
14829 | if (traits_type::eq(__data[__pos], __s[0]) | |
14830 | && traits_type::compare(__data + __pos + 1, | |
14831 | __s + 1, __n - 1) == 0) | |
14832 | return __pos; | |
14833 | } | |
14834 | return npos; | |
14835 | } | |
14836 | ||
14837 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14838 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14839 | basic_string<_CharT, _Traits, _Alloc>:: | |
14840 | find(_CharT __c, size_type __pos) const | |
14841 | { | |
14842 | size_type __ret = npos; | |
14843 | const size_type __size = this->size(); | |
14844 | if (__pos < __size) | |
14845 | { | |
14846 | const _CharT* __data = _M_data(); | |
14847 | const size_type __n = __size - __pos; | |
14848 | const _CharT* __p = traits_type::find(__data + __pos, __n, __c); | |
14849 | if (__p) | |
14850 | __ret = __p - __data; | |
14851 | } | |
14852 | return __ret; | |
14853 | } | |
14854 | ||
14855 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14856 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14857 | basic_string<_CharT, _Traits, _Alloc>:: | |
14858 | rfind(const _CharT* __s, size_type __pos, size_type __n) const | |
14859 | { | |
14860 | ; | |
14861 | const size_type __size = this->size(); | |
14862 | if (__n <= __size) | |
14863 | { | |
14864 | __pos = std::min(size_type(__size - __n), __pos); | |
14865 | const _CharT* __data = _M_data(); | |
14866 | do | |
14867 | { | |
14868 | if (traits_type::compare(__data + __pos, __s, __n) == 0) | |
14869 | return __pos; | |
14870 | } | |
14871 | while (__pos-- > 0); | |
14872 | } | |
14873 | return npos; | |
14874 | } | |
14875 | ||
14876 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14877 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14878 | basic_string<_CharT, _Traits, _Alloc>:: | |
14879 | rfind(_CharT __c, size_type __pos) const | |
14880 | { | |
14881 | size_type __size = this->size(); | |
14882 | if (__size) | |
14883 | { | |
14884 | if (--__size > __pos) | |
14885 | __size = __pos; | |
14886 | for (++__size; __size-- > 0; ) | |
14887 | if (traits_type::eq(_M_data()[__size], __c)) | |
14888 | return __size; | |
14889 | } | |
14890 | return npos; | |
14891 | } | |
14892 | ||
14893 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14894 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14895 | basic_string<_CharT, _Traits, _Alloc>:: | |
14896 | find_first_of(const _CharT* __s, size_type __pos, size_type __n) const | |
14897 | { | |
14898 | ; | |
14899 | for (; __n && __pos < this->size(); ++__pos) | |
14900 | { | |
14901 | const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); | |
14902 | if (__p) | |
14903 | return __pos; | |
14904 | } | |
14905 | return npos; | |
14906 | } | |
14907 | ||
14908 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14909 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14910 | basic_string<_CharT, _Traits, _Alloc>:: | |
14911 | find_last_of(const _CharT* __s, size_type __pos, size_type __n) const | |
14912 | { | |
14913 | ; | |
14914 | size_type __size = this->size(); | |
14915 | if (__size && __n) | |
14916 | { | |
14917 | if (--__size > __pos) | |
14918 | __size = __pos; | |
14919 | do | |
14920 | { | |
14921 | if (traits_type::find(__s, __n, _M_data()[__size])) | |
14922 | return __size; | |
14923 | } | |
14924 | while (__size-- != 0); | |
14925 | } | |
14926 | return npos; | |
14927 | } | |
14928 | ||
14929 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14930 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14931 | basic_string<_CharT, _Traits, _Alloc>:: | |
14932 | find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const | |
14933 | { | |
14934 | ; | |
14935 | for (; __pos < this->size(); ++__pos) | |
14936 | if (!traits_type::find(__s, __n, _M_data()[__pos])) | |
14937 | return __pos; | |
14938 | return npos; | |
14939 | } | |
14940 | ||
14941 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14942 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14943 | basic_string<_CharT, _Traits, _Alloc>:: | |
14944 | find_first_not_of(_CharT __c, size_type __pos) const | |
14945 | { | |
14946 | for (; __pos < this->size(); ++__pos) | |
14947 | if (!traits_type::eq(_M_data()[__pos], __c)) | |
14948 | return __pos; | |
14949 | return npos; | |
14950 | } | |
14951 | ||
14952 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14953 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14954 | basic_string<_CharT, _Traits, _Alloc>:: | |
14955 | find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const | |
14956 | { | |
14957 | ; | |
14958 | size_type __size = this->size(); | |
14959 | if (__size) | |
14960 | { | |
14961 | if (--__size > __pos) | |
14962 | __size = __pos; | |
14963 | do | |
14964 | { | |
14965 | if (!traits_type::find(__s, __n, _M_data()[__size])) | |
14966 | return __size; | |
14967 | } | |
14968 | while (__size--); | |
14969 | } | |
14970 | return npos; | |
14971 | } | |
14972 | ||
14973 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14974 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
14975 | basic_string<_CharT, _Traits, _Alloc>:: | |
14976 | find_last_not_of(_CharT __c, size_type __pos) const | |
14977 | { | |
14978 | size_type __size = this->size(); | |
14979 | if (__size) | |
14980 | { | |
14981 | if (--__size > __pos) | |
14982 | __size = __pos; | |
14983 | do | |
14984 | { | |
14985 | if (!traits_type::eq(_M_data()[__size], __c)) | |
14986 | return __size; | |
14987 | } | |
14988 | while (__size--); | |
14989 | } | |
14990 | return npos; | |
14991 | } | |
14992 | ||
14993 | template<typename _CharT, typename _Traits, typename _Alloc> | |
14994 | int | |
14995 | basic_string<_CharT, _Traits, _Alloc>:: | |
14996 | compare(size_type __pos, size_type __n, const basic_string& __str) const | |
14997 | { | |
14998 | _M_check(__pos, "basic_string::compare"); | |
14999 | __n = _M_limit(__pos, __n); | |
15000 | const size_type __osize = __str.size(); | |
15001 | const size_type __len = std::min(__n, __osize); | |
15002 | int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); | |
15003 | if (!__r) | |
15004 | __r = _S_compare(__n, __osize); | |
15005 | return __r; | |
15006 | } | |
15007 | ||
15008 | template<typename _CharT, typename _Traits, typename _Alloc> | |
15009 | int | |
15010 | basic_string<_CharT, _Traits, _Alloc>:: | |
15011 | compare(size_type __pos1, size_type __n1, const basic_string& __str, | |
15012 | size_type __pos2, size_type __n2) const | |
15013 | { | |
15014 | _M_check(__pos1, "basic_string::compare"); | |
15015 | __str._M_check(__pos2, "basic_string::compare"); | |
15016 | __n1 = _M_limit(__pos1, __n1); | |
15017 | __n2 = __str._M_limit(__pos2, __n2); | |
15018 | const size_type __len = std::min(__n1, __n2); | |
15019 | int __r = traits_type::compare(_M_data() + __pos1, | |
15020 | __str.data() + __pos2, __len); | |
15021 | if (!__r) | |
15022 | __r = _S_compare(__n1, __n2); | |
15023 | return __r; | |
15024 | } | |
15025 | ||
15026 | template<typename _CharT, typename _Traits, typename _Alloc> | |
15027 | int | |
15028 | basic_string<_CharT, _Traits, _Alloc>:: | |
15029 | compare(const _CharT* __s) const | |
15030 | { | |
15031 | ; | |
15032 | const size_type __size = this->size(); | |
15033 | const size_type __osize = traits_type::length(__s); | |
15034 | const size_type __len = std::min(__size, __osize); | |
15035 | int __r = traits_type::compare(_M_data(), __s, __len); | |
15036 | if (!__r) | |
15037 | __r = _S_compare(__size, __osize); | |
15038 | return __r; | |
15039 | } | |
15040 | ||
15041 | template<typename _CharT, typename _Traits, typename _Alloc> | |
15042 | int | |
15043 | basic_string <_CharT, _Traits, _Alloc>:: | |
15044 | compare(size_type __pos, size_type __n1, const _CharT* __s) const | |
15045 | { | |
15046 | ; | |
15047 | _M_check(__pos, "basic_string::compare"); | |
15048 | __n1 = _M_limit(__pos, __n1); | |
15049 | const size_type __osize = traits_type::length(__s); | |
15050 | const size_type __len = std::min(__n1, __osize); | |
15051 | int __r = traits_type::compare(_M_data() + __pos, __s, __len); | |
15052 | if (!__r) | |
15053 | __r = _S_compare(__n1, __osize); | |
15054 | return __r; | |
15055 | } | |
15056 | ||
15057 | template<typename _CharT, typename _Traits, typename _Alloc> | |
15058 | int | |
15059 | basic_string <_CharT, _Traits, _Alloc>:: | |
15060 | compare(size_type __pos, size_type __n1, const _CharT* __s, | |
15061 | size_type __n2) const | |
15062 | { | |
15063 | ; | |
15064 | _M_check(__pos, "basic_string::compare"); | |
15065 | __n1 = _M_limit(__pos, __n1); | |
15066 | const size_type __len = std::min(__n1, __n2); | |
15067 | int __r = traits_type::compare(_M_data() + __pos, __s, __len); | |
15068 | if (!__r) | |
15069 | __r = _S_compare(__n1, __n2); | |
15070 | return __r; | |
15071 | } | |
15072 | ||
15073 | ||
15074 | template<typename _CharT, typename _Traits, typename _Alloc> | |
15075 | basic_istream<_CharT, _Traits>& | |
15076 | operator>>(basic_istream<_CharT, _Traits>& __in, | |
15077 | basic_string<_CharT, _Traits, _Alloc>& __str) | |
15078 | { | |
15079 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
15080 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
15081 | typedef typename __istream_type::ios_base __ios_base; | |
15082 | typedef typename __istream_type::int_type __int_type; | |
15083 | typedef typename __string_type::size_type __size_type; | |
15084 | typedef ctype<_CharT> __ctype_type; | |
15085 | typedef typename __ctype_type::ctype_base __ctype_base; | |
15086 | ||
15087 | __size_type __extracted = 0; | |
15088 | typename __ios_base::iostate __err = __ios_base::goodbit; | |
15089 | typename __istream_type::sentry __cerb(__in, false); | |
15090 | if (__cerb) | |
15091 | { | |
15092 | try | |
15093 | { | |
15094 | ||
15095 | __str.erase(); | |
15096 | _CharT __buf[128]; | |
15097 | __size_type __len = 0; | |
15098 | const streamsize __w = __in.width(); | |
15099 | const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) | |
15100 | : __str.max_size(); | |
15101 | const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); | |
15102 | const __int_type __eof = _Traits::eof(); | |
15103 | __int_type __c = __in.rdbuf()->sgetc(); | |
15104 | ||
15105 | while (__extracted < __n | |
15106 | && !_Traits::eq_int_type(__c, __eof) | |
15107 | && !__ct.is(__ctype_base::space, | |
15108 | _Traits::to_char_type(__c))) | |
15109 | { | |
15110 | if (__len == sizeof(__buf) / sizeof(_CharT)) | |
15111 | { | |
15112 | __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); | |
15113 | __len = 0; | |
15114 | } | |
15115 | __buf[__len++] = _Traits::to_char_type(__c); | |
15116 | ++__extracted; | |
15117 | __c = __in.rdbuf()->snextc(); | |
15118 | } | |
15119 | __str.append(__buf, __len); | |
15120 | ||
15121 | if (_Traits::eq_int_type(__c, __eof)) | |
15122 | __err |= __ios_base::eofbit; | |
15123 | __in.width(0); | |
15124 | } | |
15125 | catch(__cxxabiv1::__forced_unwind&) | |
15126 | { | |
15127 | __in._M_setstate(__ios_base::badbit); | |
15128 | throw; | |
15129 | } | |
15130 | catch(...) | |
15131 | { | |
15132 | ||
15133 | ||
15134 | ||
15135 | __in._M_setstate(__ios_base::badbit); | |
15136 | } | |
15137 | } | |
15138 | ||
15139 | if (!__extracted) | |
15140 | __err |= __ios_base::failbit; | |
15141 | if (__err) | |
15142 | __in.setstate(__err); | |
15143 | return __in; | |
15144 | } | |
15145 | ||
15146 | template<typename _CharT, typename _Traits, typename _Alloc> | |
15147 | basic_istream<_CharT, _Traits>& | |
15148 | getline(basic_istream<_CharT, _Traits>& __in, | |
15149 | basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) | |
15150 | { | |
15151 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
15152 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
15153 | typedef typename __istream_type::ios_base __ios_base; | |
15154 | typedef typename __istream_type::int_type __int_type; | |
15155 | typedef typename __string_type::size_type __size_type; | |
15156 | ||
15157 | __size_type __extracted = 0; | |
15158 | const __size_type __n = __str.max_size(); | |
15159 | typename __ios_base::iostate __err = __ios_base::goodbit; | |
15160 | typename __istream_type::sentry __cerb(__in, true); | |
15161 | if (__cerb) | |
15162 | { | |
15163 | try | |
15164 | { | |
15165 | __str.erase(); | |
15166 | const __int_type __idelim = _Traits::to_int_type(__delim); | |
15167 | const __int_type __eof = _Traits::eof(); | |
15168 | __int_type __c = __in.rdbuf()->sgetc(); | |
15169 | ||
15170 | while (__extracted < __n | |
15171 | && !_Traits::eq_int_type(__c, __eof) | |
15172 | && !_Traits::eq_int_type(__c, __idelim)) | |
15173 | { | |
15174 | __str += _Traits::to_char_type(__c); | |
15175 | ++__extracted; | |
15176 | __c = __in.rdbuf()->snextc(); | |
15177 | } | |
15178 | ||
15179 | if (_Traits::eq_int_type(__c, __eof)) | |
15180 | __err |= __ios_base::eofbit; | |
15181 | else if (_Traits::eq_int_type(__c, __idelim)) | |
15182 | { | |
15183 | ++__extracted; | |
15184 | __in.rdbuf()->sbumpc(); | |
15185 | } | |
15186 | else | |
15187 | __err |= __ios_base::failbit; | |
15188 | } | |
15189 | catch(__cxxabiv1::__forced_unwind&) | |
15190 | { | |
15191 | __in._M_setstate(__ios_base::badbit); | |
15192 | throw; | |
15193 | } | |
15194 | catch(...) | |
15195 | { | |
15196 | ||
15197 | ||
15198 | ||
15199 | __in._M_setstate(__ios_base::badbit); | |
15200 | } | |
15201 | } | |
15202 | if (!__extracted) | |
15203 | __err |= __ios_base::failbit; | |
15204 | if (__err) | |
15205 | __in.setstate(__err); | |
15206 | return __in; | |
15207 | } | |
15208 | ||
15209 | ||
15210 | ||
15211 | ||
15212 | ||
15213 | extern template class basic_string<char>; | |
15214 | extern template | |
15215 | basic_istream<char>& | |
15216 | operator>>(basic_istream<char>&, string&); | |
15217 | extern template | |
15218 | basic_ostream<char>& | |
15219 | operator<<(basic_ostream<char>&, const string&); | |
15220 | extern template | |
15221 | basic_istream<char>& | |
15222 | getline(basic_istream<char>&, string&, char); | |
15223 | extern template | |
15224 | basic_istream<char>& | |
15225 | getline(basic_istream<char>&, string&); | |
15226 | # 1139 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_string.tcc" 3 | |
15227 | } | |
15228 | # 62 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/string" 2 3 | |
15229 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 2 3 | |
15230 | ||
15231 | ||
15232 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
15233 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15234 | class locale | |
15235 | { | |
15236 | public: | |
15237 | ||
15238 | ||
15239 | typedef int category; | |
15240 | ||
15241 | ||
15242 | class facet; | |
15243 | class id; | |
15244 | class _Impl; | |
15245 | ||
15246 | friend class facet; | |
15247 | friend class _Impl; | |
15248 | ||
15249 | template<typename _Facet> | |
15250 | friend bool | |
15251 | has_facet(const locale&) throw(); | |
15252 | ||
15253 | template<typename _Facet> | |
15254 | friend const _Facet& | |
15255 | use_facet(const locale&); | |
15256 | ||
15257 | template<typename _Cache> | |
15258 | friend struct __use_cache; | |
15259 | # 102 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15260 | static const category none = 0; | |
15261 | static const category ctype = 1L << 0; | |
15262 | static const category numeric = 1L << 1; | |
15263 | static const category collate = 1L << 2; | |
15264 | static const category time = 1L << 3; | |
15265 | static const category monetary = 1L << 4; | |
15266 | static const category messages = 1L << 5; | |
15267 | static const category all = (ctype | numeric | collate | | |
15268 | time | monetary | messages); | |
15269 | # 121 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15270 | locale() throw(); | |
15271 | # 130 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15272 | locale(const locale& __other) throw(); | |
15273 | # 140 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15274 | explicit | |
15275 | locale(const char* __s); | |
15276 | # 155 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15277 | locale(const locale& __base, const char* __s, category __cat); | |
15278 | # 168 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15279 | locale(const locale& __base, const locale& __add, category __cat); | |
15280 | # 180 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15281 | template<typename _Facet> | |
15282 | locale(const locale& __other, _Facet* __f); | |
15283 | ||
15284 | ||
15285 | ~locale() throw(); | |
15286 | # 194 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15287 | const locale& | |
15288 | operator=(const locale& __other) throw(); | |
15289 | # 209 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15290 | template<typename _Facet> | |
15291 | locale | |
15292 | combine(const locale& __other) const; | |
15293 | ||
15294 | ||
15295 | ||
15296 | ||
15297 | ||
15298 | ||
15299 | string | |
15300 | name() const; | |
15301 | # 228 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15302 | bool | |
15303 | operator==(const locale& __other) const throw (); | |
15304 | ||
15305 | ||
15306 | ||
15307 | ||
15308 | ||
15309 | ||
15310 | ||
15311 | bool | |
15312 | operator!=(const locale& __other) const throw () | |
15313 | { return !(this->operator==(__other)); } | |
15314 | # 256 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15315 | template<typename _Char, typename _Traits, typename _Alloc> | |
15316 | bool | |
15317 | operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, | |
15318 | const basic_string<_Char, _Traits, _Alloc>& __s2) const; | |
15319 | # 272 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15320 | static locale | |
15321 | global(const locale&); | |
15322 | ||
15323 | ||
15324 | ||
15325 | ||
15326 | static const locale& | |
15327 | classic(); | |
15328 | ||
15329 | private: | |
15330 | ||
15331 | _Impl* _M_impl; | |
15332 | ||
15333 | ||
15334 | static _Impl* _S_classic; | |
15335 | ||
15336 | ||
15337 | static _Impl* _S_global; | |
15338 | ||
15339 | ||
15340 | ||
15341 | ||
15342 | ||
15343 | static const char* const* const _S_categories; | |
15344 | # 307 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15345 | enum { _S_categories_size = 6 + 0 }; | |
15346 | ||
15347 | ||
15348 | static __gthread_once_t _S_once; | |
15349 | ||
15350 | ||
15351 | explicit | |
15352 | locale(_Impl*) throw(); | |
15353 | ||
15354 | static void | |
15355 | _S_initialize(); | |
15356 | ||
15357 | static void | |
15358 | _S_initialize_once(); | |
15359 | ||
15360 | static category | |
15361 | _S_normalize_category(category); | |
15362 | ||
15363 | void | |
15364 | _M_coalesce(const locale& __base, const locale& __add, category __cat); | |
15365 | }; | |
15366 | # 340 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15367 | class locale::facet | |
15368 | { | |
15369 | private: | |
15370 | friend class locale; | |
15371 | friend class locale::_Impl; | |
15372 | ||
15373 | mutable _Atomic_word _M_refcount; | |
15374 | ||
15375 | ||
15376 | static __c_locale _S_c_locale; | |
15377 | ||
15378 | ||
15379 | static const char _S_c_name[2]; | |
15380 | ||
15381 | ||
15382 | static __gthread_once_t _S_once; | |
15383 | ||
15384 | ||
15385 | static void | |
15386 | _S_initialize_once(); | |
15387 | ||
15388 | protected: | |
15389 | # 371 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15390 | explicit | |
15391 | facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) | |
15392 | { } | |
15393 | ||
15394 | ||
15395 | virtual | |
15396 | ~facet(); | |
15397 | ||
15398 | static void | |
15399 | _S_create_c_locale(__c_locale& __cloc, const char* __s, | |
15400 | __c_locale __old = 0); | |
15401 | ||
15402 | static __c_locale | |
15403 | _S_clone_c_locale(__c_locale& __cloc); | |
15404 | ||
15405 | static void | |
15406 | _S_destroy_c_locale(__c_locale& __cloc); | |
15407 | ||
15408 | ||
15409 | ||
15410 | static __c_locale | |
15411 | _S_get_c_locale(); | |
15412 | ||
15413 | static const char* | |
15414 | _S_get_c_name(); | |
15415 | ||
15416 | private: | |
15417 | void | |
15418 | _M_add_reference() const throw() | |
15419 | { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } | |
15420 | ||
15421 | void | |
15422 | _M_remove_reference() const throw() | |
15423 | { | |
15424 | if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) | |
15425 | { | |
15426 | try | |
15427 | { delete this; } | |
15428 | catch(...) | |
15429 | { } | |
15430 | } | |
15431 | } | |
15432 | ||
15433 | facet(const facet&); | |
15434 | ||
15435 | facet& | |
15436 | operator=(const facet&); | |
15437 | }; | |
15438 | # 431 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15439 | class locale::id | |
15440 | { | |
15441 | private: | |
15442 | friend class locale; | |
15443 | friend class locale::_Impl; | |
15444 | ||
15445 | template<typename _Facet> | |
15446 | friend const _Facet& | |
15447 | use_facet(const locale&); | |
15448 | ||
15449 | template<typename _Facet> | |
15450 | friend bool | |
15451 | has_facet(const locale&) throw (); | |
15452 | ||
15453 | ||
15454 | ||
15455 | ||
15456 | mutable size_t _M_index; | |
15457 | ||
15458 | ||
15459 | static _Atomic_word _S_refcount; | |
15460 | ||
15461 | void | |
15462 | operator=(const id&); | |
15463 | ||
15464 | id(const id&); | |
15465 | ||
15466 | public: | |
15467 | ||
15468 | ||
15469 | ||
15470 | id() { } | |
15471 | ||
15472 | size_t | |
15473 | _M_id() const; | |
15474 | }; | |
15475 | ||
15476 | ||
15477 | ||
15478 | class locale::_Impl | |
15479 | { | |
15480 | public: | |
15481 | ||
15482 | friend class locale; | |
15483 | friend class locale::facet; | |
15484 | ||
15485 | template<typename _Facet> | |
15486 | friend bool | |
15487 | has_facet(const locale&) throw(); | |
15488 | ||
15489 | template<typename _Facet> | |
15490 | friend const _Facet& | |
15491 | use_facet(const locale&); | |
15492 | ||
15493 | template<typename _Cache> | |
15494 | friend struct __use_cache; | |
15495 | ||
15496 | private: | |
15497 | ||
15498 | _Atomic_word _M_refcount; | |
15499 | const facet** _M_facets; | |
15500 | size_t _M_facets_size; | |
15501 | const facet** _M_caches; | |
15502 | char** _M_names; | |
15503 | static const locale::id* const _S_id_ctype[]; | |
15504 | static const locale::id* const _S_id_numeric[]; | |
15505 | static const locale::id* const _S_id_collate[]; | |
15506 | static const locale::id* const _S_id_time[]; | |
15507 | static const locale::id* const _S_id_monetary[]; | |
15508 | static const locale::id* const _S_id_messages[]; | |
15509 | static const locale::id* const* const _S_facet_categories[]; | |
15510 | ||
15511 | void | |
15512 | _M_add_reference() throw() | |
15513 | { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } | |
15514 | ||
15515 | void | |
15516 | _M_remove_reference() throw() | |
15517 | { | |
15518 | if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) | |
15519 | { | |
15520 | try | |
15521 | { delete this; } | |
15522 | catch(...) | |
15523 | { } | |
15524 | } | |
15525 | } | |
15526 | ||
15527 | _Impl(const _Impl&, size_t); | |
15528 | _Impl(const char*, size_t); | |
15529 | _Impl(size_t) throw(); | |
15530 | ||
15531 | ~_Impl() throw(); | |
15532 | ||
15533 | _Impl(const _Impl&); | |
15534 | ||
15535 | void | |
15536 | operator=(const _Impl&); | |
15537 | ||
15538 | bool | |
15539 | _M_check_same_name() | |
15540 | { | |
15541 | bool __ret = true; | |
15542 | if (_M_names[1]) | |
15543 | ||
15544 | for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) | |
15545 | __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; | |
15546 | return __ret; | |
15547 | } | |
15548 | ||
15549 | void | |
15550 | _M_replace_categories(const _Impl*, category); | |
15551 | ||
15552 | void | |
15553 | _M_replace_category(const _Impl*, const locale::id* const*); | |
15554 | ||
15555 | void | |
15556 | _M_replace_facet(const _Impl*, const locale::id*); | |
15557 | ||
15558 | void | |
15559 | _M_install_facet(const locale::id*, const facet*); | |
15560 | ||
15561 | template<typename _Facet> | |
15562 | void | |
15563 | _M_init_facet(_Facet* __facet) | |
15564 | { _M_install_facet(&_Facet::id, __facet); } | |
15565 | ||
15566 | void | |
15567 | _M_install_cache(const facet*, size_t); | |
15568 | }; | |
15569 | # 574 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15570 | template<typename _Facet> | |
15571 | bool | |
15572 | has_facet(const locale& __loc) throw(); | |
15573 | # 591 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15574 | template<typename _Facet> | |
15575 | const _Facet& | |
15576 | use_facet(const locale& __loc); | |
15577 | # 608 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15578 | template<typename _CharT> | |
15579 | class collate : public locale::facet | |
15580 | { | |
15581 | public: | |
15582 | ||
15583 | ||
15584 | ||
15585 | typedef _CharT char_type; | |
15586 | typedef basic_string<_CharT> string_type; | |
15587 | ||
15588 | ||
15589 | protected: | |
15590 | ||
15591 | ||
15592 | __c_locale _M_c_locale_collate; | |
15593 | ||
15594 | public: | |
15595 | ||
15596 | static locale::id id; | |
15597 | # 635 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15598 | explicit | |
15599 | collate(size_t __refs = 0) | |
15600 | : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) | |
15601 | { } | |
15602 | # 649 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15603 | explicit | |
15604 | collate(__c_locale __cloc, size_t __refs = 0) | |
15605 | : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) | |
15606 | { } | |
15607 | # 666 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15608 | int | |
15609 | compare(const _CharT* __lo1, const _CharT* __hi1, | |
15610 | const _CharT* __lo2, const _CharT* __hi2) const | |
15611 | { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } | |
15612 | # 685 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15613 | string_type | |
15614 | transform(const _CharT* __lo, const _CharT* __hi) const | |
15615 | { return this->do_transform(__lo, __hi); } | |
15616 | # 699 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15617 | long | |
15618 | hash(const _CharT* __lo, const _CharT* __hi) const | |
15619 | { return this->do_hash(__lo, __hi); } | |
15620 | ||
15621 | ||
15622 | int | |
15623 | _M_compare(const _CharT*, const _CharT*) const; | |
15624 | ||
15625 | size_t | |
15626 | _M_transform(_CharT*, const _CharT*, size_t) const; | |
15627 | ||
15628 | protected: | |
15629 | ||
15630 | virtual | |
15631 | ~collate() | |
15632 | { _S_destroy_c_locale(_M_c_locale_collate); } | |
15633 | # 728 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15634 | virtual int | |
15635 | do_compare(const _CharT* __lo1, const _CharT* __hi1, | |
15636 | const _CharT* __lo2, const _CharT* __hi2) const; | |
15637 | # 744 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15638 | virtual string_type | |
15639 | do_transform(const _CharT* __lo, const _CharT* __hi) const; | |
15640 | # 757 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15641 | virtual long | |
15642 | do_hash(const _CharT* __lo, const _CharT* __hi) const; | |
15643 | }; | |
15644 | ||
15645 | template<typename _CharT> | |
15646 | locale::id collate<_CharT>::id; | |
15647 | ||
15648 | ||
15649 | template<> | |
15650 | int | |
15651 | collate<char>::_M_compare(const char*, const char*) const; | |
15652 | ||
15653 | template<> | |
15654 | size_t | |
15655 | collate<char>::_M_transform(char*, const char*, size_t) const; | |
15656 | # 784 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 3 | |
15657 | template<typename _CharT> | |
15658 | class collate_byname : public collate<_CharT> | |
15659 | { | |
15660 | public: | |
15661 | ||
15662 | ||
15663 | typedef _CharT char_type; | |
15664 | typedef basic_string<_CharT> string_type; | |
15665 | ||
15666 | ||
15667 | explicit | |
15668 | collate_byname(const char* __s, size_t __refs = 0) | |
15669 | : collate<_CharT>(__refs) | |
15670 | { | |
15671 | if (__builtin_strcmp(__s, "C") != 0 | |
15672 | && __builtin_strcmp(__s, "POSIX") != 0) | |
15673 | { | |
15674 | this->_S_destroy_c_locale(this->_M_c_locale_collate); | |
15675 | this->_S_create_c_locale(this->_M_c_locale_collate, __s); | |
15676 | } | |
15677 | } | |
15678 | ||
15679 | protected: | |
15680 | virtual | |
15681 | ~collate_byname() { } | |
15682 | }; | |
15683 | ||
15684 | } | |
15685 | ||
15686 | ||
15687 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.tcc" 1 3 | |
15688 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.tcc" 3 | |
15689 | #define _LOCALE_CLASSES_TCC 1 | |
15690 | ||
15691 | ||
15692 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.tcc" 3 | |
15693 | ||
15694 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
15695 | ||
15696 | template<typename _Facet> | |
15697 | locale:: | |
15698 | locale(const locale& __other, _Facet* __f) | |
15699 | { | |
15700 | _M_impl = new _Impl(*__other._M_impl, 1); | |
15701 | ||
15702 | try | |
15703 | { _M_impl->_M_install_facet(&_Facet::id, __f); } | |
15704 | catch(...) | |
15705 | { | |
15706 | _M_impl->_M_remove_reference(); | |
15707 | throw; | |
15708 | } | |
15709 | delete [] _M_impl->_M_names[0]; | |
15710 | _M_impl->_M_names[0] = 0; | |
15711 | } | |
15712 | ||
15713 | template<typename _Facet> | |
15714 | locale | |
15715 | locale:: | |
15716 | combine(const locale& __other) const | |
15717 | { | |
15718 | _Impl* __tmp = new _Impl(*_M_impl, 1); | |
15719 | try | |
15720 | { | |
15721 | __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); | |
15722 | } | |
15723 | catch(...) | |
15724 | { | |
15725 | __tmp->_M_remove_reference(); | |
15726 | throw; | |
15727 | } | |
15728 | return locale(__tmp); | |
15729 | } | |
15730 | ||
15731 | template<typename _CharT, typename _Traits, typename _Alloc> | |
15732 | bool | |
15733 | locale:: | |
15734 | operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, | |
15735 | const basic_string<_CharT, _Traits, _Alloc>& __s2) const | |
15736 | { | |
15737 | typedef std::collate<_CharT> __collate_type; | |
15738 | const __collate_type& __collate = use_facet<__collate_type>(*this); | |
15739 | return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), | |
15740 | __s2.data(), __s2.data() + __s2.length()) < 0); | |
15741 | } | |
15742 | ||
15743 | ||
15744 | template<typename _Facet> | |
15745 | bool | |
15746 | has_facet(const locale& __loc) throw() | |
15747 | { | |
15748 | const size_t __i = _Facet::id._M_id(); | |
15749 | const locale::facet** __facets = __loc._M_impl->_M_facets; | |
15750 | return (__i < __loc._M_impl->_M_facets_size | |
15751 | ||
15752 | && dynamic_cast<const _Facet*>(__facets[__i])); | |
15753 | ||
15754 | ||
15755 | ||
15756 | } | |
15757 | ||
15758 | template<typename _Facet> | |
15759 | const _Facet& | |
15760 | use_facet(const locale& __loc) | |
15761 | { | |
15762 | const size_t __i = _Facet::id._M_id(); | |
15763 | const locale::facet** __facets = __loc._M_impl->_M_facets; | |
15764 | if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) | |
15765 | __throw_bad_cast(); | |
15766 | ||
15767 | return dynamic_cast<const _Facet&>(*__facets[__i]); | |
15768 | ||
15769 | ||
15770 | ||
15771 | } | |
15772 | ||
15773 | ||
15774 | ||
15775 | template<typename _CharT> | |
15776 | int | |
15777 | collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const | |
15778 | { return 0; } | |
15779 | ||
15780 | ||
15781 | template<typename _CharT> | |
15782 | size_t | |
15783 | collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const | |
15784 | { return 0; } | |
15785 | ||
15786 | template<typename _CharT> | |
15787 | int | |
15788 | collate<_CharT>:: | |
15789 | do_compare(const _CharT* __lo1, const _CharT* __hi1, | |
15790 | const _CharT* __lo2, const _CharT* __hi2) const | |
15791 | { | |
15792 | ||
15793 | ||
15794 | const string_type __one(__lo1, __hi1); | |
15795 | const string_type __two(__lo2, __hi2); | |
15796 | ||
15797 | const _CharT* __p = __one.c_str(); | |
15798 | const _CharT* __pend = __one.data() + __one.length(); | |
15799 | const _CharT* __q = __two.c_str(); | |
15800 | const _CharT* __qend = __two.data() + __two.length(); | |
15801 | ||
15802 | ||
15803 | ||
15804 | ||
15805 | for (;;) | |
15806 | { | |
15807 | const int __res = _M_compare(__p, __q); | |
15808 | if (__res) | |
15809 | return __res; | |
15810 | ||
15811 | __p += char_traits<_CharT>::length(__p); | |
15812 | __q += char_traits<_CharT>::length(__q); | |
15813 | if (__p == __pend && __q == __qend) | |
15814 | return 0; | |
15815 | else if (__p == __pend) | |
15816 | return -1; | |
15817 | else if (__q == __qend) | |
15818 | return 1; | |
15819 | ||
15820 | __p++; | |
15821 | __q++; | |
15822 | } | |
15823 | } | |
15824 | ||
15825 | template<typename _CharT> | |
15826 | typename collate<_CharT>::string_type | |
15827 | collate<_CharT>:: | |
15828 | do_transform(const _CharT* __lo, const _CharT* __hi) const | |
15829 | { | |
15830 | string_type __ret; | |
15831 | ||
15832 | ||
15833 | const string_type __str(__lo, __hi); | |
15834 | ||
15835 | const _CharT* __p = __str.c_str(); | |
15836 | const _CharT* __pend = __str.data() + __str.length(); | |
15837 | ||
15838 | size_t __len = (__hi - __lo) * 2; | |
15839 | ||
15840 | _CharT* __c = new _CharT[__len]; | |
15841 | ||
15842 | try | |
15843 | { | |
15844 | ||
15845 | ||
15846 | ||
15847 | for (;;) | |
15848 | { | |
15849 | ||
15850 | size_t __res = _M_transform(__c, __p, __len); | |
15851 | ||
15852 | ||
15853 | if (__res >= __len) | |
15854 | { | |
15855 | __len = __res + 1; | |
15856 | delete [] __c, __c = 0; | |
15857 | __c = new _CharT[__len]; | |
15858 | __res = _M_transform(__c, __p, __len); | |
15859 | } | |
15860 | ||
15861 | __ret.append(__c, __res); | |
15862 | __p += char_traits<_CharT>::length(__p); | |
15863 | if (__p == __pend) | |
15864 | break; | |
15865 | ||
15866 | __p++; | |
15867 | __ret.push_back(_CharT()); | |
15868 | } | |
15869 | } | |
15870 | catch(...) | |
15871 | { | |
15872 | delete [] __c; | |
15873 | throw; | |
15874 | } | |
15875 | ||
15876 | delete [] __c; | |
15877 | ||
15878 | return __ret; | |
15879 | } | |
15880 | ||
15881 | template<typename _CharT> | |
15882 | long | |
15883 | collate<_CharT>:: | |
15884 | do_hash(const _CharT* __lo, const _CharT* __hi) const | |
15885 | { | |
15886 | unsigned long __val = 0; | |
15887 | for (; __lo < __hi; ++__lo) | |
15888 | __val = | |
15889 | *__lo + ((__val << 7) | |
15890 | | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>:: | |
15891 | __digits - 7))); | |
15892 | return static_cast<long>(__val); | |
15893 | } | |
15894 | ||
15895 | ||
15896 | ||
15897 | ||
15898 | ||
15899 | extern template class collate<char>; | |
15900 | extern template class collate_byname<char>; | |
15901 | ||
15902 | extern template | |
15903 | const collate<char>& | |
15904 | use_facet<collate<char> >(const locale&); | |
15905 | ||
15906 | extern template | |
15907 | bool | |
15908 | has_facet<collate<char> >(const locale&); | |
15909 | # 274 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.tcc" 3 | |
15910 | } | |
15911 | # 815 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_classes.h" 2 3 | |
15912 | # 49 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 2 3 | |
15913 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 1 3 | |
15914 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 3 | |
15915 | ||
15916 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 3 | |
15917 | ||
15918 | ||
15919 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 1 3 | |
15920 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
15921 | ||
15922 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 3 | |
15923 | ||
15924 | ||
15925 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
15926 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstddef" 2 3 | |
15927 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cstdio" 2 3 | |
15928 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 2 3 | |
15929 | ||
15930 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
15931 | ||
15932 | ||
15933 | ||
15934 | ||
15935 | ||
15936 | enum _Ios_Fmtflags | |
15937 | { | |
15938 | _S_boolalpha = 1L << 0, | |
15939 | _S_dec = 1L << 1, | |
15940 | _S_fixed = 1L << 2, | |
15941 | _S_hex = 1L << 3, | |
15942 | _S_internal = 1L << 4, | |
15943 | _S_left = 1L << 5, | |
15944 | _S_oct = 1L << 6, | |
15945 | _S_right = 1L << 7, | |
15946 | _S_scientific = 1L << 8, | |
15947 | _S_showbase = 1L << 9, | |
15948 | _S_showpoint = 1L << 10, | |
15949 | _S_showpos = 1L << 11, | |
15950 | _S_skipws = 1L << 12, | |
15951 | _S_unitbuf = 1L << 13, | |
15952 | _S_uppercase = 1L << 14, | |
15953 | _S_adjustfield = _S_left | _S_right | _S_internal, | |
15954 | _S_basefield = _S_dec | _S_oct | _S_hex, | |
15955 | _S_floatfield = _S_scientific | _S_fixed, | |
15956 | _S_ios_fmtflags_end = 1L << 16 | |
15957 | }; | |
15958 | ||
15959 | inline _Ios_Fmtflags | |
15960 | operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) | |
15961 | { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); } | |
15962 | ||
15963 | inline _Ios_Fmtflags | |
15964 | operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) | |
15965 | { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); } | |
15966 | ||
15967 | inline _Ios_Fmtflags | |
15968 | operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) | |
15969 | { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); } | |
15970 | ||
15971 | inline _Ios_Fmtflags& | |
15972 | operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) | |
15973 | { return __a = __a | __b; } | |
15974 | ||
15975 | inline _Ios_Fmtflags& | |
15976 | operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) | |
15977 | { return __a = __a & __b; } | |
15978 | ||
15979 | inline _Ios_Fmtflags& | |
15980 | operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) | |
15981 | { return __a = __a ^ __b; } | |
15982 | ||
15983 | inline _Ios_Fmtflags | |
15984 | operator~(_Ios_Fmtflags __a) | |
15985 | { return _Ios_Fmtflags(~static_cast<int>(__a)); } | |
15986 | ||
15987 | ||
15988 | enum _Ios_Openmode | |
15989 | { | |
15990 | _S_app = 1L << 0, | |
15991 | _S_ate = 1L << 1, | |
15992 | _S_bin = 1L << 2, | |
15993 | _S_in = 1L << 3, | |
15994 | _S_out = 1L << 4, | |
15995 | _S_trunc = 1L << 5, | |
15996 | _S_ios_openmode_end = 1L << 16 | |
15997 | }; | |
15998 | ||
15999 | inline _Ios_Openmode | |
16000 | operator&(_Ios_Openmode __a, _Ios_Openmode __b) | |
16001 | { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); } | |
16002 | ||
16003 | inline _Ios_Openmode | |
16004 | operator|(_Ios_Openmode __a, _Ios_Openmode __b) | |
16005 | { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); } | |
16006 | ||
16007 | inline _Ios_Openmode | |
16008 | operator^(_Ios_Openmode __a, _Ios_Openmode __b) | |
16009 | { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); } | |
16010 | ||
16011 | inline _Ios_Openmode& | |
16012 | operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) | |
16013 | { return __a = __a | __b; } | |
16014 | ||
16015 | inline _Ios_Openmode& | |
16016 | operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) | |
16017 | { return __a = __a & __b; } | |
16018 | ||
16019 | inline _Ios_Openmode& | |
16020 | operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) | |
16021 | { return __a = __a ^ __b; } | |
16022 | ||
16023 | inline _Ios_Openmode | |
16024 | operator~(_Ios_Openmode __a) | |
16025 | { return _Ios_Openmode(~static_cast<int>(__a)); } | |
16026 | ||
16027 | ||
16028 | enum _Ios_Iostate | |
16029 | { | |
16030 | _S_goodbit = 0, | |
16031 | _S_badbit = 1L << 0, | |
16032 | _S_eofbit = 1L << 1, | |
16033 | _S_failbit = 1L << 2, | |
16034 | _S_ios_iostate_end = 1L << 16 | |
16035 | }; | |
16036 | ||
16037 | inline _Ios_Iostate | |
16038 | operator&(_Ios_Iostate __a, _Ios_Iostate __b) | |
16039 | { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); } | |
16040 | ||
16041 | inline _Ios_Iostate | |
16042 | operator|(_Ios_Iostate __a, _Ios_Iostate __b) | |
16043 | { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); } | |
16044 | ||
16045 | inline _Ios_Iostate | |
16046 | operator^(_Ios_Iostate __a, _Ios_Iostate __b) | |
16047 | { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); } | |
16048 | ||
16049 | inline _Ios_Iostate& | |
16050 | operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) | |
16051 | { return __a = __a | __b; } | |
16052 | ||
16053 | inline _Ios_Iostate& | |
16054 | operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) | |
16055 | { return __a = __a & __b; } | |
16056 | ||
16057 | inline _Ios_Iostate& | |
16058 | operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) | |
16059 | { return __a = __a ^ __b; } | |
16060 | ||
16061 | inline _Ios_Iostate | |
16062 | operator~(_Ios_Iostate __a) | |
16063 | { return _Ios_Iostate(~static_cast<int>(__a)); } | |
16064 | ||
16065 | enum _Ios_Seekdir | |
16066 | { | |
16067 | _S_beg = 0, | |
16068 | _S_cur = 1, | |
16069 | _S_end = 2, | |
16070 | _S_ios_seekdir_end = 1L << 16 | |
16071 | }; | |
16072 | # 203 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16073 | class ios_base | |
16074 | { | |
16075 | public: | |
16076 | ||
16077 | ||
16078 | ||
16079 | class failure : public exception | |
16080 | { | |
16081 | public: | |
16082 | ||
16083 | ||
16084 | explicit | |
16085 | failure(const string& __str) throw(); | |
16086 | ||
16087 | ||
16088 | ||
16089 | virtual | |
16090 | ~failure() throw(); | |
16091 | ||
16092 | virtual const char* | |
16093 | what() const throw(); | |
16094 | ||
16095 | private: | |
16096 | string _M_msg; | |
16097 | }; | |
16098 | # 255 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16099 | typedef _Ios_Fmtflags fmtflags; | |
16100 | ||
16101 | ||
16102 | static const fmtflags boolalpha = _S_boolalpha; | |
16103 | ||
16104 | ||
16105 | static const fmtflags dec = _S_dec; | |
16106 | ||
16107 | ||
16108 | static const fmtflags fixed = _S_fixed; | |
16109 | ||
16110 | ||
16111 | static const fmtflags hex = _S_hex; | |
16112 | ||
16113 | ||
16114 | ||
16115 | ||
16116 | static const fmtflags internal = _S_internal; | |
16117 | ||
16118 | ||
16119 | ||
16120 | static const fmtflags left = _S_left; | |
16121 | ||
16122 | ||
16123 | static const fmtflags oct = _S_oct; | |
16124 | ||
16125 | ||
16126 | ||
16127 | static const fmtflags right = _S_right; | |
16128 | ||
16129 | ||
16130 | static const fmtflags scientific = _S_scientific; | |
16131 | ||
16132 | ||
16133 | ||
16134 | static const fmtflags showbase = _S_showbase; | |
16135 | ||
16136 | ||
16137 | ||
16138 | static const fmtflags showpoint = _S_showpoint; | |
16139 | ||
16140 | ||
16141 | static const fmtflags showpos = _S_showpos; | |
16142 | ||
16143 | ||
16144 | static const fmtflags skipws = _S_skipws; | |
16145 | ||
16146 | ||
16147 | static const fmtflags unitbuf = _S_unitbuf; | |
16148 | ||
16149 | ||
16150 | ||
16151 | static const fmtflags uppercase = _S_uppercase; | |
16152 | ||
16153 | ||
16154 | static const fmtflags adjustfield = _S_adjustfield; | |
16155 | ||
16156 | ||
16157 | static const fmtflags basefield = _S_basefield; | |
16158 | ||
16159 | ||
16160 | static const fmtflags floatfield = _S_floatfield; | |
16161 | # 330 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16162 | typedef _Ios_Iostate iostate; | |
16163 | ||
16164 | ||
16165 | ||
16166 | static const iostate badbit = _S_badbit; | |
16167 | ||
16168 | ||
16169 | static const iostate eofbit = _S_eofbit; | |
16170 | ||
16171 | ||
16172 | ||
16173 | ||
16174 | static const iostate failbit = _S_failbit; | |
16175 | ||
16176 | ||
16177 | static const iostate goodbit = _S_goodbit; | |
16178 | # 361 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16179 | typedef _Ios_Openmode openmode; | |
16180 | ||
16181 | ||
16182 | static const openmode app = _S_app; | |
16183 | ||
16184 | ||
16185 | static const openmode ate = _S_ate; | |
16186 | ||
16187 | ||
16188 | ||
16189 | ||
16190 | static const openmode binary = _S_bin; | |
16191 | ||
16192 | ||
16193 | static const openmode in = _S_in; | |
16194 | ||
16195 | ||
16196 | static const openmode out = _S_out; | |
16197 | ||
16198 | ||
16199 | static const openmode trunc = _S_trunc; | |
16200 | # 393 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16201 | typedef _Ios_Seekdir seekdir; | |
16202 | ||
16203 | ||
16204 | static const seekdir beg = _S_beg; | |
16205 | ||
16206 | ||
16207 | static const seekdir cur = _S_cur; | |
16208 | ||
16209 | ||
16210 | static const seekdir end = _S_end; | |
16211 | ||
16212 | ||
16213 | typedef int io_state; | |
16214 | typedef int open_mode; | |
16215 | typedef int seek_dir; | |
16216 | ||
16217 | typedef std::streampos streampos; | |
16218 | typedef std::streamoff streamoff; | |
16219 | # 419 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16220 | enum event | |
16221 | { | |
16222 | erase_event, | |
16223 | imbue_event, | |
16224 | copyfmt_event | |
16225 | }; | |
16226 | # 436 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16227 | typedef void (*event_callback) (event, ios_base&, int); | |
16228 | # 448 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16229 | void | |
16230 | register_callback(event_callback __fn, int __index); | |
16231 | ||
16232 | protected: | |
16233 | ||
16234 | ||
16235 | ||
16236 | ||
16237 | streamsize _M_precision; | |
16238 | streamsize _M_width; | |
16239 | fmtflags _M_flags; | |
16240 | iostate _M_exception; | |
16241 | iostate _M_streambuf_state; | |
16242 | ||
16243 | ||
16244 | ||
16245 | ||
16246 | struct _Callback_list | |
16247 | { | |
16248 | ||
16249 | _Callback_list* _M_next; | |
16250 | ios_base::event_callback _M_fn; | |
16251 | int _M_index; | |
16252 | _Atomic_word _M_refcount; | |
16253 | ||
16254 | _Callback_list(ios_base::event_callback __fn, int __index, | |
16255 | _Callback_list* __cb) | |
16256 | : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } | |
16257 | ||
16258 | void | |
16259 | _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } | |
16260 | ||
16261 | ||
16262 | int | |
16263 | _M_remove_reference() | |
16264 | { return __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); } | |
16265 | }; | |
16266 | ||
16267 | _Callback_list* _M_callbacks; | |
16268 | ||
16269 | void | |
16270 | _M_call_callbacks(event __ev) throw(); | |
16271 | ||
16272 | void | |
16273 | _M_dispose_callbacks(void); | |
16274 | ||
16275 | ||
16276 | struct _Words | |
16277 | { | |
16278 | void* _M_pword; | |
16279 | long _M_iword; | |
16280 | _Words() : _M_pword(0), _M_iword(0) { } | |
16281 | }; | |
16282 | ||
16283 | ||
16284 | _Words _M_word_zero; | |
16285 | ||
16286 | ||
16287 | ||
16288 | enum { _S_local_word_size = 8 }; | |
16289 | _Words _M_local_word[_S_local_word_size]; | |
16290 | ||
16291 | ||
16292 | int _M_word_size; | |
16293 | _Words* _M_word; | |
16294 | ||
16295 | _Words& | |
16296 | _M_grow_words(int __index, bool __iword); | |
16297 | ||
16298 | ||
16299 | locale _M_ios_locale; | |
16300 | ||
16301 | void | |
16302 | _M_init(); | |
16303 | ||
16304 | public: | |
16305 | ||
16306 | ||
16307 | ||
16308 | ||
16309 | ||
16310 | class Init | |
16311 | { | |
16312 | friend class ios_base; | |
16313 | public: | |
16314 | Init(); | |
16315 | ~Init(); | |
16316 | ||
16317 | private: | |
16318 | static _Atomic_word _S_refcount; | |
16319 | static bool _S_synced_with_stdio; | |
16320 | }; | |
16321 | ||
16322 | ||
16323 | ||
16324 | ||
16325 | ||
16326 | ||
16327 | fmtflags | |
16328 | flags() const | |
16329 | { return _M_flags; } | |
16330 | # 557 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16331 | fmtflags | |
16332 | flags(fmtflags __fmtfl) | |
16333 | { | |
16334 | fmtflags __old = _M_flags; | |
16335 | _M_flags = __fmtfl; | |
16336 | return __old; | |
16337 | } | |
16338 | # 573 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16339 | fmtflags | |
16340 | setf(fmtflags __fmtfl) | |
16341 | { | |
16342 | fmtflags __old = _M_flags; | |
16343 | _M_flags |= __fmtfl; | |
16344 | return __old; | |
16345 | } | |
16346 | # 590 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16347 | fmtflags | |
16348 | setf(fmtflags __fmtfl, fmtflags __mask) | |
16349 | { | |
16350 | fmtflags __old = _M_flags; | |
16351 | _M_flags &= ~__mask; | |
16352 | _M_flags |= (__fmtfl & __mask); | |
16353 | return __old; | |
16354 | } | |
16355 | ||
16356 | ||
16357 | ||
16358 | ||
16359 | ||
16360 | ||
16361 | ||
16362 | void | |
16363 | unsetf(fmtflags __mask) | |
16364 | { _M_flags &= ~__mask; } | |
16365 | # 616 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16366 | streamsize | |
16367 | precision() const | |
16368 | { return _M_precision; } | |
16369 | ||
16370 | ||
16371 | ||
16372 | ||
16373 | ||
16374 | ||
16375 | streamsize | |
16376 | precision(streamsize __prec) | |
16377 | { | |
16378 | streamsize __old = _M_precision; | |
16379 | _M_precision = __prec; | |
16380 | return __old; | |
16381 | } | |
16382 | ||
16383 | ||
16384 | ||
16385 | ||
16386 | ||
16387 | ||
16388 | ||
16389 | streamsize | |
16390 | width() const | |
16391 | { return _M_width; } | |
16392 | ||
16393 | ||
16394 | ||
16395 | ||
16396 | ||
16397 | ||
16398 | streamsize | |
16399 | width(streamsize __wide) | |
16400 | { | |
16401 | streamsize __old = _M_width; | |
16402 | _M_width = __wide; | |
16403 | return __old; | |
16404 | } | |
16405 | # 667 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16406 | static bool | |
16407 | sync_with_stdio(bool __sync = true); | |
16408 | # 679 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16409 | locale | |
16410 | imbue(const locale& __loc); | |
16411 | # 690 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16412 | locale | |
16413 | getloc() const | |
16414 | { return _M_ios_locale; } | |
16415 | # 701 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16416 | const locale& | |
16417 | _M_getloc() const | |
16418 | { return _M_ios_locale; } | |
16419 | # 720 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16420 | static int | |
16421 | xalloc() throw(); | |
16422 | # 736 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16423 | long& | |
16424 | iword(int __ix) | |
16425 | { | |
16426 | _Words& __word = (__ix < _M_word_size) | |
16427 | ? _M_word[__ix] : _M_grow_words(__ix, true); | |
16428 | return __word._M_iword; | |
16429 | } | |
16430 | # 757 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16431 | void*& | |
16432 | pword(int __ix) | |
16433 | { | |
16434 | _Words& __word = (__ix < _M_word_size) | |
16435 | ? _M_word[__ix] : _M_grow_words(__ix, false); | |
16436 | return __word._M_pword; | |
16437 | } | |
16438 | # 774 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ios_base.h" 3 | |
16439 | virtual ~ios_base(); | |
16440 | ||
16441 | protected: | |
16442 | ios_base(); | |
16443 | ||
16444 | ||
16445 | ||
16446 | private: | |
16447 | ios_base(const ios_base&); | |
16448 | ||
16449 | ios_base& | |
16450 | operator=(const ios_base&); | |
16451 | }; | |
16452 | ||
16453 | ||
16454 | ||
16455 | inline ios_base& | |
16456 | boolalpha(ios_base& __base) | |
16457 | { | |
16458 | __base.setf(ios_base::boolalpha); | |
16459 | return __base; | |
16460 | } | |
16461 | ||
16462 | ||
16463 | inline ios_base& | |
16464 | noboolalpha(ios_base& __base) | |
16465 | { | |
16466 | __base.unsetf(ios_base::boolalpha); | |
16467 | return __base; | |
16468 | } | |
16469 | ||
16470 | ||
16471 | inline ios_base& | |
16472 | showbase(ios_base& __base) | |
16473 | { | |
16474 | __base.setf(ios_base::showbase); | |
16475 | return __base; | |
16476 | } | |
16477 | ||
16478 | ||
16479 | inline ios_base& | |
16480 | noshowbase(ios_base& __base) | |
16481 | { | |
16482 | __base.unsetf(ios_base::showbase); | |
16483 | return __base; | |
16484 | } | |
16485 | ||
16486 | ||
16487 | inline ios_base& | |
16488 | showpoint(ios_base& __base) | |
16489 | { | |
16490 | __base.setf(ios_base::showpoint); | |
16491 | return __base; | |
16492 | } | |
16493 | ||
16494 | ||
16495 | inline ios_base& | |
16496 | noshowpoint(ios_base& __base) | |
16497 | { | |
16498 | __base.unsetf(ios_base::showpoint); | |
16499 | return __base; | |
16500 | } | |
16501 | ||
16502 | ||
16503 | inline ios_base& | |
16504 | showpos(ios_base& __base) | |
16505 | { | |
16506 | __base.setf(ios_base::showpos); | |
16507 | return __base; | |
16508 | } | |
16509 | ||
16510 | ||
16511 | inline ios_base& | |
16512 | noshowpos(ios_base& __base) | |
16513 | { | |
16514 | __base.unsetf(ios_base::showpos); | |
16515 | return __base; | |
16516 | } | |
16517 | ||
16518 | ||
16519 | inline ios_base& | |
16520 | skipws(ios_base& __base) | |
16521 | { | |
16522 | __base.setf(ios_base::skipws); | |
16523 | return __base; | |
16524 | } | |
16525 | ||
16526 | ||
16527 | inline ios_base& | |
16528 | noskipws(ios_base& __base) | |
16529 | { | |
16530 | __base.unsetf(ios_base::skipws); | |
16531 | return __base; | |
16532 | } | |
16533 | ||
16534 | ||
16535 | inline ios_base& | |
16536 | uppercase(ios_base& __base) | |
16537 | { | |
16538 | __base.setf(ios_base::uppercase); | |
16539 | return __base; | |
16540 | } | |
16541 | ||
16542 | ||
16543 | inline ios_base& | |
16544 | nouppercase(ios_base& __base) | |
16545 | { | |
16546 | __base.unsetf(ios_base::uppercase); | |
16547 | return __base; | |
16548 | } | |
16549 | ||
16550 | ||
16551 | inline ios_base& | |
16552 | unitbuf(ios_base& __base) | |
16553 | { | |
16554 | __base.setf(ios_base::unitbuf); | |
16555 | return __base; | |
16556 | } | |
16557 | ||
16558 | ||
16559 | inline ios_base& | |
16560 | nounitbuf(ios_base& __base) | |
16561 | { | |
16562 | __base.unsetf(ios_base::unitbuf); | |
16563 | return __base; | |
16564 | } | |
16565 | ||
16566 | ||
16567 | ||
16568 | inline ios_base& | |
16569 | internal(ios_base& __base) | |
16570 | { | |
16571 | __base.setf(ios_base::internal, ios_base::adjustfield); | |
16572 | return __base; | |
16573 | } | |
16574 | ||
16575 | ||
16576 | inline ios_base& | |
16577 | left(ios_base& __base) | |
16578 | { | |
16579 | __base.setf(ios_base::left, ios_base::adjustfield); | |
16580 | return __base; | |
16581 | } | |
16582 | ||
16583 | ||
16584 | inline ios_base& | |
16585 | right(ios_base& __base) | |
16586 | { | |
16587 | __base.setf(ios_base::right, ios_base::adjustfield); | |
16588 | return __base; | |
16589 | } | |
16590 | ||
16591 | ||
16592 | ||
16593 | inline ios_base& | |
16594 | dec(ios_base& __base) | |
16595 | { | |
16596 | __base.setf(ios_base::dec, ios_base::basefield); | |
16597 | return __base; | |
16598 | } | |
16599 | ||
16600 | ||
16601 | inline ios_base& | |
16602 | hex(ios_base& __base) | |
16603 | { | |
16604 | __base.setf(ios_base::hex, ios_base::basefield); | |
16605 | return __base; | |
16606 | } | |
16607 | ||
16608 | ||
16609 | inline ios_base& | |
16610 | oct(ios_base& __base) | |
16611 | { | |
16612 | __base.setf(ios_base::oct, ios_base::basefield); | |
16613 | return __base; | |
16614 | } | |
16615 | ||
16616 | ||
16617 | ||
16618 | inline ios_base& | |
16619 | fixed(ios_base& __base) | |
16620 | { | |
16621 | __base.setf(ios_base::fixed, ios_base::floatfield); | |
16622 | return __base; | |
16623 | } | |
16624 | ||
16625 | ||
16626 | inline ios_base& | |
16627 | scientific(ios_base& __base) | |
16628 | { | |
16629 | __base.setf(ios_base::scientific, ios_base::floatfield); | |
16630 | return __base; | |
16631 | } | |
16632 | ||
16633 | } | |
16634 | # 49 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 2 3 | |
16635 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 1 3 | |
16636 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16637 | #define _GLIBXX_STREAMBUF 1 | |
16638 | ||
16639 | ||
16640 | # 43 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16641 | # 51 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16642 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
16643 | ||
16644 | template<typename _CharT, typename _Traits> | |
16645 | streamsize | |
16646 | __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, | |
16647 | basic_streambuf<_CharT, _Traits>*, bool&); | |
16648 | # 118 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16649 | template<typename _CharT, typename _Traits> | |
16650 | class basic_streambuf | |
16651 | { | |
16652 | public: | |
16653 | ||
16654 | ||
16655 | ||
16656 | ||
16657 | ||
16658 | ||
16659 | typedef _CharT char_type; | |
16660 | typedef _Traits traits_type; | |
16661 | typedef typename traits_type::int_type int_type; | |
16662 | typedef typename traits_type::pos_type pos_type; | |
16663 | typedef typename traits_type::off_type off_type; | |
16664 | ||
16665 | ||
16666 | ||
16667 | ||
16668 | typedef basic_streambuf<char_type, traits_type> __streambuf_type; | |
16669 | ||
16670 | ||
16671 | friend class basic_ios<char_type, traits_type>; | |
16672 | friend class basic_istream<char_type, traits_type>; | |
16673 | friend class basic_ostream<char_type, traits_type>; | |
16674 | friend class istreambuf_iterator<char_type, traits_type>; | |
16675 | friend class ostreambuf_iterator<char_type, traits_type>; | |
16676 | ||
16677 | friend streamsize | |
16678 | __copy_streambufs_eof<>(__streambuf_type*, __streambuf_type*, bool&); | |
16679 | ||
16680 | template<bool _IsMove, typename _CharT2> | |
16681 | friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, | |
16682 | _CharT2*>::__type | |
16683 | __copy_move_a2(istreambuf_iterator<_CharT2>, | |
16684 | istreambuf_iterator<_CharT2>, _CharT2*); | |
16685 | ||
16686 | template<typename _CharT2> | |
16687 | friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, | |
16688 | istreambuf_iterator<_CharT2> >::__type | |
16689 | find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, | |
16690 | const _CharT2&); | |
16691 | ||
16692 | template<typename _CharT2, typename _Traits2> | |
16693 | friend basic_istream<_CharT2, _Traits2>& | |
16694 | operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); | |
16695 | ||
16696 | template<typename _CharT2, typename _Traits2, typename _Alloc> | |
16697 | friend basic_istream<_CharT2, _Traits2>& | |
16698 | operator>>(basic_istream<_CharT2, _Traits2>&, | |
16699 | basic_string<_CharT2, _Traits2, _Alloc>&); | |
16700 | ||
16701 | template<typename _CharT2, typename _Traits2, typename _Alloc> | |
16702 | friend basic_istream<_CharT2, _Traits2>& | |
16703 | getline(basic_istream<_CharT2, _Traits2>&, | |
16704 | basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); | |
16705 | ||
16706 | protected: | |
16707 | # 184 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16708 | char_type* _M_in_beg; | |
16709 | char_type* _M_in_cur; | |
16710 | char_type* _M_in_end; | |
16711 | char_type* _M_out_beg; | |
16712 | char_type* _M_out_cur; | |
16713 | char_type* _M_out_end; | |
16714 | ||
16715 | ||
16716 | locale _M_buf_locale; | |
16717 | ||
16718 | public: | |
16719 | ||
16720 | virtual | |
16721 | ~basic_streambuf() | |
16722 | { } | |
16723 | # 208 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16724 | locale | |
16725 | pubimbue(const locale &__loc) | |
16726 | { | |
16727 | locale __tmp(this->getloc()); | |
16728 | this->imbue(__loc); | |
16729 | _M_buf_locale = __loc; | |
16730 | return __tmp; | |
16731 | } | |
16732 | # 225 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16733 | locale | |
16734 | getloc() const | |
16735 | { return _M_buf_locale; } | |
16736 | # 238 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16737 | __streambuf_type* | |
16738 | pubsetbuf(char_type* __s, streamsize __n) | |
16739 | { return this->setbuf(__s, __n); } | |
16740 | ||
16741 | pos_type | |
16742 | pubseekoff(off_type __off, ios_base::seekdir __way, | |
16743 | ios_base::openmode __mode = ios_base::in | ios_base::out) | |
16744 | { return this->seekoff(__off, __way, __mode); } | |
16745 | ||
16746 | pos_type | |
16747 | pubseekpos(pos_type __sp, | |
16748 | ios_base::openmode __mode = ios_base::in | ios_base::out) | |
16749 | { return this->seekpos(__sp, __mode); } | |
16750 | ||
16751 | int | |
16752 | pubsync() { return this->sync(); } | |
16753 | # 265 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16754 | streamsize | |
16755 | in_avail() | |
16756 | { | |
16757 | const streamsize __ret = this->egptr() - this->gptr(); | |
16758 | return __ret ? __ret : this->showmanyc(); | |
16759 | } | |
16760 | # 279 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16761 | int_type | |
16762 | snextc() | |
16763 | { | |
16764 | int_type __ret = traits_type::eof(); | |
16765 | if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), | |
16766 | __ret), true)) | |
16767 | __ret = this->sgetc(); | |
16768 | return __ret; | |
16769 | } | |
16770 | # 297 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16771 | int_type | |
16772 | sbumpc() | |
16773 | { | |
16774 | int_type __ret; | |
16775 | if (__builtin_expect(this->gptr() < this->egptr(), true)) | |
16776 | { | |
16777 | __ret = traits_type::to_int_type(*this->gptr()); | |
16778 | this->gbump(1); | |
16779 | } | |
16780 | else | |
16781 | __ret = this->uflow(); | |
16782 | return __ret; | |
16783 | } | |
16784 | # 319 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16785 | int_type | |
16786 | sgetc() | |
16787 | { | |
16788 | int_type __ret; | |
16789 | if (__builtin_expect(this->gptr() < this->egptr(), true)) | |
16790 | __ret = traits_type::to_int_type(*this->gptr()); | |
16791 | else | |
16792 | __ret = this->underflow(); | |
16793 | return __ret; | |
16794 | } | |
16795 | # 338 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16796 | streamsize | |
16797 | sgetn(char_type* __s, streamsize __n) | |
16798 | { return this->xsgetn(__s, __n); } | |
16799 | # 352 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16800 | int_type | |
16801 | sputbackc(char_type __c) | |
16802 | { | |
16803 | int_type __ret; | |
16804 | const bool __testpos = this->eback() < this->gptr(); | |
16805 | if (__builtin_expect(!__testpos || | |
16806 | !traits_type::eq(__c, this->gptr()[-1]), false)) | |
16807 | __ret = this->pbackfail(traits_type::to_int_type(__c)); | |
16808 | else | |
16809 | { | |
16810 | this->gbump(-1); | |
16811 | __ret = traits_type::to_int_type(*this->gptr()); | |
16812 | } | |
16813 | return __ret; | |
16814 | } | |
16815 | # 377 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16816 | int_type | |
16817 | sungetc() | |
16818 | { | |
16819 | int_type __ret; | |
16820 | if (__builtin_expect(this->eback() < this->gptr(), true)) | |
16821 | { | |
16822 | this->gbump(-1); | |
16823 | __ret = traits_type::to_int_type(*this->gptr()); | |
16824 | } | |
16825 | else | |
16826 | __ret = this->pbackfail(); | |
16827 | return __ret; | |
16828 | } | |
16829 | # 404 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16830 | int_type | |
16831 | sputc(char_type __c) | |
16832 | { | |
16833 | int_type __ret; | |
16834 | if (__builtin_expect(this->pptr() < this->epptr(), true)) | |
16835 | { | |
16836 | *this->pptr() = __c; | |
16837 | this->pbump(1); | |
16838 | __ret = traits_type::to_int_type(__c); | |
16839 | } | |
16840 | else | |
16841 | __ret = this->overflow(traits_type::to_int_type(__c)); | |
16842 | return __ret; | |
16843 | } | |
16844 | # 430 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16845 | streamsize | |
16846 | sputn(const char_type* __s, streamsize __n) | |
16847 | { return this->xsputn(__s, __n); } | |
16848 | ||
16849 | protected: | |
16850 | # 444 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16851 | basic_streambuf() | |
16852 | : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), | |
16853 | _M_out_beg(0), _M_out_cur(0), _M_out_end(0), | |
16854 | _M_buf_locale(locale()) | |
16855 | { } | |
16856 | # 462 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16857 | char_type* | |
16858 | eback() const { return _M_in_beg; } | |
16859 | ||
16860 | char_type* | |
16861 | gptr() const { return _M_in_cur; } | |
16862 | ||
16863 | char_type* | |
16864 | egptr() const { return _M_in_end; } | |
16865 | # 478 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16866 | void | |
16867 | gbump(int __n) { _M_in_cur += __n; } | |
16868 | # 489 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16869 | void | |
16870 | setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) | |
16871 | { | |
16872 | _M_in_beg = __gbeg; | |
16873 | _M_in_cur = __gnext; | |
16874 | _M_in_end = __gend; | |
16875 | } | |
16876 | # 509 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16877 | char_type* | |
16878 | pbase() const { return _M_out_beg; } | |
16879 | ||
16880 | char_type* | |
16881 | pptr() const { return _M_out_cur; } | |
16882 | ||
16883 | char_type* | |
16884 | epptr() const { return _M_out_end; } | |
16885 | # 525 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16886 | void | |
16887 | pbump(int __n) { _M_out_cur += __n; } | |
16888 | # 535 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16889 | void | |
16890 | setp(char_type* __pbeg, char_type* __pend) | |
16891 | { | |
16892 | _M_out_beg = _M_out_cur = __pbeg; | |
16893 | _M_out_end = __pend; | |
16894 | } | |
16895 | # 556 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16896 | virtual void | |
16897 | imbue(const locale&) | |
16898 | { } | |
16899 | # 571 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16900 | virtual basic_streambuf<char_type,_Traits>* | |
16901 | setbuf(char_type*, streamsize) | |
16902 | { return this; } | |
16903 | # 582 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16904 | virtual pos_type | |
16905 | seekoff(off_type, ios_base::seekdir, | |
16906 | ios_base::openmode = ios_base::in | ios_base::out) | |
16907 | { return pos_type(off_type(-1)); } | |
16908 | # 594 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16909 | virtual pos_type | |
16910 | seekpos(pos_type, | |
16911 | ios_base::openmode = ios_base::in | ios_base::out) | |
16912 | { return pos_type(off_type(-1)); } | |
16913 | # 607 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16914 | virtual int | |
16915 | sync() { return 0; } | |
16916 | # 629 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16917 | virtual streamsize | |
16918 | showmanyc() { return 0; } | |
16919 | # 645 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16920 | virtual streamsize | |
16921 | xsgetn(char_type* __s, streamsize __n); | |
16922 | # 667 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16923 | virtual int_type | |
16924 | underflow() | |
16925 | { return traits_type::eof(); } | |
16926 | # 680 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16927 | virtual int_type | |
16928 | uflow() | |
16929 | { | |
16930 | int_type __ret = traits_type::eof(); | |
16931 | const bool __testeof = traits_type::eq_int_type(this->underflow(), | |
16932 | __ret); | |
16933 | if (!__testeof) | |
16934 | { | |
16935 | __ret = traits_type::to_int_type(*this->gptr()); | |
16936 | this->gbump(1); | |
16937 | } | |
16938 | return __ret; | |
16939 | } | |
16940 | # 704 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16941 | virtual int_type | |
16942 | pbackfail(int_type = traits_type::eof()) | |
16943 | { return traits_type::eof(); } | |
16944 | # 722 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16945 | virtual streamsize | |
16946 | xsputn(const char_type* __s, streamsize __n); | |
16947 | # 747 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16948 | virtual int_type | |
16949 | overflow(int_type = traits_type::eof()) | |
16950 | { return traits_type::eof(); } | |
16951 | ||
16952 | ||
16953 | ||
16954 | public: | |
16955 | # 762 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 3 | |
16956 | void | |
16957 | stossc() | |
16958 | { | |
16959 | if (this->gptr() < this->egptr()) | |
16960 | this->gbump(1); | |
16961 | else | |
16962 | this->uflow(); | |
16963 | } | |
16964 | ||
16965 | ||
16966 | private: | |
16967 | ||
16968 | ||
16969 | basic_streambuf(const __streambuf_type& __sb) | |
16970 | : _M_in_beg(__sb._M_in_beg), _M_in_cur(__sb._M_in_cur), | |
16971 | _M_in_end(__sb._M_in_end), _M_out_beg(__sb._M_out_beg), | |
16972 | _M_out_cur(__sb._M_out_cur), _M_out_end(__sb._M_out_cur), | |
16973 | _M_buf_locale(__sb._M_buf_locale) | |
16974 | { } | |
16975 | ||
16976 | __streambuf_type& | |
16977 | operator=(const __streambuf_type&) { return *this; }; | |
16978 | }; | |
16979 | ||
16980 | ||
16981 | template<> | |
16982 | streamsize | |
16983 | __copy_streambufs_eof(basic_streambuf<char>* __sbin, | |
16984 | basic_streambuf<char>* __sbout, bool& __ineof); | |
16985 | ||
16986 | ||
16987 | ||
16988 | ||
16989 | ||
16990 | ||
16991 | ||
16992 | } | |
16993 | ||
16994 | ||
16995 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/streambuf.tcc" 1 3 | |
16996 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/streambuf.tcc" 3 | |
16997 | #define _STREAMBUF_TCC 1 | |
16998 | ||
16999 | ||
17000 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/streambuf.tcc" 3 | |
17001 | ||
17002 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
17003 | ||
17004 | template<typename _CharT, typename _Traits> | |
17005 | streamsize | |
17006 | basic_streambuf<_CharT, _Traits>:: | |
17007 | xsgetn(char_type* __s, streamsize __n) | |
17008 | { | |
17009 | streamsize __ret = 0; | |
17010 | while (__ret < __n) | |
17011 | { | |
17012 | const streamsize __buf_len = this->egptr() - this->gptr(); | |
17013 | if (__buf_len) | |
17014 | { | |
17015 | const streamsize __remaining = __n - __ret; | |
17016 | const streamsize __len = std::min(__buf_len, __remaining); | |
17017 | traits_type::copy(__s, this->gptr(), __len); | |
17018 | __ret += __len; | |
17019 | __s += __len; | |
17020 | this->gbump(__len); | |
17021 | } | |
17022 | ||
17023 | if (__ret < __n) | |
17024 | { | |
17025 | const int_type __c = this->uflow(); | |
17026 | if (!traits_type::eq_int_type(__c, traits_type::eof())) | |
17027 | { | |
17028 | traits_type::assign(*__s++, traits_type::to_char_type(__c)); | |
17029 | ++__ret; | |
17030 | } | |
17031 | else | |
17032 | break; | |
17033 | } | |
17034 | } | |
17035 | return __ret; | |
17036 | } | |
17037 | ||
17038 | template<typename _CharT, typename _Traits> | |
17039 | streamsize | |
17040 | basic_streambuf<_CharT, _Traits>:: | |
17041 | xsputn(const char_type* __s, streamsize __n) | |
17042 | { | |
17043 | streamsize __ret = 0; | |
17044 | while (__ret < __n) | |
17045 | { | |
17046 | const streamsize __buf_len = this->epptr() - this->pptr(); | |
17047 | if (__buf_len) | |
17048 | { | |
17049 | const streamsize __remaining = __n - __ret; | |
17050 | const streamsize __len = std::min(__buf_len, __remaining); | |
17051 | traits_type::copy(this->pptr(), __s, __len); | |
17052 | __ret += __len; | |
17053 | __s += __len; | |
17054 | this->pbump(__len); | |
17055 | } | |
17056 | ||
17057 | if (__ret < __n) | |
17058 | { | |
17059 | int_type __c = this->overflow(traits_type::to_int_type(*__s)); | |
17060 | if (!traits_type::eq_int_type(__c, traits_type::eof())) | |
17061 | { | |
17062 | ++__ret; | |
17063 | ++__s; | |
17064 | } | |
17065 | else | |
17066 | break; | |
17067 | } | |
17068 | } | |
17069 | return __ret; | |
17070 | } | |
17071 | ||
17072 | ||
17073 | ||
17074 | ||
17075 | template<typename _CharT, typename _Traits> | |
17076 | streamsize | |
17077 | __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, | |
17078 | basic_streambuf<_CharT, _Traits>* __sbout, | |
17079 | bool& __ineof) | |
17080 | { | |
17081 | streamsize __ret = 0; | |
17082 | __ineof = true; | |
17083 | typename _Traits::int_type __c = __sbin->sgetc(); | |
17084 | while (!_Traits::eq_int_type(__c, _Traits::eof())) | |
17085 | { | |
17086 | __c = __sbout->sputc(_Traits::to_char_type(__c)); | |
17087 | if (_Traits::eq_int_type(__c, _Traits::eof())) | |
17088 | { | |
17089 | __ineof = false; | |
17090 | break; | |
17091 | } | |
17092 | ++__ret; | |
17093 | __c = __sbin->snextc(); | |
17094 | } | |
17095 | return __ret; | |
17096 | } | |
17097 | ||
17098 | template<typename _CharT, typename _Traits> | |
17099 | inline streamsize | |
17100 | __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, | |
17101 | basic_streambuf<_CharT, _Traits>* __sbout) | |
17102 | { | |
17103 | bool __ineof; | |
17104 | return __copy_streambufs_eof(__sbin, __sbout, __ineof); | |
17105 | } | |
17106 | ||
17107 | ||
17108 | ||
17109 | ||
17110 | ||
17111 | extern template class basic_streambuf<char>; | |
17112 | extern template | |
17113 | streamsize | |
17114 | __copy_streambufs(basic_streambuf<char>*, | |
17115 | basic_streambuf<char>*); | |
17116 | extern template | |
17117 | streamsize | |
17118 | __copy_streambufs_eof(basic_streambuf<char>*, | |
17119 | basic_streambuf<char>*, bool&); | |
17120 | # 177 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/streambuf.tcc" 3 | |
17121 | } | |
17122 | # 802 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/streambuf" 2 3 | |
17123 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 2 3 | |
17124 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 1 3 | |
17125 | # 38 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
17126 | #define _BASIC_IOS_H 1 | |
17127 | ||
17128 | ||
17129 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
17130 | ||
17131 | ||
17132 | ||
17133 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 1 3 | |
17134 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17135 | #define _LOCALE_FACETS_H 1 | |
17136 | ||
17137 | ||
17138 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17139 | ||
17140 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwctype" 1 3 | |
17141 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwctype" 3 | |
17142 | ||
17143 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwctype" 3 | |
17144 | # 55 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cwctype" 3 | |
17145 | #define _GLIBCXX_CWCTYPE 1 | |
17146 | ||
17147 | ||
17148 | #undef iswalnum | |
17149 | #undef iswalpha | |
17150 | ||
17151 | ||
17152 | ||
17153 | #undef iswcntrl | |
17154 | #undef iswctype | |
17155 | #undef iswdigit | |
17156 | #undef iswgraph | |
17157 | #undef iswlower | |
17158 | #undef iswprint | |
17159 | #undef iswpunct | |
17160 | #undef iswspace | |
17161 | #undef iswupper | |
17162 | #undef iswxdigit | |
17163 | #undef towctrans | |
17164 | #undef towlower | |
17165 | #undef towupper | |
17166 | #undef wctrans | |
17167 | #undef wctype | |
17168 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 2 3 | |
17169 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cctype" 1 3 | |
17170 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cctype" 3 | |
17171 | ||
17172 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/cctype" 3 | |
17173 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 2 3 | |
17174 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/ctype_base.h" 1 3 | |
17175 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/ctype_base.h" 3 | |
17176 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
17177 | ||
17178 | ||
17179 | struct ctype_base | |
17180 | { | |
17181 | ||
17182 | ||
17183 | ||
17184 | typedef const __ctype_touplow_t* __to_type; | |
17185 | ||
17186 | ||
17187 | ||
17188 | typedef __ctype_mask_t mask; | |
17189 | static const mask upper = _ISupper; | |
17190 | static const mask lower = _ISlower; | |
17191 | static const mask alpha = _ISalpha; | |
17192 | static const mask digit = _ISdigit; | |
17193 | static const mask xdigit = _ISxdigit; | |
17194 | static const mask space = _ISspace; | |
17195 | static const mask print = _ISprint; | |
17196 | static const mask graph = _ISalpha | _ISdigit | _ISpunct; | |
17197 | static const mask cntrl = _IScntrl; | |
17198 | static const mask punct = _ISpunct; | |
17199 | static const mask alnum = _ISalpha | _ISdigit; | |
17200 | }; | |
17201 | ||
17202 | } | |
17203 | # 49 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 2 3 | |
17204 | ||
17205 | ||
17206 | ||
17207 | ||
17208 | ||
17209 | ||
17210 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/streambuf_iterator.h" 1 3 | |
17211 | # 38 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/streambuf_iterator.h" 3 | |
17212 | #define _STREAMBUF_ITERATOR_H 1 | |
17213 | ||
17214 | ||
17215 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/streambuf_iterator.h" 3 | |
17216 | ||
17217 | ||
17218 | ||
17219 | ||
17220 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
17221 | ||
17222 | ||
17223 | ||
17224 | template<typename _CharT, typename _Traits> | |
17225 | class istreambuf_iterator | |
17226 | : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type, | |
17227 | _CharT*, _CharT&> | |
17228 | { | |
17229 | public: | |
17230 | ||
17231 | ||
17232 | ||
17233 | typedef _CharT char_type; | |
17234 | typedef _Traits traits_type; | |
17235 | typedef typename _Traits::int_type int_type; | |
17236 | typedef basic_streambuf<_CharT, _Traits> streambuf_type; | |
17237 | typedef basic_istream<_CharT, _Traits> istream_type; | |
17238 | ||
17239 | ||
17240 | template<typename _CharT2> | |
17241 | friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, | |
17242 | ostreambuf_iterator<_CharT2> >::__type | |
17243 | copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, | |
17244 | ostreambuf_iterator<_CharT2>); | |
17245 | ||
17246 | template<bool _IsMove, typename _CharT2> | |
17247 | friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, | |
17248 | _CharT2*>::__type | |
17249 | __copy_move_a2(istreambuf_iterator<_CharT2>, | |
17250 | istreambuf_iterator<_CharT2>, _CharT2*); | |
17251 | ||
17252 | template<typename _CharT2> | |
17253 | friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, | |
17254 | istreambuf_iterator<_CharT2> >::__type | |
17255 | find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, | |
17256 | const _CharT2&); | |
17257 | ||
17258 | private: | |
17259 | ||
17260 | ||
17261 | ||
17262 | ||
17263 | ||
17264 | ||
17265 | ||
17266 | mutable streambuf_type* _M_sbuf; | |
17267 | mutable int_type _M_c; | |
17268 | ||
17269 | public: | |
17270 | ||
17271 | istreambuf_iterator() throw() | |
17272 | : _M_sbuf(0), _M_c(traits_type::eof()) { } | |
17273 | ||
17274 | ||
17275 | istreambuf_iterator(istream_type& __s) throw() | |
17276 | : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } | |
17277 | ||
17278 | ||
17279 | istreambuf_iterator(streambuf_type* __s) throw() | |
17280 | : _M_sbuf(__s), _M_c(traits_type::eof()) { } | |
17281 | ||
17282 | ||
17283 | ||
17284 | ||
17285 | char_type | |
17286 | operator*() const | |
17287 | { | |
17288 | ||
17289 | ||
17290 | ||
17291 | ||
17292 | ||
17293 | ||
17294 | ||
17295 | return traits_type::to_char_type(_M_get()); | |
17296 | } | |
17297 | ||
17298 | ||
17299 | istreambuf_iterator& | |
17300 | operator++() | |
17301 | { | |
17302 | ; | |
17303 | ||
17304 | ||
17305 | if (_M_sbuf) | |
17306 | { | |
17307 | _M_sbuf->sbumpc(); | |
17308 | _M_c = traits_type::eof(); | |
17309 | } | |
17310 | return *this; | |
17311 | } | |
17312 | ||
17313 | ||
17314 | istreambuf_iterator | |
17315 | operator++(int) | |
17316 | { | |
17317 | ; | |
17318 | ||
17319 | ||
17320 | ||
17321 | istreambuf_iterator __old = *this; | |
17322 | if (_M_sbuf) | |
17323 | { | |
17324 | __old._M_c = _M_sbuf->sbumpc(); | |
17325 | _M_c = traits_type::eof(); | |
17326 | } | |
17327 | return __old; | |
17328 | } | |
17329 | ||
17330 | ||
17331 | ||
17332 | ||
17333 | ||
17334 | bool | |
17335 | equal(const istreambuf_iterator& __b) const | |
17336 | { return _M_at_eof() == __b._M_at_eof(); } | |
17337 | ||
17338 | private: | |
17339 | int_type | |
17340 | _M_get() const | |
17341 | { | |
17342 | const int_type __eof = traits_type::eof(); | |
17343 | int_type __ret = __eof; | |
17344 | if (_M_sbuf) | |
17345 | { | |
17346 | if (!traits_type::eq_int_type(_M_c, __eof)) | |
17347 | __ret = _M_c; | |
17348 | else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()), | |
17349 | __eof)) | |
17350 | _M_c = __ret; | |
17351 | else | |
17352 | _M_sbuf = 0; | |
17353 | } | |
17354 | return __ret; | |
17355 | } | |
17356 | ||
17357 | bool | |
17358 | _M_at_eof() const | |
17359 | { | |
17360 | const int_type __eof = traits_type::eof(); | |
17361 | return traits_type::eq_int_type(_M_get(), __eof); | |
17362 | } | |
17363 | }; | |
17364 | ||
17365 | template<typename _CharT, typename _Traits> | |
17366 | inline bool | |
17367 | operator==(const istreambuf_iterator<_CharT, _Traits>& __a, | |
17368 | const istreambuf_iterator<_CharT, _Traits>& __b) | |
17369 | { return __a.equal(__b); } | |
17370 | ||
17371 | template<typename _CharT, typename _Traits> | |
17372 | inline bool | |
17373 | operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, | |
17374 | const istreambuf_iterator<_CharT, _Traits>& __b) | |
17375 | { return !__a.equal(__b); } | |
17376 | ||
17377 | ||
17378 | template<typename _CharT, typename _Traits> | |
17379 | class ostreambuf_iterator | |
17380 | : public iterator<output_iterator_tag, void, void, void, void> | |
17381 | { | |
17382 | public: | |
17383 | ||
17384 | ||
17385 | ||
17386 | typedef _CharT char_type; | |
17387 | typedef _Traits traits_type; | |
17388 | typedef basic_streambuf<_CharT, _Traits> streambuf_type; | |
17389 | typedef basic_ostream<_CharT, _Traits> ostream_type; | |
17390 | ||
17391 | ||
17392 | template<typename _CharT2> | |
17393 | friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, | |
17394 | ostreambuf_iterator<_CharT2> >::__type | |
17395 | copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, | |
17396 | ostreambuf_iterator<_CharT2>); | |
17397 | ||
17398 | private: | |
17399 | streambuf_type* _M_sbuf; | |
17400 | bool _M_failed; | |
17401 | ||
17402 | public: | |
17403 | ||
17404 | ostreambuf_iterator(ostream_type& __s) throw () | |
17405 | : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } | |
17406 | ||
17407 | ||
17408 | ostreambuf_iterator(streambuf_type* __s) throw () | |
17409 | : _M_sbuf(__s), _M_failed(!_M_sbuf) { } | |
17410 | ||
17411 | ||
17412 | ostreambuf_iterator& | |
17413 | operator=(_CharT __c) | |
17414 | { | |
17415 | if (!_M_failed && | |
17416 | _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) | |
17417 | _M_failed = true; | |
17418 | return *this; | |
17419 | } | |
17420 | ||
17421 | ||
17422 | ostreambuf_iterator& | |
17423 | operator*() | |
17424 | { return *this; } | |
17425 | ||
17426 | ||
17427 | ostreambuf_iterator& | |
17428 | operator++(int) | |
17429 | { return *this; } | |
17430 | ||
17431 | ||
17432 | ostreambuf_iterator& | |
17433 | operator++() | |
17434 | { return *this; } | |
17435 | ||
17436 | ||
17437 | bool | |
17438 | failed() const throw() | |
17439 | { return _M_failed; } | |
17440 | ||
17441 | ostreambuf_iterator& | |
17442 | _M_put(const _CharT* __ws, streamsize __len) | |
17443 | { | |
17444 | if (__builtin_expect(!_M_failed, true) | |
17445 | && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, | |
17446 | false)) | |
17447 | _M_failed = true; | |
17448 | return *this; | |
17449 | } | |
17450 | }; | |
17451 | ||
17452 | ||
17453 | template<typename _CharT> | |
17454 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
17455 | ostreambuf_iterator<_CharT> >::__type | |
17456 | copy(istreambuf_iterator<_CharT> __first, | |
17457 | istreambuf_iterator<_CharT> __last, | |
17458 | ostreambuf_iterator<_CharT> __result) | |
17459 | { | |
17460 | if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) | |
17461 | { | |
17462 | bool __ineof; | |
17463 | __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); | |
17464 | if (!__ineof) | |
17465 | __result._M_failed = true; | |
17466 | } | |
17467 | return __result; | |
17468 | } | |
17469 | ||
17470 | template<bool _IsMove, typename _CharT> | |
17471 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
17472 | ostreambuf_iterator<_CharT> >::__type | |
17473 | __copy_move_a2(_CharT* __first, _CharT* __last, | |
17474 | ostreambuf_iterator<_CharT> __result) | |
17475 | { | |
17476 | const streamsize __num = __last - __first; | |
17477 | if (__num > 0) | |
17478 | __result._M_put(__first, __num); | |
17479 | return __result; | |
17480 | } | |
17481 | ||
17482 | template<bool _IsMove, typename _CharT> | |
17483 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
17484 | ostreambuf_iterator<_CharT> >::__type | |
17485 | __copy_move_a2(const _CharT* __first, const _CharT* __last, | |
17486 | ostreambuf_iterator<_CharT> __result) | |
17487 | { | |
17488 | const streamsize __num = __last - __first; | |
17489 | if (__num > 0) | |
17490 | __result._M_put(__first, __num); | |
17491 | return __result; | |
17492 | } | |
17493 | ||
17494 | template<bool _IsMove, typename _CharT> | |
17495 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
17496 | _CharT*>::__type | |
17497 | __copy_move_a2(istreambuf_iterator<_CharT> __first, | |
17498 | istreambuf_iterator<_CharT> __last, _CharT* __result) | |
17499 | { | |
17500 | typedef istreambuf_iterator<_CharT> __is_iterator_type; | |
17501 | typedef typename __is_iterator_type::traits_type traits_type; | |
17502 | typedef typename __is_iterator_type::streambuf_type streambuf_type; | |
17503 | typedef typename traits_type::int_type int_type; | |
17504 | ||
17505 | if (__first._M_sbuf && !__last._M_sbuf) | |
17506 | { | |
17507 | streambuf_type* __sb = __first._M_sbuf; | |
17508 | int_type __c = __sb->sgetc(); | |
17509 | while (!traits_type::eq_int_type(__c, traits_type::eof())) | |
17510 | { | |
17511 | const streamsize __n = __sb->egptr() - __sb->gptr(); | |
17512 | if (__n > 1) | |
17513 | { | |
17514 | traits_type::copy(__result, __sb->gptr(), __n); | |
17515 | __sb->gbump(__n); | |
17516 | __result += __n; | |
17517 | __c = __sb->underflow(); | |
17518 | } | |
17519 | else | |
17520 | { | |
17521 | *__result++ = traits_type::to_char_type(__c); | |
17522 | __c = __sb->snextc(); | |
17523 | } | |
17524 | } | |
17525 | } | |
17526 | return __result; | |
17527 | } | |
17528 | ||
17529 | template<typename _CharT> | |
17530 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
17531 | istreambuf_iterator<_CharT> >::__type | |
17532 | find(istreambuf_iterator<_CharT> __first, | |
17533 | istreambuf_iterator<_CharT> __last, const _CharT& __val) | |
17534 | { | |
17535 | typedef istreambuf_iterator<_CharT> __is_iterator_type; | |
17536 | typedef typename __is_iterator_type::traits_type traits_type; | |
17537 | typedef typename __is_iterator_type::streambuf_type streambuf_type; | |
17538 | typedef typename traits_type::int_type int_type; | |
17539 | ||
17540 | if (__first._M_sbuf && !__last._M_sbuf) | |
17541 | { | |
17542 | const int_type __ival = traits_type::to_int_type(__val); | |
17543 | streambuf_type* __sb = __first._M_sbuf; | |
17544 | int_type __c = __sb->sgetc(); | |
17545 | while (!traits_type::eq_int_type(__c, traits_type::eof()) | |
17546 | && !traits_type::eq_int_type(__c, __ival)) | |
17547 | { | |
17548 | streamsize __n = __sb->egptr() - __sb->gptr(); | |
17549 | if (__n > 1) | |
17550 | { | |
17551 | const _CharT* __p = traits_type::find(__sb->gptr(), | |
17552 | __n, __val); | |
17553 | if (__p) | |
17554 | __n = __p - __sb->gptr(); | |
17555 | __sb->gbump(__n); | |
17556 | __c = __sb->sgetc(); | |
17557 | } | |
17558 | else | |
17559 | __c = __sb->snextc(); | |
17560 | } | |
17561 | ||
17562 | if (!traits_type::eq_int_type(__c, traits_type::eof())) | |
17563 | __first._M_c = __c; | |
17564 | else | |
17565 | __first._M_sbuf = 0; | |
17566 | } | |
17567 | return __first; | |
17568 | } | |
17569 | ||
17570 | } | |
17571 | # 56 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 2 3 | |
17572 | ||
17573 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
17574 | ||
17575 | ||
17576 | ||
17577 | ||
17578 | ||
17579 | #define _GLIBCXX_NUM_FACETS 14 | |
17580 | ||
17581 | ||
17582 | ||
17583 | ||
17584 | ||
17585 | template<typename _Tv> | |
17586 | void | |
17587 | __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err, | |
17588 | const __c_locale& __cloc); | |
17589 | ||
17590 | ||
17591 | template<> | |
17592 | void | |
17593 | __convert_to_v(const char*, float&, ios_base::iostate&, | |
17594 | const __c_locale&); | |
17595 | ||
17596 | template<> | |
17597 | void | |
17598 | __convert_to_v(const char*, double&, ios_base::iostate&, | |
17599 | const __c_locale&); | |
17600 | ||
17601 | template<> | |
17602 | void | |
17603 | __convert_to_v(const char*, long double&, ios_base::iostate&, | |
17604 | const __c_locale&); | |
17605 | ||
17606 | ||
17607 | ||
17608 | template<typename _CharT, typename _Traits> | |
17609 | struct __pad | |
17610 | { | |
17611 | static void | |
17612 | _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, | |
17613 | const _CharT* __olds, const streamsize __newlen, | |
17614 | const streamsize __oldlen); | |
17615 | }; | |
17616 | ||
17617 | ||
17618 | ||
17619 | ||
17620 | ||
17621 | ||
17622 | template<typename _CharT> | |
17623 | _CharT* | |
17624 | __add_grouping(_CharT* __s, _CharT __sep, | |
17625 | const char* __gbeg, size_t __gsize, | |
17626 | const _CharT* __first, const _CharT* __last); | |
17627 | ||
17628 | ||
17629 | ||
17630 | ||
17631 | template<typename _CharT> | |
17632 | inline | |
17633 | ostreambuf_iterator<_CharT> | |
17634 | __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) | |
17635 | { | |
17636 | __s._M_put(__ws, __len); | |
17637 | return __s; | |
17638 | } | |
17639 | ||
17640 | ||
17641 | template<typename _CharT, typename _OutIter> | |
17642 | inline | |
17643 | _OutIter | |
17644 | __write(_OutIter __s, const _CharT* __ws, int __len) | |
17645 | { | |
17646 | for (int __j = 0; __j < __len; __j++, ++__s) | |
17647 | *__s = __ws[__j]; | |
17648 | return __s; | |
17649 | } | |
17650 | # 149 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17651 | template<typename _CharT> | |
17652 | class __ctype_abstract_base : public locale::facet, public ctype_base | |
17653 | { | |
17654 | public: | |
17655 | ||
17656 | ||
17657 | typedef _CharT char_type; | |
17658 | # 167 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17659 | bool | |
17660 | is(mask __m, char_type __c) const | |
17661 | { return this->do_is(__m, __c); } | |
17662 | # 184 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17663 | const char_type* | |
17664 | is(const char_type *__lo, const char_type *__hi, mask *__vec) const | |
17665 | { return this->do_is(__lo, __hi, __vec); } | |
17666 | # 200 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17667 | const char_type* | |
17668 | scan_is(mask __m, const char_type* __lo, const char_type* __hi) const | |
17669 | { return this->do_scan_is(__m, __lo, __hi); } | |
17670 | # 216 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17671 | const char_type* | |
17672 | scan_not(mask __m, const char_type* __lo, const char_type* __hi) const | |
17673 | { return this->do_scan_not(__m, __lo, __hi); } | |
17674 | # 230 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17675 | char_type | |
17676 | toupper(char_type __c) const | |
17677 | { return this->do_toupper(__c); } | |
17678 | # 245 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17679 | const char_type* | |
17680 | toupper(char_type *__lo, const char_type* __hi) const | |
17681 | { return this->do_toupper(__lo, __hi); } | |
17682 | # 259 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17683 | char_type | |
17684 | tolower(char_type __c) const | |
17685 | { return this->do_tolower(__c); } | |
17686 | # 274 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17687 | const char_type* | |
17688 | tolower(char_type* __lo, const char_type* __hi) const | |
17689 | { return this->do_tolower(__lo, __hi); } | |
17690 | # 291 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17691 | char_type | |
17692 | widen(char __c) const | |
17693 | { return this->do_widen(__c); } | |
17694 | # 310 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17695 | const char* | |
17696 | widen(const char* __lo, const char* __hi, char_type* __to) const | |
17697 | { return this->do_widen(__lo, __hi, __to); } | |
17698 | # 329 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17699 | char | |
17700 | narrow(char_type __c, char __dfault) const | |
17701 | { return this->do_narrow(__c, __dfault); } | |
17702 | # 351 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17703 | const char_type* | |
17704 | narrow(const char_type* __lo, const char_type* __hi, | |
17705 | char __dfault, char *__to) const | |
17706 | { return this->do_narrow(__lo, __hi, __dfault, __to); } | |
17707 | ||
17708 | protected: | |
17709 | explicit | |
17710 | __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } | |
17711 | ||
17712 | virtual | |
17713 | ~__ctype_abstract_base() { } | |
17714 | # 376 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17715 | virtual bool | |
17716 | do_is(mask __m, char_type __c) const = 0; | |
17717 | # 395 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17718 | virtual const char_type* | |
17719 | do_is(const char_type* __lo, const char_type* __hi, | |
17720 | mask* __vec) const = 0; | |
17721 | # 414 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17722 | virtual const char_type* | |
17723 | do_scan_is(mask __m, const char_type* __lo, | |
17724 | const char_type* __hi) const = 0; | |
17725 | # 433 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17726 | virtual const char_type* | |
17727 | do_scan_not(mask __m, const char_type* __lo, | |
17728 | const char_type* __hi) const = 0; | |
17729 | # 451 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17730 | virtual char_type | |
17731 | do_toupper(char_type) const = 0; | |
17732 | # 468 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17733 | virtual const char_type* | |
17734 | do_toupper(char_type* __lo, const char_type* __hi) const = 0; | |
17735 | # 484 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17736 | virtual char_type | |
17737 | do_tolower(char_type) const = 0; | |
17738 | # 501 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17739 | virtual const char_type* | |
17740 | do_tolower(char_type* __lo, const char_type* __hi) const = 0; | |
17741 | # 520 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17742 | virtual char_type | |
17743 | do_widen(char) const = 0; | |
17744 | # 541 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17745 | virtual const char* | |
17746 | do_widen(const char* __lo, const char* __hi, | |
17747 | char_type* __dest) const = 0; | |
17748 | # 563 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17749 | virtual char | |
17750 | do_narrow(char_type, char __dfault) const = 0; | |
17751 | # 587 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17752 | virtual const char_type* | |
17753 | do_narrow(const char_type* __lo, const char_type* __hi, | |
17754 | char __dfault, char* __dest) const = 0; | |
17755 | }; | |
17756 | # 610 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17757 | template<typename _CharT> | |
17758 | class ctype : public __ctype_abstract_base<_CharT> | |
17759 | { | |
17760 | public: | |
17761 | ||
17762 | typedef _CharT char_type; | |
17763 | typedef typename __ctype_abstract_base<_CharT>::mask mask; | |
17764 | ||
17765 | ||
17766 | static locale::id id; | |
17767 | ||
17768 | explicit | |
17769 | ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } | |
17770 | ||
17771 | protected: | |
17772 | virtual | |
17773 | ~ctype(); | |
17774 | ||
17775 | virtual bool | |
17776 | do_is(mask __m, char_type __c) const; | |
17777 | ||
17778 | virtual const char_type* | |
17779 | do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; | |
17780 | ||
17781 | virtual const char_type* | |
17782 | do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; | |
17783 | ||
17784 | virtual const char_type* | |
17785 | do_scan_not(mask __m, const char_type* __lo, | |
17786 | const char_type* __hi) const; | |
17787 | ||
17788 | virtual char_type | |
17789 | do_toupper(char_type __c) const; | |
17790 | ||
17791 | virtual const char_type* | |
17792 | do_toupper(char_type* __lo, const char_type* __hi) const; | |
17793 | ||
17794 | virtual char_type | |
17795 | do_tolower(char_type __c) const; | |
17796 | ||
17797 | virtual const char_type* | |
17798 | do_tolower(char_type* __lo, const char_type* __hi) const; | |
17799 | ||
17800 | virtual char_type | |
17801 | do_widen(char __c) const; | |
17802 | ||
17803 | virtual const char* | |
17804 | do_widen(const char* __lo, const char* __hi, char_type* __dest) const; | |
17805 | ||
17806 | virtual char | |
17807 | do_narrow(char_type, char __dfault) const; | |
17808 | ||
17809 | virtual const char_type* | |
17810 | do_narrow(const char_type* __lo, const char_type* __hi, | |
17811 | char __dfault, char* __dest) const; | |
17812 | }; | |
17813 | ||
17814 | template<typename _CharT> | |
17815 | locale::id ctype<_CharT>::id; | |
17816 | # 679 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17817 | template<> | |
17818 | class ctype<char> : public locale::facet, public ctype_base | |
17819 | { | |
17820 | public: | |
17821 | ||
17822 | ||
17823 | typedef char char_type; | |
17824 | ||
17825 | protected: | |
17826 | ||
17827 | __c_locale _M_c_locale_ctype; | |
17828 | bool _M_del; | |
17829 | __to_type _M_toupper; | |
17830 | __to_type _M_tolower; | |
17831 | const mask* _M_table; | |
17832 | mutable char _M_widen_ok; | |
17833 | mutable char _M_widen[1 + static_cast<unsigned char>(-1)]; | |
17834 | mutable char _M_narrow[1 + static_cast<unsigned char>(-1)]; | |
17835 | mutable char _M_narrow_ok; | |
17836 | ||
17837 | ||
17838 | public: | |
17839 | ||
17840 | static locale::id id; | |
17841 | ||
17842 | static const size_t table_size = 1 + static_cast<unsigned char>(-1); | |
17843 | # 716 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17844 | explicit | |
17845 | ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); | |
17846 | # 729 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17847 | explicit | |
17848 | ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, | |
17849 | size_t __refs = 0); | |
17850 | # 742 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17851 | inline bool | |
17852 | is(mask __m, char __c) const; | |
17853 | # 757 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17854 | inline const char* | |
17855 | is(const char* __lo, const char* __hi, mask* __vec) const; | |
17856 | # 771 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17857 | inline const char* | |
17858 | scan_is(mask __m, const char* __lo, const char* __hi) const; | |
17859 | # 785 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17860 | inline const char* | |
17861 | scan_not(mask __m, const char* __lo, const char* __hi) const; | |
17862 | # 800 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17863 | char_type | |
17864 | toupper(char_type __c) const | |
17865 | { return this->do_toupper(__c); } | |
17866 | # 817 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17867 | const char_type* | |
17868 | toupper(char_type *__lo, const char_type* __hi) const | |
17869 | { return this->do_toupper(__lo, __hi); } | |
17870 | # 833 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17871 | char_type | |
17872 | tolower(char_type __c) const | |
17873 | { return this->do_tolower(__c); } | |
17874 | # 850 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17875 | const char_type* | |
17876 | tolower(char_type* __lo, const char_type* __hi) const | |
17877 | { return this->do_tolower(__lo, __hi); } | |
17878 | # 870 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17879 | char_type | |
17880 | widen(char __c) const | |
17881 | { | |
17882 | if (_M_widen_ok) | |
17883 | return _M_widen[static_cast<unsigned char>(__c)]; | |
17884 | this->_M_widen_init(); | |
17885 | return this->do_widen(__c); | |
17886 | } | |
17887 | # 897 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17888 | const char* | |
17889 | widen(const char* __lo, const char* __hi, char_type* __to) const | |
17890 | { | |
17891 | if (_M_widen_ok == 1) | |
17892 | { | |
17893 | __builtin_memcpy(__to, __lo, __hi - __lo); | |
17894 | return __hi; | |
17895 | } | |
17896 | if (!_M_widen_ok) | |
17897 | _M_widen_init(); | |
17898 | return this->do_widen(__lo, __hi, __to); | |
17899 | } | |
17900 | # 928 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17901 | char | |
17902 | narrow(char_type __c, char __dfault) const | |
17903 | { | |
17904 | if (_M_narrow[static_cast<unsigned char>(__c)]) | |
17905 | return _M_narrow[static_cast<unsigned char>(__c)]; | |
17906 | const char __t = do_narrow(__c, __dfault); | |
17907 | if (__t != __dfault) | |
17908 | _M_narrow[static_cast<unsigned char>(__c)] = __t; | |
17909 | return __t; | |
17910 | } | |
17911 | # 961 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17912 | const char_type* | |
17913 | narrow(const char_type* __lo, const char_type* __hi, | |
17914 | char __dfault, char *__to) const | |
17915 | { | |
17916 | if (__builtin_expect(_M_narrow_ok == 1, true)) | |
17917 | { | |
17918 | __builtin_memcpy(__to, __lo, __hi - __lo); | |
17919 | return __hi; | |
17920 | } | |
17921 | if (!_M_narrow_ok) | |
17922 | _M_narrow_init(); | |
17923 | return this->do_narrow(__lo, __hi, __dfault, __to); | |
17924 | } | |
17925 | ||
17926 | ||
17927 | ||
17928 | ||
17929 | ||
17930 | const mask* | |
17931 | table() const throw() | |
17932 | { return _M_table; } | |
17933 | ||
17934 | ||
17935 | static const mask* | |
17936 | classic_table() throw(); | |
17937 | protected: | |
17938 | ||
17939 | ||
17940 | ||
17941 | ||
17942 | ||
17943 | ||
17944 | ||
17945 | virtual | |
17946 | ~ctype(); | |
17947 | # 1010 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17948 | virtual char_type | |
17949 | do_toupper(char_type) const; | |
17950 | # 1027 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17951 | virtual const char_type* | |
17952 | do_toupper(char_type* __lo, const char_type* __hi) const; | |
17953 | # 1043 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17954 | virtual char_type | |
17955 | do_tolower(char_type) const; | |
17956 | # 1060 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17957 | virtual const char_type* | |
17958 | do_tolower(char_type* __lo, const char_type* __hi) const; | |
17959 | # 1080 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17960 | virtual char_type | |
17961 | do_widen(char __c) const | |
17962 | { return __c; } | |
17963 | # 1103 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17964 | virtual const char* | |
17965 | do_widen(const char* __lo, const char* __hi, char_type* __dest) const | |
17966 | { | |
17967 | __builtin_memcpy(__dest, __lo, __hi - __lo); | |
17968 | return __hi; | |
17969 | } | |
17970 | # 1129 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17971 | virtual char | |
17972 | do_narrow(char_type __c, char) const | |
17973 | { return __c; } | |
17974 | # 1155 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
17975 | virtual const char_type* | |
17976 | do_narrow(const char_type* __lo, const char_type* __hi, | |
17977 | char, char* __dest) const | |
17978 | { | |
17979 | __builtin_memcpy(__dest, __lo, __hi - __lo); | |
17980 | return __hi; | |
17981 | } | |
17982 | ||
17983 | private: | |
17984 | ||
17985 | void _M_widen_init() const | |
17986 | { | |
17987 | char __tmp[sizeof(_M_widen)]; | |
17988 | for (size_t __i = 0; __i < sizeof(_M_widen); ++__i) | |
17989 | __tmp[__i] = __i; | |
17990 | do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen); | |
17991 | ||
17992 | _M_widen_ok = 1; | |
17993 | ||
17994 | if (__builtin_memcmp(__tmp, _M_widen, sizeof(_M_widen))) | |
17995 | _M_widen_ok = 2; | |
17996 | } | |
17997 | ||
17998 | ||
17999 | ||
18000 | ||
18001 | void _M_narrow_init() const | |
18002 | { | |
18003 | char __tmp[sizeof(_M_narrow)]; | |
18004 | for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i) | |
18005 | __tmp[__i] = __i; | |
18006 | do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow); | |
18007 | ||
18008 | _M_narrow_ok = 1; | |
18009 | if (__builtin_memcmp(__tmp, _M_narrow, sizeof(_M_narrow))) | |
18010 | _M_narrow_ok = 2; | |
18011 | else | |
18012 | { | |
18013 | ||
18014 | ||
18015 | char __c; | |
18016 | do_narrow(__tmp, __tmp + 1, 1, &__c); | |
18017 | if (__c == 1) | |
18018 | _M_narrow_ok = 2; | |
18019 | } | |
18020 | } | |
18021 | }; | |
18022 | ||
18023 | template<> | |
18024 | const ctype<char>& | |
18025 | use_facet<ctype<char> >(const locale& __loc); | |
18026 | # 1515 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18027 | template<typename _CharT> | |
18028 | class ctype_byname : public ctype<_CharT> | |
18029 | { | |
18030 | public: | |
18031 | typedef typename ctype<_CharT>::mask mask; | |
18032 | ||
18033 | explicit | |
18034 | ctype_byname(const char* __s, size_t __refs = 0); | |
18035 | ||
18036 | protected: | |
18037 | virtual | |
18038 | ~ctype_byname() { }; | |
18039 | }; | |
18040 | ||
18041 | ||
18042 | template<> | |
18043 | class ctype_byname<char> : public ctype<char> | |
18044 | { | |
18045 | public: | |
18046 | explicit | |
18047 | ctype_byname(const char* __s, size_t __refs = 0); | |
18048 | ||
18049 | protected: | |
18050 | virtual | |
18051 | ~ctype_byname(); | |
18052 | }; | |
18053 | # 1556 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18054 | } | |
18055 | ||
18056 | ||
18057 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/ctype_inline.h" 1 3 | |
18058 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bfin-linux-uclibc/bits/ctype_inline.h" 3 | |
18059 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
18060 | ||
18061 | bool | |
18062 | ctype<char>:: | |
18063 | is(mask __m, char __c) const | |
18064 | { return _M_table[static_cast<unsigned char>(__c)] & __m; } | |
18065 | ||
18066 | const char* | |
18067 | ctype<char>:: | |
18068 | is(const char* __low, const char* __high, mask* __vec) const | |
18069 | { | |
18070 | while (__low < __high) | |
18071 | *__vec++ = _M_table[static_cast<unsigned char>(*__low++)]; | |
18072 | return __high; | |
18073 | } | |
18074 | ||
18075 | const char* | |
18076 | ctype<char>:: | |
18077 | scan_is(mask __m, const char* __low, const char* __high) const | |
18078 | { | |
18079 | while (__low < __high | |
18080 | && !(_M_table[static_cast<unsigned char>(*__low)] & __m)) | |
18081 | ++__low; | |
18082 | return __low; | |
18083 | } | |
18084 | ||
18085 | const char* | |
18086 | ctype<char>:: | |
18087 | scan_not(mask __m, const char* __low, const char* __high) const | |
18088 | { | |
18089 | while (__low < __high | |
18090 | && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0) | |
18091 | ++__low; | |
18092 | return __low; | |
18093 | } | |
18094 | ||
18095 | } | |
18096 | # 1560 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 2 3 | |
18097 | ||
18098 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
18099 | ||
18100 | ||
18101 | class __num_base | |
18102 | { | |
18103 | public: | |
18104 | ||
18105 | ||
18106 | enum | |
18107 | { | |
18108 | _S_ominus, | |
18109 | _S_oplus, | |
18110 | _S_ox, | |
18111 | _S_oX, | |
18112 | _S_odigits, | |
18113 | _S_odigits_end = _S_odigits + 16, | |
18114 | _S_oudigits = _S_odigits_end, | |
18115 | _S_oudigits_end = _S_oudigits + 16, | |
18116 | _S_oe = _S_odigits + 14, | |
18117 | _S_oE = _S_oudigits + 14, | |
18118 | _S_oend = _S_oudigits_end | |
18119 | }; | |
18120 | ||
18121 | ||
18122 | ||
18123 | ||
18124 | ||
18125 | ||
18126 | static const char* _S_atoms_out; | |
18127 | ||
18128 | ||
18129 | ||
18130 | static const char* _S_atoms_in; | |
18131 | ||
18132 | enum | |
18133 | { | |
18134 | _S_iminus, | |
18135 | _S_iplus, | |
18136 | _S_ix, | |
18137 | _S_iX, | |
18138 | _S_izero, | |
18139 | _S_ie = _S_izero + 14, | |
18140 | _S_iE = _S_izero + 20, | |
18141 | _S_iend = 26 | |
18142 | }; | |
18143 | ||
18144 | ||
18145 | ||
18146 | static void | |
18147 | _S_format_float(const ios_base& __io, char* __fptr, char __mod); | |
18148 | }; | |
18149 | ||
18150 | template<typename _CharT> | |
18151 | struct __numpunct_cache : public locale::facet | |
18152 | { | |
18153 | const char* _M_grouping; | |
18154 | size_t _M_grouping_size; | |
18155 | bool _M_use_grouping; | |
18156 | const _CharT* _M_truename; | |
18157 | size_t _M_truename_size; | |
18158 | const _CharT* _M_falsename; | |
18159 | size_t _M_falsename_size; | |
18160 | _CharT _M_decimal_point; | |
18161 | _CharT _M_thousands_sep; | |
18162 | ||
18163 | ||
18164 | ||
18165 | ||
18166 | ||
18167 | _CharT _M_atoms_out[__num_base::_S_oend]; | |
18168 | ||
18169 | ||
18170 | ||
18171 | ||
18172 | ||
18173 | _CharT _M_atoms_in[__num_base::_S_iend]; | |
18174 | ||
18175 | bool _M_allocated; | |
18176 | ||
18177 | __numpunct_cache(size_t __refs = 0) : facet(__refs), | |
18178 | _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false), | |
18179 | _M_truename(__null), _M_truename_size(0), _M_falsename(__null), | |
18180 | _M_falsename_size(0), _M_decimal_point(_CharT()), | |
18181 | _M_thousands_sep(_CharT()), _M_allocated(false) | |
18182 | { } | |
18183 | ||
18184 | ~__numpunct_cache(); | |
18185 | ||
18186 | void | |
18187 | _M_cache(const locale& __loc); | |
18188 | ||
18189 | private: | |
18190 | __numpunct_cache& | |
18191 | operator=(const __numpunct_cache&); | |
18192 | ||
18193 | explicit | |
18194 | __numpunct_cache(const __numpunct_cache&); | |
18195 | }; | |
18196 | ||
18197 | template<typename _CharT> | |
18198 | __numpunct_cache<_CharT>::~__numpunct_cache() | |
18199 | { | |
18200 | if (_M_allocated) | |
18201 | { | |
18202 | delete [] _M_grouping; | |
18203 | delete [] _M_truename; | |
18204 | delete [] _M_falsename; | |
18205 | } | |
18206 | } | |
18207 | # 1684 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18208 | template<typename _CharT> | |
18209 | class numpunct : public locale::facet | |
18210 | { | |
18211 | public: | |
18212 | ||
18213 | ||
18214 | ||
18215 | typedef _CharT char_type; | |
18216 | typedef basic_string<_CharT> string_type; | |
18217 | ||
18218 | typedef __numpunct_cache<_CharT> __cache_type; | |
18219 | ||
18220 | protected: | |
18221 | __cache_type* _M_data; | |
18222 | ||
18223 | public: | |
18224 | ||
18225 | static locale::id id; | |
18226 | ||
18227 | ||
18228 | ||
18229 | ||
18230 | ||
18231 | ||
18232 | explicit | |
18233 | numpunct(size_t __refs = 0) : facet(__refs), _M_data(__null) | |
18234 | { _M_initialize_numpunct(); } | |
18235 | # 1721 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18236 | explicit | |
18237 | numpunct(__cache_type* __cache, size_t __refs = 0) | |
18238 | : facet(__refs), _M_data(__cache) | |
18239 | { _M_initialize_numpunct(); } | |
18240 | # 1735 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18241 | explicit | |
18242 | numpunct(__c_locale __cloc, size_t __refs = 0) | |
18243 | : facet(__refs), _M_data(__null) | |
18244 | { _M_initialize_numpunct(__cloc); } | |
18245 | # 1749 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18246 | char_type | |
18247 | decimal_point() const | |
18248 | { return this->do_decimal_point(); } | |
18249 | # 1762 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18250 | char_type | |
18251 | thousands_sep() const | |
18252 | { return this->do_thousands_sep(); } | |
18253 | # 1793 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18254 | string | |
18255 | grouping() const | |
18256 | { return this->do_grouping(); } | |
18257 | # 1806 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18258 | string_type | |
18259 | truename() const | |
18260 | { return this->do_truename(); } | |
18261 | # 1819 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18262 | string_type | |
18263 | falsename() const | |
18264 | { return this->do_falsename(); } | |
18265 | ||
18266 | protected: | |
18267 | ||
18268 | virtual | |
18269 | ~numpunct(); | |
18270 | # 1836 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18271 | virtual char_type | |
18272 | do_decimal_point() const | |
18273 | { return _M_data->_M_decimal_point; } | |
18274 | # 1848 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18275 | virtual char_type | |
18276 | do_thousands_sep() const | |
18277 | { return _M_data->_M_thousands_sep; } | |
18278 | # 1861 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18279 | virtual string | |
18280 | do_grouping() const | |
18281 | { return _M_data->_M_grouping; } | |
18282 | # 1874 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18283 | virtual string_type | |
18284 | do_truename() const | |
18285 | { return _M_data->_M_truename; } | |
18286 | # 1887 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18287 | virtual string_type | |
18288 | do_falsename() const | |
18289 | { return _M_data->_M_falsename; } | |
18290 | ||
18291 | ||
18292 | void | |
18293 | _M_initialize_numpunct(__c_locale __cloc = __null); | |
18294 | }; | |
18295 | ||
18296 | template<typename _CharT> | |
18297 | locale::id numpunct<_CharT>::id; | |
18298 | ||
18299 | template<> | |
18300 | numpunct<char>::~numpunct(); | |
18301 | ||
18302 | template<> | |
18303 | void | |
18304 | numpunct<char>::_M_initialize_numpunct(__c_locale __cloc); | |
18305 | # 1916 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18306 | template<typename _CharT> | |
18307 | class numpunct_byname : public numpunct<_CharT> | |
18308 | { | |
18309 | public: | |
18310 | typedef _CharT char_type; | |
18311 | typedef basic_string<_CharT> string_type; | |
18312 | ||
18313 | explicit | |
18314 | numpunct_byname(const char* __s, size_t __refs = 0) | |
18315 | : numpunct<_CharT>(__refs) | |
18316 | { | |
18317 | if (__builtin_strcmp(__s, "C") != 0 | |
18318 | && __builtin_strcmp(__s, "POSIX") != 0) | |
18319 | { | |
18320 | __c_locale __tmp; | |
18321 | this->_S_create_c_locale(__tmp, __s); | |
18322 | this->_M_initialize_numpunct(__tmp); | |
18323 | this->_S_destroy_c_locale(__tmp); | |
18324 | } | |
18325 | } | |
18326 | ||
18327 | protected: | |
18328 | virtual | |
18329 | ~numpunct_byname() { } | |
18330 | }; | |
18331 | ||
18332 | ||
18333 | # 1956 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18334 | template<typename _CharT, typename _InIter> | |
18335 | class num_get : public locale::facet | |
18336 | { | |
18337 | public: | |
18338 | ||
18339 | ||
18340 | ||
18341 | typedef _CharT char_type; | |
18342 | typedef _InIter iter_type; | |
18343 | ||
18344 | ||
18345 | ||
18346 | static locale::id id; | |
18347 | # 1977 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18348 | explicit | |
18349 | num_get(size_t __refs = 0) : facet(__refs) { } | |
18350 | # 2003 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18351 | iter_type | |
18352 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18353 | ios_base::iostate& __err, bool& __v) const | |
18354 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18355 | # 2039 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18356 | iter_type | |
18357 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18358 | ios_base::iostate& __err, long& __v) const | |
18359 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18360 | ||
18361 | iter_type | |
18362 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18363 | ios_base::iostate& __err, unsigned short& __v) const | |
18364 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18365 | ||
18366 | iter_type | |
18367 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18368 | ios_base::iostate& __err, unsigned int& __v) const | |
18369 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18370 | ||
18371 | iter_type | |
18372 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18373 | ios_base::iostate& __err, unsigned long& __v) const | |
18374 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18375 | ||
18376 | ||
18377 | iter_type | |
18378 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18379 | ios_base::iostate& __err, long long& __v) const | |
18380 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18381 | ||
18382 | iter_type | |
18383 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18384 | ios_base::iostate& __err, unsigned long long& __v) const | |
18385 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18386 | # 2098 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18387 | iter_type | |
18388 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18389 | ios_base::iostate& __err, float& __v) const | |
18390 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18391 | ||
18392 | iter_type | |
18393 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18394 | ios_base::iostate& __err, double& __v) const | |
18395 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18396 | ||
18397 | iter_type | |
18398 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18399 | ios_base::iostate& __err, long double& __v) const | |
18400 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18401 | # 2140 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18402 | iter_type | |
18403 | get(iter_type __in, iter_type __end, ios_base& __io, | |
18404 | ios_base::iostate& __err, void*& __v) const | |
18405 | { return this->do_get(__in, __end, __io, __err, __v); } | |
18406 | ||
18407 | protected: | |
18408 | ||
18409 | virtual ~num_get() { } | |
18410 | ||
18411 | iter_type | |
18412 | _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, | |
18413 | string& __xtrc) const; | |
18414 | ||
18415 | template<typename _ValueT> | |
18416 | iter_type | |
18417 | _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, | |
18418 | _ValueT& __v) const; | |
18419 | ||
18420 | template<typename _CharT2> | |
18421 | typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type | |
18422 | _M_find(const _CharT2*, size_t __len, _CharT2 __c) const | |
18423 | { | |
18424 | int __ret = -1; | |
18425 | if (__len <= 10) | |
18426 | { | |
18427 | if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) | |
18428 | __ret = __c - _CharT2('0'); | |
18429 | } | |
18430 | else | |
18431 | { | |
18432 | if (__c >= _CharT2('0') && __c <= _CharT2('9')) | |
18433 | __ret = __c - _CharT2('0'); | |
18434 | else if (__c >= _CharT2('a') && __c <= _CharT2('f')) | |
18435 | __ret = 10 + (__c - _CharT2('a')); | |
18436 | else if (__c >= _CharT2('A') && __c <= _CharT2('F')) | |
18437 | __ret = 10 + (__c - _CharT2('A')); | |
18438 | } | |
18439 | return __ret; | |
18440 | } | |
18441 | ||
18442 | template<typename _CharT2> | |
18443 | typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value, | |
18444 | int>::__type | |
18445 | _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const | |
18446 | { | |
18447 | int __ret = -1; | |
18448 | const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); | |
18449 | if (__q) | |
18450 | { | |
18451 | __ret = __q - __zero; | |
18452 | if (__ret > 15) | |
18453 | __ret -= 6; | |
18454 | } | |
18455 | return __ret; | |
18456 | } | |
18457 | # 2211 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18458 | virtual iter_type | |
18459 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; | |
18460 | ||
18461 | ||
18462 | virtual iter_type | |
18463 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, long&) const; | |
18464 | ||
18465 | virtual iter_type | |
18466 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18467 | unsigned short&) const; | |
18468 | ||
18469 | virtual iter_type | |
18470 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18471 | unsigned int&) const; | |
18472 | ||
18473 | virtual iter_type | |
18474 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18475 | unsigned long&) const; | |
18476 | ||
18477 | ||
18478 | virtual iter_type | |
18479 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18480 | long long&) const; | |
18481 | ||
18482 | virtual iter_type | |
18483 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18484 | unsigned long long&) const; | |
18485 | ||
18486 | ||
18487 | virtual iter_type | |
18488 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18489 | float&) const; | |
18490 | ||
18491 | virtual iter_type | |
18492 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18493 | double&) const; | |
18494 | ||
18495 | ||
18496 | ||
18497 | ||
18498 | ||
18499 | ||
18500 | ||
18501 | virtual iter_type | |
18502 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18503 | long double&) const; | |
18504 | ||
18505 | ||
18506 | virtual iter_type | |
18507 | do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, | |
18508 | void*&) const; | |
18509 | # 2270 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18510 | }; | |
18511 | ||
18512 | template<typename _CharT, typename _InIter> | |
18513 | locale::id num_get<_CharT, _InIter>::id; | |
18514 | # 2287 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18515 | template<typename _CharT, typename _OutIter> | |
18516 | class num_put : public locale::facet | |
18517 | { | |
18518 | public: | |
18519 | ||
18520 | ||
18521 | ||
18522 | typedef _CharT char_type; | |
18523 | typedef _OutIter iter_type; | |
18524 | ||
18525 | ||
18526 | ||
18527 | static locale::id id; | |
18528 | # 2308 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18529 | explicit | |
18530 | num_put(size_t __refs = 0) : facet(__refs) { } | |
18531 | # 2326 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18532 | iter_type | |
18533 | put(iter_type __s, ios_base& __f, char_type __fill, bool __v) const | |
18534 | { return this->do_put(__s, __f, __fill, __v); } | |
18535 | # 2368 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18536 | iter_type | |
18537 | put(iter_type __s, ios_base& __f, char_type __fill, long __v) const | |
18538 | { return this->do_put(__s, __f, __fill, __v); } | |
18539 | ||
18540 | iter_type | |
18541 | put(iter_type __s, ios_base& __f, char_type __fill, | |
18542 | unsigned long __v) const | |
18543 | { return this->do_put(__s, __f, __fill, __v); } | |
18544 | ||
18545 | ||
18546 | iter_type | |
18547 | put(iter_type __s, ios_base& __f, char_type __fill, long long __v) const | |
18548 | { return this->do_put(__s, __f, __fill, __v); } | |
18549 | ||
18550 | iter_type | |
18551 | put(iter_type __s, ios_base& __f, char_type __fill, | |
18552 | unsigned long long __v) const | |
18553 | { return this->do_put(__s, __f, __fill, __v); } | |
18554 | # 2431 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18555 | iter_type | |
18556 | put(iter_type __s, ios_base& __f, char_type __fill, double __v) const | |
18557 | { return this->do_put(__s, __f, __fill, __v); } | |
18558 | ||
18559 | iter_type | |
18560 | put(iter_type __s, ios_base& __f, char_type __fill, | |
18561 | long double __v) const | |
18562 | { return this->do_put(__s, __f, __fill, __v); } | |
18563 | # 2456 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18564 | iter_type | |
18565 | put(iter_type __s, ios_base& __f, char_type __fill, | |
18566 | const void* __v) const | |
18567 | { return this->do_put(__s, __f, __fill, __v); } | |
18568 | ||
18569 | protected: | |
18570 | template<typename _ValueT> | |
18571 | iter_type | |
18572 | _M_insert_float(iter_type, ios_base& __io, char_type __fill, | |
18573 | char __mod, _ValueT __v) const; | |
18574 | ||
18575 | void | |
18576 | _M_group_float(const char* __grouping, size_t __grouping_size, | |
18577 | char_type __sep, const char_type* __p, char_type* __new, | |
18578 | char_type* __cs, int& __len) const; | |
18579 | ||
18580 | template<typename _ValueT> | |
18581 | iter_type | |
18582 | _M_insert_int(iter_type, ios_base& __io, char_type __fill, | |
18583 | _ValueT __v) const; | |
18584 | ||
18585 | void | |
18586 | _M_group_int(const char* __grouping, size_t __grouping_size, | |
18587 | char_type __sep, ios_base& __io, char_type* __new, | |
18588 | char_type* __cs, int& __len) const; | |
18589 | ||
18590 | void | |
18591 | _M_pad(char_type __fill, streamsize __w, ios_base& __io, | |
18592 | char_type* __new, const char_type* __cs, int& __len) const; | |
18593 | ||
18594 | ||
18595 | virtual | |
18596 | ~num_put() { }; | |
18597 | # 2504 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 3 | |
18598 | virtual iter_type | |
18599 | do_put(iter_type, ios_base&, char_type __fill, bool __v) const; | |
18600 | ||
18601 | virtual iter_type | |
18602 | do_put(iter_type, ios_base&, char_type __fill, long __v) const; | |
18603 | ||
18604 | virtual iter_type | |
18605 | do_put(iter_type, ios_base&, char_type __fill, unsigned long) const; | |
18606 | ||
18607 | ||
18608 | virtual iter_type | |
18609 | do_put(iter_type, ios_base&, char_type __fill, long long __v) const; | |
18610 | ||
18611 | virtual iter_type | |
18612 | do_put(iter_type, ios_base&, char_type __fill, unsigned long long) const; | |
18613 | ||
18614 | ||
18615 | virtual iter_type | |
18616 | do_put(iter_type, ios_base&, char_type __fill, double __v) const; | |
18617 | ||
18618 | ||
18619 | ||
18620 | ||
18621 | ||
18622 | ||
18623 | virtual iter_type | |
18624 | do_put(iter_type, ios_base&, char_type __fill, long double __v) const; | |
18625 | ||
18626 | ||
18627 | virtual iter_type | |
18628 | do_put(iter_type, ios_base&, char_type __fill, const void* __v) const; | |
18629 | ||
18630 | ||
18631 | ||
18632 | ||
18633 | ||
18634 | ||
18635 | ||
18636 | }; | |
18637 | ||
18638 | template <typename _CharT, typename _OutIter> | |
18639 | locale::id num_put<_CharT, _OutIter>::id; | |
18640 | ||
18641 | ||
18642 | ||
18643 | ||
18644 | ||
18645 | ||
18646 | ||
18647 | ||
18648 | ||
18649 | template<typename _CharT> | |
18650 | inline bool | |
18651 | isspace(_CharT __c, const locale& __loc) | |
18652 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); } | |
18653 | ||
18654 | ||
18655 | template<typename _CharT> | |
18656 | inline bool | |
18657 | isprint(_CharT __c, const locale& __loc) | |
18658 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); } | |
18659 | ||
18660 | ||
18661 | template<typename _CharT> | |
18662 | inline bool | |
18663 | iscntrl(_CharT __c, const locale& __loc) | |
18664 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); } | |
18665 | ||
18666 | ||
18667 | template<typename _CharT> | |
18668 | inline bool | |
18669 | isupper(_CharT __c, const locale& __loc) | |
18670 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); } | |
18671 | ||
18672 | ||
18673 | template<typename _CharT> | |
18674 | inline bool | |
18675 | islower(_CharT __c, const locale& __loc) | |
18676 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); } | |
18677 | ||
18678 | ||
18679 | template<typename _CharT> | |
18680 | inline bool | |
18681 | isalpha(_CharT __c, const locale& __loc) | |
18682 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); } | |
18683 | ||
18684 | ||
18685 | template<typename _CharT> | |
18686 | inline bool | |
18687 | isdigit(_CharT __c, const locale& __loc) | |
18688 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); } | |
18689 | ||
18690 | ||
18691 | template<typename _CharT> | |
18692 | inline bool | |
18693 | ispunct(_CharT __c, const locale& __loc) | |
18694 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); } | |
18695 | ||
18696 | ||
18697 | template<typename _CharT> | |
18698 | inline bool | |
18699 | isxdigit(_CharT __c, const locale& __loc) | |
18700 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); } | |
18701 | ||
18702 | ||
18703 | template<typename _CharT> | |
18704 | inline bool | |
18705 | isalnum(_CharT __c, const locale& __loc) | |
18706 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); } | |
18707 | ||
18708 | ||
18709 | template<typename _CharT> | |
18710 | inline bool | |
18711 | isgraph(_CharT __c, const locale& __loc) | |
18712 | { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); } | |
18713 | ||
18714 | ||
18715 | template<typename _CharT> | |
18716 | inline _CharT | |
18717 | toupper(_CharT __c, const locale& __loc) | |
18718 | { return use_facet<ctype<_CharT> >(__loc).toupper(__c); } | |
18719 | ||
18720 | ||
18721 | template<typename _CharT> | |
18722 | inline _CharT | |
18723 | tolower(_CharT __c, const locale& __loc) | |
18724 | { return use_facet<ctype<_CharT> >(__loc).tolower(__c); } | |
18725 | ||
18726 | } | |
18727 | ||
18728 | ||
18729 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 1 3 | |
18730 | # 38 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
18731 | #define _LOCALE_FACETS_TCC 1 | |
18732 | ||
18733 | ||
18734 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
18735 | ||
18736 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
18737 | ||
18738 | ||
18739 | ||
18740 | template<typename _Facet> | |
18741 | struct __use_cache | |
18742 | { | |
18743 | const _Facet* | |
18744 | operator() (const locale& __loc) const; | |
18745 | }; | |
18746 | ||
18747 | ||
18748 | template<typename _CharT> | |
18749 | struct __use_cache<__numpunct_cache<_CharT> > | |
18750 | { | |
18751 | const __numpunct_cache<_CharT>* | |
18752 | operator() (const locale& __loc) const | |
18753 | { | |
18754 | const size_t __i = numpunct<_CharT>::id._M_id(); | |
18755 | const locale::facet** __caches = __loc._M_impl->_M_caches; | |
18756 | if (!__caches[__i]) | |
18757 | { | |
18758 | __numpunct_cache<_CharT>* __tmp = __null; | |
18759 | try | |
18760 | { | |
18761 | __tmp = new __numpunct_cache<_CharT>; | |
18762 | __tmp->_M_cache(__loc); | |
18763 | } | |
18764 | catch(...) | |
18765 | { | |
18766 | delete __tmp; | |
18767 | throw; | |
18768 | } | |
18769 | __loc._M_impl->_M_install_cache(__tmp, __i); | |
18770 | } | |
18771 | return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]); | |
18772 | } | |
18773 | }; | |
18774 | ||
18775 | template<typename _CharT> | |
18776 | void | |
18777 | __numpunct_cache<_CharT>::_M_cache(const locale& __loc) | |
18778 | { | |
18779 | _M_allocated = true; | |
18780 | ||
18781 | const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); | |
18782 | ||
18783 | _M_grouping_size = __np.grouping().size(); | |
18784 | char* __grouping = new char[_M_grouping_size]; | |
18785 | __np.grouping().copy(__grouping, _M_grouping_size); | |
18786 | _M_grouping = __grouping; | |
18787 | _M_use_grouping = (_M_grouping_size | |
18788 | && static_cast<signed char>(__np.grouping()[0]) > 0); | |
18789 | ||
18790 | _M_truename_size = __np.truename().size(); | |
18791 | _CharT* __truename = new _CharT[_M_truename_size]; | |
18792 | __np.truename().copy(__truename, _M_truename_size); | |
18793 | _M_truename = __truename; | |
18794 | ||
18795 | _M_falsename_size = __np.falsename().size(); | |
18796 | _CharT* __falsename = new _CharT[_M_falsename_size]; | |
18797 | __np.falsename().copy(__falsename, _M_falsename_size); | |
18798 | _M_falsename = __falsename; | |
18799 | ||
18800 | _M_decimal_point = __np.decimal_point(); | |
18801 | _M_thousands_sep = __np.thousands_sep(); | |
18802 | ||
18803 | const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc); | |
18804 | __ct.widen(__num_base::_S_atoms_out, | |
18805 | __num_base::_S_atoms_out + __num_base::_S_oend, _M_atoms_out); | |
18806 | __ct.widen(__num_base::_S_atoms_in, | |
18807 | __num_base::_S_atoms_in + __num_base::_S_iend, _M_atoms_in); | |
18808 | } | |
18809 | # 124 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
18810 | bool | |
18811 | __verify_grouping(const char* __grouping, size_t __grouping_size, | |
18812 | const string& __grouping_tmp); | |
18813 | ||
18814 | ||
18815 | ||
18816 | template<typename _CharT, typename _InIter> | |
18817 | _InIter | |
18818 | num_get<_CharT, _InIter>:: | |
18819 | _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, | |
18820 | ios_base::iostate& __err, string& __xtrc) const | |
18821 | { | |
18822 | typedef char_traits<_CharT> __traits_type; | |
18823 | typedef __numpunct_cache<_CharT> __cache_type; | |
18824 | __use_cache<__cache_type> __uc; | |
18825 | const locale& __loc = __io._M_getloc(); | |
18826 | const __cache_type* __lc = __uc(__loc); | |
18827 | const _CharT* __lit = __lc->_M_atoms_in; | |
18828 | char_type __c = char_type(); | |
18829 | ||
18830 | ||
18831 | bool __testeof = __beg == __end; | |
18832 | ||
18833 | ||
18834 | if (!__testeof) | |
18835 | { | |
18836 | __c = *__beg; | |
18837 | const bool __plus = __c == __lit[__num_base::_S_iplus]; | |
18838 | if ((__plus || __c == __lit[__num_base::_S_iminus]) | |
18839 | && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) | |
18840 | && !(__c == __lc->_M_decimal_point)) | |
18841 | { | |
18842 | __xtrc += __plus ? '+' : '-'; | |
18843 | if (++__beg != __end) | |
18844 | __c = *__beg; | |
18845 | else | |
18846 | __testeof = true; | |
18847 | } | |
18848 | } | |
18849 | ||
18850 | ||
18851 | bool __found_mantissa = false; | |
18852 | int __sep_pos = 0; | |
18853 | while (!__testeof) | |
18854 | { | |
18855 | if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) | |
18856 | || __c == __lc->_M_decimal_point) | |
18857 | break; | |
18858 | else if (__c == __lit[__num_base::_S_izero]) | |
18859 | { | |
18860 | if (!__found_mantissa) | |
18861 | { | |
18862 | __xtrc += '0'; | |
18863 | __found_mantissa = true; | |
18864 | } | |
18865 | ++__sep_pos; | |
18866 | ||
18867 | if (++__beg != __end) | |
18868 | __c = *__beg; | |
18869 | else | |
18870 | __testeof = true; | |
18871 | } | |
18872 | else | |
18873 | break; | |
18874 | } | |
18875 | ||
18876 | ||
18877 | bool __found_dec = false; | |
18878 | bool __found_sci = false; | |
18879 | string __found_grouping; | |
18880 | if (__lc->_M_use_grouping) | |
18881 | __found_grouping.reserve(32); | |
18882 | const char_type* __lit_zero = __lit + __num_base::_S_izero; | |
18883 | ||
18884 | if (!__lc->_M_allocated) | |
18885 | ||
18886 | while (!__testeof) | |
18887 | { | |
18888 | const int __digit = _M_find(__lit_zero, 10, __c); | |
18889 | if (__digit != -1) | |
18890 | { | |
18891 | __xtrc += '0' + __digit; | |
18892 | __found_mantissa = true; | |
18893 | } | |
18894 | else if (__c == __lc->_M_decimal_point | |
18895 | && !__found_dec && !__found_sci) | |
18896 | { | |
18897 | __xtrc += '.'; | |
18898 | __found_dec = true; | |
18899 | } | |
18900 | else if ((__c == __lit[__num_base::_S_ie] | |
18901 | || __c == __lit[__num_base::_S_iE]) | |
18902 | && !__found_sci && __found_mantissa) | |
18903 | { | |
18904 | ||
18905 | __xtrc += 'e'; | |
18906 | __found_sci = true; | |
18907 | ||
18908 | ||
18909 | if (++__beg != __end) | |
18910 | { | |
18911 | __c = *__beg; | |
18912 | const bool __plus = __c == __lit[__num_base::_S_iplus]; | |
18913 | if (__plus || __c == __lit[__num_base::_S_iminus]) | |
18914 | __xtrc += __plus ? '+' : '-'; | |
18915 | else | |
18916 | continue; | |
18917 | } | |
18918 | else | |
18919 | { | |
18920 | __testeof = true; | |
18921 | break; | |
18922 | } | |
18923 | } | |
18924 | else | |
18925 | break; | |
18926 | ||
18927 | if (++__beg != __end) | |
18928 | __c = *__beg; | |
18929 | else | |
18930 | __testeof = true; | |
18931 | } | |
18932 | else | |
18933 | while (!__testeof) | |
18934 | { | |
18935 | ||
18936 | ||
18937 | if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) | |
18938 | { | |
18939 | if (!__found_dec && !__found_sci) | |
18940 | { | |
18941 | ||
18942 | ||
18943 | if (__sep_pos) | |
18944 | { | |
18945 | __found_grouping += static_cast<char>(__sep_pos); | |
18946 | __sep_pos = 0; | |
18947 | } | |
18948 | else | |
18949 | { | |
18950 | ||
18951 | ||
18952 | __xtrc.clear(); | |
18953 | break; | |
18954 | } | |
18955 | } | |
18956 | else | |
18957 | break; | |
18958 | } | |
18959 | else if (__c == __lc->_M_decimal_point) | |
18960 | { | |
18961 | if (!__found_dec && !__found_sci) | |
18962 | { | |
18963 | ||
18964 | ||
18965 | ||
18966 | if (__found_grouping.size()) | |
18967 | __found_grouping += static_cast<char>(__sep_pos); | |
18968 | __xtrc += '.'; | |
18969 | __found_dec = true; | |
18970 | } | |
18971 | else | |
18972 | break; | |
18973 | } | |
18974 | else | |
18975 | { | |
18976 | const char_type* __q = | |
18977 | __traits_type::find(__lit_zero, 10, __c); | |
18978 | if (__q) | |
18979 | { | |
18980 | __xtrc += '0' + (__q - __lit_zero); | |
18981 | __found_mantissa = true; | |
18982 | ++__sep_pos; | |
18983 | } | |
18984 | else if ((__c == __lit[__num_base::_S_ie] | |
18985 | || __c == __lit[__num_base::_S_iE]) | |
18986 | && !__found_sci && __found_mantissa) | |
18987 | { | |
18988 | ||
18989 | if (__found_grouping.size() && !__found_dec) | |
18990 | __found_grouping += static_cast<char>(__sep_pos); | |
18991 | __xtrc += 'e'; | |
18992 | __found_sci = true; | |
18993 | ||
18994 | ||
18995 | if (++__beg != __end) | |
18996 | { | |
18997 | __c = *__beg; | |
18998 | const bool __plus = __c == __lit[__num_base::_S_iplus]; | |
18999 | if ((__plus || __c == __lit[__num_base::_S_iminus]) | |
19000 | && !(__lc->_M_use_grouping | |
19001 | && __c == __lc->_M_thousands_sep) | |
19002 | && !(__c == __lc->_M_decimal_point)) | |
19003 | __xtrc += __plus ? '+' : '-'; | |
19004 | else | |
19005 | continue; | |
19006 | } | |
19007 | else | |
19008 | { | |
19009 | __testeof = true; | |
19010 | break; | |
19011 | } | |
19012 | } | |
19013 | else | |
19014 | break; | |
19015 | } | |
19016 | ||
19017 | if (++__beg != __end) | |
19018 | __c = *__beg; | |
19019 | else | |
19020 | __testeof = true; | |
19021 | } | |
19022 | ||
19023 | ||
19024 | ||
19025 | if (__found_grouping.size()) | |
19026 | { | |
19027 | ||
19028 | if (!__found_dec && !__found_sci) | |
19029 | __found_grouping += static_cast<char>(__sep_pos); | |
19030 | ||
19031 | if (!std::__verify_grouping(__lc->_M_grouping, | |
19032 | __lc->_M_grouping_size, | |
19033 | __found_grouping)) | |
19034 | __err |= ios_base::failbit; | |
19035 | } | |
19036 | ||
19037 | ||
19038 | if (__testeof) | |
19039 | __err |= ios_base::eofbit; | |
19040 | return __beg; | |
19041 | } | |
19042 | ||
19043 | template<typename _CharT, typename _InIter> | |
19044 | template<typename _ValueT> | |
19045 | _InIter | |
19046 | num_get<_CharT, _InIter>:: | |
19047 | _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, | |
19048 | ios_base::iostate& __err, _ValueT& __v) const | |
19049 | { | |
19050 | typedef char_traits<_CharT> __traits_type; | |
19051 | using __gnu_cxx::__add_unsigned; | |
19052 | typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; | |
19053 | typedef __numpunct_cache<_CharT> __cache_type; | |
19054 | __use_cache<__cache_type> __uc; | |
19055 | const locale& __loc = __io._M_getloc(); | |
19056 | const __cache_type* __lc = __uc(__loc); | |
19057 | const _CharT* __lit = __lc->_M_atoms_in; | |
19058 | char_type __c = char_type(); | |
19059 | ||
19060 | ||
19061 | const ios_base::fmtflags __basefield = __io.flags() | |
19062 | & ios_base::basefield; | |
19063 | const bool __oct = __basefield == ios_base::oct; | |
19064 | int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); | |
19065 | ||
19066 | ||
19067 | bool __testeof = __beg == __end; | |
19068 | ||
19069 | ||
19070 | bool __negative = false; | |
19071 | if (!__testeof) | |
19072 | { | |
19073 | __c = *__beg; | |
19074 | if (__gnu_cxx::__numeric_traits<_ValueT>::__is_signed) | |
19075 | __negative = __c == __lit[__num_base::_S_iminus]; | |
19076 | if ((__negative || __c == __lit[__num_base::_S_iplus]) | |
19077 | && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) | |
19078 | && !(__c == __lc->_M_decimal_point)) | |
19079 | { | |
19080 | if (++__beg != __end) | |
19081 | __c = *__beg; | |
19082 | else | |
19083 | __testeof = true; | |
19084 | } | |
19085 | } | |
19086 | ||
19087 | ||
19088 | ||
19089 | bool __found_zero = false; | |
19090 | int __sep_pos = 0; | |
19091 | while (!__testeof) | |
19092 | { | |
19093 | if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) | |
19094 | || __c == __lc->_M_decimal_point) | |
19095 | break; | |
19096 | else if (__c == __lit[__num_base::_S_izero] | |
19097 | && (!__found_zero || __base == 10)) | |
19098 | { | |
19099 | __found_zero = true; | |
19100 | ++__sep_pos; | |
19101 | if (__basefield == 0) | |
19102 | __base = 8; | |
19103 | if (__base == 8) | |
19104 | __sep_pos = 0; | |
19105 | } | |
19106 | else if (__found_zero | |
19107 | && (__c == __lit[__num_base::_S_ix] | |
19108 | || __c == __lit[__num_base::_S_iX])) | |
19109 | { | |
19110 | if (__basefield == 0) | |
19111 | __base = 16; | |
19112 | if (__base == 16) | |
19113 | { | |
19114 | __found_zero = false; | |
19115 | __sep_pos = 0; | |
19116 | } | |
19117 | else | |
19118 | break; | |
19119 | } | |
19120 | else | |
19121 | break; | |
19122 | ||
19123 | if (++__beg != __end) | |
19124 | { | |
19125 | __c = *__beg; | |
19126 | if (!__found_zero) | |
19127 | break; | |
19128 | } | |
19129 | else | |
19130 | __testeof = true; | |
19131 | } | |
19132 | ||
19133 | ||
19134 | ||
19135 | const size_t __len = (__base == 16 ? __num_base::_S_iend | |
19136 | - __num_base::_S_izero : __base); | |
19137 | ||
19138 | ||
19139 | string __found_grouping; | |
19140 | if (__lc->_M_use_grouping) | |
19141 | __found_grouping.reserve(32); | |
19142 | bool __testfail = false; | |
19143 | const __unsigned_type __max = __negative | |
19144 | ? -__gnu_cxx::__numeric_traits<_ValueT>::__min | |
19145 | : __gnu_cxx::__numeric_traits<_ValueT>::__max; | |
19146 | const __unsigned_type __smax = __max / __base; | |
19147 | __unsigned_type __result = 0; | |
19148 | int __digit = 0; | |
19149 | const char_type* __lit_zero = __lit + __num_base::_S_izero; | |
19150 | ||
19151 | if (!__lc->_M_allocated) | |
19152 | ||
19153 | while (!__testeof) | |
19154 | { | |
19155 | __digit = _M_find(__lit_zero, __len, __c); | |
19156 | if (__digit == -1) | |
19157 | break; | |
19158 | ||
19159 | if (__result > __smax) | |
19160 | __testfail = true; | |
19161 | else | |
19162 | { | |
19163 | __result *= __base; | |
19164 | __testfail |= __result > __max - __digit; | |
19165 | __result += __digit; | |
19166 | ++__sep_pos; | |
19167 | } | |
19168 | ||
19169 | if (++__beg != __end) | |
19170 | __c = *__beg; | |
19171 | else | |
19172 | __testeof = true; | |
19173 | } | |
19174 | else | |
19175 | while (!__testeof) | |
19176 | { | |
19177 | ||
19178 | ||
19179 | if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) | |
19180 | { | |
19181 | ||
19182 | ||
19183 | if (__sep_pos) | |
19184 | { | |
19185 | __found_grouping += static_cast<char>(__sep_pos); | |
19186 | __sep_pos = 0; | |
19187 | } | |
19188 | else | |
19189 | { | |
19190 | __testfail = true; | |
19191 | break; | |
19192 | } | |
19193 | } | |
19194 | else if (__c == __lc->_M_decimal_point) | |
19195 | break; | |
19196 | else | |
19197 | { | |
19198 | const char_type* __q = | |
19199 | __traits_type::find(__lit_zero, __len, __c); | |
19200 | if (!__q) | |
19201 | break; | |
19202 | ||
19203 | __digit = __q - __lit_zero; | |
19204 | if (__digit > 15) | |
19205 | __digit -= 6; | |
19206 | if (__result > __smax) | |
19207 | __testfail = true; | |
19208 | else | |
19209 | { | |
19210 | __result *= __base; | |
19211 | __testfail |= __result > __max - __digit; | |
19212 | __result += __digit; | |
19213 | ++__sep_pos; | |
19214 | } | |
19215 | } | |
19216 | ||
19217 | if (++__beg != __end) | |
19218 | __c = *__beg; | |
19219 | else | |
19220 | __testeof = true; | |
19221 | } | |
19222 | ||
19223 | ||
19224 | ||
19225 | if (__found_grouping.size()) | |
19226 | { | |
19227 | ||
19228 | __found_grouping += static_cast<char>(__sep_pos); | |
19229 | ||
19230 | if (!std::__verify_grouping(__lc->_M_grouping, | |
19231 | __lc->_M_grouping_size, | |
19232 | __found_grouping)) | |
19233 | __err |= ios_base::failbit; | |
19234 | } | |
19235 | ||
19236 | if (!__testfail && (__sep_pos || __found_zero | |
19237 | || __found_grouping.size())) | |
19238 | __v = __negative ? -__result : __result; | |
19239 | else | |
19240 | __err |= ios_base::failbit; | |
19241 | ||
19242 | if (__testeof) | |
19243 | __err |= ios_base::eofbit; | |
19244 | return __beg; | |
19245 | } | |
19246 | ||
19247 | ||
19248 | ||
19249 | template<typename _CharT, typename _InIter> | |
19250 | _InIter | |
19251 | num_get<_CharT, _InIter>:: | |
19252 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19253 | ios_base::iostate& __err, bool& __v) const | |
19254 | { | |
19255 | if (!(__io.flags() & ios_base::boolalpha)) | |
19256 | { | |
19257 | ||
19258 | ||
19259 | ||
19260 | long __l = -1; | |
19261 | __beg = _M_extract_int(__beg, __end, __io, __err, __l); | |
19262 | if (__l == 0 || __l == 1) | |
19263 | __v = bool(__l); | |
19264 | else | |
19265 | __err |= ios_base::failbit; | |
19266 | } | |
19267 | else | |
19268 | { | |
19269 | ||
19270 | typedef __numpunct_cache<_CharT> __cache_type; | |
19271 | __use_cache<__cache_type> __uc; | |
19272 | const locale& __loc = __io._M_getloc(); | |
19273 | const __cache_type* __lc = __uc(__loc); | |
19274 | ||
19275 | bool __testf = true; | |
19276 | bool __testt = true; | |
19277 | size_t __n; | |
19278 | bool __testeof = __beg == __end; | |
19279 | for (__n = 0; !__testeof; ++__n) | |
19280 | { | |
19281 | const char_type __c = *__beg; | |
19282 | ||
19283 | if (__testf) | |
19284 | { | |
19285 | if (__n < __lc->_M_falsename_size) | |
19286 | __testf = __c == __lc->_M_falsename[__n]; | |
19287 | else | |
19288 | break; | |
19289 | } | |
19290 | ||
19291 | if (__testt) | |
19292 | { | |
19293 | if (__n < __lc->_M_truename_size) | |
19294 | __testt = __c == __lc->_M_truename[__n]; | |
19295 | else | |
19296 | break; | |
19297 | } | |
19298 | ||
19299 | if (!__testf && !__testt) | |
19300 | break; | |
19301 | ||
19302 | if (++__beg == __end) | |
19303 | __testeof = true; | |
19304 | } | |
19305 | if (__testf && __n == __lc->_M_falsename_size) | |
19306 | __v = false; | |
19307 | else if (__testt && __n == __lc->_M_truename_size) | |
19308 | __v = true; | |
19309 | else | |
19310 | __err |= ios_base::failbit; | |
19311 | ||
19312 | if (__testeof) | |
19313 | __err |= ios_base::eofbit; | |
19314 | } | |
19315 | return __beg; | |
19316 | } | |
19317 | ||
19318 | template<typename _CharT, typename _InIter> | |
19319 | _InIter | |
19320 | num_get<_CharT, _InIter>:: | |
19321 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19322 | ios_base::iostate& __err, long& __v) const | |
19323 | { return _M_extract_int(__beg, __end, __io, __err, __v); } | |
19324 | ||
19325 | template<typename _CharT, typename _InIter> | |
19326 | _InIter | |
19327 | num_get<_CharT, _InIter>:: | |
19328 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19329 | ios_base::iostate& __err, unsigned short& __v) const | |
19330 | { return _M_extract_int(__beg, __end, __io, __err, __v); } | |
19331 | ||
19332 | template<typename _CharT, typename _InIter> | |
19333 | _InIter | |
19334 | num_get<_CharT, _InIter>:: | |
19335 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19336 | ios_base::iostate& __err, unsigned int& __v) const | |
19337 | { return _M_extract_int(__beg, __end, __io, __err, __v); } | |
19338 | ||
19339 | template<typename _CharT, typename _InIter> | |
19340 | _InIter | |
19341 | num_get<_CharT, _InIter>:: | |
19342 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19343 | ios_base::iostate& __err, unsigned long& __v) const | |
19344 | { return _M_extract_int(__beg, __end, __io, __err, __v); } | |
19345 | ||
19346 | ||
19347 | template<typename _CharT, typename _InIter> | |
19348 | _InIter | |
19349 | num_get<_CharT, _InIter>:: | |
19350 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19351 | ios_base::iostate& __err, long long& __v) const | |
19352 | { return _M_extract_int(__beg, __end, __io, __err, __v); } | |
19353 | ||
19354 | template<typename _CharT, typename _InIter> | |
19355 | _InIter | |
19356 | num_get<_CharT, _InIter>:: | |
19357 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19358 | ios_base::iostate& __err, unsigned long long& __v) const | |
19359 | { return _M_extract_int(__beg, __end, __io, __err, __v); } | |
19360 | ||
19361 | ||
19362 | template<typename _CharT, typename _InIter> | |
19363 | _InIter | |
19364 | num_get<_CharT, _InIter>:: | |
19365 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19366 | ios_base::iostate& __err, float& __v) const | |
19367 | { | |
19368 | string __xtrc; | |
19369 | __xtrc.reserve(32); | |
19370 | __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); | |
19371 | std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); | |
19372 | return __beg; | |
19373 | } | |
19374 | ||
19375 | template<typename _CharT, typename _InIter> | |
19376 | _InIter | |
19377 | num_get<_CharT, _InIter>:: | |
19378 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19379 | ios_base::iostate& __err, double& __v) const | |
19380 | { | |
19381 | string __xtrc; | |
19382 | __xtrc.reserve(32); | |
19383 | __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); | |
19384 | std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); | |
19385 | return __beg; | |
19386 | } | |
19387 | # 717 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
19388 | template<typename _CharT, typename _InIter> | |
19389 | _InIter | |
19390 | num_get<_CharT, _InIter>:: | |
19391 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19392 | ios_base::iostate& __err, long double& __v) const | |
19393 | { | |
19394 | string __xtrc; | |
19395 | __xtrc.reserve(32); | |
19396 | __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); | |
19397 | std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); | |
19398 | return __beg; | |
19399 | } | |
19400 | ||
19401 | template<typename _CharT, typename _InIter> | |
19402 | _InIter | |
19403 | num_get<_CharT, _InIter>:: | |
19404 | do_get(iter_type __beg, iter_type __end, ios_base& __io, | |
19405 | ios_base::iostate& __err, void*& __v) const | |
19406 | { | |
19407 | ||
19408 | typedef ios_base::fmtflags fmtflags; | |
19409 | const fmtflags __fmt = __io.flags(); | |
19410 | __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); | |
19411 | ||
19412 | typedef __gnu_cxx::__conditional_type<(sizeof(void*) | |
19413 | <= sizeof(unsigned long)), | |
19414 | unsigned long, unsigned long long>::__type _UIntPtrType; | |
19415 | ||
19416 | _UIntPtrType __ul; | |
19417 | __beg = _M_extract_int(__beg, __end, __io, __err, __ul); | |
19418 | ||
19419 | ||
19420 | __io.flags(__fmt); | |
19421 | ||
19422 | if (!(__err & ios_base::failbit)) | |
19423 | __v = reinterpret_cast<void*>(__ul); | |
19424 | return __beg; | |
19425 | } | |
19426 | ||
19427 | ||
19428 | ||
19429 | template<typename _CharT, typename _OutIter> | |
19430 | void | |
19431 | num_put<_CharT, _OutIter>:: | |
19432 | _M_pad(_CharT __fill, streamsize __w, ios_base& __io, | |
19433 | _CharT* __new, const _CharT* __cs, int& __len) const | |
19434 | { | |
19435 | ||
19436 | ||
19437 | __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, | |
19438 | __cs, __w, __len); | |
19439 | __len = static_cast<int>(__w); | |
19440 | } | |
19441 | ||
19442 | ||
19443 | ||
19444 | template<typename _CharT, typename _ValueT> | |
19445 | int | |
19446 | __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, | |
19447 | ios_base::fmtflags __flags, bool __dec) | |
19448 | { | |
19449 | _CharT* __buf = __bufend; | |
19450 | if (__builtin_expect(__dec, true)) | |
19451 | { | |
19452 | ||
19453 | do | |
19454 | { | |
19455 | *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; | |
19456 | __v /= 10; | |
19457 | } | |
19458 | while (__v != 0); | |
19459 | } | |
19460 | else if ((__flags & ios_base::basefield) == ios_base::oct) | |
19461 | { | |
19462 | ||
19463 | do | |
19464 | { | |
19465 | *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; | |
19466 | __v >>= 3; | |
19467 | } | |
19468 | while (__v != 0); | |
19469 | } | |
19470 | else | |
19471 | { | |
19472 | ||
19473 | const bool __uppercase = __flags & ios_base::uppercase; | |
19474 | const int __case_offset = __uppercase ? __num_base::_S_oudigits | |
19475 | : __num_base::_S_odigits; | |
19476 | do | |
19477 | { | |
19478 | *--__buf = __lit[(__v & 0xf) + __case_offset]; | |
19479 | __v >>= 4; | |
19480 | } | |
19481 | while (__v != 0); | |
19482 | } | |
19483 | return __bufend - __buf; | |
19484 | } | |
19485 | ||
19486 | ||
19487 | ||
19488 | template<typename _CharT, typename _OutIter> | |
19489 | void | |
19490 | num_put<_CharT, _OutIter>:: | |
19491 | _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, | |
19492 | ios_base&, _CharT* __new, _CharT* __cs, int& __len) const | |
19493 | { | |
19494 | _CharT* __p = std::__add_grouping(__new, __sep, __grouping, | |
19495 | __grouping_size, __cs, __cs + __len); | |
19496 | __len = __p - __new; | |
19497 | } | |
19498 | ||
19499 | template<typename _CharT, typename _OutIter> | |
19500 | template<typename _ValueT> | |
19501 | _OutIter | |
19502 | num_put<_CharT, _OutIter>:: | |
19503 | _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, | |
19504 | _ValueT __v) const | |
19505 | { | |
19506 | using __gnu_cxx::__add_unsigned; | |
19507 | typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; | |
19508 | typedef __numpunct_cache<_CharT> __cache_type; | |
19509 | __use_cache<__cache_type> __uc; | |
19510 | const locale& __loc = __io._M_getloc(); | |
19511 | const __cache_type* __lc = __uc(__loc); | |
19512 | const _CharT* __lit = __lc->_M_atoms_out; | |
19513 | const ios_base::fmtflags __flags = __io.flags(); | |
19514 | ||
19515 | ||
19516 | const int __ilen = 5 * sizeof(_ValueT); | |
19517 | _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) | |
19518 | * __ilen)); | |
19519 | ||
19520 | ||
19521 | ||
19522 | const ios_base::fmtflags __basefield = __flags & ios_base::basefield; | |
19523 | const bool __dec = (__basefield != ios_base::oct | |
19524 | && __basefield != ios_base::hex); | |
19525 | const __unsigned_type __u = ((__v > 0 || !__dec) | |
19526 | ? __unsigned_type(__v) | |
19527 | : -__unsigned_type(__v)); | |
19528 | int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); | |
19529 | __cs += __ilen - __len; | |
19530 | ||
19531 | ||
19532 | if (__lc->_M_use_grouping) | |
19533 | { | |
19534 | ||
19535 | ||
19536 | _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) | |
19537 | * (__len + 1) | |
19538 | * 2)); | |
19539 | _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, | |
19540 | __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); | |
19541 | __cs = __cs2 + 2; | |
19542 | } | |
19543 | ||
19544 | ||
19545 | if (__builtin_expect(__dec, true)) | |
19546 | { | |
19547 | ||
19548 | if (__v >= 0) | |
19549 | { | |
19550 | if (bool(__flags & ios_base::showpos) | |
19551 | && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) | |
19552 | *--__cs = __lit[__num_base::_S_oplus], ++__len; | |
19553 | } | |
19554 | else | |
19555 | *--__cs = __lit[__num_base::_S_ominus], ++__len; | |
19556 | } | |
19557 | else if (bool(__flags & ios_base::showbase) && __v) | |
19558 | { | |
19559 | if (__basefield == ios_base::oct) | |
19560 | *--__cs = __lit[__num_base::_S_odigits], ++__len; | |
19561 | else | |
19562 | { | |
19563 | ||
19564 | const bool __uppercase = __flags & ios_base::uppercase; | |
19565 | *--__cs = __lit[__num_base::_S_ox + __uppercase]; | |
19566 | ||
19567 | *--__cs = __lit[__num_base::_S_odigits]; | |
19568 | __len += 2; | |
19569 | } | |
19570 | } | |
19571 | ||
19572 | ||
19573 | const streamsize __w = __io.width(); | |
19574 | if (__w > static_cast<streamsize>(__len)) | |
19575 | { | |
19576 | _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) | |
19577 | * __w)); | |
19578 | _M_pad(__fill, __w, __io, __cs3, __cs, __len); | |
19579 | __cs = __cs3; | |
19580 | } | |
19581 | __io.width(0); | |
19582 | ||
19583 | ||
19584 | ||
19585 | return std::__write(__s, __cs, __len); | |
19586 | } | |
19587 | ||
19588 | template<typename _CharT, typename _OutIter> | |
19589 | void | |
19590 | num_put<_CharT, _OutIter>:: | |
19591 | _M_group_float(const char* __grouping, size_t __grouping_size, | |
19592 | _CharT __sep, const _CharT* __p, _CharT* __new, | |
19593 | _CharT* __cs, int& __len) const | |
19594 | { | |
19595 | ||
19596 | ||
19597 | ||
19598 | const int __declen = __p ? __p - __cs : __len; | |
19599 | _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, | |
19600 | __grouping_size, | |
19601 | __cs, __cs + __declen); | |
19602 | ||
19603 | ||
19604 | int __newlen = __p2 - __new; | |
19605 | if (__p) | |
19606 | { | |
19607 | char_traits<_CharT>::copy(__p2, __p, __len - __declen); | |
19608 | __newlen += __len - __declen; | |
19609 | } | |
19610 | __len = __newlen; | |
19611 | } | |
19612 | # 952 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
19613 | template<typename _CharT, typename _OutIter> | |
19614 | template<typename _ValueT> | |
19615 | _OutIter | |
19616 | num_put<_CharT, _OutIter>:: | |
19617 | _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, | |
19618 | _ValueT __v) const | |
19619 | { | |
19620 | typedef __numpunct_cache<_CharT> __cache_type; | |
19621 | __use_cache<__cache_type> __uc; | |
19622 | const locale& __loc = __io._M_getloc(); | |
19623 | const __cache_type* __lc = __uc(__loc); | |
19624 | ||
19625 | ||
19626 | const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); | |
19627 | ||
19628 | const int __max_digits = | |
19629 | __gnu_cxx::__numeric_traits<_ValueT>::__digits10; | |
19630 | ||
19631 | ||
19632 | int __len; | |
19633 | ||
19634 | char __fbuf[16]; | |
19635 | __num_base::_S_format_float(__io, __fbuf, __mod); | |
19636 | # 994 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
19637 | const bool __fixed = __io.flags() & ios_base::fixed; | |
19638 | const int __max_exp = | |
19639 | __gnu_cxx::__numeric_traits<_ValueT>::__max_exponent10; | |
19640 | ||
19641 | ||
19642 | ||
19643 | ||
19644 | ||
19645 | ||
19646 | ||
19647 | const int __cs_size = __fixed ? __max_exp + __prec + 4 | |
19648 | : __max_digits * 2 + __prec; | |
19649 | char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); | |
19650 | __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, __fbuf, | |
19651 | __prec, __v); | |
19652 | ||
19653 | ||
19654 | ||
19655 | ||
19656 | const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); | |
19657 | ||
19658 | _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) | |
19659 | * __len)); | |
19660 | __ctype.widen(__cs, __cs + __len, __ws); | |
19661 | ||
19662 | ||
19663 | _CharT* __wp = 0; | |
19664 | const char* __p = char_traits<char>::find(__cs, __len, '.'); | |
19665 | if (__p) | |
19666 | { | |
19667 | __wp = __ws + (__p - __cs); | |
19668 | *__wp = __lc->_M_decimal_point; | |
19669 | } | |
19670 | ||
19671 | ||
19672 | ||
19673 | ||
19674 | if (__lc->_M_use_grouping | |
19675 | && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' | |
19676 | && __cs[1] >= '0' && __cs[2] >= '0'))) | |
19677 | { | |
19678 | ||
19679 | ||
19680 | _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) | |
19681 | * __len * 2)); | |
19682 | ||
19683 | streamsize __off = 0; | |
19684 | if (__cs[0] == '-' || __cs[0] == '+') | |
19685 | { | |
19686 | __off = 1; | |
19687 | __ws2[0] = __ws[0]; | |
19688 | __len -= 1; | |
19689 | } | |
19690 | ||
19691 | _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, | |
19692 | __lc->_M_thousands_sep, __wp, __ws2 + __off, | |
19693 | __ws + __off, __len); | |
19694 | __len += __off; | |
19695 | ||
19696 | __ws = __ws2; | |
19697 | } | |
19698 | ||
19699 | ||
19700 | const streamsize __w = __io.width(); | |
19701 | if (__w > static_cast<streamsize>(__len)) | |
19702 | { | |
19703 | _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) | |
19704 | * __w)); | |
19705 | _M_pad(__fill, __w, __io, __ws3, __ws, __len); | |
19706 | __ws = __ws3; | |
19707 | } | |
19708 | __io.width(0); | |
19709 | ||
19710 | ||
19711 | ||
19712 | return std::__write(__s, __ws, __len); | |
19713 | } | |
19714 | ||
19715 | template<typename _CharT, typename _OutIter> | |
19716 | _OutIter | |
19717 | num_put<_CharT, _OutIter>:: | |
19718 | do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const | |
19719 | { | |
19720 | const ios_base::fmtflags __flags = __io.flags(); | |
19721 | if ((__flags & ios_base::boolalpha) == 0) | |
19722 | { | |
19723 | const long __l = __v; | |
19724 | __s = _M_insert_int(__s, __io, __fill, __l); | |
19725 | } | |
19726 | else | |
19727 | { | |
19728 | typedef __numpunct_cache<_CharT> __cache_type; | |
19729 | __use_cache<__cache_type> __uc; | |
19730 | const locale& __loc = __io._M_getloc(); | |
19731 | const __cache_type* __lc = __uc(__loc); | |
19732 | ||
19733 | const _CharT* __name = __v ? __lc->_M_truename | |
19734 | : __lc->_M_falsename; | |
19735 | int __len = __v ? __lc->_M_truename_size | |
19736 | : __lc->_M_falsename_size; | |
19737 | ||
19738 | const streamsize __w = __io.width(); | |
19739 | if (__w > static_cast<streamsize>(__len)) | |
19740 | { | |
19741 | _CharT* __cs | |
19742 | = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) | |
19743 | * __w)); | |
19744 | _M_pad(__fill, __w, __io, __cs, __name, __len); | |
19745 | __name = __cs; | |
19746 | } | |
19747 | __io.width(0); | |
19748 | __s = std::__write(__s, __name, __len); | |
19749 | } | |
19750 | return __s; | |
19751 | } | |
19752 | ||
19753 | template<typename _CharT, typename _OutIter> | |
19754 | _OutIter | |
19755 | num_put<_CharT, _OutIter>:: | |
19756 | do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const | |
19757 | { return _M_insert_int(__s, __io, __fill, __v); } | |
19758 | ||
19759 | template<typename _CharT, typename _OutIter> | |
19760 | _OutIter | |
19761 | num_put<_CharT, _OutIter>:: | |
19762 | do_put(iter_type __s, ios_base& __io, char_type __fill, | |
19763 | unsigned long __v) const | |
19764 | { return _M_insert_int(__s, __io, __fill, __v); } | |
19765 | ||
19766 | ||
19767 | template<typename _CharT, typename _OutIter> | |
19768 | _OutIter | |
19769 | num_put<_CharT, _OutIter>:: | |
19770 | do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const | |
19771 | { return _M_insert_int(__s, __io, __fill, __v); } | |
19772 | ||
19773 | template<typename _CharT, typename _OutIter> | |
19774 | _OutIter | |
19775 | num_put<_CharT, _OutIter>:: | |
19776 | do_put(iter_type __s, ios_base& __io, char_type __fill, | |
19777 | unsigned long long __v) const | |
19778 | { return _M_insert_int(__s, __io, __fill, __v); } | |
19779 | ||
19780 | ||
19781 | template<typename _CharT, typename _OutIter> | |
19782 | _OutIter | |
19783 | num_put<_CharT, _OutIter>:: | |
19784 | do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const | |
19785 | { return _M_insert_float(__s, __io, __fill, char(), __v); } | |
19786 | # 1152 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
19787 | template<typename _CharT, typename _OutIter> | |
19788 | _OutIter | |
19789 | num_put<_CharT, _OutIter>:: | |
19790 | do_put(iter_type __s, ios_base& __io, char_type __fill, | |
19791 | long double __v) const | |
19792 | { return _M_insert_float(__s, __io, __fill, 'L', __v); } | |
19793 | ||
19794 | template<typename _CharT, typename _OutIter> | |
19795 | _OutIter | |
19796 | num_put<_CharT, _OutIter>:: | |
19797 | do_put(iter_type __s, ios_base& __io, char_type __fill, | |
19798 | const void* __v) const | |
19799 | { | |
19800 | const ios_base::fmtflags __flags = __io.flags(); | |
19801 | const ios_base::fmtflags __fmt = ~(ios_base::basefield | |
19802 | | ios_base::uppercase | |
19803 | | ios_base::internal); | |
19804 | __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); | |
19805 | ||
19806 | typedef __gnu_cxx::__conditional_type<(sizeof(const void*) | |
19807 | <= sizeof(unsigned long)), | |
19808 | unsigned long, unsigned long long>::__type _UIntPtrType; | |
19809 | ||
19810 | __s = _M_insert_int(__s, __io, __fill, | |
19811 | reinterpret_cast<_UIntPtrType>(__v)); | |
19812 | __io.flags(__flags); | |
19813 | return __s; | |
19814 | } | |
19815 | ||
19816 | ||
19817 | # 1190 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
19818 | template<typename _CharT, typename _Traits> | |
19819 | void | |
19820 | __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, | |
19821 | _CharT* __news, const _CharT* __olds, | |
19822 | const streamsize __newlen, | |
19823 | const streamsize __oldlen) | |
19824 | { | |
19825 | const size_t __plen = static_cast<size_t>(__newlen - __oldlen); | |
19826 | const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; | |
19827 | ||
19828 | ||
19829 | if (__adjust == ios_base::left) | |
19830 | { | |
19831 | _Traits::copy(__news, __olds, __oldlen); | |
19832 | _Traits::assign(__news + __oldlen, __plen, __fill); | |
19833 | return; | |
19834 | } | |
19835 | ||
19836 | size_t __mod = 0; | |
19837 | if (__adjust == ios_base::internal) | |
19838 | { | |
19839 | ||
19840 | ||
19841 | ||
19842 | const locale& __loc = __io._M_getloc(); | |
19843 | const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); | |
19844 | ||
19845 | if (__ctype.widen('-') == __olds[0] | |
19846 | || __ctype.widen('+') == __olds[0]) | |
19847 | { | |
19848 | __news[0] = __olds[0]; | |
19849 | __mod = 1; | |
19850 | ++__news; | |
19851 | } | |
19852 | else if (__ctype.widen('0') == __olds[0] | |
19853 | && __oldlen > 1 | |
19854 | && (__ctype.widen('x') == __olds[1] | |
19855 | || __ctype.widen('X') == __olds[1])) | |
19856 | { | |
19857 | __news[0] = __olds[0]; | |
19858 | __news[1] = __olds[1]; | |
19859 | __mod = 2; | |
19860 | __news += 2; | |
19861 | } | |
19862 | ||
19863 | } | |
19864 | _Traits::assign(__news, __plen, __fill); | |
19865 | _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); | |
19866 | } | |
19867 | ||
19868 | template<typename _CharT> | |
19869 | _CharT* | |
19870 | __add_grouping(_CharT* __s, _CharT __sep, | |
19871 | const char* __gbeg, size_t __gsize, | |
19872 | const _CharT* __first, const _CharT* __last) | |
19873 | { | |
19874 | size_t __idx = 0; | |
19875 | size_t __ctr = 0; | |
19876 | ||
19877 | while (__last - __first > __gbeg[__idx] | |
19878 | && static_cast<signed char>(__gbeg[__idx]) > 0) | |
19879 | { | |
19880 | __last -= __gbeg[__idx]; | |
19881 | __idx < __gsize - 1 ? ++__idx : ++__ctr; | |
19882 | } | |
19883 | ||
19884 | while (__first != __last) | |
19885 | *__s++ = *__first++; | |
19886 | ||
19887 | while (__ctr--) | |
19888 | { | |
19889 | *__s++ = __sep; | |
19890 | for (char __i = __gbeg[__idx]; __i > 0; --__i) | |
19891 | *__s++ = *__first++; | |
19892 | } | |
19893 | ||
19894 | while (__idx--) | |
19895 | { | |
19896 | *__s++ = __sep; | |
19897 | for (char __i = __gbeg[__idx]; __i > 0; --__i) | |
19898 | *__s++ = *__first++; | |
19899 | } | |
19900 | ||
19901 | return __s; | |
19902 | } | |
19903 | ||
19904 | ||
19905 | ||
19906 | ||
19907 | ||
19908 | extern template class numpunct<char>; | |
19909 | extern template class numpunct_byname<char>; | |
19910 | extern template class num_get<char>; | |
19911 | extern template class num_put<char>; | |
19912 | extern template class ctype_byname<char>; | |
19913 | ||
19914 | extern template | |
19915 | const numpunct<char>& | |
19916 | use_facet<numpunct<char> >(const locale&); | |
19917 | ||
19918 | extern template | |
19919 | const num_put<char>& | |
19920 | use_facet<num_put<char> >(const locale&); | |
19921 | ||
19922 | extern template | |
19923 | const num_get<char>& | |
19924 | use_facet<num_get<char> >(const locale&); | |
19925 | ||
19926 | extern template | |
19927 | bool | |
19928 | has_facet<ctype<char> >(const locale&); | |
19929 | ||
19930 | extern template | |
19931 | bool | |
19932 | has_facet<numpunct<char> >(const locale&); | |
19933 | ||
19934 | extern template | |
19935 | bool | |
19936 | has_facet<num_put<char> >(const locale&); | |
19937 | ||
19938 | extern template | |
19939 | bool | |
19940 | has_facet<num_get<char> >(const locale&); | |
19941 | # 1351 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.tcc" 3 | |
19942 | } | |
19943 | # 2636 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/locale_facets.h" 2 3 | |
19944 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 2 3 | |
19945 | ||
19946 | ||
19947 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
19948 | ||
19949 | template<typename _Facet> | |
19950 | inline const _Facet& | |
19951 | __check_facet(const _Facet* __f) | |
19952 | { | |
19953 | if (!__f) | |
19954 | __throw_bad_cast(); | |
19955 | return *__f; | |
19956 | } | |
19957 | # 65 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
19958 | template<typename _CharT, typename _Traits> | |
19959 | class basic_ios : public ios_base | |
19960 | { | |
19961 | public: | |
19962 | ||
19963 | ||
19964 | ||
19965 | ||
19966 | ||
19967 | ||
19968 | typedef _CharT char_type; | |
19969 | typedef typename _Traits::int_type int_type; | |
19970 | typedef typename _Traits::pos_type pos_type; | |
19971 | typedef typename _Traits::off_type off_type; | |
19972 | typedef _Traits traits_type; | |
19973 | ||
19974 | ||
19975 | ||
19976 | ||
19977 | ||
19978 | ||
19979 | typedef ctype<_CharT> __ctype_type; | |
19980 | typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > | |
19981 | __num_put_type; | |
19982 | typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > | |
19983 | __num_get_type; | |
19984 | ||
19985 | ||
19986 | ||
19987 | protected: | |
19988 | basic_ostream<_CharT, _Traits>* _M_tie; | |
19989 | mutable char_type _M_fill; | |
19990 | mutable bool _M_fill_init; | |
19991 | basic_streambuf<_CharT, _Traits>* _M_streambuf; | |
19992 | ||
19993 | ||
19994 | const __ctype_type* _M_ctype; | |
19995 | ||
19996 | const __num_put_type* _M_num_put; | |
19997 | ||
19998 | const __num_get_type* _M_num_get; | |
19999 | ||
20000 | public: | |
20001 | ||
20002 | ||
20003 | ||
20004 | ||
20005 | ||
20006 | ||
20007 | ||
20008 | operator void*() const | |
20009 | { return this->fail() ? 0 : const_cast<basic_ios*>(this); } | |
20010 | ||
20011 | bool | |
20012 | operator!() const | |
20013 | { return this->fail(); } | |
20014 | # 130 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20015 | iostate | |
20016 | rdstate() const | |
20017 | { return _M_streambuf_state; } | |
20018 | # 141 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20019 | void | |
20020 | clear(iostate __state = goodbit); | |
20021 | ||
20022 | ||
20023 | ||
20024 | ||
20025 | ||
20026 | ||
20027 | ||
20028 | void | |
20029 | setstate(iostate __state) | |
20030 | { this->clear(this->rdstate() | __state); } | |
20031 | ||
20032 | ||
20033 | ||
20034 | ||
20035 | void | |
20036 | _M_setstate(iostate __state) | |
20037 | { | |
20038 | ||
20039 | ||
20040 | _M_streambuf_state |= __state; | |
20041 | if (this->exceptions() & __state) | |
20042 | throw; | |
20043 | } | |
20044 | ||
20045 | ||
20046 | ||
20047 | ||
20048 | ||
20049 | ||
20050 | ||
20051 | bool | |
20052 | good() const | |
20053 | { return this->rdstate() == 0; } | |
20054 | ||
20055 | ||
20056 | ||
20057 | ||
20058 | ||
20059 | ||
20060 | ||
20061 | bool | |
20062 | eof() const | |
20063 | { return (this->rdstate() & eofbit) != 0; } | |
20064 | # 194 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20065 | bool | |
20066 | fail() const | |
20067 | { return (this->rdstate() & (badbit | failbit)) != 0; } | |
20068 | ||
20069 | ||
20070 | ||
20071 | ||
20072 | ||
20073 | ||
20074 | ||
20075 | bool | |
20076 | bad() const | |
20077 | { return (this->rdstate() & badbit) != 0; } | |
20078 | # 215 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20079 | iostate | |
20080 | exceptions() const | |
20081 | { return _M_exception; } | |
20082 | # 250 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20083 | void | |
20084 | exceptions(iostate __except) | |
20085 | { | |
20086 | _M_exception = __except; | |
20087 | this->clear(_M_streambuf_state); | |
20088 | } | |
20089 | ||
20090 | ||
20091 | ||
20092 | ||
20093 | ||
20094 | ||
20095 | ||
20096 | explicit | |
20097 | basic_ios(basic_streambuf<_CharT, _Traits>* __sb) | |
20098 | : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), | |
20099 | _M_ctype(0), _M_num_put(0), _M_num_get(0) | |
20100 | { this->init(__sb); } | |
20101 | ||
20102 | ||
20103 | ||
20104 | ||
20105 | ||
20106 | ||
20107 | ||
20108 | virtual | |
20109 | ~basic_ios() { } | |
20110 | # 288 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20111 | basic_ostream<_CharT, _Traits>* | |
20112 | tie() const | |
20113 | { return _M_tie; } | |
20114 | # 300 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20115 | basic_ostream<_CharT, _Traits>* | |
20116 | tie(basic_ostream<_CharT, _Traits>* __tiestr) | |
20117 | { | |
20118 | basic_ostream<_CharT, _Traits>* __old = _M_tie; | |
20119 | _M_tie = __tiestr; | |
20120 | return __old; | |
20121 | } | |
20122 | ||
20123 | ||
20124 | ||
20125 | ||
20126 | ||
20127 | ||
20128 | ||
20129 | basic_streambuf<_CharT, _Traits>* | |
20130 | rdbuf() const | |
20131 | { return _M_streambuf; } | |
20132 | # 340 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20133 | basic_streambuf<_CharT, _Traits>* | |
20134 | rdbuf(basic_streambuf<_CharT, _Traits>* __sb); | |
20135 | # 354 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20136 | basic_ios& | |
20137 | copyfmt(const basic_ios& __rhs); | |
20138 | ||
20139 | ||
20140 | ||
20141 | ||
20142 | ||
20143 | ||
20144 | ||
20145 | char_type | |
20146 | fill() const | |
20147 | { | |
20148 | if (!_M_fill_init) | |
20149 | { | |
20150 | _M_fill = this->widen(' '); | |
20151 | _M_fill_init = true; | |
20152 | } | |
20153 | return _M_fill; | |
20154 | } | |
20155 | # 383 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20156 | char_type | |
20157 | fill(char_type __ch) | |
20158 | { | |
20159 | char_type __old = this->fill(); | |
20160 | _M_fill = __ch; | |
20161 | return __old; | |
20162 | } | |
20163 | # 403 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20164 | locale | |
20165 | imbue(const locale& __loc); | |
20166 | # 423 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20167 | char | |
20168 | narrow(char_type __c, char __dfault) const | |
20169 | { return __check_facet(_M_ctype).narrow(__c, __dfault); } | |
20170 | # 442 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 3 | |
20171 | char_type | |
20172 | widen(char __c) const | |
20173 | { return __check_facet(_M_ctype).widen(__c); } | |
20174 | ||
20175 | protected: | |
20176 | ||
20177 | ||
20178 | ||
20179 | ||
20180 | ||
20181 | ||
20182 | ||
20183 | basic_ios() | |
20184 | : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), | |
20185 | _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) | |
20186 | { } | |
20187 | ||
20188 | ||
20189 | ||
20190 | ||
20191 | ||
20192 | ||
20193 | ||
20194 | void | |
20195 | init(basic_streambuf<_CharT, _Traits>* __sb); | |
20196 | ||
20197 | void | |
20198 | _M_cache_locale(const locale& __loc); | |
20199 | }; | |
20200 | ||
20201 | } | |
20202 | ||
20203 | ||
20204 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.tcc" 1 3 | |
20205 | # 37 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.tcc" 3 | |
20206 | #define _BASIC_IOS_TCC 1 | |
20207 | ||
20208 | ||
20209 | # 40 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.tcc" 3 | |
20210 | ||
20211 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
20212 | ||
20213 | template<typename _CharT, typename _Traits> | |
20214 | void | |
20215 | basic_ios<_CharT, _Traits>::clear(iostate __state) | |
20216 | { | |
20217 | if (this->rdbuf()) | |
20218 | _M_streambuf_state = __state; | |
20219 | else | |
20220 | _M_streambuf_state = __state | badbit; | |
20221 | if (this->exceptions() & this->rdstate()) | |
20222 | __throw_ios_failure(("basic_ios::clear")); | |
20223 | } | |
20224 | ||
20225 | template<typename _CharT, typename _Traits> | |
20226 | basic_streambuf<_CharT, _Traits>* | |
20227 | basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) | |
20228 | { | |
20229 | basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; | |
20230 | _M_streambuf = __sb; | |
20231 | this->clear(); | |
20232 | return __old; | |
20233 | } | |
20234 | ||
20235 | template<typename _CharT, typename _Traits> | |
20236 | basic_ios<_CharT, _Traits>& | |
20237 | basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) | |
20238 | { | |
20239 | ||
20240 | ||
20241 | if (this != &__rhs) | |
20242 | { | |
20243 | ||
20244 | ||
20245 | ||
20246 | ||
20247 | _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? | |
20248 | _M_local_word : new _Words[__rhs._M_word_size]; | |
20249 | ||
20250 | ||
20251 | _Callback_list* __cb = __rhs._M_callbacks; | |
20252 | if (__cb) | |
20253 | __cb->_M_add_reference(); | |
20254 | _M_call_callbacks(erase_event); | |
20255 | if (_M_word != _M_local_word) | |
20256 | { | |
20257 | delete [] _M_word; | |
20258 | _M_word = 0; | |
20259 | } | |
20260 | _M_dispose_callbacks(); | |
20261 | ||
20262 | ||
20263 | _M_callbacks = __cb; | |
20264 | for (int __i = 0; __i < __rhs._M_word_size; ++__i) | |
20265 | __words[__i] = __rhs._M_word[__i]; | |
20266 | _M_word = __words; | |
20267 | _M_word_size = __rhs._M_word_size; | |
20268 | ||
20269 | this->flags(__rhs.flags()); | |
20270 | this->width(__rhs.width()); | |
20271 | this->precision(__rhs.precision()); | |
20272 | this->tie(__rhs.tie()); | |
20273 | this->fill(__rhs.fill()); | |
20274 | _M_ios_locale = __rhs.getloc(); | |
20275 | _M_cache_locale(_M_ios_locale); | |
20276 | ||
20277 | _M_call_callbacks(copyfmt_event); | |
20278 | ||
20279 | ||
20280 | this->exceptions(__rhs.exceptions()); | |
20281 | } | |
20282 | return *this; | |
20283 | } | |
20284 | ||
20285 | ||
20286 | template<typename _CharT, typename _Traits> | |
20287 | locale | |
20288 | basic_ios<_CharT, _Traits>::imbue(const locale& __loc) | |
20289 | { | |
20290 | locale __old(this->getloc()); | |
20291 | ios_base::imbue(__loc); | |
20292 | _M_cache_locale(__loc); | |
20293 | if (this->rdbuf() != 0) | |
20294 | this->rdbuf()->pubimbue(__loc); | |
20295 | return __old; | |
20296 | } | |
20297 | ||
20298 | template<typename _CharT, typename _Traits> | |
20299 | void | |
20300 | basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) | |
20301 | { | |
20302 | ||
20303 | ios_base::_M_init(); | |
20304 | ||
20305 | ||
20306 | _M_cache_locale(_M_ios_locale); | |
20307 | # 150 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.tcc" 3 | |
20308 | _M_fill = _CharT(); | |
20309 | _M_fill_init = false; | |
20310 | ||
20311 | _M_tie = 0; | |
20312 | _M_exception = goodbit; | |
20313 | _M_streambuf = __sb; | |
20314 | _M_streambuf_state = __sb ? goodbit : badbit; | |
20315 | } | |
20316 | ||
20317 | template<typename _CharT, typename _Traits> | |
20318 | void | |
20319 | basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) | |
20320 | { | |
20321 | if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) | |
20322 | _M_ctype = &use_facet<__ctype_type>(__loc); | |
20323 | else | |
20324 | _M_ctype = 0; | |
20325 | ||
20326 | if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) | |
20327 | _M_num_put = &use_facet<__num_put_type>(__loc); | |
20328 | else | |
20329 | _M_num_put = 0; | |
20330 | ||
20331 | if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) | |
20332 | _M_num_get = &use_facet<__num_get_type>(__loc); | |
20333 | else | |
20334 | _M_num_get = 0; | |
20335 | } | |
20336 | ||
20337 | ||
20338 | ||
20339 | ||
20340 | ||
20341 | extern template class basic_ios<char>; | |
20342 | ||
20343 | ||
20344 | ||
20345 | ||
20346 | ||
20347 | ||
20348 | } | |
20349 | # 476 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/basic_ios.h" 2 3 | |
20350 | # 51 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ios" 2 3 | |
20351 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 2 3 | |
20352 | ||
20353 | ||
20354 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
20355 | # 58 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20356 | template<typename _CharT, typename _Traits> | |
20357 | class basic_ostream : virtual public basic_ios<_CharT, _Traits> | |
20358 | { | |
20359 | public: | |
20360 | ||
20361 | typedef _CharT char_type; | |
20362 | typedef typename _Traits::int_type int_type; | |
20363 | typedef typename _Traits::pos_type pos_type; | |
20364 | typedef typename _Traits::off_type off_type; | |
20365 | typedef _Traits traits_type; | |
20366 | ||
20367 | ||
20368 | typedef basic_streambuf<_CharT, _Traits> __streambuf_type; | |
20369 | typedef basic_ios<_CharT, _Traits> __ios_type; | |
20370 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
20371 | typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > | |
20372 | __num_put_type; | |
20373 | typedef ctype<_CharT> __ctype_type; | |
20374 | # 85 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20375 | explicit | |
20376 | basic_ostream(__streambuf_type* __sb) | |
20377 | { this->init(__sb); } | |
20378 | ||
20379 | ||
20380 | ||
20381 | ||
20382 | ||
20383 | ||
20384 | virtual | |
20385 | ~basic_ostream() { } | |
20386 | ||
20387 | ||
20388 | class sentry; | |
20389 | friend class sentry; | |
20390 | # 111 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20391 | __ostream_type& | |
20392 | operator<<(__ostream_type& (*__pf)(__ostream_type&)) | |
20393 | { | |
20394 | ||
20395 | ||
20396 | ||
20397 | return __pf(*this); | |
20398 | } | |
20399 | ||
20400 | __ostream_type& | |
20401 | operator<<(__ios_type& (*__pf)(__ios_type&)) | |
20402 | { | |
20403 | ||
20404 | ||
20405 | ||
20406 | __pf(*this); | |
20407 | return *this; | |
20408 | } | |
20409 | ||
20410 | __ostream_type& | |
20411 | operator<<(ios_base& (*__pf) (ios_base&)) | |
20412 | { | |
20413 | ||
20414 | ||
20415 | ||
20416 | __pf(*this); | |
20417 | return *this; | |
20418 | } | |
20419 | # 168 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20420 | __ostream_type& | |
20421 | operator<<(long __n) | |
20422 | { return _M_insert(__n); } | |
20423 | ||
20424 | __ostream_type& | |
20425 | operator<<(unsigned long __n) | |
20426 | { return _M_insert(__n); } | |
20427 | ||
20428 | __ostream_type& | |
20429 | operator<<(bool __n) | |
20430 | { return _M_insert(__n); } | |
20431 | ||
20432 | __ostream_type& | |
20433 | operator<<(short __n); | |
20434 | ||
20435 | __ostream_type& | |
20436 | operator<<(unsigned short __n) | |
20437 | { | |
20438 | ||
20439 | ||
20440 | return _M_insert(static_cast<unsigned long>(__n)); | |
20441 | } | |
20442 | ||
20443 | __ostream_type& | |
20444 | operator<<(int __n); | |
20445 | ||
20446 | __ostream_type& | |
20447 | operator<<(unsigned int __n) | |
20448 | { | |
20449 | ||
20450 | ||
20451 | return _M_insert(static_cast<unsigned long>(__n)); | |
20452 | } | |
20453 | ||
20454 | ||
20455 | __ostream_type& | |
20456 | operator<<(long long __n) | |
20457 | { return _M_insert(__n); } | |
20458 | ||
20459 | __ostream_type& | |
20460 | operator<<(unsigned long long __n) | |
20461 | { return _M_insert(__n); } | |
20462 | ||
20463 | ||
20464 | __ostream_type& | |
20465 | operator<<(double __f) | |
20466 | { return _M_insert(__f); } | |
20467 | ||
20468 | __ostream_type& | |
20469 | operator<<(float __f) | |
20470 | { | |
20471 | ||
20472 | ||
20473 | return _M_insert(static_cast<double>(__f)); | |
20474 | } | |
20475 | ||
20476 | __ostream_type& | |
20477 | operator<<(long double __f) | |
20478 | { return _M_insert(__f); } | |
20479 | ||
20480 | __ostream_type& | |
20481 | operator<<(const void* __p) | |
20482 | { return _M_insert(__p); } | |
20483 | # 253 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20484 | __ostream_type& | |
20485 | operator<<(__streambuf_type* __sb); | |
20486 | # 286 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20487 | __ostream_type& | |
20488 | put(char_type __c); | |
20489 | ||
20490 | ||
20491 | void | |
20492 | _M_write(const char_type* __s, streamsize __n) | |
20493 | { | |
20494 | const streamsize __put = this->rdbuf()->sputn(__s, __n); | |
20495 | if (__put != __n) | |
20496 | this->setstate(ios_base::badbit); | |
20497 | } | |
20498 | # 314 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20499 | __ostream_type& | |
20500 | write(const char_type* __s, streamsize __n); | |
20501 | # 327 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20502 | __ostream_type& | |
20503 | flush(); | |
20504 | # 338 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20505 | pos_type | |
20506 | tellp(); | |
20507 | # 349 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20508 | __ostream_type& | |
20509 | seekp(pos_type); | |
20510 | # 361 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20511 | __ostream_type& | |
20512 | seekp(off_type, ios_base::seekdir); | |
20513 | ||
20514 | protected: | |
20515 | basic_ostream() | |
20516 | { this->init(0); } | |
20517 | ||
20518 | template<typename _ValueT> | |
20519 | __ostream_type& | |
20520 | _M_insert(_ValueT __v); | |
20521 | }; | |
20522 | # 380 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20523 | template <typename _CharT, typename _Traits> | |
20524 | class basic_ostream<_CharT, _Traits>::sentry | |
20525 | { | |
20526 | ||
20527 | bool _M_ok; | |
20528 | basic_ostream<_CharT, _Traits>& _M_os; | |
20529 | ||
20530 | public: | |
20531 | # 399 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20532 | explicit | |
20533 | sentry(basic_ostream<_CharT, _Traits>& __os); | |
20534 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20535 | ~sentry() | |
20536 | { | |
20537 | ||
20538 | if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) | |
20539 | { | |
20540 | ||
20541 | if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) | |
20542 | _M_os.setstate(ios_base::badbit); | |
20543 | } | |
20544 | } | |
20545 | # 427 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20546 | operator bool() const | |
20547 | { return _M_ok; } | |
20548 | }; | |
20549 | # 448 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20550 | template<typename _CharT, typename _Traits> | |
20551 | inline basic_ostream<_CharT, _Traits>& | |
20552 | operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) | |
20553 | { return __ostream_insert(__out, &__c, 1); } | |
20554 | ||
20555 | template<typename _CharT, typename _Traits> | |
20556 | inline basic_ostream<_CharT, _Traits>& | |
20557 | operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) | |
20558 | { return (__out << __out.widen(__c)); } | |
20559 | ||
20560 | ||
20561 | template <class _Traits> | |
20562 | inline basic_ostream<char, _Traits>& | |
20563 | operator<<(basic_ostream<char, _Traits>& __out, char __c) | |
20564 | { return __ostream_insert(__out, &__c, 1); } | |
20565 | ||
20566 | ||
20567 | template<class _Traits> | |
20568 | inline basic_ostream<char, _Traits>& | |
20569 | operator<<(basic_ostream<char, _Traits>& __out, signed char __c) | |
20570 | { return (__out << static_cast<char>(__c)); } | |
20571 | ||
20572 | template<class _Traits> | |
20573 | inline basic_ostream<char, _Traits>& | |
20574 | operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) | |
20575 | { return (__out << static_cast<char>(__c)); } | |
20576 | # 490 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20577 | template<typename _CharT, typename _Traits> | |
20578 | inline basic_ostream<_CharT, _Traits>& | |
20579 | operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) | |
20580 | { | |
20581 | if (!__s) | |
20582 | __out.setstate(ios_base::badbit); | |
20583 | else | |
20584 | __ostream_insert(__out, __s, | |
20585 | static_cast<streamsize>(_Traits::length(__s))); | |
20586 | return __out; | |
20587 | } | |
20588 | ||
20589 | template<typename _CharT, typename _Traits> | |
20590 | basic_ostream<_CharT, _Traits> & | |
20591 | operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); | |
20592 | ||
20593 | ||
20594 | template<class _Traits> | |
20595 | inline basic_ostream<char, _Traits>& | |
20596 | operator<<(basic_ostream<char, _Traits>& __out, const char* __s) | |
20597 | { | |
20598 | if (!__s) | |
20599 | __out.setstate(ios_base::badbit); | |
20600 | else | |
20601 | __ostream_insert(__out, __s, | |
20602 | static_cast<streamsize>(_Traits::length(__s))); | |
20603 | return __out; | |
20604 | } | |
20605 | ||
20606 | ||
20607 | template<class _Traits> | |
20608 | inline basic_ostream<char, _Traits>& | |
20609 | operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) | |
20610 | { return (__out << reinterpret_cast<const char*>(__s)); } | |
20611 | ||
20612 | template<class _Traits> | |
20613 | inline basic_ostream<char, _Traits> & | |
20614 | operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) | |
20615 | { return (__out << reinterpret_cast<const char*>(__s)); } | |
20616 | # 540 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 3 | |
20617 | template<typename _CharT, typename _Traits> | |
20618 | inline basic_ostream<_CharT, _Traits>& | |
20619 | endl(basic_ostream<_CharT, _Traits>& __os) | |
20620 | { return flush(__os.put(__os.widen('\n'))); } | |
20621 | ||
20622 | ||
20623 | ||
20624 | ||
20625 | ||
20626 | ||
20627 | ||
20628 | template<typename _CharT, typename _Traits> | |
20629 | inline basic_ostream<_CharT, _Traits>& | |
20630 | ends(basic_ostream<_CharT, _Traits>& __os) | |
20631 | { return __os.put(_CharT()); } | |
20632 | ||
20633 | ||
20634 | ||
20635 | ||
20636 | ||
20637 | ||
20638 | template<typename _CharT, typename _Traits> | |
20639 | inline basic_ostream<_CharT, _Traits>& | |
20640 | flush(basic_ostream<_CharT, _Traits>& __os) | |
20641 | { return __os.flush(); } | |
20642 | ||
20643 | } | |
20644 | ||
20645 | ||
20646 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream.tcc" 1 3 | |
20647 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream.tcc" 3 | |
20648 | #define _OSTREAM_TCC 1 | |
20649 | ||
20650 | ||
20651 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream.tcc" 3 | |
20652 | ||
20653 | ||
20654 | ||
20655 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
20656 | ||
20657 | template<typename _CharT, typename _Traits> | |
20658 | basic_ostream<_CharT, _Traits>::sentry:: | |
20659 | sentry(basic_ostream<_CharT, _Traits>& __os) | |
20660 | : _M_ok(false), _M_os(__os) | |
20661 | { | |
20662 | ||
20663 | if (__os.tie() && __os.good()) | |
20664 | __os.tie()->flush(); | |
20665 | ||
20666 | if (__os.good()) | |
20667 | _M_ok = true; | |
20668 | else | |
20669 | __os.setstate(ios_base::failbit); | |
20670 | } | |
20671 | ||
20672 | template<typename _CharT, typename _Traits> | |
20673 | template<typename _ValueT> | |
20674 | basic_ostream<_CharT, _Traits>& | |
20675 | basic_ostream<_CharT, _Traits>:: | |
20676 | _M_insert(_ValueT __v) | |
20677 | { | |
20678 | sentry __cerb(*this); | |
20679 | if (__cerb) | |
20680 | { | |
20681 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
20682 | try | |
20683 | { | |
20684 | const __num_put_type& __np = __check_facet(this->_M_num_put); | |
20685 | if (__np.put(*this, *this, this->fill(), __v).failed()) | |
20686 | __err |= ios_base::badbit; | |
20687 | } | |
20688 | catch(__cxxabiv1::__forced_unwind&) | |
20689 | { | |
20690 | this->_M_setstate(ios_base::badbit); | |
20691 | throw; | |
20692 | } | |
20693 | catch(...) | |
20694 | { this->_M_setstate(ios_base::badbit); } | |
20695 | if (__err) | |
20696 | this->setstate(__err); | |
20697 | } | |
20698 | return *this; | |
20699 | } | |
20700 | ||
20701 | template<typename _CharT, typename _Traits> | |
20702 | basic_ostream<_CharT, _Traits>& | |
20703 | basic_ostream<_CharT, _Traits>:: | |
20704 | operator<<(short __n) | |
20705 | { | |
20706 | ||
20707 | ||
20708 | const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; | |
20709 | if (__fmt == ios_base::oct || __fmt == ios_base::hex) | |
20710 | return _M_insert(static_cast<long>(static_cast<unsigned short>(__n))); | |
20711 | else | |
20712 | return _M_insert(static_cast<long>(__n)); | |
20713 | } | |
20714 | ||
20715 | template<typename _CharT, typename _Traits> | |
20716 | basic_ostream<_CharT, _Traits>& | |
20717 | basic_ostream<_CharT, _Traits>:: | |
20718 | operator<<(int __n) | |
20719 | { | |
20720 | ||
20721 | ||
20722 | const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; | |
20723 | if (__fmt == ios_base::oct || __fmt == ios_base::hex) | |
20724 | return _M_insert(static_cast<long>(static_cast<unsigned int>(__n))); | |
20725 | else | |
20726 | return _M_insert(static_cast<long>(__n)); | |
20727 | } | |
20728 | ||
20729 | template<typename _CharT, typename _Traits> | |
20730 | basic_ostream<_CharT, _Traits>& | |
20731 | basic_ostream<_CharT, _Traits>:: | |
20732 | operator<<(__streambuf_type* __sbin) | |
20733 | { | |
20734 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
20735 | sentry __cerb(*this); | |
20736 | if (__cerb && __sbin) | |
20737 | { | |
20738 | try | |
20739 | { | |
20740 | if (!__copy_streambufs(__sbin, this->rdbuf())) | |
20741 | __err |= ios_base::failbit; | |
20742 | } | |
20743 | catch(__cxxabiv1::__forced_unwind&) | |
20744 | { | |
20745 | this->_M_setstate(ios_base::badbit); | |
20746 | throw; | |
20747 | } | |
20748 | catch(...) | |
20749 | { this->_M_setstate(ios_base::failbit); } | |
20750 | } | |
20751 | else if (!__sbin) | |
20752 | __err |= ios_base::badbit; | |
20753 | if (__err) | |
20754 | this->setstate(__err); | |
20755 | return *this; | |
20756 | } | |
20757 | ||
20758 | template<typename _CharT, typename _Traits> | |
20759 | basic_ostream<_CharT, _Traits>& | |
20760 | basic_ostream<_CharT, _Traits>:: | |
20761 | put(char_type __c) | |
20762 | { | |
20763 | ||
20764 | ||
20765 | ||
20766 | ||
20767 | ||
20768 | ||
20769 | sentry __cerb(*this); | |
20770 | if (__cerb) | |
20771 | { | |
20772 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
20773 | try | |
20774 | { | |
20775 | const int_type __put = this->rdbuf()->sputc(__c); | |
20776 | if (traits_type::eq_int_type(__put, traits_type::eof())) | |
20777 | __err |= ios_base::badbit; | |
20778 | } | |
20779 | catch(__cxxabiv1::__forced_unwind&) | |
20780 | { | |
20781 | this->_M_setstate(ios_base::badbit); | |
20782 | throw; | |
20783 | } | |
20784 | catch(...) | |
20785 | { this->_M_setstate(ios_base::badbit); } | |
20786 | if (__err) | |
20787 | this->setstate(__err); | |
20788 | } | |
20789 | return *this; | |
20790 | } | |
20791 | ||
20792 | template<typename _CharT, typename _Traits> | |
20793 | basic_ostream<_CharT, _Traits>& | |
20794 | basic_ostream<_CharT, _Traits>:: | |
20795 | write(const _CharT* __s, streamsize __n) | |
20796 | { | |
20797 | ||
20798 | ||
20799 | ||
20800 | ||
20801 | ||
20802 | ||
20803 | ||
20804 | sentry __cerb(*this); | |
20805 | if (__cerb) | |
20806 | { | |
20807 | try | |
20808 | { _M_write(__s, __n); } | |
20809 | catch(__cxxabiv1::__forced_unwind&) | |
20810 | { | |
20811 | this->_M_setstate(ios_base::badbit); | |
20812 | throw; | |
20813 | } | |
20814 | catch(...) | |
20815 | { this->_M_setstate(ios_base::badbit); } | |
20816 | } | |
20817 | return *this; | |
20818 | } | |
20819 | ||
20820 | template<typename _CharT, typename _Traits> | |
20821 | basic_ostream<_CharT, _Traits>& | |
20822 | basic_ostream<_CharT, _Traits>:: | |
20823 | flush() | |
20824 | { | |
20825 | ||
20826 | ||
20827 | ||
20828 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
20829 | try | |
20830 | { | |
20831 | if (this->rdbuf() && this->rdbuf()->pubsync() == -1) | |
20832 | __err |= ios_base::badbit; | |
20833 | } | |
20834 | catch(__cxxabiv1::__forced_unwind&) | |
20835 | { | |
20836 | this->_M_setstate(ios_base::badbit); | |
20837 | throw; | |
20838 | } | |
20839 | catch(...) | |
20840 | { this->_M_setstate(ios_base::badbit); } | |
20841 | if (__err) | |
20842 | this->setstate(__err); | |
20843 | return *this; | |
20844 | } | |
20845 | ||
20846 | template<typename _CharT, typename _Traits> | |
20847 | typename basic_ostream<_CharT, _Traits>::pos_type | |
20848 | basic_ostream<_CharT, _Traits>:: | |
20849 | tellp() | |
20850 | { | |
20851 | pos_type __ret = pos_type(-1); | |
20852 | try | |
20853 | { | |
20854 | if (!this->fail()) | |
20855 | __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); | |
20856 | } | |
20857 | catch(__cxxabiv1::__forced_unwind&) | |
20858 | { | |
20859 | this->_M_setstate(ios_base::badbit); | |
20860 | throw; | |
20861 | } | |
20862 | catch(...) | |
20863 | { this->_M_setstate(ios_base::badbit); } | |
20864 | return __ret; | |
20865 | } | |
20866 | ||
20867 | template<typename _CharT, typename _Traits> | |
20868 | basic_ostream<_CharT, _Traits>& | |
20869 | basic_ostream<_CharT, _Traits>:: | |
20870 | seekp(pos_type __pos) | |
20871 | { | |
20872 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
20873 | try | |
20874 | { | |
20875 | if (!this->fail()) | |
20876 | { | |
20877 | ||
20878 | ||
20879 | const pos_type __p = this->rdbuf()->pubseekpos(__pos, | |
20880 | ios_base::out); | |
20881 | ||
20882 | ||
20883 | if (__p == pos_type(off_type(-1))) | |
20884 | __err |= ios_base::failbit; | |
20885 | } | |
20886 | } | |
20887 | catch(__cxxabiv1::__forced_unwind&) | |
20888 | { | |
20889 | this->_M_setstate(ios_base::badbit); | |
20890 | throw; | |
20891 | } | |
20892 | catch(...) | |
20893 | { this->_M_setstate(ios_base::badbit); } | |
20894 | if (__err) | |
20895 | this->setstate(__err); | |
20896 | return *this; | |
20897 | } | |
20898 | ||
20899 | template<typename _CharT, typename _Traits> | |
20900 | basic_ostream<_CharT, _Traits>& | |
20901 | basic_ostream<_CharT, _Traits>:: | |
20902 | seekp(off_type __off, ios_base::seekdir __dir) | |
20903 | { | |
20904 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
20905 | try | |
20906 | { | |
20907 | if (!this->fail()) | |
20908 | { | |
20909 | ||
20910 | ||
20911 | const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, | |
20912 | ios_base::out); | |
20913 | ||
20914 | ||
20915 | if (__p == pos_type(off_type(-1))) | |
20916 | __err |= ios_base::failbit; | |
20917 | } | |
20918 | } | |
20919 | catch(__cxxabiv1::__forced_unwind&) | |
20920 | { | |
20921 | this->_M_setstate(ios_base::badbit); | |
20922 | throw; | |
20923 | } | |
20924 | catch(...) | |
20925 | { this->_M_setstate(ios_base::badbit); } | |
20926 | if (__err) | |
20927 | this->setstate(__err); | |
20928 | return *this; | |
20929 | } | |
20930 | ||
20931 | template<typename _CharT, typename _Traits> | |
20932 | basic_ostream<_CharT, _Traits>& | |
20933 | operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) | |
20934 | { | |
20935 | if (!__s) | |
20936 | __out.setstate(ios_base::badbit); | |
20937 | else | |
20938 | { | |
20939 | ||
20940 | ||
20941 | const size_t __clen = char_traits<char>::length(__s); | |
20942 | try | |
20943 | { | |
20944 | struct __ptr_guard | |
20945 | { | |
20946 | _CharT *__p; | |
20947 | __ptr_guard (_CharT *__ip): __p(__ip) { } | |
20948 | ~__ptr_guard() { delete[] __p; } | |
20949 | _CharT* __get() { return __p; } | |
20950 | } __pg (new _CharT[__clen]); | |
20951 | ||
20952 | _CharT *__ws = __pg.__get(); | |
20953 | for (size_t __i = 0; __i < __clen; ++__i) | |
20954 | __ws[__i] = __out.widen(__s[__i]); | |
20955 | __ostream_insert(__out, __ws, __clen); | |
20956 | } | |
20957 | catch(__cxxabiv1::__forced_unwind&) | |
20958 | { | |
20959 | __out._M_setstate(ios_base::badbit); | |
20960 | throw; | |
20961 | } | |
20962 | catch(...) | |
20963 | { __out._M_setstate(ios_base::badbit); } | |
20964 | } | |
20965 | return __out; | |
20966 | } | |
20967 | ||
20968 | ||
20969 | ||
20970 | ||
20971 | ||
20972 | extern template class basic_ostream<char>; | |
20973 | extern template ostream& endl(ostream&); | |
20974 | extern template ostream& ends(ostream&); | |
20975 | extern template ostream& flush(ostream&); | |
20976 | extern template ostream& operator<<(ostream&, char); | |
20977 | extern template ostream& operator<<(ostream&, unsigned char); | |
20978 | extern template ostream& operator<<(ostream&, signed char); | |
20979 | extern template ostream& operator<<(ostream&, const char*); | |
20980 | extern template ostream& operator<<(ostream&, const unsigned char*); | |
20981 | extern template ostream& operator<<(ostream&, const signed char*); | |
20982 | ||
20983 | extern template ostream& ostream::_M_insert(long); | |
20984 | extern template ostream& ostream::_M_insert(unsigned long); | |
20985 | extern template ostream& ostream::_M_insert(bool); | |
20986 | ||
20987 | extern template ostream& ostream::_M_insert(long long); | |
20988 | extern template ostream& ostream::_M_insert(unsigned long long); | |
20989 | ||
20990 | extern template ostream& ostream::_M_insert(double); | |
20991 | extern template ostream& ostream::_M_insert(long double); | |
20992 | extern template ostream& ostream::_M_insert(const void*); | |
20993 | # 410 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/ostream.tcc" 3 | |
20994 | } | |
20995 | # 570 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/ostream" 2 3 | |
20996 | # 71 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
20997 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 1 3 | |
20998 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
20999 | #define _GLIBCXX_ISTREAM 1 | |
21000 | ||
21001 | ||
21002 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21003 | ||
21004 | ||
21005 | ||
21006 | ||
21007 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
21008 | # 58 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21009 | template<typename _CharT, typename _Traits> | |
21010 | class basic_istream : virtual public basic_ios<_CharT, _Traits> | |
21011 | { | |
21012 | public: | |
21013 | ||
21014 | typedef _CharT char_type; | |
21015 | typedef typename _Traits::int_type int_type; | |
21016 | typedef typename _Traits::pos_type pos_type; | |
21017 | typedef typename _Traits::off_type off_type; | |
21018 | typedef _Traits traits_type; | |
21019 | ||
21020 | ||
21021 | typedef basic_streambuf<_CharT, _Traits> __streambuf_type; | |
21022 | typedef basic_ios<_CharT, _Traits> __ios_type; | |
21023 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
21024 | typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > | |
21025 | __num_get_type; | |
21026 | typedef ctype<_CharT> __ctype_type; | |
21027 | ||
21028 | protected: | |
21029 | ||
21030 | ||
21031 | ||
21032 | ||
21033 | ||
21034 | streamsize _M_gcount; | |
21035 | ||
21036 | public: | |
21037 | # 94 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21038 | explicit | |
21039 | basic_istream(__streambuf_type* __sb) | |
21040 | : _M_gcount(streamsize(0)) | |
21041 | { this->init(__sb); } | |
21042 | ||
21043 | ||
21044 | ||
21045 | ||
21046 | ||
21047 | ||
21048 | virtual | |
21049 | ~basic_istream() | |
21050 | { _M_gcount = streamsize(0); } | |
21051 | ||
21052 | ||
21053 | class sentry; | |
21054 | friend class sentry; | |
21055 | # 122 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21056 | __istream_type& | |
21057 | operator>>(__istream_type& (*__pf)(__istream_type&)) | |
21058 | { return __pf(*this); } | |
21059 | ||
21060 | __istream_type& | |
21061 | operator>>(__ios_type& (*__pf)(__ios_type&)) | |
21062 | { | |
21063 | __pf(*this); | |
21064 | return *this; | |
21065 | } | |
21066 | ||
21067 | __istream_type& | |
21068 | operator>>(ios_base& (*__pf)(ios_base&)) | |
21069 | { | |
21070 | __pf(*this); | |
21071 | return *this; | |
21072 | } | |
21073 | # 169 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21074 | __istream_type& | |
21075 | operator>>(bool& __n) | |
21076 | { return _M_extract(__n); } | |
21077 | ||
21078 | __istream_type& | |
21079 | operator>>(short& __n); | |
21080 | ||
21081 | __istream_type& | |
21082 | operator>>(unsigned short& __n) | |
21083 | { return _M_extract(__n); } | |
21084 | ||
21085 | __istream_type& | |
21086 | operator>>(int& __n); | |
21087 | ||
21088 | __istream_type& | |
21089 | operator>>(unsigned int& __n) | |
21090 | { return _M_extract(__n); } | |
21091 | ||
21092 | __istream_type& | |
21093 | operator>>(long& __n) | |
21094 | { return _M_extract(__n); } | |
21095 | ||
21096 | __istream_type& | |
21097 | operator>>(unsigned long& __n) | |
21098 | { return _M_extract(__n); } | |
21099 | ||
21100 | ||
21101 | __istream_type& | |
21102 | operator>>(long long& __n) | |
21103 | { return _M_extract(__n); } | |
21104 | ||
21105 | __istream_type& | |
21106 | operator>>(unsigned long long& __n) | |
21107 | { return _M_extract(__n); } | |
21108 | ||
21109 | ||
21110 | __istream_type& | |
21111 | operator>>(float& __f) | |
21112 | { return _M_extract(__f); } | |
21113 | ||
21114 | __istream_type& | |
21115 | operator>>(double& __f) | |
21116 | { return _M_extract(__f); } | |
21117 | ||
21118 | __istream_type& | |
21119 | operator>>(long double& __f) | |
21120 | { return _M_extract(__f); } | |
21121 | ||
21122 | __istream_type& | |
21123 | operator>>(void*& __p) | |
21124 | { return _M_extract(__p); } | |
21125 | # 241 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21126 | __istream_type& | |
21127 | operator>>(__streambuf_type* __sb); | |
21128 | # 251 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21129 | streamsize | |
21130 | gcount() const | |
21131 | { return _M_gcount; } | |
21132 | # 283 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21133 | int_type | |
21134 | get(); | |
21135 | # 297 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21136 | __istream_type& | |
21137 | get(char_type& __c); | |
21138 | # 324 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21139 | __istream_type& | |
21140 | get(char_type* __s, streamsize __n, char_type __delim); | |
21141 | # 335 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21142 | __istream_type& | |
21143 | get(char_type* __s, streamsize __n) | |
21144 | { return this->get(__s, __n, this->widen('\n')); } | |
21145 | # 358 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21146 | __istream_type& | |
21147 | get(__streambuf_type& __sb, char_type __delim); | |
21148 | # 368 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21149 | __istream_type& | |
21150 | get(__streambuf_type& __sb) | |
21151 | { return this->get(__sb, this->widen('\n')); } | |
21152 | # 397 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21153 | __istream_type& | |
21154 | getline(char_type* __s, streamsize __n, char_type __delim); | |
21155 | # 408 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21156 | __istream_type& | |
21157 | getline(char_type* __s, streamsize __n) | |
21158 | { return this->getline(__s, __n, this->widen('\n')); } | |
21159 | # 432 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21160 | __istream_type& | |
21161 | ignore(); | |
21162 | ||
21163 | __istream_type& | |
21164 | ignore(streamsize __n); | |
21165 | ||
21166 | __istream_type& | |
21167 | ignore(streamsize __n, int_type __delim); | |
21168 | # 449 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21169 | int_type | |
21170 | peek(); | |
21171 | # 467 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21172 | __istream_type& | |
21173 | read(char_type* __s, streamsize __n); | |
21174 | # 486 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21175 | streamsize | |
21176 | readsome(char_type* __s, streamsize __n); | |
21177 | # 502 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21178 | __istream_type& | |
21179 | putback(char_type __c); | |
21180 | # 517 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21181 | __istream_type& | |
21182 | unget(); | |
21183 | # 535 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21184 | int | |
21185 | sync(); | |
21186 | # 549 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21187 | pos_type | |
21188 | tellg(); | |
21189 | # 564 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21190 | __istream_type& | |
21191 | seekg(pos_type); | |
21192 | # 580 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21193 | __istream_type& | |
21194 | seekg(off_type, ios_base::seekdir); | |
21195 | ||
21196 | ||
21197 | protected: | |
21198 | basic_istream() | |
21199 | : _M_gcount(streamsize(0)) | |
21200 | { this->init(0); } | |
21201 | ||
21202 | template<typename _ValueT> | |
21203 | __istream_type& | |
21204 | _M_extract(_ValueT& __v); | |
21205 | }; | |
21206 | ||
21207 | ||
21208 | template<> | |
21209 | basic_istream<char>& | |
21210 | basic_istream<char>:: | |
21211 | getline(char_type* __s, streamsize __n, char_type __delim); | |
21212 | ||
21213 | template<> | |
21214 | basic_istream<char>& | |
21215 | basic_istream<char>:: | |
21216 | ignore(streamsize __n); | |
21217 | ||
21218 | template<> | |
21219 | basic_istream<char>& | |
21220 | basic_istream<char>:: | |
21221 | ignore(streamsize __n, int_type __delim); | |
21222 | # 635 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21223 | template<typename _CharT, typename _Traits> | |
21224 | class basic_istream<_CharT, _Traits>::sentry | |
21225 | { | |
21226 | public: | |
21227 | ||
21228 | typedef _Traits traits_type; | |
21229 | typedef basic_streambuf<_CharT, _Traits> __streambuf_type; | |
21230 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
21231 | typedef typename __istream_type::__ctype_type __ctype_type; | |
21232 | typedef typename _Traits::int_type __int_type; | |
21233 | # 667 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21234 | explicit | |
21235 | sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); | |
21236 | # 677 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21237 | operator bool() const | |
21238 | { return _M_ok; } | |
21239 | ||
21240 | private: | |
21241 | bool _M_ok; | |
21242 | }; | |
21243 | # 697 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21244 | template<typename _CharT, typename _Traits> | |
21245 | basic_istream<_CharT, _Traits>& | |
21246 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); | |
21247 | ||
21248 | template<class _Traits> | |
21249 | inline basic_istream<char, _Traits>& | |
21250 | operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) | |
21251 | { return (__in >> reinterpret_cast<char&>(__c)); } | |
21252 | ||
21253 | template<class _Traits> | |
21254 | inline basic_istream<char, _Traits>& | |
21255 | operator>>(basic_istream<char, _Traits>& __in, signed char& __c) | |
21256 | { return (__in >> reinterpret_cast<char&>(__c)); } | |
21257 | # 738 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21258 | template<typename _CharT, typename _Traits> | |
21259 | basic_istream<_CharT, _Traits>& | |
21260 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); | |
21261 | ||
21262 | ||
21263 | template<> | |
21264 | basic_istream<char>& | |
21265 | operator>>(basic_istream<char>& __in, char* __s); | |
21266 | ||
21267 | template<class _Traits> | |
21268 | inline basic_istream<char, _Traits>& | |
21269 | operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) | |
21270 | { return (__in >> reinterpret_cast<char*>(__s)); } | |
21271 | ||
21272 | template<class _Traits> | |
21273 | inline basic_istream<char, _Traits>& | |
21274 | operator>>(basic_istream<char, _Traits>& __in, signed char* __s) | |
21275 | { return (__in >> reinterpret_cast<char*>(__s)); } | |
21276 | # 765 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21277 | template<typename _CharT, typename _Traits> | |
21278 | class basic_iostream | |
21279 | : public basic_istream<_CharT, _Traits>, | |
21280 | public basic_ostream<_CharT, _Traits> | |
21281 | { | |
21282 | public: | |
21283 | ||
21284 | ||
21285 | ||
21286 | typedef _CharT char_type; | |
21287 | typedef typename _Traits::int_type int_type; | |
21288 | typedef typename _Traits::pos_type pos_type; | |
21289 | typedef typename _Traits::off_type off_type; | |
21290 | typedef _Traits traits_type; | |
21291 | ||
21292 | ||
21293 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
21294 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
21295 | ||
21296 | ||
21297 | ||
21298 | ||
21299 | ||
21300 | ||
21301 | ||
21302 | explicit | |
21303 | basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) | |
21304 | : __istream_type(__sb), __ostream_type(__sb) { } | |
21305 | ||
21306 | ||
21307 | ||
21308 | ||
21309 | virtual | |
21310 | ~basic_iostream() { } | |
21311 | ||
21312 | protected: | |
21313 | basic_iostream() | |
21314 | : __istream_type(), __ostream_type() { } | |
21315 | }; | |
21316 | # 826 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 3 | |
21317 | template<typename _CharT, typename _Traits> | |
21318 | basic_istream<_CharT, _Traits>& | |
21319 | ws(basic_istream<_CharT, _Traits>& __is); | |
21320 | ||
21321 | } | |
21322 | ||
21323 | ||
21324 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/istream.tcc" 1 3 | |
21325 | # 42 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/istream.tcc" 3 | |
21326 | #define _ISTREAM_TCC 1 | |
21327 | ||
21328 | ||
21329 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/istream.tcc" 3 | |
21330 | ||
21331 | ||
21332 | ||
21333 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
21334 | ||
21335 | template<typename _CharT, typename _Traits> | |
21336 | basic_istream<_CharT, _Traits>::sentry:: | |
21337 | sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) | |
21338 | { | |
21339 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21340 | if (__in.good()) | |
21341 | { | |
21342 | if (__in.tie()) | |
21343 | __in.tie()->flush(); | |
21344 | if (!__noskip && bool(__in.flags() & ios_base::skipws)) | |
21345 | { | |
21346 | const __int_type __eof = traits_type::eof(); | |
21347 | __streambuf_type* __sb = __in.rdbuf(); | |
21348 | __int_type __c = __sb->sgetc(); | |
21349 | ||
21350 | const __ctype_type& __ct = __check_facet(__in._M_ctype); | |
21351 | while (!traits_type::eq_int_type(__c, __eof) | |
21352 | && __ct.is(ctype_base::space, | |
21353 | traits_type::to_char_type(__c))) | |
21354 | __c = __sb->snextc(); | |
21355 | ||
21356 | ||
21357 | ||
21358 | ||
21359 | if (traits_type::eq_int_type(__c, __eof)) | |
21360 | __err |= ios_base::eofbit; | |
21361 | } | |
21362 | } | |
21363 | ||
21364 | if (__in.good() && __err == ios_base::goodbit) | |
21365 | _M_ok = true; | |
21366 | else | |
21367 | { | |
21368 | __err |= ios_base::failbit; | |
21369 | __in.setstate(__err); | |
21370 | } | |
21371 | } | |
21372 | ||
21373 | template<typename _CharT, typename _Traits> | |
21374 | template<typename _ValueT> | |
21375 | basic_istream<_CharT, _Traits>& | |
21376 | basic_istream<_CharT, _Traits>:: | |
21377 | _M_extract(_ValueT& __v) | |
21378 | { | |
21379 | sentry __cerb(*this, false); | |
21380 | if (__cerb) | |
21381 | { | |
21382 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21383 | try | |
21384 | { | |
21385 | const __num_get_type& __ng = __check_facet(this->_M_num_get); | |
21386 | __ng.get(*this, 0, *this, __err, __v); | |
21387 | } | |
21388 | catch(__cxxabiv1::__forced_unwind&) | |
21389 | { | |
21390 | this->_M_setstate(ios_base::badbit); | |
21391 | throw; | |
21392 | } | |
21393 | catch(...) | |
21394 | { this->_M_setstate(ios_base::badbit); } | |
21395 | if (__err) | |
21396 | this->setstate(__err); | |
21397 | } | |
21398 | return *this; | |
21399 | } | |
21400 | ||
21401 | template<typename _CharT, typename _Traits> | |
21402 | basic_istream<_CharT, _Traits>& | |
21403 | basic_istream<_CharT, _Traits>:: | |
21404 | operator>>(short& __n) | |
21405 | { | |
21406 | ||
21407 | ||
21408 | long __l; | |
21409 | _M_extract(__l); | |
21410 | if (!this->fail()) | |
21411 | { | |
21412 | if (__gnu_cxx::__numeric_traits<short>::__min <= __l | |
21413 | && __l <= __gnu_cxx::__numeric_traits<short>::__max) | |
21414 | __n = short(__l); | |
21415 | else | |
21416 | this->setstate(ios_base::failbit); | |
21417 | } | |
21418 | return *this; | |
21419 | } | |
21420 | ||
21421 | template<typename _CharT, typename _Traits> | |
21422 | basic_istream<_CharT, _Traits>& | |
21423 | basic_istream<_CharT, _Traits>:: | |
21424 | operator>>(int& __n) | |
21425 | { | |
21426 | ||
21427 | ||
21428 | long __l; | |
21429 | _M_extract(__l); | |
21430 | if (!this->fail()) | |
21431 | { | |
21432 | if (__gnu_cxx::__numeric_traits<int>::__min <= __l | |
21433 | && __l <= __gnu_cxx::__numeric_traits<int>::__max) | |
21434 | __n = int(__l); | |
21435 | else | |
21436 | this->setstate(ios_base::failbit); | |
21437 | } | |
21438 | return *this; | |
21439 | } | |
21440 | ||
21441 | template<typename _CharT, typename _Traits> | |
21442 | basic_istream<_CharT, _Traits>& | |
21443 | basic_istream<_CharT, _Traits>:: | |
21444 | operator>>(__streambuf_type* __sbout) | |
21445 | { | |
21446 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21447 | sentry __cerb(*this, false); | |
21448 | if (__cerb && __sbout) | |
21449 | { | |
21450 | try | |
21451 | { | |
21452 | bool __ineof; | |
21453 | if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) | |
21454 | __err |= ios_base::failbit; | |
21455 | if (__ineof) | |
21456 | __err |= ios_base::eofbit; | |
21457 | } | |
21458 | catch(__cxxabiv1::__forced_unwind&) | |
21459 | { | |
21460 | this->_M_setstate(ios_base::failbit); | |
21461 | throw; | |
21462 | } | |
21463 | catch(...) | |
21464 | { this->_M_setstate(ios_base::failbit); } | |
21465 | } | |
21466 | else if (!__sbout) | |
21467 | __err |= ios_base::failbit; | |
21468 | if (__err) | |
21469 | this->setstate(__err); | |
21470 | return *this; | |
21471 | } | |
21472 | ||
21473 | template<typename _CharT, typename _Traits> | |
21474 | typename basic_istream<_CharT, _Traits>::int_type | |
21475 | basic_istream<_CharT, _Traits>:: | |
21476 | get(void) | |
21477 | { | |
21478 | const int_type __eof = traits_type::eof(); | |
21479 | int_type __c = __eof; | |
21480 | _M_gcount = 0; | |
21481 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21482 | sentry __cerb(*this, true); | |
21483 | if (__cerb) | |
21484 | { | |
21485 | try | |
21486 | { | |
21487 | __c = this->rdbuf()->sbumpc(); | |
21488 | ||
21489 | if (!traits_type::eq_int_type(__c, __eof)) | |
21490 | _M_gcount = 1; | |
21491 | else | |
21492 | __err |= ios_base::eofbit; | |
21493 | } | |
21494 | catch(__cxxabiv1::__forced_unwind&) | |
21495 | { | |
21496 | this->_M_setstate(ios_base::badbit); | |
21497 | throw; | |
21498 | } | |
21499 | catch(...) | |
21500 | { this->_M_setstate(ios_base::badbit); } | |
21501 | } | |
21502 | if (!_M_gcount) | |
21503 | __err |= ios_base::failbit; | |
21504 | if (__err) | |
21505 | this->setstate(__err); | |
21506 | return __c; | |
21507 | } | |
21508 | ||
21509 | template<typename _CharT, typename _Traits> | |
21510 | basic_istream<_CharT, _Traits>& | |
21511 | basic_istream<_CharT, _Traits>:: | |
21512 | get(char_type& __c) | |
21513 | { | |
21514 | _M_gcount = 0; | |
21515 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21516 | sentry __cerb(*this, true); | |
21517 | if (__cerb) | |
21518 | { | |
21519 | try | |
21520 | { | |
21521 | const int_type __cb = this->rdbuf()->sbumpc(); | |
21522 | ||
21523 | if (!traits_type::eq_int_type(__cb, traits_type::eof())) | |
21524 | { | |
21525 | _M_gcount = 1; | |
21526 | __c = traits_type::to_char_type(__cb); | |
21527 | } | |
21528 | else | |
21529 | __err |= ios_base::eofbit; | |
21530 | } | |
21531 | catch(__cxxabiv1::__forced_unwind&) | |
21532 | { | |
21533 | this->_M_setstate(ios_base::badbit); | |
21534 | throw; | |
21535 | } | |
21536 | catch(...) | |
21537 | { this->_M_setstate(ios_base::badbit); } | |
21538 | } | |
21539 | if (!_M_gcount) | |
21540 | __err |= ios_base::failbit; | |
21541 | if (__err) | |
21542 | this->setstate(__err); | |
21543 | return *this; | |
21544 | } | |
21545 | ||
21546 | template<typename _CharT, typename _Traits> | |
21547 | basic_istream<_CharT, _Traits>& | |
21548 | basic_istream<_CharT, _Traits>:: | |
21549 | get(char_type* __s, streamsize __n, char_type __delim) | |
21550 | { | |
21551 | _M_gcount = 0; | |
21552 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21553 | sentry __cerb(*this, true); | |
21554 | if (__cerb) | |
21555 | { | |
21556 | try | |
21557 | { | |
21558 | const int_type __idelim = traits_type::to_int_type(__delim); | |
21559 | const int_type __eof = traits_type::eof(); | |
21560 | __streambuf_type* __sb = this->rdbuf(); | |
21561 | int_type __c = __sb->sgetc(); | |
21562 | ||
21563 | while (_M_gcount + 1 < __n | |
21564 | && !traits_type::eq_int_type(__c, __eof) | |
21565 | && !traits_type::eq_int_type(__c, __idelim)) | |
21566 | { | |
21567 | *__s++ = traits_type::to_char_type(__c); | |
21568 | ++_M_gcount; | |
21569 | __c = __sb->snextc(); | |
21570 | } | |
21571 | if (traits_type::eq_int_type(__c, __eof)) | |
21572 | __err |= ios_base::eofbit; | |
21573 | } | |
21574 | catch(__cxxabiv1::__forced_unwind&) | |
21575 | { | |
21576 | this->_M_setstate(ios_base::badbit); | |
21577 | throw; | |
21578 | } | |
21579 | catch(...) | |
21580 | { this->_M_setstate(ios_base::badbit); } | |
21581 | } | |
21582 | ||
21583 | ||
21584 | if (__n > 0) | |
21585 | *__s = char_type(); | |
21586 | if (!_M_gcount) | |
21587 | __err |= ios_base::failbit; | |
21588 | if (__err) | |
21589 | this->setstate(__err); | |
21590 | return *this; | |
21591 | } | |
21592 | ||
21593 | template<typename _CharT, typename _Traits> | |
21594 | basic_istream<_CharT, _Traits>& | |
21595 | basic_istream<_CharT, _Traits>:: | |
21596 | get(__streambuf_type& __sb, char_type __delim) | |
21597 | { | |
21598 | _M_gcount = 0; | |
21599 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21600 | sentry __cerb(*this, true); | |
21601 | if (__cerb) | |
21602 | { | |
21603 | try | |
21604 | { | |
21605 | const int_type __idelim = traits_type::to_int_type(__delim); | |
21606 | const int_type __eof = traits_type::eof(); | |
21607 | __streambuf_type* __this_sb = this->rdbuf(); | |
21608 | int_type __c = __this_sb->sgetc(); | |
21609 | char_type __c2 = traits_type::to_char_type(__c); | |
21610 | ||
21611 | while (!traits_type::eq_int_type(__c, __eof) | |
21612 | && !traits_type::eq_int_type(__c, __idelim) | |
21613 | && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) | |
21614 | { | |
21615 | ++_M_gcount; | |
21616 | __c = __this_sb->snextc(); | |
21617 | __c2 = traits_type::to_char_type(__c); | |
21618 | } | |
21619 | if (traits_type::eq_int_type(__c, __eof)) | |
21620 | __err |= ios_base::eofbit; | |
21621 | } | |
21622 | catch(__cxxabiv1::__forced_unwind&) | |
21623 | { | |
21624 | this->_M_setstate(ios_base::badbit); | |
21625 | throw; | |
21626 | } | |
21627 | catch(...) | |
21628 | { this->_M_setstate(ios_base::badbit); } | |
21629 | } | |
21630 | if (!_M_gcount) | |
21631 | __err |= ios_base::failbit; | |
21632 | if (__err) | |
21633 | this->setstate(__err); | |
21634 | return *this; | |
21635 | } | |
21636 | ||
21637 | template<typename _CharT, typename _Traits> | |
21638 | basic_istream<_CharT, _Traits>& | |
21639 | basic_istream<_CharT, _Traits>:: | |
21640 | getline(char_type* __s, streamsize __n, char_type __delim) | |
21641 | { | |
21642 | _M_gcount = 0; | |
21643 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21644 | sentry __cerb(*this, true); | |
21645 | if (__cerb) | |
21646 | { | |
21647 | try | |
21648 | { | |
21649 | const int_type __idelim = traits_type::to_int_type(__delim); | |
21650 | const int_type __eof = traits_type::eof(); | |
21651 | __streambuf_type* __sb = this->rdbuf(); | |
21652 | int_type __c = __sb->sgetc(); | |
21653 | ||
21654 | while (_M_gcount + 1 < __n | |
21655 | && !traits_type::eq_int_type(__c, __eof) | |
21656 | && !traits_type::eq_int_type(__c, __idelim)) | |
21657 | { | |
21658 | *__s++ = traits_type::to_char_type(__c); | |
21659 | __c = __sb->snextc(); | |
21660 | ++_M_gcount; | |
21661 | } | |
21662 | if (traits_type::eq_int_type(__c, __eof)) | |
21663 | __err |= ios_base::eofbit; | |
21664 | else | |
21665 | { | |
21666 | if (traits_type::eq_int_type(__c, __idelim)) | |
21667 | { | |
21668 | __sb->sbumpc(); | |
21669 | ++_M_gcount; | |
21670 | } | |
21671 | else | |
21672 | __err |= ios_base::failbit; | |
21673 | } | |
21674 | } | |
21675 | catch(__cxxabiv1::__forced_unwind&) | |
21676 | { | |
21677 | this->_M_setstate(ios_base::badbit); | |
21678 | throw; | |
21679 | } | |
21680 | catch(...) | |
21681 | { this->_M_setstate(ios_base::badbit); } | |
21682 | } | |
21683 | ||
21684 | ||
21685 | if (__n > 0) | |
21686 | *__s = char_type(); | |
21687 | if (!_M_gcount) | |
21688 | __err |= ios_base::failbit; | |
21689 | if (__err) | |
21690 | this->setstate(__err); | |
21691 | return *this; | |
21692 | } | |
21693 | ||
21694 | ||
21695 | ||
21696 | ||
21697 | template<typename _CharT, typename _Traits> | |
21698 | basic_istream<_CharT, _Traits>& | |
21699 | basic_istream<_CharT, _Traits>:: | |
21700 | ignore(void) | |
21701 | { | |
21702 | _M_gcount = 0; | |
21703 | sentry __cerb(*this, true); | |
21704 | if (__cerb) | |
21705 | { | |
21706 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21707 | try | |
21708 | { | |
21709 | const int_type __eof = traits_type::eof(); | |
21710 | __streambuf_type* __sb = this->rdbuf(); | |
21711 | ||
21712 | if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) | |
21713 | __err |= ios_base::eofbit; | |
21714 | else | |
21715 | _M_gcount = 1; | |
21716 | } | |
21717 | catch(__cxxabiv1::__forced_unwind&) | |
21718 | { | |
21719 | this->_M_setstate(ios_base::badbit); | |
21720 | throw; | |
21721 | } | |
21722 | catch(...) | |
21723 | { this->_M_setstate(ios_base::badbit); } | |
21724 | if (__err) | |
21725 | this->setstate(__err); | |
21726 | } | |
21727 | return *this; | |
21728 | } | |
21729 | ||
21730 | template<typename _CharT, typename _Traits> | |
21731 | basic_istream<_CharT, _Traits>& | |
21732 | basic_istream<_CharT, _Traits>:: | |
21733 | ignore(streamsize __n) | |
21734 | { | |
21735 | _M_gcount = 0; | |
21736 | sentry __cerb(*this, true); | |
21737 | if (__cerb && __n > 0) | |
21738 | { | |
21739 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21740 | try | |
21741 | { | |
21742 | const int_type __eof = traits_type::eof(); | |
21743 | __streambuf_type* __sb = this->rdbuf(); | |
21744 | int_type __c = __sb->sgetc(); | |
21745 | # 468 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/istream.tcc" 3 | |
21746 | bool __large_ignore = false; | |
21747 | while (true) | |
21748 | { | |
21749 | while (_M_gcount < __n | |
21750 | && !traits_type::eq_int_type(__c, __eof)) | |
21751 | { | |
21752 | ++_M_gcount; | |
21753 | __c = __sb->snextc(); | |
21754 | } | |
21755 | if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max | |
21756 | && !traits_type::eq_int_type(__c, __eof)) | |
21757 | { | |
21758 | _M_gcount = | |
21759 | __gnu_cxx::__numeric_traits<streamsize>::__min; | |
21760 | __large_ignore = true; | |
21761 | } | |
21762 | else | |
21763 | break; | |
21764 | } | |
21765 | ||
21766 | if (__large_ignore) | |
21767 | _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max; | |
21768 | ||
21769 | if (traits_type::eq_int_type(__c, __eof)) | |
21770 | __err |= ios_base::eofbit; | |
21771 | } | |
21772 | catch(__cxxabiv1::__forced_unwind&) | |
21773 | { | |
21774 | this->_M_setstate(ios_base::badbit); | |
21775 | throw; | |
21776 | } | |
21777 | catch(...) | |
21778 | { this->_M_setstate(ios_base::badbit); } | |
21779 | if (__err) | |
21780 | this->setstate(__err); | |
21781 | } | |
21782 | return *this; | |
21783 | } | |
21784 | ||
21785 | template<typename _CharT, typename _Traits> | |
21786 | basic_istream<_CharT, _Traits>& | |
21787 | basic_istream<_CharT, _Traits>:: | |
21788 | ignore(streamsize __n, int_type __delim) | |
21789 | { | |
21790 | _M_gcount = 0; | |
21791 | sentry __cerb(*this, true); | |
21792 | if (__cerb && __n > 0) | |
21793 | { | |
21794 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21795 | try | |
21796 | { | |
21797 | const int_type __eof = traits_type::eof(); | |
21798 | __streambuf_type* __sb = this->rdbuf(); | |
21799 | int_type __c = __sb->sgetc(); | |
21800 | ||
21801 | ||
21802 | bool __large_ignore = false; | |
21803 | while (true) | |
21804 | { | |
21805 | while (_M_gcount < __n | |
21806 | && !traits_type::eq_int_type(__c, __eof) | |
21807 | && !traits_type::eq_int_type(__c, __delim)) | |
21808 | { | |
21809 | ++_M_gcount; | |
21810 | __c = __sb->snextc(); | |
21811 | } | |
21812 | if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max | |
21813 | && !traits_type::eq_int_type(__c, __eof) | |
21814 | && !traits_type::eq_int_type(__c, __delim)) | |
21815 | { | |
21816 | _M_gcount = | |
21817 | __gnu_cxx::__numeric_traits<streamsize>::__min; | |
21818 | __large_ignore = true; | |
21819 | } | |
21820 | else | |
21821 | break; | |
21822 | } | |
21823 | ||
21824 | if (__large_ignore) | |
21825 | _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max; | |
21826 | ||
21827 | if (traits_type::eq_int_type(__c, __eof)) | |
21828 | __err |= ios_base::eofbit; | |
21829 | else if (traits_type::eq_int_type(__c, __delim)) | |
21830 | { | |
21831 | if (_M_gcount | |
21832 | < __gnu_cxx::__numeric_traits<streamsize>::__max) | |
21833 | ++_M_gcount; | |
21834 | __sb->sbumpc(); | |
21835 | } | |
21836 | } | |
21837 | catch(__cxxabiv1::__forced_unwind&) | |
21838 | { | |
21839 | this->_M_setstate(ios_base::badbit); | |
21840 | throw; | |
21841 | } | |
21842 | catch(...) | |
21843 | { this->_M_setstate(ios_base::badbit); } | |
21844 | if (__err) | |
21845 | this->setstate(__err); | |
21846 | } | |
21847 | return *this; | |
21848 | } | |
21849 | ||
21850 | template<typename _CharT, typename _Traits> | |
21851 | typename basic_istream<_CharT, _Traits>::int_type | |
21852 | basic_istream<_CharT, _Traits>:: | |
21853 | peek(void) | |
21854 | { | |
21855 | int_type __c = traits_type::eof(); | |
21856 | _M_gcount = 0; | |
21857 | sentry __cerb(*this, true); | |
21858 | if (__cerb) | |
21859 | { | |
21860 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21861 | try | |
21862 | { | |
21863 | __c = this->rdbuf()->sgetc(); | |
21864 | if (traits_type::eq_int_type(__c, traits_type::eof())) | |
21865 | __err |= ios_base::eofbit; | |
21866 | } | |
21867 | catch(__cxxabiv1::__forced_unwind&) | |
21868 | { | |
21869 | this->_M_setstate(ios_base::badbit); | |
21870 | throw; | |
21871 | } | |
21872 | catch(...) | |
21873 | { this->_M_setstate(ios_base::badbit); } | |
21874 | if (__err) | |
21875 | this->setstate(__err); | |
21876 | } | |
21877 | return __c; | |
21878 | } | |
21879 | ||
21880 | template<typename _CharT, typename _Traits> | |
21881 | basic_istream<_CharT, _Traits>& | |
21882 | basic_istream<_CharT, _Traits>:: | |
21883 | read(char_type* __s, streamsize __n) | |
21884 | { | |
21885 | _M_gcount = 0; | |
21886 | sentry __cerb(*this, true); | |
21887 | if (__cerb) | |
21888 | { | |
21889 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21890 | try | |
21891 | { | |
21892 | _M_gcount = this->rdbuf()->sgetn(__s, __n); | |
21893 | if (_M_gcount != __n) | |
21894 | __err |= (ios_base::eofbit | ios_base::failbit); | |
21895 | } | |
21896 | catch(__cxxabiv1::__forced_unwind&) | |
21897 | { | |
21898 | this->_M_setstate(ios_base::badbit); | |
21899 | throw; | |
21900 | } | |
21901 | catch(...) | |
21902 | { this->_M_setstate(ios_base::badbit); } | |
21903 | if (__err) | |
21904 | this->setstate(__err); | |
21905 | } | |
21906 | return *this; | |
21907 | } | |
21908 | ||
21909 | template<typename _CharT, typename _Traits> | |
21910 | streamsize | |
21911 | basic_istream<_CharT, _Traits>:: | |
21912 | readsome(char_type* __s, streamsize __n) | |
21913 | { | |
21914 | _M_gcount = 0; | |
21915 | sentry __cerb(*this, true); | |
21916 | if (__cerb) | |
21917 | { | |
21918 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21919 | try | |
21920 | { | |
21921 | ||
21922 | const streamsize __num = this->rdbuf()->in_avail(); | |
21923 | if (__num > 0) | |
21924 | _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); | |
21925 | else if (__num == -1) | |
21926 | __err |= ios_base::eofbit; | |
21927 | } | |
21928 | catch(__cxxabiv1::__forced_unwind&) | |
21929 | { | |
21930 | this->_M_setstate(ios_base::badbit); | |
21931 | throw; | |
21932 | } | |
21933 | catch(...) | |
21934 | { this->_M_setstate(ios_base::badbit); } | |
21935 | if (__err) | |
21936 | this->setstate(__err); | |
21937 | } | |
21938 | return _M_gcount; | |
21939 | } | |
21940 | ||
21941 | template<typename _CharT, typename _Traits> | |
21942 | basic_istream<_CharT, _Traits>& | |
21943 | basic_istream<_CharT, _Traits>:: | |
21944 | putback(char_type __c) | |
21945 | { | |
21946 | ||
21947 | ||
21948 | _M_gcount = 0; | |
21949 | sentry __cerb(*this, true); | |
21950 | if (__cerb) | |
21951 | { | |
21952 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21953 | try | |
21954 | { | |
21955 | const int_type __eof = traits_type::eof(); | |
21956 | __streambuf_type* __sb = this->rdbuf(); | |
21957 | if (!__sb | |
21958 | || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) | |
21959 | __err |= ios_base::badbit; | |
21960 | } | |
21961 | catch(__cxxabiv1::__forced_unwind&) | |
21962 | { | |
21963 | this->_M_setstate(ios_base::badbit); | |
21964 | throw; | |
21965 | } | |
21966 | catch(...) | |
21967 | { this->_M_setstate(ios_base::badbit); } | |
21968 | if (__err) | |
21969 | this->setstate(__err); | |
21970 | } | |
21971 | return *this; | |
21972 | } | |
21973 | ||
21974 | template<typename _CharT, typename _Traits> | |
21975 | basic_istream<_CharT, _Traits>& | |
21976 | basic_istream<_CharT, _Traits>:: | |
21977 | unget(void) | |
21978 | { | |
21979 | ||
21980 | ||
21981 | _M_gcount = 0; | |
21982 | sentry __cerb(*this, true); | |
21983 | if (__cerb) | |
21984 | { | |
21985 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
21986 | try | |
21987 | { | |
21988 | const int_type __eof = traits_type::eof(); | |
21989 | __streambuf_type* __sb = this->rdbuf(); | |
21990 | if (!__sb | |
21991 | || traits_type::eq_int_type(__sb->sungetc(), __eof)) | |
21992 | __err |= ios_base::badbit; | |
21993 | } | |
21994 | catch(__cxxabiv1::__forced_unwind&) | |
21995 | { | |
21996 | this->_M_setstate(ios_base::badbit); | |
21997 | throw; | |
21998 | } | |
21999 | catch(...) | |
22000 | { this->_M_setstate(ios_base::badbit); } | |
22001 | if (__err) | |
22002 | this->setstate(__err); | |
22003 | } | |
22004 | return *this; | |
22005 | } | |
22006 | ||
22007 | template<typename _CharT, typename _Traits> | |
22008 | int | |
22009 | basic_istream<_CharT, _Traits>:: | |
22010 | sync(void) | |
22011 | { | |
22012 | ||
22013 | ||
22014 | int __ret = -1; | |
22015 | sentry __cerb(*this, true); | |
22016 | if (__cerb) | |
22017 | { | |
22018 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
22019 | try | |
22020 | { | |
22021 | __streambuf_type* __sb = this->rdbuf(); | |
22022 | if (__sb) | |
22023 | { | |
22024 | if (__sb->pubsync() == -1) | |
22025 | __err |= ios_base::badbit; | |
22026 | else | |
22027 | __ret = 0; | |
22028 | } | |
22029 | } | |
22030 | catch(__cxxabiv1::__forced_unwind&) | |
22031 | { | |
22032 | this->_M_setstate(ios_base::badbit); | |
22033 | throw; | |
22034 | } | |
22035 | catch(...) | |
22036 | { this->_M_setstate(ios_base::badbit); } | |
22037 | if (__err) | |
22038 | this->setstate(__err); | |
22039 | } | |
22040 | return __ret; | |
22041 | } | |
22042 | ||
22043 | template<typename _CharT, typename _Traits> | |
22044 | typename basic_istream<_CharT, _Traits>::pos_type | |
22045 | basic_istream<_CharT, _Traits>:: | |
22046 | tellg(void) | |
22047 | { | |
22048 | ||
22049 | ||
22050 | pos_type __ret = pos_type(-1); | |
22051 | try | |
22052 | { | |
22053 | if (!this->fail()) | |
22054 | __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, | |
22055 | ios_base::in); | |
22056 | } | |
22057 | catch(__cxxabiv1::__forced_unwind&) | |
22058 | { | |
22059 | this->_M_setstate(ios_base::badbit); | |
22060 | throw; | |
22061 | } | |
22062 | catch(...) | |
22063 | { this->_M_setstate(ios_base::badbit); } | |
22064 | return __ret; | |
22065 | } | |
22066 | ||
22067 | template<typename _CharT, typename _Traits> | |
22068 | basic_istream<_CharT, _Traits>& | |
22069 | basic_istream<_CharT, _Traits>:: | |
22070 | seekg(pos_type __pos) | |
22071 | { | |
22072 | ||
22073 | ||
22074 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
22075 | try | |
22076 | { | |
22077 | if (!this->fail()) | |
22078 | { | |
22079 | ||
22080 | const pos_type __p = this->rdbuf()->pubseekpos(__pos, | |
22081 | ios_base::in); | |
22082 | ||
22083 | ||
22084 | if (__p == pos_type(off_type(-1))) | |
22085 | __err |= ios_base::failbit; | |
22086 | } | |
22087 | } | |
22088 | catch(__cxxabiv1::__forced_unwind&) | |
22089 | { | |
22090 | this->_M_setstate(ios_base::badbit); | |
22091 | throw; | |
22092 | } | |
22093 | catch(...) | |
22094 | { this->_M_setstate(ios_base::badbit); } | |
22095 | if (__err) | |
22096 | this->setstate(__err); | |
22097 | return *this; | |
22098 | } | |
22099 | ||
22100 | template<typename _CharT, typename _Traits> | |
22101 | basic_istream<_CharT, _Traits>& | |
22102 | basic_istream<_CharT, _Traits>:: | |
22103 | seekg(off_type __off, ios_base::seekdir __dir) | |
22104 | { | |
22105 | ||
22106 | ||
22107 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
22108 | try | |
22109 | { | |
22110 | if (!this->fail()) | |
22111 | { | |
22112 | ||
22113 | const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, | |
22114 | ios_base::in); | |
22115 | ||
22116 | ||
22117 | if (__p == pos_type(off_type(-1))) | |
22118 | __err |= ios_base::failbit; | |
22119 | } | |
22120 | } | |
22121 | catch(__cxxabiv1::__forced_unwind&) | |
22122 | { | |
22123 | this->_M_setstate(ios_base::badbit); | |
22124 | throw; | |
22125 | } | |
22126 | catch(...) | |
22127 | { this->_M_setstate(ios_base::badbit); } | |
22128 | if (__err) | |
22129 | this->setstate(__err); | |
22130 | return *this; | |
22131 | } | |
22132 | ||
22133 | ||
22134 | template<typename _CharT, typename _Traits> | |
22135 | basic_istream<_CharT, _Traits>& | |
22136 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) | |
22137 | { | |
22138 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
22139 | typedef typename __istream_type::int_type __int_type; | |
22140 | ||
22141 | typename __istream_type::sentry __cerb(__in, false); | |
22142 | if (__cerb) | |
22143 | { | |
22144 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
22145 | try | |
22146 | { | |
22147 | const __int_type __cb = __in.rdbuf()->sbumpc(); | |
22148 | if (!_Traits::eq_int_type(__cb, _Traits::eof())) | |
22149 | __c = _Traits::to_char_type(__cb); | |
22150 | else | |
22151 | __err |= (ios_base::eofbit | ios_base::failbit); | |
22152 | } | |
22153 | catch(__cxxabiv1::__forced_unwind&) | |
22154 | { | |
22155 | __in._M_setstate(ios_base::badbit); | |
22156 | throw; | |
22157 | } | |
22158 | catch(...) | |
22159 | { __in._M_setstate(ios_base::badbit); } | |
22160 | if (__err) | |
22161 | __in.setstate(__err); | |
22162 | } | |
22163 | return __in; | |
22164 | } | |
22165 | ||
22166 | template<typename _CharT, typename _Traits> | |
22167 | basic_istream<_CharT, _Traits>& | |
22168 | operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) | |
22169 | { | |
22170 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
22171 | typedef basic_streambuf<_CharT, _Traits> __streambuf_type; | |
22172 | typedef typename _Traits::int_type int_type; | |
22173 | typedef _CharT char_type; | |
22174 | typedef ctype<_CharT> __ctype_type; | |
22175 | ||
22176 | streamsize __extracted = 0; | |
22177 | ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); | |
22178 | typename __istream_type::sentry __cerb(__in, false); | |
22179 | if (__cerb) | |
22180 | { | |
22181 | try | |
22182 | { | |
22183 | ||
22184 | streamsize __num = __in.width(); | |
22185 | if (__num <= 0) | |
22186 | __num = __gnu_cxx::__numeric_traits<streamsize>::__max; | |
22187 | ||
22188 | const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); | |
22189 | ||
22190 | const int_type __eof = _Traits::eof(); | |
22191 | __streambuf_type* __sb = __in.rdbuf(); | |
22192 | int_type __c = __sb->sgetc(); | |
22193 | ||
22194 | while (__extracted < __num - 1 | |
22195 | && !_Traits::eq_int_type(__c, __eof) | |
22196 | && !__ct.is(ctype_base::space, | |
22197 | _Traits::to_char_type(__c))) | |
22198 | { | |
22199 | *__s++ = _Traits::to_char_type(__c); | |
22200 | ++__extracted; | |
22201 | __c = __sb->snextc(); | |
22202 | } | |
22203 | if (_Traits::eq_int_type(__c, __eof)) | |
22204 | __err |= ios_base::eofbit; | |
22205 | ||
22206 | ||
22207 | ||
22208 | *__s = char_type(); | |
22209 | __in.width(0); | |
22210 | } | |
22211 | catch(__cxxabiv1::__forced_unwind&) | |
22212 | { | |
22213 | __in._M_setstate(ios_base::badbit); | |
22214 | throw; | |
22215 | } | |
22216 | catch(...) | |
22217 | { __in._M_setstate(ios_base::badbit); } | |
22218 | } | |
22219 | if (!__extracted) | |
22220 | __err |= ios_base::failbit; | |
22221 | if (__err) | |
22222 | __in.setstate(__err); | |
22223 | return __in; | |
22224 | } | |
22225 | ||
22226 | ||
22227 | template<typename _CharT, typename _Traits> | |
22228 | basic_istream<_CharT, _Traits>& | |
22229 | ws(basic_istream<_CharT, _Traits>& __in) | |
22230 | { | |
22231 | typedef basic_istream<_CharT, _Traits> __istream_type; | |
22232 | typedef basic_streambuf<_CharT, _Traits> __streambuf_type; | |
22233 | typedef typename __istream_type::int_type __int_type; | |
22234 | typedef ctype<_CharT> __ctype_type; | |
22235 | ||
22236 | const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); | |
22237 | const __int_type __eof = _Traits::eof(); | |
22238 | __streambuf_type* __sb = __in.rdbuf(); | |
22239 | __int_type __c = __sb->sgetc(); | |
22240 | ||
22241 | while (!_Traits::eq_int_type(__c, __eof) | |
22242 | && __ct.is(ctype_base::space, _Traits::to_char_type(__c))) | |
22243 | __c = __sb->snextc(); | |
22244 | ||
22245 | if (_Traits::eq_int_type(__c, __eof)) | |
22246 | __in.setstate(ios_base::eofbit); | |
22247 | return __in; | |
22248 | } | |
22249 | ||
22250 | ||
22251 | ||
22252 | ||
22253 | ||
22254 | extern template class basic_istream<char>; | |
22255 | extern template istream& ws(istream&); | |
22256 | extern template istream& operator>>(istream&, char&); | |
22257 | extern template istream& operator>>(istream&, char*); | |
22258 | extern template istream& operator>>(istream&, unsigned char&); | |
22259 | extern template istream& operator>>(istream&, signed char&); | |
22260 | extern template istream& operator>>(istream&, unsigned char*); | |
22261 | extern template istream& operator>>(istream&, signed char*); | |
22262 | ||
22263 | extern template istream& istream::_M_extract(unsigned short&); | |
22264 | extern template istream& istream::_M_extract(unsigned int&); | |
22265 | extern template istream& istream::_M_extract(long&); | |
22266 | extern template istream& istream::_M_extract(unsigned long&); | |
22267 | extern template istream& istream::_M_extract(bool&); | |
22268 | ||
22269 | extern template istream& istream::_M_extract(long long&); | |
22270 | extern template istream& istream::_M_extract(unsigned long long&); | |
22271 | ||
22272 | extern template istream& istream::_M_extract(float&); | |
22273 | extern template istream& istream::_M_extract(double&); | |
22274 | extern template istream& istream::_M_extract(long double&); | |
22275 | extern template istream& istream::_M_extract(void*&); | |
22276 | ||
22277 | extern template class basic_iostream<char>; | |
22278 | # 1025 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/istream.tcc" 3 | |
22279 | } | |
22280 | # 834 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/istream" 2 3 | |
22281 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
22282 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stream_iterator.h" 1 3 | |
22283 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stream_iterator.h" 3 | |
22284 | #define _STREAM_ITERATOR_H 1 | |
22285 | ||
22286 | ||
22287 | # 39 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stream_iterator.h" 3 | |
22288 | ||
22289 | ||
22290 | ||
22291 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
22292 | ||
22293 | ||
22294 | template<typename _Tp, typename _CharT = char, | |
22295 | typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t> | |
22296 | class istream_iterator | |
22297 | : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&> | |
22298 | { | |
22299 | public: | |
22300 | typedef _CharT char_type; | |
22301 | typedef _Traits traits_type; | |
22302 | typedef basic_istream<_CharT, _Traits> istream_type; | |
22303 | ||
22304 | private: | |
22305 | istream_type* _M_stream; | |
22306 | _Tp _M_value; | |
22307 | bool _M_ok; | |
22308 | ||
22309 | public: | |
22310 | ||
22311 | istream_iterator() | |
22312 | : _M_stream(0), _M_value(), _M_ok(false) {} | |
22313 | ||
22314 | ||
22315 | istream_iterator(istream_type& __s) | |
22316 | : _M_stream(&__s) | |
22317 | { _M_read(); } | |
22318 | ||
22319 | istream_iterator(const istream_iterator& __obj) | |
22320 | : _M_stream(__obj._M_stream), _M_value(__obj._M_value), | |
22321 | _M_ok(__obj._M_ok) | |
22322 | { } | |
22323 | ||
22324 | const _Tp& | |
22325 | operator*() const | |
22326 | { | |
22327 | ; | |
22328 | ||
22329 | ||
22330 | return _M_value; | |
22331 | } | |
22332 | ||
22333 | const _Tp* | |
22334 | operator->() const { return &(operator*()); } | |
22335 | ||
22336 | istream_iterator& | |
22337 | operator++() | |
22338 | { | |
22339 | ; | |
22340 | ||
22341 | ||
22342 | _M_read(); | |
22343 | return *this; | |
22344 | } | |
22345 | ||
22346 | istream_iterator | |
22347 | operator++(int) | |
22348 | { | |
22349 | ; | |
22350 | ||
22351 | ||
22352 | istream_iterator __tmp = *this; | |
22353 | _M_read(); | |
22354 | return __tmp; | |
22355 | } | |
22356 | ||
22357 | bool | |
22358 | _M_equal(const istream_iterator& __x) const | |
22359 | { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); } | |
22360 | ||
22361 | private: | |
22362 | void | |
22363 | _M_read() | |
22364 | { | |
22365 | _M_ok = (_M_stream && *_M_stream) ? true : false; | |
22366 | if (_M_ok) | |
22367 | { | |
22368 | *_M_stream >> _M_value; | |
22369 | _M_ok = *_M_stream ? true : false; | |
22370 | } | |
22371 | } | |
22372 | }; | |
22373 | ||
22374 | ||
22375 | template<typename _Tp, typename _CharT, typename _Traits, typename _Dist> | |
22376 | inline bool | |
22377 | operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, | |
22378 | const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) | |
22379 | { return __x._M_equal(__y); } | |
22380 | ||
22381 | ||
22382 | template <class _Tp, class _CharT, class _Traits, class _Dist> | |
22383 | inline bool | |
22384 | operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, | |
22385 | const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) | |
22386 | { return !__x._M_equal(__y); } | |
22387 | # 150 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stream_iterator.h" 3 | |
22388 | template<typename _Tp, typename _CharT = char, | |
22389 | typename _Traits = char_traits<_CharT> > | |
22390 | class ostream_iterator | |
22391 | : public iterator<output_iterator_tag, void, void, void, void> | |
22392 | { | |
22393 | public: | |
22394 | ||
22395 | ||
22396 | typedef _CharT char_type; | |
22397 | typedef _Traits traits_type; | |
22398 | typedef basic_ostream<_CharT, _Traits> ostream_type; | |
22399 | ||
22400 | ||
22401 | private: | |
22402 | ostream_type* _M_stream; | |
22403 | const _CharT* _M_string; | |
22404 | ||
22405 | public: | |
22406 | ||
22407 | ostream_iterator(ostream_type& __s) : _M_stream(&__s), _M_string(0) {} | |
22408 | # 181 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stream_iterator.h" 3 | |
22409 | ostream_iterator(ostream_type& __s, const _CharT* __c) | |
22410 | : _M_stream(&__s), _M_string(__c) { } | |
22411 | ||
22412 | ||
22413 | ostream_iterator(const ostream_iterator& __obj) | |
22414 | : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { } | |
22415 | ||
22416 | ||
22417 | ||
22418 | ostream_iterator& | |
22419 | operator=(const _Tp& __value) | |
22420 | { | |
22421 | ; | |
22422 | ||
22423 | ||
22424 | *_M_stream << __value; | |
22425 | if (_M_string) *_M_stream << _M_string; | |
22426 | return *this; | |
22427 | } | |
22428 | ||
22429 | ostream_iterator& | |
22430 | operator*() | |
22431 | { return *this; } | |
22432 | ||
22433 | ostream_iterator& | |
22434 | operator++() | |
22435 | { return *this; } | |
22436 | ||
22437 | ostream_iterator& | |
22438 | operator++(int) | |
22439 | { return *this; } | |
22440 | }; | |
22441 | ||
22442 | } | |
22443 | # 73 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/iterator" 2 3 | |
22444 | # 51 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" 2 | |
22445 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/list" 1 3 | |
22446 | # 62 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/list" 3 | |
22447 | #define _GLIBCXX_LIST 1 | |
22448 | ||
22449 | ||
22450 | # 65 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/list" 3 | |
22451 | ||
22452 | ||
22453 | ||
22454 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 1 3 | |
22455 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22456 | #define _STL_LIST_H 1 | |
22457 | ||
22458 | ||
22459 | ||
22460 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
22461 | ||
22462 | ||
22463 | ||
22464 | ||
22465 | ||
22466 | ||
22467 | ||
22468 | struct _List_node_base | |
22469 | { | |
22470 | _List_node_base* _M_next; | |
22471 | _List_node_base* _M_prev; | |
22472 | ||
22473 | static void | |
22474 | swap(_List_node_base& __x, _List_node_base& __y); | |
22475 | ||
22476 | void | |
22477 | transfer(_List_node_base * const __first, | |
22478 | _List_node_base * const __last); | |
22479 | ||
22480 | void | |
22481 | reverse(); | |
22482 | ||
22483 | void | |
22484 | hook(_List_node_base * const __position); | |
22485 | ||
22486 | void | |
22487 | unhook(); | |
22488 | }; | |
22489 | ||
22490 | ||
22491 | template<typename _Tp> | |
22492 | struct _List_node : public _List_node_base | |
22493 | { | |
22494 | ||
22495 | _Tp _M_data; | |
22496 | }; | |
22497 | ||
22498 | ||
22499 | ||
22500 | ||
22501 | ||
22502 | ||
22503 | template<typename _Tp> | |
22504 | struct _List_iterator | |
22505 | { | |
22506 | typedef _List_iterator<_Tp> _Self; | |
22507 | typedef _List_node<_Tp> _Node; | |
22508 | ||
22509 | typedef ptrdiff_t difference_type; | |
22510 | typedef std::bidirectional_iterator_tag iterator_category; | |
22511 | typedef _Tp value_type; | |
22512 | typedef _Tp* pointer; | |
22513 | typedef _Tp& reference; | |
22514 | ||
22515 | _List_iterator() | |
22516 | : _M_node() { } | |
22517 | ||
22518 | explicit | |
22519 | _List_iterator(_List_node_base* __x) | |
22520 | : _M_node(__x) { } | |
22521 | ||
22522 | ||
22523 | reference | |
22524 | operator*() const | |
22525 | { return static_cast<_Node*>(_M_node)->_M_data; } | |
22526 | ||
22527 | pointer | |
22528 | operator->() const | |
22529 | { return &static_cast<_Node*>(_M_node)->_M_data; } | |
22530 | ||
22531 | _Self& | |
22532 | operator++() | |
22533 | { | |
22534 | _M_node = _M_node->_M_next; | |
22535 | return *this; | |
22536 | } | |
22537 | ||
22538 | _Self | |
22539 | operator++(int) | |
22540 | { | |
22541 | _Self __tmp = *this; | |
22542 | _M_node = _M_node->_M_next; | |
22543 | return __tmp; | |
22544 | } | |
22545 | ||
22546 | _Self& | |
22547 | operator--() | |
22548 | { | |
22549 | _M_node = _M_node->_M_prev; | |
22550 | return *this; | |
22551 | } | |
22552 | ||
22553 | _Self | |
22554 | operator--(int) | |
22555 | { | |
22556 | _Self __tmp = *this; | |
22557 | _M_node = _M_node->_M_prev; | |
22558 | return __tmp; | |
22559 | } | |
22560 | ||
22561 | bool | |
22562 | operator==(const _Self& __x) const | |
22563 | { return _M_node == __x._M_node; } | |
22564 | ||
22565 | bool | |
22566 | operator!=(const _Self& __x) const | |
22567 | { return _M_node != __x._M_node; } | |
22568 | ||
22569 | ||
22570 | _List_node_base* _M_node; | |
22571 | }; | |
22572 | ||
22573 | ||
22574 | ||
22575 | ||
22576 | ||
22577 | ||
22578 | template<typename _Tp> | |
22579 | struct _List_const_iterator | |
22580 | { | |
22581 | typedef _List_const_iterator<_Tp> _Self; | |
22582 | typedef const _List_node<_Tp> _Node; | |
22583 | typedef _List_iterator<_Tp> iterator; | |
22584 | ||
22585 | typedef ptrdiff_t difference_type; | |
22586 | typedef std::bidirectional_iterator_tag iterator_category; | |
22587 | typedef _Tp value_type; | |
22588 | typedef const _Tp* pointer; | |
22589 | typedef const _Tp& reference; | |
22590 | ||
22591 | _List_const_iterator() | |
22592 | : _M_node() { } | |
22593 | ||
22594 | explicit | |
22595 | _List_const_iterator(const _List_node_base* __x) | |
22596 | : _M_node(__x) { } | |
22597 | ||
22598 | _List_const_iterator(const iterator& __x) | |
22599 | : _M_node(__x._M_node) { } | |
22600 | ||
22601 | ||
22602 | ||
22603 | reference | |
22604 | operator*() const | |
22605 | { return static_cast<_Node*>(_M_node)->_M_data; } | |
22606 | ||
22607 | pointer | |
22608 | operator->() const | |
22609 | { return &static_cast<_Node*>(_M_node)->_M_data; } | |
22610 | ||
22611 | _Self& | |
22612 | operator++() | |
22613 | { | |
22614 | _M_node = _M_node->_M_next; | |
22615 | return *this; | |
22616 | } | |
22617 | ||
22618 | _Self | |
22619 | operator++(int) | |
22620 | { | |
22621 | _Self __tmp = *this; | |
22622 | _M_node = _M_node->_M_next; | |
22623 | return __tmp; | |
22624 | } | |
22625 | ||
22626 | _Self& | |
22627 | operator--() | |
22628 | { | |
22629 | _M_node = _M_node->_M_prev; | |
22630 | return *this; | |
22631 | } | |
22632 | ||
22633 | _Self | |
22634 | operator--(int) | |
22635 | { | |
22636 | _Self __tmp = *this; | |
22637 | _M_node = _M_node->_M_prev; | |
22638 | return __tmp; | |
22639 | } | |
22640 | ||
22641 | bool | |
22642 | operator==(const _Self& __x) const | |
22643 | { return _M_node == __x._M_node; } | |
22644 | ||
22645 | bool | |
22646 | operator!=(const _Self& __x) const | |
22647 | { return _M_node != __x._M_node; } | |
22648 | ||
22649 | ||
22650 | const _List_node_base* _M_node; | |
22651 | }; | |
22652 | ||
22653 | template<typename _Val> | |
22654 | inline bool | |
22655 | operator==(const _List_iterator<_Val>& __x, | |
22656 | const _List_const_iterator<_Val>& __y) | |
22657 | { return __x._M_node == __y._M_node; } | |
22658 | ||
22659 | template<typename _Val> | |
22660 | inline bool | |
22661 | operator!=(const _List_iterator<_Val>& __x, | |
22662 | const _List_const_iterator<_Val>& __y) | |
22663 | { return __x._M_node != __y._M_node; } | |
22664 | ||
22665 | ||
22666 | ||
22667 | template<typename _Tp, typename _Alloc> | |
22668 | class _List_base | |
22669 | { | |
22670 | protected: | |
22671 | # 291 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22672 | typedef typename _Alloc::template rebind<_List_node<_Tp> >::other | |
22673 | _Node_alloc_type; | |
22674 | ||
22675 | typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; | |
22676 | ||
22677 | struct _List_impl | |
22678 | : public _Node_alloc_type | |
22679 | { | |
22680 | _List_node_base _M_node; | |
22681 | ||
22682 | _List_impl() | |
22683 | : _Node_alloc_type(), _M_node() | |
22684 | { } | |
22685 | ||
22686 | _List_impl(const _Node_alloc_type& __a) | |
22687 | : _Node_alloc_type(__a), _M_node() | |
22688 | { } | |
22689 | }; | |
22690 | ||
22691 | _List_impl _M_impl; | |
22692 | ||
22693 | _List_node<_Tp>* | |
22694 | _M_get_node() | |
22695 | { return _M_impl._Node_alloc_type::allocate(1); } | |
22696 | ||
22697 | void | |
22698 | _M_put_node(_List_node<_Tp>* __p) | |
22699 | { _M_impl._Node_alloc_type::deallocate(__p, 1); } | |
22700 | ||
22701 | public: | |
22702 | typedef _Alloc allocator_type; | |
22703 | ||
22704 | _Node_alloc_type& | |
22705 | _M_get_Node_allocator() | |
22706 | { return *static_cast<_Node_alloc_type*>(&this->_M_impl); } | |
22707 | ||
22708 | const _Node_alloc_type& | |
22709 | _M_get_Node_allocator() const | |
22710 | { return *static_cast<const _Node_alloc_type*>(&this->_M_impl); } | |
22711 | ||
22712 | _Tp_alloc_type | |
22713 | _M_get_Tp_allocator() const | |
22714 | { return _Tp_alloc_type(_M_get_Node_allocator()); } | |
22715 | ||
22716 | allocator_type | |
22717 | get_allocator() const | |
22718 | { return allocator_type(_M_get_Node_allocator()); } | |
22719 | ||
22720 | _List_base() | |
22721 | : _M_impl() | |
22722 | { _M_init(); } | |
22723 | ||
22724 | _List_base(const allocator_type& __a) | |
22725 | : _M_impl(__a) | |
22726 | { _M_init(); } | |
22727 | # 357 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22728 | ~_List_base() | |
22729 | { _M_clear(); } | |
22730 | ||
22731 | void | |
22732 | _M_clear(); | |
22733 | ||
22734 | void | |
22735 | _M_init() | |
22736 | { | |
22737 | this->_M_impl._M_node._M_next = &this->_M_impl._M_node; | |
22738 | this->_M_impl._M_node._M_prev = &this->_M_impl._M_node; | |
22739 | } | |
22740 | }; | |
22741 | # 415 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22742 | template<typename _Tp, typename _Alloc = std::allocator<_Tp> > | |
22743 | class list : protected _List_base<_Tp, _Alloc> | |
22744 | { | |
22745 | ||
22746 | typedef typename _Alloc::value_type _Alloc_value_type; | |
22747 | ||
22748 | ||
22749 | ||
22750 | typedef _List_base<_Tp, _Alloc> _Base; | |
22751 | typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; | |
22752 | ||
22753 | public: | |
22754 | typedef _Tp value_type; | |
22755 | typedef typename _Tp_alloc_type::pointer pointer; | |
22756 | typedef typename _Tp_alloc_type::const_pointer const_pointer; | |
22757 | typedef typename _Tp_alloc_type::reference reference; | |
22758 | typedef typename _Tp_alloc_type::const_reference const_reference; | |
22759 | typedef _List_iterator<_Tp> iterator; | |
22760 | typedef _List_const_iterator<_Tp> const_iterator; | |
22761 | typedef std::reverse_iterator<const_iterator> const_reverse_iterator; | |
22762 | typedef std::reverse_iterator<iterator> reverse_iterator; | |
22763 | typedef size_t size_type; | |
22764 | typedef ptrdiff_t difference_type; | |
22765 | typedef _Alloc allocator_type; | |
22766 | ||
22767 | protected: | |
22768 | ||
22769 | ||
22770 | typedef _List_node<_Tp> _Node; | |
22771 | ||
22772 | using _Base::_M_impl; | |
22773 | using _Base::_M_put_node; | |
22774 | using _Base::_M_get_node; | |
22775 | using _Base::_M_get_Tp_allocator; | |
22776 | using _Base::_M_get_Node_allocator; | |
22777 | ||
22778 | ||
22779 | ||
22780 | ||
22781 | ||
22782 | ||
22783 | ||
22784 | _Node* | |
22785 | _M_create_node(const value_type& __x) | |
22786 | { | |
22787 | _Node* __p = this->_M_get_node(); | |
22788 | try | |
22789 | { | |
22790 | _M_get_Tp_allocator().construct(&__p->_M_data, __x); | |
22791 | } | |
22792 | catch(...) | |
22793 | { | |
22794 | _M_put_node(__p); | |
22795 | throw; | |
22796 | } | |
22797 | return __p; | |
22798 | } | |
22799 | # 492 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22800 | public: | |
22801 | ||
22802 | ||
22803 | ||
22804 | ||
22805 | ||
22806 | list() | |
22807 | : _Base() { } | |
22808 | ||
22809 | ||
22810 | ||
22811 | ||
22812 | ||
22813 | explicit | |
22814 | list(const allocator_type& __a) | |
22815 | : _Base(__a) { } | |
22816 | # 517 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22817 | explicit | |
22818 | list(size_type __n, const value_type& __value = value_type(), | |
22819 | const allocator_type& __a = allocator_type()) | |
22820 | : _Base(__a) | |
22821 | { _M_fill_initialize(__n, __value); } | |
22822 | # 530 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22823 | list(const list& __x) | |
22824 | : _Base(__x._M_get_Node_allocator()) | |
22825 | { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } | |
22826 | # 556 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22827 | template<typename _InputIterator> | |
22828 | list(_InputIterator __first, _InputIterator __last, | |
22829 | const allocator_type& __a = allocator_type()) | |
22830 | : _Base(__a) | |
22831 | { | |
22832 | ||
22833 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
22834 | _M_initialize_dispatch(__first, __last, _Integral()); | |
22835 | } | |
22836 | # 581 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22837 | list& | |
22838 | operator=(const list& __x); | |
22839 | # 612 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22840 | void | |
22841 | assign(size_type __n, const value_type& __val) | |
22842 | { _M_fill_assign(__n, __val); } | |
22843 | # 628 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22844 | template<typename _InputIterator> | |
22845 | void | |
22846 | assign(_InputIterator __first, _InputIterator __last) | |
22847 | { | |
22848 | ||
22849 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
22850 | _M_assign_dispatch(__first, __last, _Integral()); | |
22851 | } | |
22852 | ||
22853 | ||
22854 | allocator_type | |
22855 | get_allocator() const | |
22856 | { return _Base::get_allocator(); } | |
22857 | ||
22858 | ||
22859 | ||
22860 | ||
22861 | ||
22862 | ||
22863 | iterator | |
22864 | begin() | |
22865 | { return iterator(this->_M_impl._M_node._M_next); } | |
22866 | ||
22867 | ||
22868 | ||
22869 | ||
22870 | ||
22871 | ||
22872 | const_iterator | |
22873 | begin() const | |
22874 | { return const_iterator(this->_M_impl._M_node._M_next); } | |
22875 | ||
22876 | ||
22877 | ||
22878 | ||
22879 | ||
22880 | ||
22881 | iterator | |
22882 | end() | |
22883 | { return iterator(&this->_M_impl._M_node); } | |
22884 | ||
22885 | ||
22886 | ||
22887 | ||
22888 | ||
22889 | ||
22890 | const_iterator | |
22891 | end() const | |
22892 | { return const_iterator(&this->_M_impl._M_node); } | |
22893 | ||
22894 | ||
22895 | ||
22896 | ||
22897 | ||
22898 | ||
22899 | reverse_iterator | |
22900 | rbegin() | |
22901 | { return reverse_iterator(end()); } | |
22902 | ||
22903 | ||
22904 | ||
22905 | ||
22906 | ||
22907 | ||
22908 | const_reverse_iterator | |
22909 | rbegin() const | |
22910 | { return const_reverse_iterator(end()); } | |
22911 | ||
22912 | ||
22913 | ||
22914 | ||
22915 | ||
22916 | ||
22917 | reverse_iterator | |
22918 | rend() | |
22919 | { return reverse_iterator(begin()); } | |
22920 | ||
22921 | ||
22922 | ||
22923 | ||
22924 | ||
22925 | ||
22926 | const_reverse_iterator | |
22927 | rend() const | |
22928 | { return const_reverse_iterator(begin()); } | |
22929 | # 757 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22930 | bool | |
22931 | empty() const | |
22932 | { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } | |
22933 | ||
22934 | ||
22935 | size_type | |
22936 | size() const | |
22937 | { return std::distance(begin(), end()); } | |
22938 | ||
22939 | ||
22940 | size_type | |
22941 | max_size() const | |
22942 | { return _M_get_Tp_allocator().max_size(); } | |
22943 | # 781 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22944 | void | |
22945 | resize(size_type __new_size, value_type __x = value_type()); | |
22946 | ||
22947 | ||
22948 | ||
22949 | ||
22950 | ||
22951 | ||
22952 | reference | |
22953 | front() | |
22954 | { return *begin(); } | |
22955 | ||
22956 | ||
22957 | ||
22958 | ||
22959 | ||
22960 | const_reference | |
22961 | front() const | |
22962 | { return *begin(); } | |
22963 | ||
22964 | ||
22965 | ||
22966 | ||
22967 | ||
22968 | reference | |
22969 | back() | |
22970 | { | |
22971 | iterator __tmp = end(); | |
22972 | --__tmp; | |
22973 | return *__tmp; | |
22974 | } | |
22975 | ||
22976 | ||
22977 | ||
22978 | ||
22979 | ||
22980 | const_reference | |
22981 | back() const | |
22982 | { | |
22983 | const_iterator __tmp = end(); | |
22984 | --__tmp; | |
22985 | return *__tmp; | |
22986 | } | |
22987 | # 837 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22988 | void | |
22989 | push_front(const value_type& __x) | |
22990 | { this->_M_insert(begin(), __x); } | |
22991 | # 859 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22992 | void | |
22993 | pop_front() | |
22994 | { this->_M_erase(begin()); } | |
22995 | # 874 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
22996 | void | |
22997 | push_back(const value_type& __x) | |
22998 | { this->_M_insert(end(), __x); } | |
22999 | # 895 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23000 | void | |
23001 | pop_back() | |
23002 | { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); } | |
23003 | # 928 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23004 | iterator | |
23005 | insert(iterator __position, const value_type& __x); | |
23006 | # 960 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23007 | void | |
23008 | insert(iterator __position, size_type __n, const value_type& __x) | |
23009 | { | |
23010 | list __tmp(__n, __x, _M_get_Node_allocator()); | |
23011 | splice(__position, __tmp); | |
23012 | } | |
23013 | # 980 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23014 | template<typename _InputIterator> | |
23015 | void | |
23016 | insert(iterator __position, _InputIterator __first, | |
23017 | _InputIterator __last) | |
23018 | { | |
23019 | list __tmp(__first, __last, _M_get_Node_allocator()); | |
23020 | splice(__position, __tmp); | |
23021 | } | |
23022 | # 1004 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23023 | iterator | |
23024 | erase(iterator __position); | |
23025 | # 1025 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23026 | iterator | |
23027 | erase(iterator __first, iterator __last) | |
23028 | { | |
23029 | while (__first != __last) | |
23030 | __first = erase(__first); | |
23031 | return __last; | |
23032 | } | |
23033 | # 1042 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23034 | void | |
23035 | ||
23036 | ||
23037 | ||
23038 | swap(list& __x) | |
23039 | ||
23040 | { | |
23041 | _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node); | |
23042 | ||
23043 | ||
23044 | ||
23045 | std::__alloc_swap<typename _Base::_Node_alloc_type>:: | |
23046 | _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()); | |
23047 | } | |
23048 | ||
23049 | ||
23050 | ||
23051 | ||
23052 | ||
23053 | ||
23054 | ||
23055 | void | |
23056 | clear() | |
23057 | { | |
23058 | _Base::_M_clear(); | |
23059 | _Base::_M_init(); | |
23060 | } | |
23061 | # 1082 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23062 | void | |
23063 | ||
23064 | ||
23065 | ||
23066 | splice(iterator __position, list& __x) | |
23067 | ||
23068 | { | |
23069 | if (!__x.empty()) | |
23070 | { | |
23071 | _M_check_equal_allocators(__x); | |
23072 | ||
23073 | this->_M_transfer(__position, __x.begin(), __x.end()); | |
23074 | } | |
23075 | } | |
23076 | # 1106 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23077 | void | |
23078 | ||
23079 | ||
23080 | ||
23081 | splice(iterator __position, list& __x, iterator __i) | |
23082 | ||
23083 | { | |
23084 | iterator __j = __i; | |
23085 | ++__j; | |
23086 | if (__position == __i || __position == __j) | |
23087 | return; | |
23088 | ||
23089 | if (this != &__x) | |
23090 | _M_check_equal_allocators(__x); | |
23091 | ||
23092 | this->_M_transfer(__position, __i, __j); | |
23093 | } | |
23094 | # 1136 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23095 | void | |
23096 | ||
23097 | ||
23098 | ||
23099 | ||
23100 | splice(iterator __position, list& __x, iterator __first, | |
23101 | iterator __last) | |
23102 | ||
23103 | { | |
23104 | if (__first != __last) | |
23105 | { | |
23106 | if (this != &__x) | |
23107 | _M_check_equal_allocators(__x); | |
23108 | ||
23109 | this->_M_transfer(__position, __first, __last); | |
23110 | } | |
23111 | } | |
23112 | # 1165 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23113 | void | |
23114 | remove(const _Tp& __value); | |
23115 | # 1179 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23116 | template<typename _Predicate> | |
23117 | void | |
23118 | remove_if(_Predicate); | |
23119 | # 1193 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23120 | void | |
23121 | unique(); | |
23122 | # 1208 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23123 | template<typename _BinaryPredicate> | |
23124 | void | |
23125 | unique(_BinaryPredicate); | |
23126 | # 1221 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23127 | void | |
23128 | ||
23129 | ||
23130 | ||
23131 | merge(list& __x); | |
23132 | # 1240 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23133 | template<typename _StrictWeakOrdering> | |
23134 | void | |
23135 | ||
23136 | ||
23137 | ||
23138 | merge(list&, _StrictWeakOrdering); | |
23139 | ||
23140 | ||
23141 | ||
23142 | ||
23143 | ||
23144 | ||
23145 | ||
23146 | void | |
23147 | reverse() | |
23148 | { this->_M_impl._M_node.reverse(); } | |
23149 | ||
23150 | ||
23151 | ||
23152 | ||
23153 | ||
23154 | ||
23155 | ||
23156 | void | |
23157 | sort(); | |
23158 | ||
23159 | ||
23160 | ||
23161 | ||
23162 | ||
23163 | ||
23164 | ||
23165 | template<typename _StrictWeakOrdering> | |
23166 | void | |
23167 | sort(_StrictWeakOrdering); | |
23168 | ||
23169 | protected: | |
23170 | ||
23171 | ||
23172 | ||
23173 | ||
23174 | ||
23175 | ||
23176 | template<typename _Integer> | |
23177 | void | |
23178 | _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) | |
23179 | { _M_fill_initialize(static_cast<size_type>(__n), __x); } | |
23180 | ||
23181 | ||
23182 | template<typename _InputIterator> | |
23183 | void | |
23184 | _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, | |
23185 | __false_type) | |
23186 | { | |
23187 | for (; __first != __last; ++__first) | |
23188 | push_back(*__first); | |
23189 | } | |
23190 | ||
23191 | ||
23192 | ||
23193 | void | |
23194 | _M_fill_initialize(size_type __n, const value_type& __x) | |
23195 | { | |
23196 | for (; __n > 0; --__n) | |
23197 | push_back(__x); | |
23198 | } | |
23199 | # 1314 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23200 | template<typename _Integer> | |
23201 | void | |
23202 | _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) | |
23203 | { _M_fill_assign(__n, __val); } | |
23204 | ||
23205 | ||
23206 | template<typename _InputIterator> | |
23207 | void | |
23208 | _M_assign_dispatch(_InputIterator __first, _InputIterator __last, | |
23209 | __false_type); | |
23210 | ||
23211 | ||
23212 | ||
23213 | void | |
23214 | _M_fill_assign(size_type __n, const value_type& __val); | |
23215 | ||
23216 | ||
23217 | ||
23218 | void | |
23219 | _M_transfer(iterator __position, iterator __first, iterator __last) | |
23220 | { __position._M_node->transfer(__first._M_node, __last._M_node); } | |
23221 | ||
23222 | ||
23223 | ||
23224 | void | |
23225 | _M_insert(iterator __position, const value_type& __x) | |
23226 | { | |
23227 | _Node* __tmp = _M_create_node(__x); | |
23228 | __tmp->hook(__position._M_node); | |
23229 | } | |
23230 | # 1355 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23231 | void | |
23232 | _M_erase(iterator __position) | |
23233 | { | |
23234 | __position._M_node->unhook(); | |
23235 | _Node* __n = static_cast<_Node*>(__position._M_node); | |
23236 | _M_get_Tp_allocator().destroy(&__n->_M_data); | |
23237 | _M_put_node(__n); | |
23238 | } | |
23239 | ||
23240 | ||
23241 | void | |
23242 | _M_check_equal_allocators(list& __x) | |
23243 | { | |
23244 | if (std::__alloc_neq<typename _Base::_Node_alloc_type>:: | |
23245 | _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator())) | |
23246 | __throw_runtime_error(("list::_M_check_equal_allocators")); | |
23247 | } | |
23248 | }; | |
23249 | # 1384 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23250 | template<typename _Tp, typename _Alloc> | |
23251 | inline bool | |
23252 | operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | |
23253 | { | |
23254 | typedef typename list<_Tp, _Alloc>::const_iterator const_iterator; | |
23255 | const_iterator __end1 = __x.end(); | |
23256 | const_iterator __end2 = __y.end(); | |
23257 | ||
23258 | const_iterator __i1 = __x.begin(); | |
23259 | const_iterator __i2 = __y.begin(); | |
23260 | while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) | |
23261 | { | |
23262 | ++__i1; | |
23263 | ++__i2; | |
23264 | } | |
23265 | return __i1 == __end1 && __i2 == __end2; | |
23266 | } | |
23267 | # 1413 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23268 | template<typename _Tp, typename _Alloc> | |
23269 | inline bool | |
23270 | operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | |
23271 | { return std::lexicographical_compare(__x.begin(), __x.end(), | |
23272 | __y.begin(), __y.end()); } | |
23273 | ||
23274 | ||
23275 | template<typename _Tp, typename _Alloc> | |
23276 | inline bool | |
23277 | operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | |
23278 | { return !(__x == __y); } | |
23279 | ||
23280 | ||
23281 | template<typename _Tp, typename _Alloc> | |
23282 | inline bool | |
23283 | operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | |
23284 | { return __y < __x; } | |
23285 | ||
23286 | ||
23287 | template<typename _Tp, typename _Alloc> | |
23288 | inline bool | |
23289 | operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | |
23290 | { return !(__y < __x); } | |
23291 | ||
23292 | ||
23293 | template<typename _Tp, typename _Alloc> | |
23294 | inline bool | |
23295 | operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | |
23296 | { return !(__x < __y); } | |
23297 | ||
23298 | ||
23299 | template<typename _Tp, typename _Alloc> | |
23300 | inline void | |
23301 | swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) | |
23302 | { __x.swap(__y); } | |
23303 | # 1461 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_list.h" 3 | |
23304 | } | |
23305 | # 69 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/list" 2 3 | |
23306 | ||
23307 | ||
23308 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/list.tcc" 1 3 | |
23309 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/list.tcc" 3 | |
23310 | #define _LIST_TCC 1 | |
23311 | ||
23312 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
23313 | ||
23314 | template<typename _Tp, typename _Alloc> | |
23315 | void | |
23316 | _List_base<_Tp, _Alloc>:: | |
23317 | _M_clear() | |
23318 | { | |
23319 | typedef _List_node<_Tp> _Node; | |
23320 | _Node* __cur = static_cast<_Node*>(this->_M_impl._M_node._M_next); | |
23321 | while (__cur != &this->_M_impl._M_node) | |
23322 | { | |
23323 | _Node* __tmp = __cur; | |
23324 | __cur = static_cast<_Node*>(__cur->_M_next); | |
23325 | _M_get_Tp_allocator().destroy(&__tmp->_M_data); | |
23326 | _M_put_node(__tmp); | |
23327 | } | |
23328 | } | |
23329 | # 96 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/list.tcc" 3 | |
23330 | template<typename _Tp, typename _Alloc> | |
23331 | typename list<_Tp, _Alloc>::iterator | |
23332 | list<_Tp, _Alloc>:: | |
23333 | insert(iterator __position, const value_type& __x) | |
23334 | { | |
23335 | _Node* __tmp = _M_create_node(__x); | |
23336 | __tmp->hook(__position._M_node); | |
23337 | return iterator(__tmp); | |
23338 | } | |
23339 | ||
23340 | template<typename _Tp, typename _Alloc> | |
23341 | typename list<_Tp, _Alloc>::iterator | |
23342 | list<_Tp, _Alloc>:: | |
23343 | erase(iterator __position) | |
23344 | { | |
23345 | iterator __ret = iterator(__position._M_node->_M_next); | |
23346 | _M_erase(__position); | |
23347 | return __ret; | |
23348 | } | |
23349 | ||
23350 | template<typename _Tp, typename _Alloc> | |
23351 | void | |
23352 | list<_Tp, _Alloc>:: | |
23353 | resize(size_type __new_size, value_type __x) | |
23354 | { | |
23355 | iterator __i = begin(); | |
23356 | size_type __len = 0; | |
23357 | for (; __i != end() && __len < __new_size; ++__i, ++__len) | |
23358 | ; | |
23359 | if (__len == __new_size) | |
23360 | erase(__i, end()); | |
23361 | else | |
23362 | insert(end(), __new_size - __len, __x); | |
23363 | } | |
23364 | ||
23365 | template<typename _Tp, typename _Alloc> | |
23366 | list<_Tp, _Alloc>& | |
23367 | list<_Tp, _Alloc>:: | |
23368 | operator=(const list& __x) | |
23369 | { | |
23370 | if (this != &__x) | |
23371 | { | |
23372 | iterator __first1 = begin(); | |
23373 | iterator __last1 = end(); | |
23374 | const_iterator __first2 = __x.begin(); | |
23375 | const_iterator __last2 = __x.end(); | |
23376 | for (; __first1 != __last1 && __first2 != __last2; | |
23377 | ++__first1, ++__first2) | |
23378 | *__first1 = *__first2; | |
23379 | if (__first2 == __last2) | |
23380 | erase(__first1, __last1); | |
23381 | else | |
23382 | insert(__last1, __first2, __last2); | |
23383 | } | |
23384 | return *this; | |
23385 | } | |
23386 | ||
23387 | template<typename _Tp, typename _Alloc> | |
23388 | void | |
23389 | list<_Tp, _Alloc>:: | |
23390 | _M_fill_assign(size_type __n, const value_type& __val) | |
23391 | { | |
23392 | iterator __i = begin(); | |
23393 | for (; __i != end() && __n > 0; ++__i, --__n) | |
23394 | *__i = __val; | |
23395 | if (__n > 0) | |
23396 | insert(end(), __n, __val); | |
23397 | else | |
23398 | erase(__i, end()); | |
23399 | } | |
23400 | ||
23401 | template<typename _Tp, typename _Alloc> | |
23402 | template <typename _InputIterator> | |
23403 | void | |
23404 | list<_Tp, _Alloc>:: | |
23405 | _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, | |
23406 | __false_type) | |
23407 | { | |
23408 | iterator __first1 = begin(); | |
23409 | iterator __last1 = end(); | |
23410 | for (; __first1 != __last1 && __first2 != __last2; | |
23411 | ++__first1, ++__first2) | |
23412 | *__first1 = *__first2; | |
23413 | if (__first2 == __last2) | |
23414 | erase(__first1, __last1); | |
23415 | else | |
23416 | insert(__last1, __first2, __last2); | |
23417 | } | |
23418 | ||
23419 | template<typename _Tp, typename _Alloc> | |
23420 | void | |
23421 | list<_Tp, _Alloc>:: | |
23422 | remove(const value_type& __value) | |
23423 | { | |
23424 | iterator __first = begin(); | |
23425 | iterator __last = end(); | |
23426 | iterator __extra = __last; | |
23427 | while (__first != __last) | |
23428 | { | |
23429 | iterator __next = __first; | |
23430 | ++__next; | |
23431 | if (*__first == __value) | |
23432 | { | |
23433 | ||
23434 | ||
23435 | ||
23436 | if (&*__first != &__value) | |
23437 | _M_erase(__first); | |
23438 | else | |
23439 | __extra = __first; | |
23440 | } | |
23441 | __first = __next; | |
23442 | } | |
23443 | if (__extra != __last) | |
23444 | _M_erase(__extra); | |
23445 | } | |
23446 | ||
23447 | template<typename _Tp, typename _Alloc> | |
23448 | void | |
23449 | list<_Tp, _Alloc>:: | |
23450 | unique() | |
23451 | { | |
23452 | iterator __first = begin(); | |
23453 | iterator __last = end(); | |
23454 | if (__first == __last) | |
23455 | return; | |
23456 | iterator __next = __first; | |
23457 | while (++__next != __last) | |
23458 | { | |
23459 | if (*__first == *__next) | |
23460 | _M_erase(__next); | |
23461 | else | |
23462 | __first = __next; | |
23463 | __next = __first; | |
23464 | } | |
23465 | } | |
23466 | ||
23467 | template<typename _Tp, typename _Alloc> | |
23468 | void | |
23469 | list<_Tp, _Alloc>:: | |
23470 | ||
23471 | ||
23472 | ||
23473 | merge(list& __x) | |
23474 | ||
23475 | { | |
23476 | ||
23477 | ||
23478 | if (this != &__x) | |
23479 | { | |
23480 | _M_check_equal_allocators(__x); | |
23481 | ||
23482 | iterator __first1 = begin(); | |
23483 | iterator __last1 = end(); | |
23484 | iterator __first2 = __x.begin(); | |
23485 | iterator __last2 = __x.end(); | |
23486 | while (__first1 != __last1 && __first2 != __last2) | |
23487 | if (*__first2 < *__first1) | |
23488 | { | |
23489 | iterator __next = __first2; | |
23490 | _M_transfer(__first1, __first2, ++__next); | |
23491 | __first2 = __next; | |
23492 | } | |
23493 | else | |
23494 | ++__first1; | |
23495 | if (__first2 != __last2) | |
23496 | _M_transfer(__last1, __first2, __last2); | |
23497 | } | |
23498 | } | |
23499 | ||
23500 | template<typename _Tp, typename _Alloc> | |
23501 | template <typename _StrictWeakOrdering> | |
23502 | void | |
23503 | list<_Tp, _Alloc>:: | |
23504 | ||
23505 | ||
23506 | ||
23507 | merge(list& __x, _StrictWeakOrdering __comp) | |
23508 | ||
23509 | { | |
23510 | ||
23511 | ||
23512 | if (this != &__x) | |
23513 | { | |
23514 | _M_check_equal_allocators(__x); | |
23515 | ||
23516 | iterator __first1 = begin(); | |
23517 | iterator __last1 = end(); | |
23518 | iterator __first2 = __x.begin(); | |
23519 | iterator __last2 = __x.end(); | |
23520 | while (__first1 != __last1 && __first2 != __last2) | |
23521 | if (__comp(*__first2, *__first1)) | |
23522 | { | |
23523 | iterator __next = __first2; | |
23524 | _M_transfer(__first1, __first2, ++__next); | |
23525 | __first2 = __next; | |
23526 | } | |
23527 | else | |
23528 | ++__first1; | |
23529 | if (__first2 != __last2) | |
23530 | _M_transfer(__last1, __first2, __last2); | |
23531 | } | |
23532 | } | |
23533 | ||
23534 | template<typename _Tp, typename _Alloc> | |
23535 | void | |
23536 | list<_Tp, _Alloc>:: | |
23537 | sort() | |
23538 | { | |
23539 | ||
23540 | if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node | |
23541 | && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) | |
23542 | { | |
23543 | list __carry; | |
23544 | list __tmp[64]; | |
23545 | list * __fill = &__tmp[0]; | |
23546 | list * __counter; | |
23547 | ||
23548 | do | |
23549 | { | |
23550 | __carry.splice(__carry.begin(), *this, begin()); | |
23551 | ||
23552 | for(__counter = &__tmp[0]; | |
23553 | __counter != __fill && !__counter->empty(); | |
23554 | ++__counter) | |
23555 | { | |
23556 | __counter->merge(__carry); | |
23557 | __carry.swap(*__counter); | |
23558 | } | |
23559 | __carry.swap(*__counter); | |
23560 | if (__counter == __fill) | |
23561 | ++__fill; | |
23562 | } | |
23563 | while ( !empty() ); | |
23564 | ||
23565 | for (__counter = &__tmp[1]; __counter != __fill; ++__counter) | |
23566 | __counter->merge(*(__counter - 1)); | |
23567 | swap( *(__fill - 1) ); | |
23568 | } | |
23569 | } | |
23570 | ||
23571 | template<typename _Tp, typename _Alloc> | |
23572 | template <typename _Predicate> | |
23573 | void | |
23574 | list<_Tp, _Alloc>:: | |
23575 | remove_if(_Predicate __pred) | |
23576 | { | |
23577 | iterator __first = begin(); | |
23578 | iterator __last = end(); | |
23579 | while (__first != __last) | |
23580 | { | |
23581 | iterator __next = __first; | |
23582 | ++__next; | |
23583 | if (__pred(*__first)) | |
23584 | _M_erase(__first); | |
23585 | __first = __next; | |
23586 | } | |
23587 | } | |
23588 | ||
23589 | template<typename _Tp, typename _Alloc> | |
23590 | template <typename _BinaryPredicate> | |
23591 | void | |
23592 | list<_Tp, _Alloc>:: | |
23593 | unique(_BinaryPredicate __binary_pred) | |
23594 | { | |
23595 | iterator __first = begin(); | |
23596 | iterator __last = end(); | |
23597 | if (__first == __last) | |
23598 | return; | |
23599 | iterator __next = __first; | |
23600 | while (++__next != __last) | |
23601 | { | |
23602 | if (__binary_pred(*__first, *__next)) | |
23603 | _M_erase(__next); | |
23604 | else | |
23605 | __first = __next; | |
23606 | __next = __first; | |
23607 | } | |
23608 | } | |
23609 | ||
23610 | template<typename _Tp, typename _Alloc> | |
23611 | template <typename _StrictWeakOrdering> | |
23612 | void | |
23613 | list<_Tp, _Alloc>:: | |
23614 | sort(_StrictWeakOrdering __comp) | |
23615 | { | |
23616 | ||
23617 | if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node | |
23618 | && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) | |
23619 | { | |
23620 | list __carry; | |
23621 | list __tmp[64]; | |
23622 | list * __fill = &__tmp[0]; | |
23623 | list * __counter; | |
23624 | ||
23625 | do | |
23626 | { | |
23627 | __carry.splice(__carry.begin(), *this, begin()); | |
23628 | ||
23629 | for(__counter = &__tmp[0]; | |
23630 | __counter != __fill && !__counter->empty(); | |
23631 | ++__counter) | |
23632 | { | |
23633 | __counter->merge(__carry, __comp); | |
23634 | __carry.swap(*__counter); | |
23635 | } | |
23636 | __carry.swap(*__counter); | |
23637 | if (__counter == __fill) | |
23638 | ++__fill; | |
23639 | } | |
23640 | while ( !empty() ); | |
23641 | ||
23642 | for (__counter = &__tmp[1]; __counter != __fill; ++__counter) | |
23643 | __counter->merge(*(__counter - 1), __comp); | |
23644 | swap(*(__fill - 1)); | |
23645 | } | |
23646 | } | |
23647 | ||
23648 | } | |
23649 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/list" 2 3 | |
23650 | # 52 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" 2 | |
23651 | ||
23652 | ||
23653 | ||
23654 | ||
23655 | ||
23656 | ||
23657 | ||
23658 | ||
23659 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
23660 | ||
23661 | template <typename T> class QVector; | |
23662 | template <typename T> class QSet; | |
23663 | ||
23664 | struct __attribute__((visibility("default"))) QListData { | |
23665 | struct Data { | |
23666 | QBasicAtomicInt ref; | |
23667 | int alloc, begin, end; | |
23668 | uint sharable : 1; | |
23669 | void *array[1]; | |
23670 | }; | |
23671 | enum { DataHeaderSize = sizeof(Data) - sizeof(void *) }; | |
23672 | ||
23673 | Data *detach(); | |
23674 | Data *detach2(); | |
23675 | void realloc(int alloc); | |
23676 | static Data shared_null; | |
23677 | Data *d; | |
23678 | void **erase(void **xi); | |
23679 | void **append(); | |
23680 | void **append(const QListData &l); | |
23681 | void **prepend(); | |
23682 | void **insert(int i); | |
23683 | void remove(int i); | |
23684 | void remove(int i, int n); | |
23685 | void move(int from, int to); | |
23686 | inline int size() const { return d->end - d->begin; } | |
23687 | inline bool isEmpty() const { return d->end == d->begin; } | |
23688 | inline void **at(int i) const { return d->array + d->begin + i; } | |
23689 | inline void **begin() const { return d->array + d->begin; } | |
23690 | inline void **end() const { return d->array + d->end; } | |
23691 | }; | |
23692 | ||
23693 | template <typename T> | |
23694 | class QList | |
23695 | { | |
23696 | struct Node { void *v; | |
23697 | ||
23698 | ||
23699 | ||
23700 | inline T &t() | |
23701 | { return *reinterpret_cast<T*>(QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic | |
23702 | ? v : this); } | |
23703 | ||
23704 | }; | |
23705 | ||
23706 | union { QListData p; QListData::Data *d; }; | |
23707 | ||
23708 | public: | |
23709 | inline QList() : d(&QListData::shared_null) { d->ref.ref(); } | |
23710 | inline QList(const QList<T> &l) : d(l.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } | |
23711 | ~QList(); | |
23712 | QList<T> &operator=(const QList<T> &l); | |
23713 | bool operator==(const QList<T> &l) const; | |
23714 | inline bool operator!=(const QList<T> &l) const { return !(*this == l); } | |
23715 | ||
23716 | inline int size() const { return p.size(); } | |
23717 | ||
23718 | inline void detach() { if (d->ref != 1) detach_helper(); } | |
23719 | inline bool isDetached() const { return d->ref == 1; } | |
23720 | inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } | |
23721 | ||
23722 | inline bool isEmpty() const { return p.isEmpty(); } | |
23723 | ||
23724 | void clear(); | |
23725 | ||
23726 | const T &at(int i) const; | |
23727 | const T &operator[](int i) const; | |
23728 | T &operator[](int i); | |
23729 | ||
23730 | void append(const T &t); | |
23731 | void append(const QList<T> &t); | |
23732 | void prepend(const T &t); | |
23733 | void insert(int i, const T &t); | |
23734 | void replace(int i, const T &t); | |
23735 | void removeAt(int i); | |
23736 | int removeAll(const T &t); | |
23737 | bool removeOne(const T &t); | |
23738 | T takeAt(int i); | |
23739 | T takeFirst(); | |
23740 | T takeLast(); | |
23741 | void move(int from, int to); | |
23742 | void swap(int i, int j); | |
23743 | int indexOf(const T &t, int from = 0) const; | |
23744 | int lastIndexOf(const T &t, int from = -1) const; | |
23745 | QBool contains(const T &t) const; | |
23746 | int count(const T &t) const; | |
23747 | ||
23748 | class const_iterator; | |
23749 | ||
23750 | class iterator { | |
23751 | public: | |
23752 | Node *i; | |
23753 | typedef std::random_access_iterator_tag iterator_category; | |
23754 | typedef ptrdiff_t difference_type; | |
23755 | typedef T value_type; | |
23756 | typedef T *pointer; | |
23757 | typedef T &reference; | |
23758 | ||
23759 | inline iterator() : i(0) {} | |
23760 | inline iterator(Node *n) : i(n) {} | |
23761 | inline iterator(const iterator &o): i(o.i){} | |
23762 | inline T &operator*() const { return i->t(); } | |
23763 | inline T *operator->() const { return &i->t(); } | |
23764 | inline T &operator[](int j) const { return i[j].t(); } | |
23765 | inline bool operator==(const iterator &o) const { return i == o.i; } | |
23766 | inline bool operator!=(const iterator &o) const { return i != o.i; } | |
23767 | inline bool operator<(const iterator& other) const { return i < other.i; } | |
23768 | inline bool operator<=(const iterator& other) const { return i <= other.i; } | |
23769 | inline bool operator>(const iterator& other) const { return i > other.i; } | |
23770 | inline bool operator>=(const iterator& other) const { return i >= other.i; } | |
23771 | ||
23772 | inline bool operator==(const const_iterator &o) const | |
23773 | { return i == o.i; } | |
23774 | inline bool operator!=(const const_iterator &o) const | |
23775 | { return i != o.i; } | |
23776 | inline bool operator<(const const_iterator& other) const | |
23777 | { return i < other.i; } | |
23778 | inline bool operator<=(const const_iterator& other) const | |
23779 | { return i <= other.i; } | |
23780 | inline bool operator>(const const_iterator& other) const | |
23781 | { return i > other.i; } | |
23782 | inline bool operator>=(const const_iterator& other) const | |
23783 | { return i >= other.i; } | |
23784 | ||
23785 | inline iterator &operator++() { ++i; return *this; } | |
23786 | inline iterator operator++(int) { Node *n = i; ++i; return n; } | |
23787 | inline iterator &operator--() { i--; return *this; } | |
23788 | inline iterator operator--(int) { Node *n = i; i--; return n; } | |
23789 | inline iterator &operator+=(int j) { i+=j; return *this; } | |
23790 | inline iterator &operator-=(int j) { i-=j; return *this; } | |
23791 | inline iterator operator+(int j) const { return iterator(i+j); } | |
23792 | inline iterator operator-(int j) const { return iterator(i-j); } | |
23793 | inline int operator-(iterator j) const { return i - j.i; } | |
23794 | }; | |
23795 | friend class iterator; | |
23796 | ||
23797 | class const_iterator { | |
23798 | public: | |
23799 | Node *i; | |
23800 | typedef std::random_access_iterator_tag iterator_category; | |
23801 | typedef ptrdiff_t difference_type; | |
23802 | typedef T value_type; | |
23803 | typedef const T *pointer; | |
23804 | typedef const T &reference; | |
23805 | ||
23806 | inline const_iterator() : i(0) {} | |
23807 | inline const_iterator(Node *n) : i(n) {} | |
23808 | inline const_iterator(const const_iterator &o): i(o.i) {} | |
23809 | ||
23810 | ||
23811 | ||
23812 | inline const_iterator(const iterator &o): i(o.i) {} | |
23813 | ||
23814 | inline const T &operator*() const { return i->t(); } | |
23815 | inline const T *operator->() const { return &i->t(); } | |
23816 | inline const T &operator[](int j) const { return i[j].t(); } | |
23817 | inline bool operator==(const const_iterator &o) const { return i == o.i; } | |
23818 | inline bool operator!=(const const_iterator &o) const { return i != o.i; } | |
23819 | inline bool operator<(const const_iterator& other) const { return i < other.i; } | |
23820 | inline bool operator<=(const const_iterator& other) const { return i <= other.i; } | |
23821 | inline bool operator>(const const_iterator& other) const { return i > other.i; } | |
23822 | inline bool operator>=(const const_iterator& other) const { return i >= other.i; } | |
23823 | inline const_iterator &operator++() { ++i; return *this; } | |
23824 | inline const_iterator operator++(int) { Node *n = i; ++i; return n; } | |
23825 | inline const_iterator &operator--() { i--; return *this; } | |
23826 | inline const_iterator operator--(int) { Node *n = i; i--; return n; } | |
23827 | inline const_iterator &operator+=(int j) { i+=j; return *this; } | |
23828 | inline const_iterator &operator-=(int j) { i-=j; return *this; } | |
23829 | inline const_iterator operator+(int j) const { return const_iterator(i+j); } | |
23830 | inline const_iterator operator-(int j) const { return const_iterator(i-j); } | |
23831 | inline int operator-(const_iterator j) const { return i - j.i; } | |
23832 | }; | |
23833 | friend class const_iterator; | |
23834 | ||
23835 | ||
23836 | inline iterator begin() { detach(); return reinterpret_cast<Node *>(p.begin()); } | |
23837 | inline const_iterator begin() const { return reinterpret_cast<Node *>(p.begin()); } | |
23838 | inline const_iterator constBegin() const { return reinterpret_cast<Node *>(p.begin()); } | |
23839 | inline iterator end() { detach(); return reinterpret_cast<Node *>(p.end()); } | |
23840 | inline const_iterator end() const { return reinterpret_cast<Node *>(p.end()); } | |
23841 | inline const_iterator constEnd() const { return reinterpret_cast<Node *>(p.end()); } | |
23842 | iterator insert(iterator before, const T &t); | |
23843 | iterator erase(iterator pos); | |
23844 | iterator erase(iterator first, iterator last); | |
23845 | ||
23846 | ||
23847 | typedef iterator Iterator; | |
23848 | typedef const_iterator ConstIterator; | |
23849 | inline int count() const { return p.size(); } | |
23850 | inline int length() const { return p.size(); } | |
23851 | inline T& first() { qt_noop(); return *begin(); } | |
23852 | inline const T& first() const { qt_noop(); return *begin(); } | |
23853 | T& last() { qt_noop(); return *(--end()); } | |
23854 | const T& last() const { qt_noop(); return *(--end()); } | |
23855 | inline void removeFirst() { qt_noop(); erase(begin()); } | |
23856 | inline void removeLast() { qt_noop(); erase(--end()); } | |
23857 | inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } | |
23858 | inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } | |
23859 | QList<T> mid(int pos, int length = -1) const; | |
23860 | ||
23861 | T value(int i) const; | |
23862 | T value(int i, const T &defaultValue) const; | |
23863 | ||
23864 | ||
23865 | inline void push_back(const T &t) { append(t); } | |
23866 | inline void push_front(const T &t) { prepend(t); } | |
23867 | inline T& front() { return first(); } | |
23868 | inline const T& front() const { return first(); } | |
23869 | inline T& back() { return last(); } | |
23870 | inline const T& back() const { return last(); } | |
23871 | inline void pop_front() { removeFirst(); } | |
23872 | inline void pop_back() { removeLast(); } | |
23873 | inline bool empty() const { return isEmpty(); } | |
23874 | typedef int size_type; | |
23875 | typedef T value_type; | |
23876 | typedef value_type *pointer; | |
23877 | typedef const value_type *const_pointer; | |
23878 | typedef value_type &reference; | |
23879 | typedef const value_type &const_reference; | |
23880 | typedef ptrdiff_t difference_type; | |
23881 | # 298 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlist.h" | |
23882 | QList<T> &operator+=(const QList<T> &l); | |
23883 | inline QList<T> operator+(const QList<T> &l) const | |
23884 | { QList n = *this; n += l; return n; } | |
23885 | inline QList<T> &operator+=(const T &t) | |
23886 | { append(t); return *this; } | |
23887 | inline QList<T> &operator<< (const T &t) | |
23888 | { append(t); return *this; } | |
23889 | inline QList<T> &operator<<(const QList<T> &l) | |
23890 | { *this += l; return *this; } | |
23891 | ||
23892 | QVector<T> toVector() const; | |
23893 | QSet<T> toSet() const; | |
23894 | ||
23895 | static QList<T> fromVector(const QVector<T> &vector); | |
23896 | static QList<T> fromSet(const QSet<T> &set); | |
23897 | ||
23898 | ||
23899 | static inline QList<T> fromStdList(const std::list<T> &list) | |
23900 | { QList<T> tmp; qCopy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; } | |
23901 | inline std::list<T> toStdList() const | |
23902 | { std::list<T> tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; } | |
23903 | ||
23904 | ||
23905 | private: | |
23906 | void detach_helper(); | |
23907 | void free(QListData::Data *d); | |
23908 | ||
23909 | void node_construct(Node *n, const T &t); | |
23910 | void node_destruct(Node *n); | |
23911 | void node_copy(Node *from, Node *to, Node *src); | |
23912 | void node_destruct(Node *from, Node *to); | |
23913 | }; | |
23914 | ||
23915 | ||
23916 | ||
23917 | ||
23918 | ||
23919 | ||
23920 | ||
23921 | template <typename T> | |
23922 | inline void QList<T>::node_construct(Node *n, const T &t) | |
23923 | { | |
23924 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) n->v = new T(t); | |
23925 | else if (QTypeInfo<T>::isComplex) new (n) T(t); | |
23926 | else *reinterpret_cast<T*>(n) = t; | |
23927 | } | |
23928 | ||
23929 | template <typename T> | |
23930 | inline void QList<T>::node_destruct(Node *n) | |
23931 | { | |
23932 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) delete reinterpret_cast<T*>(n->v); | |
23933 | else if (QTypeInfo<T>::isComplex) reinterpret_cast<T*>(n)->~T(); | |
23934 | } | |
23935 | ||
23936 | template <typename T> | |
23937 | inline void QList<T>::node_copy(Node *from, Node *to, Node *src) | |
23938 | { | |
23939 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) | |
23940 | while(from != to) | |
23941 | (from++)->v = new T(*reinterpret_cast<T*>((src++)->v)); | |
23942 | else if (QTypeInfo<T>::isComplex) | |
23943 | while(from != to) | |
23944 | new (from++) T(*reinterpret_cast<T*>(src++)); | |
23945 | } | |
23946 | ||
23947 | template <typename T> | |
23948 | inline void QList<T>::node_destruct(Node *from, Node *to) | |
23949 | { | |
23950 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) | |
23951 | while(from != to) --to, delete reinterpret_cast<T*>(to->v); | |
23952 | else if (QTypeInfo<T>::isComplex) | |
23953 | while (from != to) --to, reinterpret_cast<T*>(to)->~T(); | |
23954 | } | |
23955 | ||
23956 | template <typename T> | |
23957 | inline QList<T> &QList<T>::operator=(const QList<T> &l) | |
23958 | { | |
23959 | if (d != l.d) { | |
23960 | l.d->ref.ref(); | |
23961 | if (!d->ref.deref()) | |
23962 | free(d); | |
23963 | d = l.d; | |
23964 | if (!d->sharable) | |
23965 | detach_helper(); | |
23966 | } | |
23967 | return *this; | |
23968 | } | |
23969 | template <typename T> | |
23970 | inline typename QList<T>::iterator QList<T>::insert(iterator before, const T &t) | |
23971 | { Node *n = reinterpret_cast<Node *>(p.insert(before.i-reinterpret_cast<Node *>(p.begin()))); | |
23972 | node_construct(n,t); return n; } | |
23973 | template <typename T> | |
23974 | inline typename QList<T>::iterator QList<T>::erase(iterator it) | |
23975 | { node_destruct(it.i); | |
23976 | return reinterpret_cast<Node *>(p.erase(reinterpret_cast<void**>(it.i))); } | |
23977 | template <typename T> | |
23978 | inline const T &QList<T>::at(int i) const | |
23979 | { qt_noop(); | |
23980 | return reinterpret_cast<Node *>(p.at(i))->t(); } | |
23981 | template <typename T> | |
23982 | inline const T &QList<T>::operator[](int i) const | |
23983 | { qt_noop(); | |
23984 | return reinterpret_cast<Node *>(p.at(i))->t(); } | |
23985 | template <typename T> | |
23986 | inline T &QList<T>::operator[](int i) | |
23987 | { qt_noop(); | |
23988 | detach(); return reinterpret_cast<Node *>(p.at(i))->t(); } | |
23989 | template <typename T> | |
23990 | inline void QList<T>::removeAt(int i) | |
23991 | { if(i >= 0 && i < p.size()) { detach(); | |
23992 | node_destruct(reinterpret_cast<Node *>(p.at(i))); p.remove(i); } } | |
23993 | template <typename T> | |
23994 | inline T QList<T>::takeAt(int i) | |
23995 | { qt_noop(); | |
23996 | detach(); Node *n = reinterpret_cast<Node *>(p.at(i)); T t = n->t(); node_destruct(n); | |
23997 | p.remove(i); return t; } | |
23998 | template <typename T> | |
23999 | inline T QList<T>::takeFirst() | |
24000 | { T t = first(); removeFirst(); return t; } | |
24001 | template <typename T> | |
24002 | inline T QList<T>::takeLast() | |
24003 | { T t = last(); removeLast(); return t; } | |
24004 | ||
24005 | template <typename T> | |
24006 | void QList<T>::append(const T &t) | |
24007 | { | |
24008 | detach(); | |
24009 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) { | |
24010 | node_construct(reinterpret_cast<Node *>(p.append()), t); | |
24011 | } else { | |
24012 | const T cpy(t); | |
24013 | node_construct(reinterpret_cast<Node *>(p.append()), cpy); | |
24014 | } | |
24015 | } | |
24016 | ||
24017 | template <typename T> | |
24018 | inline void QList<T>::prepend(const T &t) | |
24019 | { | |
24020 | detach(); | |
24021 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) { | |
24022 | node_construct(reinterpret_cast<Node *>(p.prepend()), t); | |
24023 | } else { | |
24024 | const T cpy(t); | |
24025 | node_construct(reinterpret_cast<Node *>(p.prepend()), cpy); | |
24026 | } | |
24027 | } | |
24028 | ||
24029 | template <typename T> | |
24030 | inline void QList<T>::insert(int i, const T &t) | |
24031 | { | |
24032 | detach(); | |
24033 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) { | |
24034 | node_construct(reinterpret_cast<Node *>(p.insert(i)), t); | |
24035 | } else { | |
24036 | const T cpy(t); | |
24037 | node_construct(reinterpret_cast<Node *>(p.insert(i)), cpy); | |
24038 | } | |
24039 | } | |
24040 | ||
24041 | template <typename T> | |
24042 | inline void QList<T>::replace(int i, const T &t) | |
24043 | { | |
24044 | qt_noop(); | |
24045 | detach(); | |
24046 | if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) { | |
24047 | reinterpret_cast<Node *>(p.at(i))->t() = t; | |
24048 | } else { | |
24049 | const T cpy(t); | |
24050 | reinterpret_cast<Node *>(p.at(i))->t() = cpy; | |
24051 | } | |
24052 | } | |
24053 | ||
24054 | template <typename T> | |
24055 | inline void QList<T>::swap(int i, int j) | |
24056 | { | |
24057 | qt_noop(); | |
24058 | ||
24059 | detach(); | |
24060 | void *t = d->array[d->begin + i]; | |
24061 | d->array[d->begin + i] = d->array[d->begin + j]; | |
24062 | d->array[d->begin + j] = t; | |
24063 | } | |
24064 | ||
24065 | template <typename T> | |
24066 | inline void QList<T>::move(int from, int to) | |
24067 | { | |
24068 | qt_noop(); | |
24069 | ||
24070 | detach(); | |
24071 | p.move(from, to); | |
24072 | } | |
24073 | ||
24074 | template<typename T> | |
24075 | QList<T> QList<T>::mid(int pos, int alength) const | |
24076 | { | |
24077 | if (alength < 0) | |
24078 | alength = size() - pos; | |
24079 | if (pos == 0 && alength == size()) | |
24080 | return *this; | |
24081 | QList<T> cpy; | |
24082 | if (pos + alength > size()) | |
24083 | alength = size() - pos; | |
24084 | for (int i = pos; i < pos + alength; ++i) | |
24085 | cpy += at(i); | |
24086 | return cpy; | |
24087 | } | |
24088 | ||
24089 | template<typename T> | |
24090 | T QList<T>::value(int i) const | |
24091 | { | |
24092 | if (i < 0 || i >= p.size()) { | |
24093 | return T(); | |
24094 | } | |
24095 | return reinterpret_cast<Node *>(p.at(i))->t(); | |
24096 | } | |
24097 | ||
24098 | template<typename T> | |
24099 | T QList<T>::value(int i, const T& defaultValue) const | |
24100 | { | |
24101 | return ((i < 0 || i >= p.size()) ? defaultValue : reinterpret_cast<Node *>(p.at(i))->t()); | |
24102 | } | |
24103 | ||
24104 | template <typename T> | |
24105 | void QList<T>::detach_helper() | |
24106 | { | |
24107 | Node *n = reinterpret_cast<Node *>(p.begin()); | |
24108 | QListData::Data *x = p.detach2(); | |
24109 | node_copy(reinterpret_cast<Node *>(p.begin()), reinterpret_cast<Node *>(p.end()), n); | |
24110 | if (!x->ref.deref()) | |
24111 | free(x); | |
24112 | } | |
24113 | ||
24114 | template <typename T> | |
24115 | QList<T>::~QList() | |
24116 | { | |
24117 | if (d && !d->ref.deref()) | |
24118 | free(d); | |
24119 | } | |
24120 | ||
24121 | template <typename T> | |
24122 | bool QList<T>::operator==(const QList<T> &l) const | |
24123 | { | |
24124 | if (p.size() != l.p.size()) | |
24125 | return false; | |
24126 | if (d == l.d) | |
24127 | return true; | |
24128 | Node *i = reinterpret_cast<Node *>(p.end()); | |
24129 | Node *b = reinterpret_cast<Node *>(p.begin()); | |
24130 | Node *li = reinterpret_cast<Node *>(l.p.end()); | |
24131 | while (i != b) { | |
24132 | --i; --li; | |
24133 | if (!(i->t() == li->t())) | |
24134 | return false; | |
24135 | } | |
24136 | return true; | |
24137 | } | |
24138 | ||
24139 | ||
24140 | template <typename T> | |
24141 | void QList<T>::free(QListData::Data *data) | |
24142 | { | |
24143 | node_destruct(reinterpret_cast<Node *>(data->array + data->begin), | |
24144 | reinterpret_cast<Node *>(data->array + data->end)); | |
24145 | if (data->ref == 0) | |
24146 | qFree(data); | |
24147 | } | |
24148 | ||
24149 | ||
24150 | template <typename T> | |
24151 | void QList<T>::clear() | |
24152 | { | |
24153 | *this = QList<T>(); | |
24154 | } | |
24155 | ||
24156 | template <typename T> | |
24157 | int QList<T>::removeAll(const T &_t) | |
24158 | { | |
24159 | detach(); | |
24160 | const T t = _t; | |
24161 | int removedCount=0, i=0; | |
24162 | Node *n; | |
24163 | while (i < p.size()) | |
24164 | if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) { | |
24165 | node_destruct(n); | |
24166 | p.remove(i); | |
24167 | ++removedCount; | |
24168 | } else { | |
24169 | ++i; | |
24170 | } | |
24171 | return removedCount; | |
24172 | } | |
24173 | ||
24174 | template <typename T> | |
24175 | bool QList<T>::removeOne(const T &_t) | |
24176 | { | |
24177 | detach(); | |
24178 | int index = indexOf(_t); | |
24179 | if (index != -1) { | |
24180 | removeAt(index); | |
24181 | return true; | |
24182 | } | |
24183 | return false; | |
24184 | } | |
24185 | ||
24186 | template <typename T> | |
24187 | typename QList<T>::iterator QList<T>::erase(typename QList<T>::iterator afirst, | |
24188 | typename QList<T>::iterator alast) | |
24189 | { | |
24190 | for (Node *n = afirst.i; n < alast.i; ++n) | |
24191 | node_destruct(n); | |
24192 | int idx = afirst - begin(); | |
24193 | p.remove(idx, alast - afirst); | |
24194 | return begin() + idx; | |
24195 | } | |
24196 | ||
24197 | template <typename T> | |
24198 | QList<T> &QList<T>::operator+=(const QList<T> &l) | |
24199 | { | |
24200 | detach(); | |
24201 | Node *n = reinterpret_cast<Node *>(p.append(l.p)); | |
24202 | node_copy(n, reinterpret_cast<Node *>(p.end()), reinterpret_cast<Node *>(l.p.begin())); | |
24203 | return *this; | |
24204 | } | |
24205 | ||
24206 | template <typename T> | |
24207 | inline void QList<T>::append(const QList<T> &t) | |
24208 | { | |
24209 | *this += t; | |
24210 | } | |
24211 | ||
24212 | template <typename T> | |
24213 | int QList<T>::indexOf(const T &t, int from) const | |
24214 | { | |
24215 | if (from < 0) | |
24216 | from = qMax(from + p.size(), 0); | |
24217 | if (from < p.size()) { | |
24218 | Node *n = reinterpret_cast<Node *>(p.at(from -1)); | |
24219 | Node *e = reinterpret_cast<Node *>(p.end()); | |
24220 | while (++n != e) | |
24221 | if (n->t() == t) | |
24222 | return n - reinterpret_cast<Node *>(p.begin()); | |
24223 | } | |
24224 | return -1; | |
24225 | } | |
24226 | ||
24227 | template <typename T> | |
24228 | int QList<T>::lastIndexOf(const T &t, int from) const | |
24229 | { | |
24230 | if (from < 0) | |
24231 | from += p.size(); | |
24232 | else if (from >= p.size()) | |
24233 | from = p.size()-1; | |
24234 | if (from >= 0) { | |
24235 | Node *b = reinterpret_cast<Node *>(p.begin()); | |
24236 | Node *n = reinterpret_cast<Node *>(p.at(from + 1)); | |
24237 | while (n-- != b) { | |
24238 | if (n->t() == t) | |
24239 | return n - b; | |
24240 | } | |
24241 | } | |
24242 | return -1; | |
24243 | } | |
24244 | ||
24245 | template <typename T> | |
24246 | QBool QList<T>::contains(const T &t) const | |
24247 | { | |
24248 | Node *b = reinterpret_cast<Node *>(p.begin()); | |
24249 | Node *i = reinterpret_cast<Node *>(p.end()); | |
24250 | while (i-- != b) | |
24251 | if (i->t() == t) | |
24252 | return QBool(true); | |
24253 | return QBool(false); | |
24254 | } | |
24255 | ||
24256 | template <typename T> | |
24257 | int QList<T>::count(const T &t) const | |
24258 | { | |
24259 | int c = 0; | |
24260 | Node *b = reinterpret_cast<Node *>(p.begin()); | |
24261 | Node *i = reinterpret_cast<Node *>(p.end()); | |
24262 | while (i-- != b) | |
24263 | if (i->t() == t) | |
24264 | ++c; | |
24265 | return c; | |
24266 | } | |
24267 | ||
24268 | template <class T> class QListIterator { typedef typename QList<T>::const_iterator const_iterator; QList<T> c; const_iterator i; public: inline QListIterator(const QList<T> &container) : c(container), i(c.constBegin()) {} inline QListIterator &operator=(const QList<T> &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; | |
24269 | template <class T> class QMutableListIterator { typedef typename QList<T>::iterator iterator; typedef typename QList<T>::const_iterator const_iterator; QList<T> *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableListIterator(QList<T> &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableListIterator() { c->setSharable(true); } inline QMutableListIterator &operator=(QList<T> &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { qt_noop(); return *n; } inline const T &value() const { qt_noop(); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; | |
24270 | ||
24271 | ||
24272 | ||
24273 | ||
24274 | # 1 "../../include/QtCore/qlist.h" 2 | |
24275 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" 2 | |
24276 | # 1 "../../include/QtCore/qpair.h" 1 | |
24277 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qpair.h" 1 | |
24278 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qpair.h" | |
24279 | #define QPAIR_H | |
24280 | ||
24281 | # 1 "../../include/QtCore/qdatastream.h" 1 | |
24282 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdatastream.h" 1 | |
24283 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdatastream.h" | |
24284 | #define QDATASTREAM_H | |
24285 | ||
24286 | # 1 "../../include/QtCore/qiodevice.h" 1 | |
24287 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qiodevice.h" 1 | |
24288 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qiodevice.h" | |
24289 | #define QIODEVICE_H | |
24290 | ||
24291 | ||
24292 | # 1 "../../include/QtCore/qobject.h" 1 | |
24293 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" 1 | |
24294 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" | |
24295 | #define QOBJECT_H | |
24296 | ||
24297 | ||
24298 | ||
24299 | # 1 "../../include/QtCore/qobjectdefs.h" 1 | |
24300 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" 1 | |
24301 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" | |
24302 | #define QOBJECTDEFS_H | |
24303 | ||
24304 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
24305 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" 1 | |
24306 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24307 | #define QNAMESPACE_H | |
24308 | ||
24309 | # 1 "../../include/QtCore/qglobal.h" 1 | |
24310 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" 2 | |
24311 | ||
24312 | ||
24313 | ||
24314 | ||
24315 | ||
24316 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
24317 | ||
24318 | ||
24319 | namespace | |
24320 | ||
24321 | ||
24322 | ||
24323 | Qt { | |
24324 | # 98 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24325 | enum GlobalColor { | |
24326 | color0, | |
24327 | color1, | |
24328 | black, | |
24329 | white, | |
24330 | darkGray, | |
24331 | gray, | |
24332 | lightGray, | |
24333 | red, | |
24334 | green, | |
24335 | blue, | |
24336 | cyan, | |
24337 | magenta, | |
24338 | yellow, | |
24339 | darkRed, | |
24340 | darkGreen, | |
24341 | darkBlue, | |
24342 | darkCyan, | |
24343 | darkMagenta, | |
24344 | darkYellow, | |
24345 | transparent | |
24346 | }; | |
24347 | ||
24348 | enum KeyboardModifier { | |
24349 | NoModifier = 0x00000000, | |
24350 | ShiftModifier = 0x02000000, | |
24351 | ControlModifier = 0x04000000, | |
24352 | AltModifier = 0x08000000, | |
24353 | MetaModifier = 0x10000000, | |
24354 | KeypadModifier = 0x20000000, | |
24355 | GroupSwitchModifier = 0x40000000, | |
24356 | ||
24357 | KeyboardModifierMask = 0xfe000000 | |
24358 | }; | |
24359 | typedef QFlags<KeyboardModifier> KeyboardModifiers; | |
24360 | ||
24361 | ||
24362 | enum Modifier { | |
24363 | META = Qt::MetaModifier, | |
24364 | SHIFT = Qt::ShiftModifier, | |
24365 | CTRL = Qt::ControlModifier, | |
24366 | ALT = Qt::AltModifier, | |
24367 | MODIFIER_MASK = KeyboardModifierMask, | |
24368 | UNICODE_ACCEL = 0x00000000 | |
24369 | }; | |
24370 | ||
24371 | enum MouseButton { | |
24372 | NoButton = 0x00000000, | |
24373 | LeftButton = 0x00000001, | |
24374 | RightButton = 0x00000002, | |
24375 | MidButton = 0x00000004, | |
24376 | XButton1 = 0x00000008, | |
24377 | XButton2 = 0x00000010, | |
24378 | MouseButtonMask = 0x000000ff | |
24379 | }; | |
24380 | typedef QFlags<MouseButton> MouseButtons; | |
24381 | # 167 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24382 | enum Orientation { | |
24383 | Horizontal = 0x1, | |
24384 | Vertical = 0x2 | |
24385 | }; | |
24386 | ||
24387 | typedef QFlags<Orientation> Orientations; | |
24388 | ||
24389 | enum FocusPolicy { | |
24390 | NoFocus = 0, | |
24391 | TabFocus = 0x1, | |
24392 | ClickFocus = 0x2, | |
24393 | StrongFocus = TabFocus | ClickFocus | 0x8, | |
24394 | WheelFocus = StrongFocus | 0x4 | |
24395 | }; | |
24396 | ||
24397 | enum SortOrder { | |
24398 | AscendingOrder, | |
24399 | DescendingOrder | |
24400 | ||
24401 | ||
24402 | ||
24403 | ||
24404 | }; | |
24405 | ||
24406 | ||
24407 | ||
24408 | ||
24409 | ||
24410 | enum AlignmentFlag { | |
24411 | AlignLeft = 0x0001, | |
24412 | AlignLeading = AlignLeft, | |
24413 | AlignRight = 0x0002, | |
24414 | AlignTrailing = AlignRight, | |
24415 | AlignHCenter = 0x0004, | |
24416 | AlignJustify = 0x0008, | |
24417 | AlignAbsolute = 0x0010, | |
24418 | AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute, | |
24419 | ||
24420 | AlignTop = 0x0020, | |
24421 | AlignBottom = 0x0040, | |
24422 | AlignVCenter = 0x0080, | |
24423 | AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter, | |
24424 | ||
24425 | AlignCenter = AlignVCenter | AlignHCenter | |
24426 | ||
24427 | ||
24428 | ||
24429 | }; | |
24430 | ||
24431 | typedef QFlags<AlignmentFlag> Alignment; | |
24432 | ||
24433 | enum TextFlag { | |
24434 | TextSingleLine = 0x0100, | |
24435 | TextDontClip = 0x0200, | |
24436 | TextExpandTabs = 0x0400, | |
24437 | TextShowMnemonic = 0x0800, | |
24438 | TextWordWrap = 0x1000, | |
24439 | TextWrapAnywhere = 0x2000, | |
24440 | TextDontPrint = 0x4000, | |
24441 | TextIncludeTrailingSpaces = 0x08000000, | |
24442 | TextHideMnemonic = 0x8000, | |
24443 | TextJustificationForced = 0x10000, | |
24444 | TextForceLeftToRight = 0x20000, | |
24445 | TextForceRightToLeft = 0x40000 | |
24446 | # 243 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24447 | }; | |
24448 | ||
24449 | ||
24450 | ||
24451 | ||
24452 | enum TextElideMode { | |
24453 | ElideLeft, | |
24454 | ElideRight, | |
24455 | ElideMiddle, | |
24456 | ElideNone | |
24457 | }; | |
24458 | ||
24459 | enum WindowType { | |
24460 | Widget = 0x00000000, | |
24461 | Window = 0x00000001, | |
24462 | Dialog = 0x00000002 | Window, | |
24463 | Sheet = 0x00000004 | Window, | |
24464 | Drawer = 0x00000006 | Window, | |
24465 | Popup = 0x00000008 | Window, | |
24466 | Tool = 0x0000000a | Window, | |
24467 | ToolTip = 0x0000000c | Window, | |
24468 | SplashScreen = 0x0000000e | Window, | |
24469 | Desktop = 0x00000010 | Window, | |
24470 | SubWindow = 0x00000012, | |
24471 | ||
24472 | WindowType_Mask = 0x000000ff, | |
24473 | MSWindowsFixedSizeDialogHint = 0x00000100, | |
24474 | MSWindowsOwnDC = 0x00000200, | |
24475 | X11BypassWindowManagerHint = 0x00000400, | |
24476 | FramelessWindowHint = 0x00000800, | |
24477 | WindowTitleHint = 0x00001000, | |
24478 | WindowSystemMenuHint = 0x00002000, | |
24479 | WindowMinimizeButtonHint = 0x00004000, | |
24480 | WindowMaximizeButtonHint = 0x00008000, | |
24481 | WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint, | |
24482 | WindowContextHelpButtonHint = 0x00010000, | |
24483 | WindowShadeButtonHint = 0x00020000, | |
24484 | WindowStaysOnTopHint = 0x00040000, | |
24485 | ||
24486 | ||
24487 | ||
24488 | ||
24489 | ||
24490 | ||
24491 | ||
24492 | CustomizeWindowHint = 0x02000000, | |
24493 | WindowStaysOnBottomHint = 0x04000000, | |
24494 | WindowCloseButtonHint = 0x08000000, | |
24495 | MacWindowToolBarButtonHint = 0x10000000, | |
24496 | BypassGraphicsProxyWidget = 0x20000000, | |
24497 | WindowOkButtonHint = 0x00080000, | |
24498 | WindowCancelButtonHint = 0x00100000 | |
24499 | # 345 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24500 | }; | |
24501 | ||
24502 | typedef QFlags<WindowType> WindowFlags; | |
24503 | ||
24504 | enum WindowState { | |
24505 | WindowNoState = 0x00000000, | |
24506 | WindowMinimized = 0x00000001, | |
24507 | WindowMaximized = 0x00000002, | |
24508 | WindowFullScreen = 0x00000004, | |
24509 | WindowActive = 0x00000008 | |
24510 | }; | |
24511 | ||
24512 | typedef QFlags<WindowState> WindowStates; | |
24513 | ||
24514 | enum WidgetAttribute { | |
24515 | WA_Disabled = 0, | |
24516 | WA_UnderMouse = 1, | |
24517 | WA_MouseTracking = 2, | |
24518 | WA_ContentsPropagated = 3, | |
24519 | WA_OpaquePaintEvent = 4, | |
24520 | WA_NoBackground = WA_OpaquePaintEvent, | |
24521 | WA_StaticContents = 5, | |
24522 | WA_LaidOut = 7, | |
24523 | WA_PaintOnScreen = 8, | |
24524 | WA_NoSystemBackground = 9, | |
24525 | WA_UpdatesDisabled = 10, | |
24526 | WA_Mapped = 11, | |
24527 | WA_MacNoClickThrough = 12, | |
24528 | WA_PaintOutsidePaintEvent = 13, | |
24529 | WA_InputMethodEnabled = 14, | |
24530 | WA_WState_Visible = 15, | |
24531 | WA_WState_Hidden = 16, | |
24532 | ||
24533 | WA_ForceDisabled = 32, | |
24534 | WA_KeyCompression = 33, | |
24535 | WA_PendingMoveEvent = 34, | |
24536 | WA_PendingResizeEvent = 35, | |
24537 | WA_SetPalette = 36, | |
24538 | WA_SetFont = 37, | |
24539 | WA_SetCursor = 38, | |
24540 | WA_NoChildEventsFromChildren = 39, | |
24541 | WA_WindowModified = 41, | |
24542 | WA_Resized = 42, | |
24543 | WA_Moved = 43, | |
24544 | WA_PendingUpdate = 44, | |
24545 | WA_InvalidSize = 45, | |
24546 | WA_MacBrushedMetal = 46, | |
24547 | WA_MacMetalStyle = WA_MacBrushedMetal, | |
24548 | WA_CustomWhatsThis = 47, | |
24549 | WA_LayoutOnEntireRect = 48, | |
24550 | WA_OutsideWSRange = 49, | |
24551 | WA_GrabbedShortcut = 50, | |
24552 | WA_TransparentForMouseEvents = 51, | |
24553 | WA_PaintUnclipped = 52, | |
24554 | WA_SetWindowIcon = 53, | |
24555 | WA_NoMouseReplay = 54, | |
24556 | WA_DeleteOnClose = 55, | |
24557 | WA_RightToLeft = 56, | |
24558 | WA_SetLayoutDirection = 57, | |
24559 | WA_NoChildEventsForParent = 58, | |
24560 | WA_ForceUpdatesDisabled = 59, | |
24561 | ||
24562 | WA_WState_Created = 60, | |
24563 | WA_WState_CompressKeys = 61, | |
24564 | WA_WState_InPaintEvent = 62, | |
24565 | WA_WState_Reparented = 63, | |
24566 | WA_WState_ConfigPending = 64, | |
24567 | WA_WState_Polished = 66, | |
24568 | WA_WState_DND = 67, | |
24569 | WA_WState_OwnSizePolicy = 68, | |
24570 | WA_WState_ExplicitShowHide = 69, | |
24571 | ||
24572 | WA_ShowModal = 70, | |
24573 | WA_MouseNoMask = 71, | |
24574 | WA_GroupLeader = 72, | |
24575 | WA_NoMousePropagation = 73, | |
24576 | WA_Hover = 74, | |
24577 | WA_InputMethodTransparent = 75, | |
24578 | WA_QuitOnClose = 76, | |
24579 | ||
24580 | WA_KeyboardFocusChange = 77, | |
24581 | ||
24582 | WA_AcceptDrops = 78, | |
24583 | WA_DropSiteRegistered = 79, | |
24584 | WA_ForceAcceptDrops = WA_DropSiteRegistered, | |
24585 | ||
24586 | WA_WindowPropagation = 80, | |
24587 | ||
24588 | WA_NoX11EventCompression = 81, | |
24589 | WA_TintedBackground = 82, | |
24590 | WA_X11OpenGLOverlay = 83, | |
24591 | WA_AlwaysShowToolTips = 84, | |
24592 | WA_MacOpaqueSizeGrip = 85, | |
24593 | WA_SetStyle = 86, | |
24594 | ||
24595 | WA_SetLocale = 87, | |
24596 | WA_MacShowFocusRect = 88, | |
24597 | ||
24598 | WA_MacNormalSize = 89, | |
24599 | WA_MacSmallSize = 90, | |
24600 | WA_MacMiniSize = 91, | |
24601 | ||
24602 | WA_LayoutUsesWidgetRect = 92, | |
24603 | WA_StyledBackground = 93, | |
24604 | WA_MSWindowsUseDirect3D = 94, | |
24605 | WA_CanHostQMdiSubWindowTitleBar = 95, | |
24606 | ||
24607 | WA_MacAlwaysShowToolWindow = 96, | |
24608 | ||
24609 | WA_StyleSheet = 97, | |
24610 | ||
24611 | WA_ShowWithoutActivating = 98, | |
24612 | ||
24613 | WA_X11BypassTransientForHint = 99, | |
24614 | ||
24615 | WA_NativeWindow = 100, | |
24616 | WA_DontCreateNativeAncestors = 101, | |
24617 | ||
24618 | WA_MacVariableSize = 102, | |
24619 | ||
24620 | WA_DontShowOnScreen = 103, | |
24621 | ||
24622 | ||
24623 | WA_X11NetWmWindowTypeDesktop = 104, | |
24624 | WA_X11NetWmWindowTypeDock = 105, | |
24625 | WA_X11NetWmWindowTypeToolBar = 106, | |
24626 | WA_X11NetWmWindowTypeMenu = 107, | |
24627 | WA_X11NetWmWindowTypeUtility = 108, | |
24628 | WA_X11NetWmWindowTypeSplash = 109, | |
24629 | WA_X11NetWmWindowTypeDialog = 110, | |
24630 | WA_X11NetWmWindowTypeDropDownMenu = 111, | |
24631 | WA_X11NetWmWindowTypePopupMenu = 112, | |
24632 | WA_X11NetWmWindowTypeToolTip = 113, | |
24633 | WA_X11NetWmWindowTypeNotification = 114, | |
24634 | WA_X11NetWmWindowTypeCombo = 115, | |
24635 | WA_X11NetWmWindowTypeDND = 116, | |
24636 | ||
24637 | WA_MacFrameworkScaled = 117, | |
24638 | ||
24639 | WA_SetWindowModality = 118, | |
24640 | WA_WState_WindowOpacitySet = 119, | |
24641 | WA_TranslucentBackground = 120, | |
24642 | ||
24643 | ||
24644 | WA_AttributeCount | |
24645 | }; | |
24646 | ||
24647 | enum ApplicationAttribute | |
24648 | { | |
24649 | AA_ImmediateWidgetCreation = 0, | |
24650 | AA_MSWindowsUseDirect3DByDefault = 1, | |
24651 | AA_DontShowIconsInMenus = 2, | |
24652 | AA_NativeWindows = 3, | |
24653 | AA_DontCreateNativeWidgetSiblings = 4, | |
24654 | AA_MacPluginApplication = 5, | |
24655 | ||
24656 | ||
24657 | AA_AttributeCount | |
24658 | }; | |
24659 | ||
24660 | ||
24661 | ||
24662 | ||
24663 | ||
24664 | enum ImageConversionFlag { | |
24665 | ColorMode_Mask = 0x00000003, | |
24666 | AutoColor = 0x00000000, | |
24667 | ColorOnly = 0x00000003, | |
24668 | MonoOnly = 0x00000002, | |
24669 | ||
24670 | ||
24671 | AlphaDither_Mask = 0x0000000c, | |
24672 | ThresholdAlphaDither = 0x00000000, | |
24673 | OrderedAlphaDither = 0x00000004, | |
24674 | DiffuseAlphaDither = 0x00000008, | |
24675 | NoAlpha = 0x0000000c, | |
24676 | ||
24677 | Dither_Mask = 0x00000030, | |
24678 | DiffuseDither = 0x00000000, | |
24679 | OrderedDither = 0x00000010, | |
24680 | ThresholdDither = 0x00000020, | |
24681 | ||
24682 | ||
24683 | DitherMode_Mask = 0x000000c0, | |
24684 | AutoDither = 0x00000000, | |
24685 | PreferDither = 0x00000040, | |
24686 | AvoidDither = 0x00000080, | |
24687 | ||
24688 | NoOpaqueDetection = 0x00000100 | |
24689 | }; | |
24690 | typedef QFlags<ImageConversionFlag> ImageConversionFlags; | |
24691 | ||
24692 | enum BGMode { | |
24693 | TransparentMode, | |
24694 | OpaqueMode | |
24695 | }; | |
24696 | # 561 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24697 | enum Key { | |
24698 | Key_Escape = 0x01000000, | |
24699 | Key_Tab = 0x01000001, | |
24700 | Key_Backtab = 0x01000002, | |
24701 | ||
24702 | ||
24703 | ||
24704 | Key_Backspace = 0x01000003, | |
24705 | ||
24706 | ||
24707 | ||
24708 | Key_Return = 0x01000004, | |
24709 | Key_Enter = 0x01000005, | |
24710 | Key_Insert = 0x01000006, | |
24711 | Key_Delete = 0x01000007, | |
24712 | Key_Pause = 0x01000008, | |
24713 | Key_Print = 0x01000009, | |
24714 | Key_SysReq = 0x0100000a, | |
24715 | Key_Clear = 0x0100000b, | |
24716 | Key_Home = 0x01000010, | |
24717 | Key_End = 0x01000011, | |
24718 | Key_Left = 0x01000012, | |
24719 | Key_Up = 0x01000013, | |
24720 | Key_Right = 0x01000014, | |
24721 | Key_Down = 0x01000015, | |
24722 | Key_PageUp = 0x01000016, | |
24723 | ||
24724 | ||
24725 | ||
24726 | Key_PageDown = 0x01000017, | |
24727 | ||
24728 | ||
24729 | ||
24730 | Key_Shift = 0x01000020, | |
24731 | Key_Control = 0x01000021, | |
24732 | Key_Meta = 0x01000022, | |
24733 | Key_Alt = 0x01000023, | |
24734 | Key_CapsLock = 0x01000024, | |
24735 | Key_NumLock = 0x01000025, | |
24736 | Key_ScrollLock = 0x01000026, | |
24737 | Key_F1 = 0x01000030, | |
24738 | Key_F2 = 0x01000031, | |
24739 | Key_F3 = 0x01000032, | |
24740 | Key_F4 = 0x01000033, | |
24741 | Key_F5 = 0x01000034, | |
24742 | Key_F6 = 0x01000035, | |
24743 | Key_F7 = 0x01000036, | |
24744 | Key_F8 = 0x01000037, | |
24745 | Key_F9 = 0x01000038, | |
24746 | Key_F10 = 0x01000039, | |
24747 | Key_F11 = 0x0100003a, | |
24748 | Key_F12 = 0x0100003b, | |
24749 | Key_F13 = 0x0100003c, | |
24750 | Key_F14 = 0x0100003d, | |
24751 | Key_F15 = 0x0100003e, | |
24752 | Key_F16 = 0x0100003f, | |
24753 | Key_F17 = 0x01000040, | |
24754 | Key_F18 = 0x01000041, | |
24755 | Key_F19 = 0x01000042, | |
24756 | Key_F20 = 0x01000043, | |
24757 | Key_F21 = 0x01000044, | |
24758 | Key_F22 = 0x01000045, | |
24759 | Key_F23 = 0x01000046, | |
24760 | Key_F24 = 0x01000047, | |
24761 | Key_F25 = 0x01000048, | |
24762 | Key_F26 = 0x01000049, | |
24763 | Key_F27 = 0x0100004a, | |
24764 | Key_F28 = 0x0100004b, | |
24765 | Key_F29 = 0x0100004c, | |
24766 | Key_F30 = 0x0100004d, | |
24767 | Key_F31 = 0x0100004e, | |
24768 | Key_F32 = 0x0100004f, | |
24769 | Key_F33 = 0x01000050, | |
24770 | Key_F34 = 0x01000051, | |
24771 | Key_F35 = 0x01000052, | |
24772 | Key_Super_L = 0x01000053, | |
24773 | Key_Super_R = 0x01000054, | |
24774 | Key_Menu = 0x01000055, | |
24775 | Key_Hyper_L = 0x01000056, | |
24776 | Key_Hyper_R = 0x01000057, | |
24777 | Key_Help = 0x01000058, | |
24778 | Key_Direction_L = 0x01000059, | |
24779 | Key_Direction_R = 0x01000060, | |
24780 | Key_Space = 0x20, | |
24781 | Key_Any = Key_Space, | |
24782 | Key_Exclam = 0x21, | |
24783 | Key_QuoteDbl = 0x22, | |
24784 | Key_NumberSign = 0x23, | |
24785 | Key_Dollar = 0x24, | |
24786 | Key_Percent = 0x25, | |
24787 | Key_Ampersand = 0x26, | |
24788 | Key_Apostrophe = 0x27, | |
24789 | Key_ParenLeft = 0x28, | |
24790 | Key_ParenRight = 0x29, | |
24791 | Key_Asterisk = 0x2a, | |
24792 | Key_Plus = 0x2b, | |
24793 | Key_Comma = 0x2c, | |
24794 | Key_Minus = 0x2d, | |
24795 | Key_Period = 0x2e, | |
24796 | Key_Slash = 0x2f, | |
24797 | Key_0 = 0x30, | |
24798 | Key_1 = 0x31, | |
24799 | Key_2 = 0x32, | |
24800 | Key_3 = 0x33, | |
24801 | Key_4 = 0x34, | |
24802 | Key_5 = 0x35, | |
24803 | Key_6 = 0x36, | |
24804 | Key_7 = 0x37, | |
24805 | Key_8 = 0x38, | |
24806 | Key_9 = 0x39, | |
24807 | Key_Colon = 0x3a, | |
24808 | Key_Semicolon = 0x3b, | |
24809 | Key_Less = 0x3c, | |
24810 | Key_Equal = 0x3d, | |
24811 | Key_Greater = 0x3e, | |
24812 | Key_Question = 0x3f, | |
24813 | Key_At = 0x40, | |
24814 | Key_A = 0x41, | |
24815 | Key_B = 0x42, | |
24816 | Key_C = 0x43, | |
24817 | Key_D = 0x44, | |
24818 | Key_E = 0x45, | |
24819 | Key_F = 0x46, | |
24820 | Key_G = 0x47, | |
24821 | Key_H = 0x48, | |
24822 | Key_I = 0x49, | |
24823 | Key_J = 0x4a, | |
24824 | Key_K = 0x4b, | |
24825 | Key_L = 0x4c, | |
24826 | Key_M = 0x4d, | |
24827 | Key_N = 0x4e, | |
24828 | Key_O = 0x4f, | |
24829 | Key_P = 0x50, | |
24830 | Key_Q = 0x51, | |
24831 | Key_R = 0x52, | |
24832 | Key_S = 0x53, | |
24833 | Key_T = 0x54, | |
24834 | Key_U = 0x55, | |
24835 | Key_V = 0x56, | |
24836 | Key_W = 0x57, | |
24837 | Key_X = 0x58, | |
24838 | Key_Y = 0x59, | |
24839 | Key_Z = 0x5a, | |
24840 | Key_BracketLeft = 0x5b, | |
24841 | Key_Backslash = 0x5c, | |
24842 | Key_BracketRight = 0x5d, | |
24843 | Key_AsciiCircum = 0x5e, | |
24844 | Key_Underscore = 0x5f, | |
24845 | Key_QuoteLeft = 0x60, | |
24846 | Key_BraceLeft = 0x7b, | |
24847 | Key_Bar = 0x7c, | |
24848 | Key_BraceRight = 0x7d, | |
24849 | Key_AsciiTilde = 0x7e, | |
24850 | ||
24851 | Key_nobreakspace = 0x0a0, | |
24852 | Key_exclamdown = 0x0a1, | |
24853 | Key_cent = 0x0a2, | |
24854 | Key_sterling = 0x0a3, | |
24855 | Key_currency = 0x0a4, | |
24856 | Key_yen = 0x0a5, | |
24857 | Key_brokenbar = 0x0a6, | |
24858 | Key_section = 0x0a7, | |
24859 | Key_diaeresis = 0x0a8, | |
24860 | Key_copyright = 0x0a9, | |
24861 | Key_ordfeminine = 0x0aa, | |
24862 | Key_guillemotleft = 0x0ab, | |
24863 | Key_notsign = 0x0ac, | |
24864 | Key_hyphen = 0x0ad, | |
24865 | Key_registered = 0x0ae, | |
24866 | Key_macron = 0x0af, | |
24867 | Key_degree = 0x0b0, | |
24868 | Key_plusminus = 0x0b1, | |
24869 | Key_twosuperior = 0x0b2, | |
24870 | Key_threesuperior = 0x0b3, | |
24871 | Key_acute = 0x0b4, | |
24872 | Key_mu = 0x0b5, | |
24873 | Key_paragraph = 0x0b6, | |
24874 | Key_periodcentered = 0x0b7, | |
24875 | Key_cedilla = 0x0b8, | |
24876 | Key_onesuperior = 0x0b9, | |
24877 | Key_masculine = 0x0ba, | |
24878 | Key_guillemotright = 0x0bb, | |
24879 | Key_onequarter = 0x0bc, | |
24880 | Key_onehalf = 0x0bd, | |
24881 | Key_threequarters = 0x0be, | |
24882 | Key_questiondown = 0x0bf, | |
24883 | Key_Agrave = 0x0c0, | |
24884 | Key_Aacute = 0x0c1, | |
24885 | Key_Acircumflex = 0x0c2, | |
24886 | Key_Atilde = 0x0c3, | |
24887 | Key_Adiaeresis = 0x0c4, | |
24888 | Key_Aring = 0x0c5, | |
24889 | Key_AE = 0x0c6, | |
24890 | Key_Ccedilla = 0x0c7, | |
24891 | Key_Egrave = 0x0c8, | |
24892 | Key_Eacute = 0x0c9, | |
24893 | Key_Ecircumflex = 0x0ca, | |
24894 | Key_Ediaeresis = 0x0cb, | |
24895 | Key_Igrave = 0x0cc, | |
24896 | Key_Iacute = 0x0cd, | |
24897 | Key_Icircumflex = 0x0ce, | |
24898 | Key_Idiaeresis = 0x0cf, | |
24899 | Key_ETH = 0x0d0, | |
24900 | Key_Ntilde = 0x0d1, | |
24901 | Key_Ograve = 0x0d2, | |
24902 | Key_Oacute = 0x0d3, | |
24903 | Key_Ocircumflex = 0x0d4, | |
24904 | Key_Otilde = 0x0d5, | |
24905 | Key_Odiaeresis = 0x0d6, | |
24906 | Key_multiply = 0x0d7, | |
24907 | Key_Ooblique = 0x0d8, | |
24908 | Key_Ugrave = 0x0d9, | |
24909 | Key_Uacute = 0x0da, | |
24910 | Key_Ucircumflex = 0x0db, | |
24911 | Key_Udiaeresis = 0x0dc, | |
24912 | Key_Yacute = 0x0dd, | |
24913 | Key_THORN = 0x0de, | |
24914 | Key_ssharp = 0x0df, | |
24915 | # 804 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24916 | Key_division = 0x0f7, | |
24917 | # 814 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24918 | Key_ydiaeresis = 0x0ff, | |
24919 | ||
24920 | ||
24921 | ||
24922 | ||
24923 | ||
24924 | ||
24925 | Key_AltGr = 0x01001103, | |
24926 | Key_Multi_key = 0x01001120, | |
24927 | Key_Codeinput = 0x01001137, | |
24928 | Key_SingleCandidate = 0x0100113c, | |
24929 | Key_MultipleCandidate = 0x0100113d, | |
24930 | Key_PreviousCandidate = 0x0100113e, | |
24931 | ||
24932 | ||
24933 | Key_Mode_switch = 0x0100117e, | |
24934 | ||
24935 | ||
24936 | ||
24937 | Key_Kanji = 0x01001121, | |
24938 | Key_Muhenkan = 0x01001122, | |
24939 | ||
24940 | Key_Henkan = 0x01001123, | |
24941 | Key_Romaji = 0x01001124, | |
24942 | Key_Hiragana = 0x01001125, | |
24943 | Key_Katakana = 0x01001126, | |
24944 | Key_Hiragana_Katakana = 0x01001127, | |
24945 | Key_Zenkaku = 0x01001128, | |
24946 | Key_Hankaku = 0x01001129, | |
24947 | Key_Zenkaku_Hankaku = 0x0100112a, | |
24948 | Key_Touroku = 0x0100112b, | |
24949 | Key_Massyo = 0x0100112c, | |
24950 | Key_Kana_Lock = 0x0100112d, | |
24951 | Key_Kana_Shift = 0x0100112e, | |
24952 | Key_Eisu_Shift = 0x0100112f, | |
24953 | Key_Eisu_toggle = 0x01001130, | |
24954 | # 859 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
24955 | Key_Hangul = 0x01001131, | |
24956 | Key_Hangul_Start = 0x01001132, | |
24957 | Key_Hangul_End = 0x01001133, | |
24958 | Key_Hangul_Hanja = 0x01001134, | |
24959 | Key_Hangul_Jamo = 0x01001135, | |
24960 | Key_Hangul_Romaja = 0x01001136, | |
24961 | ||
24962 | Key_Hangul_Jeonja = 0x01001138, | |
24963 | Key_Hangul_Banja = 0x01001139, | |
24964 | Key_Hangul_PreHanja = 0x0100113a, | |
24965 | Key_Hangul_PostHanja = 0x0100113b, | |
24966 | ||
24967 | ||
24968 | ||
24969 | Key_Hangul_Special = 0x0100113f, | |
24970 | ||
24971 | ||
24972 | ||
24973 | Key_Dead_Grave = 0x01001250, | |
24974 | Key_Dead_Acute = 0x01001251, | |
24975 | Key_Dead_Circumflex = 0x01001252, | |
24976 | Key_Dead_Tilde = 0x01001253, | |
24977 | Key_Dead_Macron = 0x01001254, | |
24978 | Key_Dead_Breve = 0x01001255, | |
24979 | Key_Dead_Abovedot = 0x01001256, | |
24980 | Key_Dead_Diaeresis = 0x01001257, | |
24981 | Key_Dead_Abovering = 0x01001258, | |
24982 | Key_Dead_Doubleacute = 0x01001259, | |
24983 | Key_Dead_Caron = 0x0100125a, | |
24984 | Key_Dead_Cedilla = 0x0100125b, | |
24985 | Key_Dead_Ogonek = 0x0100125c, | |
24986 | Key_Dead_Iota = 0x0100125d, | |
24987 | Key_Dead_Voiced_Sound = 0x0100125e, | |
24988 | Key_Dead_Semivoiced_Sound = 0x0100125f, | |
24989 | Key_Dead_Belowdot = 0x01001260, | |
24990 | Key_Dead_Hook = 0x01001261, | |
24991 | Key_Dead_Horn = 0x01001262, | |
24992 | ||
24993 | ||
24994 | ||
24995 | Key_Back = 0x01000061, | |
24996 | Key_Forward = 0x01000062, | |
24997 | Key_Stop = 0x01000063, | |
24998 | Key_Refresh = 0x01000064, | |
24999 | ||
25000 | Key_VolumeDown = 0x01000070, | |
25001 | Key_VolumeMute = 0x01000071, | |
25002 | Key_VolumeUp = 0x01000072, | |
25003 | Key_BassBoost = 0x01000073, | |
25004 | Key_BassUp = 0x01000074, | |
25005 | Key_BassDown = 0x01000075, | |
25006 | Key_TrebleUp = 0x01000076, | |
25007 | Key_TrebleDown = 0x01000077, | |
25008 | ||
25009 | Key_MediaPlay = 0x01000080, | |
25010 | Key_MediaStop = 0x01000081, | |
25011 | Key_MediaPrevious = 0x01000082, | |
25012 | ||
25013 | ||
25014 | ||
25015 | Key_MediaNext = 0x01000083, | |
25016 | Key_MediaRecord = 0x01000084, | |
25017 | ||
25018 | Key_HomePage = 0x01000090, | |
25019 | Key_Favorites = 0x01000091, | |
25020 | Key_Search = 0x01000092, | |
25021 | Key_Standby = 0x01000093, | |
25022 | Key_OpenUrl = 0x01000094, | |
25023 | ||
25024 | Key_LaunchMail = 0x010000a0, | |
25025 | Key_LaunchMedia = 0x010000a1, | |
25026 | Key_Launch0 = 0x010000a2, | |
25027 | Key_Launch1 = 0x010000a3, | |
25028 | Key_Launch2 = 0x010000a4, | |
25029 | Key_Launch3 = 0x010000a5, | |
25030 | Key_Launch4 = 0x010000a6, | |
25031 | Key_Launch5 = 0x010000a7, | |
25032 | Key_Launch6 = 0x010000a8, | |
25033 | Key_Launch7 = 0x010000a9, | |
25034 | Key_Launch8 = 0x010000aa, | |
25035 | Key_Launch9 = 0x010000ab, | |
25036 | Key_LaunchA = 0x010000ac, | |
25037 | Key_LaunchB = 0x010000ad, | |
25038 | Key_LaunchC = 0x010000ae, | |
25039 | Key_LaunchD = 0x010000af, | |
25040 | Key_LaunchE = 0x010000b0, | |
25041 | Key_LaunchF = 0x010000b1, | |
25042 | ||
25043 | Key_MediaLast = 0x0100ffff, | |
25044 | ||
25045 | ||
25046 | Key_Select = 0x01010000, | |
25047 | Key_Yes = 0x01010001, | |
25048 | Key_No = 0x01010002, | |
25049 | ||
25050 | ||
25051 | Key_Cancel = 0x01020001, | |
25052 | Key_Printer = 0x01020002, | |
25053 | Key_Execute = 0x01020003, | |
25054 | Key_Sleep = 0x01020004, | |
25055 | Key_Play = 0x01020005, | |
25056 | Key_Zoom = 0x01020006, | |
25057 | ||
25058 | ||
25059 | ||
25060 | ||
25061 | ||
25062 | Key_Context1 = 0x01100000, | |
25063 | Key_Context2 = 0x01100001, | |
25064 | Key_Context3 = 0x01100002, | |
25065 | Key_Context4 = 0x01100003, | |
25066 | Key_Call = 0x01100004, | |
25067 | Key_Hangup = 0x01100005, | |
25068 | Key_Flip = 0x01100006, | |
25069 | ||
25070 | Key_unknown = 0x01ffffff | |
25071 | }; | |
25072 | ||
25073 | enum ArrowType { | |
25074 | NoArrow, | |
25075 | UpArrow, | |
25076 | DownArrow, | |
25077 | LeftArrow, | |
25078 | RightArrow | |
25079 | }; | |
25080 | ||
25081 | enum PenStyle { | |
25082 | NoPen, | |
25083 | SolidLine, | |
25084 | DashLine, | |
25085 | DotLine, | |
25086 | DashDotLine, | |
25087 | DashDotDotLine, | |
25088 | CustomDashLine | |
25089 | ||
25090 | , MPenStyle = 0x0f | |
25091 | ||
25092 | }; | |
25093 | ||
25094 | enum PenCapStyle { | |
25095 | FlatCap = 0x00, | |
25096 | SquareCap = 0x10, | |
25097 | RoundCap = 0x20, | |
25098 | MPenCapStyle = 0x30 | |
25099 | }; | |
25100 | ||
25101 | enum PenJoinStyle { | |
25102 | MiterJoin = 0x00, | |
25103 | BevelJoin = 0x40, | |
25104 | RoundJoin = 0x80, | |
25105 | SvgMiterJoin = 0x100, | |
25106 | MPenJoinStyle = 0x1c0 | |
25107 | }; | |
25108 | ||
25109 | enum BrushStyle { | |
25110 | NoBrush, | |
25111 | SolidPattern, | |
25112 | Dense1Pattern, | |
25113 | Dense2Pattern, | |
25114 | Dense3Pattern, | |
25115 | Dense4Pattern, | |
25116 | Dense5Pattern, | |
25117 | Dense6Pattern, | |
25118 | Dense7Pattern, | |
25119 | HorPattern, | |
25120 | VerPattern, | |
25121 | CrossPattern, | |
25122 | BDiagPattern, | |
25123 | FDiagPattern, | |
25124 | DiagCrossPattern, | |
25125 | LinearGradientPattern, | |
25126 | RadialGradientPattern, | |
25127 | ConicalGradientPattern, | |
25128 | TexturePattern = 24 | |
25129 | ||
25130 | ||
25131 | ||
25132 | }; | |
25133 | ||
25134 | enum SizeMode { | |
25135 | AbsoluteSize, | |
25136 | RelativeSize | |
25137 | }; | |
25138 | # 1103 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
25139 | enum UIEffect { | |
25140 | UI_General, | |
25141 | UI_AnimateMenu, | |
25142 | UI_FadeMenu, | |
25143 | UI_AnimateCombo, | |
25144 | UI_AnimateTooltip, | |
25145 | UI_FadeTooltip, | |
25146 | UI_AnimateToolBox | |
25147 | }; | |
25148 | ||
25149 | enum CursorShape { | |
25150 | ArrowCursor, | |
25151 | UpArrowCursor, | |
25152 | CrossCursor, | |
25153 | WaitCursor, | |
25154 | IBeamCursor, | |
25155 | SizeVerCursor, | |
25156 | SizeHorCursor, | |
25157 | SizeBDiagCursor, | |
25158 | SizeFDiagCursor, | |
25159 | SizeAllCursor, | |
25160 | BlankCursor, | |
25161 | SplitVCursor, | |
25162 | SplitHCursor, | |
25163 | PointingHandCursor, | |
25164 | ForbiddenCursor, | |
25165 | WhatsThisCursor, | |
25166 | BusyCursor, | |
25167 | OpenHandCursor, | |
25168 | ClosedHandCursor, | |
25169 | LastCursor = ClosedHandCursor, | |
25170 | BitmapCursor = 24, | |
25171 | CustomCursor = 25 | |
25172 | # 1156 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
25173 | }; | |
25174 | ||
25175 | enum TextFormat { | |
25176 | PlainText, | |
25177 | RichText, | |
25178 | AutoText, | |
25179 | LogText | |
25180 | }; | |
25181 | ||
25182 | enum AspectRatioMode { | |
25183 | IgnoreAspectRatio, | |
25184 | KeepAspectRatio, | |
25185 | KeepAspectRatioByExpanding | |
25186 | ||
25187 | ||
25188 | ||
25189 | ||
25190 | ||
25191 | }; | |
25192 | ||
25193 | ||
25194 | ||
25195 | ||
25196 | ||
25197 | enum AnchorAttribute { | |
25198 | AnchorName, | |
25199 | AnchorHref | |
25200 | }; | |
25201 | ||
25202 | enum DockWidgetArea { | |
25203 | LeftDockWidgetArea = 0x1, | |
25204 | RightDockWidgetArea = 0x2, | |
25205 | TopDockWidgetArea = 0x4, | |
25206 | BottomDockWidgetArea = 0x8, | |
25207 | ||
25208 | DockWidgetArea_Mask = 0xf, | |
25209 | AllDockWidgetAreas = DockWidgetArea_Mask, | |
25210 | NoDockWidgetArea = 0 | |
25211 | }; | |
25212 | enum DockWidgetAreaSizes { | |
25213 | NDockWidgetAreas = 4 | |
25214 | }; | |
25215 | ||
25216 | typedef QFlags<DockWidgetArea> DockWidgetAreas; | |
25217 | ||
25218 | enum ToolBarArea { | |
25219 | LeftToolBarArea = 0x1, | |
25220 | RightToolBarArea = 0x2, | |
25221 | TopToolBarArea = 0x4, | |
25222 | BottomToolBarArea = 0x8, | |
25223 | ||
25224 | ToolBarArea_Mask = 0xf, | |
25225 | AllToolBarAreas = ToolBarArea_Mask, | |
25226 | NoToolBarArea = 0 | |
25227 | }; | |
25228 | ||
25229 | enum ToolBarAreaSizes { | |
25230 | NToolBarAreas = 4 | |
25231 | }; | |
25232 | ||
25233 | typedef QFlags<ToolBarArea> ToolBarAreas; | |
25234 | # 1240 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
25235 | enum DateFormat { | |
25236 | TextDate, | |
25237 | ISODate, | |
25238 | SystemLocaleDate, | |
25239 | LocalDate = SystemLocaleDate, | |
25240 | LocaleDate, | |
25241 | SystemLocaleShortDate, | |
25242 | SystemLocaleLongDate, | |
25243 | DefaultLocaleShortDate, | |
25244 | DefaultLocaleLongDate | |
25245 | }; | |
25246 | ||
25247 | enum TimeSpec { | |
25248 | LocalTime, | |
25249 | UTC, | |
25250 | OffsetFromUTC | |
25251 | }; | |
25252 | ||
25253 | enum DayOfWeek { | |
25254 | Monday = 1, | |
25255 | Tuesday = 2, | |
25256 | Wednesday = 3, | |
25257 | Thursday = 4, | |
25258 | Friday = 5, | |
25259 | Saturday = 6, | |
25260 | Sunday = 7 | |
25261 | }; | |
25262 | ||
25263 | enum ScrollBarPolicy { | |
25264 | ScrollBarAsNeeded, | |
25265 | ScrollBarAlwaysOff, | |
25266 | ScrollBarAlwaysOn | |
25267 | }; | |
25268 | # 1299 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
25269 | enum CaseSensitivity { | |
25270 | CaseInsensitive, | |
25271 | CaseSensitive | |
25272 | }; | |
25273 | ||
25274 | enum Corner { | |
25275 | TopLeftCorner = 0x00000, | |
25276 | TopRightCorner = 0x00001, | |
25277 | BottomLeftCorner = 0x00002, | |
25278 | BottomRightCorner = 0x00003 | |
25279 | ||
25280 | ||
25281 | ||
25282 | ||
25283 | ||
25284 | ||
25285 | }; | |
25286 | ||
25287 | enum ConnectionType { | |
25288 | AutoConnection, | |
25289 | DirectConnection, | |
25290 | QueuedConnection, | |
25291 | AutoCompatConnection, | |
25292 | BlockingQueuedConnection | |
25293 | }; | |
25294 | ||
25295 | enum ShortcutContext { | |
25296 | WidgetShortcut, | |
25297 | WindowShortcut, | |
25298 | ApplicationShortcut, | |
25299 | WidgetWithChildrenShortcut | |
25300 | }; | |
25301 | ||
25302 | enum FillRule { | |
25303 | OddEvenFill, | |
25304 | WindingFill | |
25305 | }; | |
25306 | ||
25307 | enum MaskMode { | |
25308 | MaskInColor, | |
25309 | MaskOutColor | |
25310 | }; | |
25311 | ||
25312 | enum ClipOperation { | |
25313 | NoClip, | |
25314 | ReplaceClip, | |
25315 | IntersectClip, | |
25316 | UniteClip | |
25317 | }; | |
25318 | ||
25319 | ||
25320 | enum ItemSelectionMode { | |
25321 | ContainsItemShape = 0x0, | |
25322 | IntersectsItemShape = 0x1, | |
25323 | ContainsItemBoundingRect = 0x2, | |
25324 | IntersectsItemBoundingRect = 0x3 | |
25325 | }; | |
25326 | ||
25327 | enum TransformationMode { | |
25328 | FastTransformation, | |
25329 | SmoothTransformation | |
25330 | }; | |
25331 | ||
25332 | enum Axis { | |
25333 | XAxis, | |
25334 | YAxis, | |
25335 | ZAxis | |
25336 | }; | |
25337 | ||
25338 | enum FocusReason { | |
25339 | MouseFocusReason, | |
25340 | TabFocusReason, | |
25341 | BacktabFocusReason, | |
25342 | ActiveWindowFocusReason, | |
25343 | PopupFocusReason, | |
25344 | ShortcutFocusReason, | |
25345 | MenuBarFocusReason, | |
25346 | OtherFocusReason, | |
25347 | NoFocusReason | |
25348 | }; | |
25349 | ||
25350 | enum ContextMenuPolicy { | |
25351 | NoContextMenu, | |
25352 | DefaultContextMenu, | |
25353 | ActionsContextMenu, | |
25354 | CustomContextMenu, | |
25355 | PreventContextMenu | |
25356 | }; | |
25357 | ||
25358 | enum InputMethodQuery { | |
25359 | ImMicroFocus, | |
25360 | ImFont, | |
25361 | ImCursorPosition, | |
25362 | ImSurroundingText, | |
25363 | ImCurrentSelection | |
25364 | }; | |
25365 | ||
25366 | enum ToolButtonStyle { | |
25367 | ToolButtonIconOnly, | |
25368 | ToolButtonTextOnly, | |
25369 | ToolButtonTextBesideIcon, | |
25370 | ToolButtonTextUnderIcon | |
25371 | }; | |
25372 | ||
25373 | enum LayoutDirection { | |
25374 | LeftToRight, | |
25375 | RightToLeft | |
25376 | }; | |
25377 | ||
25378 | enum DropAction { | |
25379 | CopyAction = 0x1, | |
25380 | MoveAction = 0x2, | |
25381 | LinkAction = 0x4, | |
25382 | ActionMask = 0xff, | |
25383 | TargetMoveAction = 0x8002, | |
25384 | IgnoreAction = 0x0 | |
25385 | }; | |
25386 | typedef QFlags<DropAction> DropActions; | |
25387 | ||
25388 | enum CheckState { | |
25389 | Unchecked, | |
25390 | PartiallyChecked, | |
25391 | Checked | |
25392 | }; | |
25393 | ||
25394 | enum ItemDataRole { | |
25395 | DisplayRole = 0, | |
25396 | DecorationRole = 1, | |
25397 | EditRole = 2, | |
25398 | ToolTipRole = 3, | |
25399 | StatusTipRole = 4, | |
25400 | WhatsThisRole = 5, | |
25401 | ||
25402 | FontRole = 6, | |
25403 | TextAlignmentRole = 7, | |
25404 | BackgroundColorRole = 8, | |
25405 | BackgroundRole = 8, | |
25406 | TextColorRole = 9, | |
25407 | ForegroundRole = 9, | |
25408 | CheckStateRole = 10, | |
25409 | ||
25410 | AccessibleTextRole = 11, | |
25411 | AccessibleDescriptionRole = 12, | |
25412 | ||
25413 | SizeHintRole = 13, | |
25414 | ||
25415 | DisplayPropertyRole = 27, | |
25416 | DecorationPropertyRole = 28, | |
25417 | ToolTipPropertyRole = 29, | |
25418 | StatusTipPropertyRole = 30, | |
25419 | WhatsThisPropertyRole = 31, | |
25420 | ||
25421 | UserRole = 32 | |
25422 | }; | |
25423 | ||
25424 | enum ItemFlag { | |
25425 | NoItemFlags = 0, | |
25426 | ItemIsSelectable = 1, | |
25427 | ItemIsEditable = 2, | |
25428 | ItemIsDragEnabled = 4, | |
25429 | ItemIsDropEnabled = 8, | |
25430 | ItemIsUserCheckable = 16, | |
25431 | ItemIsEnabled = 32, | |
25432 | ItemIsTristate = 64 | |
25433 | }; | |
25434 | typedef QFlags<ItemFlag> ItemFlags; | |
25435 | ||
25436 | enum MatchFlag { | |
25437 | MatchExactly = 0, | |
25438 | MatchContains = 1, | |
25439 | MatchStartsWith = 2, | |
25440 | MatchEndsWith = 3, | |
25441 | MatchRegExp = 4, | |
25442 | MatchWildcard = 5, | |
25443 | MatchFixedString = 8, | |
25444 | MatchCaseSensitive = 16, | |
25445 | MatchWrap = 32, | |
25446 | MatchRecursive = 64 | |
25447 | }; | |
25448 | typedef QFlags<MatchFlag> MatchFlags; | |
25449 | # 1487 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
25450 | typedef void * HANDLE; | |
25451 | ||
25452 | typedef WindowFlags WFlags; | |
25453 | ||
25454 | enum WindowModality { | |
25455 | NonModal, | |
25456 | WindowModal, | |
25457 | ApplicationModal | |
25458 | }; | |
25459 | ||
25460 | enum TextInteractionFlag { | |
25461 | NoTextInteraction = 0, | |
25462 | TextSelectableByMouse = 1, | |
25463 | TextSelectableByKeyboard = 2, | |
25464 | LinksAccessibleByMouse = 4, | |
25465 | LinksAccessibleByKeyboard = 8, | |
25466 | TextEditable = 16, | |
25467 | ||
25468 | TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable, | |
25469 | TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard | |
25470 | }; | |
25471 | typedef QFlags<TextInteractionFlag> TextInteractionFlags; | |
25472 | ||
25473 | enum EventPriority { | |
25474 | HighEventPriority = 1, | |
25475 | NormalEventPriority = 0, | |
25476 | LowEventPriority = -1 | |
25477 | }; | |
25478 | ||
25479 | enum SizeHint { | |
25480 | MinimumSize, | |
25481 | PreferredSize, | |
25482 | MaximumSize, | |
25483 | MinimumDescent, | |
25484 | NSizeHints | |
25485 | }; | |
25486 | ||
25487 | enum WindowFrameSection { | |
25488 | NoSection, | |
25489 | LeftSection, | |
25490 | TopLeftSection, | |
25491 | TopSection, | |
25492 | TopRightSection, | |
25493 | RightSection, | |
25494 | BottomRightSection, | |
25495 | BottomSection, | |
25496 | BottomLeftSection, | |
25497 | TitleBarArea | |
25498 | }; | |
25499 | } | |
25500 | ||
25501 | ||
25502 | ||
25503 | ||
25504 | ||
25505 | inline QFlags<Qt::MouseButtons::enum_type> operator|(Qt::MouseButtons::enum_type f1, Qt::MouseButtons::enum_type f2) { return QFlags<Qt::MouseButtons::enum_type>(f1) | f2; } inline QFlags<Qt::MouseButtons::enum_type> operator|(Qt::MouseButtons::enum_type f1, QFlags<Qt::MouseButtons::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::MouseButtons::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25506 | inline QFlags<Qt::Orientations::enum_type> operator|(Qt::Orientations::enum_type f1, Qt::Orientations::enum_type f2) { return QFlags<Qt::Orientations::enum_type>(f1) | f2; } inline QFlags<Qt::Orientations::enum_type> operator|(Qt::Orientations::enum_type f1, QFlags<Qt::Orientations::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::Orientations::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25507 | inline QFlags<Qt::KeyboardModifiers::enum_type> operator|(Qt::KeyboardModifiers::enum_type f1, Qt::KeyboardModifiers::enum_type f2) { return QFlags<Qt::KeyboardModifiers::enum_type>(f1) | f2; } inline QFlags<Qt::KeyboardModifiers::enum_type> operator|(Qt::KeyboardModifiers::enum_type f1, QFlags<Qt::KeyboardModifiers::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::KeyboardModifiers::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25508 | inline QFlags<Qt::WindowFlags::enum_type> operator|(Qt::WindowFlags::enum_type f1, Qt::WindowFlags::enum_type f2) { return QFlags<Qt::WindowFlags::enum_type>(f1) | f2; } inline QFlags<Qt::WindowFlags::enum_type> operator|(Qt::WindowFlags::enum_type f1, QFlags<Qt::WindowFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::WindowFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25509 | inline QFlags<Qt::Alignment::enum_type> operator|(Qt::Alignment::enum_type f1, Qt::Alignment::enum_type f2) { return QFlags<Qt::Alignment::enum_type>(f1) | f2; } inline QFlags<Qt::Alignment::enum_type> operator|(Qt::Alignment::enum_type f1, QFlags<Qt::Alignment::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::Alignment::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25510 | inline QFlags<Qt::ImageConversionFlags::enum_type> operator|(Qt::ImageConversionFlags::enum_type f1, Qt::ImageConversionFlags::enum_type f2) { return QFlags<Qt::ImageConversionFlags::enum_type>(f1) | f2; } inline QFlags<Qt::ImageConversionFlags::enum_type> operator|(Qt::ImageConversionFlags::enum_type f1, QFlags<Qt::ImageConversionFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::ImageConversionFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25511 | inline QFlags<Qt::DockWidgetAreas::enum_type> operator|(Qt::DockWidgetAreas::enum_type f1, Qt::DockWidgetAreas::enum_type f2) { return QFlags<Qt::DockWidgetAreas::enum_type>(f1) | f2; } inline QFlags<Qt::DockWidgetAreas::enum_type> operator|(Qt::DockWidgetAreas::enum_type f1, QFlags<Qt::DockWidgetAreas::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::DockWidgetAreas::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25512 | inline QFlags<Qt::ToolBarAreas::enum_type> operator|(Qt::ToolBarAreas::enum_type f1, Qt::ToolBarAreas::enum_type f2) { return QFlags<Qt::ToolBarAreas::enum_type>(f1) | f2; } inline QFlags<Qt::ToolBarAreas::enum_type> operator|(Qt::ToolBarAreas::enum_type f1, QFlags<Qt::ToolBarAreas::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::ToolBarAreas::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25513 | inline QFlags<Qt::WindowStates::enum_type> operator|(Qt::WindowStates::enum_type f1, Qt::WindowStates::enum_type f2) { return QFlags<Qt::WindowStates::enum_type>(f1) | f2; } inline QFlags<Qt::WindowStates::enum_type> operator|(Qt::WindowStates::enum_type f1, QFlags<Qt::WindowStates::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::WindowStates::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25514 | inline QFlags<Qt::DropActions::enum_type> operator|(Qt::DropActions::enum_type f1, Qt::DropActions::enum_type f2) { return QFlags<Qt::DropActions::enum_type>(f1) | f2; } inline QFlags<Qt::DropActions::enum_type> operator|(Qt::DropActions::enum_type f1, QFlags<Qt::DropActions::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::DropActions::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25515 | inline QFlags<Qt::ItemFlags::enum_type> operator|(Qt::ItemFlags::enum_type f1, Qt::ItemFlags::enum_type f2) { return QFlags<Qt::ItemFlags::enum_type>(f1) | f2; } inline QFlags<Qt::ItemFlags::enum_type> operator|(Qt::ItemFlags::enum_type f1, QFlags<Qt::ItemFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::ItemFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25516 | inline QFlags<Qt::MatchFlags::enum_type> operator|(Qt::MatchFlags::enum_type f1, Qt::MatchFlags::enum_type f2) { return QFlags<Qt::MatchFlags::enum_type>(f1) | f2; } inline QFlags<Qt::MatchFlags::enum_type> operator|(Qt::MatchFlags::enum_type f1, QFlags<Qt::MatchFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::MatchFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25517 | inline QFlags<Qt::TextInteractionFlags::enum_type> operator|(Qt::TextInteractionFlags::enum_type f1, Qt::TextInteractionFlags::enum_type f2) { return QFlags<Qt::TextInteractionFlags::enum_type>(f1) | f2; } inline QFlags<Qt::TextInteractionFlags::enum_type> operator|(Qt::TextInteractionFlags::enum_type f1, QFlags<Qt::TextInteractionFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::TextInteractionFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
25518 | ||
25519 | typedef bool (*qInternalCallback)(void **); | |
25520 | ||
25521 | class __attribute__((visibility("default"))) QInternal { | |
25522 | public: | |
25523 | enum PaintDeviceFlags { | |
25524 | UnknownDevice = 0x00, | |
25525 | Widget = 0x01, | |
25526 | Pixmap = 0x02, | |
25527 | Image = 0x03, | |
25528 | Printer = 0x04, | |
25529 | Picture = 0x05, | |
25530 | Pbuffer = 0x06, | |
25531 | FramebufferObject = 0x07, | |
25532 | CustomRaster = 0x08, | |
25533 | MacQuartz = 0x09 | |
25534 | }; | |
25535 | enum RelayoutType { | |
25536 | RelayoutNormal, | |
25537 | RelayoutDragging, | |
25538 | RelayoutDropped | |
25539 | }; | |
25540 | ||
25541 | ||
25542 | enum Callback { | |
25543 | ConnectCallback, | |
25544 | DisconnectCallback, | |
25545 | AdoptCurrentThread, | |
25546 | EventNotifyCallback, | |
25547 | LastCallback | |
25548 | }; | |
25549 | ||
25550 | enum InternalFunction { | |
25551 | CreateThreadForAdoption, | |
25552 | RefAdoptedThread, | |
25553 | DerefAdoptedThread, | |
25554 | SetCurrentThreadToMainThread, | |
25555 | SetQObjectSender, | |
25556 | GetQObjectSender, | |
25557 | ResetQObjectSender, | |
25558 | LastInternalFunction | |
25559 | }; | |
25560 | ||
25561 | enum DockPosition { | |
25562 | LeftDock, | |
25563 | RightDock, | |
25564 | TopDock, | |
25565 | BottomDock, | |
25566 | DockCount | |
25567 | }; | |
25568 | ||
25569 | static bool registerCallback(Callback, qInternalCallback); | |
25570 | static bool unregisterCallback(Callback, qInternalCallback); | |
25571 | ||
25572 | static bool activateCallbacks(Callback, void **); | |
25573 | static bool callFunction(InternalFunction func, void **); | |
25574 | }; | |
25575 | # 1621 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnamespace.h" | |
25576 | ||
25577 | ||
25578 | ||
25579 | # 1 "../../include/QtCore/qnamespace.h" 2 | |
25580 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" 2 | |
25581 | ||
25582 | ||
25583 | ||
25584 | ||
25585 | ||
25586 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
25587 | ||
25588 | class QByteArray; | |
25589 | ||
25590 | class QString; | |
25591 | ||
25592 | ||
25593 | #define Q_MOC_OUTPUT_REVISION 61 | |
25594 | # 68 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" | |
25595 | #define slots | |
25596 | #define signals protected | |
25597 | ||
25598 | #define Q_SLOTS | |
25599 | #define Q_SIGNALS protected | |
25600 | #define Q_PRIVATE_SLOT(d,signature) | |
25601 | #define Q_EMIT | |
25602 | ||
25603 | #define emit | |
25604 | ||
25605 | #define Q_CLASSINFO(name,value) | |
25606 | #define Q_INTERFACES(x) | |
25607 | #define Q_PROPERTY(text) | |
25608 | #define Q_OVERRIDE(text) | |
25609 | #define Q_ENUMS(x) | |
25610 | #define Q_FLAGS(x) | |
25611 | ||
25612 | ||
25613 | ||
25614 | #define Q_SCRIPTABLE | |
25615 | #define Q_INVOKABLE | |
25616 | #define Q_SIGNAL | |
25617 | #define Q_SLOT | |
25618 | ||
25619 | ||
25620 | ||
25621 | ||
25622 | ||
25623 | #define QT_TR_FUNCTIONS static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } | |
25624 | # 137 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" | |
25625 | #define Q_OBJECT_CHECK template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } | |
25626 | ||
25627 | ||
25628 | ||
25629 | template <typename T> | |
25630 | inline int qYouForgotTheQ_OBJECT_Macro(T, T) { return 0; } | |
25631 | ||
25632 | template <typename T1, typename T2> | |
25633 | inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {} | |
25634 | ||
25635 | ||
25636 | ||
25637 | #define Q_OBJECT public: Q_OBJECT_CHECK static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); QT_TR_FUNCTIONS virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
25638 | # 159 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" | |
25639 | #define Q_OBJECT_FAKE Q_OBJECT | |
25640 | ||
25641 | #define Q_GADGET public: static const QMetaObject staticMetaObject; private: | |
25642 | # 202 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" | |
25643 | __attribute__((visibility("default"))) const char *qFlagLocation(const char *method); | |
25644 | ||
25645 | #define QTOSTRING_HELPER(s) #s | |
25646 | #define QTOSTRING(s) QTOSTRING_HELPER(s) | |
25647 | ||
25648 | ||
25649 | ||
25650 | ||
25651 | ||
25652 | ||
25653 | #define METHOD(a) "0"#a | |
25654 | #define SLOT(a) "1"#a | |
25655 | #define SIGNAL(a) "2"#a | |
25656 | # 223 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobjectdefs.h" | |
25657 | #define QMETHOD_CODE 0 | |
25658 | #define QSLOT_CODE 1 | |
25659 | #define QSIGNAL_CODE 2 | |
25660 | ||
25661 | #define Q_ARG(type,data) QArgument<type >(#type, data) | |
25662 | #define Q_RETURN_ARG(type,data) QReturnArgument<type >(#type, data) | |
25663 | ||
25664 | class QObject; | |
25665 | class QMetaMethod; | |
25666 | class QMetaEnum; | |
25667 | class QMetaProperty; | |
25668 | class QMetaClassInfo; | |
25669 | ||
25670 | ||
25671 | class __attribute__((visibility("default"))) QGenericArgument | |
25672 | { | |
25673 | public: | |
25674 | inline QGenericArgument(const char *aName = 0, const void *aData = 0) | |
25675 | : _data(aData), _name(aName) {} | |
25676 | inline void *data() const { return const_cast<void *>(_data); } | |
25677 | inline const char *name() const { return _name; } | |
25678 | ||
25679 | private: | |
25680 | const void *_data; | |
25681 | const char *_name; | |
25682 | }; | |
25683 | ||
25684 | class __attribute__((visibility("default"))) QGenericReturnArgument: public QGenericArgument | |
25685 | { | |
25686 | public: | |
25687 | inline QGenericReturnArgument(const char *aName = 0, void *aData = 0) | |
25688 | : QGenericArgument(aName, aData) | |
25689 | {} | |
25690 | }; | |
25691 | ||
25692 | template <class T> | |
25693 | class QArgument: public QGenericArgument | |
25694 | { | |
25695 | public: | |
25696 | inline QArgument(const char *aName, const T &aData) | |
25697 | : QGenericArgument(aName, static_cast<const void *>(&aData)) | |
25698 | {} | |
25699 | }; | |
25700 | ||
25701 | ||
25702 | template <typename T> | |
25703 | class QReturnArgument: public QGenericReturnArgument | |
25704 | { | |
25705 | public: | |
25706 | inline QReturnArgument(const char *aName, T &aData) | |
25707 | : QGenericReturnArgument(aName, static_cast<void *>(&aData)) | |
25708 | {} | |
25709 | }; | |
25710 | ||
25711 | struct __attribute__((visibility("default"))) QMetaObject | |
25712 | { | |
25713 | const char *className() const; | |
25714 | const QMetaObject *superClass() const; | |
25715 | ||
25716 | QObject *cast(QObject *obj) const; | |
25717 | ||
25718 | ||
25719 | ||
25720 | QString tr(const char *s, const char *c) const; | |
25721 | QString trUtf8(const char *s, const char *c) const; | |
25722 | QString tr(const char *s, const char *c, int n) const; | |
25723 | QString trUtf8(const char *s, const char *c, int n) const; | |
25724 | ||
25725 | ||
25726 | int methodOffset() const; | |
25727 | int enumeratorOffset() const; | |
25728 | int propertyOffset() const; | |
25729 | int classInfoOffset() const; | |
25730 | ||
25731 | int constructorCount() const; | |
25732 | int methodCount() const; | |
25733 | int enumeratorCount() const; | |
25734 | int propertyCount() const; | |
25735 | int classInfoCount() const; | |
25736 | ||
25737 | int indexOfConstructor(const char *constructor) const; | |
25738 | int indexOfMethod(const char *method) const; | |
25739 | int indexOfSignal(const char *signal) const; | |
25740 | int indexOfSlot(const char *slot) const; | |
25741 | int indexOfEnumerator(const char *name) const; | |
25742 | int indexOfProperty(const char *name) const; | |
25743 | int indexOfClassInfo(const char *name) const; | |
25744 | ||
25745 | QMetaMethod constructor(int index) const; | |
25746 | QMetaMethod method(int index) const; | |
25747 | QMetaEnum enumerator(int index) const; | |
25748 | QMetaProperty property(int index) const; | |
25749 | QMetaClassInfo classInfo(int index) const; | |
25750 | QMetaProperty userProperty() const; | |
25751 | ||
25752 | static bool checkConnectArgs(const char *signal, const char *method); | |
25753 | static QByteArray normalizedSignature(const char *method); | |
25754 | static QByteArray normalizedType(const char *type); | |
25755 | ||
25756 | ||
25757 | static bool connect(const QObject *sender, int signal_index, | |
25758 | const QObject *receiver, int method_index, | |
25759 | int type = 0, int *types = 0); | |
25760 | ||
25761 | static bool disconnect(const QObject *sender, int signal_index, | |
25762 | const QObject *receiver, int method_index); | |
25763 | ||
25764 | static void connectSlotsByName(QObject *o); | |
25765 | ||
25766 | ||
25767 | static void activate(QObject *sender, int signal_index, void **argv); | |
25768 | static void activate(QObject *sender, int from_signal_index, int to_signal_index, void **argv); | |
25769 | static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv); | |
25770 | static void activate(QObject *sender, const QMetaObject *, int from_local_signal_index, int to_local_signal_index, void **argv); | |
25771 | ||
25772 | static void addGuard(QObject **ptr); | |
25773 | static void removeGuard(QObject **ptr); | |
25774 | static void changeGuard(QObject **ptr, QObject *o); | |
25775 | ||
25776 | static bool invokeMethod(QObject *obj, const char *member, | |
25777 | Qt::ConnectionType, | |
25778 | QGenericReturnArgument ret, | |
25779 | QGenericArgument val0 = QGenericArgument(0), | |
25780 | QGenericArgument val1 = QGenericArgument(), | |
25781 | QGenericArgument val2 = QGenericArgument(), | |
25782 | QGenericArgument val3 = QGenericArgument(), | |
25783 | QGenericArgument val4 = QGenericArgument(), | |
25784 | QGenericArgument val5 = QGenericArgument(), | |
25785 | QGenericArgument val6 = QGenericArgument(), | |
25786 | QGenericArgument val7 = QGenericArgument(), | |
25787 | QGenericArgument val8 = QGenericArgument(), | |
25788 | QGenericArgument val9 = QGenericArgument()); | |
25789 | ||
25790 | static inline bool invokeMethod(QObject *obj, const char *member, | |
25791 | QGenericReturnArgument ret, | |
25792 | QGenericArgument val0 = QGenericArgument(0), | |
25793 | QGenericArgument val1 = QGenericArgument(), | |
25794 | QGenericArgument val2 = QGenericArgument(), | |
25795 | QGenericArgument val3 = QGenericArgument(), | |
25796 | QGenericArgument val4 = QGenericArgument(), | |
25797 | QGenericArgument val5 = QGenericArgument(), | |
25798 | QGenericArgument val6 = QGenericArgument(), | |
25799 | QGenericArgument val7 = QGenericArgument(), | |
25800 | QGenericArgument val8 = QGenericArgument(), | |
25801 | QGenericArgument val9 = QGenericArgument()) | |
25802 | { | |
25803 | return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3, | |
25804 | val4, val5, val6, val7, val8, val9); | |
25805 | } | |
25806 | ||
25807 | static inline bool invokeMethod(QObject *obj, const char *member, | |
25808 | Qt::ConnectionType type, | |
25809 | QGenericArgument val0 = QGenericArgument(0), | |
25810 | QGenericArgument val1 = QGenericArgument(), | |
25811 | QGenericArgument val2 = QGenericArgument(), | |
25812 | QGenericArgument val3 = QGenericArgument(), | |
25813 | QGenericArgument val4 = QGenericArgument(), | |
25814 | QGenericArgument val5 = QGenericArgument(), | |
25815 | QGenericArgument val6 = QGenericArgument(), | |
25816 | QGenericArgument val7 = QGenericArgument(), | |
25817 | QGenericArgument val8 = QGenericArgument(), | |
25818 | QGenericArgument val9 = QGenericArgument()) | |
25819 | { | |
25820 | return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2, | |
25821 | val3, val4, val5, val6, val7, val8, val9); | |
25822 | } | |
25823 | ||
25824 | static inline bool invokeMethod(QObject *obj, const char *member, | |
25825 | QGenericArgument val0 = QGenericArgument(0), | |
25826 | QGenericArgument val1 = QGenericArgument(), | |
25827 | QGenericArgument val2 = QGenericArgument(), | |
25828 | QGenericArgument val3 = QGenericArgument(), | |
25829 | QGenericArgument val4 = QGenericArgument(), | |
25830 | QGenericArgument val5 = QGenericArgument(), | |
25831 | QGenericArgument val6 = QGenericArgument(), | |
25832 | QGenericArgument val7 = QGenericArgument(), | |
25833 | QGenericArgument val8 = QGenericArgument(), | |
25834 | QGenericArgument val9 = QGenericArgument()) | |
25835 | { | |
25836 | return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0, | |
25837 | val1, val2, val3, val4, val5, val6, val7, val8, val9); | |
25838 | } | |
25839 | ||
25840 | QObject *newInstance(QGenericArgument val0 = QGenericArgument(0), | |
25841 | QGenericArgument val1 = QGenericArgument(), | |
25842 | QGenericArgument val2 = QGenericArgument(), | |
25843 | QGenericArgument val3 = QGenericArgument(), | |
25844 | QGenericArgument val4 = QGenericArgument(), | |
25845 | QGenericArgument val5 = QGenericArgument(), | |
25846 | QGenericArgument val6 = QGenericArgument(), | |
25847 | QGenericArgument val7 = QGenericArgument(), | |
25848 | QGenericArgument val8 = QGenericArgument(), | |
25849 | QGenericArgument val9 = QGenericArgument()) const; | |
25850 | ||
25851 | enum Call { | |
25852 | InvokeMetaMethod, | |
25853 | ReadProperty, | |
25854 | WriteProperty, | |
25855 | ResetProperty, | |
25856 | QueryPropertyDesignable, | |
25857 | QueryPropertyScriptable, | |
25858 | QueryPropertyStored, | |
25859 | QueryPropertyEditable, | |
25860 | QueryPropertyUser, | |
25861 | CreateInstance | |
25862 | }; | |
25863 | ||
25864 | int static_metacall(Call, int, void **) const; | |
25865 | ||
25866 | ||
25867 | ||
25868 | ||
25869 | ||
25870 | struct { | |
25871 | const QMetaObject *superdata; | |
25872 | const char *stringdata; | |
25873 | const uint *data; | |
25874 | const void *extradata; | |
25875 | } d; | |
25876 | }; | |
25877 | ||
25878 | struct QMetaObjectExtraData | |
25879 | { | |
25880 | const QMetaObject **objects; | |
25881 | int (*static_metacall)(QMetaObject::Call, int, void **); | |
25882 | }; | |
25883 | ||
25884 | inline const char *QMetaObject::className() const | |
25885 | { return d.stringdata; } | |
25886 | ||
25887 | inline const QMetaObject *QMetaObject::superClass() const | |
25888 | { return d.superdata; } | |
25889 | ||
25890 | ||
25891 | ||
25892 | ||
25893 | ||
25894 | ||
25895 | ||
25896 | ||
25897 | ||
25898 | # 1 "../../include/QtCore/qobjectdefs.h" 2 | |
25899 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" 2 | |
25900 | # 1 "../../include/QtCore/qstring.h" 1 | |
25901 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" 1 | |
25902 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
25903 | #define QSTRING_H | |
25904 | ||
25905 | # 1 "../../include/QtCore/qchar.h" 1 | |
25906 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" 2 | |
25907 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
25908 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" 1 | |
25909 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" | |
25910 | #define QBYTEARRAY_H | |
25911 | ||
25912 | # 1 "../../include/QtCore/qglobal.h" 1 | |
25913 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" 2 | |
25914 | # 1 "../../include/QtCore/qatomic.h" 1 | |
25915 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" 2 | |
25916 | ||
25917 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 1 3 4 | |
25918 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
25919 | #define _STRING_H 1 | |
25920 | ||
25921 | ||
25922 | ||
25923 | extern "C" { | |
25924 | ||
25925 | ||
25926 | #define __need_size_t | |
25927 | #define __need_NULL | |
25928 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
25929 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
25930 | #undef __need_ptrdiff_t | |
25931 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
25932 | #undef __need_size_t | |
25933 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
25934 | #undef __need_wchar_t | |
25935 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
25936 | #undef NULL | |
25937 | ||
25938 | #define NULL __null | |
25939 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
25940 | #undef __need_NULL | |
25941 | ||
25942 | ||
25943 | ||
25944 | ||
25945 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
25946 | # 34 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 2 3 4 | |
25947 | ||
25948 | ||
25949 | ||
25950 | ||
25951 | extern void *memcpy (void *__restrict __dest, | |
25952 | __const void *__restrict __src, size_t __n) | |
25953 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
25954 | ||
25955 | ||
25956 | extern void *memmove (void *__dest, __const void *__src, size_t __n) | |
25957 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
25958 | ||
25959 | ||
25960 | ||
25961 | ||
25962 | ||
25963 | ||
25964 | extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, | |
25965 | int __c, size_t __n) | |
25966 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
25967 | ||
25968 | ||
25969 | ||
25970 | ||
25971 | ||
25972 | extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); | |
25973 | ||
25974 | ||
25975 | extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) | |
25976 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
25977 | ||
25978 | ||
25979 | extern void *memchr (__const void *__s, int __c, size_t __n) | |
25980 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
25981 | ||
25982 | ||
25983 | ||
25984 | ||
25985 | ||
25986 | extern void *rawmemchr (__const void *__s, int __c) | |
25987 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
25988 | ||
25989 | ||
25990 | extern void *memrchr (__const void *__s, int __c, size_t __n) | |
25991 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
25992 | ||
25993 | ||
25994 | ||
25995 | ||
25996 | ||
25997 | extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) | |
25998 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
25999 | ||
26000 | extern char *strncpy (char *__restrict __dest, | |
26001 | __const char *__restrict __src, size_t __n) | |
26002 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
26003 | ||
26004 | ||
26005 | extern char *strcat (char *__restrict __dest, __const char *__restrict __src) | |
26006 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
26007 | ||
26008 | extern char *strncat (char *__restrict __dest, __const char *__restrict __src, | |
26009 | size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); | |
26010 | ||
26011 | ||
26012 | extern int strcmp (__const char *__s1, __const char *__s2) | |
26013 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26014 | ||
26015 | extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) | |
26016 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26017 | ||
26018 | ||
26019 | extern int strcoll (__const char *__s1, __const char *__s2) | |
26020 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26021 | ||
26022 | extern size_t strxfrm (char *__restrict __dest, | |
26023 | __const char *__restrict __src, size_t __n) | |
26024 | throw () __attribute__ ((__nonnull__ (2))); | |
26025 | ||
26026 | # 130 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26027 | extern char *strdup (__const char *__s) | |
26028 | throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); | |
26029 | ||
26030 | ||
26031 | ||
26032 | ||
26033 | ||
26034 | ||
26035 | extern char *strndup (__const char *__string, size_t __n) | |
26036 | throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); | |
26037 | ||
26038 | ||
26039 | ||
26040 | ||
26041 | #define strdupa(s) (__extension__ ({ __const char *__old = (s); size_t __len = strlen (__old) + 1; char *__new = (char *) __builtin_alloca (__len); (char *) memcpy (__new, __old, __len); })) | |
26042 | # 154 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26043 | #define strndupa(s,n) (__extension__ ({ __const char *__old = (s); size_t __len = strnlen (__old, (n)); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); })) | |
26044 | # 165 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26045 | ||
26046 | ||
26047 | extern char *strchr (__const char *__s, int __c) | |
26048 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
26049 | ||
26050 | extern char *strrchr (__const char *__s, int __c) | |
26051 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
26052 | ||
26053 | ||
26054 | ||
26055 | ||
26056 | ||
26057 | extern char *strchrnul (__const char *__s, int __c) | |
26058 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
26059 | ||
26060 | ||
26061 | ||
26062 | ||
26063 | ||
26064 | extern size_t strcspn (__const char *__s, __const char *__reject) | |
26065 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26066 | ||
26067 | ||
26068 | extern size_t strspn (__const char *__s, __const char *__accept) | |
26069 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26070 | ||
26071 | extern char *strpbrk (__const char *__s, __const char *__accept) | |
26072 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26073 | ||
26074 | extern char *strstr (__const char *__haystack, __const char *__needle) | |
26075 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26076 | ||
26077 | ||
26078 | ||
26079 | extern char *strtok (char *__restrict __s, __const char *__restrict __delim) | |
26080 | throw () __attribute__ ((__nonnull__ (2))); | |
26081 | ||
26082 | # 212 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26083 | extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, | |
26084 | char **__restrict __save_ptr) | |
26085 | throw () __attribute__ ((__nonnull__ (2, 3))); | |
26086 | ||
26087 | ||
26088 | ||
26089 | ||
26090 | extern char *strcasestr (__const char *__haystack, __const char *__needle) | |
26091 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26092 | ||
26093 | ||
26094 | ||
26095 | ||
26096 | ||
26097 | ||
26098 | extern void *memmem (__const void *__haystack, size_t __haystacklen, | |
26099 | __const void *__needle, size_t __needlelen) | |
26100 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); | |
26101 | # 238 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26102 | extern void *mempcpy (void *__restrict __dest, | |
26103 | __const void *__restrict __src, size_t __n) | |
26104 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
26105 | ||
26106 | ||
26107 | ||
26108 | ||
26109 | ||
26110 | extern size_t strlen (__const char *__s) | |
26111 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
26112 | ||
26113 | ||
26114 | ||
26115 | ||
26116 | ||
26117 | extern size_t strnlen (__const char *__string, size_t __maxlen) | |
26118 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
26119 | ||
26120 | ||
26121 | ||
26122 | ||
26123 | ||
26124 | extern char *strerror (int __errnum) throw (); | |
26125 | ||
26126 | # 285 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26127 | extern char *__glibc_strerror_r (int __errnum, char *__buf, size_t __buflen) | |
26128 | throw () __attribute__ ((__nonnull__ (2))); | |
26129 | ||
26130 | extern char * strerror_r (int __errnum, char *__buf, size_t __buflen) throw () __asm__ ("_" "__glibc_strerror_r") __attribute__ ((__nonnull__ (2))); | |
26131 | # 306 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26132 | extern void bcopy (__const void *__src, void *__dest, size_t __n) | |
26133 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
26134 | ||
26135 | ||
26136 | extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); | |
26137 | ||
26138 | ||
26139 | extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) | |
26140 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26141 | ||
26142 | ||
26143 | extern char *index (__const char *__s, int __c) | |
26144 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
26145 | ||
26146 | ||
26147 | extern char *rindex (__const char *__s, int __c) | |
26148 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
26149 | # 339 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26150 | extern int ffs (int __i) throw () __attribute__ ((__const__)); | |
26151 | # 352 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26152 | extern int strcasecmp (__const char *__s1, __const char *__s2) | |
26153 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26154 | ||
26155 | ||
26156 | extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) | |
26157 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
26158 | # 375 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26159 | extern char *strsep (char **__restrict __stringp, | |
26160 | __const char *__restrict __delim) | |
26161 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
26162 | # 388 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26163 | extern char *strsignal (int __sig) throw (); | |
26164 | ||
26165 | ||
26166 | ||
26167 | ||
26168 | ||
26169 | ||
26170 | extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) | |
26171 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
26172 | # 405 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26173 | extern char *stpncpy (char *__restrict __dest, | |
26174 | __const char *__restrict __src, size_t __n) | |
26175 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
26176 | # 422 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4 | |
26177 | extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1))); | |
26178 | ||
26179 | ||
26180 | ||
26181 | ||
26182 | ||
26183 | ||
26184 | extern size_t strlcat(char *__restrict dst, const char *__restrict src, | |
26185 | size_t n) throw () __attribute__ ((__nonnull__ (1, 2))); | |
26186 | extern size_t strlcpy(char *__restrict dst, const char *__restrict src, | |
26187 | size_t n) throw () __attribute__ ((__nonnull__ (1, 2))); | |
26188 | ||
26189 | ||
26190 | } | |
26191 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" 2 | |
26192 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stdarg.h" 1 3 4 | |
26193 | # 34 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stdarg.h" 3 4 | |
26194 | #define _STDARG_H | |
26195 | #define _ANSI_STDARG_H_ | |
26196 | ||
26197 | #undef __need___va_list | |
26198 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stdarg.h" 3 4 | |
26199 | #define va_start(v,l) __builtin_va_start(v,l) | |
26200 | #define va_end(v) __builtin_va_end(v) | |
26201 | #define va_arg(v,l) __builtin_va_arg(v,l) | |
26202 | ||
26203 | #define va_copy(d,s) __builtin_va_copy(d,s) | |
26204 | ||
26205 | #define __va_copy(d,s) __builtin_va_copy(d,s) | |
26206 | # 105 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stdarg.h" 3 4 | |
26207 | typedef __gnuc_va_list va_list; | |
26208 | ||
26209 | ||
26210 | ||
26211 | ||
26212 | ||
26213 | #define _VA_LIST_ | |
26214 | ||
26215 | ||
26216 | #define _VA_LIST | |
26217 | ||
26218 | ||
26219 | #define _VA_LIST_DEFINED | |
26220 | ||
26221 | ||
26222 | #define _VA_LIST_T_H | |
26223 | ||
26224 | ||
26225 | #define __va_list__ | |
26226 | # 50 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" 2 | |
26227 | ||
26228 | ||
26229 | ||
26230 | ||
26231 | ||
26232 | ||
26233 | ||
26234 | ||
26235 | ||
26236 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
26237 | ||
26238 | ||
26239 | ||
26240 | ||
26241 | ||
26242 | __attribute__((visibility("default"))) char *qstrdup(const char *); | |
26243 | ||
26244 | inline uint qstrlen(const char *str) | |
26245 | { return str ? uint(strlen(str)) : 0; } | |
26246 | ||
26247 | inline uint qstrnlen(const char *str, uint maxlen) | |
26248 | { | |
26249 | uint length = 0; | |
26250 | if (str) { | |
26251 | while (length < maxlen && *str++) | |
26252 | length++; | |
26253 | } | |
26254 | return length; | |
26255 | } | |
26256 | ||
26257 | __attribute__((visibility("default"))) char *qstrcpy(char *dst, const char *src); | |
26258 | __attribute__((visibility("default"))) char *qstrncpy(char *dst, const char *src, uint len); | |
26259 | ||
26260 | __attribute__((visibility("default"))) int qstrcmp(const char *str1, const char *str2); | |
26261 | __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const QByteArray &str2); | |
26262 | __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const char *str2); | |
26263 | static inline int qstrcmp(const char *str1, const QByteArray &str2) | |
26264 | { return -qstrcmp(str2, str1); } | |
26265 | ||
26266 | inline int qstrncmp(const char *str1, const char *str2, uint len) | |
26267 | { | |
26268 | return (str1 && str2) ? strncmp(str1, str2, len) | |
26269 | : (str1 ? 1 : (str2 ? -1 : 0)); | |
26270 | } | |
26271 | __attribute__((visibility("default"))) int qstricmp(const char *, const char *); | |
26272 | __attribute__((visibility("default"))) int qstrnicmp(const char *, const char *, uint len); | |
26273 | ||
26274 | ||
26275 | __attribute__((visibility("default"))) int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap); | |
26276 | __attribute__((visibility("default"))) int qsnprintf(char *str, size_t n, const char *fmt, ...); | |
26277 | # 116 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" | |
26278 | __attribute__((visibility("default"))) quint16 qChecksum(const char *s, uint len); | |
26279 | ||
26280 | class QByteRef; | |
26281 | class QString; | |
26282 | class QDataStream; | |
26283 | template <typename T> class QList; | |
26284 | ||
26285 | class __attribute__((visibility("default"))) QByteArray | |
26286 | { | |
26287 | public: | |
26288 | inline QByteArray(); | |
26289 | QByteArray(const char *); | |
26290 | QByteArray(const char *, int size); | |
26291 | QByteArray(int size, char c); | |
26292 | inline QByteArray(const QByteArray &); | |
26293 | inline ~QByteArray(); | |
26294 | ||
26295 | QByteArray &operator=(const QByteArray &); | |
26296 | QByteArray &operator=(const char *str); | |
26297 | ||
26298 | inline int size() const; | |
26299 | bool isEmpty() const; | |
26300 | void resize(int size); | |
26301 | ||
26302 | QByteArray &fill(char c, int size = -1); | |
26303 | ||
26304 | int capacity() const; | |
26305 | void reserve(int size); | |
26306 | void squeeze(); | |
26307 | ||
26308 | ||
26309 | operator const char *() const; | |
26310 | operator const void *() const; | |
26311 | ||
26312 | char *data(); | |
26313 | const char *data() const; | |
26314 | inline const char *constData() const; | |
26315 | inline void detach(); | |
26316 | bool isDetached() const; | |
26317 | void clear(); | |
26318 | ||
26319 | ||
26320 | ||
26321 | ||
26322 | ||
26323 | ||
26324 | char at(int i) const; | |
26325 | char operator[](int i) const; | |
26326 | char operator[](uint i) const; | |
26327 | ||
26328 | QByteRef operator[](int i); | |
26329 | QByteRef operator[](uint i); | |
26330 | ||
26331 | int indexOf(char c, int from = 0) const; | |
26332 | int indexOf(const char *c, int from = 0) const; | |
26333 | int indexOf(const QByteArray &a, int from = 0) const; | |
26334 | int lastIndexOf(char c, int from = -1) const; | |
26335 | int lastIndexOf(const char *c, int from = -1) const; | |
26336 | int lastIndexOf(const QByteArray &a, int from = -1) const; | |
26337 | ||
26338 | QBool contains(char c) const; | |
26339 | QBool contains(const char *a) const; | |
26340 | QBool contains(const QByteArray &a) const; | |
26341 | int count(char c) const; | |
26342 | int count(const char *a) const; | |
26343 | int count(const QByteArray &a) const; | |
26344 | ||
26345 | QByteArray left(int len) const; | |
26346 | QByteArray right(int len) const; | |
26347 | QByteArray mid(int index, int len = -1) const; | |
26348 | ||
26349 | bool startsWith(const QByteArray &a) const; | |
26350 | bool startsWith(char c) const; | |
26351 | bool startsWith(const char *c) const; | |
26352 | ||
26353 | bool endsWith(const QByteArray &a) const; | |
26354 | bool endsWith(char c) const; | |
26355 | bool endsWith(const char *c) const; | |
26356 | ||
26357 | void truncate(int pos); | |
26358 | void chop(int n); | |
26359 | ||
26360 | QByteArray toLower() const; | |
26361 | QByteArray toUpper() const; | |
26362 | ||
26363 | QByteArray trimmed() const; | |
26364 | QByteArray simplified() const; | |
26365 | QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; | |
26366 | QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; | |
26367 | # 213 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" | |
26368 | QByteArray &prepend(char c); | |
26369 | QByteArray &prepend(const char *s); | |
26370 | QByteArray &prepend(const QByteArray &a); | |
26371 | QByteArray &append(char c); | |
26372 | QByteArray &append(const char *s); | |
26373 | QByteArray &append(const char *s, int len); | |
26374 | QByteArray &append(const QByteArray &a); | |
26375 | QByteArray &insert(int i, char c); | |
26376 | QByteArray &insert(int i, const char *s); | |
26377 | QByteArray &insert(int i, const QByteArray &a); | |
26378 | QByteArray &remove(int index, int len); | |
26379 | QByteArray &replace(int index, int len, const char *s); | |
26380 | QByteArray &replace(int index, int len, const QByteArray &s); | |
26381 | QByteArray &replace(char before, const char *after); | |
26382 | QByteArray &replace(char before, const QByteArray &after); | |
26383 | QByteArray &replace(const char *before, const char *after); | |
26384 | QByteArray &replace(const char *before, int bsize, const char *after, int asize); | |
26385 | QByteArray &replace(const QByteArray &before, const QByteArray &after); | |
26386 | QByteArray &replace(const QByteArray &before, const char *after); | |
26387 | QByteArray &replace(const char *before, const QByteArray &after); | |
26388 | QByteArray &replace(char before, char after); | |
26389 | QByteArray &operator+=(char c); | |
26390 | QByteArray &operator+=(const char *s); | |
26391 | QByteArray &operator+=(const QByteArray &a); | |
26392 | ||
26393 | QList<QByteArray> split(char sep) const; | |
26394 | ||
26395 | QByteArray repeated(int times) const; | |
26396 | # 254 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" | |
26397 | inline __attribute__ ((__deprecated__)) bool operator==(const QString &s2) const; | |
26398 | inline __attribute__ ((__deprecated__)) bool operator!=(const QString &s2) const; | |
26399 | inline __attribute__ ((__deprecated__)) bool operator<(const QString &s2) const; | |
26400 | inline __attribute__ ((__deprecated__)) bool operator>(const QString &s2) const; | |
26401 | inline __attribute__ ((__deprecated__)) bool operator<=(const QString &s2) const; | |
26402 | inline __attribute__ ((__deprecated__)) bool operator>=(const QString &s2) const; | |
26403 | ||
26404 | ||
26405 | short toShort(bool *ok = 0, int base = 10) const; | |
26406 | ushort toUShort(bool *ok = 0, int base = 10) const; | |
26407 | int toInt(bool *ok = 0, int base = 10) const; | |
26408 | uint toUInt(bool *ok = 0, int base = 10) const; | |
26409 | long toLong(bool *ok = 0, int base = 10) const; | |
26410 | ulong toULong(bool *ok = 0, int base = 10) const; | |
26411 | qlonglong toLongLong(bool *ok = 0, int base = 10) const; | |
26412 | qulonglong toULongLong(bool *ok = 0, int base = 10) const; | |
26413 | float toFloat(bool *ok = 0) const; | |
26414 | double toDouble(bool *ok = 0) const; | |
26415 | QByteArray toBase64() const; | |
26416 | QByteArray toHex() const; | |
26417 | QByteArray toPercentEncoding(const QByteArray &exclude = QByteArray(), | |
26418 | const QByteArray &include = QByteArray(), | |
26419 | char percent = '%') const; | |
26420 | ||
26421 | QByteArray &setNum(short, int base = 10); | |
26422 | QByteArray &setNum(ushort, int base = 10); | |
26423 | QByteArray &setNum(int, int base = 10); | |
26424 | QByteArray &setNum(uint, int base = 10); | |
26425 | QByteArray &setNum(qlonglong, int base = 10); | |
26426 | QByteArray &setNum(qulonglong, int base = 10); | |
26427 | QByteArray &setNum(float, char f = 'g', int prec = 6); | |
26428 | QByteArray &setNum(double, char f = 'g', int prec = 6); | |
26429 | ||
26430 | static QByteArray number(int, int base = 10); | |
26431 | static QByteArray number(uint, int base = 10); | |
26432 | static QByteArray number(qlonglong, int base = 10); | |
26433 | static QByteArray number(qulonglong, int base = 10); | |
26434 | static QByteArray number(double, char f = 'g', int prec = 6); | |
26435 | static QByteArray fromRawData(const char *, int size); | |
26436 | static QByteArray fromBase64(const QByteArray &base64); | |
26437 | static QByteArray fromHex(const QByteArray &hexEncoded); | |
26438 | static QByteArray fromPercentEncoding(const QByteArray &pctEncoded, char percent = '%'); | |
26439 | ||
26440 | ||
26441 | typedef char *iterator; | |
26442 | typedef const char *const_iterator; | |
26443 | typedef iterator Iterator; | |
26444 | typedef const_iterator ConstIterator; | |
26445 | iterator begin(); | |
26446 | const_iterator begin() const; | |
26447 | const_iterator constBegin() const; | |
26448 | iterator end(); | |
26449 | const_iterator end() const; | |
26450 | const_iterator constEnd() const; | |
26451 | ||
26452 | ||
26453 | typedef const char & const_reference; | |
26454 | typedef char & reference; | |
26455 | void push_back(char c); | |
26456 | void push_back(const char *c); | |
26457 | void push_back(const QByteArray &a); | |
26458 | void push_front(char c); | |
26459 | void push_front(const char *c); | |
26460 | void push_front(const QByteArray &a); | |
26461 | ||
26462 | inline int count() const { return d->size; } | |
26463 | int length() const { return d->size; } | |
26464 | bool isNull() const; | |
26465 | # 348 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" | |
26466 | private: | |
26467 | operator QNoImplicitBoolCast() const; | |
26468 | struct Data { | |
26469 | QBasicAtomicInt ref; | |
26470 | int alloc, size; | |
26471 | ||
26472 | ||
26473 | ||
26474 | char *data; | |
26475 | char array[1]; | |
26476 | }; | |
26477 | static Data shared_null; | |
26478 | static Data shared_empty; | |
26479 | Data *d; | |
26480 | QByteArray(Data *dd, int , int ) : d(dd) {} | |
26481 | void realloc(int alloc); | |
26482 | void expand(int i); | |
26483 | QByteArray nulTerminated() const; | |
26484 | ||
26485 | friend class QByteRef; | |
26486 | friend class QString; | |
26487 | public: | |
26488 | typedef Data * DataPtr; | |
26489 | inline DataPtr &data_ptr() { return d; } | |
26490 | }; | |
26491 | ||
26492 | inline QByteArray::QByteArray(): d(&shared_null) { d->ref.ref(); } | |
26493 | inline QByteArray::~QByteArray() { if (!d->ref.deref()) qFree(d); } | |
26494 | inline int QByteArray::size() const | |
26495 | { return d->size; } | |
26496 | # 387 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qbytearray.h" | |
26497 | inline char QByteArray::at(int i) const | |
26498 | { qt_noop(); return d->data[i]; } | |
26499 | inline char QByteArray::operator[](int i) const | |
26500 | { qt_noop(); return d->data[i]; } | |
26501 | inline char QByteArray::operator[](uint i) const | |
26502 | { qt_noop(); return d->data[i]; } | |
26503 | ||
26504 | ||
26505 | inline bool QByteArray::isEmpty() const | |
26506 | { return d->size == 0; } | |
26507 | ||
26508 | inline QByteArray::operator const char *() const | |
26509 | { return d->data; } | |
26510 | inline QByteArray::operator const void *() const | |
26511 | { return d->data; } | |
26512 | ||
26513 | inline char *QByteArray::data() | |
26514 | { detach(); return d->data; } | |
26515 | inline const char *QByteArray::data() const | |
26516 | { return d->data; } | |
26517 | inline const char *QByteArray::constData() const | |
26518 | { return d->data; } | |
26519 | inline void QByteArray::detach() | |
26520 | { if (d->ref != 1 || d->data != d->array) realloc(d->size); } | |
26521 | inline bool QByteArray::isDetached() const | |
26522 | { return d->ref == 1; } | |
26523 | inline QByteArray::QByteArray(const QByteArray &a) : d(a.d) | |
26524 | { d->ref.ref(); } | |
26525 | ||
26526 | ||
26527 | ||
26528 | ||
26529 | ||
26530 | inline int QByteArray::capacity() const | |
26531 | { return d->alloc; } | |
26532 | ||
26533 | inline void QByteArray::reserve(int asize) | |
26534 | { if (d->ref != 1 || asize > d->alloc) realloc(asize); } | |
26535 | ||
26536 | inline void QByteArray::squeeze() | |
26537 | { if (d->size < d->alloc) realloc(d->size); } | |
26538 | ||
26539 | class __attribute__((visibility("default"))) QByteRef { | |
26540 | QByteArray &a; | |
26541 | int i; | |
26542 | inline QByteRef(QByteArray &array, int idx) | |
26543 | : a(array),i(idx) {} | |
26544 | friend class QByteArray; | |
26545 | public: | |
26546 | ||
26547 | ||
26548 | ||
26549 | ||
26550 | inline operator char() const | |
26551 | { return i < a.d->size ? a.d->data[i] : 0; } | |
26552 | ||
26553 | inline QByteRef &operator=(char c) | |
26554 | { if (i >= a.d->size) a.expand(i); else a.detach(); | |
26555 | a.d->data[i] = c; return *this; } | |
26556 | inline QByteRef &operator=(const QByteRef &c) | |
26557 | { if (i >= a.d->size) a.expand(i); else a.detach(); | |
26558 | a.d->data[i] = c.a.d->data[c.i]; return *this; } | |
26559 | inline bool operator==(char c) const | |
26560 | { return a.d->data[i] == c; } | |
26561 | inline bool operator!=(char c) const | |
26562 | { return a.d->data[i] != c; } | |
26563 | inline bool operator>(char c) const | |
26564 | { return a.d->data[i] > c; } | |
26565 | inline bool operator>=(char c) const | |
26566 | { return a.d->data[i] >= c; } | |
26567 | inline bool operator<(char c) const | |
26568 | { return a.d->data[i] < c; } | |
26569 | inline bool operator<=(char c) const | |
26570 | { return a.d->data[i] <= c; } | |
26571 | }; | |
26572 | ||
26573 | inline QByteRef QByteArray::operator[](int i) | |
26574 | { qt_noop(); return QByteRef(*this, i); } | |
26575 | inline QByteRef QByteArray::operator[](uint i) | |
26576 | { return QByteRef(*this, i); } | |
26577 | inline QByteArray::iterator QByteArray::begin() | |
26578 | { detach(); return d->data; } | |
26579 | inline QByteArray::const_iterator QByteArray::begin() const | |
26580 | { return d->data; } | |
26581 | inline QByteArray::const_iterator QByteArray::constBegin() const | |
26582 | { return d->data; } | |
26583 | inline QByteArray::iterator QByteArray::end() | |
26584 | { detach(); return d->data + d->size; } | |
26585 | inline QByteArray::const_iterator QByteArray::end() const | |
26586 | { return d->data + d->size; } | |
26587 | inline QByteArray::const_iterator QByteArray::constEnd() const | |
26588 | { return d->data + d->size; } | |
26589 | inline QByteArray &QByteArray::operator+=(char c) | |
26590 | { return append(c); } | |
26591 | inline QByteArray &QByteArray::operator+=(const char *s) | |
26592 | { return append(s); } | |
26593 | inline QByteArray &QByteArray::operator+=(const QByteArray &a) | |
26594 | { return append(a); } | |
26595 | inline void QByteArray::push_back(char c) | |
26596 | { append(c); } | |
26597 | inline void QByteArray::push_back(const char *c) | |
26598 | { append(c); } | |
26599 | inline void QByteArray::push_back(const QByteArray &a) | |
26600 | { append(a); } | |
26601 | inline void QByteArray::push_front(char c) | |
26602 | { prepend(c); } | |
26603 | inline void QByteArray::push_front(const char *c) | |
26604 | { prepend(c); } | |
26605 | inline void QByteArray::push_front(const QByteArray &a) | |
26606 | { prepend(a); } | |
26607 | inline QBool QByteArray::contains(const QByteArray &a) const | |
26608 | { return QBool(indexOf(a) != -1); } | |
26609 | inline QBool QByteArray::contains(char c) const | |
26610 | { return QBool(indexOf(c) != -1); } | |
26611 | inline bool operator==(const QByteArray &a1, const QByteArray &a2) | |
26612 | { return (a1.size() == a2.size()) && (memcmp(a1.constData(), a2.constData(), a1.size())==0); } | |
26613 | inline bool operator==(const QByteArray &a1, const char *a2) | |
26614 | { return a2 ? qstrcmp(a1,a2) == 0 : a1.isEmpty(); } | |
26615 | inline bool operator==(const char *a1, const QByteArray &a2) | |
26616 | { return a1 ? qstrcmp(a1,a2) == 0 : a2.isEmpty(); } | |
26617 | inline bool operator!=(const QByteArray &a1, const QByteArray &a2) | |
26618 | { return !(a1==a2); } | |
26619 | inline bool operator!=(const QByteArray &a1, const char *a2) | |
26620 | { return a2 ? qstrcmp(a1,a2) != 0 : !a1.isEmpty(); } | |
26621 | inline bool operator!=(const char *a1, const QByteArray &a2) | |
26622 | { return a1 ? qstrcmp(a1,a2) != 0 : !a2.isEmpty(); } | |
26623 | inline bool operator<(const QByteArray &a1, const QByteArray &a2) | |
26624 | { return qstrcmp(a1, a2) < 0; } | |
26625 | inline bool operator<(const QByteArray &a1, const char *a2) | |
26626 | { return qstrcmp(a1, a2) < 0; } | |
26627 | inline bool operator<(const char *a1, const QByteArray &a2) | |
26628 | { return qstrcmp(a1, a2) < 0; } | |
26629 | inline bool operator<=(const QByteArray &a1, const QByteArray &a2) | |
26630 | { return qstrcmp(a1, a2) <= 0; } | |
26631 | inline bool operator<=(const QByteArray &a1, const char *a2) | |
26632 | { return qstrcmp(a1, a2) <= 0; } | |
26633 | inline bool operator<=(const char *a1, const QByteArray &a2) | |
26634 | { return qstrcmp(a1, a2) <= 0; } | |
26635 | inline bool operator>(const QByteArray &a1, const QByteArray &a2) | |
26636 | { return qstrcmp(a1, a2) > 0; } | |
26637 | inline bool operator>(const QByteArray &a1, const char *a2) | |
26638 | { return qstrcmp(a1, a2) > 0; } | |
26639 | inline bool operator>(const char *a1, const QByteArray &a2) | |
26640 | { return qstrcmp(a1, a2) > 0; } | |
26641 | inline bool operator>=(const QByteArray &a1, const QByteArray &a2) | |
26642 | { return qstrcmp(a1, a2) >= 0; } | |
26643 | inline bool operator>=(const QByteArray &a1, const char *a2) | |
26644 | { return qstrcmp(a1, a2) >= 0; } | |
26645 | inline bool operator>=(const char *a1, const QByteArray &a2) | |
26646 | { return qstrcmp(a1, a2) >= 0; } | |
26647 | inline const QByteArray operator+(const QByteArray &a1, const QByteArray &a2) | |
26648 | { return QByteArray(a1) += a2; } | |
26649 | inline const QByteArray operator+(const QByteArray &a1, const char *a2) | |
26650 | { return QByteArray(a1) += a2; } | |
26651 | inline const QByteArray operator+(const QByteArray &a1, char a2) | |
26652 | { return QByteArray(a1) += a2; } | |
26653 | inline const QByteArray operator+(const char *a1, const QByteArray &a2) | |
26654 | { return QByteArray(a1) += a2; } | |
26655 | inline const QByteArray operator+(char a1, const QByteArray &a2) | |
26656 | { return QByteArray(&a1, 1) += a2; } | |
26657 | inline QBool QByteArray::contains(const char *c) const | |
26658 | { return QBool(indexOf(c) != -1); } | |
26659 | inline QByteArray &QByteArray::replace(char before, const char *c) | |
26660 | { return replace(&before, 1, c, qstrlen(c)); } | |
26661 | inline QByteArray &QByteArray::replace(const QByteArray &before, const char *c) | |
26662 | { return replace(before.constData(), before.size(), c, qstrlen(c)); } | |
26663 | inline QByteArray &QByteArray::replace(const char *before, const char *after) | |
26664 | { return replace(before, qstrlen(before), after, qstrlen(after)); } | |
26665 | ||
26666 | inline QByteArray &QByteArray::setNum(short n, int base) | |
26667 | { return setNum(qlonglong(n), base); } | |
26668 | inline QByteArray &QByteArray::setNum(ushort n, int base) | |
26669 | { return setNum(qulonglong(n), base); } | |
26670 | inline QByteArray &QByteArray::setNum(int n, int base) | |
26671 | { return setNum(qlonglong(n), base); } | |
26672 | inline QByteArray &QByteArray::setNum(uint n, int base) | |
26673 | { return setNum(qulonglong(n), base); } | |
26674 | inline QByteArray &QByteArray::setNum(float n, char f, int prec) | |
26675 | { return setNum(double(n),f,prec); } | |
26676 | ||
26677 | ||
26678 | ||
26679 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QByteArray &); | |
26680 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QByteArray &); | |
26681 | ||
26682 | ||
26683 | ||
26684 | __attribute__((visibility("default"))) QByteArray qCompress(const uchar* data, int nbytes, int compressionLevel = -1); | |
26685 | __attribute__((visibility("default"))) QByteArray qUncompress(const uchar* data, int nbytes); | |
26686 | inline QByteArray qCompress(const QByteArray& data, int compressionLevel = -1) | |
26687 | { return qCompress(reinterpret_cast<const uchar *>(data.constData()), data.size(), compressionLevel); } | |
26688 | inline QByteArray qUncompress(const QByteArray& data) | |
26689 | { return qUncompress(reinterpret_cast<const uchar*>(data.constData()), data.size()); } | |
26690 | ||
26691 | ||
26692 | template <> class QTypeInfo<QByteArray> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QByteArray)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QByteArray"; } }; | |
26693 | template <> inline bool qIsDetached<QByteArray>(QByteArray &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QByteArray>(QByteArray &value1, QByteArray &value2) { const QByteArray::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
26694 | ||
26695 | ||
26696 | ||
26697 | ||
26698 | # 1 "../../include/QtCore/qbytearray.h" 2 | |
26699 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" 2 | |
26700 | # 1 "../../include/QtCore/qatomic.h" 1 | |
26701 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" 2 | |
26702 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
26703 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" 2 | |
26704 | # 65 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
26705 | typedef std::basic_string<wchar_t> QStdWString; | |
26706 | # 76 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
26707 | ||
26708 | ||
26709 | ||
26710 | ||
26711 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
26712 | ||
26713 | class QCharRef; | |
26714 | class QRegExp; | |
26715 | class QStringList; | |
26716 | class QTextCodec; | |
26717 | class QLatin1String; | |
26718 | class QStringRef; | |
26719 | template <typename T> class QVector; | |
26720 | ||
26721 | class __attribute__((visibility("default"))) QString | |
26722 | { | |
26723 | public: | |
26724 | inline QString(); | |
26725 | QString(const QChar *unicode, int size); | |
26726 | QString(QChar c); | |
26727 | QString(int size, QChar c); | |
26728 | inline QString(const QLatin1String &latin1); | |
26729 | inline QString(const QString &); | |
26730 | inline ~QString(); | |
26731 | QString &operator=(QChar c); | |
26732 | QString &operator=(const QString &); | |
26733 | inline QString &operator=(const QLatin1String &); | |
26734 | ||
26735 | inline int size() const { return d->size; } | |
26736 | inline int count() const { return d->size; } | |
26737 | inline int length() const; | |
26738 | inline bool isEmpty() const; | |
26739 | void resize(int size); | |
26740 | ||
26741 | QString &fill(QChar c, int size = -1); | |
26742 | void truncate(int pos); | |
26743 | void chop(int n); | |
26744 | ||
26745 | int capacity() const; | |
26746 | inline void reserve(int size); | |
26747 | inline void squeeze() { if (d->size < d->alloc) realloc(); d->capacity = 0;} | |
26748 | ||
26749 | inline const QChar *unicode() const; | |
26750 | inline QChar *data(); | |
26751 | inline const QChar *data() const; | |
26752 | inline const QChar *constData() const; | |
26753 | ||
26754 | inline void detach(); | |
26755 | inline bool isDetached() const; | |
26756 | void clear(); | |
26757 | ||
26758 | inline const QChar at(int i) const; | |
26759 | const QChar operator[](int i) const; | |
26760 | QCharRef operator[](int i); | |
26761 | const QChar operator[](uint i) const; | |
26762 | QCharRef operator[](uint i); | |
26763 | ||
26764 | QString arg(qlonglong a, int fieldwidth=0, int base=10, | |
26765 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26766 | QString arg(qulonglong a, int fieldwidth=0, int base=10, | |
26767 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26768 | QString arg(long a, int fieldwidth=0, int base=10, | |
26769 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26770 | QString arg(ulong a, int fieldwidth=0, int base=10, | |
26771 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26772 | QString arg(int a, int fieldWidth = 0, int base = 10, | |
26773 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26774 | QString arg(uint a, int fieldWidth = 0, int base = 10, | |
26775 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26776 | QString arg(short a, int fieldWidth = 0, int base = 10, | |
26777 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26778 | QString arg(ushort a, int fieldWidth = 0, int base = 10, | |
26779 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26780 | QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1, | |
26781 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26782 | QString arg(char a, int fieldWidth = 0, | |
26783 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26784 | QString arg(QChar a, int fieldWidth = 0, | |
26785 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26786 | QString arg(const QString &a, int fieldWidth = 0, | |
26787 | const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); | |
26788 | QString arg(const QString &a1, const QString &a2) const __attribute__ ((warn_unused_result)); | |
26789 | QString arg(const QString &a1, const QString &a2, const QString &a3) const __attribute__ ((warn_unused_result)); | |
26790 | QString arg(const QString &a1, const QString &a2, const QString &a3, | |
26791 | const QString &a4) const __attribute__ ((warn_unused_result)); | |
26792 | QString arg(const QString &a1, const QString &a2, const QString &a3, | |
26793 | const QString &a4, const QString &a5) const __attribute__ ((warn_unused_result)); | |
26794 | QString arg(const QString &a1, const QString &a2, const QString &a3, | |
26795 | const QString &a4, const QString &a5, const QString &a6) const __attribute__ ((warn_unused_result)); | |
26796 | QString arg(const QString &a1, const QString &a2, const QString &a3, | |
26797 | const QString &a4, const QString &a5, const QString &a6, | |
26798 | const QString &a7) const __attribute__ ((warn_unused_result)); | |
26799 | QString arg(const QString &a1, const QString &a2, const QString &a3, | |
26800 | const QString &a4, const QString &a5, const QString &a6, | |
26801 | const QString &a7, const QString &a8) const __attribute__ ((warn_unused_result)); | |
26802 | QString arg(const QString &a1, const QString &a2, const QString &a3, | |
26803 | const QString &a4, const QString &a5, const QString &a6, | |
26804 | const QString &a7, const QString &a8, const QString &a9) const __attribute__ ((warn_unused_result)); | |
26805 | ||
26806 | QString &vsprintf(const char *format, va_list ap) | |
26807 | ||
26808 | __attribute__ ((format (printf, 2, 0))) | |
26809 | ||
26810 | ; | |
26811 | QString &sprintf(const char *format, ...) | |
26812 | ||
26813 | __attribute__ ((format (printf, 2, 3))) | |
26814 | ||
26815 | ; | |
26816 | ||
26817 | int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26818 | int indexOf(const QString &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26819 | int indexOf(const QLatin1String &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26820 | int lastIndexOf(QChar c, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26821 | int lastIndexOf(const QString &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26822 | int lastIndexOf(const QLatin1String &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26823 | ||
26824 | inline QBool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26825 | inline QBool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26826 | int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26827 | int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26828 | ||
26829 | ||
26830 | int indexOf(const QRegExp &, int from = 0) const; | |
26831 | int lastIndexOf(const QRegExp &, int from = -1) const; | |
26832 | inline QBool contains(const QRegExp &rx) const { return QBool(indexOf(rx) != -1); } | |
26833 | int count(const QRegExp &) const; | |
26834 | ||
26835 | int indexOf(QRegExp &, int from = 0) const; | |
26836 | int lastIndexOf(QRegExp &, int from = -1) const; | |
26837 | inline QBool contains(QRegExp &rx) const { return QBool(indexOf(rx) != -1); } | |
26838 | ||
26839 | ||
26840 | enum SectionFlag { | |
26841 | SectionDefault = 0x00, | |
26842 | SectionSkipEmpty = 0x01, | |
26843 | SectionIncludeLeadingSep = 0x02, | |
26844 | SectionIncludeTrailingSep = 0x04, | |
26845 | SectionCaseInsensitiveSeps = 0x08 | |
26846 | }; | |
26847 | typedef QFlags<SectionFlag> SectionFlags; | |
26848 | ||
26849 | QString section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; | |
26850 | QString section(const QString &in_sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; | |
26851 | ||
26852 | QString section(const QRegExp ®, int start, int end = -1, SectionFlags flags = SectionDefault) const; | |
26853 | ||
26854 | ||
26855 | QString left(int n) const __attribute__ ((warn_unused_result)); | |
26856 | QString right(int n) const __attribute__ ((warn_unused_result)); | |
26857 | QString mid(int position, int n = -1) const __attribute__ ((warn_unused_result)); | |
26858 | QStringRef leftRef(int n) const __attribute__ ((warn_unused_result)); | |
26859 | QStringRef rightRef(int n) const __attribute__ ((warn_unused_result)); | |
26860 | QStringRef midRef(int position, int n = -1) const __attribute__ ((warn_unused_result)); | |
26861 | ||
26862 | bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26863 | bool startsWith(const QLatin1String &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26864 | bool startsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26865 | bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26866 | bool endsWith(const QLatin1String &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26867 | bool endsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26868 | ||
26869 | QString leftJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const __attribute__ ((warn_unused_result)); | |
26870 | QString rightJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const __attribute__ ((warn_unused_result)); | |
26871 | ||
26872 | QString toLower() const __attribute__ ((warn_unused_result)); | |
26873 | QString toUpper() const __attribute__ ((warn_unused_result)); | |
26874 | QString toCaseFolded() const __attribute__ ((warn_unused_result)); | |
26875 | ||
26876 | QString trimmed() const __attribute__ ((warn_unused_result)); | |
26877 | QString simplified() const __attribute__ ((warn_unused_result)); | |
26878 | ||
26879 | QString &insert(int i, QChar c); | |
26880 | QString &insert(int i, const QChar *uc, int len); | |
26881 | inline QString &insert(int i, const QString &s) { return insert(i, s.constData(), s.length()); } | |
26882 | QString &insert(int i, const QLatin1String &s); | |
26883 | QString &append(QChar c); | |
26884 | QString &append(const QString &s); | |
26885 | QString &append(const QStringRef &s); | |
26886 | QString &append(const QLatin1String &s); | |
26887 | inline QString &prepend(QChar c) { return insert(0, c); } | |
26888 | inline QString &prepend(const QString &s) { return insert(0, s); } | |
26889 | inline QString &prepend(const QLatin1String &s) { return insert(0, s); } | |
26890 | ||
26891 | inline QString &operator+=(QChar c) { | |
26892 | if (d->ref != 1 || d->size + 1 > d->alloc) | |
26893 | realloc(grow(d->size + 1)); | |
26894 | d->data[d->size++] = c.unicode(); | |
26895 | d->data[d->size] = '\0'; | |
26896 | return *this; | |
26897 | } | |
26898 | ||
26899 | inline QString &operator+=(QChar::SpecialCharacter c) { return append(QChar(c)); } | |
26900 | inline QString &operator+=(const QString &s) { return append(s); } | |
26901 | inline QString &operator+=(const QStringRef &s) { return append(s); } | |
26902 | inline QString &operator+=(const QLatin1String &s) { return append(s); } | |
26903 | ||
26904 | QString &remove(int i, int len); | |
26905 | QString &remove(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26906 | QString &remove(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26907 | QString &replace(int i, int len, QChar after); | |
26908 | QString &replace(int i, int len, const QChar *s, int slen); | |
26909 | QString &replace(int i, int len, const QString &after); | |
26910 | QString &replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26911 | QString &replace(const QChar *before, int blen, const QChar *after, int alen, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26912 | QString &replace(const QLatin1String &before, const QLatin1String &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26913 | QString &replace(const QLatin1String &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26914 | QString &replace(const QString &before, const QLatin1String &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26915 | QString &replace(const QString &before, const QString &after, | |
26916 | Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26917 | QString &replace(QChar c, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26918 | QString &replace(QChar c, const QLatin1String &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
26919 | ||
26920 | QString &replace(const QRegExp &rx, const QString &after); | |
26921 | inline QString &remove(const QRegExp &rx) | |
26922 | { return replace(rx, QString()); } | |
26923 | ||
26924 | ||
26925 | enum SplitBehavior { KeepEmptyParts, SkipEmptyParts }; | |
26926 | ||
26927 | QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts, | |
26928 | Qt::CaseSensitivity cs = Qt::CaseSensitive) const __attribute__ ((warn_unused_result)); | |
26929 | QStringList split(const QChar &sep, SplitBehavior behavior = KeepEmptyParts, | |
26930 | Qt::CaseSensitivity cs = Qt::CaseSensitive) const __attribute__ ((warn_unused_result)); | |
26931 | ||
26932 | QStringList split(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const __attribute__ ((warn_unused_result)); | |
26933 | ||
26934 | ||
26935 | enum NormalizationForm { | |
26936 | NormalizationForm_D, | |
26937 | NormalizationForm_C, | |
26938 | NormalizationForm_KD, | |
26939 | NormalizationForm_KC | |
26940 | }; | |
26941 | QString normalized(NormalizationForm mode) const __attribute__ ((warn_unused_result)); | |
26942 | QString normalized(NormalizationForm mode, QChar::UnicodeVersion version) const __attribute__ ((warn_unused_result)); | |
26943 | ||
26944 | QString repeated(int times) const; | |
26945 | ||
26946 | const ushort *utf16() const; | |
26947 | ||
26948 | QByteArray toAscii() const __attribute__ ((warn_unused_result)); | |
26949 | QByteArray toLatin1() const __attribute__ ((warn_unused_result)); | |
26950 | QByteArray toUtf8() const __attribute__ ((warn_unused_result)); | |
26951 | QByteArray toLocal8Bit() const __attribute__ ((warn_unused_result)); | |
26952 | QVector<uint> toUcs4() const __attribute__ ((warn_unused_result)); | |
26953 | ||
26954 | static QString fromAscii(const char *, int size = -1); | |
26955 | static QString fromLatin1(const char *, int size = -1); | |
26956 | static QString fromUtf8(const char *, int size = -1); | |
26957 | static QString fromLocal8Bit(const char *, int size = -1); | |
26958 | static QString fromUtf16(const ushort *, int size = -1); | |
26959 | static QString fromUcs4(const uint *, int size = -1); | |
26960 | static QString fromRawData(const QChar *, int size); | |
26961 | ||
26962 | int toWCharArray(wchar_t *array) const; | |
26963 | static QString fromWCharArray(const wchar_t *, int size = -1); | |
26964 | ||
26965 | QString &setUnicode(const QChar *unicode, int size); | |
26966 | inline QString &setUtf16(const ushort *utf16, int size); | |
26967 | ||
26968 | ||
26969 | int compare(const QString &s) const; | |
26970 | int compare(const QString &s, Qt::CaseSensitivity cs) const; | |
26971 | ||
26972 | int compare(const QLatin1String &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26973 | ||
26974 | ||
26975 | static inline int compare(const QString &s1, const QString &s2) | |
26976 | { return s1.compare(s2); } | |
26977 | static inline int compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs) | |
26978 | { return s1.compare(s2, cs); } | |
26979 | ||
26980 | static inline int compare(const QString& s1, const QLatin1String &s2, | |
26981 | Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
26982 | { return s1.compare(s2, cs); } | |
26983 | static inline int compare(const QLatin1String& s1, const QString &s2, | |
26984 | Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
26985 | { return -s2.compare(s1, cs); } | |
26986 | ||
26987 | int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
26988 | static int compare(const QString &s1, const QStringRef &s2, | |
26989 | Qt::CaseSensitivity = Qt::CaseSensitive); | |
26990 | ||
26991 | int localeAwareCompare(const QString& s) const; | |
26992 | static int localeAwareCompare(const QString& s1, const QString& s2) | |
26993 | { return s1.localeAwareCompare(s2); } | |
26994 | ||
26995 | int localeAwareCompare(const QStringRef &s) const; | |
26996 | static int localeAwareCompare(const QString& s1, const QStringRef& s2); | |
26997 | ||
26998 | short toShort(bool *ok=0, int base=10) const; | |
26999 | ushort toUShort(bool *ok=0, int base=10) const; | |
27000 | int toInt(bool *ok=0, int base=10) const; | |
27001 | uint toUInt(bool *ok=0, int base=10) const; | |
27002 | long toLong(bool *ok=0, int base=10) const; | |
27003 | ulong toULong(bool *ok=0, int base=10) const; | |
27004 | qlonglong toLongLong(bool *ok=0, int base=10) const; | |
27005 | qulonglong toULongLong(bool *ok=0, int base=10) const; | |
27006 | float toFloat(bool *ok=0) const; | |
27007 | double toDouble(bool *ok=0) const; | |
27008 | ||
27009 | QString &setNum(short, int base=10); | |
27010 | QString &setNum(ushort, int base=10); | |
27011 | QString &setNum(int, int base=10); | |
27012 | QString &setNum(uint, int base=10); | |
27013 | QString &setNum(long, int base=10); | |
27014 | QString &setNum(ulong, int base=10); | |
27015 | QString &setNum(qlonglong, int base=10); | |
27016 | QString &setNum(qulonglong, int base=10); | |
27017 | QString &setNum(float, char f='g', int prec=6); | |
27018 | QString &setNum(double, char f='g', int prec=6); | |
27019 | ||
27020 | static QString number(int, int base=10); | |
27021 | static QString number(uint, int base=10); | |
27022 | static QString number(long, int base=10); | |
27023 | static QString number(ulong, int base=10); | |
27024 | static QString number(qlonglong, int base=10); | |
27025 | static QString number(qulonglong, int base=10); | |
27026 | static QString number(double, char f='g', int prec=6); | |
27027 | ||
27028 | bool operator==(const QString &s) const; | |
27029 | bool operator<(const QString &s) const; | |
27030 | inline bool operator>(const QString &s) const { return s < *this; } | |
27031 | inline bool operator!=(const QString &s) const { return !operator==(s); } | |
27032 | inline bool operator<=(const QString &s) const { return !operator>(s); } | |
27033 | inline bool operator>=(const QString &s) const { return !operator<(s); } | |
27034 | ||
27035 | bool operator==(const QLatin1String &s) const; | |
27036 | bool operator<(const QLatin1String &s) const; | |
27037 | bool operator>(const QLatin1String &s) const; | |
27038 | inline bool operator!=(const QLatin1String &s) const { return !operator==(s); } | |
27039 | inline bool operator<=(const QLatin1String &s) const { return !operator>(s); } | |
27040 | inline bool operator>=(const QLatin1String &s) const { return !operator<(s); } | |
27041 | ||
27042 | ||
27043 | ||
27044 | inline __attribute__ ((__deprecated__)) QString(const char *ch) : d(fromAscii_helper(ch)) | |
27045 | {} | |
27046 | inline __attribute__ ((__deprecated__)) QString(const QByteArray &a) | |
27047 | : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) | |
27048 | {} | |
27049 | inline __attribute__ ((__deprecated__)) QString &operator=(const char *ch) | |
27050 | { return (*this = fromAscii(ch)); } | |
27051 | inline __attribute__ ((__deprecated__)) QString &operator=(const QByteArray &a) | |
27052 | { return (*this = fromAscii(a.constData(), qstrnlen(a.constData(), a.size()))); } | |
27053 | inline __attribute__ ((__deprecated__)) QString &operator=(char c) | |
27054 | { return (*this = QChar::fromAscii(c)); } | |
27055 | ||
27056 | ||
27057 | inline __attribute__ ((__deprecated__)) QString &prepend(const char *s) | |
27058 | { return prepend(QString::fromAscii(s)); } | |
27059 | inline __attribute__ ((__deprecated__)) QString &prepend(const QByteArray &s) | |
27060 | { return prepend(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } | |
27061 | inline __attribute__ ((__deprecated__)) QString &append(const char *s) | |
27062 | { return append(QString::fromAscii(s)); } | |
27063 | inline __attribute__ ((__deprecated__)) QString &append(const QByteArray &s) | |
27064 | { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } | |
27065 | inline __attribute__ ((__deprecated__)) QString &operator+=(const char *s) | |
27066 | { return append(QString::fromAscii(s)); } | |
27067 | inline __attribute__ ((__deprecated__)) QString &operator+=(const QByteArray &s) | |
27068 | { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } | |
27069 | inline __attribute__ ((__deprecated__)) QString &operator+=(char c) | |
27070 | { return append(QChar::fromAscii(c)); } | |
27071 | ||
27072 | inline __attribute__ ((__deprecated__)) bool operator==(const char *s) const; | |
27073 | inline __attribute__ ((__deprecated__)) bool operator!=(const char *s) const; | |
27074 | inline __attribute__ ((__deprecated__)) bool operator<(const char *s) const; | |
27075 | inline __attribute__ ((__deprecated__)) bool operator<=(const char *s2) const; | |
27076 | inline __attribute__ ((__deprecated__)) bool operator>(const char *s2) const; | |
27077 | inline __attribute__ ((__deprecated__)) bool operator>=(const char *s2) const; | |
27078 | ||
27079 | inline __attribute__ ((__deprecated__)) bool operator==(const QByteArray &s) const; | |
27080 | inline __attribute__ ((__deprecated__)) bool operator!=(const QByteArray &s) const; | |
27081 | inline __attribute__ ((__deprecated__)) bool operator<(const QByteArray &s) const | |
27082 | { return *this < QString::fromAscii(s.constData(), s.size()); } | |
27083 | inline __attribute__ ((__deprecated__)) bool operator>(const QByteArray &s) const | |
27084 | { return *this > QString::fromAscii(s.constData(), s.size()); } | |
27085 | inline __attribute__ ((__deprecated__)) bool operator<=(const QByteArray &s) const | |
27086 | { return *this <= QString::fromAscii(s.constData(), s.size()); } | |
27087 | inline __attribute__ ((__deprecated__)) bool operator>=(const QByteArray &s) const | |
27088 | { return *this >= QString::fromAscii(s.constData(), s.size()); } | |
27089 | ||
27090 | ||
27091 | typedef QChar *iterator; | |
27092 | typedef const QChar *const_iterator; | |
27093 | typedef iterator Iterator; | |
27094 | typedef const_iterator ConstIterator; | |
27095 | iterator begin(); | |
27096 | const_iterator begin() const; | |
27097 | const_iterator constBegin() const; | |
27098 | iterator end(); | |
27099 | const_iterator end() const; | |
27100 | const_iterator constEnd() const; | |
27101 | ||
27102 | ||
27103 | inline void push_back(QChar c) { append(c); } | |
27104 | inline void push_back(const QString &s) { append(s); } | |
27105 | inline void push_front(QChar c) { prepend(c); } | |
27106 | inline void push_front(const QString &s) { prepend(s); } | |
27107 | ||
27108 | ||
27109 | static inline QString fromStdString(const std::string &s); | |
27110 | inline std::string toStdString() const; | |
27111 | ||
27112 | ||
27113 | ||
27114 | ||
27115 | ||
27116 | static inline QString fromStdWString(const QStdWString &s); | |
27117 | inline QStdWString toStdWString() const; | |
27118 | ||
27119 | ||
27120 | ||
27121 | ||
27122 | ||
27123 | struct Null { }; | |
27124 | static const Null null; | |
27125 | inline QString(const Null &): d(&shared_null) { d->ref.ref(); } | |
27126 | inline QString &operator=(const Null &) { *this = QString(); return *this; } | |
27127 | inline bool isNull() const { return d == &shared_null; } | |
27128 | # 579 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
27129 | bool isSimpleText() const { if (!d->clean) updateProperties(); return d->simpletext; } | |
27130 | bool isRightToLeft() const { if (!d->clean) updateProperties(); return d->righttoleft; } | |
27131 | ||
27132 | private: | |
27133 | # 592 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
27134 | struct Data { | |
27135 | QBasicAtomicInt ref; | |
27136 | int alloc, size; | |
27137 | ushort *data; | |
27138 | ushort clean : 1; | |
27139 | ushort simpletext : 1; | |
27140 | ushort righttoleft : 1; | |
27141 | ushort asciiCache : 1; | |
27142 | ushort capacity : 1; | |
27143 | ushort reserved : 11; | |
27144 | ushort array[1]; | |
27145 | }; | |
27146 | static Data shared_null; | |
27147 | static Data shared_empty; | |
27148 | Data *d; | |
27149 | QString(Data *dd, int ) : d(dd) {} | |
27150 | ||
27151 | static QTextCodec *codecForCStrings; | |
27152 | ||
27153 | static int grow(int); | |
27154 | static void free(Data *); | |
27155 | void realloc(); | |
27156 | void realloc(int alloc); | |
27157 | void expand(int i); | |
27158 | void updateProperties() const; | |
27159 | QString multiArg(int numArgs, const QString **args) const; | |
27160 | static int compare_helper(const QChar *data1, int length1, | |
27161 | const QChar *data2, int length2, | |
27162 | Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
27163 | static int compare_helper(const QChar *data1, int length1, | |
27164 | QLatin1String s2, | |
27165 | Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
27166 | static int localeAwareCompare_helper(const QChar *data1, int length1, | |
27167 | const QChar *data2, int length2); | |
27168 | static Data *fromLatin1_helper(const char *str, int size = -1); | |
27169 | static Data *fromAscii_helper(const char *str, int size = -1); | |
27170 | void replace_helper(uint *indices, int nIndices, int blen, const QChar *after, int alen); | |
27171 | friend class QCharRef; | |
27172 | friend class QTextCodec; | |
27173 | friend class QStringRef; | |
27174 | friend inline bool qStringComparisonHelper(const QString &s1, const char *s2); | |
27175 | friend inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2); | |
27176 | public: | |
27177 | typedef Data * DataPtr; | |
27178 | inline DataPtr &data_ptr() { return d; } | |
27179 | }; | |
27180 | ||
27181 | ||
27182 | class __attribute__((visibility("default"))) QLatin1String | |
27183 | { | |
27184 | public: | |
27185 | inline explicit QLatin1String(const char *s) : chars(s) {} | |
27186 | inline QLatin1String &operator=(const QLatin1String &other) | |
27187 | { chars = other.chars; return *this; } | |
27188 | ||
27189 | inline const char *latin1() const { return chars; } | |
27190 | ||
27191 | inline bool operator==(const QString &s) const | |
27192 | { return s == *this; } | |
27193 | inline bool operator!=(const QString &s) const | |
27194 | { return s != *this; } | |
27195 | inline bool operator>(const QString &s) const | |
27196 | { return s < *this; } | |
27197 | inline bool operator<(const QString &s) const | |
27198 | { return s > *this; } | |
27199 | inline bool operator>=(const QString &s) const | |
27200 | { return s <= *this; } | |
27201 | inline bool operator<=(const QString &s) const | |
27202 | { return s >= *this; } | |
27203 | ||
27204 | inline __attribute__ ((__deprecated__)) bool operator==(const char *s) const | |
27205 | { return QString::fromAscii(s) == *this; } | |
27206 | inline __attribute__ ((__deprecated__)) bool operator!=(const char *s) const | |
27207 | { return QString::fromAscii(s) != *this; } | |
27208 | inline __attribute__ ((__deprecated__)) bool operator<(const char *s) const | |
27209 | { return QString::fromAscii(s) > *this; } | |
27210 | inline __attribute__ ((__deprecated__)) bool operator>(const char *s) const | |
27211 | { return QString::fromAscii(s) < *this; } | |
27212 | inline __attribute__ ((__deprecated__)) bool operator<=(const char *s) const | |
27213 | { return QString::fromAscii(s) >= *this; } | |
27214 | inline __attribute__ ((__deprecated__)) bool operator>=(const char *s) const | |
27215 | { return QString::fromAscii(s) <= *this; } | |
27216 | private: | |
27217 | const char *chars; | |
27218 | }; | |
27219 | ||
27220 | ||
27221 | ||
27222 | inline QString::QString(const QLatin1String &aLatin1) : d(fromLatin1_helper(aLatin1.latin1())) | |
27223 | { } | |
27224 | inline int QString::length() const | |
27225 | { return d->size; } | |
27226 | inline const QChar QString::at(int i) const | |
27227 | { qt_noop(); return d->data[i]; } | |
27228 | inline const QChar QString::operator[](int i) const | |
27229 | { qt_noop(); return d->data[i]; } | |
27230 | inline const QChar QString::operator[](uint i) const | |
27231 | { qt_noop(); return d->data[i]; } | |
27232 | inline bool QString::isEmpty() const | |
27233 | { return d->size == 0; } | |
27234 | inline const QChar *QString::unicode() const | |
27235 | { return reinterpret_cast<const QChar*>(d->data); } | |
27236 | inline const QChar *QString::data() const | |
27237 | { return reinterpret_cast<const QChar*>(d->data); } | |
27238 | inline QChar *QString::data() | |
27239 | { detach(); return reinterpret_cast<QChar*>(d->data); } | |
27240 | inline const QChar *QString::constData() const | |
27241 | { return reinterpret_cast<const QChar*>(d->data); } | |
27242 | inline void QString::detach() | |
27243 | { if (d->ref != 1 || d->data != d->array) realloc(); } | |
27244 | inline bool QString::isDetached() const | |
27245 | { return d->ref == 1; } | |
27246 | inline QString &QString::operator=(const QLatin1String &s) | |
27247 | { | |
27248 | *this = fromLatin1(s.latin1()); | |
27249 | return *this; | |
27250 | } | |
27251 | inline void QString::clear() | |
27252 | { if (!isNull()) *this = QString(); } | |
27253 | inline QString::QString(const QString &other) : d(other.d) | |
27254 | { qt_noop(); d->ref.ref(); } | |
27255 | inline int QString::capacity() const | |
27256 | { return d->alloc; } | |
27257 | inline QString &QString::setNum(short n, int base) | |
27258 | { return setNum(qlonglong(n), base); } | |
27259 | inline QString &QString::setNum(ushort n, int base) | |
27260 | { return setNum(qulonglong(n), base); } | |
27261 | inline QString &QString::setNum(int n, int base) | |
27262 | { return setNum(qlonglong(n), base); } | |
27263 | inline QString &QString::setNum(uint n, int base) | |
27264 | { return setNum(qulonglong(n), base); } | |
27265 | inline QString &QString::setNum(long n, int base) | |
27266 | { return setNum(qlonglong(n), base); } | |
27267 | inline QString &QString::setNum(ulong n, int base) | |
27268 | { return setNum(qulonglong(n), base); } | |
27269 | inline QString &QString::setNum(float n, char f, int prec) | |
27270 | { return setNum(double(n),f,prec); } | |
27271 | inline QString QString::arg(int a, int fieldWidth, int base, const QChar &fillChar) const | |
27272 | { return arg(qlonglong(a), fieldWidth, base, fillChar); } | |
27273 | inline QString QString::arg(uint a, int fieldWidth, int base, const QChar &fillChar) const | |
27274 | { return arg(qulonglong(a), fieldWidth, base, fillChar); } | |
27275 | inline QString QString::arg(long a, int fieldWidth, int base, const QChar &fillChar) const | |
27276 | { return arg(qlonglong(a), fieldWidth, base, fillChar); } | |
27277 | inline QString QString::arg(ulong a, int fieldWidth, int base, const QChar &fillChar) const | |
27278 | { return arg(qulonglong(a), fieldWidth, base, fillChar); } | |
27279 | inline QString QString::arg(short a, int fieldWidth, int base, const QChar &fillChar) const | |
27280 | { return arg(qlonglong(a), fieldWidth, base, fillChar); } | |
27281 | inline QString QString::arg(ushort a, int fieldWidth, int base, const QChar &fillChar) const | |
27282 | { return arg(qulonglong(a), fieldWidth, base, fillChar); } | |
27283 | inline QString QString::arg(const QString &a1, const QString &a2) const | |
27284 | { const QString *args[2] = { &a1, &a2 }; return multiArg(2, args); } | |
27285 | inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const | |
27286 | { const QString *args[3] = { &a1, &a2, &a3 }; return multiArg(3, args); } | |
27287 | inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, | |
27288 | const QString &a4) const | |
27289 | { const QString *args[4] = { &a1, &a2, &a3, &a4 }; return multiArg(4, args); } | |
27290 | inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, | |
27291 | const QString &a4, const QString &a5) const | |
27292 | { const QString *args[5] = { &a1, &a2, &a3, &a4, &a5 }; return multiArg(5, args); } | |
27293 | inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, | |
27294 | const QString &a4, const QString &a5, const QString &a6) const | |
27295 | { const QString *args[6] = { &a1, &a2, &a3, &a4, &a5, &a6 }; return multiArg(6, args); } | |
27296 | inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, | |
27297 | const QString &a4, const QString &a5, const QString &a6, | |
27298 | const QString &a7) const | |
27299 | { const QString *args[7] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7 }; return multiArg(7, args); } | |
27300 | inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, | |
27301 | const QString &a4, const QString &a5, const QString &a6, | |
27302 | const QString &a7, const QString &a8) const | |
27303 | { const QString *args[8] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8 }; return multiArg(8, args); } | |
27304 | inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, | |
27305 | const QString &a4, const QString &a5, const QString &a6, | |
27306 | const QString &a7, const QString &a8, const QString &a9) const | |
27307 | { const QString *args[9] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9 }; return multiArg(9, args); } | |
27308 | ||
27309 | inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const | |
27310 | { return section(QString(asep), astart, aend, aflags); } | |
27311 | ||
27312 | ||
27313 | class __attribute__((visibility("default"))) QCharRef { | |
27314 | QString &s; | |
27315 | int i; | |
27316 | inline QCharRef(QString &str, int idx) | |
27317 | : s(str),i(idx) {} | |
27318 | friend class QString; | |
27319 | public: | |
27320 | ||
27321 | ||
27322 | ||
27323 | ||
27324 | inline operator QChar() const | |
27325 | { return i < s.d->size ? s.d->data[i] : 0; } | |
27326 | inline QCharRef &operator=(const QChar &c) | |
27327 | { if (i >= s.d->size) s.expand(i); else s.detach(); | |
27328 | s.d->data[i] = c.unicode(); return *this; } | |
27329 | ||
27330 | ||
27331 | ||
27332 | inline __attribute__ ((__deprecated__)) QCharRef &operator=(char c) | |
27333 | { return operator=(QChar::fromAscii(c)); } | |
27334 | inline __attribute__ ((__deprecated__)) QCharRef &operator=(uchar c) | |
27335 | { return operator=(QChar::fromAscii(c)); } | |
27336 | ||
27337 | inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } | |
27338 | inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } | |
27339 | inline QCharRef &operator=(short rc) { return operator=(QChar(rc)); } | |
27340 | inline QCharRef &operator=(uint rc) { return operator=(QChar(rc)); } | |
27341 | inline QCharRef &operator=(int rc) { return operator=(QChar(rc)); } | |
27342 | ||
27343 | ||
27344 | inline bool isNull() const { return QChar(*this).isNull(); } | |
27345 | inline bool isPrint() const { return QChar(*this).isPrint(); } | |
27346 | inline bool isPunct() const { return QChar(*this).isPunct(); } | |
27347 | inline bool isSpace() const { return QChar(*this).isSpace(); } | |
27348 | inline bool isMark() const { return QChar(*this).isMark(); } | |
27349 | inline bool isLetter() const { return QChar(*this).isLetter(); } | |
27350 | inline bool isNumber() const { return QChar(*this).isNumber(); } | |
27351 | inline bool isLetterOrNumber() { return QChar(*this).isLetterOrNumber(); } | |
27352 | inline bool isDigit() const { return QChar(*this).isDigit(); } | |
27353 | inline bool isLower() const { return QChar(*this).isLower(); } | |
27354 | inline bool isUpper() const { return QChar(*this).isUpper(); } | |
27355 | inline bool isTitleCase() const { return QChar(*this).isTitleCase(); } | |
27356 | ||
27357 | inline int digitValue() const { return QChar(*this).digitValue(); } | |
27358 | QChar toLower() const { return QChar(*this).toLower(); } | |
27359 | QChar toUpper() const { return QChar(*this).toUpper(); } | |
27360 | QChar toTitleCase () const { return QChar(*this).toTitleCase(); } | |
27361 | ||
27362 | QChar::Category category() const { return QChar(*this).category(); } | |
27363 | QChar::Direction direction() const { return QChar(*this).direction(); } | |
27364 | QChar::Joining joining() const { return QChar(*this).joining(); } | |
27365 | bool hasMirrored() const { return QChar(*this).hasMirrored(); } | |
27366 | QChar mirroredChar() const { return QChar(*this).mirroredChar(); } | |
27367 | QString decomposition() const { return QChar(*this).decomposition(); } | |
27368 | QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); } | |
27369 | uchar combiningClass() const { return QChar(*this).combiningClass(); } | |
27370 | ||
27371 | QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); } | |
27372 | ||
27373 | inline uchar cell() const { return QChar(*this).cell(); } | |
27374 | inline uchar row() const { return QChar(*this).row(); } | |
27375 | inline void setCell(uchar cell); | |
27376 | inline void setRow(uchar row); | |
27377 | ||
27378 | ||
27379 | ||
27380 | ||
27381 | ||
27382 | ||
27383 | char toAscii() const { return QChar(*this).toAscii(); } | |
27384 | char toLatin1() const { return QChar(*this).toLatin1(); } | |
27385 | ushort unicode() const { return QChar(*this).unicode(); } | |
27386 | ||
27387 | ushort& unicode() { return s.data()[i].unicode(); } | |
27388 | # 859 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
27389 | }; | |
27390 | ||
27391 | inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); } | |
27392 | inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); } | |
27393 | ||
27394 | ||
27395 | inline QString::QString() : d(&shared_null) { d->ref.ref(); } | |
27396 | inline QString::~QString() { if (!d->ref.deref()) free(d); } | |
27397 | inline void QString::reserve(int asize) { if (d->ref != 1 || asize > d->alloc) realloc(asize); d->capacity = 1;} | |
27398 | inline QString &QString::setUtf16(const ushort *autf16, int asize) | |
27399 | { return setUnicode(reinterpret_cast<const QChar *>(autf16), asize); } | |
27400 | inline QCharRef QString::operator[](int i) | |
27401 | { qt_noop(); return QCharRef(*this, i); } | |
27402 | inline QCharRef QString::operator[](uint i) | |
27403 | { return QCharRef(*this, i); } | |
27404 | inline QString::iterator QString::begin() | |
27405 | { detach(); return reinterpret_cast<QChar*>(d->data); } | |
27406 | inline QString::const_iterator QString::begin() const | |
27407 | { return reinterpret_cast<const QChar*>(d->data); } | |
27408 | inline QString::const_iterator QString::constBegin() const | |
27409 | { return reinterpret_cast<const QChar*>(d->data); } | |
27410 | inline QString::iterator QString::end() | |
27411 | { detach(); return reinterpret_cast<QChar*>(d->data + d->size); } | |
27412 | inline QString::const_iterator QString::end() const | |
27413 | { return reinterpret_cast<const QChar*>(d->data + d->size); } | |
27414 | inline QString::const_iterator QString::constEnd() const | |
27415 | { return reinterpret_cast<const QChar*>(d->data + d->size); } | |
27416 | inline QBool QString::contains(const QString &s, Qt::CaseSensitivity cs) const | |
27417 | { return QBool(indexOf(s, 0, cs) != -1); } | |
27418 | inline QBool QString::contains(QChar c, Qt::CaseSensitivity cs) const | |
27419 | { return QBool(indexOf(c, 0, cs) != -1); } | |
27420 | ||
27421 | ||
27422 | inline bool operator==(QString::Null, QString::Null) { return true; } | |
27423 | inline bool operator==(QString::Null, const QString &s) { return s.isNull(); } | |
27424 | inline bool operator==(const QString &s, QString::Null) { return s.isNull(); } | |
27425 | inline bool operator!=(QString::Null, QString::Null) { return false; } | |
27426 | inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); } | |
27427 | inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); } | |
27428 | ||
27429 | ||
27430 | inline bool qStringComparisonHelper(const QString &s1, const char *s2) | |
27431 | { | |
27432 | ||
27433 | if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2)); | |
27434 | ||
27435 | return (s1 == QLatin1String(s2)); | |
27436 | } | |
27437 | inline bool QString::operator==(const char *s) const | |
27438 | { return qStringComparisonHelper(*this, s); } | |
27439 | inline bool QString::operator!=(const char *s) const | |
27440 | { return !qStringComparisonHelper(*this, s); } | |
27441 | inline bool QString::operator<(const char *s) const | |
27442 | { return *this < QString::fromAscii(s); } | |
27443 | inline bool QString::operator>(const char *s) const | |
27444 | { return *this > QString::fromAscii(s); } | |
27445 | inline bool QString::operator<=(const char *s) const | |
27446 | { return *this <= QString::fromAscii(s); } | |
27447 | inline bool QString::operator>=(const char *s) const | |
27448 | { return *this >= QString::fromAscii(s); } | |
27449 | ||
27450 | inline __attribute__ ((__deprecated__)) bool operator==(const char *s1, const QString &s2) | |
27451 | { return qStringComparisonHelper(s2, s1); } | |
27452 | inline __attribute__ ((__deprecated__)) bool operator!=(const char *s1, const QString &s2) | |
27453 | { return !qStringComparisonHelper(s2, s1); } | |
27454 | inline __attribute__ ((__deprecated__)) bool operator<(const char *s1, const QString &s2) | |
27455 | { return (QString::fromAscii(s1) < s2); } | |
27456 | inline __attribute__ ((__deprecated__)) bool operator>(const char *s1, const QString &s2) | |
27457 | { return (QString::fromAscii(s1) > s2); } | |
27458 | inline __attribute__ ((__deprecated__)) bool operator<=(const char *s1, const QString &s2) | |
27459 | { return (QString::fromAscii(s1) <= s2); } | |
27460 | inline __attribute__ ((__deprecated__)) bool operator>=(const char *s1, const QString &s2) | |
27461 | { return (QString::fromAscii(s1) >= s2); } | |
27462 | ||
27463 | inline __attribute__ ((__deprecated__)) bool operator==(const char *s1, const QLatin1String &s2) | |
27464 | { return QString::fromAscii(s1) == s2; } | |
27465 | inline __attribute__ ((__deprecated__)) bool operator!=(const char *s1, const QLatin1String &s2) | |
27466 | { return QString::fromAscii(s1) != s2; } | |
27467 | inline __attribute__ ((__deprecated__)) bool operator<(const char *s1, const QLatin1String &s2) | |
27468 | { return (QString::fromAscii(s1) < s2); } | |
27469 | inline __attribute__ ((__deprecated__)) bool operator>(const char *s1, const QLatin1String &s2) | |
27470 | { return (QString::fromAscii(s1) > s2); } | |
27471 | inline __attribute__ ((__deprecated__)) bool operator<=(const char *s1, const QLatin1String &s2) | |
27472 | { return (QString::fromAscii(s1) <= s2); } | |
27473 | inline __attribute__ ((__deprecated__)) bool operator>=(const char *s1, const QLatin1String &s2) | |
27474 | { return (QString::fromAscii(s1) >= s2); } | |
27475 | ||
27476 | inline bool operator==(const QLatin1String &s1, const QLatin1String &s2) | |
27477 | { return (qstrcmp(s1.latin1(), s2.latin1()) == 0); } | |
27478 | inline bool operator!=(const QLatin1String &s1, const QLatin1String &s2) | |
27479 | { return (qstrcmp(s1.latin1(), s2.latin1()) != 0); } | |
27480 | inline bool operator<(const QLatin1String &s1, const QLatin1String &s2) | |
27481 | { return (qstrcmp(s1.latin1(), s2.latin1()) < 0); } | |
27482 | inline bool operator<=(const QLatin1String &s1, const QLatin1String &s2) | |
27483 | { return (qstrcmp(s1.latin1(), s2.latin1()) <= 0); } | |
27484 | inline bool operator>(const QLatin1String &s1, const QLatin1String &s2) | |
27485 | { return (qstrcmp(s1.latin1(), s2.latin1()) > 0); } | |
27486 | inline bool operator>=(const QLatin1String &s1, const QLatin1String &s2) | |
27487 | { return (qstrcmp(s1.latin1(), s2.latin1()) >= 0); } | |
27488 | ||
27489 | ||
27490 | inline bool QString::operator==(const QByteArray &s) const | |
27491 | { return qStringComparisonHelper(*this, s.constData()); } | |
27492 | inline bool QString::operator!=(const QByteArray &s) const | |
27493 | { return !qStringComparisonHelper(*this, s.constData()); } | |
27494 | ||
27495 | inline bool QByteArray::operator==(const QString &s) const | |
27496 | { return qStringComparisonHelper(s, constData()); } | |
27497 | inline bool QByteArray::operator!=(const QString &s) const | |
27498 | { return !qStringComparisonHelper(s, constData()); } | |
27499 | inline bool QByteArray::operator<(const QString &s) const | |
27500 | { return QString::fromAscii(constData(), size()) < s; } | |
27501 | inline bool QByteArray::operator>(const QString &s) const | |
27502 | { return QString::fromAscii(constData(), size()) > s; } | |
27503 | inline bool QByteArray::operator<=(const QString &s) const | |
27504 | { return QString::fromAscii(constData(), size()) <= s; } | |
27505 | inline bool QByteArray::operator>=(const QString &s) const | |
27506 | { return QString::fromAscii(constData(), size()) >= s; } | |
27507 | # 1004 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
27508 | inline const QString operator+(const QString &s1, const QString &s2) | |
27509 | { QString t(s1); t += s2; return t; } | |
27510 | inline const QString operator+(const QString &s1, QChar s2) | |
27511 | { QString t(s1); t += s2; return t; } | |
27512 | inline const QString operator+(QChar s1, const QString &s2) | |
27513 | { QString t(s1); t += s2; return t; } | |
27514 | ||
27515 | inline __attribute__ ((__deprecated__)) const QString operator+(const QString &s1, const char *s2) | |
27516 | { QString t(s1); t += QString::fromAscii(s2); return t; } | |
27517 | inline __attribute__ ((__deprecated__)) const QString operator+(const char *s1, const QString &s2) | |
27518 | { QString t = QString::fromAscii(s1); t += s2; return t; } | |
27519 | inline __attribute__ ((__deprecated__)) const QString operator+(char c, const QString &s) | |
27520 | { QString t = s; t.prepend(QChar::fromAscii(c)); return t; } | |
27521 | inline __attribute__ ((__deprecated__)) const QString operator+(const QString &s, char c) | |
27522 | { QString t = s; t += QChar::fromAscii(c); return t; } | |
27523 | inline __attribute__ ((__deprecated__)) const QString operator+(const QByteArray &ba, const QString &s) | |
27524 | { QString t = QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); t += s; return t; } | |
27525 | inline __attribute__ ((__deprecated__)) const QString operator+(const QString &s, const QByteArray &ba) | |
27526 | { QString t(s); t += QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); return t; } | |
27527 | ||
27528 | ||
27529 | ||
27530 | inline std::string QString::toStdString() const | |
27531 | { const QByteArray asc = toAscii(); return std::string(asc.constData(), asc.length()); } | |
27532 | ||
27533 | inline QString QString::fromStdString(const std::string &s) | |
27534 | { return fromAscii(s.data(), int(s.size())); } | |
27535 | ||
27536 | ||
27537 | inline QStdWString QString::toStdWString() const | |
27538 | { | |
27539 | QStdWString str; | |
27540 | str.resize(length()); | |
27541 | ||
27542 | ||
27543 | ||
27544 | ||
27545 | ||
27546 | ||
27547 | ||
27548 | str.resize(toWCharArray(&(*str.begin()))); | |
27549 | return str; | |
27550 | } | |
27551 | inline QString QString::fromStdWString(const QStdWString &s) | |
27552 | { return fromWCharArray(s.data(), int(s.size())); } | |
27553 | # 1062 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
27554 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QString &); | |
27555 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QString &); | |
27556 | # 1076 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
27557 | template <> class QTypeInfo<QString> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QString)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QString"; } }; | |
27558 | template <> inline bool qIsDetached<QString>(QString &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QString>(QString &value1, QString &value2) { const QString::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
27559 | inline QFlags<QString::SectionFlags::enum_type> operator|(QString::SectionFlags::enum_type f1, QString::SectionFlags::enum_type f2) { return QFlags<QString::SectionFlags::enum_type>(f1) | f2; } inline QFlags<QString::SectionFlags::enum_type> operator|(QString::SectionFlags::enum_type f1, QFlags<QString::SectionFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QString::SectionFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
27560 | # 1087 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstring.h" | |
27561 | class __attribute__((visibility("default"))) QStringRef { | |
27562 | const QString *m_string; | |
27563 | int m_position; | |
27564 | int m_size; | |
27565 | public: | |
27566 | inline QStringRef():m_string(0), m_position(0), m_size(0){} | |
27567 | inline QStringRef(const QString *string, int position, int size); | |
27568 | inline QStringRef(const QString *string); | |
27569 | inline QStringRef(const QStringRef &other) | |
27570 | :m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) | |
27571 | {} | |
27572 | ||
27573 | inline ~QStringRef(){} | |
27574 | inline const QString *string() const { return m_string; } | |
27575 | inline int position() const { return m_position; } | |
27576 | inline int size() const { return m_size; } | |
27577 | inline int count() const { return m_size; } | |
27578 | inline int length() const { return m_size; } | |
27579 | ||
27580 | inline QStringRef &operator=(const QStringRef &other) { | |
27581 | m_string = other.m_string; m_position = other.m_position; | |
27582 | m_size = other.m_size; return *this; | |
27583 | } | |
27584 | ||
27585 | inline QStringRef &operator=(const QString *string); | |
27586 | ||
27587 | inline const QChar *unicode() const { | |
27588 | if (!m_string) | |
27589 | return reinterpret_cast<const QChar *>(QString::shared_null.data); | |
27590 | return m_string->unicode() + m_position; | |
27591 | } | |
27592 | inline const QChar *data() const { return unicode(); } | |
27593 | inline const QChar *constData() const { return unicode(); } | |
27594 | ||
27595 | inline void clear() { m_string = 0; m_position = m_size = 0; } | |
27596 | QString toString() const; | |
27597 | inline bool isEmpty() const { return m_size == 0; } | |
27598 | inline bool isNull() const { return m_string == 0 || m_string->isNull(); } | |
27599 | ||
27600 | QStringRef appendTo(QString *string) const; | |
27601 | ||
27602 | inline const QChar at(int i) const | |
27603 | { qt_noop(); return m_string->at(i + m_position); } | |
27604 | ||
27605 | int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
27606 | int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
27607 | int compare(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
27608 | static int compare(const QStringRef &s1, const QString &s2, | |
27609 | Qt::CaseSensitivity = Qt::CaseSensitive); | |
27610 | static int compare(const QStringRef &s1, const QStringRef &s2, | |
27611 | Qt::CaseSensitivity = Qt::CaseSensitive); | |
27612 | static int compare(const QStringRef &s1, QLatin1String s2, | |
27613 | Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
27614 | ||
27615 | int localeAwareCompare(const QString &s) const; | |
27616 | int localeAwareCompare(const QStringRef &s) const; | |
27617 | static int localeAwareCompare(const QStringRef &s1, const QString &s2); | |
27618 | static int localeAwareCompare(const QStringRef &s1, const QStringRef &s2); | |
27619 | }; | |
27620 | ||
27621 | inline QStringRef &QStringRef::operator=(const QString *aString) | |
27622 | { m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; } | |
27623 | ||
27624 | inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize) | |
27625 | :m_string(aString), m_position(aPosition), m_size(aSize){} | |
27626 | ||
27627 | inline QStringRef::QStringRef(const QString *aString) | |
27628 | :m_string(aString), m_position(0), m_size(aString?aString->size() : 0){} | |
27629 | ||
27630 | __attribute__((visibility("default"))) bool operator==(const QStringRef &s1,const QStringRef &s2); | |
27631 | inline bool operator!=(const QStringRef &s1,const QStringRef &s2) | |
27632 | { return !(s1 == s2); } | |
27633 | __attribute__((visibility("default"))) bool operator==(const QString &s1,const QStringRef &s2); | |
27634 | inline bool operator!=(const QString &s1,const QStringRef &s2) | |
27635 | { return !(s1 == s2); } | |
27636 | inline bool operator==(const QStringRef &s1,const QString &s2) | |
27637 | { return s2 == s1; } | |
27638 | inline bool operator!=(const QStringRef &s1,const QString &s2) | |
27639 | { return s2 != s1; } | |
27640 | __attribute__((visibility("default"))) bool operator==(const QLatin1String &s1, const QStringRef &s2); | |
27641 | inline bool operator!=(const QLatin1String &s1,const QStringRef &s2) | |
27642 | { return !(s1 == s2); } | |
27643 | inline bool operator==(const QStringRef &s1,const QLatin1String &s2) | |
27644 | { return s2 == s1; } | |
27645 | inline bool operator!=(const QStringRef &s1,const QLatin1String &s2) | |
27646 | { return s2 != s1; } | |
27647 | ||
27648 | __attribute__((visibility("default"))) bool operator<(const QStringRef &s1,const QStringRef &s2); | |
27649 | inline bool operator>(const QStringRef &s1, const QStringRef &s2) | |
27650 | { return s2 < s1; } | |
27651 | inline bool operator<=(const QStringRef &s1, const QStringRef &s2) | |
27652 | { return !(s1 > s2); } | |
27653 | inline bool operator>=(const QStringRef &s1, const QStringRef &s2) | |
27654 | { return !(s1 < s2); } | |
27655 | ||
27656 | inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2) | |
27657 | { | |
27658 | ||
27659 | if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2)); | |
27660 | ||
27661 | return (s1 == QLatin1String(s2)); | |
27662 | } | |
27663 | ||
27664 | inline __attribute__ ((__deprecated__)) bool operator==(const char *s1, const QStringRef &s2) | |
27665 | { return qStringComparisonHelper(s2, s1); } | |
27666 | inline __attribute__ ((__deprecated__)) bool operator==(const QStringRef &s1, const char *s2) | |
27667 | { return qStringComparisonHelper(s1, s2); } | |
27668 | inline __attribute__ ((__deprecated__)) bool operator!=(const char *s1, const QStringRef &s2) | |
27669 | { return !qStringComparisonHelper(s2, s1); } | |
27670 | inline __attribute__ ((__deprecated__)) bool operator!=(const QStringRef &s1, const char *s2) | |
27671 | { return !qStringComparisonHelper(s1, s2); } | |
27672 | ||
27673 | inline int QString::compare(const QStringRef &s, Qt::CaseSensitivity cs) const | |
27674 | { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } | |
27675 | inline int QString::compare(const QString &s1, const QStringRef &s2, Qt::CaseSensitivity cs) | |
27676 | { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } | |
27677 | inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const | |
27678 | { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } | |
27679 | inline int QStringRef::compare(const QStringRef &s, Qt::CaseSensitivity cs) const | |
27680 | { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } | |
27681 | inline int QStringRef::compare(QLatin1String s, Qt::CaseSensitivity cs) const | |
27682 | { return QString::compare_helper(constData(), length(), s, cs); } | |
27683 | inline int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs) | |
27684 | { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } | |
27685 | inline int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs) | |
27686 | { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } | |
27687 | inline int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs) | |
27688 | { return QString::compare_helper(s1.constData(), s1.length(), s2, cs); } | |
27689 | ||
27690 | inline int QString::localeAwareCompare(const QStringRef &s) const | |
27691 | { return localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } | |
27692 | inline int QString::localeAwareCompare(const QString& s1, const QStringRef& s2) | |
27693 | { return localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } | |
27694 | inline int QStringRef::localeAwareCompare(const QString &s) const | |
27695 | { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } | |
27696 | inline int QStringRef::localeAwareCompare(const QStringRef &s) const | |
27697 | { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } | |
27698 | inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2) | |
27699 | { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } | |
27700 | inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2) | |
27701 | { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } | |
27702 | ||
27703 | ||
27704 | ||
27705 | ||
27706 | ||
27707 | # 1 "../../include/QtCore/qstring.h" 2 | |
27708 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" 2 | |
27709 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
27710 | # 50 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" 2 | |
27711 | # 1 "../../include/QtCore/qlist.h" 1 | |
27712 | # 51 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" 2 | |
27713 | ||
27714 | ||
27715 | ||
27716 | ||
27717 | ||
27718 | ||
27719 | ||
27720 | ||
27721 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
27722 | ||
27723 | class QEvent; | |
27724 | class QTimerEvent; | |
27725 | class QChildEvent; | |
27726 | struct QMetaObject; | |
27727 | class QVariant; | |
27728 | class QObjectPrivate; | |
27729 | class QObject; | |
27730 | class QThread; | |
27731 | class QWidget; | |
27732 | ||
27733 | class QRegExp; | |
27734 | ||
27735 | ||
27736 | class QObjectUserData; | |
27737 | ||
27738 | ||
27739 | typedef QList<QObject*> QObjectList; | |
27740 | # 86 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" | |
27741 | template<typename T> inline T qFindChild(const QObject *, const QString & = QString()); | |
27742 | template<typename T> inline QList<T> qFindChildren(const QObject *, const QString & = QString()); | |
27743 | ||
27744 | template<typename T> inline QList<T> qFindChildren(const QObject *, const QRegExp &); | |
27745 | ||
27746 | ||
27747 | ||
27748 | class QObjectData { | |
27749 | public: | |
27750 | virtual ~QObjectData() = 0; | |
27751 | QObject *q_ptr; | |
27752 | QObject *parent; | |
27753 | QObjectList children; | |
27754 | ||
27755 | uint isWidget : 1; | |
27756 | uint pendTimer : 1; | |
27757 | uint blockSig : 1; | |
27758 | uint wasDeleted : 1; | |
27759 | uint ownObjectName : 1; | |
27760 | uint sendChildEvents : 1; | |
27761 | uint receiveChildEvents : 1; | |
27762 | uint inEventHandler : 1; | |
27763 | uint inThreadChangeEvent : 1; | |
27764 | uint unused : 23; | |
27765 | int postedEvents; | |
27766 | }; | |
27767 | ||
27768 | ||
27769 | class __attribute__((visibility("default"))) QObject | |
27770 | { | |
27771 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
27772 | ||
27773 | inline QObjectPrivate* d_func() { return reinterpret_cast<QObjectPrivate *>(d_ptr); } inline const QObjectPrivate* d_func() const { return reinterpret_cast<const QObjectPrivate *>(d_ptr); } friend class QObjectPrivate; | |
27774 | ||
27775 | public: | |
27776 | explicit QObject(QObject *parent=0); | |
27777 | virtual ~QObject(); | |
27778 | ||
27779 | virtual bool event(QEvent *); | |
27780 | virtual bool eventFilter(QObject *, QEvent *); | |
27781 | # 146 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" | |
27782 | QString objectName() const; | |
27783 | void setObjectName(const QString &name); | |
27784 | ||
27785 | inline bool isWidgetType() const { return d_ptr->isWidget; } | |
27786 | ||
27787 | inline bool signalsBlocked() const { return d_ptr->blockSig; } | |
27788 | bool blockSignals(bool b); | |
27789 | ||
27790 | QThread *thread() const; | |
27791 | void moveToThread(QThread *thread); | |
27792 | ||
27793 | int startTimer(int interval); | |
27794 | void killTimer(int id); | |
27795 | ||
27796 | ||
27797 | template<typename T> | |
27798 | inline T findChild(const QString &aName = QString()) const | |
27799 | { return qFindChild<T>(this, aName); } | |
27800 | ||
27801 | template<typename T> | |
27802 | inline QList<T> findChildren(const QString &aName = QString()) const | |
27803 | { return qFindChildren<T>(this, aName); } | |
27804 | ||
27805 | ||
27806 | template<typename T> | |
27807 | inline QList<T> findChildren(const QRegExp &re) const | |
27808 | { return qFindChildren<T>(this, re); } | |
27809 | # 184 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" | |
27810 | inline const QObjectList &children() const { return d_ptr->children; } | |
27811 | ||
27812 | void setParent(QObject *); | |
27813 | void installEventFilter(QObject *); | |
27814 | void removeEventFilter(QObject *); | |
27815 | ||
27816 | ||
27817 | static bool connect(const QObject *sender, const char *signal, | |
27818 | const QObject *receiver, const char *member, Qt::ConnectionType = | |
27819 | ||
27820 | ||
27821 | ||
27822 | ||
27823 | ||
27824 | ||
27825 | Qt::AutoConnection | |
27826 | ||
27827 | ||
27828 | ); | |
27829 | inline bool connect(const QObject *sender, const char *signal, | |
27830 | const char *member, Qt::ConnectionType type = | |
27831 | ||
27832 | ||
27833 | ||
27834 | ||
27835 | ||
27836 | ||
27837 | Qt::AutoConnection | |
27838 | ||
27839 | ||
27840 | ) const; | |
27841 | ||
27842 | static bool disconnect(const QObject *sender, const char *signal, | |
27843 | const QObject *receiver, const char *member); | |
27844 | inline bool disconnect(const char *signal = 0, | |
27845 | const QObject *receiver = 0, const char *member = 0) | |
27846 | { return disconnect(this, signal, receiver, member); } | |
27847 | inline bool disconnect(const QObject *receiver, const char *member = 0) | |
27848 | { return disconnect(this, 0, receiver, member); } | |
27849 | ||
27850 | void dumpObjectTree(); | |
27851 | void dumpObjectInfo(); | |
27852 | ||
27853 | ||
27854 | bool setProperty(const char *name, const QVariant &value); | |
27855 | QVariant property(const char *name) const; | |
27856 | QList<QByteArray> dynamicPropertyNames() const; | |
27857 | ||
27858 | ||
27859 | ||
27860 | static uint registerUserData(); | |
27861 | void setUserData(uint id, QObjectUserData* data); | |
27862 | QObjectUserData* userData(uint id) const; | |
27863 | ||
27864 | ||
27865 | protected: | |
27866 | void destroyed(QObject * = 0); | |
27867 | ||
27868 | public: | |
27869 | inline QObject *parent() const { return d_ptr->parent; } | |
27870 | ||
27871 | inline bool inherits(const char *classname) const | |
27872 | { return const_cast<QObject *>(this)->qt_metacast(classname) != 0; } | |
27873 | ||
27874 | public : | |
27875 | void deleteLater(); | |
27876 | ||
27877 | protected: | |
27878 | QObject *sender() const; | |
27879 | int receivers(const char* signal) const; | |
27880 | ||
27881 | virtual void timerEvent(QTimerEvent *); | |
27882 | virtual void childEvent(QChildEvent *); | |
27883 | virtual void customEvent(QEvent *); | |
27884 | ||
27885 | virtual void connectNotify(const char *signal); | |
27886 | virtual void disconnectNotify(const char *signal); | |
27887 | # 285 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" | |
27888 | protected: | |
27889 | QObject(QObjectPrivate &dd, QObject *parent = 0); | |
27890 | ||
27891 | protected: | |
27892 | QObjectData *d_ptr; | |
27893 | ||
27894 | static const QMetaObject staticQtMetaObject; | |
27895 | ||
27896 | friend struct QMetaObject; | |
27897 | friend class QApplication; | |
27898 | friend class QApplicationPrivate; | |
27899 | friend class QCoreApplication; | |
27900 | friend class QCoreApplicationPrivate; | |
27901 | friend class QWidget; | |
27902 | friend class QThreadData; | |
27903 | ||
27904 | private: | |
27905 | QObject(const QObject &); QObject &operator=(const QObject &); | |
27906 | ||
27907 | }; | |
27908 | ||
27909 | inline bool QObject::connect(const QObject *asender, const char *asignal, | |
27910 | const char *amember, Qt::ConnectionType atype) const | |
27911 | { return connect(asender, asignal, this, amember, atype); } | |
27912 | ||
27913 | ||
27914 | class __attribute__((visibility("default"))) QObjectUserData { | |
27915 | public: | |
27916 | virtual ~QObjectUserData(); | |
27917 | }; | |
27918 | ||
27919 | ||
27920 | __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QString &name, const QRegExp *re, | |
27921 | const QMetaObject &mo, QList<void *> *list); | |
27922 | __attribute__((visibility("default"))) QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo); | |
27923 | # 405 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" | |
27924 | template<typename T> | |
27925 | inline T qFindChild(const QObject *o, const QString &name) | |
27926 | { return static_cast<T>(qt_qFindChild_helper(o, name, reinterpret_cast<T>(0)->staticMetaObject)); } | |
27927 | ||
27928 | template<typename T> | |
27929 | inline QList<T> qFindChildren(const QObject *o, const QString &name) | |
27930 | { | |
27931 | QList<T> list; | |
27932 | union { | |
27933 | QList<T> *typedList; | |
27934 | QList<void *> *voidList; | |
27935 | } u; | |
27936 | u.typedList = &list; | |
27937 | qt_qFindChildren_helper(o, name, 0, reinterpret_cast<T>(0)->staticMetaObject, u.voidList); | |
27938 | return list; | |
27939 | } | |
27940 | ||
27941 | ||
27942 | template<typename T> | |
27943 | inline QList<T> qFindChildren(const QObject *o, const QRegExp &re) | |
27944 | { | |
27945 | QList<T> list; | |
27946 | union { | |
27947 | QList<T> *typedList; | |
27948 | QList<void *> *voidList; | |
27949 | } u; | |
27950 | u.typedList = &list; | |
27951 | qt_qFindChildren_helper(o, QString(), &re, reinterpret_cast<T>(0)->staticMetaObject, u.voidList); | |
27952 | return list; | |
27953 | } | |
27954 | ||
27955 | ||
27956 | template <class T> | |
27957 | inline T qobject_cast(QObject *object) | |
27958 | { | |
27959 | ||
27960 | reinterpret_cast<T>(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(object)); | |
27961 | ||
27962 | return static_cast<T>(reinterpret_cast<T>(0)->staticMetaObject.cast(object)); | |
27963 | } | |
27964 | ||
27965 | template <class T> | |
27966 | inline T qobject_cast(const QObject *object) | |
27967 | { | |
27968 | ||
27969 | register T ptr = static_cast<T>(object); | |
27970 | (void)ptr;; | |
27971 | ||
27972 | ||
27973 | reinterpret_cast<T>(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(const_cast<QObject *>(object))); | |
27974 | ||
27975 | return static_cast<T>(const_cast<QObject *>(reinterpret_cast<T>(0)->staticMetaObject.cast(const_cast<QObject *>(object)))); | |
27976 | } | |
27977 | ||
27978 | ||
27979 | ||
27980 | #define Q_DECLARE_INTERFACE(IFace,IId) template <> inline IFace *qobject_cast<IFace *>(QObject *object) { return reinterpret_cast<IFace *>((object ? object->qt_metacast(IId) : 0)); } template <> inline IFace *qobject_cast<IFace *>(const QObject *object) { return reinterpret_cast<IFace *>((object ? const_cast<QObject *>(object)->qt_metacast(IId) : 0)); } | |
27981 | # 471 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h" | |
27982 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QObject *); | |
27983 | ||
27984 | ||
27985 | ||
27986 | ||
27987 | ||
27988 | # 1 "../../include/QtCore/qobject.h" 2 | |
27989 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qiodevice.h" 2 | |
27990 | ||
27991 | ||
27992 | ||
27993 | # 1 "../../include/QtCore/qstring.h" 1 | |
27994 | # 51 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qiodevice.h" 2 | |
27995 | ||
27996 | ||
27997 | ||
27998 | ||
27999 | ||
28000 | ||
28001 | ||
28002 | ||
28003 | ||
28004 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
28005 | ||
28006 | class QByteArray; | |
28007 | class QIODevicePrivate; | |
28008 | ||
28009 | class __attribute__((visibility("default"))) QIODevice | |
28010 | ||
28011 | : public QObject | |
28012 | ||
28013 | { | |
28014 | ||
28015 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
28016 | ||
28017 | public: | |
28018 | enum OpenModeFlag { | |
28019 | NotOpen = 0x0000, | |
28020 | ReadOnly = 0x0001, | |
28021 | WriteOnly = 0x0002, | |
28022 | ReadWrite = ReadOnly | WriteOnly, | |
28023 | Append = 0x0004, | |
28024 | Truncate = 0x0008, | |
28025 | Text = 0x0010, | |
28026 | Unbuffered = 0x0020 | |
28027 | }; | |
28028 | typedef QFlags<OpenModeFlag> OpenMode; | |
28029 | ||
28030 | QIODevice(); | |
28031 | ||
28032 | explicit QIODevice(QObject *parent); | |
28033 | ||
28034 | virtual ~QIODevice(); | |
28035 | ||
28036 | OpenMode openMode() const; | |
28037 | ||
28038 | void setTextModeEnabled(bool enabled); | |
28039 | bool isTextModeEnabled() const; | |
28040 | ||
28041 | bool isOpen() const; | |
28042 | bool isReadable() const; | |
28043 | bool isWritable() const; | |
28044 | virtual bool isSequential() const; | |
28045 | ||
28046 | virtual bool open(OpenMode mode); | |
28047 | virtual void close(); | |
28048 | ||
28049 | ||
28050 | ||
28051 | virtual qint64 pos() const; | |
28052 | virtual qint64 size() const; | |
28053 | virtual bool seek(qint64 pos); | |
28054 | virtual bool atEnd() const; | |
28055 | virtual bool reset(); | |
28056 | ||
28057 | virtual qint64 bytesAvailable() const; | |
28058 | virtual qint64 bytesToWrite() const; | |
28059 | ||
28060 | qint64 read(char *data, qint64 maxlen); | |
28061 | QByteArray read(qint64 maxlen); | |
28062 | QByteArray readAll(); | |
28063 | qint64 readLine(char *data, qint64 maxlen); | |
28064 | QByteArray readLine(qint64 maxlen = 0); | |
28065 | virtual bool canReadLine() const; | |
28066 | ||
28067 | qint64 write(const char *data, qint64 len); | |
28068 | qint64 write(const char *data); | |
28069 | inline qint64 write(const QByteArray &data) | |
28070 | { return write(data.constData(), data.size()); } | |
28071 | ||
28072 | qint64 peek(char *data, qint64 maxlen); | |
28073 | QByteArray peek(qint64 maxlen); | |
28074 | ||
28075 | virtual bool waitForReadyRead(int msecs); | |
28076 | virtual bool waitForBytesWritten(int msecs); | |
28077 | ||
28078 | void ungetChar(char c); | |
28079 | bool putChar(char c); | |
28080 | bool getChar(char *c); | |
28081 | ||
28082 | QString errorString() const; | |
28083 | ||
28084 | ||
28085 | protected: | |
28086 | void readyRead(); | |
28087 | void bytesWritten(qint64 bytes); | |
28088 | void aboutToClose(); | |
28089 | void readChannelFinished(); | |
28090 | ||
28091 | ||
28092 | protected: | |
28093 | ||
28094 | ||
28095 | ||
28096 | QIODevice(QIODevicePrivate &dd, QObject *parent = 0); | |
28097 | ||
28098 | virtual qint64 readData(char *data, qint64 maxlen) = 0; | |
28099 | virtual qint64 readLineData(char *data, qint64 maxlen); | |
28100 | virtual qint64 writeData(const char *data, qint64 len) = 0; | |
28101 | ||
28102 | void setOpenMode(OpenMode openMode); | |
28103 | ||
28104 | void setErrorString(const QString &errorString); | |
28105 | ||
28106 | ||
28107 | ||
28108 | ||
28109 | ||
28110 | private: | |
28111 | inline QIODevicePrivate* d_func() { return reinterpret_cast<QIODevicePrivate *>(d_ptr); } inline const QIODevicePrivate* d_func() const { return reinterpret_cast<const QIODevicePrivate *>(d_ptr); } friend class QIODevicePrivate; | |
28112 | QIODevice(const QIODevice &); QIODevice &operator=(const QIODevice &); | |
28113 | # 203 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qiodevice.h" | |
28114 | }; | |
28115 | ||
28116 | inline QFlags<QIODevice::OpenMode::enum_type> operator|(QIODevice::OpenMode::enum_type f1, QIODevice::OpenMode::enum_type f2) { return QFlags<QIODevice::OpenMode::enum_type>(f1) | f2; } inline QFlags<QIODevice::OpenMode::enum_type> operator|(QIODevice::OpenMode::enum_type f1, QFlags<QIODevice::OpenMode::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QIODevice::OpenMode::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
28117 | # 245 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qiodevice.h" | |
28118 | class QDebug; | |
28119 | __attribute__((visibility("default"))) QDebug operator<<(QDebug debug, QIODevice::OpenMode modes); | |
28120 | ||
28121 | ||
28122 | ||
28123 | ||
28124 | ||
28125 | # 1 "../../include/QtCore/qiodevice.h" 2 | |
28126 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdatastream.h" 2 | |
28127 | # 1 "../../include/QtCore/qglobal.h" 1 | |
28128 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdatastream.h" 2 | |
28129 | ||
28130 | ||
28131 | ||
28132 | ||
28133 | ||
28134 | ||
28135 | ||
28136 | ||
28137 | ||
28138 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
28139 | ||
28140 | class QByteArray; | |
28141 | class QIODevice; | |
28142 | ||
28143 | template <typename T> class QList; | |
28144 | template <typename T> class QLinkedList; | |
28145 | template <typename T> class QVector; | |
28146 | template <typename T> class QSet; | |
28147 | template <class Key, class T> class QHash; | |
28148 | template <class Key, class T> class QMap; | |
28149 | ||
28150 | class QDataStreamPrivate; | |
28151 | ||
28152 | ||
28153 | class __attribute__((visibility("default"))) QDataStream | |
28154 | { | |
28155 | public: | |
28156 | enum Version { | |
28157 | Qt_1_0 = 1, | |
28158 | Qt_2_0 = 2, | |
28159 | Qt_2_1 = 3, | |
28160 | Qt_3_0 = 4, | |
28161 | Qt_3_1 = 5, | |
28162 | Qt_3_3 = 6, | |
28163 | Qt_4_0 = 7, | |
28164 | Qt_4_1 = Qt_4_0, | |
28165 | Qt_4_2 = 8, | |
28166 | Qt_4_3 = 9, | |
28167 | Qt_4_4 = 10, | |
28168 | Qt_4_5 = 11 | |
28169 | ||
28170 | ||
28171 | ||
28172 | ||
28173 | }; | |
28174 | ||
28175 | enum ByteOrder { | |
28176 | BigEndian = QSysInfo::BigEndian, | |
28177 | LittleEndian = QSysInfo::LittleEndian | |
28178 | }; | |
28179 | ||
28180 | enum Status { | |
28181 | Ok, | |
28182 | ReadPastEnd, | |
28183 | ReadCorruptData | |
28184 | }; | |
28185 | ||
28186 | QDataStream(); | |
28187 | explicit QDataStream(QIODevice *); | |
28188 | ||
28189 | ||
28190 | ||
28191 | QDataStream(QByteArray *, QIODevice::OpenMode flags); | |
28192 | QDataStream(const QByteArray &); | |
28193 | virtual ~QDataStream(); | |
28194 | ||
28195 | QIODevice *device() const; | |
28196 | void setDevice(QIODevice *); | |
28197 | void unsetDevice(); | |
28198 | ||
28199 | bool atEnd() const; | |
28200 | ||
28201 | ||
28202 | ||
28203 | ||
28204 | Status status() const; | |
28205 | void setStatus(Status status); | |
28206 | void resetStatus(); | |
28207 | ||
28208 | ByteOrder byteOrder() const; | |
28209 | void setByteOrder(ByteOrder); | |
28210 | ||
28211 | int version() const; | |
28212 | void setVersion(int); | |
28213 | ||
28214 | QDataStream &operator>>(qint8 &i); | |
28215 | QDataStream &operator>>(quint8 &i); | |
28216 | QDataStream &operator>>(qint16 &i); | |
28217 | QDataStream &operator>>(quint16 &i); | |
28218 | QDataStream &operator>>(qint32 &i); | |
28219 | QDataStream &operator>>(quint32 &i); | |
28220 | QDataStream &operator>>(qint64 &i); | |
28221 | QDataStream &operator>>(quint64 &i); | |
28222 | ||
28223 | QDataStream &operator>>(bool &i); | |
28224 | QDataStream &operator>>(float &f); | |
28225 | QDataStream &operator>>(double &f); | |
28226 | QDataStream &operator>>(char *&str); | |
28227 | ||
28228 | QDataStream &operator<<(qint8 i); | |
28229 | QDataStream &operator<<(quint8 i); | |
28230 | QDataStream &operator<<(qint16 i); | |
28231 | QDataStream &operator<<(quint16 i); | |
28232 | QDataStream &operator<<(qint32 i); | |
28233 | QDataStream &operator<<(quint32 i); | |
28234 | QDataStream &operator<<(qint64 i); | |
28235 | QDataStream &operator<<(quint64 i); | |
28236 | QDataStream &operator<<(bool i); | |
28237 | QDataStream &operator<<(float f); | |
28238 | QDataStream &operator<<(double f); | |
28239 | QDataStream &operator<<(const char *str); | |
28240 | ||
28241 | QDataStream &readBytes(char *&, uint &len); | |
28242 | int readRawData(char *, int len); | |
28243 | ||
28244 | QDataStream &writeBytes(const char *, uint len); | |
28245 | int writeRawData(const char *, int len); | |
28246 | ||
28247 | int skipRawData(int len); | |
28248 | # 176 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdatastream.h" | |
28249 | private: | |
28250 | QDataStream(const QDataStream &); QDataStream &operator=(const QDataStream &); | |
28251 | ||
28252 | QDataStreamPrivate *d; | |
28253 | ||
28254 | QIODevice *dev; | |
28255 | bool owndev; | |
28256 | bool noswap; | |
28257 | ByteOrder byteorder; | |
28258 | int ver; | |
28259 | Status q_status; | |
28260 | }; | |
28261 | ||
28262 | ||
28263 | ||
28264 | ||
28265 | ||
28266 | ||
28267 | inline QIODevice *QDataStream::device() const | |
28268 | { return dev; } | |
28269 | ||
28270 | inline QDataStream::ByteOrder QDataStream::byteOrder() const | |
28271 | { return byteorder; } | |
28272 | ||
28273 | inline int QDataStream::version() const | |
28274 | { return ver; } | |
28275 | ||
28276 | inline void QDataStream::setVersion(int v) | |
28277 | { ver = v; } | |
28278 | ||
28279 | inline QDataStream &QDataStream::operator>>(quint8 &i) | |
28280 | { return *this >> reinterpret_cast<qint8&>(i); } | |
28281 | ||
28282 | inline QDataStream &QDataStream::operator>>(quint16 &i) | |
28283 | { return *this >> reinterpret_cast<qint16&>(i); } | |
28284 | ||
28285 | inline QDataStream &QDataStream::operator>>(quint32 &i) | |
28286 | { return *this >> reinterpret_cast<qint32&>(i); } | |
28287 | ||
28288 | inline QDataStream &QDataStream::operator>>(quint64 &i) | |
28289 | { return *this >> reinterpret_cast<qint64&>(i); } | |
28290 | ||
28291 | inline QDataStream &QDataStream::operator<<(quint8 i) | |
28292 | { return *this << qint8(i); } | |
28293 | ||
28294 | inline QDataStream &QDataStream::operator<<(quint16 i) | |
28295 | { return *this << qint16(i); } | |
28296 | ||
28297 | inline QDataStream &QDataStream::operator<<(quint32 i) | |
28298 | { return *this << qint32(i); } | |
28299 | ||
28300 | inline QDataStream &QDataStream::operator<<(quint64 i) | |
28301 | { return *this << qint64(i); } | |
28302 | ||
28303 | template <typename T> | |
28304 | QDataStream& operator>>(QDataStream& s, QList<T>& l) | |
28305 | { | |
28306 | l.clear(); | |
28307 | quint32 c; | |
28308 | s >> c; | |
28309 | for(quint32 i = 0; i < c; ++i) | |
28310 | { | |
28311 | T t; | |
28312 | s >> t; | |
28313 | l.append(t); | |
28314 | if (s.atEnd()) | |
28315 | break; | |
28316 | } | |
28317 | return s; | |
28318 | } | |
28319 | ||
28320 | template <typename T> | |
28321 | QDataStream& operator<<(QDataStream& s, const QList<T>& l) | |
28322 | { | |
28323 | s << quint32(l.size()); | |
28324 | for (int i = 0; i < l.size(); ++i) | |
28325 | s << l.at(i); | |
28326 | return s; | |
28327 | } | |
28328 | ||
28329 | template <typename T> | |
28330 | QDataStream& operator>>(QDataStream& s, QLinkedList<T>& l) | |
28331 | { | |
28332 | l.clear(); | |
28333 | quint32 c; | |
28334 | s >> c; | |
28335 | for(quint32 i = 0; i < c; ++i) | |
28336 | { | |
28337 | T t; | |
28338 | s >> t; | |
28339 | l.append(t); | |
28340 | if (s.atEnd()) | |
28341 | break; | |
28342 | } | |
28343 | return s; | |
28344 | } | |
28345 | ||
28346 | template <typename T> | |
28347 | QDataStream& operator<<(QDataStream& s, const QLinkedList<T>& l) | |
28348 | { | |
28349 | s << quint32(l.size()); | |
28350 | typename QLinkedList<T>::ConstIterator it = l.constBegin(); | |
28351 | for(; it != l.constEnd(); ++it) | |
28352 | s << *it; | |
28353 | return s; | |
28354 | } | |
28355 | ||
28356 | template<typename T> | |
28357 | QDataStream& operator>>(QDataStream& s, QVector<T>& v) | |
28358 | { | |
28359 | v.clear(); | |
28360 | quint32 c; | |
28361 | s >> c; | |
28362 | v.resize(c); | |
28363 | for(quint32 i = 0; i < c; ++i) { | |
28364 | T t; | |
28365 | s >> t; | |
28366 | v[i] = t; | |
28367 | } | |
28368 | return s; | |
28369 | } | |
28370 | ||
28371 | template<typename T> | |
28372 | QDataStream& operator<<(QDataStream& s, const QVector<T>& v) | |
28373 | { | |
28374 | s << quint32(v.size()); | |
28375 | for (typename QVector<T>::const_iterator it = v.begin(); it != v.end(); ++it) | |
28376 | s << *it; | |
28377 | return s; | |
28378 | } | |
28379 | ||
28380 | template <typename T> | |
28381 | QDataStream &operator>>(QDataStream &in, QSet<T> &set) | |
28382 | { | |
28383 | set.clear(); | |
28384 | quint32 c; | |
28385 | in >> c; | |
28386 | for (quint32 i = 0; i < c; ++i) { | |
28387 | T t; | |
28388 | in >> t; | |
28389 | set << t; | |
28390 | if (in.atEnd()) | |
28391 | break; | |
28392 | } | |
28393 | return in; | |
28394 | } | |
28395 | ||
28396 | template <typename T> | |
28397 | QDataStream& operator<<(QDataStream &out, const QSet<T> &set) | |
28398 | { | |
28399 | out << quint32(set.size()); | |
28400 | typename QSet<T>::const_iterator i = set.constBegin(); | |
28401 | while (i != set.constEnd()) { | |
28402 | out << *i; | |
28403 | ++i; | |
28404 | } | |
28405 | return out; | |
28406 | } | |
28407 | ||
28408 | template <class Key, class T> | |
28409 | QDataStream &operator>>(QDataStream &in, QHash<Key, T> &hash) | |
28410 | { | |
28411 | QDataStream::Status oldStatus = in.status(); | |
28412 | in.resetStatus(); | |
28413 | hash.clear(); | |
28414 | ||
28415 | quint32 n; | |
28416 | in >> n; | |
28417 | ||
28418 | for (quint32 i = 0; i < n; ++i) { | |
28419 | if (in.status() != QDataStream::Ok) | |
28420 | break; | |
28421 | ||
28422 | Key k; | |
28423 | T t; | |
28424 | in >> k >> t; | |
28425 | hash.insertMulti(k, t); | |
28426 | } | |
28427 | ||
28428 | if (in.status() != QDataStream::Ok) | |
28429 | hash.clear(); | |
28430 | if (oldStatus != QDataStream::Ok) | |
28431 | in.setStatus(oldStatus); | |
28432 | return in; | |
28433 | } | |
28434 | ||
28435 | template <class Key, class T> | |
28436 | QDataStream &operator<<(QDataStream &out, const QHash<Key, T>& hash) | |
28437 | { | |
28438 | out << quint32(hash.size()); | |
28439 | typename QHash<Key, T>::ConstIterator it = hash.end(); | |
28440 | typename QHash<Key, T>::ConstIterator begin = hash.begin(); | |
28441 | while (it != begin) { | |
28442 | --it; | |
28443 | out << it.key() << it.value(); | |
28444 | } | |
28445 | return out; | |
28446 | } | |
28447 | ||
28448 | ||
28449 | ||
28450 | ||
28451 | template <class aKey, class aT> | |
28452 | QDataStream &operator>>(QDataStream &in, QMap<aKey, aT> &map) | |
28453 | ||
28454 | { | |
28455 | QDataStream::Status oldStatus = in.status(); | |
28456 | in.resetStatus(); | |
28457 | map.clear(); | |
28458 | ||
28459 | quint32 n; | |
28460 | in >> n; | |
28461 | ||
28462 | map.detach(); | |
28463 | map.setInsertInOrder(true); | |
28464 | for (quint32 i = 0; i < n; ++i) { | |
28465 | if (in.status() != QDataStream::Ok) | |
28466 | break; | |
28467 | ||
28468 | aKey key; | |
28469 | aT value; | |
28470 | in >> key >> value; | |
28471 | map.insertMulti(key, value); | |
28472 | } | |
28473 | map.setInsertInOrder(false); | |
28474 | if (in.status() != QDataStream::Ok) | |
28475 | map.clear(); | |
28476 | if (oldStatus != QDataStream::Ok) | |
28477 | in.setStatus(oldStatus); | |
28478 | return in; | |
28479 | } | |
28480 | ||
28481 | template <class Key, class T> | |
28482 | QDataStream &operator<<(QDataStream &out, const QMap<Key, T> &map) | |
28483 | { | |
28484 | out << quint32(map.size()); | |
28485 | typename QMap<Key, T>::ConstIterator it = map.end(); | |
28486 | typename QMap<Key, T>::ConstIterator begin = map.begin(); | |
28487 | while (it != begin) { | |
28488 | --it; | |
28489 | out << it.key() << it.value(); | |
28490 | } | |
28491 | return out; | |
28492 | } | |
28493 | ||
28494 | ||
28495 | ||
28496 | ||
28497 | ||
28498 | ||
28499 | # 1 "../../include/QtCore/qdatastream.h" 2 | |
28500 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qpair.h" 2 | |
28501 | ||
28502 | ||
28503 | ||
28504 | ||
28505 | ||
28506 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
28507 | ||
28508 | template <class T1, class T2> | |
28509 | struct QPair | |
28510 | { | |
28511 | typedef T1 first_type; | |
28512 | typedef T2 second_type; | |
28513 | ||
28514 | QPair() : first(T1()), second(T2()) {} | |
28515 | QPair(const T1 &t1, const T2 &t2) : first(t1), second(t2) {} | |
28516 | ||
28517 | QPair<T1, T2> &operator=(const QPair<T1, T2> &other) | |
28518 | { first = other.first; second = other.second; return *this; } | |
28519 | ||
28520 | T1 first; | |
28521 | T2 second; | |
28522 | }; | |
28523 | ||
28524 | template <class T1, class T2> | |
28525 | inline bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) | |
28526 | { return p1.first == p2.first && p1.second == p2.second; } | |
28527 | ||
28528 | template <class T1, class T2> | |
28529 | inline bool operator!=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) | |
28530 | { return !(p1 == p2); } | |
28531 | ||
28532 | template <class T1, class T2> | |
28533 | inline bool operator<(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) | |
28534 | { | |
28535 | return p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second); | |
28536 | } | |
28537 | ||
28538 | template <class T1, class T2> | |
28539 | inline bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) | |
28540 | { | |
28541 | return p2 < p1; | |
28542 | } | |
28543 | ||
28544 | template <class T1, class T2> | |
28545 | inline bool operator<=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) | |
28546 | { | |
28547 | return !(p2 < p1); | |
28548 | } | |
28549 | ||
28550 | template <class T1, class T2> | |
28551 | inline bool operator>=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) | |
28552 | { | |
28553 | return !(p1 < p2); | |
28554 | } | |
28555 | ||
28556 | template <class T1, class T2> | |
28557 | QPair<T1, T2> qMakePair(const T1 &x, const T2 &y) | |
28558 | { | |
28559 | return QPair<T1, T2>(x, y); | |
28560 | } | |
28561 | ||
28562 | ||
28563 | template <class T1, class T2> | |
28564 | inline QDataStream& operator>>(QDataStream& s, QPair<T1, T2>& p) | |
28565 | { | |
28566 | s >> p.first >> p.second; | |
28567 | return s; | |
28568 | } | |
28569 | ||
28570 | template <class T1, class T2> | |
28571 | inline QDataStream& operator<<(QDataStream& s, const QPair<T1, T2>& p) | |
28572 | { | |
28573 | s << p.first << p.second; | |
28574 | return s; | |
28575 | } | |
28576 | ||
28577 | ||
28578 | ||
28579 | ||
28580 | ||
28581 | # 1 "../../include/QtCore/qpair.h" 2 | |
28582 | # 50 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" 2 | |
28583 | ||
28584 | ||
28585 | ||
28586 | ||
28587 | ||
28588 | #undef QT_QHASH_DEBUG | |
28589 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
28590 | ||
28591 | class QBitArray; | |
28592 | class QByteArray; | |
28593 | class QString; | |
28594 | class QStringRef; | |
28595 | ||
28596 | inline uint qHash(char key) { return uint(key); } | |
28597 | inline uint qHash(uchar key) { return uint(key); } | |
28598 | inline uint qHash(signed char key) { return uint(key); } | |
28599 | inline uint qHash(ushort key) { return uint(key); } | |
28600 | inline uint qHash(short key) { return uint(key); } | |
28601 | inline uint qHash(uint key) { return key; } | |
28602 | inline uint qHash(int key) { return uint(key); } | |
28603 | inline uint qHash(ulong key) | |
28604 | { | |
28605 | if (sizeof(ulong) > sizeof(uint)) { | |
28606 | return uint((key >> (8 * sizeof(uint) - 1)) ^ key); | |
28607 | } else { | |
28608 | return uint(key); | |
28609 | } | |
28610 | } | |
28611 | inline uint qHash(long key) { return qHash(ulong(key)); } | |
28612 | inline uint qHash(quint64 key) | |
28613 | { | |
28614 | if (sizeof(quint64) > sizeof(uint)) { | |
28615 | return uint((key >> (8 * sizeof(uint) - 1)) ^ key); | |
28616 | } else { | |
28617 | return uint(key); | |
28618 | } | |
28619 | } | |
28620 | inline uint qHash(qint64 key) { return qHash(quint64(key)); } | |
28621 | inline uint qHash(QChar key) { return qHash(key.unicode()); } | |
28622 | __attribute__((visibility("default"))) uint qHash(const QByteArray &key); | |
28623 | __attribute__((visibility("default"))) uint qHash(const QString &key); | |
28624 | __attribute__((visibility("default"))) uint qHash(const QStringRef &key); | |
28625 | __attribute__((visibility("default"))) uint qHash(const QBitArray &key); | |
28626 | ||
28627 | ||
28628 | ||
28629 | ||
28630 | ||
28631 | template <class T> inline uint qHash(const T *key) | |
28632 | { | |
28633 | if (sizeof(const T *) > sizeof(uint)) | |
28634 | return qHash(reinterpret_cast<quint64>(key)); | |
28635 | else | |
28636 | return uint(reinterpret_cast<ulong>(key)); | |
28637 | } | |
28638 | ||
28639 | ||
28640 | ||
28641 | ||
28642 | template <typename T1, typename T2> inline uint qHash(const QPair<T1, T2> &key) | |
28643 | { | |
28644 | uint h1 = qHash(key.first); | |
28645 | uint h2 = qHash(key.second); | |
28646 | return ((h1 << 16) | (h1 >> 16)) ^ h2; | |
28647 | } | |
28648 | ||
28649 | struct __attribute__((visibility("default"))) QHashData | |
28650 | { | |
28651 | struct Node { | |
28652 | Node *next; | |
28653 | uint h; | |
28654 | }; | |
28655 | ||
28656 | Node *fakeNext; | |
28657 | Node **buckets; | |
28658 | QBasicAtomicInt ref; | |
28659 | int size; | |
28660 | int nodeSize; | |
28661 | short userNumBits; | |
28662 | short numBits; | |
28663 | int numBuckets; | |
28664 | uint sharable : 1; | |
28665 | ||
28666 | void *allocateNode(); | |
28667 | void freeNode(void *node); | |
28668 | QHashData *detach_helper(void (*node_duplicate)(Node *, void *), int nodeSize); | |
28669 | void mightGrow(); | |
28670 | bool willGrow(); | |
28671 | void hasShrunk(); | |
28672 | void rehash(int hint); | |
28673 | void destroyAndFree(); | |
28674 | Node *firstNode(); | |
28675 | ||
28676 | ||
28677 | ||
28678 | ||
28679 | static Node *nextNode(Node *node); | |
28680 | static Node *previousNode(Node *node); | |
28681 | ||
28682 | static QHashData shared_null; | |
28683 | }; | |
28684 | ||
28685 | inline void QHashData::mightGrow() | |
28686 | { | |
28687 | if (size >= numBuckets) | |
28688 | rehash(numBits + 1); | |
28689 | } | |
28690 | ||
28691 | inline bool QHashData::willGrow() | |
28692 | { | |
28693 | if (size >= numBuckets) { | |
28694 | rehash(numBits + 1); | |
28695 | return true; | |
28696 | } else { | |
28697 | return false; | |
28698 | } | |
28699 | } | |
28700 | ||
28701 | inline void QHashData::hasShrunk() | |
28702 | { | |
28703 | if (size <= (numBuckets >> 3) && numBits > userNumBits) | |
28704 | rehash(qMax(int(numBits) - 2, int(userNumBits))); | |
28705 | } | |
28706 | ||
28707 | inline QHashData::Node *QHashData::firstNode() | |
28708 | { | |
28709 | Node *e = reinterpret_cast<Node *>(this); | |
28710 | Node **bucket = buckets; | |
28711 | int n = numBuckets; | |
28712 | while (n--) { | |
28713 | if (*bucket != e) | |
28714 | return *bucket; | |
28715 | ++bucket; | |
28716 | } | |
28717 | return e; | |
28718 | } | |
28719 | ||
28720 | struct QHashDummyValue | |
28721 | { | |
28722 | }; | |
28723 | ||
28724 | inline bool operator==(const QHashDummyValue & , const QHashDummyValue & ) | |
28725 | { | |
28726 | return true; | |
28727 | } | |
28728 | ||
28729 | template <> class QTypeInfo<QHashDummyValue> { public: enum { isComplex = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QHashDummyValue)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QHashDummyValue"; } }; | |
28730 | ||
28731 | template <class Key, class T> | |
28732 | struct QHashDummyNode | |
28733 | { | |
28734 | QHashDummyNode *next; | |
28735 | uint h; | |
28736 | Key key; | |
28737 | ||
28738 | inline QHashDummyNode(const Key &key0) : key(key0) {} | |
28739 | }; | |
28740 | ||
28741 | template <class Key, class T> | |
28742 | struct QHashNode | |
28743 | { | |
28744 | QHashNode *next; | |
28745 | uint h; | |
28746 | Key key; | |
28747 | T value; | |
28748 | ||
28749 | inline QHashNode(const Key &key0) : key(key0) {} | |
28750 | inline QHashNode(const Key &key0, const T &value0) : key(key0), value(value0) {} | |
28751 | inline bool same_key(uint h0, const Key &key0) { return h0 == h && key0 == key; } | |
28752 | }; | |
28753 | ||
28754 | ||
28755 | #define Q_HASH_DECLARE_INT_NODES(key_type) template <class T> struct QHashDummyNode<key_type, T> { QHashDummyNode *next; union { uint h; key_type key; }; inline QHashDummyNode(key_type ) {} }; template <class T> struct QHashNode<key_type, T> { QHashNode *next; union { uint h; key_type key; }; T value; inline QHashNode(key_type ) {} inline QHashNode(key_type , const T &value0) : value(value0) {} inline bool same_key(uint h0, key_type) { return h0 == h; } } | |
28756 | # 243 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" | |
28757 | template <class T> struct QHashDummyNode<short, T> { QHashDummyNode *next; union { uint h; short key; }; inline QHashDummyNode(short ) {} }; template <class T> struct QHashNode<short, T> { QHashNode *next; union { uint h; short key; }; T value; inline QHashNode(short ) {} inline QHashNode(short , const T &value0) : value(value0) {} inline bool same_key(uint h0, short) { return h0 == h; } }; | |
28758 | template <class T> struct QHashDummyNode<ushort, T> { QHashDummyNode *next; union { uint h; ushort key; }; inline QHashDummyNode(ushort ) {} }; template <class T> struct QHashNode<ushort, T> { QHashNode *next; union { uint h; ushort key; }; T value; inline QHashNode(ushort ) {} inline QHashNode(ushort , const T &value0) : value(value0) {} inline bool same_key(uint h0, ushort) { return h0 == h; } }; | |
28759 | ||
28760 | template <class T> struct QHashDummyNode<int, T> { QHashDummyNode *next; union { uint h; int key; }; inline QHashDummyNode(int ) {} }; template <class T> struct QHashNode<int, T> { QHashNode *next; union { uint h; int key; }; T value; inline QHashNode(int ) {} inline QHashNode(int , const T &value0) : value(value0) {} inline bool same_key(uint h0, int) { return h0 == h; } }; | |
28761 | template <class T> struct QHashDummyNode<uint, T> { QHashDummyNode *next; union { uint h; uint key; }; inline QHashDummyNode(uint ) {} }; template <class T> struct QHashNode<uint, T> { QHashNode *next; union { uint h; uint key; }; T value; inline QHashNode(uint ) {} inline QHashNode(uint , const T &value0) : value(value0) {} inline bool same_key(uint h0, uint) { return h0 == h; } }; | |
28762 | #undef Q_HASH_DECLARE_INT_NODES | |
28763 | ||
28764 | ||
28765 | template <class Key, class T> | |
28766 | class QHash | |
28767 | { | |
28768 | typedef QHashDummyNode<Key, T> DummyNode; | |
28769 | typedef QHashNode<Key, T> Node; | |
28770 | ||
28771 | union { | |
28772 | QHashData *d; | |
28773 | QHashNode<Key, T> *e; | |
28774 | }; | |
28775 | ||
28776 | static inline Node *concrete(QHashData::Node *node) { | |
28777 | return reinterpret_cast<Node *>(node); | |
28778 | } | |
28779 | ||
28780 | public: | |
28781 | inline QHash() : d(&QHashData::shared_null) { d->ref.ref(); } | |
28782 | inline QHash(const QHash<Key, T> &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } | |
28783 | inline ~QHash() { if (!d->ref.deref()) freeData(d); } | |
28784 | ||
28785 | QHash<Key, T> &operator=(const QHash<Key, T> &other); | |
28786 | ||
28787 | bool operator==(const QHash<Key, T> &other) const; | |
28788 | inline bool operator!=(const QHash<Key, T> &other) const { return !(*this == other); } | |
28789 | ||
28790 | inline int size() const { return d->size; } | |
28791 | ||
28792 | inline bool isEmpty() const { return d->size == 0; } | |
28793 | ||
28794 | inline int capacity() const { return d->numBuckets; } | |
28795 | void reserve(int size); | |
28796 | inline void squeeze() { reserve(1); } | |
28797 | ||
28798 | inline void detach() { if (d->ref != 1) detach_helper(); } | |
28799 | inline bool isDetached() const { return d->ref == 1; } | |
28800 | inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } | |
28801 | ||
28802 | void clear(); | |
28803 | ||
28804 | int remove(const Key &key); | |
28805 | T take(const Key &key); | |
28806 | ||
28807 | bool contains(const Key &key) const; | |
28808 | const Key key(const T &value) const; | |
28809 | const Key key(const T &value, const Key &defaultKey) const; | |
28810 | const T value(const Key &key) const; | |
28811 | const T value(const Key &key, const T &defaultValue) const; | |
28812 | T &operator[](const Key &key); | |
28813 | const T operator[](const Key &key) const; | |
28814 | ||
28815 | QList<Key> uniqueKeys() const; | |
28816 | QList<Key> keys() const; | |
28817 | QList<Key> keys(const T &value) const; | |
28818 | QList<T> values() const; | |
28819 | QList<T> values(const Key &key) const; | |
28820 | int count(const Key &key) const; | |
28821 | ||
28822 | class const_iterator; | |
28823 | ||
28824 | class iterator | |
28825 | { | |
28826 | friend class const_iterator; | |
28827 | QHashData::Node *i; | |
28828 | ||
28829 | public: | |
28830 | typedef std::bidirectional_iterator_tag iterator_category; | |
28831 | typedef ptrdiff_t difference_type; | |
28832 | typedef T value_type; | |
28833 | typedef T *pointer; | |
28834 | typedef T &reference; | |
28835 | ||
28836 | ||
28837 | inline operator Node *() const { return concrete(i); } | |
28838 | inline iterator() : i(0) { } | |
28839 | explicit inline iterator(void *node) : i(reinterpret_cast<QHashData::Node *>(node)) { } | |
28840 | ||
28841 | inline const Key &key() const { return concrete(i)->key; } | |
28842 | inline T &value() const { return concrete(i)->value; } | |
28843 | inline T &operator*() const { return concrete(i)->value; } | |
28844 | inline T *operator->() const { return &concrete(i)->value; } | |
28845 | inline bool operator==(const iterator &o) const { return i == o.i; } | |
28846 | inline bool operator!=(const iterator &o) const { return i != o.i; } | |
28847 | ||
28848 | inline iterator &operator++() { | |
28849 | i = QHashData::nextNode(i); | |
28850 | return *this; | |
28851 | } | |
28852 | inline iterator operator++(int) { | |
28853 | iterator r = *this; | |
28854 | i = QHashData::nextNode(i); | |
28855 | return r; | |
28856 | } | |
28857 | inline iterator &operator--() { | |
28858 | i = QHashData::previousNode(i); | |
28859 | return *this; | |
28860 | } | |
28861 | inline iterator operator--(int) { | |
28862 | iterator r = *this; | |
28863 | i = QHashData::previousNode(i); | |
28864 | return r; | |
28865 | } | |
28866 | inline iterator operator+(int j) const | |
28867 | { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } | |
28868 | inline iterator operator-(int j) const { return operator+(-j); } | |
28869 | inline iterator &operator+=(int j) { return *this = *this + j; } | |
28870 | inline iterator &operator-=(int j) { return *this = *this - j; } | |
28871 | ||
28872 | ||
28873 | ||
28874 | ||
28875 | ||
28876 | public: | |
28877 | ||
28878 | inline bool operator==(const const_iterator &o) const | |
28879 | { return i == o.i; } | |
28880 | inline bool operator!=(const const_iterator &o) const | |
28881 | { return i != o.i; } | |
28882 | ||
28883 | private: | |
28884 | ||
28885 | inline operator bool() const { return false; } | |
28886 | }; | |
28887 | friend class iterator; | |
28888 | ||
28889 | class const_iterator | |
28890 | { | |
28891 | friend class iterator; | |
28892 | QHashData::Node *i; | |
28893 | ||
28894 | public: | |
28895 | typedef std::bidirectional_iterator_tag iterator_category; | |
28896 | typedef ptrdiff_t difference_type; | |
28897 | typedef T value_type; | |
28898 | typedef const T *pointer; | |
28899 | typedef const T &reference; | |
28900 | ||
28901 | ||
28902 | inline operator Node *() const { return concrete(i); } | |
28903 | inline const_iterator() : i(0) { } | |
28904 | explicit inline const_iterator(void *node) | |
28905 | : i(reinterpret_cast<QHashData::Node *>(node)) { } | |
28906 | ||
28907 | ||
28908 | ||
28909 | inline const_iterator(const iterator &o) | |
28910 | ||
28911 | { i = o.i; } | |
28912 | ||
28913 | inline const Key &key() const { return concrete(i)->key; } | |
28914 | inline const T &value() const { return concrete(i)->value; } | |
28915 | inline const T &operator*() const { return concrete(i)->value; } | |
28916 | inline const T *operator->() const { return &concrete(i)->value; } | |
28917 | inline bool operator==(const const_iterator &o) const { return i == o.i; } | |
28918 | inline bool operator!=(const const_iterator &o) const { return i != o.i; } | |
28919 | ||
28920 | inline const_iterator &operator++() { | |
28921 | i = QHashData::nextNode(i); | |
28922 | return *this; | |
28923 | } | |
28924 | inline const_iterator operator++(int) { | |
28925 | const_iterator r = *this; | |
28926 | i = QHashData::nextNode(i); | |
28927 | return r; | |
28928 | } | |
28929 | inline const_iterator &operator--() { | |
28930 | i = QHashData::previousNode(i); | |
28931 | return *this; | |
28932 | } | |
28933 | inline const_iterator operator--(int) { | |
28934 | const_iterator r = *this; | |
28935 | i = QHashData::previousNode(i); | |
28936 | return r; | |
28937 | } | |
28938 | inline const_iterator operator+(int j) const | |
28939 | { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } | |
28940 | inline const_iterator operator-(int j) const { return operator+(-j); } | |
28941 | inline const_iterator &operator+=(int j) { return *this = *this + j; } | |
28942 | inline const_iterator &operator-=(int j) { return *this = *this - j; } | |
28943 | # 437 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" | |
28944 | private: | |
28945 | ||
28946 | inline operator bool() const { return false; } | |
28947 | }; | |
28948 | friend class const_iterator; | |
28949 | ||
28950 | ||
28951 | inline iterator begin() { detach(); return iterator(d->firstNode()); } | |
28952 | inline const_iterator begin() const { return const_iterator(d->firstNode()); } | |
28953 | inline const_iterator constBegin() const { return const_iterator(d->firstNode()); } | |
28954 | inline iterator end() { detach(); return iterator(e); } | |
28955 | inline const_iterator end() const { return const_iterator(e); } | |
28956 | inline const_iterator constEnd() const { return const_iterator(e); } | |
28957 | iterator erase(iterator it); | |
28958 | ||
28959 | ||
28960 | typedef iterator Iterator; | |
28961 | typedef const_iterator ConstIterator; | |
28962 | inline int count() const { return d->size; } | |
28963 | iterator find(const Key &key); | |
28964 | const_iterator find(const Key &key) const; | |
28965 | const_iterator constFind(const Key &key) const; | |
28966 | iterator insert(const Key &key, const T &value); | |
28967 | iterator insertMulti(const Key &key, const T &value); | |
28968 | QHash<Key, T> &unite(const QHash<Key, T> &other); | |
28969 | ||
28970 | ||
28971 | typedef T mapped_type; | |
28972 | typedef Key key_type; | |
28973 | typedef ptrdiff_t difference_type; | |
28974 | typedef int size_type; | |
28975 | ||
28976 | inline bool empty() const { return isEmpty(); } | |
28977 | ||
28978 | ||
28979 | ||
28980 | ||
28981 | ||
28982 | ||
28983 | private: | |
28984 | void detach_helper(); | |
28985 | void freeData(QHashData *d); | |
28986 | Node **findNode(const Key &key, uint *hp = 0) const; | |
28987 | Node *createNode(uint h, const Key &key, const T &value, Node **nextNode); | |
28988 | void deleteNode(Node *node); | |
28989 | ||
28990 | static void duplicateNode(QHashData::Node *originalNode, void *newNode); | |
28991 | }; | |
28992 | ||
28993 | template <class Key, class T> | |
28994 | inline void QHash<Key, T>::deleteNode(Node *node) | |
28995 | { | |
28996 | ||
28997 | ||
28998 | ||
28999 | ||
29000 | ||
29001 | node->~Node(); | |
29002 | ||
29003 | d->freeNode(node); | |
29004 | } | |
29005 | ||
29006 | template <class Key, class T> | |
29007 | inline void QHash<Key, T>::duplicateNode(QHashData::Node *node, void *newNode) | |
29008 | { | |
29009 | Node *concreteNode = concrete(node); | |
29010 | if (QTypeInfo<T>::isDummy) { | |
29011 | (void) new (newNode) DummyNode(concreteNode->key); | |
29012 | } else { | |
29013 | (void) new (newNode) Node(concreteNode->key, concreteNode->value); | |
29014 | } | |
29015 | } | |
29016 | ||
29017 | template <class Key, class T> | |
29018 | inline typename QHash<Key, T>::Node * | |
29019 | QHash<Key, T>::createNode(uint ah, const Key &akey, const T &avalue, Node **anextNode) | |
29020 | { | |
29021 | Node *node; | |
29022 | ||
29023 | if (QTypeInfo<T>::isDummy) { | |
29024 | node = reinterpret_cast<Node *>(new (d->allocateNode()) DummyNode(akey)); | |
29025 | } else { | |
29026 | node = new (d->allocateNode()) Node(akey, avalue); | |
29027 | } | |
29028 | ||
29029 | node->h = ah; | |
29030 | node->next = *anextNode; | |
29031 | *anextNode = node; | |
29032 | ++d->size; | |
29033 | return node; | |
29034 | } | |
29035 | ||
29036 | template <class Key, class T> | |
29037 | inline QHash<Key, T> &QHash<Key, T>::unite(const QHash<Key, T> &other) | |
29038 | { | |
29039 | QHash<Key, T> copy(other); | |
29040 | const_iterator it = copy.constEnd(); | |
29041 | while (it != copy.constBegin()) { | |
29042 | --it; | |
29043 | insertMulti(it.key(), it.value()); | |
29044 | } | |
29045 | return *this; | |
29046 | } | |
29047 | ||
29048 | template <class Key, class T> | |
29049 | void QHash<Key, T>::freeData(QHashData *x) | |
29050 | { | |
29051 | Node *e_for_x = reinterpret_cast<Node *>(x); | |
29052 | Node **bucket = reinterpret_cast<Node **>(x->buckets); | |
29053 | int n = x->numBuckets; | |
29054 | while (n--) { | |
29055 | Node *cur = *bucket++; | |
29056 | while (cur != e_for_x) { | |
29057 | Node *next = cur->next; | |
29058 | deleteNode(cur); | |
29059 | cur = next; | |
29060 | } | |
29061 | } | |
29062 | x->destroyAndFree(); | |
29063 | } | |
29064 | ||
29065 | template <class Key, class T> | |
29066 | inline void QHash<Key, T>::clear() | |
29067 | { | |
29068 | *this = QHash<Key,T>(); | |
29069 | } | |
29070 | ||
29071 | template <class Key, class T> | |
29072 | void QHash<Key, T>::detach_helper() | |
29073 | { | |
29074 | QHashData *x = d->detach_helper(duplicateNode, | |
29075 | QTypeInfo<T>::isDummy ? sizeof(DummyNode) : sizeof(Node)); | |
29076 | if (!d->ref.deref()) | |
29077 | freeData(d); | |
29078 | d = x; | |
29079 | } | |
29080 | ||
29081 | template <class Key, class T> | |
29082 | inline QHash<Key, T> &QHash<Key, T>::operator=(const QHash<Key, T> &other) | |
29083 | { | |
29084 | if (d != other.d) { | |
29085 | other.d->ref.ref(); | |
29086 | if (!d->ref.deref()) | |
29087 | freeData(d); | |
29088 | d = other.d; | |
29089 | if (!d->sharable) | |
29090 | detach_helper(); | |
29091 | } | |
29092 | return *this; | |
29093 | } | |
29094 | ||
29095 | template <class Key, class T> | |
29096 | inline const T QHash<Key, T>::value(const Key &akey) const | |
29097 | { | |
29098 | Node *node; | |
29099 | if (d->size == 0 || (node = *findNode(akey)) == e) { | |
29100 | return T(); | |
29101 | } else { | |
29102 | return node->value; | |
29103 | } | |
29104 | } | |
29105 | ||
29106 | template <class Key, class T> | |
29107 | inline const T QHash<Key, T>::value(const Key &akey, const T &adefaultValue) const | |
29108 | { | |
29109 | Node *node; | |
29110 | if (d->size == 0 || (node = *findNode(akey)) == e) { | |
29111 | return adefaultValue; | |
29112 | } else { | |
29113 | return node->value; | |
29114 | } | |
29115 | } | |
29116 | ||
29117 | template <class Key, class T> | |
29118 | QList<Key> QHash<Key, T>::uniqueKeys() const | |
29119 | { | |
29120 | QList<Key> res; | |
29121 | const_iterator i = begin(); | |
29122 | if (i != end()) { | |
29123 | for (;;) { | |
29124 | const Key &aKey = i.key(); | |
29125 | res.append(aKey); | |
29126 | do { | |
29127 | if (++i == end()) | |
29128 | goto break_out_of_outer_loop; | |
29129 | } while (aKey == i.key()); | |
29130 | } | |
29131 | } | |
29132 | break_out_of_outer_loop: | |
29133 | return res; | |
29134 | } | |
29135 | ||
29136 | template <class Key, class T> | |
29137 | QList<Key> QHash<Key, T>::keys() const | |
29138 | { | |
29139 | QList<Key> res; | |
29140 | const_iterator i = begin(); | |
29141 | while (i != end()) { | |
29142 | res.append(i.key()); | |
29143 | ++i; | |
29144 | } | |
29145 | return res; | |
29146 | } | |
29147 | ||
29148 | template <class Key, class T> | |
29149 | QList<Key> QHash<Key, T>::keys(const T &avalue) const | |
29150 | { | |
29151 | QList<Key> res; | |
29152 | const_iterator i = begin(); | |
29153 | while (i != end()) { | |
29154 | if (i.value() == avalue) | |
29155 | res.append(i.key()); | |
29156 | ++i; | |
29157 | } | |
29158 | return res; | |
29159 | } | |
29160 | ||
29161 | template <class Key, class T> | |
29162 | const Key QHash<Key, T>::key(const T &avalue) const | |
29163 | { | |
29164 | return key(avalue, Key()); | |
29165 | } | |
29166 | ||
29167 | template <class Key, class T> | |
29168 | const Key QHash<Key, T>::key(const T &avalue, const Key &defaultValue) const | |
29169 | { | |
29170 | const_iterator i = begin(); | |
29171 | while (i != end()) { | |
29172 | if (i.value() == avalue) | |
29173 | return i.key(); | |
29174 | ++i; | |
29175 | } | |
29176 | ||
29177 | return defaultValue; | |
29178 | } | |
29179 | ||
29180 | template <class Key, class T> | |
29181 | QList<T> QHash<Key, T>::values() const | |
29182 | { | |
29183 | QList<T> res; | |
29184 | const_iterator i = begin(); | |
29185 | while (i != end()) { | |
29186 | res.append(i.value()); | |
29187 | ++i; | |
29188 | } | |
29189 | return res; | |
29190 | } | |
29191 | ||
29192 | template <class Key, class T> | |
29193 | QList<T> QHash<Key, T>::values(const Key &akey) const | |
29194 | { | |
29195 | QList<T> res; | |
29196 | Node *node = *findNode(akey); | |
29197 | if (node != e) { | |
29198 | do { | |
29199 | res.append(node->value); | |
29200 | } while ((node = node->next) != e && node->key == akey); | |
29201 | } | |
29202 | return res; | |
29203 | } | |
29204 | ||
29205 | template <class Key, class T> | |
29206 | int QHash<Key, T>::count(const Key &akey) const | |
29207 | { | |
29208 | int cnt = 0; | |
29209 | Node *node = *findNode(akey); | |
29210 | if (node != e) { | |
29211 | do { | |
29212 | ++cnt; | |
29213 | } while ((node = node->next) != e && node->key == akey); | |
29214 | } | |
29215 | return cnt; | |
29216 | } | |
29217 | ||
29218 | template <class Key, class T> | |
29219 | inline const T QHash<Key, T>::operator[](const Key &akey) const | |
29220 | { | |
29221 | return value(akey); | |
29222 | } | |
29223 | ||
29224 | template <class Key, class T> | |
29225 | inline T &QHash<Key, T>::operator[](const Key &akey) | |
29226 | { | |
29227 | detach(); | |
29228 | ||
29229 | uint h; | |
29230 | Node **node = findNode(akey, &h); | |
29231 | if (*node == e) { | |
29232 | if (d->willGrow()) | |
29233 | node = findNode(akey, &h); | |
29234 | return createNode(h, akey, T(), node)->value; | |
29235 | } | |
29236 | return (*node)->value; | |
29237 | } | |
29238 | ||
29239 | template <class Key, class T> | |
29240 | inline typename QHash<Key, T>::iterator QHash<Key, T>::insert(const Key &akey, | |
29241 | const T &avalue) | |
29242 | { | |
29243 | detach(); | |
29244 | ||
29245 | uint h; | |
29246 | Node **node = findNode(akey, &h); | |
29247 | if (*node == e) { | |
29248 | if (d->willGrow()) | |
29249 | node = findNode(akey, &h); | |
29250 | return iterator(createNode(h, akey, avalue, node)); | |
29251 | } | |
29252 | ||
29253 | if (!QTypeInfo<T>::isDummy) | |
29254 | (*node)->value = avalue; | |
29255 | return iterator(*node); | |
29256 | } | |
29257 | ||
29258 | template <class Key, class T> | |
29259 | inline typename QHash<Key, T>::iterator QHash<Key, T>::insertMulti(const Key &akey, | |
29260 | const T &avalue) | |
29261 | { | |
29262 | detach(); | |
29263 | d->willGrow(); | |
29264 | ||
29265 | uint h; | |
29266 | Node **nextNode = findNode(akey, &h); | |
29267 | return iterator(createNode(h, akey, avalue, nextNode)); | |
29268 | } | |
29269 | ||
29270 | template <class Key, class T> | |
29271 | int QHash<Key, T>::remove(const Key &akey) | |
29272 | { | |
29273 | detach(); | |
29274 | ||
29275 | int oldSize = d->size; | |
29276 | Node **node = findNode(akey); | |
29277 | if (*node != e) { | |
29278 | bool deleteNext = true; | |
29279 | do { | |
29280 | Node *next = (*node)->next; | |
29281 | deleteNext = (next != e && next->key == (*node)->key); | |
29282 | deleteNode(*node); | |
29283 | *node = next; | |
29284 | --d->size; | |
29285 | } while (deleteNext); | |
29286 | d->hasShrunk(); | |
29287 | } | |
29288 | return oldSize - d->size; | |
29289 | } | |
29290 | ||
29291 | template <class Key, class T> | |
29292 | T QHash<Key, T>::take(const Key &akey) | |
29293 | { | |
29294 | detach(); | |
29295 | ||
29296 | Node **node = findNode(akey); | |
29297 | if (*node != e) { | |
29298 | T t = (*node)->value; | |
29299 | Node *next = (*node)->next; | |
29300 | deleteNode(*node); | |
29301 | *node = next; | |
29302 | --d->size; | |
29303 | d->hasShrunk(); | |
29304 | return t; | |
29305 | } | |
29306 | return T(); | |
29307 | } | |
29308 | ||
29309 | template <class Key, class T> | |
29310 | typename QHash<Key, T>::iterator QHash<Key, T>::erase(iterator it) | |
29311 | { | |
29312 | if (it == iterator(e)) | |
29313 | return it; | |
29314 | ||
29315 | iterator ret = it; | |
29316 | ++ret; | |
29317 | ||
29318 | Node *node = it; | |
29319 | Node **node_ptr = reinterpret_cast<Node **>(&d->buckets[node->h % d->numBuckets]); | |
29320 | while (*node_ptr != node) | |
29321 | node_ptr = &(*node_ptr)->next; | |
29322 | *node_ptr = node->next; | |
29323 | deleteNode(node); | |
29324 | --d->size; | |
29325 | return ret; | |
29326 | } | |
29327 | ||
29328 | template <class Key, class T> | |
29329 | inline void QHash<Key, T>::reserve(int asize) | |
29330 | { | |
29331 | detach(); | |
29332 | d->rehash(-qMax(asize, 1)); | |
29333 | } | |
29334 | ||
29335 | template <class Key, class T> | |
29336 | inline typename QHash<Key, T>::const_iterator QHash<Key, T>::find(const Key &akey) const | |
29337 | { | |
29338 | return const_iterator(*findNode(akey)); | |
29339 | } | |
29340 | ||
29341 | template <class Key, class T> | |
29342 | inline typename QHash<Key, T>::const_iterator QHash<Key, T>::constFind(const Key &akey) const | |
29343 | { | |
29344 | return const_iterator(*findNode(akey)); | |
29345 | } | |
29346 | ||
29347 | template <class Key, class T> | |
29348 | inline typename QHash<Key, T>::iterator QHash<Key, T>::find(const Key &akey) | |
29349 | { | |
29350 | detach(); | |
29351 | return iterator(*findNode(akey)); | |
29352 | } | |
29353 | ||
29354 | template <class Key, class T> | |
29355 | inline bool QHash<Key, T>::contains(const Key &akey) const | |
29356 | { | |
29357 | return *findNode(akey) != e; | |
29358 | } | |
29359 | ||
29360 | template <class Key, class T> | |
29361 | typename QHash<Key, T>::Node **QHash<Key, T>::findNode(const Key &akey, | |
29362 | uint *ahp) const | |
29363 | { | |
29364 | Node **node; | |
29365 | uint h = qHash(akey); | |
29366 | ||
29367 | if (d->numBuckets) { | |
29368 | node = reinterpret_cast<Node **>(&d->buckets[h % d->numBuckets]); | |
29369 | qt_noop(); | |
29370 | while (*node != e && !(*node)->same_key(h, akey)) | |
29371 | node = &(*node)->next; | |
29372 | } else { | |
29373 | node = const_cast<Node **>(reinterpret_cast<const Node * const *>(&e)); | |
29374 | } | |
29375 | if (ahp) | |
29376 | *ahp = h; | |
29377 | return node; | |
29378 | } | |
29379 | ||
29380 | template <class Key, class T> | |
29381 | bool QHash<Key, T>::operator==(const QHash<Key, T> &other) const | |
29382 | { | |
29383 | if (size() != other.size()) | |
29384 | return false; | |
29385 | if (d == other.d) | |
29386 | return true; | |
29387 | ||
29388 | const_iterator it = begin(); | |
29389 | ||
29390 | while (it != end()) { | |
29391 | const Key &akey = it.key(); | |
29392 | ||
29393 | const_iterator it2 = other.find(akey); | |
29394 | do { | |
29395 | if (it2 == other.end() || !(it2.key() == akey)) | |
29396 | return false; | |
29397 | if (!QTypeInfo<T>::isDummy && !(it.value() == it2.value())) | |
29398 | return false; | |
29399 | ++it; | |
29400 | ++it2; | |
29401 | } while (it != end() && it.key() == akey); | |
29402 | } | |
29403 | return true; | |
29404 | } | |
29405 | ||
29406 | template <class Key, class T> | |
29407 | class QMultiHash : public QHash<Key, T> | |
29408 | { | |
29409 | public: | |
29410 | QMultiHash() {} | |
29411 | QMultiHash(const QHash<Key, T> &other) : QHash<Key, T>(other) {} | |
29412 | ||
29413 | inline typename QHash<Key, T>::iterator replace(const Key &key, const T &value) | |
29414 | { return QHash<Key, T>::insert(key, value); } | |
29415 | ||
29416 | inline typename QHash<Key, T>::iterator insert(const Key &key, const T &value) | |
29417 | { return QHash<Key, T>::insertMulti(key, value); } | |
29418 | ||
29419 | inline QMultiHash &operator+=(const QMultiHash &other) | |
29420 | { unite(other); return *this; } | |
29421 | inline QMultiHash operator+(const QMultiHash &other) const | |
29422 | { QMultiHash result = *this; result += other; return result; } | |
29423 | ||
29424 | ||
29425 | using QHash<Key, T>::contains; | |
29426 | using QHash<Key, T>::remove; | |
29427 | using QHash<Key, T>::count; | |
29428 | using QHash<Key, T>::find; | |
29429 | using QHash<Key, T>::constFind; | |
29430 | # 940 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qhash.h" | |
29431 | bool contains(const Key &key, const T &value) const; | |
29432 | ||
29433 | int remove(const Key &key, const T &value); | |
29434 | ||
29435 | int count(const Key &key, const T &value) const; | |
29436 | ||
29437 | typename QHash<Key, T>::iterator find(const Key &key, const T &value) { | |
29438 | typename QHash<Key, T>::iterator i(find(key)); | |
29439 | typename QHash<Key, T>::iterator end(this->end()); | |
29440 | while (i != end && i.key() == key) { | |
29441 | if (i.value() == value) | |
29442 | return i; | |
29443 | ++i; | |
29444 | } | |
29445 | return end; | |
29446 | } | |
29447 | typename QHash<Key, T>::const_iterator find(const Key &key, const T &value) const { | |
29448 | typename QHash<Key, T>::const_iterator i(constFind(key)); | |
29449 | typename QHash<Key, T>::const_iterator end(QHash<Key, T>::constEnd()); | |
29450 | while (i != end && i.key() == key) { | |
29451 | if (i.value() == value) | |
29452 | return i; | |
29453 | ++i; | |
29454 | } | |
29455 | return end; | |
29456 | } | |
29457 | typename QHash<Key, T>::const_iterator constFind(const Key &key, const T &value) const | |
29458 | { return find(key, value); } | |
29459 | private: | |
29460 | T &operator[](const Key &key); | |
29461 | const T operator[](const Key &key) const; | |
29462 | }; | |
29463 | ||
29464 | template <class Key, class T> | |
29465 | inline bool QMultiHash<Key, T>::contains(const Key &key, const T &value) const | |
29466 | { | |
29467 | return constFind(key, value) != QHash<Key, T>::constEnd(); | |
29468 | } | |
29469 | ||
29470 | template <class Key, class T> | |
29471 | inline int QMultiHash<Key, T>::remove(const Key &key, const T &value) | |
29472 | { | |
29473 | int n = 0; | |
29474 | typename QHash<Key, T>::iterator i(find(key)); | |
29475 | typename QHash<Key, T>::iterator end(QHash<Key, T>::end()); | |
29476 | while (i != end && i.key() == key) { | |
29477 | if (i.value() == value) { | |
29478 | i = erase(i); | |
29479 | ++n; | |
29480 | } else { | |
29481 | ++i; | |
29482 | } | |
29483 | } | |
29484 | return n; | |
29485 | } | |
29486 | ||
29487 | template <class Key, class T> | |
29488 | inline int QMultiHash<Key, T>::count(const Key &key, const T &value) const | |
29489 | { | |
29490 | int n = 0; | |
29491 | typename QHash<Key, T>::const_iterator i(constFind(key)); | |
29492 | typename QHash<Key, T>::const_iterator end(QHash<Key, T>::constEnd()); | |
29493 | while (i != end && i.key() == key) { | |
29494 | if (i.value() == value) | |
29495 | ++n; | |
29496 | ++i; | |
29497 | } | |
29498 | return n; | |
29499 | } | |
29500 | ||
29501 | template <class Key, class T> class QHashIterator { typedef typename QHash<Key,T>::const_iterator const_iterator; typedef const_iterator Item; QHash<Key,T> c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QHashIterator(const QHash<Key,T> &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QHashIterator &operator=(const QHash<Key,T> &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { qt_noop(); return *n; } inline const Key &key() const { qt_noop(); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; | |
29502 | template <class Key, class T> class QMutableHashIterator { typedef typename QHash<Key,T>::iterator iterator; typedef typename QHash<Key,T>::const_iterator const_iterator; typedef iterator Item; QHash<Key,T> *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableHashIterator(QHash<Key,T> &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableHashIterator() { c->setSharable(true); } inline QMutableHashIterator &operator=(QHash<Key,T> &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { qt_noop(); return *n; } inline const T &value() const { qt_noop(); return *n; } inline const Key &key() const { qt_noop(); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; | |
29503 | ||
29504 | ||
29505 | ||
29506 | ||
29507 | # 1 "../../include/QtCore/qhash.h" 2 | |
29508 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
29509 | # 1 "../../include/QtCore/qlist.h" 1 | |
29510 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
29511 | # 1 "../../include/QtCore/qmap.h" 1 | |
29512 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" 1 | |
29513 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" | |
29514 | #define QMAP_H | |
29515 | ||
29516 | # 1 "../../include/QtCore/qatomic.h" 1 | |
29517 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" 2 | |
29518 | # 1 "../../include/QtCore/qiterator.h" 1 | |
29519 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" 2 | |
29520 | # 1 "../../include/QtCore/qlist.h" 1 | |
29521 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" 2 | |
29522 | ||
29523 | ||
29524 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/map" 1 3 | |
29525 | # 61 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/map" 3 | |
29526 | #define _GLIBCXX_MAP 1 | |
29527 | ||
29528 | ||
29529 | # 64 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/map" 3 | |
29530 | ||
29531 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_tree.h" 1 3 | |
29532 | # 65 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_tree.h" 3 | |
29533 | #define _STL_TREE_H 1 | |
29534 | ||
29535 | ||
29536 | ||
29537 | ||
29538 | ||
29539 | ||
29540 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
29541 | # 90 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_tree.h" 3 | |
29542 | enum _Rb_tree_color { _S_red = false, _S_black = true }; | |
29543 | ||
29544 | struct _Rb_tree_node_base | |
29545 | { | |
29546 | typedef _Rb_tree_node_base* _Base_ptr; | |
29547 | typedef const _Rb_tree_node_base* _Const_Base_ptr; | |
29548 | ||
29549 | _Rb_tree_color _M_color; | |
29550 | _Base_ptr _M_parent; | |
29551 | _Base_ptr _M_left; | |
29552 | _Base_ptr _M_right; | |
29553 | ||
29554 | static _Base_ptr | |
29555 | _S_minimum(_Base_ptr __x) | |
29556 | { | |
29557 | while (__x->_M_left != 0) __x = __x->_M_left; | |
29558 | return __x; | |
29559 | } | |
29560 | ||
29561 | static _Const_Base_ptr | |
29562 | _S_minimum(_Const_Base_ptr __x) | |
29563 | { | |
29564 | while (__x->_M_left != 0) __x = __x->_M_left; | |
29565 | return __x; | |
29566 | } | |
29567 | ||
29568 | static _Base_ptr | |
29569 | _S_maximum(_Base_ptr __x) | |
29570 | { | |
29571 | while (__x->_M_right != 0) __x = __x->_M_right; | |
29572 | return __x; | |
29573 | } | |
29574 | ||
29575 | static _Const_Base_ptr | |
29576 | _S_maximum(_Const_Base_ptr __x) | |
29577 | { | |
29578 | while (__x->_M_right != 0) __x = __x->_M_right; | |
29579 | return __x; | |
29580 | } | |
29581 | }; | |
29582 | ||
29583 | template<typename _Val> | |
29584 | struct _Rb_tree_node : public _Rb_tree_node_base | |
29585 | { | |
29586 | typedef _Rb_tree_node<_Val>* _Link_type; | |
29587 | _Val _M_value_field; | |
29588 | }; | |
29589 | ||
29590 | _Rb_tree_node_base* | |
29591 | _Rb_tree_increment(_Rb_tree_node_base* __x); | |
29592 | ||
29593 | const _Rb_tree_node_base* | |
29594 | _Rb_tree_increment(const _Rb_tree_node_base* __x); | |
29595 | ||
29596 | _Rb_tree_node_base* | |
29597 | _Rb_tree_decrement(_Rb_tree_node_base* __x); | |
29598 | ||
29599 | const _Rb_tree_node_base* | |
29600 | _Rb_tree_decrement(const _Rb_tree_node_base* __x); | |
29601 | ||
29602 | template<typename _Tp> | |
29603 | struct _Rb_tree_iterator | |
29604 | { | |
29605 | typedef _Tp value_type; | |
29606 | typedef _Tp& reference; | |
29607 | typedef _Tp* pointer; | |
29608 | ||
29609 | typedef bidirectional_iterator_tag iterator_category; | |
29610 | typedef ptrdiff_t difference_type; | |
29611 | ||
29612 | typedef _Rb_tree_iterator<_Tp> _Self; | |
29613 | typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; | |
29614 | typedef _Rb_tree_node<_Tp>* _Link_type; | |
29615 | ||
29616 | _Rb_tree_iterator() | |
29617 | : _M_node() { } | |
29618 | ||
29619 | explicit | |
29620 | _Rb_tree_iterator(_Link_type __x) | |
29621 | : _M_node(__x) { } | |
29622 | ||
29623 | reference | |
29624 | operator*() const | |
29625 | { return static_cast<_Link_type>(_M_node)->_M_value_field; } | |
29626 | ||
29627 | pointer | |
29628 | operator->() const | |
29629 | { return &static_cast<_Link_type>(_M_node)->_M_value_field; } | |
29630 | ||
29631 | _Self& | |
29632 | operator++() | |
29633 | { | |
29634 | _M_node = _Rb_tree_increment(_M_node); | |
29635 | return *this; | |
29636 | } | |
29637 | ||
29638 | _Self | |
29639 | operator++(int) | |
29640 | { | |
29641 | _Self __tmp = *this; | |
29642 | _M_node = _Rb_tree_increment(_M_node); | |
29643 | return __tmp; | |
29644 | } | |
29645 | ||
29646 | _Self& | |
29647 | operator--() | |
29648 | { | |
29649 | _M_node = _Rb_tree_decrement(_M_node); | |
29650 | return *this; | |
29651 | } | |
29652 | ||
29653 | _Self | |
29654 | operator--(int) | |
29655 | { | |
29656 | _Self __tmp = *this; | |
29657 | _M_node = _Rb_tree_decrement(_M_node); | |
29658 | return __tmp; | |
29659 | } | |
29660 | ||
29661 | bool | |
29662 | operator==(const _Self& __x) const | |
29663 | { return _M_node == __x._M_node; } | |
29664 | ||
29665 | bool | |
29666 | operator!=(const _Self& __x) const | |
29667 | { return _M_node != __x._M_node; } | |
29668 | ||
29669 | _Base_ptr _M_node; | |
29670 | }; | |
29671 | ||
29672 | template<typename _Tp> | |
29673 | struct _Rb_tree_const_iterator | |
29674 | { | |
29675 | typedef _Tp value_type; | |
29676 | typedef const _Tp& reference; | |
29677 | typedef const _Tp* pointer; | |
29678 | ||
29679 | typedef _Rb_tree_iterator<_Tp> iterator; | |
29680 | ||
29681 | typedef bidirectional_iterator_tag iterator_category; | |
29682 | typedef ptrdiff_t difference_type; | |
29683 | ||
29684 | typedef _Rb_tree_const_iterator<_Tp> _Self; | |
29685 | typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; | |
29686 | typedef const _Rb_tree_node<_Tp>* _Link_type; | |
29687 | ||
29688 | _Rb_tree_const_iterator() | |
29689 | : _M_node() { } | |
29690 | ||
29691 | explicit | |
29692 | _Rb_tree_const_iterator(_Link_type __x) | |
29693 | : _M_node(__x) { } | |
29694 | ||
29695 | _Rb_tree_const_iterator(const iterator& __it) | |
29696 | : _M_node(__it._M_node) { } | |
29697 | ||
29698 | reference | |
29699 | operator*() const | |
29700 | { return static_cast<_Link_type>(_M_node)->_M_value_field; } | |
29701 | ||
29702 | pointer | |
29703 | operator->() const | |
29704 | { return &static_cast<_Link_type>(_M_node)->_M_value_field; } | |
29705 | ||
29706 | _Self& | |
29707 | operator++() | |
29708 | { | |
29709 | _M_node = _Rb_tree_increment(_M_node); | |
29710 | return *this; | |
29711 | } | |
29712 | ||
29713 | _Self | |
29714 | operator++(int) | |
29715 | { | |
29716 | _Self __tmp = *this; | |
29717 | _M_node = _Rb_tree_increment(_M_node); | |
29718 | return __tmp; | |
29719 | } | |
29720 | ||
29721 | _Self& | |
29722 | operator--() | |
29723 | { | |
29724 | _M_node = _Rb_tree_decrement(_M_node); | |
29725 | return *this; | |
29726 | } | |
29727 | ||
29728 | _Self | |
29729 | operator--(int) | |
29730 | { | |
29731 | _Self __tmp = *this; | |
29732 | _M_node = _Rb_tree_decrement(_M_node); | |
29733 | return __tmp; | |
29734 | } | |
29735 | ||
29736 | bool | |
29737 | operator==(const _Self& __x) const | |
29738 | { return _M_node == __x._M_node; } | |
29739 | ||
29740 | bool | |
29741 | operator!=(const _Self& __x) const | |
29742 | { return _M_node != __x._M_node; } | |
29743 | ||
29744 | _Base_ptr _M_node; | |
29745 | }; | |
29746 | ||
29747 | template<typename _Val> | |
29748 | inline bool | |
29749 | operator==(const _Rb_tree_iterator<_Val>& __x, | |
29750 | const _Rb_tree_const_iterator<_Val>& __y) | |
29751 | { return __x._M_node == __y._M_node; } | |
29752 | ||
29753 | template<typename _Val> | |
29754 | inline bool | |
29755 | operator!=(const _Rb_tree_iterator<_Val>& __x, | |
29756 | const _Rb_tree_const_iterator<_Val>& __y) | |
29757 | { return __x._M_node != __y._M_node; } | |
29758 | ||
29759 | void | |
29760 | _Rb_tree_insert_and_rebalance(const bool __insert_left, | |
29761 | _Rb_tree_node_base* __x, | |
29762 | _Rb_tree_node_base* __p, | |
29763 | _Rb_tree_node_base& __header); | |
29764 | ||
29765 | _Rb_tree_node_base* | |
29766 | _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, | |
29767 | _Rb_tree_node_base& __header); | |
29768 | ||
29769 | ||
29770 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
29771 | typename _Compare, typename _Alloc = allocator<_Val> > | |
29772 | class _Rb_tree | |
29773 | { | |
29774 | typedef typename _Alloc::template rebind<_Rb_tree_node<_Val> >::other | |
29775 | _Node_allocator; | |
29776 | ||
29777 | protected: | |
29778 | typedef _Rb_tree_node_base* _Base_ptr; | |
29779 | typedef const _Rb_tree_node_base* _Const_Base_ptr; | |
29780 | ||
29781 | public: | |
29782 | typedef _Key key_type; | |
29783 | typedef _Val value_type; | |
29784 | typedef value_type* pointer; | |
29785 | typedef const value_type* const_pointer; | |
29786 | typedef value_type& reference; | |
29787 | typedef const value_type& const_reference; | |
29788 | typedef _Rb_tree_node<_Val>* _Link_type; | |
29789 | typedef const _Rb_tree_node<_Val>* _Const_Link_type; | |
29790 | typedef size_t size_type; | |
29791 | typedef ptrdiff_t difference_type; | |
29792 | typedef _Alloc allocator_type; | |
29793 | ||
29794 | _Node_allocator& | |
29795 | _M_get_Node_allocator() | |
29796 | { return *static_cast<_Node_allocator*>(&this->_M_impl); } | |
29797 | ||
29798 | const _Node_allocator& | |
29799 | _M_get_Node_allocator() const | |
29800 | { return *static_cast<const _Node_allocator*>(&this->_M_impl); } | |
29801 | ||
29802 | allocator_type | |
29803 | get_allocator() const | |
29804 | { return allocator_type(_M_get_Node_allocator()); } | |
29805 | ||
29806 | protected: | |
29807 | _Link_type | |
29808 | _M_get_node() | |
29809 | { return _M_impl._Node_allocator::allocate(1); } | |
29810 | ||
29811 | void | |
29812 | _M_put_node(_Link_type __p) | |
29813 | { _M_impl._Node_allocator::deallocate(__p, 1); } | |
29814 | ||
29815 | _Link_type | |
29816 | _M_create_node(const value_type& __x) | |
29817 | { | |
29818 | _Link_type __tmp = _M_get_node(); | |
29819 | try | |
29820 | { get_allocator().construct(&__tmp->_M_value_field, __x); } | |
29821 | catch(...) | |
29822 | { | |
29823 | _M_put_node(__tmp); | |
29824 | throw; | |
29825 | } | |
29826 | return __tmp; | |
29827 | } | |
29828 | ||
29829 | _Link_type | |
29830 | _M_clone_node(_Const_Link_type __x) | |
29831 | { | |
29832 | _Link_type __tmp = _M_create_node(__x->_M_value_field); | |
29833 | __tmp->_M_color = __x->_M_color; | |
29834 | __tmp->_M_left = 0; | |
29835 | __tmp->_M_right = 0; | |
29836 | return __tmp; | |
29837 | } | |
29838 | ||
29839 | void | |
29840 | _M_destroy_node(_Link_type __p) | |
29841 | { | |
29842 | get_allocator().destroy(&__p->_M_value_field); | |
29843 | _M_put_node(__p); | |
29844 | } | |
29845 | ||
29846 | protected: | |
29847 | template<typename _Key_compare, | |
29848 | bool _Is_pod_comparator = __is_pod(_Key_compare)> | |
29849 | struct _Rb_tree_impl : public _Node_allocator | |
29850 | { | |
29851 | _Key_compare _M_key_compare; | |
29852 | _Rb_tree_node_base _M_header; | |
29853 | size_type _M_node_count; | |
29854 | ||
29855 | _Rb_tree_impl() | |
29856 | : _Node_allocator(), _M_key_compare(), _M_header(), | |
29857 | _M_node_count(0) | |
29858 | { _M_initialize(); } | |
29859 | ||
29860 | _Rb_tree_impl(const _Key_compare& __comp, const _Node_allocator& __a) | |
29861 | : _Node_allocator(__a), _M_key_compare(__comp), _M_header(), | |
29862 | _M_node_count(0) | |
29863 | { _M_initialize(); } | |
29864 | ||
29865 | private: | |
29866 | void | |
29867 | _M_initialize() | |
29868 | { | |
29869 | this->_M_header._M_color = _S_red; | |
29870 | this->_M_header._M_parent = 0; | |
29871 | this->_M_header._M_left = &this->_M_header; | |
29872 | this->_M_header._M_right = &this->_M_header; | |
29873 | } | |
29874 | }; | |
29875 | ||
29876 | _Rb_tree_impl<_Compare> _M_impl; | |
29877 | ||
29878 | protected: | |
29879 | _Base_ptr& | |
29880 | _M_root() | |
29881 | { return this->_M_impl._M_header._M_parent; } | |
29882 | ||
29883 | _Const_Base_ptr | |
29884 | _M_root() const | |
29885 | { return this->_M_impl._M_header._M_parent; } | |
29886 | ||
29887 | _Base_ptr& | |
29888 | _M_leftmost() | |
29889 | { return this->_M_impl._M_header._M_left; } | |
29890 | ||
29891 | _Const_Base_ptr | |
29892 | _M_leftmost() const | |
29893 | { return this->_M_impl._M_header._M_left; } | |
29894 | ||
29895 | _Base_ptr& | |
29896 | _M_rightmost() | |
29897 | { return this->_M_impl._M_header._M_right; } | |
29898 | ||
29899 | _Const_Base_ptr | |
29900 | _M_rightmost() const | |
29901 | { return this->_M_impl._M_header._M_right; } | |
29902 | ||
29903 | _Link_type | |
29904 | _M_begin() | |
29905 | { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } | |
29906 | ||
29907 | _Const_Link_type | |
29908 | _M_begin() const | |
29909 | { | |
29910 | return static_cast<_Const_Link_type> | |
29911 | (this->_M_impl._M_header._M_parent); | |
29912 | } | |
29913 | ||
29914 | _Link_type | |
29915 | _M_end() | |
29916 | { return static_cast<_Link_type>(&this->_M_impl._M_header); } | |
29917 | ||
29918 | _Const_Link_type | |
29919 | _M_end() const | |
29920 | { return static_cast<_Const_Link_type>(&this->_M_impl._M_header); } | |
29921 | ||
29922 | static const_reference | |
29923 | _S_value(_Const_Link_type __x) | |
29924 | { return __x->_M_value_field; } | |
29925 | ||
29926 | static const _Key& | |
29927 | _S_key(_Const_Link_type __x) | |
29928 | { return _KeyOfValue()(_S_value(__x)); } | |
29929 | ||
29930 | static _Link_type | |
29931 | _S_left(_Base_ptr __x) | |
29932 | { return static_cast<_Link_type>(__x->_M_left); } | |
29933 | ||
29934 | static _Const_Link_type | |
29935 | _S_left(_Const_Base_ptr __x) | |
29936 | { return static_cast<_Const_Link_type>(__x->_M_left); } | |
29937 | ||
29938 | static _Link_type | |
29939 | _S_right(_Base_ptr __x) | |
29940 | { return static_cast<_Link_type>(__x->_M_right); } | |
29941 | ||
29942 | static _Const_Link_type | |
29943 | _S_right(_Const_Base_ptr __x) | |
29944 | { return static_cast<_Const_Link_type>(__x->_M_right); } | |
29945 | ||
29946 | static const_reference | |
29947 | _S_value(_Const_Base_ptr __x) | |
29948 | { return static_cast<_Const_Link_type>(__x)->_M_value_field; } | |
29949 | ||
29950 | static const _Key& | |
29951 | _S_key(_Const_Base_ptr __x) | |
29952 | { return _KeyOfValue()(_S_value(__x)); } | |
29953 | ||
29954 | static _Base_ptr | |
29955 | _S_minimum(_Base_ptr __x) | |
29956 | { return _Rb_tree_node_base::_S_minimum(__x); } | |
29957 | ||
29958 | static _Const_Base_ptr | |
29959 | _S_minimum(_Const_Base_ptr __x) | |
29960 | { return _Rb_tree_node_base::_S_minimum(__x); } | |
29961 | ||
29962 | static _Base_ptr | |
29963 | _S_maximum(_Base_ptr __x) | |
29964 | { return _Rb_tree_node_base::_S_maximum(__x); } | |
29965 | ||
29966 | static _Const_Base_ptr | |
29967 | _S_maximum(_Const_Base_ptr __x) | |
29968 | { return _Rb_tree_node_base::_S_maximum(__x); } | |
29969 | ||
29970 | public: | |
29971 | typedef _Rb_tree_iterator<value_type> iterator; | |
29972 | typedef _Rb_tree_const_iterator<value_type> const_iterator; | |
29973 | ||
29974 | typedef std::reverse_iterator<iterator> reverse_iterator; | |
29975 | typedef std::reverse_iterator<const_iterator> const_reverse_iterator; | |
29976 | ||
29977 | private: | |
29978 | iterator | |
29979 | _M_insert_(_Const_Base_ptr __x, _Const_Base_ptr __y, | |
29980 | const value_type& __v); | |
29981 | ||
29982 | ||
29983 | ||
29984 | iterator | |
29985 | _M_insert_lower(_Base_ptr __x, _Base_ptr __y, const value_type& __v); | |
29986 | ||
29987 | iterator | |
29988 | _M_insert_equal_lower(const value_type& __x); | |
29989 | ||
29990 | _Link_type | |
29991 | _M_copy(_Const_Link_type __x, _Link_type __p); | |
29992 | ||
29993 | void | |
29994 | _M_erase(_Link_type __x); | |
29995 | ||
29996 | iterator | |
29997 | _M_lower_bound(_Link_type __x, _Link_type __y, | |
29998 | const _Key& __k); | |
29999 | ||
30000 | const_iterator | |
30001 | _M_lower_bound(_Const_Link_type __x, _Const_Link_type __y, | |
30002 | const _Key& __k) const; | |
30003 | ||
30004 | iterator | |
30005 | _M_upper_bound(_Link_type __x, _Link_type __y, | |
30006 | const _Key& __k); | |
30007 | ||
30008 | const_iterator | |
30009 | _M_upper_bound(_Const_Link_type __x, _Const_Link_type __y, | |
30010 | const _Key& __k) const; | |
30011 | ||
30012 | public: | |
30013 | ||
30014 | _Rb_tree() { } | |
30015 | ||
30016 | _Rb_tree(const _Compare& __comp, | |
30017 | const allocator_type& __a = allocator_type()) | |
30018 | : _M_impl(__comp, __a) { } | |
30019 | ||
30020 | _Rb_tree(const _Rb_tree& __x) | |
30021 | : _M_impl(__x._M_impl._M_key_compare, __x._M_get_Node_allocator()) | |
30022 | { | |
30023 | if (__x._M_root() != 0) | |
30024 | { | |
30025 | _M_root() = _M_copy(__x._M_begin(), _M_end()); | |
30026 | _M_leftmost() = _S_minimum(_M_root()); | |
30027 | _M_rightmost() = _S_maximum(_M_root()); | |
30028 | _M_impl._M_node_count = __x._M_impl._M_node_count; | |
30029 | } | |
30030 | } | |
30031 | ||
30032 | ||
30033 | ||
30034 | ||
30035 | ||
30036 | ~_Rb_tree() | |
30037 | { _M_erase(_M_begin()); } | |
30038 | ||
30039 | _Rb_tree& | |
30040 | operator=(const _Rb_tree& __x); | |
30041 | ||
30042 | ||
30043 | _Compare | |
30044 | key_comp() const | |
30045 | { return _M_impl._M_key_compare; } | |
30046 | ||
30047 | iterator | |
30048 | begin() | |
30049 | { | |
30050 | return iterator(static_cast<_Link_type> | |
30051 | (this->_M_impl._M_header._M_left)); | |
30052 | } | |
30053 | ||
30054 | const_iterator | |
30055 | begin() const | |
30056 | { | |
30057 | return const_iterator(static_cast<_Const_Link_type> | |
30058 | (this->_M_impl._M_header._M_left)); | |
30059 | } | |
30060 | ||
30061 | iterator | |
30062 | end() | |
30063 | { return iterator(static_cast<_Link_type>(&this->_M_impl._M_header)); } | |
30064 | ||
30065 | const_iterator | |
30066 | end() const | |
30067 | { | |
30068 | return const_iterator(static_cast<_Const_Link_type> | |
30069 | (&this->_M_impl._M_header)); | |
30070 | } | |
30071 | ||
30072 | reverse_iterator | |
30073 | rbegin() | |
30074 | { return reverse_iterator(end()); } | |
30075 | ||
30076 | const_reverse_iterator | |
30077 | rbegin() const | |
30078 | { return const_reverse_iterator(end()); } | |
30079 | ||
30080 | reverse_iterator | |
30081 | rend() | |
30082 | { return reverse_iterator(begin()); } | |
30083 | ||
30084 | const_reverse_iterator | |
30085 | rend() const | |
30086 | { return const_reverse_iterator(begin()); } | |
30087 | ||
30088 | bool | |
30089 | empty() const | |
30090 | { return _M_impl._M_node_count == 0; } | |
30091 | ||
30092 | size_type | |
30093 | size() const | |
30094 | { return _M_impl._M_node_count; } | |
30095 | ||
30096 | size_type | |
30097 | max_size() const | |
30098 | { return get_allocator().max_size(); } | |
30099 | ||
30100 | void | |
30101 | ||
30102 | ||
30103 | ||
30104 | swap(_Rb_tree& __t); | |
30105 | ||
30106 | ||
30107 | ||
30108 | pair<iterator, bool> | |
30109 | _M_insert_unique(const value_type& __x); | |
30110 | ||
30111 | iterator | |
30112 | _M_insert_equal(const value_type& __x); | |
30113 | ||
30114 | iterator | |
30115 | _M_insert_unique_(const_iterator __position, const value_type& __x); | |
30116 | ||
30117 | iterator | |
30118 | _M_insert_equal_(const_iterator __position, const value_type& __x); | |
30119 | ||
30120 | template<typename _InputIterator> | |
30121 | void | |
30122 | _M_insert_unique(_InputIterator __first, _InputIterator __last); | |
30123 | ||
30124 | template<typename _InputIterator> | |
30125 | void | |
30126 | _M_insert_equal(_InputIterator __first, _InputIterator __last); | |
30127 | ||
30128 | void | |
30129 | erase(iterator __position); | |
30130 | ||
30131 | void | |
30132 | erase(const_iterator __position); | |
30133 | ||
30134 | size_type | |
30135 | erase(const key_type& __x); | |
30136 | ||
30137 | void | |
30138 | erase(iterator __first, iterator __last); | |
30139 | ||
30140 | void | |
30141 | erase(const_iterator __first, const_iterator __last); | |
30142 | ||
30143 | void | |
30144 | erase(const key_type* __first, const key_type* __last); | |
30145 | ||
30146 | void | |
30147 | clear() | |
30148 | { | |
30149 | _M_erase(_M_begin()); | |
30150 | _M_leftmost() = _M_end(); | |
30151 | _M_root() = 0; | |
30152 | _M_rightmost() = _M_end(); | |
30153 | _M_impl._M_node_count = 0; | |
30154 | } | |
30155 | ||
30156 | ||
30157 | iterator | |
30158 | find(const key_type& __k); | |
30159 | ||
30160 | const_iterator | |
30161 | find(const key_type& __k) const; | |
30162 | ||
30163 | size_type | |
30164 | count(const key_type& __k) const; | |
30165 | ||
30166 | iterator | |
30167 | lower_bound(const key_type& __k) | |
30168 | { return _M_lower_bound(_M_begin(), _M_end(), __k); } | |
30169 | ||
30170 | const_iterator | |
30171 | lower_bound(const key_type& __k) const | |
30172 | { return _M_lower_bound(_M_begin(), _M_end(), __k); } | |
30173 | ||
30174 | iterator | |
30175 | upper_bound(const key_type& __k) | |
30176 | { return _M_upper_bound(_M_begin(), _M_end(), __k); } | |
30177 | ||
30178 | const_iterator | |
30179 | upper_bound(const key_type& __k) const | |
30180 | { return _M_upper_bound(_M_begin(), _M_end(), __k); } | |
30181 | ||
30182 | pair<iterator, iterator> | |
30183 | equal_range(const key_type& __k); | |
30184 | ||
30185 | pair<const_iterator, const_iterator> | |
30186 | equal_range(const key_type& __k) const; | |
30187 | ||
30188 | ||
30189 | bool | |
30190 | __rb_verify() const; | |
30191 | }; | |
30192 | ||
30193 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30194 | typename _Compare, typename _Alloc> | |
30195 | inline bool | |
30196 | operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, | |
30197 | const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) | |
30198 | { | |
30199 | return __x.size() == __y.size() | |
30200 | && std::equal(__x.begin(), __x.end(), __y.begin()); | |
30201 | } | |
30202 | ||
30203 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30204 | typename _Compare, typename _Alloc> | |
30205 | inline bool | |
30206 | operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, | |
30207 | const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) | |
30208 | { | |
30209 | return std::lexicographical_compare(__x.begin(), __x.end(), | |
30210 | __y.begin(), __y.end()); | |
30211 | } | |
30212 | ||
30213 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30214 | typename _Compare, typename _Alloc> | |
30215 | inline bool | |
30216 | operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, | |
30217 | const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) | |
30218 | { return !(__x == __y); } | |
30219 | ||
30220 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30221 | typename _Compare, typename _Alloc> | |
30222 | inline bool | |
30223 | operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, | |
30224 | const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) | |
30225 | { return __y < __x; } | |
30226 | ||
30227 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30228 | typename _Compare, typename _Alloc> | |
30229 | inline bool | |
30230 | operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, | |
30231 | const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) | |
30232 | { return !(__y < __x); } | |
30233 | ||
30234 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30235 | typename _Compare, typename _Alloc> | |
30236 | inline bool | |
30237 | operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, | |
30238 | const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) | |
30239 | { return !(__x < __y); } | |
30240 | ||
30241 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30242 | typename _Compare, typename _Alloc> | |
30243 | inline void | |
30244 | swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, | |
30245 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) | |
30246 | { __x.swap(__y); } | |
30247 | # 820 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_tree.h" 3 | |
30248 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30249 | typename _Compare, typename _Alloc> | |
30250 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& | |
30251 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30252 | operator=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x) | |
30253 | { | |
30254 | if (this != &__x) | |
30255 | { | |
30256 | ||
30257 | clear(); | |
30258 | _M_impl._M_key_compare = __x._M_impl._M_key_compare; | |
30259 | if (__x._M_root() != 0) | |
30260 | { | |
30261 | _M_root() = _M_copy(__x._M_begin(), _M_end()); | |
30262 | _M_leftmost() = _S_minimum(_M_root()); | |
30263 | _M_rightmost() = _S_maximum(_M_root()); | |
30264 | _M_impl._M_node_count = __x._M_impl._M_node_count; | |
30265 | } | |
30266 | } | |
30267 | return *this; | |
30268 | } | |
30269 | ||
30270 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30271 | typename _Compare, typename _Alloc> | |
30272 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator | |
30273 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30274 | _M_insert_(_Const_Base_ptr __x, _Const_Base_ptr __p, const _Val& __v) | |
30275 | { | |
30276 | bool __insert_left = (__x != 0 || __p == _M_end() | |
30277 | || _M_impl._M_key_compare(_KeyOfValue()(__v), | |
30278 | _S_key(__p))); | |
30279 | ||
30280 | _Link_type __z = _M_create_node(__v); | |
30281 | ||
30282 | _Rb_tree_insert_and_rebalance(__insert_left, __z, | |
30283 | const_cast<_Base_ptr>(__p), | |
30284 | this->_M_impl._M_header); | |
30285 | ++_M_impl._M_node_count; | |
30286 | return iterator(__z); | |
30287 | } | |
30288 | ||
30289 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30290 | typename _Compare, typename _Alloc> | |
30291 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator | |
30292 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30293 | _M_insert_lower(_Base_ptr __x, _Base_ptr __p, const _Val& __v) | |
30294 | { | |
30295 | bool __insert_left = (__x != 0 || __p == _M_end() | |
30296 | || !_M_impl._M_key_compare(_S_key(__p), | |
30297 | _KeyOfValue()(__v))); | |
30298 | ||
30299 | _Link_type __z = _M_create_node(__v); | |
30300 | ||
30301 | _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, | |
30302 | this->_M_impl._M_header); | |
30303 | ++_M_impl._M_node_count; | |
30304 | return iterator(__z); | |
30305 | } | |
30306 | ||
30307 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30308 | typename _Compare, typename _Alloc> | |
30309 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator | |
30310 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30311 | _M_insert_equal_lower(const _Val& __v) | |
30312 | { | |
30313 | _Link_type __x = _M_begin(); | |
30314 | _Link_type __y = _M_end(); | |
30315 | while (__x != 0) | |
30316 | { | |
30317 | __y = __x; | |
30318 | __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? | |
30319 | _S_left(__x) : _S_right(__x); | |
30320 | } | |
30321 | return _M_insert_lower(__x, __y, __v); | |
30322 | } | |
30323 | ||
30324 | template<typename _Key, typename _Val, typename _KoV, | |
30325 | typename _Compare, typename _Alloc> | |
30326 | typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type | |
30327 | _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: | |
30328 | _M_copy(_Const_Link_type __x, _Link_type __p) | |
30329 | { | |
30330 | ||
30331 | _Link_type __top = _M_clone_node(__x); | |
30332 | __top->_M_parent = __p; | |
30333 | ||
30334 | try | |
30335 | { | |
30336 | if (__x->_M_right) | |
30337 | __top->_M_right = _M_copy(_S_right(__x), __top); | |
30338 | __p = __top; | |
30339 | __x = _S_left(__x); | |
30340 | ||
30341 | while (__x != 0) | |
30342 | { | |
30343 | _Link_type __y = _M_clone_node(__x); | |
30344 | __p->_M_left = __y; | |
30345 | __y->_M_parent = __p; | |
30346 | if (__x->_M_right) | |
30347 | __y->_M_right = _M_copy(_S_right(__x), __y); | |
30348 | __p = __y; | |
30349 | __x = _S_left(__x); | |
30350 | } | |
30351 | } | |
30352 | catch(...) | |
30353 | { | |
30354 | _M_erase(__top); | |
30355 | throw; | |
30356 | } | |
30357 | return __top; | |
30358 | } | |
30359 | ||
30360 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30361 | typename _Compare, typename _Alloc> | |
30362 | void | |
30363 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30364 | _M_erase(_Link_type __x) | |
30365 | { | |
30366 | ||
30367 | while (__x != 0) | |
30368 | { | |
30369 | _M_erase(_S_right(__x)); | |
30370 | _Link_type __y = _S_left(__x); | |
30371 | _M_destroy_node(__x); | |
30372 | __x = __y; | |
30373 | } | |
30374 | } | |
30375 | ||
30376 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30377 | typename _Compare, typename _Alloc> | |
30378 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30379 | _Compare, _Alloc>::iterator | |
30380 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30381 | _M_lower_bound(_Link_type __x, _Link_type __y, | |
30382 | const _Key& __k) | |
30383 | { | |
30384 | while (__x != 0) | |
30385 | if (!_M_impl._M_key_compare(_S_key(__x), __k)) | |
30386 | __y = __x, __x = _S_left(__x); | |
30387 | else | |
30388 | __x = _S_right(__x); | |
30389 | return iterator(__y); | |
30390 | } | |
30391 | ||
30392 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30393 | typename _Compare, typename _Alloc> | |
30394 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30395 | _Compare, _Alloc>::const_iterator | |
30396 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30397 | _M_lower_bound(_Const_Link_type __x, _Const_Link_type __y, | |
30398 | const _Key& __k) const | |
30399 | { | |
30400 | while (__x != 0) | |
30401 | if (!_M_impl._M_key_compare(_S_key(__x), __k)) | |
30402 | __y = __x, __x = _S_left(__x); | |
30403 | else | |
30404 | __x = _S_right(__x); | |
30405 | return const_iterator(__y); | |
30406 | } | |
30407 | ||
30408 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30409 | typename _Compare, typename _Alloc> | |
30410 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30411 | _Compare, _Alloc>::iterator | |
30412 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30413 | _M_upper_bound(_Link_type __x, _Link_type __y, | |
30414 | const _Key& __k) | |
30415 | { | |
30416 | while (__x != 0) | |
30417 | if (_M_impl._M_key_compare(__k, _S_key(__x))) | |
30418 | __y = __x, __x = _S_left(__x); | |
30419 | else | |
30420 | __x = _S_right(__x); | |
30421 | return iterator(__y); | |
30422 | } | |
30423 | ||
30424 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30425 | typename _Compare, typename _Alloc> | |
30426 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30427 | _Compare, _Alloc>::const_iterator | |
30428 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30429 | _M_upper_bound(_Const_Link_type __x, _Const_Link_type __y, | |
30430 | const _Key& __k) const | |
30431 | { | |
30432 | while (__x != 0) | |
30433 | if (_M_impl._M_key_compare(__k, _S_key(__x))) | |
30434 | __y = __x, __x = _S_left(__x); | |
30435 | else | |
30436 | __x = _S_right(__x); | |
30437 | return const_iterator(__y); | |
30438 | } | |
30439 | ||
30440 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30441 | typename _Compare, typename _Alloc> | |
30442 | pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30443 | _Compare, _Alloc>::iterator, | |
30444 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30445 | _Compare, _Alloc>::iterator> | |
30446 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30447 | equal_range(const _Key& __k) | |
30448 | { | |
30449 | _Link_type __x = _M_begin(); | |
30450 | _Link_type __y = _M_end(); | |
30451 | while (__x != 0) | |
30452 | { | |
30453 | if (_M_impl._M_key_compare(_S_key(__x), __k)) | |
30454 | __x = _S_right(__x); | |
30455 | else if (_M_impl._M_key_compare(__k, _S_key(__x))) | |
30456 | __y = __x, __x = _S_left(__x); | |
30457 | else | |
30458 | { | |
30459 | _Link_type __xu(__x), __yu(__y); | |
30460 | __y = __x, __x = _S_left(__x); | |
30461 | __xu = _S_right(__xu); | |
30462 | return pair<iterator, | |
30463 | iterator>(_M_lower_bound(__x, __y, __k), | |
30464 | _M_upper_bound(__xu, __yu, __k)); | |
30465 | } | |
30466 | } | |
30467 | return pair<iterator, iterator>(iterator(__y), | |
30468 | iterator(__y)); | |
30469 | } | |
30470 | ||
30471 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30472 | typename _Compare, typename _Alloc> | |
30473 | pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30474 | _Compare, _Alloc>::const_iterator, | |
30475 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30476 | _Compare, _Alloc>::const_iterator> | |
30477 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30478 | equal_range(const _Key& __k) const | |
30479 | { | |
30480 | _Const_Link_type __x = _M_begin(); | |
30481 | _Const_Link_type __y = _M_end(); | |
30482 | while (__x != 0) | |
30483 | { | |
30484 | if (_M_impl._M_key_compare(_S_key(__x), __k)) | |
30485 | __x = _S_right(__x); | |
30486 | else if (_M_impl._M_key_compare(__k, _S_key(__x))) | |
30487 | __y = __x, __x = _S_left(__x); | |
30488 | else | |
30489 | { | |
30490 | _Const_Link_type __xu(__x), __yu(__y); | |
30491 | __y = __x, __x = _S_left(__x); | |
30492 | __xu = _S_right(__xu); | |
30493 | return pair<const_iterator, | |
30494 | const_iterator>(_M_lower_bound(__x, __y, __k), | |
30495 | _M_upper_bound(__xu, __yu, __k)); | |
30496 | } | |
30497 | } | |
30498 | return pair<const_iterator, const_iterator>(const_iterator(__y), | |
30499 | const_iterator(__y)); | |
30500 | } | |
30501 | ||
30502 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30503 | typename _Compare, typename _Alloc> | |
30504 | void | |
30505 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30506 | ||
30507 | ||
30508 | ||
30509 | swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t) | |
30510 | ||
30511 | { | |
30512 | if (_M_root() == 0) | |
30513 | { | |
30514 | if (__t._M_root() != 0) | |
30515 | { | |
30516 | _M_root() = __t._M_root(); | |
30517 | _M_leftmost() = __t._M_leftmost(); | |
30518 | _M_rightmost() = __t._M_rightmost(); | |
30519 | _M_root()->_M_parent = _M_end(); | |
30520 | ||
30521 | __t._M_root() = 0; | |
30522 | __t._M_leftmost() = __t._M_end(); | |
30523 | __t._M_rightmost() = __t._M_end(); | |
30524 | } | |
30525 | } | |
30526 | else if (__t._M_root() == 0) | |
30527 | { | |
30528 | __t._M_root() = _M_root(); | |
30529 | __t._M_leftmost() = _M_leftmost(); | |
30530 | __t._M_rightmost() = _M_rightmost(); | |
30531 | __t._M_root()->_M_parent = __t._M_end(); | |
30532 | ||
30533 | _M_root() = 0; | |
30534 | _M_leftmost() = _M_end(); | |
30535 | _M_rightmost() = _M_end(); | |
30536 | } | |
30537 | else | |
30538 | { | |
30539 | std::swap(_M_root(),__t._M_root()); | |
30540 | std::swap(_M_leftmost(),__t._M_leftmost()); | |
30541 | std::swap(_M_rightmost(),__t._M_rightmost()); | |
30542 | ||
30543 | _M_root()->_M_parent = _M_end(); | |
30544 | __t._M_root()->_M_parent = __t._M_end(); | |
30545 | } | |
30546 | ||
30547 | std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); | |
30548 | std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); | |
30549 | ||
30550 | ||
30551 | ||
30552 | std::__alloc_swap<_Node_allocator>:: | |
30553 | _S_do_it(_M_get_Node_allocator(), __t._M_get_Node_allocator()); | |
30554 | } | |
30555 | ||
30556 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30557 | typename _Compare, typename _Alloc> | |
30558 | pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30559 | _Compare, _Alloc>::iterator, bool> | |
30560 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30561 | _M_insert_unique(const _Val& __v) | |
30562 | { | |
30563 | _Link_type __x = _M_begin(); | |
30564 | _Link_type __y = _M_end(); | |
30565 | bool __comp = true; | |
30566 | while (__x != 0) | |
30567 | { | |
30568 | __y = __x; | |
30569 | __comp = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)); | |
30570 | __x = __comp ? _S_left(__x) : _S_right(__x); | |
30571 | } | |
30572 | iterator __j = iterator(__y); | |
30573 | if (__comp) | |
30574 | { | |
30575 | if (__j == begin()) | |
30576 | return pair<iterator, bool>(_M_insert_(__x, __y, __v), true); | |
30577 | else | |
30578 | --__j; | |
30579 | } | |
30580 | if (_M_impl._M_key_compare(_S_key(__j._M_node), _KeyOfValue()(__v))) | |
30581 | return pair<iterator, bool>(_M_insert_(__x, __y, __v), true); | |
30582 | return pair<iterator, bool>(__j, false); | |
30583 | } | |
30584 | ||
30585 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30586 | typename _Compare, typename _Alloc> | |
30587 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator | |
30588 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30589 | _M_insert_equal(const _Val& __v) | |
30590 | { | |
30591 | _Link_type __x = _M_begin(); | |
30592 | _Link_type __y = _M_end(); | |
30593 | while (__x != 0) | |
30594 | { | |
30595 | __y = __x; | |
30596 | __x = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)) ? | |
30597 | _S_left(__x) : _S_right(__x); | |
30598 | } | |
30599 | return _M_insert_(__x, __y, __v); | |
30600 | } | |
30601 | ||
30602 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30603 | typename _Compare, typename _Alloc> | |
30604 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator | |
30605 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30606 | _M_insert_unique_(const_iterator __position, const _Val& __v) | |
30607 | { | |
30608 | ||
30609 | if (__position._M_node == _M_end()) | |
30610 | { | |
30611 | if (size() > 0 | |
30612 | && _M_impl._M_key_compare(_S_key(_M_rightmost()), | |
30613 | _KeyOfValue()(__v))) | |
30614 | return _M_insert_(0, _M_rightmost(), __v); | |
30615 | else | |
30616 | return _M_insert_unique(__v).first; | |
30617 | } | |
30618 | else if (_M_impl._M_key_compare(_KeyOfValue()(__v), | |
30619 | _S_key(__position._M_node))) | |
30620 | { | |
30621 | ||
30622 | const_iterator __before = __position; | |
30623 | if (__position._M_node == _M_leftmost()) | |
30624 | return _M_insert_(_M_leftmost(), _M_leftmost(), __v); | |
30625 | else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), | |
30626 | _KeyOfValue()(__v))) | |
30627 | { | |
30628 | if (_S_right(__before._M_node) == 0) | |
30629 | return _M_insert_(0, __before._M_node, __v); | |
30630 | else | |
30631 | return _M_insert_(__position._M_node, | |
30632 | __position._M_node, __v); | |
30633 | } | |
30634 | else | |
30635 | return _M_insert_unique(__v).first; | |
30636 | } | |
30637 | else if (_M_impl._M_key_compare(_S_key(__position._M_node), | |
30638 | _KeyOfValue()(__v))) | |
30639 | { | |
30640 | ||
30641 | const_iterator __after = __position; | |
30642 | if (__position._M_node == _M_rightmost()) | |
30643 | return _M_insert_(0, _M_rightmost(), __v); | |
30644 | else if (_M_impl._M_key_compare(_KeyOfValue()(__v), | |
30645 | _S_key((++__after)._M_node))) | |
30646 | { | |
30647 | if (_S_right(__position._M_node) == 0) | |
30648 | return _M_insert_(0, __position._M_node, __v); | |
30649 | else | |
30650 | return _M_insert_(__after._M_node, __after._M_node, __v); | |
30651 | } | |
30652 | else | |
30653 | return _M_insert_unique(__v).first; | |
30654 | } | |
30655 | else | |
30656 | ||
30657 | return iterator(static_cast<_Link_type> | |
30658 | (const_cast<_Base_ptr>(__position._M_node))); | |
30659 | } | |
30660 | ||
30661 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30662 | typename _Compare, typename _Alloc> | |
30663 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator | |
30664 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30665 | _M_insert_equal_(const_iterator __position, const _Val& __v) | |
30666 | { | |
30667 | ||
30668 | if (__position._M_node == _M_end()) | |
30669 | { | |
30670 | if (size() > 0 | |
30671 | && !_M_impl._M_key_compare(_KeyOfValue()(__v), | |
30672 | _S_key(_M_rightmost()))) | |
30673 | return _M_insert_(0, _M_rightmost(), __v); | |
30674 | else | |
30675 | return _M_insert_equal(__v); | |
30676 | } | |
30677 | else if (!_M_impl._M_key_compare(_S_key(__position._M_node), | |
30678 | _KeyOfValue()(__v))) | |
30679 | { | |
30680 | ||
30681 | const_iterator __before = __position; | |
30682 | if (__position._M_node == _M_leftmost()) | |
30683 | return _M_insert_(_M_leftmost(), _M_leftmost(), __v); | |
30684 | else if (!_M_impl._M_key_compare(_KeyOfValue()(__v), | |
30685 | _S_key((--__before)._M_node))) | |
30686 | { | |
30687 | if (_S_right(__before._M_node) == 0) | |
30688 | return _M_insert_(0, __before._M_node, __v); | |
30689 | else | |
30690 | return _M_insert_(__position._M_node, | |
30691 | __position._M_node, __v); | |
30692 | } | |
30693 | else | |
30694 | return _M_insert_equal(__v); | |
30695 | } | |
30696 | else | |
30697 | { | |
30698 | ||
30699 | const_iterator __after = __position; | |
30700 | if (__position._M_node == _M_rightmost()) | |
30701 | return _M_insert_(0, _M_rightmost(), __v); | |
30702 | else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), | |
30703 | _KeyOfValue()(__v))) | |
30704 | { | |
30705 | if (_S_right(__position._M_node) == 0) | |
30706 | return _M_insert_(0, __position._M_node, __v); | |
30707 | else | |
30708 | return _M_insert_(__after._M_node, __after._M_node, __v); | |
30709 | } | |
30710 | else | |
30711 | return _M_insert_equal_lower(__v); | |
30712 | } | |
30713 | } | |
30714 | ||
30715 | template<typename _Key, typename _Val, typename _KoV, | |
30716 | typename _Cmp, typename _Alloc> | |
30717 | template<class _II> | |
30718 | void | |
30719 | _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: | |
30720 | _M_insert_unique(_II __first, _II __last) | |
30721 | { | |
30722 | for (; __first != __last; ++__first) | |
30723 | _M_insert_unique_(end(), *__first); | |
30724 | } | |
30725 | ||
30726 | template<typename _Key, typename _Val, typename _KoV, | |
30727 | typename _Cmp, typename _Alloc> | |
30728 | template<class _II> | |
30729 | void | |
30730 | _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: | |
30731 | _M_insert_equal(_II __first, _II __last) | |
30732 | { | |
30733 | for (; __first != __last; ++__first) | |
30734 | _M_insert_equal_(end(), *__first); | |
30735 | } | |
30736 | ||
30737 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30738 | typename _Compare, typename _Alloc> | |
30739 | inline void | |
30740 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30741 | erase(iterator __position) | |
30742 | { | |
30743 | _Link_type __y = | |
30744 | static_cast<_Link_type>(_Rb_tree_rebalance_for_erase | |
30745 | (__position._M_node, | |
30746 | this->_M_impl._M_header)); | |
30747 | _M_destroy_node(__y); | |
30748 | --_M_impl._M_node_count; | |
30749 | } | |
30750 | ||
30751 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30752 | typename _Compare, typename _Alloc> | |
30753 | inline void | |
30754 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30755 | erase(const_iterator __position) | |
30756 | { | |
30757 | _Link_type __y = | |
30758 | static_cast<_Link_type>(_Rb_tree_rebalance_for_erase | |
30759 | (const_cast<_Base_ptr>(__position._M_node), | |
30760 | this->_M_impl._M_header)); | |
30761 | _M_destroy_node(__y); | |
30762 | --_M_impl._M_node_count; | |
30763 | } | |
30764 | ||
30765 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30766 | typename _Compare, typename _Alloc> | |
30767 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type | |
30768 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30769 | erase(const _Key& __x) | |
30770 | { | |
30771 | pair<iterator, iterator> __p = equal_range(__x); | |
30772 | const size_type __old_size = size(); | |
30773 | erase(__p.first, __p.second); | |
30774 | return __old_size - size(); | |
30775 | } | |
30776 | ||
30777 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30778 | typename _Compare, typename _Alloc> | |
30779 | void | |
30780 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30781 | erase(iterator __first, iterator __last) | |
30782 | { | |
30783 | if (__first == begin() && __last == end()) | |
30784 | clear(); | |
30785 | else | |
30786 | while (__first != __last) | |
30787 | erase(__first++); | |
30788 | } | |
30789 | ||
30790 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30791 | typename _Compare, typename _Alloc> | |
30792 | void | |
30793 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30794 | erase(const_iterator __first, const_iterator __last) | |
30795 | { | |
30796 | if (__first == begin() && __last == end()) | |
30797 | clear(); | |
30798 | else | |
30799 | while (__first != __last) | |
30800 | erase(__first++); | |
30801 | } | |
30802 | ||
30803 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30804 | typename _Compare, typename _Alloc> | |
30805 | void | |
30806 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30807 | erase(const _Key* __first, const _Key* __last) | |
30808 | { | |
30809 | while (__first != __last) | |
30810 | erase(*__first++); | |
30811 | } | |
30812 | ||
30813 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30814 | typename _Compare, typename _Alloc> | |
30815 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30816 | _Compare, _Alloc>::iterator | |
30817 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30818 | find(const _Key& __k) | |
30819 | { | |
30820 | iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); | |
30821 | return (__j == end() | |
30822 | || _M_impl._M_key_compare(__k, | |
30823 | _S_key(__j._M_node))) ? end() : __j; | |
30824 | } | |
30825 | ||
30826 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30827 | typename _Compare, typename _Alloc> | |
30828 | typename _Rb_tree<_Key, _Val, _KeyOfValue, | |
30829 | _Compare, _Alloc>::const_iterator | |
30830 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30831 | find(const _Key& __k) const | |
30832 | { | |
30833 | const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); | |
30834 | return (__j == end() | |
30835 | || _M_impl._M_key_compare(__k, | |
30836 | _S_key(__j._M_node))) ? end() : __j; | |
30837 | } | |
30838 | ||
30839 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30840 | typename _Compare, typename _Alloc> | |
30841 | typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type | |
30842 | _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: | |
30843 | count(const _Key& __k) const | |
30844 | { | |
30845 | pair<const_iterator, const_iterator> __p = equal_range(__k); | |
30846 | const size_type __n = std::distance(__p.first, __p.second); | |
30847 | return __n; | |
30848 | } | |
30849 | ||
30850 | unsigned int | |
30851 | _Rb_tree_black_count(const _Rb_tree_node_base* __node, | |
30852 | const _Rb_tree_node_base* __root); | |
30853 | ||
30854 | template<typename _Key, typename _Val, typename _KeyOfValue, | |
30855 | typename _Compare, typename _Alloc> | |
30856 | bool | |
30857 | _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const | |
30858 | { | |
30859 | if (_M_impl._M_node_count == 0 || begin() == end()) | |
30860 | return _M_impl._M_node_count == 0 && begin() == end() | |
30861 | && this->_M_impl._M_header._M_left == _M_end() | |
30862 | && this->_M_impl._M_header._M_right == _M_end(); | |
30863 | ||
30864 | unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); | |
30865 | for (const_iterator __it = begin(); __it != end(); ++__it) | |
30866 | { | |
30867 | _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); | |
30868 | _Const_Link_type __L = _S_left(__x); | |
30869 | _Const_Link_type __R = _S_right(__x); | |
30870 | ||
30871 | if (__x->_M_color == _S_red) | |
30872 | if ((__L && __L->_M_color == _S_red) | |
30873 | || (__R && __R->_M_color == _S_red)) | |
30874 | return false; | |
30875 | ||
30876 | if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) | |
30877 | return false; | |
30878 | if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) | |
30879 | return false; | |
30880 | ||
30881 | if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) | |
30882 | return false; | |
30883 | } | |
30884 | ||
30885 | if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) | |
30886 | return false; | |
30887 | if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) | |
30888 | return false; | |
30889 | return true; | |
30890 | } | |
30891 | ||
30892 | } | |
30893 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/map" 2 3 | |
30894 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 1 3 | |
30895 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
30896 | #define _STL_MAP_H 1 | |
30897 | ||
30898 | ||
30899 | ||
30900 | ||
30901 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
30902 | # 89 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
30903 | template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>, | |
30904 | typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > | |
30905 | class map | |
30906 | { | |
30907 | public: | |
30908 | typedef _Key key_type; | |
30909 | typedef _Tp mapped_type; | |
30910 | typedef std::pair<const _Key, _Tp> value_type; | |
30911 | typedef _Compare key_compare; | |
30912 | typedef _Alloc allocator_type; | |
30913 | ||
30914 | private: | |
30915 | ||
30916 | typedef typename _Alloc::value_type _Alloc_value_type; | |
30917 | ||
30918 | ||
30919 | ||
30920 | ||
30921 | ||
30922 | public: | |
30923 | class value_compare | |
30924 | : public std::binary_function<value_type, value_type, bool> | |
30925 | { | |
30926 | friend class map<_Key, _Tp, _Compare, _Alloc>; | |
30927 | protected: | |
30928 | _Compare comp; | |
30929 | ||
30930 | value_compare(_Compare __c) | |
30931 | : comp(__c) { } | |
30932 | ||
30933 | public: | |
30934 | bool operator()(const value_type& __x, const value_type& __y) const | |
30935 | { return comp(__x.first, __y.first); } | |
30936 | }; | |
30937 | ||
30938 | private: | |
30939 | ||
30940 | typedef typename _Alloc::template rebind<value_type>::other | |
30941 | _Pair_alloc_type; | |
30942 | ||
30943 | typedef _Rb_tree<key_type, value_type, _Select1st<value_type>, | |
30944 | key_compare, _Pair_alloc_type> _Rep_type; | |
30945 | ||
30946 | ||
30947 | _Rep_type _M_t; | |
30948 | ||
30949 | public: | |
30950 | ||
30951 | ||
30952 | typedef typename _Pair_alloc_type::pointer pointer; | |
30953 | typedef typename _Pair_alloc_type::const_pointer const_pointer; | |
30954 | typedef typename _Pair_alloc_type::reference reference; | |
30955 | typedef typename _Pair_alloc_type::const_reference const_reference; | |
30956 | typedef typename _Rep_type::iterator iterator; | |
30957 | typedef typename _Rep_type::const_iterator const_iterator; | |
30958 | typedef typename _Rep_type::size_type size_type; | |
30959 | typedef typename _Rep_type::difference_type difference_type; | |
30960 | typedef typename _Rep_type::reverse_iterator reverse_iterator; | |
30961 | typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; | |
30962 | ||
30963 | ||
30964 | ||
30965 | ||
30966 | ||
30967 | ||
30968 | ||
30969 | map() | |
30970 | : _M_t() { } | |
30971 | ||
30972 | ||
30973 | ||
30974 | ||
30975 | ||
30976 | ||
30977 | explicit | |
30978 | map(const _Compare& __comp, | |
30979 | const allocator_type& __a = allocator_type()) | |
30980 | : _M_t(__comp, __a) { } | |
30981 | # 175 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
30982 | map(const map& __x) | |
30983 | : _M_t(__x._M_t) { } | |
30984 | # 199 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
30985 | template<typename _InputIterator> | |
30986 | map(_InputIterator __first, _InputIterator __last) | |
30987 | : _M_t() | |
30988 | { _M_t._M_insert_unique(__first, __last); } | |
30989 | # 215 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
30990 | template<typename _InputIterator> | |
30991 | map(_InputIterator __first, _InputIterator __last, | |
30992 | const _Compare& __comp, | |
30993 | const allocator_type& __a = allocator_type()) | |
30994 | : _M_t(__comp, __a) | |
30995 | { _M_t._M_insert_unique(__first, __last); } | |
30996 | # 238 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
30997 | map& | |
30998 | operator=(const map& __x) | |
30999 | { | |
31000 | _M_t = __x._M_t; | |
31001 | return *this; | |
31002 | } | |
31003 | # 264 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31004 | allocator_type | |
31005 | get_allocator() const | |
31006 | { return _M_t.get_allocator(); } | |
31007 | ||
31008 | ||
31009 | ||
31010 | ||
31011 | ||
31012 | ||
31013 | ||
31014 | iterator | |
31015 | begin() | |
31016 | { return _M_t.begin(); } | |
31017 | ||
31018 | ||
31019 | ||
31020 | ||
31021 | ||
31022 | ||
31023 | const_iterator | |
31024 | begin() const | |
31025 | { return _M_t.begin(); } | |
31026 | ||
31027 | ||
31028 | ||
31029 | ||
31030 | ||
31031 | ||
31032 | iterator | |
31033 | end() | |
31034 | { return _M_t.end(); } | |
31035 | ||
31036 | ||
31037 | ||
31038 | ||
31039 | ||
31040 | ||
31041 | const_iterator | |
31042 | end() const | |
31043 | { return _M_t.end(); } | |
31044 | ||
31045 | ||
31046 | ||
31047 | ||
31048 | ||
31049 | ||
31050 | reverse_iterator | |
31051 | rbegin() | |
31052 | { return _M_t.rbegin(); } | |
31053 | ||
31054 | ||
31055 | ||
31056 | ||
31057 | ||
31058 | ||
31059 | const_reverse_iterator | |
31060 | rbegin() const | |
31061 | { return _M_t.rbegin(); } | |
31062 | ||
31063 | ||
31064 | ||
31065 | ||
31066 | ||
31067 | ||
31068 | reverse_iterator | |
31069 | rend() | |
31070 | { return _M_t.rend(); } | |
31071 | ||
31072 | ||
31073 | ||
31074 | ||
31075 | ||
31076 | ||
31077 | const_reverse_iterator | |
31078 | rend() const | |
31079 | { return _M_t.rend(); } | |
31080 | # 383 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31081 | bool | |
31082 | empty() const | |
31083 | { return _M_t.empty(); } | |
31084 | ||
31085 | ||
31086 | size_type | |
31087 | size() const | |
31088 | { return _M_t.size(); } | |
31089 | ||
31090 | ||
31091 | size_type | |
31092 | max_size() const | |
31093 | { return _M_t.max_size(); } | |
31094 | # 410 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31095 | mapped_type& | |
31096 | operator[](const key_type& __k) | |
31097 | { | |
31098 | ||
31099 | ||
31100 | ||
31101 | iterator __i = lower_bound(__k); | |
31102 | ||
31103 | if (__i == end() || key_comp()(__k, (*__i).first)) | |
31104 | __i = insert(__i, value_type(__k, mapped_type())); | |
31105 | return (*__i).second; | |
31106 | } | |
31107 | # 432 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31108 | mapped_type& | |
31109 | at(const key_type& __k) | |
31110 | { | |
31111 | iterator __i = lower_bound(__k); | |
31112 | if (__i == end() || key_comp()(__k, (*__i).first)) | |
31113 | __throw_out_of_range(("map::at")); | |
31114 | return (*__i).second; | |
31115 | } | |
31116 | ||
31117 | const mapped_type& | |
31118 | at(const key_type& __k) const | |
31119 | { | |
31120 | const_iterator __i = lower_bound(__k); | |
31121 | if (__i == end() || key_comp()(__k, (*__i).first)) | |
31122 | __throw_out_of_range(("map::at")); | |
31123 | return (*__i).second; | |
31124 | } | |
31125 | # 467 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31126 | std::pair<iterator, bool> | |
31127 | insert(const value_type& __x) | |
31128 | { return _M_t._M_insert_unique(__x); } | |
31129 | # 494 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31130 | iterator | |
31131 | insert(iterator __position, const value_type& __x) | |
31132 | { return _M_t._M_insert_unique_(__position, __x); } | |
31133 | # 506 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31134 | template<typename _InputIterator> | |
31135 | void | |
31136 | insert(_InputIterator __first, _InputIterator __last) | |
31137 | { _M_t._M_insert_unique(__first, __last); } | |
31138 | # 521 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31139 | void | |
31140 | erase(iterator __position) | |
31141 | { _M_t.erase(__position); } | |
31142 | # 536 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31143 | size_type | |
31144 | erase(const key_type& __x) | |
31145 | { return _M_t.erase(__x); } | |
31146 | # 551 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31147 | void | |
31148 | erase(iterator __first, iterator __last) | |
31149 | { _M_t.erase(__first, __last); } | |
31150 | # 566 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31151 | void | |
31152 | ||
31153 | ||
31154 | ||
31155 | swap(map& __x) | |
31156 | ||
31157 | { _M_t.swap(__x._M_t); } | |
31158 | ||
31159 | ||
31160 | ||
31161 | ||
31162 | ||
31163 | ||
31164 | ||
31165 | void | |
31166 | clear() | |
31167 | { _M_t.clear(); } | |
31168 | ||
31169 | ||
31170 | ||
31171 | ||
31172 | ||
31173 | ||
31174 | key_compare | |
31175 | key_comp() const | |
31176 | { return _M_t.key_comp(); } | |
31177 | ||
31178 | ||
31179 | ||
31180 | ||
31181 | ||
31182 | value_compare | |
31183 | value_comp() const | |
31184 | { return value_compare(_M_t.key_comp()); } | |
31185 | # 613 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31186 | iterator | |
31187 | find(const key_type& __x) | |
31188 | { return _M_t.find(__x); } | |
31189 | # 628 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31190 | const_iterator | |
31191 | find(const key_type& __x) const | |
31192 | { return _M_t.find(__x); } | |
31193 | # 640 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31194 | size_type | |
31195 | count(const key_type& __x) const | |
31196 | { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } | |
31197 | # 655 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31198 | iterator | |
31199 | lower_bound(const key_type& __x) | |
31200 | { return _M_t.lower_bound(__x); } | |
31201 | # 670 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31202 | const_iterator | |
31203 | lower_bound(const key_type& __x) const | |
31204 | { return _M_t.lower_bound(__x); } | |
31205 | ||
31206 | ||
31207 | ||
31208 | ||
31209 | ||
31210 | ||
31211 | ||
31212 | iterator | |
31213 | upper_bound(const key_type& __x) | |
31214 | { return _M_t.upper_bound(__x); } | |
31215 | ||
31216 | ||
31217 | ||
31218 | ||
31219 | ||
31220 | ||
31221 | ||
31222 | const_iterator | |
31223 | upper_bound(const key_type& __x) const | |
31224 | { return _M_t.upper_bound(__x); } | |
31225 | # 709 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31226 | std::pair<iterator, iterator> | |
31227 | equal_range(const key_type& __x) | |
31228 | { return _M_t.equal_range(__x); } | |
31229 | # 728 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31230 | std::pair<const_iterator, const_iterator> | |
31231 | equal_range(const key_type& __x) const | |
31232 | { return _M_t.equal_range(__x); } | |
31233 | ||
31234 | template<typename _K1, typename _T1, typename _C1, typename _A1> | |
31235 | friend bool | |
31236 | operator==(const map<_K1, _T1, _C1, _A1>&, | |
31237 | const map<_K1, _T1, _C1, _A1>&); | |
31238 | ||
31239 | template<typename _K1, typename _T1, typename _C1, typename _A1> | |
31240 | friend bool | |
31241 | operator<(const map<_K1, _T1, _C1, _A1>&, | |
31242 | const map<_K1, _T1, _C1, _A1>&); | |
31243 | }; | |
31244 | # 753 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31245 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31246 | inline bool | |
31247 | operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, | |
31248 | const map<_Key, _Tp, _Compare, _Alloc>& __y) | |
31249 | { return __x._M_t == __y._M_t; } | |
31250 | # 770 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31251 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31252 | inline bool | |
31253 | operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, | |
31254 | const map<_Key, _Tp, _Compare, _Alloc>& __y) | |
31255 | { return __x._M_t < __y._M_t; } | |
31256 | ||
31257 | ||
31258 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31259 | inline bool | |
31260 | operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, | |
31261 | const map<_Key, _Tp, _Compare, _Alloc>& __y) | |
31262 | { return !(__x == __y); } | |
31263 | ||
31264 | ||
31265 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31266 | inline bool | |
31267 | operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, | |
31268 | const map<_Key, _Tp, _Compare, _Alloc>& __y) | |
31269 | { return __y < __x; } | |
31270 | ||
31271 | ||
31272 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31273 | inline bool | |
31274 | operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, | |
31275 | const map<_Key, _Tp, _Compare, _Alloc>& __y) | |
31276 | { return !(__y < __x); } | |
31277 | ||
31278 | ||
31279 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31280 | inline bool | |
31281 | operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, | |
31282 | const map<_Key, _Tp, _Compare, _Alloc>& __y) | |
31283 | { return !(__x < __y); } | |
31284 | ||
31285 | ||
31286 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31287 | inline void | |
31288 | swap(map<_Key, _Tp, _Compare, _Alloc>& __x, | |
31289 | map<_Key, _Tp, _Compare, _Alloc>& __y) | |
31290 | { __x.swap(__y); } | |
31291 | # 825 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_map.h" 3 | |
31292 | } | |
31293 | # 67 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/map" 2 3 | |
31294 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 1 3 | |
31295 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31296 | #define _STL_MULTIMAP_H 1 | |
31297 | ||
31298 | ||
31299 | ||
31300 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
31301 | # 88 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31302 | template <typename _Key, typename _Tp, | |
31303 | typename _Compare = std::less<_Key>, | |
31304 | typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > | |
31305 | class multimap | |
31306 | { | |
31307 | public: | |
31308 | typedef _Key key_type; | |
31309 | typedef _Tp mapped_type; | |
31310 | typedef std::pair<const _Key, _Tp> value_type; | |
31311 | typedef _Compare key_compare; | |
31312 | typedef _Alloc allocator_type; | |
31313 | ||
31314 | private: | |
31315 | ||
31316 | typedef typename _Alloc::value_type _Alloc_value_type; | |
31317 | ||
31318 | ||
31319 | ||
31320 | ||
31321 | ||
31322 | public: | |
31323 | class value_compare | |
31324 | : public std::binary_function<value_type, value_type, bool> | |
31325 | { | |
31326 | friend class multimap<_Key, _Tp, _Compare, _Alloc>; | |
31327 | protected: | |
31328 | _Compare comp; | |
31329 | ||
31330 | value_compare(_Compare __c) | |
31331 | : comp(__c) { } | |
31332 | ||
31333 | public: | |
31334 | bool operator()(const value_type& __x, const value_type& __y) const | |
31335 | { return comp(__x.first, __y.first); } | |
31336 | }; | |
31337 | ||
31338 | private: | |
31339 | ||
31340 | typedef typename _Alloc::template rebind<value_type>::other | |
31341 | _Pair_alloc_type; | |
31342 | ||
31343 | typedef _Rb_tree<key_type, value_type, _Select1st<value_type>, | |
31344 | key_compare, _Pair_alloc_type> _Rep_type; | |
31345 | ||
31346 | _Rep_type _M_t; | |
31347 | ||
31348 | public: | |
31349 | ||
31350 | ||
31351 | typedef typename _Pair_alloc_type::pointer pointer; | |
31352 | typedef typename _Pair_alloc_type::const_pointer const_pointer; | |
31353 | typedef typename _Pair_alloc_type::reference reference; | |
31354 | typedef typename _Pair_alloc_type::const_reference const_reference; | |
31355 | typedef typename _Rep_type::iterator iterator; | |
31356 | typedef typename _Rep_type::const_iterator const_iterator; | |
31357 | typedef typename _Rep_type::size_type size_type; | |
31358 | typedef typename _Rep_type::difference_type difference_type; | |
31359 | typedef typename _Rep_type::reverse_iterator reverse_iterator; | |
31360 | typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; | |
31361 | ||
31362 | ||
31363 | ||
31364 | ||
31365 | ||
31366 | ||
31367 | multimap() | |
31368 | : _M_t() { } | |
31369 | ||
31370 | ||
31371 | ||
31372 | ||
31373 | ||
31374 | ||
31375 | explicit | |
31376 | multimap(const _Compare& __comp, | |
31377 | const allocator_type& __a = allocator_type()) | |
31378 | : _M_t(__comp, __a) { } | |
31379 | # 173 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31380 | multimap(const multimap& __x) | |
31381 | : _M_t(__x._M_t) { } | |
31382 | # 197 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31383 | template<typename _InputIterator> | |
31384 | multimap(_InputIterator __first, _InputIterator __last) | |
31385 | : _M_t() | |
31386 | { _M_t._M_insert_equal(__first, __last); } | |
31387 | # 213 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31388 | template<typename _InputIterator> | |
31389 | multimap(_InputIterator __first, _InputIterator __last, | |
31390 | const _Compare& __comp, | |
31391 | const allocator_type& __a = allocator_type()) | |
31392 | : _M_t(__comp, __a) | |
31393 | { _M_t._M_insert_equal(__first, __last); } | |
31394 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31395 | multimap& | |
31396 | operator=(const multimap& __x) | |
31397 | { | |
31398 | _M_t = __x._M_t; | |
31399 | return *this; | |
31400 | } | |
31401 | # 262 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31402 | allocator_type | |
31403 | get_allocator() const | |
31404 | { return _M_t.get_allocator(); } | |
31405 | ||
31406 | ||
31407 | ||
31408 | ||
31409 | ||
31410 | ||
31411 | ||
31412 | iterator | |
31413 | begin() | |
31414 | { return _M_t.begin(); } | |
31415 | ||
31416 | ||
31417 | ||
31418 | ||
31419 | ||
31420 | ||
31421 | const_iterator | |
31422 | begin() const | |
31423 | { return _M_t.begin(); } | |
31424 | ||
31425 | ||
31426 | ||
31427 | ||
31428 | ||
31429 | ||
31430 | iterator | |
31431 | end() | |
31432 | { return _M_t.end(); } | |
31433 | ||
31434 | ||
31435 | ||
31436 | ||
31437 | ||
31438 | ||
31439 | const_iterator | |
31440 | end() const | |
31441 | { return _M_t.end(); } | |
31442 | ||
31443 | ||
31444 | ||
31445 | ||
31446 | ||
31447 | ||
31448 | reverse_iterator | |
31449 | rbegin() | |
31450 | { return _M_t.rbegin(); } | |
31451 | ||
31452 | ||
31453 | ||
31454 | ||
31455 | ||
31456 | ||
31457 | const_reverse_iterator | |
31458 | rbegin() const | |
31459 | { return _M_t.rbegin(); } | |
31460 | ||
31461 | ||
31462 | ||
31463 | ||
31464 | ||
31465 | ||
31466 | reverse_iterator | |
31467 | rend() | |
31468 | { return _M_t.rend(); } | |
31469 | ||
31470 | ||
31471 | ||
31472 | ||
31473 | ||
31474 | ||
31475 | const_reverse_iterator | |
31476 | rend() const | |
31477 | { return _M_t.rend(); } | |
31478 | # 379 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31479 | bool | |
31480 | empty() const | |
31481 | { return _M_t.empty(); } | |
31482 | ||
31483 | ||
31484 | size_type | |
31485 | size() const | |
31486 | { return _M_t.size(); } | |
31487 | ||
31488 | ||
31489 | size_type | |
31490 | max_size() const | |
31491 | { return _M_t.max_size(); } | |
31492 | # 406 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31493 | iterator | |
31494 | insert(const value_type& __x) | |
31495 | { return _M_t._M_insert_equal(__x); } | |
31496 | # 430 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31497 | iterator | |
31498 | insert(iterator __position, const value_type& __x) | |
31499 | { return _M_t._M_insert_equal_(__position, __x); } | |
31500 | # 443 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31501 | template<typename _InputIterator> | |
31502 | void | |
31503 | insert(_InputIterator __first, _InputIterator __last) | |
31504 | { _M_t._M_insert_equal(__first, __last); } | |
31505 | # 458 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31506 | void | |
31507 | erase(iterator __position) | |
31508 | { _M_t.erase(__position); } | |
31509 | # 473 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31510 | size_type | |
31511 | erase(const key_type& __x) | |
31512 | { return _M_t.erase(__x); } | |
31513 | # 488 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31514 | void | |
31515 | erase(iterator __first, iterator __last) | |
31516 | { _M_t.erase(__first, __last); } | |
31517 | # 503 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31518 | void | |
31519 | ||
31520 | ||
31521 | ||
31522 | swap(multimap& __x) | |
31523 | ||
31524 | { _M_t.swap(__x._M_t); } | |
31525 | ||
31526 | ||
31527 | ||
31528 | ||
31529 | ||
31530 | ||
31531 | ||
31532 | void | |
31533 | clear() | |
31534 | { _M_t.clear(); } | |
31535 | ||
31536 | ||
31537 | ||
31538 | ||
31539 | ||
31540 | ||
31541 | key_compare | |
31542 | key_comp() const | |
31543 | { return _M_t.key_comp(); } | |
31544 | ||
31545 | ||
31546 | ||
31547 | ||
31548 | ||
31549 | value_compare | |
31550 | value_comp() const | |
31551 | { return value_compare(_M_t.key_comp()); } | |
31552 | # 550 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31553 | iterator | |
31554 | find(const key_type& __x) | |
31555 | { return _M_t.find(__x); } | |
31556 | # 565 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31557 | const_iterator | |
31558 | find(const key_type& __x) const | |
31559 | { return _M_t.find(__x); } | |
31560 | ||
31561 | ||
31562 | ||
31563 | ||
31564 | ||
31565 | ||
31566 | size_type | |
31567 | count(const key_type& __x) const | |
31568 | { return _M_t.count(__x); } | |
31569 | # 589 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31570 | iterator | |
31571 | lower_bound(const key_type& __x) | |
31572 | { return _M_t.lower_bound(__x); } | |
31573 | # 604 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31574 | const_iterator | |
31575 | lower_bound(const key_type& __x) const | |
31576 | { return _M_t.lower_bound(__x); } | |
31577 | ||
31578 | ||
31579 | ||
31580 | ||
31581 | ||
31582 | ||
31583 | ||
31584 | iterator | |
31585 | upper_bound(const key_type& __x) | |
31586 | { return _M_t.upper_bound(__x); } | |
31587 | ||
31588 | ||
31589 | ||
31590 | ||
31591 | ||
31592 | ||
31593 | ||
31594 | const_iterator | |
31595 | upper_bound(const key_type& __x) const | |
31596 | { return _M_t.upper_bound(__x); } | |
31597 | # 641 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31598 | std::pair<iterator, iterator> | |
31599 | equal_range(const key_type& __x) | |
31600 | { return _M_t.equal_range(__x); } | |
31601 | # 658 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31602 | std::pair<const_iterator, const_iterator> | |
31603 | equal_range(const key_type& __x) const | |
31604 | { return _M_t.equal_range(__x); } | |
31605 | ||
31606 | template<typename _K1, typename _T1, typename _C1, typename _A1> | |
31607 | friend bool | |
31608 | operator==(const multimap<_K1, _T1, _C1, _A1>&, | |
31609 | const multimap<_K1, _T1, _C1, _A1>&); | |
31610 | ||
31611 | template<typename _K1, typename _T1, typename _C1, typename _A1> | |
31612 | friend bool | |
31613 | operator<(const multimap<_K1, _T1, _C1, _A1>&, | |
31614 | const multimap<_K1, _T1, _C1, _A1>&); | |
31615 | }; | |
31616 | # 683 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31617 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31618 | inline bool | |
31619 | operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, | |
31620 | const multimap<_Key, _Tp, _Compare, _Alloc>& __y) | |
31621 | { return __x._M_t == __y._M_t; } | |
31622 | # 700 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31623 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31624 | inline bool | |
31625 | operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, | |
31626 | const multimap<_Key, _Tp, _Compare, _Alloc>& __y) | |
31627 | { return __x._M_t < __y._M_t; } | |
31628 | ||
31629 | ||
31630 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31631 | inline bool | |
31632 | operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, | |
31633 | const multimap<_Key, _Tp, _Compare, _Alloc>& __y) | |
31634 | { return !(__x == __y); } | |
31635 | ||
31636 | ||
31637 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31638 | inline bool | |
31639 | operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, | |
31640 | const multimap<_Key, _Tp, _Compare, _Alloc>& __y) | |
31641 | { return __y < __x; } | |
31642 | ||
31643 | ||
31644 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31645 | inline bool | |
31646 | operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, | |
31647 | const multimap<_Key, _Tp, _Compare, _Alloc>& __y) | |
31648 | { return !(__y < __x); } | |
31649 | ||
31650 | ||
31651 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31652 | inline bool | |
31653 | operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, | |
31654 | const multimap<_Key, _Tp, _Compare, _Alloc>& __y) | |
31655 | { return !(__x < __y); } | |
31656 | ||
31657 | ||
31658 | template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> | |
31659 | inline void | |
31660 | swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, | |
31661 | multimap<_Key, _Tp, _Compare, _Alloc>& __y) | |
31662 | { __x.swap(__y); } | |
31663 | # 755 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_multimap.h" 3 | |
31664 | } | |
31665 | # 68 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/map" 2 3 | |
31666 | # 51 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" 2 | |
31667 | ||
31668 | ||
31669 | ||
31670 | #undef QT_MAP_DEBUG | |
31671 | ||
31672 | ||
31673 | ||
31674 | ||
31675 | ||
31676 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
31677 | ||
31678 | struct __attribute__((visibility("default"))) QMapData | |
31679 | { | |
31680 | struct Node { | |
31681 | Node *backward; | |
31682 | Node *forward[1]; | |
31683 | }; | |
31684 | enum { LastLevel = 11, Sparseness = 3 }; | |
31685 | ||
31686 | QMapData *backward; | |
31687 | QMapData *forward[QMapData::LastLevel + 1]; | |
31688 | QBasicAtomicInt ref; | |
31689 | int topLevel; | |
31690 | int size; | |
31691 | uint randomBits; | |
31692 | uint insertInOrder : 1; | |
31693 | uint sharable : 1; | |
31694 | ||
31695 | static QMapData *createData(); | |
31696 | void continueFreeData(int offset); | |
31697 | Node *node_create(Node *update[], int offset); | |
31698 | void node_delete(Node *update[], int offset, Node *node); | |
31699 | ||
31700 | ||
31701 | ||
31702 | ||
31703 | ||
31704 | static QMapData shared_null; | |
31705 | }; | |
31706 | # 102 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" | |
31707 | template <class Key> inline bool qMapLessThanKey(const Key &key1, const Key &key2) | |
31708 | { | |
31709 | return key1 < key2; | |
31710 | } | |
31711 | ||
31712 | ||
31713 | template <class Ptr> inline bool qMapLessThanKey(Ptr *key1, Ptr *key2) | |
31714 | { | |
31715 | qt_noop(); | |
31716 | return quintptr(key1) < quintptr(key2); | |
31717 | } | |
31718 | ||
31719 | template <class Ptr> inline bool qMapLessThanKey(const Ptr *key1, const Ptr *key2) | |
31720 | { | |
31721 | qt_noop(); | |
31722 | return quintptr(key1) < quintptr(key2); | |
31723 | } | |
31724 | ||
31725 | ||
31726 | template <class Key, class T> | |
31727 | struct QMapNode { | |
31728 | Key key; | |
31729 | T value; | |
31730 | QMapData::Node *backward; | |
31731 | QMapData::Node *forward[1]; | |
31732 | }; | |
31733 | ||
31734 | template <class Key, class T> | |
31735 | struct QMapPayloadNode | |
31736 | { | |
31737 | Key key; | |
31738 | T value; | |
31739 | QMapData::Node *backward; | |
31740 | }; | |
31741 | ||
31742 | template <class Key, class T> | |
31743 | class QMap | |
31744 | { | |
31745 | typedef QMapNode<Key, T> Node; | |
31746 | typedef QMapPayloadNode<Key, T> PayloadNode; | |
31747 | ||
31748 | union { | |
31749 | QMapData *d; | |
31750 | QMapData::Node *e; | |
31751 | }; | |
31752 | ||
31753 | static inline int payload() { return sizeof(PayloadNode) - sizeof(QMapData::Node *); } | |
31754 | static inline Node *concrete(QMapData::Node *node) { | |
31755 | return reinterpret_cast<Node *>(reinterpret_cast<char *>(node) - payload()); | |
31756 | } | |
31757 | ||
31758 | public: | |
31759 | inline QMap() : d(&QMapData::shared_null) { d->ref.ref(); } | |
31760 | inline QMap(const QMap<Key, T> &other) : d(other.d) | |
31761 | { d->ref.ref(); if (!d->sharable) detach(); } | |
31762 | inline ~QMap() { if (!d) return; if (!d->ref.deref()) freeData(d); } | |
31763 | ||
31764 | QMap<Key, T> &operator=(const QMap<Key, T> &other); | |
31765 | ||
31766 | explicit QMap(const typename std::map<Key, T> &other); | |
31767 | std::map<Key, T> toStdMap() const; | |
31768 | ||
31769 | ||
31770 | bool operator==(const QMap<Key, T> &other) const; | |
31771 | inline bool operator!=(const QMap<Key, T> &other) const { return !(*this == other); } | |
31772 | ||
31773 | inline int size() const { return d->size; } | |
31774 | ||
31775 | inline bool isEmpty() const { return d->size == 0; } | |
31776 | ||
31777 | inline void detach() { if (d->ref != 1) detach_helper(); } | |
31778 | inline bool isDetached() const { return d->ref == 1; } | |
31779 | inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } | |
31780 | inline void setInsertInOrder(bool ordered) { d->insertInOrder = ordered; } | |
31781 | ||
31782 | void clear(); | |
31783 | ||
31784 | int remove(const Key &key); | |
31785 | T take(const Key &key); | |
31786 | ||
31787 | bool contains(const Key &key) const; | |
31788 | const Key key(const T &value) const; | |
31789 | const Key key(const T &value, const Key &defaultKey) const; | |
31790 | const T value(const Key &key) const; | |
31791 | const T value(const Key &key, const T &defaultValue) const; | |
31792 | T &operator[](const Key &key); | |
31793 | const T operator[](const Key &key) const; | |
31794 | ||
31795 | QList<Key> uniqueKeys() const; | |
31796 | QList<Key> keys() const; | |
31797 | QList<Key> keys(const T &value) const; | |
31798 | QList<T> values() const; | |
31799 | QList<T> values(const Key &key) const; | |
31800 | int count(const Key &key) const; | |
31801 | ||
31802 | class const_iterator; | |
31803 | ||
31804 | class iterator | |
31805 | { | |
31806 | friend class const_iterator; | |
31807 | QMapData::Node *i; | |
31808 | ||
31809 | public: | |
31810 | typedef std::bidirectional_iterator_tag iterator_category; | |
31811 | typedef ptrdiff_t difference_type; | |
31812 | typedef T value_type; | |
31813 | typedef T *pointer; | |
31814 | typedef T &reference; | |
31815 | ||
31816 | ||
31817 | inline operator QMapData::Node *() const { return i; } | |
31818 | inline iterator() : i(0) { } | |
31819 | inline iterator(QMapData::Node *node) : i(node) { } | |
31820 | ||
31821 | inline const Key &key() const { return concrete(i)->key; } | |
31822 | inline T &value() const { return concrete(i)->value; } | |
31823 | ||
31824 | ||
31825 | ||
31826 | inline T &operator*() const { return concrete(i)->value; } | |
31827 | inline T *operator->() const { return &concrete(i)->value; } | |
31828 | inline bool operator==(const iterator &o) const { return i == o.i; } | |
31829 | inline bool operator!=(const iterator &o) const { return i != o.i; } | |
31830 | ||
31831 | inline iterator &operator++() { | |
31832 | i = i->forward[0]; | |
31833 | return *this; | |
31834 | } | |
31835 | inline iterator operator++(int) { | |
31836 | iterator r = *this; | |
31837 | i = i->forward[0]; | |
31838 | return r; | |
31839 | } | |
31840 | inline iterator &operator--() { | |
31841 | i = i->backward; | |
31842 | return *this; | |
31843 | } | |
31844 | inline iterator operator--(int) { | |
31845 | iterator r = *this; | |
31846 | i = i->backward; | |
31847 | return r; | |
31848 | } | |
31849 | inline iterator operator+(int j) const | |
31850 | { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } | |
31851 | inline iterator operator-(int j) const { return operator+(-j); } | |
31852 | inline iterator &operator+=(int j) { return *this = *this + j; } | |
31853 | inline iterator &operator-=(int j) { return *this = *this - j; } | |
31854 | ||
31855 | ||
31856 | ||
31857 | ||
31858 | ||
31859 | public: | |
31860 | ||
31861 | inline bool operator==(const const_iterator &o) const | |
31862 | { return i == o.i; } | |
31863 | inline bool operator!=(const const_iterator &o) const | |
31864 | { return i != o.i; } | |
31865 | ||
31866 | private: | |
31867 | ||
31868 | inline operator bool() const { return false; } | |
31869 | }; | |
31870 | friend class iterator; | |
31871 | ||
31872 | class const_iterator | |
31873 | { | |
31874 | friend class iterator; | |
31875 | QMapData::Node *i; | |
31876 | ||
31877 | public: | |
31878 | typedef std::bidirectional_iterator_tag iterator_category; | |
31879 | typedef ptrdiff_t difference_type; | |
31880 | typedef T value_type; | |
31881 | typedef const T *pointer; | |
31882 | typedef const T &reference; | |
31883 | ||
31884 | ||
31885 | inline operator QMapData::Node *() const { return i; } | |
31886 | inline const_iterator() : i(0) { } | |
31887 | inline const_iterator(QMapData::Node *node) : i(node) { } | |
31888 | ||
31889 | ||
31890 | ||
31891 | inline const_iterator(const iterator &o) | |
31892 | ||
31893 | { i = o.i; } | |
31894 | ||
31895 | inline const Key &key() const { return concrete(i)->key; } | |
31896 | inline const T &value() const { return concrete(i)->value; } | |
31897 | ||
31898 | ||
31899 | ||
31900 | inline const T &operator*() const { return concrete(i)->value; } | |
31901 | inline const T *operator->() const { return &concrete(i)->value; } | |
31902 | inline bool operator==(const const_iterator &o) const { return i == o.i; } | |
31903 | inline bool operator!=(const const_iterator &o) const { return i != o.i; } | |
31904 | ||
31905 | inline const_iterator &operator++() { | |
31906 | i = i->forward[0]; | |
31907 | return *this; | |
31908 | } | |
31909 | inline const_iterator operator++(int) { | |
31910 | const_iterator r = *this; | |
31911 | i = i->forward[0]; | |
31912 | return r; | |
31913 | } | |
31914 | inline const_iterator &operator--() { | |
31915 | i = i->backward; | |
31916 | return *this; | |
31917 | } | |
31918 | inline const_iterator operator--(int) { | |
31919 | const_iterator r = *this; | |
31920 | i = i->backward; | |
31921 | return r; | |
31922 | } | |
31923 | inline const_iterator operator+(int j) const | |
31924 | { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } | |
31925 | inline const_iterator operator-(int j) const { return operator+(-j); } | |
31926 | inline const_iterator &operator+=(int j) { return *this = *this + j; } | |
31927 | inline const_iterator &operator-=(int j) { return *this = *this - j; } | |
31928 | # 331 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" | |
31929 | private: | |
31930 | ||
31931 | inline operator bool() const { return false; } | |
31932 | }; | |
31933 | friend class const_iterator; | |
31934 | ||
31935 | ||
31936 | inline iterator begin() { detach(); return iterator(e->forward[0]); } | |
31937 | inline const_iterator begin() const { return const_iterator(e->forward[0]); } | |
31938 | inline const_iterator constBegin() const { return const_iterator(e->forward[0]); } | |
31939 | inline iterator end() { | |
31940 | detach(); | |
31941 | return iterator(e); | |
31942 | } | |
31943 | inline const_iterator end() const { return const_iterator(e); } | |
31944 | inline const_iterator constEnd() const { return const_iterator(e); } | |
31945 | iterator erase(iterator it); | |
31946 | ||
31947 | ||
31948 | ||
31949 | ||
31950 | ||
31951 | ||
31952 | typedef iterator Iterator; | |
31953 | typedef const_iterator ConstIterator; | |
31954 | inline int count() const { return d->size; } | |
31955 | iterator find(const Key &key); | |
31956 | const_iterator find(const Key &key) const; | |
31957 | const_iterator constFind(const Key &key) const; | |
31958 | iterator lowerBound(const Key &key); | |
31959 | const_iterator lowerBound(const Key &key) const; | |
31960 | iterator upperBound(const Key &key); | |
31961 | const_iterator upperBound(const Key &key) const; | |
31962 | iterator insert(const Key &key, const T &value); | |
31963 | ||
31964 | ||
31965 | ||
31966 | iterator insertMulti(const Key &key, const T &value); | |
31967 | ||
31968 | ||
31969 | ||
31970 | QMap<Key, T> &unite(const QMap<Key, T> &other); | |
31971 | ||
31972 | ||
31973 | typedef Key key_type; | |
31974 | typedef T mapped_type; | |
31975 | typedef ptrdiff_t difference_type; | |
31976 | typedef int size_type; | |
31977 | inline bool empty() const { return isEmpty(); } | |
31978 | ||
31979 | ||
31980 | ||
31981 | ||
31982 | ||
31983 | private: | |
31984 | void detach_helper(); | |
31985 | void freeData(QMapData *d); | |
31986 | QMapData::Node *findNode(const Key &key) const; | |
31987 | QMapData::Node *mutableFindNode(QMapData::Node *update[], const Key &key) const; | |
31988 | QMapData::Node *node_create(QMapData *d, QMapData::Node *update[], const Key &key, | |
31989 | const T &value); | |
31990 | }; | |
31991 | ||
31992 | template <class Key, class T> | |
31993 | inline QMap<Key, T> &QMap<Key, T>::operator=(const QMap<Key, T> &other) | |
31994 | { | |
31995 | if (d != other.d) { | |
31996 | other.d->ref.ref(); | |
31997 | if (!d->ref.deref()) | |
31998 | freeData(d); | |
31999 | d = other.d; | |
32000 | if (!d->sharable) | |
32001 | detach_helper(); | |
32002 | } | |
32003 | return *this; | |
32004 | } | |
32005 | ||
32006 | template <class Key, class T> | |
32007 | inline void QMap<Key, T>::clear() | |
32008 | { | |
32009 | *this = QMap<Key, T>(); | |
32010 | } | |
32011 | ||
32012 | template <class Key, class T> | |
32013 | inline typename QMapData::Node * | |
32014 | QMap<Key, T>::node_create(QMapData *adt, QMapData::Node *aupdate[], const Key &akey, const T &avalue) | |
32015 | { | |
32016 | QMapData::Node *abstractNode = adt->node_create(aupdate, payload()); | |
32017 | Node *concreteNode = concrete(abstractNode); | |
32018 | new (&concreteNode->key) Key(akey); | |
32019 | new (&concreteNode->value) T(avalue); | |
32020 | return abstractNode; | |
32021 | } | |
32022 | ||
32023 | template <class Key, class T> | |
32024 | inline QMapData::Node *QMap<Key, T>::findNode(const Key &akey) const | |
32025 | { | |
32026 | QMapData::Node *cur = e; | |
32027 | QMapData::Node *next = e; | |
32028 | ||
32029 | for (int i = d->topLevel; i >= 0; i--) { | |
32030 | while ((next = cur->forward[i]) != e && qMapLessThanKey<Key>(concrete(next)->key, akey)) | |
32031 | cur = next; | |
32032 | } | |
32033 | ||
32034 | if (next != e && !qMapLessThanKey<Key>(akey, concrete(next)->key)) { | |
32035 | return next; | |
32036 | } else { | |
32037 | return e; | |
32038 | } | |
32039 | } | |
32040 | ||
32041 | template <class Key, class T> | |
32042 | inline const T QMap<Key, T>::value(const Key &akey) const | |
32043 | { | |
32044 | QMapData::Node *node; | |
32045 | if (d->size == 0 || (node = findNode(akey)) == e) { | |
32046 | return T(); | |
32047 | } else { | |
32048 | return concrete(node)->value; | |
32049 | } | |
32050 | } | |
32051 | ||
32052 | template <class Key, class T> | |
32053 | inline const T QMap<Key, T>::value(const Key &akey, const T &adefaultValue) const | |
32054 | { | |
32055 | QMapData::Node *node; | |
32056 | if (d->size == 0 || (node = findNode(akey)) == e) { | |
32057 | return adefaultValue; | |
32058 | } else { | |
32059 | return concrete(node)->value; | |
32060 | } | |
32061 | } | |
32062 | ||
32063 | template <class Key, class T> | |
32064 | inline const T QMap<Key, T>::operator[](const Key &akey) const | |
32065 | { | |
32066 | return value(akey); | |
32067 | } | |
32068 | ||
32069 | template <class Key, class T> | |
32070 | inline T &QMap<Key, T>::operator[](const Key &akey) | |
32071 | { | |
32072 | detach(); | |
32073 | ||
32074 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32075 | QMapData::Node *node = mutableFindNode(update, akey); | |
32076 | if (node == e) | |
32077 | node = node_create(d, update, akey, T()); | |
32078 | return concrete(node)->value; | |
32079 | } | |
32080 | ||
32081 | template <class Key, class T> | |
32082 | inline int QMap<Key, T>::count(const Key &akey) const | |
32083 | { | |
32084 | int cnt = 0; | |
32085 | QMapData::Node *node = findNode(akey); | |
32086 | if (node != e) { | |
32087 | do { | |
32088 | ++cnt; | |
32089 | node = node->forward[0]; | |
32090 | } while (node != e && !qMapLessThanKey<Key>(akey, concrete(node)->key)); | |
32091 | } | |
32092 | return cnt; | |
32093 | } | |
32094 | ||
32095 | template <class Key, class T> | |
32096 | inline bool QMap<Key, T>::contains(const Key &akey) const | |
32097 | { | |
32098 | return findNode(akey) != e; | |
32099 | } | |
32100 | ||
32101 | template <class Key, class T> | |
32102 | inline typename QMap<Key, T>::iterator QMap<Key, T>::insert(const Key &akey, | |
32103 | const T &avalue) | |
32104 | { | |
32105 | detach(); | |
32106 | ||
32107 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32108 | QMapData::Node *node = mutableFindNode(update, akey); | |
32109 | if (node == e) { | |
32110 | node = node_create(d, update, akey, avalue); | |
32111 | } else { | |
32112 | concrete(node)->value = avalue; | |
32113 | } | |
32114 | return iterator(node); | |
32115 | } | |
32116 | # 539 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" | |
32117 | template <class Key, class T> | |
32118 | inline typename QMap<Key, T>::iterator QMap<Key, T>::insertMulti(const Key &akey, | |
32119 | const T &avalue) | |
32120 | { | |
32121 | detach(); | |
32122 | ||
32123 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32124 | mutableFindNode(update, akey); | |
32125 | return iterator(node_create(d, update, akey, avalue)); | |
32126 | } | |
32127 | ||
32128 | template <class Key, class T> | |
32129 | inline typename QMap<Key, T>::const_iterator QMap<Key, T>::find(const Key &akey) const | |
32130 | { | |
32131 | return const_iterator(findNode(akey)); | |
32132 | } | |
32133 | ||
32134 | template <class Key, class T> | |
32135 | inline typename QMap<Key, T>::const_iterator QMap<Key, T>::constFind(const Key &akey) const | |
32136 | { | |
32137 | return const_iterator(findNode(akey)); | |
32138 | } | |
32139 | ||
32140 | template <class Key, class T> | |
32141 | inline typename QMap<Key, T>::iterator QMap<Key, T>::find(const Key &akey) | |
32142 | { | |
32143 | detach(); | |
32144 | return iterator(findNode(akey)); | |
32145 | } | |
32146 | ||
32147 | template <class Key, class T> | |
32148 | inline QMap<Key, T> &QMap<Key, T>::unite(const QMap<Key, T> &other) | |
32149 | { | |
32150 | QMap<Key, T> copy(other); | |
32151 | const_iterator it = copy.constEnd(); | |
32152 | const const_iterator b = copy.constBegin(); | |
32153 | while (it != b) { | |
32154 | --it; | |
32155 | insertMulti(it.key(), it.value()); | |
32156 | } | |
32157 | return *this; | |
32158 | } | |
32159 | ||
32160 | template <class Key, class T> | |
32161 | void QMap<Key, T>::freeData(QMapData *x) | |
32162 | { | |
32163 | if (QTypeInfo<Key>::isComplex || QTypeInfo<T>::isComplex) { | |
32164 | QMapData::Node *y = reinterpret_cast<QMapData::Node *>(x); | |
32165 | QMapData::Node *cur = y; | |
32166 | QMapData::Node *next = cur->forward[0]; | |
32167 | while (next != y) { | |
32168 | cur = next; | |
32169 | next = cur->forward[0]; | |
32170 | ||
32171 | ||
32172 | ||
32173 | Node *concreteNode = concrete(cur); | |
32174 | concreteNode->key.~Key(); | |
32175 | concreteNode->value.~T(); | |
32176 | ||
32177 | ||
32178 | ||
32179 | } | |
32180 | } | |
32181 | x->continueFreeData(payload()); | |
32182 | } | |
32183 | ||
32184 | template <class Key, class T> | |
32185 | int QMap<Key, T>::remove(const Key &akey) | |
32186 | { | |
32187 | detach(); | |
32188 | ||
32189 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32190 | QMapData::Node *cur = e; | |
32191 | QMapData::Node *next = e; | |
32192 | int oldSize = d->size; | |
32193 | ||
32194 | for (int i = d->topLevel; i >= 0; i--) { | |
32195 | while ((next = cur->forward[i]) != e && qMapLessThanKey<Key>(concrete(next)->key, akey)) | |
32196 | cur = next; | |
32197 | update[i] = cur; | |
32198 | } | |
32199 | ||
32200 | if (next != e && !qMapLessThanKey<Key>(akey, concrete(next)->key)) { | |
32201 | bool deleteNext = true; | |
32202 | do { | |
32203 | cur = next; | |
32204 | next = cur->forward[0]; | |
32205 | deleteNext = (next != e && !qMapLessThanKey<Key>(concrete(cur)->key, concrete(next)->key)); | |
32206 | concrete(cur)->key.~Key(); | |
32207 | concrete(cur)->value.~T(); | |
32208 | d->node_delete(update, payload(), cur); | |
32209 | } while (deleteNext); | |
32210 | } | |
32211 | return oldSize - d->size; | |
32212 | } | |
32213 | ||
32214 | template <class Key, class T> | |
32215 | T QMap<Key, T>::take(const Key &akey) | |
32216 | { | |
32217 | detach(); | |
32218 | ||
32219 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32220 | QMapData::Node *cur = e; | |
32221 | QMapData::Node *next = e; | |
32222 | ||
32223 | for (int i = d->topLevel; i >= 0; i--) { | |
32224 | while ((next = cur->forward[i]) != e && qMapLessThanKey<Key>(concrete(next)->key, akey)) | |
32225 | cur = next; | |
32226 | update[i] = cur; | |
32227 | } | |
32228 | ||
32229 | if (next != e && !qMapLessThanKey<Key>(akey, concrete(next)->key)) { | |
32230 | T t = concrete(next)->value; | |
32231 | concrete(next)->key.~Key(); | |
32232 | concrete(next)->value.~T(); | |
32233 | d->node_delete(update, payload(), next); | |
32234 | return t; | |
32235 | } | |
32236 | return T(); | |
32237 | } | |
32238 | ||
32239 | template <class Key, class T> | |
32240 | typename QMap<Key, T>::iterator QMap<Key, T>::erase(iterator it) | |
32241 | { | |
32242 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32243 | QMapData::Node *cur = e; | |
32244 | QMapData::Node *next = e; | |
32245 | ||
32246 | if (it == iterator(e)) | |
32247 | return it; | |
32248 | ||
32249 | for (int i = d->topLevel; i >= 0; i--) { | |
32250 | while ((next = cur->forward[i]) != e && qMapLessThanKey<Key>(concrete(next)->key, it.key())) | |
32251 | cur = next; | |
32252 | update[i] = cur; | |
32253 | } | |
32254 | ||
32255 | while (next != e) { | |
32256 | cur = next; | |
32257 | next = cur->forward[0]; | |
32258 | if (cur == it) { | |
32259 | concrete(cur)->key.~Key(); | |
32260 | concrete(cur)->value.~T(); | |
32261 | d->node_delete(update, payload(), cur); | |
32262 | return iterator(next); | |
32263 | } | |
32264 | ||
32265 | for (int i = 0; i <= d->topLevel; ++i) { | |
32266 | if (update[i]->forward[i] != cur) | |
32267 | break; | |
32268 | update[i] = cur; | |
32269 | } | |
32270 | } | |
32271 | return end(); | |
32272 | } | |
32273 | ||
32274 | template <class Key, class T> | |
32275 | void QMap<Key, T>::detach_helper() | |
32276 | { | |
32277 | union { QMapData *d; QMapData::Node *e; } x; | |
32278 | x.d = QMapData::createData(); | |
32279 | if (d->size) { | |
32280 | x.d->insertInOrder = true; | |
32281 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32282 | QMapData::Node *cur = e->forward[0]; | |
32283 | update[0] = x.e; | |
32284 | while (cur != e) { | |
32285 | Node *concreteNode = concrete(cur); | |
32286 | node_create(x.d, update, concreteNode->key, concreteNode->value); | |
32287 | cur = cur->forward[0]; | |
32288 | } | |
32289 | x.d->insertInOrder = false; | |
32290 | } | |
32291 | if (!d->ref.deref()) | |
32292 | freeData(d); | |
32293 | d = x.d; | |
32294 | } | |
32295 | ||
32296 | template <class Key, class T> | |
32297 | QMapData::Node *QMap<Key, T>::mutableFindNode(QMapData::Node *aupdate[], | |
32298 | const Key &akey) const | |
32299 | { | |
32300 | QMapData::Node *cur = e; | |
32301 | QMapData::Node *next = e; | |
32302 | ||
32303 | for (int i = d->topLevel; i >= 0; i--) { | |
32304 | while ((next = cur->forward[i]) != e && qMapLessThanKey<Key>(concrete(next)->key, akey)) | |
32305 | cur = next; | |
32306 | aupdate[i] = cur; | |
32307 | } | |
32308 | if (next != e && !qMapLessThanKey<Key>(akey, concrete(next)->key)) { | |
32309 | return next; | |
32310 | } else { | |
32311 | return e; | |
32312 | } | |
32313 | } | |
32314 | ||
32315 | template <class Key, class T> | |
32316 | QList<Key> QMap<Key, T>::uniqueKeys() const | |
32317 | { | |
32318 | QList<Key> res; | |
32319 | const_iterator i = begin(); | |
32320 | if (i != end()) { | |
32321 | for (;;) { | |
32322 | const Key &aKey = i.key(); | |
32323 | res.append(aKey); | |
32324 | do { | |
32325 | if (++i == end()) | |
32326 | goto break_out_of_outer_loop; | |
32327 | } while (!(aKey < i.key())); | |
32328 | } | |
32329 | } | |
32330 | break_out_of_outer_loop: | |
32331 | return res; | |
32332 | } | |
32333 | ||
32334 | template <class Key, class T> | |
32335 | QList<Key> QMap<Key, T>::keys() const | |
32336 | { | |
32337 | QList<Key> res; | |
32338 | const_iterator i = begin(); | |
32339 | while (i != end()) { | |
32340 | res.append(i.key()); | |
32341 | ++i; | |
32342 | } | |
32343 | return res; | |
32344 | } | |
32345 | ||
32346 | template <class Key, class T> | |
32347 | QList<Key> QMap<Key, T>::keys(const T &avalue) const | |
32348 | { | |
32349 | QList<Key> res; | |
32350 | const_iterator i = begin(); | |
32351 | while (i != end()) { | |
32352 | if (i.value() == avalue) | |
32353 | res.append(i.key()); | |
32354 | ++i; | |
32355 | } | |
32356 | return res; | |
32357 | } | |
32358 | ||
32359 | template <class Key, class T> | |
32360 | const Key QMap<Key, T>::key(const T &avalue) const | |
32361 | { | |
32362 | return key(avalue, Key()); | |
32363 | } | |
32364 | ||
32365 | template <class Key, class T> | |
32366 | const Key QMap<Key, T>::key(const T &avalue, const Key &defaultKey) const | |
32367 | { | |
32368 | const_iterator i = begin(); | |
32369 | while (i != end()) { | |
32370 | if (i.value() == avalue) | |
32371 | return i.key(); | |
32372 | ++i; | |
32373 | } | |
32374 | ||
32375 | return defaultKey; | |
32376 | } | |
32377 | ||
32378 | template <class Key, class T> | |
32379 | QList<T> QMap<Key, T>::values() const | |
32380 | { | |
32381 | QList<T> res; | |
32382 | const_iterator i = begin(); | |
32383 | while (i != end()) { | |
32384 | res.append(i.value()); | |
32385 | ++i; | |
32386 | } | |
32387 | return res; | |
32388 | } | |
32389 | ||
32390 | template <class Key, class T> | |
32391 | QList<T> QMap<Key, T>::values(const Key &akey) const | |
32392 | { | |
32393 | QList<T> res; | |
32394 | QMapData::Node *node = findNode(akey); | |
32395 | if (node != e) { | |
32396 | do { | |
32397 | res.append(concrete(node)->value); | |
32398 | node = node->forward[0]; | |
32399 | } while (node != e && !qMapLessThanKey<Key>(akey, concrete(node)->key)); | |
32400 | } | |
32401 | return res; | |
32402 | } | |
32403 | ||
32404 | template <class Key, class T> | |
32405 | inline typename QMap<Key, T>::const_iterator | |
32406 | QMap<Key, T>::lowerBound(const Key &akey) const | |
32407 | { | |
32408 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32409 | mutableFindNode(update, akey); | |
32410 | return const_iterator(update[0]->forward[0]); | |
32411 | } | |
32412 | ||
32413 | template <class Key, class T> | |
32414 | inline typename QMap<Key, T>::iterator QMap<Key, T>::lowerBound(const Key &akey) | |
32415 | { | |
32416 | detach(); | |
32417 | return static_cast<QMapData::Node *>(const_cast<const QMap *>(this)->lowerBound(akey)); | |
32418 | } | |
32419 | ||
32420 | template <class Key, class T> | |
32421 | inline typename QMap<Key, T>::const_iterator | |
32422 | QMap<Key, T>::upperBound(const Key &akey) const | |
32423 | { | |
32424 | QMapData::Node *update[QMapData::LastLevel + 1]; | |
32425 | mutableFindNode(update, akey); | |
32426 | QMapData::Node *node = update[0]->forward[0]; | |
32427 | while (node != e && !qMapLessThanKey<Key>(akey, concrete(node)->key)) | |
32428 | node = node->forward[0]; | |
32429 | return const_iterator(node); | |
32430 | } | |
32431 | ||
32432 | template <class Key, class T> | |
32433 | inline typename QMap<Key, T>::iterator QMap<Key, T>::upperBound(const Key &akey) | |
32434 | { | |
32435 | detach(); | |
32436 | return static_cast<QMapData::Node *>(const_cast<const QMap *>(this)->upperBound(akey)); | |
32437 | } | |
32438 | ||
32439 | template <class Key, class T> | |
32440 | bool QMap<Key, T>::operator==(const QMap<Key, T> &other) const | |
32441 | { | |
32442 | if (size() != other.size()) | |
32443 | return false; | |
32444 | if (d == other.d) | |
32445 | return true; | |
32446 | ||
32447 | const_iterator it1 = begin(); | |
32448 | const_iterator it2 = other.begin(); | |
32449 | ||
32450 | while (it1 != end()) { | |
32451 | if (!(it1.value() == it2.value()) || qMapLessThanKey(it1.key(), it2.key()) || qMapLessThanKey(it2.key(), it1.key())) | |
32452 | return false; | |
32453 | ++it2; | |
32454 | ++it1; | |
32455 | } | |
32456 | return true; | |
32457 | } | |
32458 | ||
32459 | ||
32460 | template <class Key, class T> | |
32461 | QMap<Key, T>::QMap(const std::map<Key, T> &other) | |
32462 | { | |
32463 | d = QMapData::createData(); | |
32464 | d->insertInOrder = true; | |
32465 | typename std::map<Key,T>::const_iterator it = other.end(); | |
32466 | while (it != other.begin()) { | |
32467 | --it; | |
32468 | insert((*it).first, (*it).second); | |
32469 | } | |
32470 | d->insertInOrder = false; | |
32471 | } | |
32472 | ||
32473 | template <class Key, class T> | |
32474 | std::map<Key, T> QMap<Key, T>::toStdMap() const | |
32475 | { | |
32476 | std::map<Key, T> map; | |
32477 | const_iterator it = end(); | |
32478 | while (it != begin()) { | |
32479 | --it; | |
32480 | map.insert(std::pair<Key, T>(it.key(), it.value())); | |
32481 | } | |
32482 | return map; | |
32483 | } | |
32484 | ||
32485 | ||
32486 | ||
32487 | template <class Key, class T> | |
32488 | class QMultiMap : public QMap<Key, T> | |
32489 | { | |
32490 | public: | |
32491 | QMultiMap() {} | |
32492 | QMultiMap(const QMap<Key, T> &other) : QMap<Key, T>(other) {} | |
32493 | ||
32494 | inline typename QMap<Key, T>::iterator replace(const Key &key, const T &value) | |
32495 | { return QMap<Key, T>::insert(key, value); } | |
32496 | inline typename QMap<Key, T>::iterator insert(const Key &key, const T &value) | |
32497 | { return QMap<Key, T>::insertMulti(key, value); } | |
32498 | ||
32499 | inline QMultiMap &operator+=(const QMultiMap &other) | |
32500 | { unite(other); return *this; } | |
32501 | inline QMultiMap operator+(const QMultiMap &other) const | |
32502 | { QMultiMap result = *this; result += other; return result; } | |
32503 | ||
32504 | ||
32505 | using QMap<Key, T>::contains; | |
32506 | using QMap<Key, T>::remove; | |
32507 | using QMap<Key, T>::count; | |
32508 | using QMap<Key, T>::find; | |
32509 | using QMap<Key, T>::constFind; | |
32510 | # 949 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qmap.h" | |
32511 | bool contains(const Key &key, const T &value) const; | |
32512 | ||
32513 | int remove(const Key &key, const T &value); | |
32514 | ||
32515 | int count(const Key &key, const T &value) const; | |
32516 | ||
32517 | typename QMap<Key, T>::iterator find(const Key &key, const T &value) { | |
32518 | typename QMap<Key, T>::iterator i(find(key)); | |
32519 | typename QMap<Key, T>::iterator end(this->end()); | |
32520 | while (i != end && !qMapLessThanKey<Key>(key, i.key())) { | |
32521 | if (i.value() == value) | |
32522 | return i; | |
32523 | ++i; | |
32524 | } | |
32525 | return end; | |
32526 | } | |
32527 | typename QMap<Key, T>::const_iterator find(const Key &key, const T &value) const { | |
32528 | typename QMap<Key, T>::const_iterator i(constFind(key)); | |
32529 | typename QMap<Key, T>::const_iterator end(QMap<Key, T>::constEnd()); | |
32530 | while (i != end && !qMapLessThanKey<Key>(key, i.key())) { | |
32531 | if (i.value() == value) | |
32532 | return i; | |
32533 | ++i; | |
32534 | } | |
32535 | return end; | |
32536 | } | |
32537 | typename QMap<Key, T>::const_iterator constFind(const Key &key, const T &value) const | |
32538 | { return find(key, value); } | |
32539 | private: | |
32540 | T &operator[](const Key &key); | |
32541 | const T operator[](const Key &key) const; | |
32542 | }; | |
32543 | ||
32544 | template <class Key, class T> | |
32545 | inline bool QMultiMap<Key, T>::contains(const Key &key, const T &value) const | |
32546 | { | |
32547 | return constFind(key, value) != QMap<Key, T>::constEnd(); | |
32548 | } | |
32549 | ||
32550 | template <class Key, class T> | |
32551 | inline int QMultiMap<Key, T>::remove(const Key &key, const T &value) | |
32552 | { | |
32553 | int n = 0; | |
32554 | typename QMap<Key, T>::iterator i(find(key)); | |
32555 | typename QMap<Key, T>::const_iterator end(QMap<Key, T>::constEnd()); | |
32556 | while (i != end && !qMapLessThanKey<Key>(key, i.key())) { | |
32557 | if (i.value() == value) { | |
32558 | i = erase(i); | |
32559 | ++n; | |
32560 | } else { | |
32561 | ++i; | |
32562 | } | |
32563 | } | |
32564 | return n; | |
32565 | } | |
32566 | ||
32567 | template <class Key, class T> | |
32568 | inline int QMultiMap<Key, T>::count(const Key &key, const T &value) const | |
32569 | { | |
32570 | int n = 0; | |
32571 | typename QMap<Key, T>::const_iterator i(constFind(key)); | |
32572 | typename QMap<Key, T>::const_iterator end(QMap<Key, T>::constEnd()); | |
32573 | while (i != end && !qMapLessThanKey<Key>(key, i.key())) { | |
32574 | if (i.value() == value) | |
32575 | ++n; | |
32576 | ++i; | |
32577 | } | |
32578 | return n; | |
32579 | } | |
32580 | ||
32581 | template <class Key, class T> class QMapIterator { typedef typename QMap<Key,T>::const_iterator const_iterator; typedef const_iterator Item; QMap<Key,T> c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QMapIterator(const QMap<Key,T> &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QMapIterator &operator=(const QMap<Key,T> &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { qt_noop(); return *n; } inline const Key &key() const { qt_noop(); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; | |
32582 | template <class Key, class T> class QMutableMapIterator { typedef typename QMap<Key,T>::iterator iterator; typedef typename QMap<Key,T>::const_iterator const_iterator; typedef iterator Item; QMap<Key,T> *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableMapIterator(QMap<Key,T> &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableMapIterator() { c->setSharable(true); } inline QMutableMapIterator &operator=(QMap<Key,T> &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { qt_noop(); return *n; } inline const T &value() const { qt_noop(); return *n; } inline const Key &key() const { qt_noop(); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; | |
32583 | ||
32584 | ||
32585 | ||
32586 | ||
32587 | # 1 "../../include/QtCore/qmap.h" 2 | |
32588 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
32589 | # 1 "../../include/QtCore/qpair.h" 1 | |
32590 | # 50 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
32591 | # 1 "../../include/QtCore/qtextstream.h" 1 | |
32592 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" 1 | |
32593 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" | |
32594 | #define QTEXTSTREAM_H | |
32595 | ||
32596 | # 1 "../../include/QtCore/qiodevice.h" 1 | |
32597 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" 2 | |
32598 | # 1 "../../include/QtCore/qstring.h" 1 | |
32599 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" 2 | |
32600 | # 1 "../../include/QtCore/qchar.h" 1 | |
32601 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" 2 | |
32602 | # 1 "../../include/QtCore/qlocale.h" 1 | |
32603 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlocale.h" 1 | |
32604 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlocale.h" | |
32605 | #define QLOCALE_H | |
32606 | ||
32607 | # 1 "../../include/QtCore/qstring.h" 1 | |
32608 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlocale.h" 2 | |
32609 | # 1 "../../include/QtCore/qobjectdefs.h" 1 | |
32610 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qlocale.h" 2 | |
32611 | ||
32612 | ||
32613 | ||
32614 | ||
32615 | ||
32616 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
32617 | ||
32618 | class QDataStream; | |
32619 | class QDate; | |
32620 | class QDateTime; | |
32621 | class QTime; | |
32622 | class QVariant; | |
32623 | class QTextStream; | |
32624 | class QTextStreamPrivate; | |
32625 | ||
32626 | class QLocale; | |
32627 | ||
32628 | ||
32629 | class __attribute__((visibility("default"))) QSystemLocale | |
32630 | { | |
32631 | public: | |
32632 | QSystemLocale(); | |
32633 | virtual ~QSystemLocale(); | |
32634 | ||
32635 | enum QueryType { | |
32636 | LanguageId, | |
32637 | CountryId, | |
32638 | DecimalPoint, | |
32639 | GroupSeparator, | |
32640 | ZeroDigit, | |
32641 | NegativeSign, | |
32642 | DateFormatLong, | |
32643 | DateFormatShort, | |
32644 | TimeFormatLong, | |
32645 | TimeFormatShort, | |
32646 | DayNameLong, | |
32647 | DayNameShort, | |
32648 | MonthNameLong, | |
32649 | MonthNameShort, | |
32650 | DateToStringLong, | |
32651 | DateToStringShort, | |
32652 | TimeToStringLong, | |
32653 | TimeToStringShort, | |
32654 | DateTimeFormatLong, | |
32655 | DateTimeFormatShort, | |
32656 | DateTimeToStringLong, | |
32657 | DateTimeToStringShort, | |
32658 | MeasurementSystem, | |
32659 | PositiveSign, | |
32660 | AMText, | |
32661 | PMText | |
32662 | }; | |
32663 | virtual QVariant query(QueryType type, QVariant in) const; | |
32664 | virtual QLocale fallbackLocale() const; | |
32665 | ||
32666 | ||
32667 | ||
32668 | ||
32669 | ||
32670 | ||
32671 | }; | |
32672 | ||
32673 | ||
32674 | struct QLocalePrivate; | |
32675 | class __attribute__((visibility("default"))) QLocale | |
32676 | { | |
32677 | public: static const QMetaObject staticMetaObject; private: | |
32678 | ||
32679 | ||
32680 | friend class QString; | |
32681 | friend class QByteArray; | |
32682 | friend class QIntValidator; | |
32683 | friend class QDoubleValidator; | |
32684 | friend class QTextStream; | |
32685 | friend class QTextStreamPrivate; | |
32686 | ||
32687 | public: | |
32688 | enum Language { | |
32689 | C = 1, | |
32690 | Abkhazian = 2, | |
32691 | Afan = 3, | |
32692 | Afar = 4, | |
32693 | Afrikaans = 5, | |
32694 | Albanian = 6, | |
32695 | Amharic = 7, | |
32696 | Arabic = 8, | |
32697 | Armenian = 9, | |
32698 | Assamese = 10, | |
32699 | Aymara = 11, | |
32700 | Azerbaijani = 12, | |
32701 | Bashkir = 13, | |
32702 | Basque = 14, | |
32703 | Bengali = 15, | |
32704 | Bhutani = 16, | |
32705 | Bihari = 17, | |
32706 | Bislama = 18, | |
32707 | Breton = 19, | |
32708 | Bulgarian = 20, | |
32709 | Burmese = 21, | |
32710 | Byelorussian = 22, | |
32711 | Cambodian = 23, | |
32712 | Catalan = 24, | |
32713 | Chinese = 25, | |
32714 | Corsican = 26, | |
32715 | Croatian = 27, | |
32716 | Czech = 28, | |
32717 | Danish = 29, | |
32718 | Dutch = 30, | |
32719 | English = 31, | |
32720 | Esperanto = 32, | |
32721 | Estonian = 33, | |
32722 | Faroese = 34, | |
32723 | FijiLanguage = 35, | |
32724 | Finnish = 36, | |
32725 | French = 37, | |
32726 | Frisian = 38, | |
32727 | Gaelic = 39, | |
32728 | Galician = 40, | |
32729 | Georgian = 41, | |
32730 | German = 42, | |
32731 | Greek = 43, | |
32732 | Greenlandic = 44, | |
32733 | Guarani = 45, | |
32734 | Gujarati = 46, | |
32735 | Hausa = 47, | |
32736 | Hebrew = 48, | |
32737 | Hindi = 49, | |
32738 | Hungarian = 50, | |
32739 | Icelandic = 51, | |
32740 | Indonesian = 52, | |
32741 | Interlingua = 53, | |
32742 | Interlingue = 54, | |
32743 | Inuktitut = 55, | |
32744 | Inupiak = 56, | |
32745 | Irish = 57, | |
32746 | Italian = 58, | |
32747 | Japanese = 59, | |
32748 | Javanese = 60, | |
32749 | Kannada = 61, | |
32750 | Kashmiri = 62, | |
32751 | Kazakh = 63, | |
32752 | Kinyarwanda = 64, | |
32753 | Kirghiz = 65, | |
32754 | Korean = 66, | |
32755 | Kurdish = 67, | |
32756 | Kurundi = 68, | |
32757 | Laothian = 69, | |
32758 | Latin = 70, | |
32759 | Latvian = 71, | |
32760 | Lingala = 72, | |
32761 | Lithuanian = 73, | |
32762 | Macedonian = 74, | |
32763 | Malagasy = 75, | |
32764 | Malay = 76, | |
32765 | Malayalam = 77, | |
32766 | Maltese = 78, | |
32767 | Maori = 79, | |
32768 | Marathi = 80, | |
32769 | Moldavian = 81, | |
32770 | Mongolian = 82, | |
32771 | NauruLanguage = 83, | |
32772 | Nepali = 84, | |
32773 | Norwegian = 85, | |
32774 | NorwegianBokmal = Norwegian, | |
32775 | Occitan = 86, | |
32776 | Oriya = 87, | |
32777 | Pashto = 88, | |
32778 | Persian = 89, | |
32779 | Polish = 90, | |
32780 | Portuguese = 91, | |
32781 | Punjabi = 92, | |
32782 | Quechua = 93, | |
32783 | RhaetoRomance = 94, | |
32784 | Romanian = 95, | |
32785 | Russian = 96, | |
32786 | Samoan = 97, | |
32787 | Sangho = 98, | |
32788 | Sanskrit = 99, | |
32789 | Serbian = 100, | |
32790 | SerboCroatian = 101, | |
32791 | Sesotho = 102, | |
32792 | Setswana = 103, | |
32793 | Shona = 104, | |
32794 | Sindhi = 105, | |
32795 | Singhalese = 106, | |
32796 | Siswati = 107, | |
32797 | Slovak = 108, | |
32798 | Slovenian = 109, | |
32799 | Somali = 110, | |
32800 | Spanish = 111, | |
32801 | Sundanese = 112, | |
32802 | Swahili = 113, | |
32803 | Swedish = 114, | |
32804 | Tagalog = 115, | |
32805 | Tajik = 116, | |
32806 | Tamil = 117, | |
32807 | Tatar = 118, | |
32808 | Telugu = 119, | |
32809 | Thai = 120, | |
32810 | Tibetan = 121, | |
32811 | Tigrinya = 122, | |
32812 | TongaLanguage = 123, | |
32813 | Tsonga = 124, | |
32814 | Turkish = 125, | |
32815 | Turkmen = 126, | |
32816 | Twi = 127, | |
32817 | Uigur = 128, | |
32818 | Ukrainian = 129, | |
32819 | Urdu = 130, | |
32820 | Uzbek = 131, | |
32821 | Vietnamese = 132, | |
32822 | Volapuk = 133, | |
32823 | Welsh = 134, | |
32824 | Wolof = 135, | |
32825 | Xhosa = 136, | |
32826 | Yiddish = 137, | |
32827 | Yoruba = 138, | |
32828 | Zhuang = 139, | |
32829 | Zulu = 140, | |
32830 | NorwegianNynorsk = 141, | |
32831 | Nynorsk = NorwegianNynorsk, | |
32832 | Bosnian = 142, | |
32833 | Divehi = 143, | |
32834 | Manx = 144, | |
32835 | Cornish = 145, | |
32836 | Akan = 146, | |
32837 | Konkani = 147, | |
32838 | Ga = 148, | |
32839 | Igbo = 149, | |
32840 | Kamba = 150, | |
32841 | Syriac = 151, | |
32842 | Blin = 152, | |
32843 | Geez = 153, | |
32844 | Koro = 154, | |
32845 | Sidamo = 155, | |
32846 | Atsam = 156, | |
32847 | Tigre = 157, | |
32848 | Jju = 158, | |
32849 | Friulian = 159, | |
32850 | Venda = 160, | |
32851 | Ewe = 161, | |
32852 | Walamo = 162, | |
32853 | Hawaiian = 163, | |
32854 | Tyap = 164, | |
32855 | Chewa = 165, | |
32856 | LastLanguage = Chewa | |
32857 | }; | |
32858 | ||
32859 | enum Country { | |
32860 | AnyCountry = 0, | |
32861 | Afghanistan = 1, | |
32862 | Albania = 2, | |
32863 | Algeria = 3, | |
32864 | AmericanSamoa = 4, | |
32865 | Andorra = 5, | |
32866 | Angola = 6, | |
32867 | Anguilla = 7, | |
32868 | Antarctica = 8, | |
32869 | AntiguaAndBarbuda = 9, | |
32870 | Argentina = 10, | |
32871 | Armenia = 11, | |
32872 | Aruba = 12, | |
32873 | Australia = 13, | |
32874 | Austria = 14, | |
32875 | Azerbaijan = 15, | |
32876 | Bahamas = 16, | |
32877 | Bahrain = 17, | |
32878 | Bangladesh = 18, | |
32879 | Barbados = 19, | |
32880 | Belarus = 20, | |
32881 | Belgium = 21, | |
32882 | Belize = 22, | |
32883 | Benin = 23, | |
32884 | Bermuda = 24, | |
32885 | Bhutan = 25, | |
32886 | Bolivia = 26, | |
32887 | BosniaAndHerzegowina = 27, | |
32888 | Botswana = 28, | |
32889 | BouvetIsland = 29, | |
32890 | Brazil = 30, | |
32891 | BritishIndianOceanTerritory = 31, | |
32892 | BruneiDarussalam = 32, | |
32893 | Bulgaria = 33, | |
32894 | BurkinaFaso = 34, | |
32895 | Burundi = 35, | |
32896 | Cambodia = 36, | |
32897 | Cameroon = 37, | |
32898 | Canada = 38, | |
32899 | CapeVerde = 39, | |
32900 | CaymanIslands = 40, | |
32901 | CentralAfricanRepublic = 41, | |
32902 | Chad = 42, | |
32903 | Chile = 43, | |
32904 | China = 44, | |
32905 | ChristmasIsland = 45, | |
32906 | CocosIslands = 46, | |
32907 | Colombia = 47, | |
32908 | Comoros = 48, | |
32909 | DemocraticRepublicOfCongo = 49, | |
32910 | PeoplesRepublicOfCongo = 50, | |
32911 | CookIslands = 51, | |
32912 | CostaRica = 52, | |
32913 | IvoryCoast = 53, | |
32914 | Croatia = 54, | |
32915 | Cuba = 55, | |
32916 | Cyprus = 56, | |
32917 | CzechRepublic = 57, | |
32918 | Denmark = 58, | |
32919 | Djibouti = 59, | |
32920 | Dominica = 60, | |
32921 | DominicanRepublic = 61, | |
32922 | EastTimor = 62, | |
32923 | Ecuador = 63, | |
32924 | Egypt = 64, | |
32925 | ElSalvador = 65, | |
32926 | EquatorialGuinea = 66, | |
32927 | Eritrea = 67, | |
32928 | Estonia = 68, | |
32929 | Ethiopia = 69, | |
32930 | FalklandIslands = 70, | |
32931 | FaroeIslands = 71, | |
32932 | FijiCountry = 72, | |
32933 | Finland = 73, | |
32934 | France = 74, | |
32935 | MetropolitanFrance = 75, | |
32936 | FrenchGuiana = 76, | |
32937 | FrenchPolynesia = 77, | |
32938 | FrenchSouthernTerritories = 78, | |
32939 | Gabon = 79, | |
32940 | Gambia = 80, | |
32941 | Georgia = 81, | |
32942 | Germany = 82, | |
32943 | Ghana = 83, | |
32944 | Gibraltar = 84, | |
32945 | Greece = 85, | |
32946 | Greenland = 86, | |
32947 | Grenada = 87, | |
32948 | Guadeloupe = 88, | |
32949 | Guam = 89, | |
32950 | Guatemala = 90, | |
32951 | Guinea = 91, | |
32952 | GuineaBissau = 92, | |
32953 | Guyana = 93, | |
32954 | Haiti = 94, | |
32955 | HeardAndMcDonaldIslands = 95, | |
32956 | Honduras = 96, | |
32957 | HongKong = 97, | |
32958 | Hungary = 98, | |
32959 | Iceland = 99, | |
32960 | India = 100, | |
32961 | Indonesia = 101, | |
32962 | Iran = 102, | |
32963 | Iraq = 103, | |
32964 | Ireland = 104, | |
32965 | Israel = 105, | |
32966 | Italy = 106, | |
32967 | Jamaica = 107, | |
32968 | Japan = 108, | |
32969 | Jordan = 109, | |
32970 | Kazakhstan = 110, | |
32971 | Kenya = 111, | |
32972 | Kiribati = 112, | |
32973 | DemocraticRepublicOfKorea = 113, | |
32974 | RepublicOfKorea = 114, | |
32975 | Kuwait = 115, | |
32976 | Kyrgyzstan = 116, | |
32977 | Lao = 117, | |
32978 | Latvia = 118, | |
32979 | Lebanon = 119, | |
32980 | Lesotho = 120, | |
32981 | Liberia = 121, | |
32982 | LibyanArabJamahiriya = 122, | |
32983 | Liechtenstein = 123, | |
32984 | Lithuania = 124, | |
32985 | Luxembourg = 125, | |
32986 | Macau = 126, | |
32987 | Macedonia = 127, | |
32988 | Madagascar = 128, | |
32989 | Malawi = 129, | |
32990 | Malaysia = 130, | |
32991 | Maldives = 131, | |
32992 | Mali = 132, | |
32993 | Malta = 133, | |
32994 | MarshallIslands = 134, | |
32995 | Martinique = 135, | |
32996 | Mauritania = 136, | |
32997 | Mauritius = 137, | |
32998 | Mayotte = 138, | |
32999 | Mexico = 139, | |
33000 | Micronesia = 140, | |
33001 | Moldova = 141, | |
33002 | Monaco = 142, | |
33003 | Mongolia = 143, | |
33004 | Montserrat = 144, | |
33005 | Morocco = 145, | |
33006 | Mozambique = 146, | |
33007 | Myanmar = 147, | |
33008 | Namibia = 148, | |
33009 | NauruCountry = 149, | |
33010 | Nepal = 150, | |
33011 | Netherlands = 151, | |
33012 | NetherlandsAntilles = 152, | |
33013 | NewCaledonia = 153, | |
33014 | NewZealand = 154, | |
33015 | Nicaragua = 155, | |
33016 | Niger = 156, | |
33017 | Nigeria = 157, | |
33018 | Niue = 158, | |
33019 | NorfolkIsland = 159, | |
33020 | NorthernMarianaIslands = 160, | |
33021 | Norway = 161, | |
33022 | Oman = 162, | |
33023 | Pakistan = 163, | |
33024 | Palau = 164, | |
33025 | PalestinianTerritory = 165, | |
33026 | Panama = 166, | |
33027 | PapuaNewGuinea = 167, | |
33028 | Paraguay = 168, | |
33029 | Peru = 169, | |
33030 | Philippines = 170, | |
33031 | Pitcairn = 171, | |
33032 | Poland = 172, | |
33033 | Portugal = 173, | |
33034 | PuertoRico = 174, | |
33035 | Qatar = 175, | |
33036 | Reunion = 176, | |
33037 | Romania = 177, | |
33038 | RussianFederation = 178, | |
33039 | Rwanda = 179, | |
33040 | SaintKittsAndNevis = 180, | |
33041 | StLucia = 181, | |
33042 | StVincentAndTheGrenadines = 182, | |
33043 | Samoa = 183, | |
33044 | SanMarino = 184, | |
33045 | SaoTomeAndPrincipe = 185, | |
33046 | SaudiArabia = 186, | |
33047 | Senegal = 187, | |
33048 | Seychelles = 188, | |
33049 | SierraLeone = 189, | |
33050 | Singapore = 190, | |
33051 | Slovakia = 191, | |
33052 | Slovenia = 192, | |
33053 | SolomonIslands = 193, | |
33054 | Somalia = 194, | |
33055 | SouthAfrica = 195, | |
33056 | SouthGeorgiaAndTheSouthSandwichIslands = 196, | |
33057 | Spain = 197, | |
33058 | SriLanka = 198, | |
33059 | StHelena = 199, | |
33060 | StPierreAndMiquelon = 200, | |
33061 | Sudan = 201, | |
33062 | Suriname = 202, | |
33063 | SvalbardAndJanMayenIslands = 203, | |
33064 | Swaziland = 204, | |
33065 | Sweden = 205, | |
33066 | Switzerland = 206, | |
33067 | SyrianArabRepublic = 207, | |
33068 | Taiwan = 208, | |
33069 | Tajikistan = 209, | |
33070 | Tanzania = 210, | |
33071 | Thailand = 211, | |
33072 | Togo = 212, | |
33073 | Tokelau = 213, | |
33074 | TongaCountry = 214, | |
33075 | TrinidadAndTobago = 215, | |
33076 | Tunisia = 216, | |
33077 | Turkey = 217, | |
33078 | Turkmenistan = 218, | |
33079 | TurksAndCaicosIslands = 219, | |
33080 | Tuvalu = 220, | |
33081 | Uganda = 221, | |
33082 | Ukraine = 222, | |
33083 | UnitedArabEmirates = 223, | |
33084 | UnitedKingdom = 224, | |
33085 | UnitedStates = 225, | |
33086 | UnitedStatesMinorOutlyingIslands = 226, | |
33087 | Uruguay = 227, | |
33088 | Uzbekistan = 228, | |
33089 | Vanuatu = 229, | |
33090 | VaticanCityState = 230, | |
33091 | Venezuela = 231, | |
33092 | VietNam = 232, | |
33093 | BritishVirginIslands = 233, | |
33094 | USVirginIslands = 234, | |
33095 | WallisAndFutunaIslands = 235, | |
33096 | WesternSahara = 236, | |
33097 | Yemen = 237, | |
33098 | Yugoslavia = 238, | |
33099 | Zambia = 239, | |
33100 | Zimbabwe = 240, | |
33101 | SerbiaAndMontenegro = 241, | |
33102 | LastCountry = SerbiaAndMontenegro | |
33103 | }; | |
33104 | ||
33105 | enum MeasurementSystem { MetricSystem, ImperialSystem }; | |
33106 | ||
33107 | enum FormatType { LongFormat, ShortFormat, NarrowFormat }; | |
33108 | enum NumberOption { | |
33109 | OmitGroupSeparator = 0x01, | |
33110 | RejectGroupSeparator = 0x02 | |
33111 | }; | |
33112 | typedef QFlags<NumberOption> NumberOptions; | |
33113 | ||
33114 | QLocale(); | |
33115 | QLocale(const QString &name); | |
33116 | QLocale(Language language, Country country = AnyCountry); | |
33117 | QLocale(const QLocale &other); | |
33118 | ||
33119 | QLocale &operator=(const QLocale &other); | |
33120 | ||
33121 | Language language() const; | |
33122 | Country country() const; | |
33123 | QString name() const; | |
33124 | ||
33125 | short toShort(const QString &s, bool *ok = 0, int base = 0) const; | |
33126 | ushort toUShort(const QString &s, bool *ok = 0, int base = 0) const; | |
33127 | int toInt(const QString &s, bool *ok = 0, int base = 0) const; | |
33128 | uint toUInt(const QString &s, bool *ok = 0, int base = 0) const; | |
33129 | qlonglong toLongLong(const QString &s, bool *ok = 0, int base = 0) const; | |
33130 | qlonglong toULongLong(const QString &s, bool *ok = 0, int base = 0) const; | |
33131 | float toFloat(const QString &s, bool *ok = 0) const; | |
33132 | double toDouble(const QString &s, bool *ok = 0) const; | |
33133 | ||
33134 | QString toString(qlonglong i) const; | |
33135 | QString toString(qulonglong i) const; | |
33136 | inline QString toString(short i) const; | |
33137 | inline QString toString(ushort i) const; | |
33138 | inline QString toString(int i) const; | |
33139 | inline QString toString(uint i) const; | |
33140 | QString toString(double i, char f = 'g', int prec = 6) const; | |
33141 | inline QString toString(float i, char f = 'g', int prec = 6) const; | |
33142 | QString toString(const QDate &date, const QString &formatStr) const; | |
33143 | QString toString(const QDate &date, FormatType format = LongFormat) const; | |
33144 | QString toString(const QTime &time, const QString &formatStr) const; | |
33145 | QString toString(const QTime &time, FormatType format = LongFormat) const; | |
33146 | QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const; | |
33147 | QString toString(const QDateTime &dateTime, const QString &format) const; | |
33148 | ||
33149 | QString dateFormat(FormatType format = LongFormat) const; | |
33150 | QString timeFormat(FormatType format = LongFormat) const; | |
33151 | QString dateTimeFormat(FormatType format = LongFormat) const; | |
33152 | ||
33153 | QDate toDate(const QString &string, FormatType = LongFormat) const; | |
33154 | QTime toTime(const QString &string, FormatType = LongFormat) const; | |
33155 | QDateTime toDateTime(const QString &string, FormatType format = LongFormat) const; | |
33156 | QDate toDate(const QString &string, const QString &format) const; | |
33157 | QTime toTime(const QString &string, const QString &format) const; | |
33158 | QDateTime toDateTime(const QString &string, const QString &format) const; | |
33159 | ||
33160 | ||
33161 | ||
33162 | ||
33163 | QChar decimalPoint() const; | |
33164 | QChar groupSeparator() const; | |
33165 | QChar percent() const; | |
33166 | QChar zeroDigit() const; | |
33167 | QChar negativeSign() const; | |
33168 | QChar positiveSign() const; | |
33169 | QChar exponential() const; | |
33170 | ||
33171 | QString monthName(int, FormatType format = LongFormat) const; | |
33172 | QString standaloneMonthName(int, FormatType format = LongFormat) const; | |
33173 | QString dayName(int, FormatType format = LongFormat) const; | |
33174 | QString standaloneDayName(int, FormatType format = LongFormat) const; | |
33175 | ||
33176 | QString amText() const; | |
33177 | QString pmText() const; | |
33178 | ||
33179 | MeasurementSystem measurementSystem() const; | |
33180 | ||
33181 | inline bool operator==(const QLocale &other) const; | |
33182 | inline bool operator!=(const QLocale &other) const; | |
33183 | ||
33184 | static QString languageToString(Language language); | |
33185 | static QString countryToString(Country country); | |
33186 | static void setDefault(const QLocale &locale); | |
33187 | ||
33188 | static QLocale c() { return QLocale(C); } | |
33189 | static QLocale system(); | |
33190 | ||
33191 | static QList<Country> countriesForLanguage(Language lang); | |
33192 | ||
33193 | void setNumberOptions(NumberOptions options); | |
33194 | NumberOptions numberOptions() const; | |
33195 | ||
33196 | ||
33197 | struct Data { | |
33198 | quint16 index; | |
33199 | quint16 numberOptions; | |
33200 | } | |
33201 | ||
33202 | ||
33203 | ||
33204 | ; | |
33205 | private: | |
33206 | friend struct QLocalePrivate; | |
33207 | ||
33208 | ||
33209 | union { | |
33210 | void *v; | |
33211 | Data p; | |
33212 | }; | |
33213 | const QLocalePrivate *d() const; | |
33214 | }; | |
33215 | template <> class QTypeInfo<QLocale> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QLocale)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QLocale"; } }; | |
33216 | inline QFlags<QLocale::NumberOptions::enum_type> operator|(QLocale::NumberOptions::enum_type f1, QLocale::NumberOptions::enum_type f2) { return QFlags<QLocale::NumberOptions::enum_type>(f1) | f2; } inline QFlags<QLocale::NumberOptions::enum_type> operator|(QLocale::NumberOptions::enum_type f1, QFlags<QLocale::NumberOptions::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QLocale::NumberOptions::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
33217 | ||
33218 | inline QString QLocale::toString(short i) const | |
33219 | { return toString(qlonglong(i)); } | |
33220 | inline QString QLocale::toString(ushort i) const | |
33221 | { return toString(qulonglong(i)); } | |
33222 | inline QString QLocale::toString(int i) const | |
33223 | { return toString(qlonglong(i)); } | |
33224 | inline QString QLocale::toString(uint i) const | |
33225 | { return toString(qulonglong(i)); } | |
33226 | inline QString QLocale::toString(float i, char f, int prec) const | |
33227 | { return toString(double(i), f, prec); } | |
33228 | inline bool QLocale::operator==(const QLocale &other) const | |
33229 | { return d() == other.d() && numberOptions() == other.numberOptions(); } | |
33230 | inline bool QLocale::operator!=(const QLocale &other) const | |
33231 | { return d() != other.d() || numberOptions() != other.numberOptions(); } | |
33232 | ||
33233 | ||
33234 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLocale &); | |
33235 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLocale &); | |
33236 | ||
33237 | ||
33238 | ||
33239 | ||
33240 | ||
33241 | # 1 "../../include/QtCore/qlocale.h" 2 | |
33242 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" 2 | |
33243 | # 62 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" | |
33244 | ||
33245 | ||
33246 | ||
33247 | ||
33248 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
33249 | ||
33250 | class QTextCodec; | |
33251 | class QTextDecoder; | |
33252 | ||
33253 | class QTextStreamPrivate; | |
33254 | class __attribute__((visibility("default"))) QTextStream | |
33255 | { | |
33256 | inline QTextStreamPrivate* d_func() { return reinterpret_cast<QTextStreamPrivate *>(d_ptr); } inline const QTextStreamPrivate* d_func() const { return reinterpret_cast<const QTextStreamPrivate *>(d_ptr); } friend class QTextStreamPrivate; | |
33257 | ||
33258 | public: | |
33259 | enum RealNumberNotation { | |
33260 | SmartNotation, | |
33261 | FixedNotation, | |
33262 | ScientificNotation | |
33263 | }; | |
33264 | enum FieldAlignment { | |
33265 | AlignLeft, | |
33266 | AlignRight, | |
33267 | AlignCenter, | |
33268 | AlignAccountingStyle | |
33269 | }; | |
33270 | enum Status { | |
33271 | Ok, | |
33272 | ReadPastEnd, | |
33273 | ReadCorruptData | |
33274 | }; | |
33275 | enum NumberFlag { | |
33276 | ShowBase = 0x1, | |
33277 | ForcePoint = 0x2, | |
33278 | ForceSign = 0x4, | |
33279 | UppercaseBase = 0x8, | |
33280 | UppercaseDigits = 0x10 | |
33281 | }; | |
33282 | typedef QFlags<NumberFlag> NumberFlags; | |
33283 | ||
33284 | QTextStream(); | |
33285 | explicit QTextStream(QIODevice *device); | |
33286 | explicit QTextStream(FILE *fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite); | |
33287 | explicit QTextStream(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); | |
33288 | explicit QTextStream(QByteArray *array, QIODevice::OpenMode openMode = QIODevice::ReadWrite); | |
33289 | explicit QTextStream(const QByteArray &array, QIODevice::OpenMode openMode = QIODevice::ReadOnly); | |
33290 | virtual ~QTextStream(); | |
33291 | ||
33292 | ||
33293 | void setCodec(QTextCodec *codec); | |
33294 | void setCodec(const char *codecName); | |
33295 | QTextCodec *codec() const; | |
33296 | void setAutoDetectUnicode(bool enabled); | |
33297 | bool autoDetectUnicode() const; | |
33298 | void setGenerateByteOrderMark(bool generate); | |
33299 | bool generateByteOrderMark() const; | |
33300 | ||
33301 | ||
33302 | void setLocale(const QLocale &locale); | |
33303 | QLocale locale() const; | |
33304 | ||
33305 | void setDevice(QIODevice *device); | |
33306 | QIODevice *device() const; | |
33307 | ||
33308 | void setString(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); | |
33309 | QString *string() const; | |
33310 | ||
33311 | Status status() const; | |
33312 | void setStatus(Status status); | |
33313 | void resetStatus(); | |
33314 | ||
33315 | bool atEnd() const; | |
33316 | void reset(); | |
33317 | void flush(); | |
33318 | bool seek(qint64 pos); | |
33319 | qint64 pos() const; | |
33320 | ||
33321 | void skipWhiteSpace(); | |
33322 | ||
33323 | QString readLine(qint64 maxlen = 0); | |
33324 | QString readAll(); | |
33325 | QString read(qint64 maxlen); | |
33326 | ||
33327 | void setFieldAlignment(FieldAlignment alignment); | |
33328 | FieldAlignment fieldAlignment() const; | |
33329 | ||
33330 | void setPadChar(QChar ch); | |
33331 | QChar padChar() const; | |
33332 | ||
33333 | void setFieldWidth(int width); | |
33334 | int fieldWidth() const; | |
33335 | ||
33336 | void setNumberFlags(NumberFlags flags); | |
33337 | NumberFlags numberFlags() const; | |
33338 | ||
33339 | void setIntegerBase(int base); | |
33340 | int integerBase() const; | |
33341 | ||
33342 | void setRealNumberNotation(RealNumberNotation notation); | |
33343 | RealNumberNotation realNumberNotation() const; | |
33344 | ||
33345 | void setRealNumberPrecision(int precision); | |
33346 | int realNumberPrecision() const; | |
33347 | ||
33348 | QTextStream &operator>>(QChar &ch); | |
33349 | QTextStream &operator>>(char &ch); | |
33350 | QTextStream &operator>>(signed short &i); | |
33351 | QTextStream &operator>>(unsigned short &i); | |
33352 | QTextStream &operator>>(signed int &i); | |
33353 | QTextStream &operator>>(unsigned int &i); | |
33354 | QTextStream &operator>>(signed long &i); | |
33355 | QTextStream &operator>>(unsigned long &i); | |
33356 | QTextStream &operator>>(qlonglong &i); | |
33357 | QTextStream &operator>>(qulonglong &i); | |
33358 | QTextStream &operator>>(float &f); | |
33359 | QTextStream &operator>>(double &f); | |
33360 | QTextStream &operator>>(QString &s); | |
33361 | QTextStream &operator>>(QByteArray &array); | |
33362 | QTextStream &operator>>(char *c); | |
33363 | ||
33364 | QTextStream &operator<<(QBool b); | |
33365 | QTextStream &operator<<(QChar ch); | |
33366 | QTextStream &operator<<(char ch); | |
33367 | QTextStream &operator<<(signed short i); | |
33368 | QTextStream &operator<<(unsigned short i); | |
33369 | QTextStream &operator<<(signed int i); | |
33370 | QTextStream &operator<<(unsigned int i); | |
33371 | QTextStream &operator<<(signed long i); | |
33372 | QTextStream &operator<<(unsigned long i); | |
33373 | QTextStream &operator<<(qlonglong i); | |
33374 | QTextStream &operator<<(qulonglong i); | |
33375 | QTextStream &operator<<(float f); | |
33376 | QTextStream &operator<<(double f); | |
33377 | QTextStream &operator<<(const QString &s); | |
33378 | QTextStream &operator<<(const QByteArray &array); | |
33379 | QTextStream &operator<<(const char *c); | |
33380 | QTextStream &operator<<(const void *ptr); | |
33381 | # 251 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" | |
33382 | private: | |
33383 | ||
33384 | ||
33385 | ||
33386 | ||
33387 | ||
33388 | QTextStream(const QTextStream &); QTextStream &operator=(const QTextStream &); | |
33389 | ||
33390 | QTextStreamPrivate *d_ptr; | |
33391 | }; | |
33392 | ||
33393 | inline QFlags<QTextStream::NumberFlags::enum_type> operator|(QTextStream::NumberFlags::enum_type f1, QTextStream::NumberFlags::enum_type f2) { return QFlags<QTextStream::NumberFlags::enum_type>(f1) | f2; } inline QFlags<QTextStream::NumberFlags::enum_type> operator|(QTextStream::NumberFlags::enum_type f1, QFlags<QTextStream::NumberFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QTextStream::NumberFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
33394 | ||
33395 | ||
33396 | ||
33397 | ||
33398 | ||
33399 | typedef QTextStream & (*QTextStreamFunction)(QTextStream &); | |
33400 | typedef void (QTextStream::*QTSMFI)(int); | |
33401 | typedef void (QTextStream::*QTSMFC)(QChar); | |
33402 | ||
33403 | class __attribute__((visibility("default"))) QTextStreamManipulator | |
33404 | { | |
33405 | public: | |
33406 | QTextStreamManipulator(QTSMFI m, int a) { mf = m; mc = 0; arg = a; } | |
33407 | QTextStreamManipulator(QTSMFC m, QChar c) { mf = 0; mc = m; ch = c; } | |
33408 | void exec(QTextStream &s) { if (mf) { (s.*mf)(arg); } else { (s.*mc)(ch); } } | |
33409 | ||
33410 | private: | |
33411 | QTSMFI mf; | |
33412 | QTSMFC mc; | |
33413 | int arg; | |
33414 | QChar ch; | |
33415 | }; | |
33416 | ||
33417 | inline QTextStream &operator>>(QTextStream &s, QTextStreamFunction f) | |
33418 | { return (*f)(s); } | |
33419 | ||
33420 | inline QTextStream &operator<<(QTextStream &s, QTextStreamFunction f) | |
33421 | { return (*f)(s); } | |
33422 | ||
33423 | inline QTextStream &operator<<(QTextStream &s, QTextStreamManipulator m) | |
33424 | { m.exec(s); return s; } | |
33425 | ||
33426 | __attribute__((visibility("default"))) QTextStream &bin(QTextStream &s); | |
33427 | __attribute__((visibility("default"))) QTextStream &oct(QTextStream &s); | |
33428 | __attribute__((visibility("default"))) QTextStream &dec(QTextStream &s); | |
33429 | __attribute__((visibility("default"))) QTextStream &hex(QTextStream &s); | |
33430 | ||
33431 | __attribute__((visibility("default"))) QTextStream &showbase(QTextStream &s); | |
33432 | __attribute__((visibility("default"))) QTextStream &forcesign(QTextStream &s); | |
33433 | __attribute__((visibility("default"))) QTextStream &forcepoint(QTextStream &s); | |
33434 | __attribute__((visibility("default"))) QTextStream &noshowbase(QTextStream &s); | |
33435 | __attribute__((visibility("default"))) QTextStream &noforcesign(QTextStream &s); | |
33436 | __attribute__((visibility("default"))) QTextStream &noforcepoint(QTextStream &s); | |
33437 | ||
33438 | __attribute__((visibility("default"))) QTextStream &uppercasebase(QTextStream &s); | |
33439 | __attribute__((visibility("default"))) QTextStream &uppercasedigits(QTextStream &s); | |
33440 | __attribute__((visibility("default"))) QTextStream &lowercasebase(QTextStream &s); | |
33441 | __attribute__((visibility("default"))) QTextStream &lowercasedigits(QTextStream &s); | |
33442 | ||
33443 | __attribute__((visibility("default"))) QTextStream &fixed(QTextStream &s); | |
33444 | __attribute__((visibility("default"))) QTextStream &scientific(QTextStream &s); | |
33445 | ||
33446 | __attribute__((visibility("default"))) QTextStream &left(QTextStream &s); | |
33447 | __attribute__((visibility("default"))) QTextStream &right(QTextStream &s); | |
33448 | __attribute__((visibility("default"))) QTextStream ¢er(QTextStream &s); | |
33449 | ||
33450 | __attribute__((visibility("default"))) QTextStream &endl(QTextStream &s); | |
33451 | __attribute__((visibility("default"))) QTextStream &flush(QTextStream &s); | |
33452 | __attribute__((visibility("default"))) QTextStream &reset(QTextStream &s); | |
33453 | ||
33454 | __attribute__((visibility("default"))) QTextStream &bom(QTextStream &s); | |
33455 | ||
33456 | __attribute__((visibility("default"))) QTextStream &ws(QTextStream &s); | |
33457 | ||
33458 | inline QTextStreamManipulator qSetFieldWidth(int width) | |
33459 | { | |
33460 | QTSMFI func = &QTextStream::setFieldWidth; | |
33461 | return QTextStreamManipulator(func,width); | |
33462 | } | |
33463 | ||
33464 | inline QTextStreamManipulator qSetPadChar(QChar ch) | |
33465 | { | |
33466 | QTSMFC func = &QTextStream::setPadChar; | |
33467 | return QTextStreamManipulator(func, ch); | |
33468 | } | |
33469 | ||
33470 | inline QTextStreamManipulator qSetRealNumberPrecision(int precision) | |
33471 | { | |
33472 | QTSMFI func = &QTextStream::setRealNumberPrecision; | |
33473 | return QTextStreamManipulator(func, precision); | |
33474 | } | |
33475 | # 371 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qtextstream.h" | |
33476 | ||
33477 | ||
33478 | ||
33479 | # 1 "../../include/QtCore/qtextstream.h" 2 | |
33480 | # 51 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
33481 | # 1 "../../include/QtCore/qstring.h" 1 | |
33482 | # 52 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
33483 | # 1 "../../include/QtCore/qvector.h" 1 | |
33484 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" 1 | |
33485 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" | |
33486 | #define QVECTOR_H | |
33487 | ||
33488 | # 1 "../../include/QtCore/qiterator.h" 1 | |
33489 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" 2 | |
33490 | # 1 "../../include/QtCore/qatomic.h" 1 | |
33491 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" 2 | |
33492 | # 1 "../../include/QtCore/qalgorithms.h" 1 | |
33493 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" 2 | |
33494 | # 1 "../../include/QtCore/qlist.h" 1 | |
33495 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" 2 | |
33496 | ||
33497 | ||
33498 | ||
33499 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 1 3 | |
33500 | # 62 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 3 | |
33501 | #define _GLIBCXX_VECTOR 1 | |
33502 | ||
33503 | ||
33504 | # 65 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 3 | |
33505 | ||
33506 | ||
33507 | ||
33508 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_construct.h" 1 3 | |
33509 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_construct.h" 3 | |
33510 | #define _STL_CONSTRUCT_H 1 | |
33511 | ||
33512 | ||
33513 | ||
33514 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
33515 | ||
33516 | ||
33517 | ||
33518 | ||
33519 | ||
33520 | template<typename _T1, typename _T2> | |
33521 | inline void | |
33522 | _Construct(_T1* __p, const _T2& __value) | |
33523 | { | |
33524 | ||
33525 | ||
33526 | ::new(static_cast<void*>(__p)) _T1(__value); | |
33527 | } | |
33528 | ||
33529 | ||
33530 | ||
33531 | ||
33532 | template<typename _Tp> | |
33533 | inline void | |
33534 | _Destroy(_Tp* __pointer) | |
33535 | { __pointer->~_Tp(); } | |
33536 | ||
33537 | ||
33538 | ||
33539 | ||
33540 | ||
33541 | ||
33542 | template<typename _ForwardIterator> | |
33543 | inline void | |
33544 | _Destroy(_ForwardIterator __first, _ForwardIterator __last) | |
33545 | { | |
33546 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
33547 | _Value_type; | |
33548 | if (!__has_trivial_destructor(_Value_type)) | |
33549 | for (; __first != __last; ++__first) | |
33550 | std::_Destroy(&*__first); | |
33551 | } | |
33552 | ||
33553 | ||
33554 | ||
33555 | ||
33556 | ||
33557 | ||
33558 | ||
33559 | template <typename _Tp> class allocator; | |
33560 | ||
33561 | template<typename _ForwardIterator, typename _Allocator> | |
33562 | void | |
33563 | _Destroy(_ForwardIterator __first, _ForwardIterator __last, | |
33564 | _Allocator& __alloc) | |
33565 | { | |
33566 | for (; __first != __last; ++__first) | |
33567 | __alloc.destroy(&*__first); | |
33568 | } | |
33569 | ||
33570 | template<typename _ForwardIterator, typename _Tp> | |
33571 | inline void | |
33572 | _Destroy(_ForwardIterator __first, _ForwardIterator __last, | |
33573 | allocator<_Tp>&) | |
33574 | { | |
33575 | _Destroy(__first, __last); | |
33576 | } | |
33577 | ||
33578 | } | |
33579 | # 69 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 2 3 | |
33580 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_uninitialized.h" 1 3 | |
33581 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_uninitialized.h" 3 | |
33582 | #define _STL_UNINITIALIZED_H 1 | |
33583 | ||
33584 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
33585 | ||
33586 | template<bool> | |
33587 | struct __uninitialized_copy | |
33588 | { | |
33589 | template<typename _InputIterator, typename _ForwardIterator> | |
33590 | static _ForwardIterator | |
33591 | uninitialized_copy(_InputIterator __first, _InputIterator __last, | |
33592 | _ForwardIterator __result) | |
33593 | { | |
33594 | _ForwardIterator __cur = __result; | |
33595 | try | |
33596 | { | |
33597 | for (; __first != __last; ++__first, ++__cur) | |
33598 | ::new(static_cast<void*>(&*__cur)) typename | |
33599 | iterator_traits<_ForwardIterator>::value_type(*__first); | |
33600 | return __cur; | |
33601 | } | |
33602 | catch(...) | |
33603 | { | |
33604 | std::_Destroy(__result, __cur); | |
33605 | throw; | |
33606 | } | |
33607 | } | |
33608 | }; | |
33609 | ||
33610 | template<> | |
33611 | struct __uninitialized_copy<true> | |
33612 | { | |
33613 | template<typename _InputIterator, typename _ForwardIterator> | |
33614 | static _ForwardIterator | |
33615 | uninitialized_copy(_InputIterator __first, _InputIterator __last, | |
33616 | _ForwardIterator __result) | |
33617 | { return std::copy(__first, __last, __result); } | |
33618 | }; | |
33619 | # 110 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_uninitialized.h" 3 | |
33620 | template<typename _InputIterator, typename _ForwardIterator> | |
33621 | inline _ForwardIterator | |
33622 | uninitialized_copy(_InputIterator __first, _InputIterator __last, | |
33623 | _ForwardIterator __result) | |
33624 | { | |
33625 | typedef typename iterator_traits<_InputIterator>::value_type | |
33626 | _ValueType1; | |
33627 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
33628 | _ValueType2; | |
33629 | ||
33630 | return std::__uninitialized_copy<(__is_pod(_ValueType1) | |
33631 | && __is_pod(_ValueType2))>:: | |
33632 | uninitialized_copy(__first, __last, __result); | |
33633 | } | |
33634 | ||
33635 | ||
33636 | template<bool> | |
33637 | struct __uninitialized_fill | |
33638 | { | |
33639 | template<typename _ForwardIterator, typename _Tp> | |
33640 | static void | |
33641 | uninitialized_fill(_ForwardIterator __first, | |
33642 | _ForwardIterator __last, const _Tp& __x) | |
33643 | { | |
33644 | _ForwardIterator __cur = __first; | |
33645 | try | |
33646 | { | |
33647 | for (; __cur != __last; ++__cur) | |
33648 | std::_Construct(&*__cur, __x); | |
33649 | } | |
33650 | catch(...) | |
33651 | { | |
33652 | std::_Destroy(__first, __cur); | |
33653 | throw; | |
33654 | } | |
33655 | } | |
33656 | }; | |
33657 | ||
33658 | template<> | |
33659 | struct __uninitialized_fill<true> | |
33660 | { | |
33661 | template<typename _ForwardIterator, typename _Tp> | |
33662 | static void | |
33663 | uninitialized_fill(_ForwardIterator __first, | |
33664 | _ForwardIterator __last, const _Tp& __x) | |
33665 | { std::fill(__first, __last, __x); } | |
33666 | }; | |
33667 | # 167 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_uninitialized.h" 3 | |
33668 | template<typename _ForwardIterator, typename _Tp> | |
33669 | inline void | |
33670 | uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, | |
33671 | const _Tp& __x) | |
33672 | { | |
33673 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
33674 | _ValueType; | |
33675 | ||
33676 | std::__uninitialized_fill<__is_pod(_ValueType)>:: | |
33677 | uninitialized_fill(__first, __last, __x); | |
33678 | } | |
33679 | ||
33680 | ||
33681 | template<bool> | |
33682 | struct __uninitialized_fill_n | |
33683 | { | |
33684 | template<typename _ForwardIterator, typename _Size, typename _Tp> | |
33685 | static void | |
33686 | uninitialized_fill_n(_ForwardIterator __first, _Size __n, | |
33687 | const _Tp& __x) | |
33688 | { | |
33689 | _ForwardIterator __cur = __first; | |
33690 | try | |
33691 | { | |
33692 | for (; __n > 0; --__n, ++__cur) | |
33693 | std::_Construct(&*__cur, __x); | |
33694 | } | |
33695 | catch(...) | |
33696 | { | |
33697 | std::_Destroy(__first, __cur); | |
33698 | throw; | |
33699 | } | |
33700 | } | |
33701 | }; | |
33702 | ||
33703 | template<> | |
33704 | struct __uninitialized_fill_n<true> | |
33705 | { | |
33706 | template<typename _ForwardIterator, typename _Size, typename _Tp> | |
33707 | static void | |
33708 | uninitialized_fill_n(_ForwardIterator __first, _Size __n, | |
33709 | const _Tp& __x) | |
33710 | { std::fill_n(__first, __n, __x); } | |
33711 | }; | |
33712 | # 221 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_uninitialized.h" 3 | |
33713 | template<typename _ForwardIterator, typename _Size, typename _Tp> | |
33714 | inline void | |
33715 | uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) | |
33716 | { | |
33717 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
33718 | _ValueType; | |
33719 | ||
33720 | std::__uninitialized_fill_n<__is_pod(_ValueType)>:: | |
33721 | uninitialized_fill_n(__first, __n, __x); | |
33722 | } | |
33723 | ||
33724 | ||
33725 | ||
33726 | ||
33727 | ||
33728 | ||
33729 | ||
33730 | template<typename _InputIterator, typename _ForwardIterator, | |
33731 | typename _Allocator> | |
33732 | _ForwardIterator | |
33733 | __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, | |
33734 | _ForwardIterator __result, _Allocator& __alloc) | |
33735 | { | |
33736 | _ForwardIterator __cur = __result; | |
33737 | try | |
33738 | { | |
33739 | for (; __first != __last; ++__first, ++__cur) | |
33740 | __alloc.construct(&*__cur, *__first); | |
33741 | return __cur; | |
33742 | } | |
33743 | catch(...) | |
33744 | { | |
33745 | std::_Destroy(__result, __cur, __alloc); | |
33746 | throw; | |
33747 | } | |
33748 | } | |
33749 | ||
33750 | template<typename _InputIterator, typename _ForwardIterator, typename _Tp> | |
33751 | inline _ForwardIterator | |
33752 | __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, | |
33753 | _ForwardIterator __result, allocator<_Tp>&) | |
33754 | { return std::uninitialized_copy(__first, __last, __result); } | |
33755 | ||
33756 | template<typename _InputIterator, typename _ForwardIterator, | |
33757 | typename _Allocator> | |
33758 | inline _ForwardIterator | |
33759 | __uninitialized_move_a(_InputIterator __first, _InputIterator __last, | |
33760 | _ForwardIterator __result, _Allocator& __alloc) | |
33761 | { | |
33762 | return std::__uninitialized_copy_a((__first), | |
33763 | (__last), | |
33764 | __result, __alloc); | |
33765 | } | |
33766 | ||
33767 | template<typename _ForwardIterator, typename _Tp, typename _Allocator> | |
33768 | void | |
33769 | __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, | |
33770 | const _Tp& __x, _Allocator& __alloc) | |
33771 | { | |
33772 | _ForwardIterator __cur = __first; | |
33773 | try | |
33774 | { | |
33775 | for (; __cur != __last; ++__cur) | |
33776 | __alloc.construct(&*__cur, __x); | |
33777 | } | |
33778 | catch(...) | |
33779 | { | |
33780 | std::_Destroy(__first, __cur, __alloc); | |
33781 | throw; | |
33782 | } | |
33783 | } | |
33784 | ||
33785 | template<typename _ForwardIterator, typename _Tp, typename _Tp2> | |
33786 | inline void | |
33787 | __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, | |
33788 | const _Tp& __x, allocator<_Tp2>&) | |
33789 | { std::uninitialized_fill(__first, __last, __x); } | |
33790 | ||
33791 | template<typename _ForwardIterator, typename _Size, typename _Tp, | |
33792 | typename _Allocator> | |
33793 | void | |
33794 | __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, | |
33795 | const _Tp& __x, _Allocator& __alloc) | |
33796 | { | |
33797 | _ForwardIterator __cur = __first; | |
33798 | try | |
33799 | { | |
33800 | for (; __n > 0; --__n, ++__cur) | |
33801 | __alloc.construct(&*__cur, __x); | |
33802 | } | |
33803 | catch(...) | |
33804 | { | |
33805 | std::_Destroy(__first, __cur, __alloc); | |
33806 | throw; | |
33807 | } | |
33808 | } | |
33809 | ||
33810 | template<typename _ForwardIterator, typename _Size, typename _Tp, | |
33811 | typename _Tp2> | |
33812 | inline void | |
33813 | __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, | |
33814 | const _Tp& __x, allocator<_Tp2>&) | |
33815 | { std::uninitialized_fill_n(__first, __n, __x); } | |
33816 | # 335 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_uninitialized.h" 3 | |
33817 | template<typename _InputIterator1, typename _InputIterator2, | |
33818 | typename _ForwardIterator, typename _Allocator> | |
33819 | inline _ForwardIterator | |
33820 | __uninitialized_copy_move(_InputIterator1 __first1, | |
33821 | _InputIterator1 __last1, | |
33822 | _InputIterator2 __first2, | |
33823 | _InputIterator2 __last2, | |
33824 | _ForwardIterator __result, | |
33825 | _Allocator& __alloc) | |
33826 | { | |
33827 | _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, | |
33828 | __result, | |
33829 | __alloc); | |
33830 | try | |
33831 | { | |
33832 | return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); | |
33833 | } | |
33834 | catch(...) | |
33835 | { | |
33836 | std::_Destroy(__result, __mid, __alloc); | |
33837 | throw; | |
33838 | } | |
33839 | } | |
33840 | ||
33841 | ||
33842 | ||
33843 | ||
33844 | ||
33845 | template<typename _InputIterator1, typename _InputIterator2, | |
33846 | typename _ForwardIterator, typename _Allocator> | |
33847 | inline _ForwardIterator | |
33848 | __uninitialized_move_copy(_InputIterator1 __first1, | |
33849 | _InputIterator1 __last1, | |
33850 | _InputIterator2 __first2, | |
33851 | _InputIterator2 __last2, | |
33852 | _ForwardIterator __result, | |
33853 | _Allocator& __alloc) | |
33854 | { | |
33855 | _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, | |
33856 | __result, | |
33857 | __alloc); | |
33858 | try | |
33859 | { | |
33860 | return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); | |
33861 | } | |
33862 | catch(...) | |
33863 | { | |
33864 | std::_Destroy(__result, __mid, __alloc); | |
33865 | throw; | |
33866 | } | |
33867 | } | |
33868 | ||
33869 | ||
33870 | ||
33871 | ||
33872 | template<typename _ForwardIterator, typename _Tp, typename _InputIterator, | |
33873 | typename _Allocator> | |
33874 | inline _ForwardIterator | |
33875 | __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, | |
33876 | const _Tp& __x, _InputIterator __first, | |
33877 | _InputIterator __last, _Allocator& __alloc) | |
33878 | { | |
33879 | std::__uninitialized_fill_a(__result, __mid, __x, __alloc); | |
33880 | try | |
33881 | { | |
33882 | return std::__uninitialized_move_a(__first, __last, __mid, __alloc); | |
33883 | } | |
33884 | catch(...) | |
33885 | { | |
33886 | std::_Destroy(__result, __mid, __alloc); | |
33887 | throw; | |
33888 | } | |
33889 | } | |
33890 | ||
33891 | ||
33892 | ||
33893 | ||
33894 | template<typename _InputIterator, typename _ForwardIterator, typename _Tp, | |
33895 | typename _Allocator> | |
33896 | inline void | |
33897 | __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, | |
33898 | _ForwardIterator __first2, | |
33899 | _ForwardIterator __last2, const _Tp& __x, | |
33900 | _Allocator& __alloc) | |
33901 | { | |
33902 | _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, | |
33903 | __first2, | |
33904 | __alloc); | |
33905 | try | |
33906 | { | |
33907 | std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); | |
33908 | } | |
33909 | catch(...) | |
33910 | { | |
33911 | std::_Destroy(__first2, __mid2, __alloc); | |
33912 | throw; | |
33913 | } | |
33914 | } | |
33915 | ||
33916 | } | |
33917 | # 70 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 2 3 | |
33918 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 1 3 | |
33919 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
33920 | #define _STL_VECTOR_H 1 | |
33921 | ||
33922 | ||
33923 | ||
33924 | ||
33925 | ||
33926 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
33927 | ||
33928 | ||
33929 | template<typename _Tp, typename _Alloc> | |
33930 | struct _Vector_base | |
33931 | { | |
33932 | typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; | |
33933 | ||
33934 | struct _Vector_impl | |
33935 | : public _Tp_alloc_type | |
33936 | { | |
33937 | _Tp* _M_start; | |
33938 | _Tp* _M_finish; | |
33939 | _Tp* _M_end_of_storage; | |
33940 | ||
33941 | _Vector_impl() | |
33942 | : _Tp_alloc_type(), _M_start(0), _M_finish(0), _M_end_of_storage(0) | |
33943 | { } | |
33944 | ||
33945 | _Vector_impl(_Tp_alloc_type const& __a) | |
33946 | : _Tp_alloc_type(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0) | |
33947 | { } | |
33948 | }; | |
33949 | ||
33950 | public: | |
33951 | typedef _Alloc allocator_type; | |
33952 | ||
33953 | _Tp_alloc_type& | |
33954 | _M_get_Tp_allocator() | |
33955 | { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } | |
33956 | ||
33957 | const _Tp_alloc_type& | |
33958 | _M_get_Tp_allocator() const | |
33959 | { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); } | |
33960 | ||
33961 | allocator_type | |
33962 | get_allocator() const | |
33963 | { return allocator_type(_M_get_Tp_allocator()); } | |
33964 | ||
33965 | _Vector_base() | |
33966 | : _M_impl() { } | |
33967 | ||
33968 | _Vector_base(const allocator_type& __a) | |
33969 | : _M_impl(__a) { } | |
33970 | ||
33971 | _Vector_base(size_t __n, const allocator_type& __a) | |
33972 | : _M_impl(__a) | |
33973 | { | |
33974 | this->_M_impl._M_start = this->_M_allocate(__n); | |
33975 | this->_M_impl._M_finish = this->_M_impl._M_start; | |
33976 | this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; | |
33977 | } | |
33978 | # 135 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
33979 | ~_Vector_base() | |
33980 | { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage | |
33981 | - this->_M_impl._M_start); } | |
33982 | ||
33983 | public: | |
33984 | _Vector_impl _M_impl; | |
33985 | ||
33986 | _Tp* | |
33987 | _M_allocate(size_t __n) | |
33988 | { return __n != 0 ? _M_impl.allocate(__n) : 0; } | |
33989 | ||
33990 | void | |
33991 | _M_deallocate(_Tp* __p, size_t __n) | |
33992 | { | |
33993 | if (__p) | |
33994 | _M_impl.deallocate(__p, __n); | |
33995 | } | |
33996 | }; | |
33997 | # 174 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
33998 | template<typename _Tp, typename _Alloc = std::allocator<_Tp> > | |
33999 | class vector : protected _Vector_base<_Tp, _Alloc> | |
34000 | { | |
34001 | ||
34002 | typedef typename _Alloc::value_type _Alloc_value_type; | |
34003 | ||
34004 | ||
34005 | ||
34006 | typedef _Vector_base<_Tp, _Alloc> _Base; | |
34007 | typedef vector<_Tp, _Alloc> vector_type; | |
34008 | typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; | |
34009 | ||
34010 | public: | |
34011 | typedef _Tp value_type; | |
34012 | typedef typename _Tp_alloc_type::pointer pointer; | |
34013 | typedef typename _Tp_alloc_type::const_pointer const_pointer; | |
34014 | typedef typename _Tp_alloc_type::reference reference; | |
34015 | typedef typename _Tp_alloc_type::const_reference const_reference; | |
34016 | typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator; | |
34017 | typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type> | |
34018 | const_iterator; | |
34019 | typedef std::reverse_iterator<const_iterator> const_reverse_iterator; | |
34020 | typedef std::reverse_iterator<iterator> reverse_iterator; | |
34021 | typedef size_t size_type; | |
34022 | typedef ptrdiff_t difference_type; | |
34023 | typedef _Alloc allocator_type; | |
34024 | ||
34025 | protected: | |
34026 | using _Base::_M_allocate; | |
34027 | using _Base::_M_deallocate; | |
34028 | using _Base::_M_impl; | |
34029 | using _Base::_M_get_Tp_allocator; | |
34030 | ||
34031 | public: | |
34032 | ||
34033 | ||
34034 | ||
34035 | ||
34036 | ||
34037 | vector() | |
34038 | : _Base() { } | |
34039 | ||
34040 | ||
34041 | ||
34042 | ||
34043 | ||
34044 | explicit | |
34045 | vector(const allocator_type& __a) | |
34046 | : _Base(__a) { } | |
34047 | # 232 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34048 | explicit | |
34049 | vector(size_type __n, const value_type& __value = value_type(), | |
34050 | const allocator_type& __a = allocator_type()) | |
34051 | : _Base(__n, __a) | |
34052 | { _M_fill_initialize(__n, __value); } | |
34053 | # 247 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34054 | vector(const vector& __x) | |
34055 | : _Base(__x.size(), __x._M_get_Tp_allocator()) | |
34056 | { this->_M_impl._M_finish = | |
34057 | std::__uninitialized_copy_a(__x.begin(), __x.end(), | |
34058 | this->_M_impl._M_start, | |
34059 | _M_get_Tp_allocator()); | |
34060 | } | |
34061 | # 283 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34062 | template<typename _InputIterator> | |
34063 | vector(_InputIterator __first, _InputIterator __last, | |
34064 | const allocator_type& __a = allocator_type()) | |
34065 | : _Base(__a) | |
34066 | { | |
34067 | ||
34068 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
34069 | _M_initialize_dispatch(__first, __last, _Integral()); | |
34070 | } | |
34071 | ||
34072 | ||
34073 | ||
34074 | ||
34075 | ||
34076 | ||
34077 | ||
34078 | ~vector() | |
34079 | { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, | |
34080 | _M_get_Tp_allocator()); } | |
34081 | # 311 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34082 | vector& | |
34083 | operator=(const vector& __x); | |
34084 | # 342 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34085 | void | |
34086 | assign(size_type __n, const value_type& __val) | |
34087 | { _M_fill_assign(__n, __val); } | |
34088 | # 358 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34089 | template<typename _InputIterator> | |
34090 | void | |
34091 | assign(_InputIterator __first, _InputIterator __last) | |
34092 | { | |
34093 | ||
34094 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
34095 | _M_assign_dispatch(__first, __last, _Integral()); | |
34096 | } | |
34097 | ||
34098 | ||
34099 | using _Base::get_allocator; | |
34100 | ||
34101 | ||
34102 | ||
34103 | ||
34104 | ||
34105 | ||
34106 | ||
34107 | iterator | |
34108 | begin() | |
34109 | { return iterator(this->_M_impl._M_start); } | |
34110 | ||
34111 | ||
34112 | ||
34113 | ||
34114 | ||
34115 | ||
34116 | const_iterator | |
34117 | begin() const | |
34118 | { return const_iterator(this->_M_impl._M_start); } | |
34119 | ||
34120 | ||
34121 | ||
34122 | ||
34123 | ||
34124 | ||
34125 | iterator | |
34126 | end() | |
34127 | { return iterator(this->_M_impl._M_finish); } | |
34128 | ||
34129 | ||
34130 | ||
34131 | ||
34132 | ||
34133 | ||
34134 | const_iterator | |
34135 | end() const | |
34136 | { return const_iterator(this->_M_impl._M_finish); } | |
34137 | ||
34138 | ||
34139 | ||
34140 | ||
34141 | ||
34142 | ||
34143 | reverse_iterator | |
34144 | rbegin() | |
34145 | { return reverse_iterator(end()); } | |
34146 | ||
34147 | ||
34148 | ||
34149 | ||
34150 | ||
34151 | ||
34152 | const_reverse_iterator | |
34153 | rbegin() const | |
34154 | { return const_reverse_iterator(end()); } | |
34155 | ||
34156 | ||
34157 | ||
34158 | ||
34159 | ||
34160 | ||
34161 | reverse_iterator | |
34162 | rend() | |
34163 | { return reverse_iterator(begin()); } | |
34164 | ||
34165 | ||
34166 | ||
34167 | ||
34168 | ||
34169 | ||
34170 | const_reverse_iterator | |
34171 | rend() const | |
34172 | { return const_reverse_iterator(begin()); } | |
34173 | # 483 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34174 | size_type | |
34175 | size() const | |
34176 | { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } | |
34177 | ||
34178 | ||
34179 | size_type | |
34180 | max_size() const | |
34181 | { return _M_get_Tp_allocator().max_size(); } | |
34182 | # 503 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34183 | void | |
34184 | resize(size_type __new_size, value_type __x = value_type()) | |
34185 | { | |
34186 | if (__new_size < size()) | |
34187 | _M_erase_at_end(this->_M_impl._M_start + __new_size); | |
34188 | else | |
34189 | insert(end(), __new_size - size(), __x); | |
34190 | } | |
34191 | ||
34192 | ||
34193 | ||
34194 | ||
34195 | ||
34196 | size_type | |
34197 | capacity() const | |
34198 | { return size_type(this->_M_impl._M_end_of_storage | |
34199 | - this->_M_impl._M_start); } | |
34200 | ||
34201 | ||
34202 | ||
34203 | ||
34204 | ||
34205 | bool | |
34206 | empty() const | |
34207 | { return begin() == end(); } | |
34208 | # 546 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34209 | void | |
34210 | reserve(size_type __n); | |
34211 | # 561 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34212 | reference | |
34213 | operator[](size_type __n) | |
34214 | { return *(this->_M_impl._M_start + __n); } | |
34215 | # 576 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34216 | const_reference | |
34217 | operator[](size_type __n) const | |
34218 | { return *(this->_M_impl._M_start + __n); } | |
34219 | ||
34220 | protected: | |
34221 | ||
34222 | void | |
34223 | _M_range_check(size_type __n) const | |
34224 | { | |
34225 | if (__n >= this->size()) | |
34226 | __throw_out_of_range(("vector::_M_range_check")); | |
34227 | } | |
34228 | ||
34229 | public: | |
34230 | # 601 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34231 | reference | |
34232 | at(size_type __n) | |
34233 | { | |
34234 | _M_range_check(__n); | |
34235 | return (*this)[__n]; | |
34236 | } | |
34237 | # 619 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34238 | const_reference | |
34239 | at(size_type __n) const | |
34240 | { | |
34241 | _M_range_check(__n); | |
34242 | return (*this)[__n]; | |
34243 | } | |
34244 | ||
34245 | ||
34246 | ||
34247 | ||
34248 | ||
34249 | reference | |
34250 | front() | |
34251 | { return *begin(); } | |
34252 | ||
34253 | ||
34254 | ||
34255 | ||
34256 | ||
34257 | const_reference | |
34258 | front() const | |
34259 | { return *begin(); } | |
34260 | ||
34261 | ||
34262 | ||
34263 | ||
34264 | ||
34265 | reference | |
34266 | back() | |
34267 | { return *(end() - 1); } | |
34268 | ||
34269 | ||
34270 | ||
34271 | ||
34272 | ||
34273 | const_reference | |
34274 | back() const | |
34275 | { return *(end() - 1); } | |
34276 | # 665 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34277 | pointer | |
34278 | data() | |
34279 | { return pointer(this->_M_impl._M_start); } | |
34280 | ||
34281 | const_pointer | |
34282 | data() const | |
34283 | { return const_pointer(this->_M_impl._M_start); } | |
34284 | # 685 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34285 | void | |
34286 | push_back(const value_type& __x) | |
34287 | { | |
34288 | if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) | |
34289 | { | |
34290 | this->_M_impl.construct(this->_M_impl._M_finish, __x); | |
34291 | ++this->_M_impl._M_finish; | |
34292 | } | |
34293 | else | |
34294 | _M_insert_aux(end(), __x); | |
34295 | } | |
34296 | # 721 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34297 | void | |
34298 | pop_back() | |
34299 | { | |
34300 | --this->_M_impl._M_finish; | |
34301 | this->_M_impl.destroy(this->_M_impl._M_finish); | |
34302 | } | |
34303 | # 757 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34304 | iterator | |
34305 | insert(iterator __position, const value_type& __x); | |
34306 | # 790 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34307 | void | |
34308 | insert(iterator __position, size_type __n, const value_type& __x) | |
34309 | { _M_fill_insert(__position, __n, __x); } | |
34310 | # 808 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34311 | template<typename _InputIterator> | |
34312 | void | |
34313 | insert(iterator __position, _InputIterator __first, | |
34314 | _InputIterator __last) | |
34315 | { | |
34316 | ||
34317 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
34318 | _M_insert_dispatch(__position, __first, __last, _Integral()); | |
34319 | } | |
34320 | # 833 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34321 | iterator | |
34322 | erase(iterator __position); | |
34323 | # 854 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34324 | iterator | |
34325 | erase(iterator __first, iterator __last); | |
34326 | # 866 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34327 | void | |
34328 | ||
34329 | ||
34330 | ||
34331 | swap(vector& __x) | |
34332 | ||
34333 | { | |
34334 | std::swap(this->_M_impl._M_start, __x._M_impl._M_start); | |
34335 | std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); | |
34336 | std::swap(this->_M_impl._M_end_of_storage, | |
34337 | __x._M_impl._M_end_of_storage); | |
34338 | ||
34339 | ||
34340 | ||
34341 | std::__alloc_swap<_Tp_alloc_type>::_S_do_it(_M_get_Tp_allocator(), | |
34342 | __x._M_get_Tp_allocator()); | |
34343 | } | |
34344 | ||
34345 | ||
34346 | ||
34347 | ||
34348 | ||
34349 | ||
34350 | ||
34351 | void | |
34352 | clear() | |
34353 | { _M_erase_at_end(this->_M_impl._M_start); } | |
34354 | ||
34355 | protected: | |
34356 | ||
34357 | ||
34358 | ||
34359 | ||
34360 | template<typename _ForwardIterator> | |
34361 | pointer | |
34362 | _M_allocate_and_copy(size_type __n, | |
34363 | _ForwardIterator __first, _ForwardIterator __last) | |
34364 | { | |
34365 | pointer __result = this->_M_allocate(__n); | |
34366 | try | |
34367 | { | |
34368 | std::__uninitialized_copy_a(__first, __last, __result, | |
34369 | _M_get_Tp_allocator()); | |
34370 | return __result; | |
34371 | } | |
34372 | catch(...) | |
34373 | { | |
34374 | _M_deallocate(__result, __n); | |
34375 | throw; | |
34376 | } | |
34377 | } | |
34378 | # 925 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34379 | template<typename _Integer> | |
34380 | void | |
34381 | _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) | |
34382 | { | |
34383 | this->_M_impl._M_start = _M_allocate(static_cast<size_type>(__n)); | |
34384 | this->_M_impl._M_end_of_storage = | |
34385 | this->_M_impl._M_start + static_cast<size_type>(__n); | |
34386 | _M_fill_initialize(static_cast<size_type>(__n), __value); | |
34387 | } | |
34388 | ||
34389 | ||
34390 | template<typename _InputIterator> | |
34391 | void | |
34392 | _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, | |
34393 | __false_type) | |
34394 | { | |
34395 | typedef typename std::iterator_traits<_InputIterator>:: | |
34396 | iterator_category _IterCategory; | |
34397 | _M_range_initialize(__first, __last, _IterCategory()); | |
34398 | } | |
34399 | ||
34400 | ||
34401 | template<typename _InputIterator> | |
34402 | void | |
34403 | _M_range_initialize(_InputIterator __first, | |
34404 | _InputIterator __last, std::input_iterator_tag) | |
34405 | { | |
34406 | for (; __first != __last; ++__first) | |
34407 | push_back(*__first); | |
34408 | } | |
34409 | ||
34410 | ||
34411 | template<typename _ForwardIterator> | |
34412 | void | |
34413 | _M_range_initialize(_ForwardIterator __first, | |
34414 | _ForwardIterator __last, std::forward_iterator_tag) | |
34415 | { | |
34416 | const size_type __n = std::distance(__first, __last); | |
34417 | this->_M_impl._M_start = this->_M_allocate(__n); | |
34418 | this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; | |
34419 | this->_M_impl._M_finish = | |
34420 | std::__uninitialized_copy_a(__first, __last, | |
34421 | this->_M_impl._M_start, | |
34422 | _M_get_Tp_allocator()); | |
34423 | } | |
34424 | ||
34425 | ||
34426 | ||
34427 | void | |
34428 | _M_fill_initialize(size_type __n, const value_type& __value) | |
34429 | { | |
34430 | std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, | |
34431 | _M_get_Tp_allocator()); | |
34432 | this->_M_impl._M_finish = this->_M_impl._M_end_of_storage; | |
34433 | } | |
34434 | # 989 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34435 | template<typename _Integer> | |
34436 | void | |
34437 | _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) | |
34438 | { _M_fill_assign(__n, __val); } | |
34439 | ||
34440 | ||
34441 | template<typename _InputIterator> | |
34442 | void | |
34443 | _M_assign_dispatch(_InputIterator __first, _InputIterator __last, | |
34444 | __false_type) | |
34445 | { | |
34446 | typedef typename std::iterator_traits<_InputIterator>:: | |
34447 | iterator_category _IterCategory; | |
34448 | _M_assign_aux(__first, __last, _IterCategory()); | |
34449 | } | |
34450 | ||
34451 | ||
34452 | template<typename _InputIterator> | |
34453 | void | |
34454 | _M_assign_aux(_InputIterator __first, _InputIterator __last, | |
34455 | std::input_iterator_tag); | |
34456 | ||
34457 | ||
34458 | template<typename _ForwardIterator> | |
34459 | void | |
34460 | _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, | |
34461 | std::forward_iterator_tag); | |
34462 | ||
34463 | ||
34464 | ||
34465 | void | |
34466 | _M_fill_assign(size_type __n, const value_type& __val); | |
34467 | # 1029 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34468 | template<typename _Integer> | |
34469 | void | |
34470 | _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, | |
34471 | __true_type) | |
34472 | { _M_fill_insert(__pos, __n, __val); } | |
34473 | ||
34474 | ||
34475 | template<typename _InputIterator> | |
34476 | void | |
34477 | _M_insert_dispatch(iterator __pos, _InputIterator __first, | |
34478 | _InputIterator __last, __false_type) | |
34479 | { | |
34480 | typedef typename std::iterator_traits<_InputIterator>:: | |
34481 | iterator_category _IterCategory; | |
34482 | _M_range_insert(__pos, __first, __last, _IterCategory()); | |
34483 | } | |
34484 | ||
34485 | ||
34486 | template<typename _InputIterator> | |
34487 | void | |
34488 | _M_range_insert(iterator __pos, _InputIterator __first, | |
34489 | _InputIterator __last, std::input_iterator_tag); | |
34490 | ||
34491 | ||
34492 | template<typename _ForwardIterator> | |
34493 | void | |
34494 | _M_range_insert(iterator __pos, _ForwardIterator __first, | |
34495 | _ForwardIterator __last, std::forward_iterator_tag); | |
34496 | ||
34497 | ||
34498 | ||
34499 | void | |
34500 | _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); | |
34501 | ||
34502 | ||
34503 | ||
34504 | void | |
34505 | _M_insert_aux(iterator __position, const value_type& __x); | |
34506 | ||
34507 | ||
34508 | ||
34509 | ||
34510 | ||
34511 | ||
34512 | ||
34513 | size_type | |
34514 | _M_check_len(size_type __n, const char* __s) const | |
34515 | { | |
34516 | if (max_size() - size() < __n) | |
34517 | __throw_length_error((__s)); | |
34518 | ||
34519 | const size_type __len = size() + std::max(size(), __n); | |
34520 | return (__len < size() || __len > max_size()) ? max_size() : __len; | |
34521 | } | |
34522 | ||
34523 | ||
34524 | ||
34525 | ||
34526 | ||
34527 | void | |
34528 | _M_erase_at_end(pointer __pos) | |
34529 | { | |
34530 | std::_Destroy(__pos, this->_M_impl._M_finish, _M_get_Tp_allocator()); | |
34531 | this->_M_impl._M_finish = __pos; | |
34532 | } | |
34533 | }; | |
34534 | # 1107 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34535 | template<typename _Tp, typename _Alloc> | |
34536 | inline bool | |
34537 | operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | |
34538 | { return (__x.size() == __y.size() | |
34539 | && std::equal(__x.begin(), __x.end(), __y.begin())); } | |
34540 | # 1124 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34541 | template<typename _Tp, typename _Alloc> | |
34542 | inline bool | |
34543 | operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | |
34544 | { return std::lexicographical_compare(__x.begin(), __x.end(), | |
34545 | __y.begin(), __y.end()); } | |
34546 | ||
34547 | ||
34548 | template<typename _Tp, typename _Alloc> | |
34549 | inline bool | |
34550 | operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | |
34551 | { return !(__x == __y); } | |
34552 | ||
34553 | ||
34554 | template<typename _Tp, typename _Alloc> | |
34555 | inline bool | |
34556 | operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | |
34557 | { return __y < __x; } | |
34558 | ||
34559 | ||
34560 | template<typename _Tp, typename _Alloc> | |
34561 | inline bool | |
34562 | operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | |
34563 | { return !(__y < __x); } | |
34564 | ||
34565 | ||
34566 | template<typename _Tp, typename _Alloc> | |
34567 | inline bool | |
34568 | operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | |
34569 | { return !(__x < __y); } | |
34570 | ||
34571 | ||
34572 | template<typename _Tp, typename _Alloc> | |
34573 | inline void | |
34574 | swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) | |
34575 | { __x.swap(__y); } | |
34576 | # 1172 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_vector.h" 3 | |
34577 | } | |
34578 | # 71 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 2 3 | |
34579 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_bvector.h" 1 3 | |
34580 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_bvector.h" 3 | |
34581 | #define _STL_BVECTOR_H 1 | |
34582 | ||
34583 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
34584 | ||
34585 | typedef unsigned long _Bit_type; | |
34586 | enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; | |
34587 | ||
34588 | struct _Bit_reference | |
34589 | { | |
34590 | _Bit_type * _M_p; | |
34591 | _Bit_type _M_mask; | |
34592 | ||
34593 | _Bit_reference(_Bit_type * __x, _Bit_type __y) | |
34594 | : _M_p(__x), _M_mask(__y) { } | |
34595 | ||
34596 | _Bit_reference() : _M_p(0), _M_mask(0) { } | |
34597 | ||
34598 | operator bool() const | |
34599 | { return !!(*_M_p & _M_mask); } | |
34600 | ||
34601 | _Bit_reference& | |
34602 | operator=(bool __x) | |
34603 | { | |
34604 | if (__x) | |
34605 | *_M_p |= _M_mask; | |
34606 | else | |
34607 | *_M_p &= ~_M_mask; | |
34608 | return *this; | |
34609 | } | |
34610 | ||
34611 | _Bit_reference& | |
34612 | operator=(const _Bit_reference& __x) | |
34613 | { return *this = bool(__x); } | |
34614 | ||
34615 | bool | |
34616 | operator==(const _Bit_reference& __x) const | |
34617 | { return bool(*this) == bool(__x); } | |
34618 | ||
34619 | bool | |
34620 | operator<(const _Bit_reference& __x) const | |
34621 | { return !bool(*this) && bool(__x); } | |
34622 | ||
34623 | void | |
34624 | flip() | |
34625 | { *_M_p ^= _M_mask; } | |
34626 | }; | |
34627 | ||
34628 | struct _Bit_iterator_base | |
34629 | : public std::iterator<std::random_access_iterator_tag, bool> | |
34630 | { | |
34631 | _Bit_type * _M_p; | |
34632 | unsigned int _M_offset; | |
34633 | ||
34634 | _Bit_iterator_base(_Bit_type * __x, unsigned int __y) | |
34635 | : _M_p(__x), _M_offset(__y) { } | |
34636 | ||
34637 | void | |
34638 | _M_bump_up() | |
34639 | { | |
34640 | if (_M_offset++ == int(_S_word_bit) - 1) | |
34641 | { | |
34642 | _M_offset = 0; | |
34643 | ++_M_p; | |
34644 | } | |
34645 | } | |
34646 | ||
34647 | void | |
34648 | _M_bump_down() | |
34649 | { | |
34650 | if (_M_offset-- == 0) | |
34651 | { | |
34652 | _M_offset = int(_S_word_bit) - 1; | |
34653 | --_M_p; | |
34654 | } | |
34655 | } | |
34656 | ||
34657 | void | |
34658 | _M_incr(ptrdiff_t __i) | |
34659 | { | |
34660 | difference_type __n = __i + _M_offset; | |
34661 | _M_p += __n / int(_S_word_bit); | |
34662 | __n = __n % int(_S_word_bit); | |
34663 | if (__n < 0) | |
34664 | { | |
34665 | __n += int(_S_word_bit); | |
34666 | --_M_p; | |
34667 | } | |
34668 | _M_offset = static_cast<unsigned int>(__n); | |
34669 | } | |
34670 | ||
34671 | bool | |
34672 | operator==(const _Bit_iterator_base& __i) const | |
34673 | { return _M_p == __i._M_p && _M_offset == __i._M_offset; } | |
34674 | ||
34675 | bool | |
34676 | operator<(const _Bit_iterator_base& __i) const | |
34677 | { | |
34678 | return _M_p < __i._M_p | |
34679 | || (_M_p == __i._M_p && _M_offset < __i._M_offset); | |
34680 | } | |
34681 | ||
34682 | bool | |
34683 | operator!=(const _Bit_iterator_base& __i) const | |
34684 | { return !(*this == __i); } | |
34685 | ||
34686 | bool | |
34687 | operator>(const _Bit_iterator_base& __i) const | |
34688 | { return __i < *this; } | |
34689 | ||
34690 | bool | |
34691 | operator<=(const _Bit_iterator_base& __i) const | |
34692 | { return !(__i < *this); } | |
34693 | ||
34694 | bool | |
34695 | operator>=(const _Bit_iterator_base& __i) const | |
34696 | { return !(*this < __i); } | |
34697 | }; | |
34698 | ||
34699 | inline ptrdiff_t | |
34700 | operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) | |
34701 | { | |
34702 | return (int(_S_word_bit) * (__x._M_p - __y._M_p) | |
34703 | + __x._M_offset - __y._M_offset); | |
34704 | } | |
34705 | ||
34706 | struct _Bit_iterator : public _Bit_iterator_base | |
34707 | { | |
34708 | typedef _Bit_reference reference; | |
34709 | typedef _Bit_reference* pointer; | |
34710 | typedef _Bit_iterator iterator; | |
34711 | ||
34712 | _Bit_iterator() : _Bit_iterator_base(0, 0) { } | |
34713 | ||
34714 | _Bit_iterator(_Bit_type * __x, unsigned int __y) | |
34715 | : _Bit_iterator_base(__x, __y) { } | |
34716 | ||
34717 | reference | |
34718 | operator*() const | |
34719 | { return reference(_M_p, 1UL << _M_offset); } | |
34720 | ||
34721 | iterator& | |
34722 | operator++() | |
34723 | { | |
34724 | _M_bump_up(); | |
34725 | return *this; | |
34726 | } | |
34727 | ||
34728 | iterator | |
34729 | operator++(int) | |
34730 | { | |
34731 | iterator __tmp = *this; | |
34732 | _M_bump_up(); | |
34733 | return __tmp; | |
34734 | } | |
34735 | ||
34736 | iterator& | |
34737 | operator--() | |
34738 | { | |
34739 | _M_bump_down(); | |
34740 | return *this; | |
34741 | } | |
34742 | ||
34743 | iterator | |
34744 | operator--(int) | |
34745 | { | |
34746 | iterator __tmp = *this; | |
34747 | _M_bump_down(); | |
34748 | return __tmp; | |
34749 | } | |
34750 | ||
34751 | iterator& | |
34752 | operator+=(difference_type __i) | |
34753 | { | |
34754 | _M_incr(__i); | |
34755 | return *this; | |
34756 | } | |
34757 | ||
34758 | iterator& | |
34759 | operator-=(difference_type __i) | |
34760 | { | |
34761 | *this += -__i; | |
34762 | return *this; | |
34763 | } | |
34764 | ||
34765 | iterator | |
34766 | operator+(difference_type __i) const | |
34767 | { | |
34768 | iterator __tmp = *this; | |
34769 | return __tmp += __i; | |
34770 | } | |
34771 | ||
34772 | iterator | |
34773 | operator-(difference_type __i) const | |
34774 | { | |
34775 | iterator __tmp = *this; | |
34776 | return __tmp -= __i; | |
34777 | } | |
34778 | ||
34779 | reference | |
34780 | operator[](difference_type __i) const | |
34781 | { return *(*this + __i); } | |
34782 | }; | |
34783 | ||
34784 | inline _Bit_iterator | |
34785 | operator+(ptrdiff_t __n, const _Bit_iterator& __x) | |
34786 | { return __x + __n; } | |
34787 | ||
34788 | struct _Bit_const_iterator : public _Bit_iterator_base | |
34789 | { | |
34790 | typedef bool reference; | |
34791 | typedef bool const_reference; | |
34792 | typedef const bool* pointer; | |
34793 | typedef _Bit_const_iterator const_iterator; | |
34794 | ||
34795 | _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } | |
34796 | ||
34797 | _Bit_const_iterator(_Bit_type * __x, unsigned int __y) | |
34798 | : _Bit_iterator_base(__x, __y) { } | |
34799 | ||
34800 | _Bit_const_iterator(const _Bit_iterator& __x) | |
34801 | : _Bit_iterator_base(__x._M_p, __x._M_offset) { } | |
34802 | ||
34803 | const_reference | |
34804 | operator*() const | |
34805 | { return _Bit_reference(_M_p, 1UL << _M_offset); } | |
34806 | ||
34807 | const_iterator& | |
34808 | operator++() | |
34809 | { | |
34810 | _M_bump_up(); | |
34811 | return *this; | |
34812 | } | |
34813 | ||
34814 | const_iterator | |
34815 | operator++(int) | |
34816 | { | |
34817 | const_iterator __tmp = *this; | |
34818 | _M_bump_up(); | |
34819 | return __tmp; | |
34820 | } | |
34821 | ||
34822 | const_iterator& | |
34823 | operator--() | |
34824 | { | |
34825 | _M_bump_down(); | |
34826 | return *this; | |
34827 | } | |
34828 | ||
34829 | const_iterator | |
34830 | operator--(int) | |
34831 | { | |
34832 | const_iterator __tmp = *this; | |
34833 | _M_bump_down(); | |
34834 | return __tmp; | |
34835 | } | |
34836 | ||
34837 | const_iterator& | |
34838 | operator+=(difference_type __i) | |
34839 | { | |
34840 | _M_incr(__i); | |
34841 | return *this; | |
34842 | } | |
34843 | ||
34844 | const_iterator& | |
34845 | operator-=(difference_type __i) | |
34846 | { | |
34847 | *this += -__i; | |
34848 | return *this; | |
34849 | } | |
34850 | ||
34851 | const_iterator | |
34852 | operator+(difference_type __i) const | |
34853 | { | |
34854 | const_iterator __tmp = *this; | |
34855 | return __tmp += __i; | |
34856 | } | |
34857 | ||
34858 | const_iterator | |
34859 | operator-(difference_type __i) const | |
34860 | { | |
34861 | const_iterator __tmp = *this; | |
34862 | return __tmp -= __i; | |
34863 | } | |
34864 | ||
34865 | const_reference | |
34866 | operator[](difference_type __i) const | |
34867 | { return *(*this + __i); } | |
34868 | }; | |
34869 | ||
34870 | inline _Bit_const_iterator | |
34871 | operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) | |
34872 | { return __x + __n; } | |
34873 | ||
34874 | inline void | |
34875 | __fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x) | |
34876 | { | |
34877 | for (; __first != __last; ++__first) | |
34878 | *__first = __x; | |
34879 | } | |
34880 | ||
34881 | inline void | |
34882 | fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) | |
34883 | { | |
34884 | if (__first._M_p != __last._M_p) | |
34885 | { | |
34886 | std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0); | |
34887 | __fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x); | |
34888 | __fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x); | |
34889 | } | |
34890 | else | |
34891 | __fill_bvector(__first, __last, __x); | |
34892 | } | |
34893 | ||
34894 | template<typename _Alloc> | |
34895 | struct _Bvector_base | |
34896 | { | |
34897 | typedef typename _Alloc::template rebind<_Bit_type>::other | |
34898 | _Bit_alloc_type; | |
34899 | ||
34900 | struct _Bvector_impl | |
34901 | : public _Bit_alloc_type | |
34902 | { | |
34903 | _Bit_iterator _M_start; | |
34904 | _Bit_iterator _M_finish; | |
34905 | _Bit_type* _M_end_of_storage; | |
34906 | ||
34907 | _Bvector_impl() | |
34908 | : _Bit_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage(0) | |
34909 | { } | |
34910 | ||
34911 | _Bvector_impl(const _Bit_alloc_type& __a) | |
34912 | : _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage(0) | |
34913 | { } | |
34914 | }; | |
34915 | ||
34916 | public: | |
34917 | typedef _Alloc allocator_type; | |
34918 | ||
34919 | _Bit_alloc_type& | |
34920 | _M_get_Bit_allocator() | |
34921 | { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); } | |
34922 | ||
34923 | const _Bit_alloc_type& | |
34924 | _M_get_Bit_allocator() const | |
34925 | { return *static_cast<const _Bit_alloc_type*>(&this->_M_impl); } | |
34926 | ||
34927 | allocator_type | |
34928 | get_allocator() const | |
34929 | { return allocator_type(_M_get_Bit_allocator()); } | |
34930 | ||
34931 | _Bvector_base() | |
34932 | : _M_impl() { } | |
34933 | ||
34934 | _Bvector_base(const allocator_type& __a) | |
34935 | : _M_impl(__a) { } | |
34936 | # 432 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_bvector.h" 3 | |
34937 | ~_Bvector_base() | |
34938 | { this->_M_deallocate(); } | |
34939 | ||
34940 | protected: | |
34941 | _Bvector_impl _M_impl; | |
34942 | ||
34943 | _Bit_type* | |
34944 | _M_allocate(size_t __n) | |
34945 | { return _M_impl.allocate((__n + int(_S_word_bit) - 1) | |
34946 | / int(_S_word_bit)); } | |
34947 | ||
34948 | void | |
34949 | _M_deallocate() | |
34950 | { | |
34951 | if (_M_impl._M_start._M_p) | |
34952 | _M_impl.deallocate(_M_impl._M_start._M_p, | |
34953 | _M_impl._M_end_of_storage - _M_impl._M_start._M_p); | |
34954 | } | |
34955 | }; | |
34956 | ||
34957 | } | |
34958 | ||
34959 | ||
34960 | ||
34961 | ||
34962 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
34963 | # 477 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_bvector.h" 3 | |
34964 | template<typename _Alloc> | |
34965 | class vector<bool, _Alloc> : protected _Bvector_base<_Alloc> | |
34966 | { | |
34967 | typedef _Bvector_base<_Alloc> _Base; | |
34968 | ||
34969 | public: | |
34970 | typedef bool value_type; | |
34971 | typedef size_t size_type; | |
34972 | typedef ptrdiff_t difference_type; | |
34973 | typedef _Bit_reference reference; | |
34974 | typedef bool const_reference; | |
34975 | typedef _Bit_reference* pointer; | |
34976 | typedef const bool* const_pointer; | |
34977 | typedef _Bit_iterator iterator; | |
34978 | typedef _Bit_const_iterator const_iterator; | |
34979 | typedef std::reverse_iterator<const_iterator> const_reverse_iterator; | |
34980 | typedef std::reverse_iterator<iterator> reverse_iterator; | |
34981 | typedef _Alloc allocator_type; | |
34982 | ||
34983 | allocator_type get_allocator() const | |
34984 | { return _Base::get_allocator(); } | |
34985 | ||
34986 | protected: | |
34987 | using _Base::_M_allocate; | |
34988 | using _Base::_M_deallocate; | |
34989 | using _Base::_M_get_Bit_allocator; | |
34990 | ||
34991 | public: | |
34992 | vector() | |
34993 | : _Base() { } | |
34994 | ||
34995 | explicit | |
34996 | vector(const allocator_type& __a) | |
34997 | : _Base(__a) { } | |
34998 | ||
34999 | explicit | |
35000 | vector(size_type __n, const bool& __value = bool(), | |
35001 | const allocator_type& __a = allocator_type()) | |
35002 | : _Base(__a) | |
35003 | { | |
35004 | _M_initialize(__n); | |
35005 | std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, | |
35006 | __value ? ~0 : 0); | |
35007 | } | |
35008 | ||
35009 | vector(const vector& __x) | |
35010 | : _Base(__x._M_get_Bit_allocator()) | |
35011 | { | |
35012 | _M_initialize(__x.size()); | |
35013 | _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); | |
35014 | } | |
35015 | ||
35016 | ||
35017 | ||
35018 | ||
35019 | ||
35020 | ||
35021 | template<typename _InputIterator> | |
35022 | vector(_InputIterator __first, _InputIterator __last, | |
35023 | const allocator_type& __a = allocator_type()) | |
35024 | : _Base(__a) | |
35025 | { | |
35026 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
35027 | _M_initialize_dispatch(__first, __last, _Integral()); | |
35028 | } | |
35029 | ||
35030 | ~vector() { } | |
35031 | ||
35032 | vector& | |
35033 | operator=(const vector& __x) | |
35034 | { | |
35035 | if (&__x == this) | |
35036 | return *this; | |
35037 | if (__x.size() > capacity()) | |
35038 | { | |
35039 | this->_M_deallocate(); | |
35040 | _M_initialize(__x.size()); | |
35041 | } | |
35042 | this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), | |
35043 | begin()); | |
35044 | return *this; | |
35045 | } | |
35046 | # 575 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_bvector.h" 3 | |
35047 | void | |
35048 | assign(size_type __n, const bool& __x) | |
35049 | { _M_fill_assign(__n, __x); } | |
35050 | ||
35051 | template<typename _InputIterator> | |
35052 | void | |
35053 | assign(_InputIterator __first, _InputIterator __last) | |
35054 | { | |
35055 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
35056 | _M_assign_dispatch(__first, __last, _Integral()); | |
35057 | } | |
35058 | ||
35059 | iterator | |
35060 | begin() | |
35061 | { return this->_M_impl._M_start; } | |
35062 | ||
35063 | const_iterator | |
35064 | begin() const | |
35065 | { return this->_M_impl._M_start; } | |
35066 | ||
35067 | iterator | |
35068 | end() | |
35069 | { return this->_M_impl._M_finish; } | |
35070 | ||
35071 | const_iterator | |
35072 | end() const | |
35073 | { return this->_M_impl._M_finish; } | |
35074 | ||
35075 | reverse_iterator | |
35076 | rbegin() | |
35077 | { return reverse_iterator(end()); } | |
35078 | ||
35079 | const_reverse_iterator | |
35080 | rbegin() const | |
35081 | { return const_reverse_iterator(end()); } | |
35082 | ||
35083 | reverse_iterator | |
35084 | rend() | |
35085 | { return reverse_iterator(begin()); } | |
35086 | ||
35087 | const_reverse_iterator | |
35088 | rend() const | |
35089 | { return const_reverse_iterator(begin()); } | |
35090 | # 637 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/stl_bvector.h" 3 | |
35091 | size_type | |
35092 | size() const | |
35093 | { return size_type(end() - begin()); } | |
35094 | ||
35095 | size_type | |
35096 | max_size() const | |
35097 | { | |
35098 | const size_type __isize = | |
35099 | __gnu_cxx::__numeric_traits<difference_type>::__max | |
35100 | - int(_S_word_bit) + 1; | |
35101 | const size_type __asize = _M_get_Bit_allocator().max_size(); | |
35102 | return (__asize <= __isize / int(_S_word_bit) | |
35103 | ? __asize * int(_S_word_bit) : __isize); | |
35104 | } | |
35105 | ||
35106 | size_type | |
35107 | capacity() const | |
35108 | { return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0) | |
35109 | - begin()); } | |
35110 | ||
35111 | bool | |
35112 | empty() const | |
35113 | { return begin() == end(); } | |
35114 | ||
35115 | reference | |
35116 | operator[](size_type __n) | |
35117 | { | |
35118 | return *iterator(this->_M_impl._M_start._M_p | |
35119 | + __n / int(_S_word_bit), __n % int(_S_word_bit)); | |
35120 | } | |
35121 | ||
35122 | const_reference | |
35123 | operator[](size_type __n) const | |
35124 | { | |
35125 | return *const_iterator(this->_M_impl._M_start._M_p | |
35126 | + __n / int(_S_word_bit), __n % int(_S_word_bit)); | |
35127 | } | |
35128 | ||
35129 | protected: | |
35130 | void | |
35131 | _M_range_check(size_type __n) const | |
35132 | { | |
35133 | if (__n >= this->size()) | |
35134 | __throw_out_of_range(("vector<bool>::_M_range_check")); | |
35135 | } | |
35136 | ||
35137 | public: | |
35138 | reference | |
35139 | at(size_type __n) | |
35140 | { _M_range_check(__n); return (*this)[__n]; } | |
35141 | ||
35142 | const_reference | |
35143 | at(size_type __n) const | |
35144 | { _M_range_check(__n); return (*this)[__n]; } | |
35145 | ||
35146 | void | |
35147 | reserve(size_type __n); | |
35148 | ||
35149 | reference | |
35150 | front() | |
35151 | { return *begin(); } | |
35152 | ||
35153 | const_reference | |
35154 | front() const | |
35155 | { return *begin(); } | |
35156 | ||
35157 | reference | |
35158 | back() | |
35159 | { return *(end() - 1); } | |
35160 | ||
35161 | const_reference | |
35162 | back() const | |
35163 | { return *(end() - 1); } | |
35164 | ||
35165 | ||
35166 | ||
35167 | ||
35168 | ||
35169 | ||
35170 | void | |
35171 | data() { } | |
35172 | ||
35173 | void | |
35174 | push_back(bool __x) | |
35175 | { | |
35176 | if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage) | |
35177 | *this->_M_impl._M_finish++ = __x; | |
35178 | else | |
35179 | _M_insert_aux(end(), __x); | |
35180 | } | |
35181 | ||
35182 | void | |
35183 | ||
35184 | ||
35185 | ||
35186 | swap(vector& __x) | |
35187 | ||
35188 | { | |
35189 | std::swap(this->_M_impl._M_start, __x._M_impl._M_start); | |
35190 | std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); | |
35191 | std::swap(this->_M_impl._M_end_of_storage, | |
35192 | __x._M_impl._M_end_of_storage); | |
35193 | ||
35194 | ||
35195 | ||
35196 | std::__alloc_swap<typename _Base::_Bit_alloc_type>:: | |
35197 | _S_do_it(_M_get_Bit_allocator(), __x._M_get_Bit_allocator()); | |
35198 | } | |
35199 | ||
35200 | ||
35201 | static void | |
35202 | swap(reference __x, reference __y) | |
35203 | { | |
35204 | bool __tmp = __x; | |
35205 | __x = __y; | |
35206 | __y = __tmp; | |
35207 | } | |
35208 | ||
35209 | iterator | |
35210 | insert(iterator __position, const bool& __x = bool()) | |
35211 | { | |
35212 | const difference_type __n = __position - begin(); | |
35213 | if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage | |
35214 | && __position == end()) | |
35215 | *this->_M_impl._M_finish++ = __x; | |
35216 | else | |
35217 | _M_insert_aux(__position, __x); | |
35218 | return begin() + __n; | |
35219 | } | |
35220 | ||
35221 | template<typename _InputIterator> | |
35222 | void | |
35223 | insert(iterator __position, | |
35224 | _InputIterator __first, _InputIterator __last) | |
35225 | { | |
35226 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
35227 | _M_insert_dispatch(__position, __first, __last, _Integral()); | |
35228 | } | |
35229 | ||
35230 | void | |
35231 | insert(iterator __position, size_type __n, const bool& __x) | |
35232 | { _M_fill_insert(__position, __n, __x); } | |
35233 | ||
35234 | void | |
35235 | pop_back() | |
35236 | { --this->_M_impl._M_finish; } | |
35237 | ||
35238 | iterator | |
35239 | erase(iterator __position) | |
35240 | { | |
35241 | if (__position + 1 != end()) | |
35242 | std::copy(__position + 1, end(), __position); | |
35243 | --this->_M_impl._M_finish; | |
35244 | return __position; | |
35245 | } | |
35246 | ||
35247 | iterator | |
35248 | erase(iterator __first, iterator __last) | |
35249 | { | |
35250 | _M_erase_at_end(std::copy(__last, end(), __first)); | |
35251 | return __first; | |
35252 | } | |
35253 | ||
35254 | void | |
35255 | resize(size_type __new_size, bool __x = bool()) | |
35256 | { | |
35257 | if (__new_size < size()) | |
35258 | _M_erase_at_end(begin() + difference_type(__new_size)); | |
35259 | else | |
35260 | insert(end(), __new_size - size(), __x); | |
35261 | } | |
35262 | ||
35263 | void | |
35264 | flip() | |
35265 | { | |
35266 | for (_Bit_type * __p = this->_M_impl._M_start._M_p; | |
35267 | __p != this->_M_impl._M_end_of_storage; ++__p) | |
35268 | *__p = ~*__p; | |
35269 | } | |
35270 | ||
35271 | void | |
35272 | clear() | |
35273 | { _M_erase_at_end(begin()); } | |
35274 | ||
35275 | ||
35276 | protected: | |
35277 | ||
35278 | iterator | |
35279 | _M_copy_aligned(const_iterator __first, const_iterator __last, | |
35280 | iterator __result) | |
35281 | { | |
35282 | _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); | |
35283 | return std::copy(const_iterator(__last._M_p, 0), __last, | |
35284 | iterator(__q, 0)); | |
35285 | } | |
35286 | ||
35287 | void | |
35288 | _M_initialize(size_type __n) | |
35289 | { | |
35290 | _Bit_type* __q = this->_M_allocate(__n); | |
35291 | this->_M_impl._M_end_of_storage = (__q | |
35292 | + ((__n + int(_S_word_bit) - 1) | |
35293 | / int(_S_word_bit))); | |
35294 | this->_M_impl._M_start = iterator(__q, 0); | |
35295 | this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); | |
35296 | } | |
35297 | ||
35298 | ||
35299 | ||
35300 | ||
35301 | ||
35302 | template<typename _Integer> | |
35303 | void | |
35304 | _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) | |
35305 | { | |
35306 | _M_initialize(static_cast<size_type>(__n)); | |
35307 | std::fill(this->_M_impl._M_start._M_p, | |
35308 | this->_M_impl._M_end_of_storage, __x ? ~0 : 0); | |
35309 | } | |
35310 | ||
35311 | template<typename _InputIterator> | |
35312 | void | |
35313 | _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, | |
35314 | __false_type) | |
35315 | { _M_initialize_range(__first, __last, | |
35316 | std::__iterator_category(__first)); } | |
35317 | ||
35318 | template<typename _InputIterator> | |
35319 | void | |
35320 | _M_initialize_range(_InputIterator __first, _InputIterator __last, | |
35321 | std::input_iterator_tag) | |
35322 | { | |
35323 | for (; __first != __last; ++__first) | |
35324 | push_back(*__first); | |
35325 | } | |
35326 | ||
35327 | template<typename _ForwardIterator> | |
35328 | void | |
35329 | _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, | |
35330 | std::forward_iterator_tag) | |
35331 | { | |
35332 | const size_type __n = std::distance(__first, __last); | |
35333 | _M_initialize(__n); | |
35334 | std::copy(__first, __last, this->_M_impl._M_start); | |
35335 | } | |
35336 | ||
35337 | ||
35338 | ||
35339 | template<typename _Integer> | |
35340 | void | |
35341 | _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) | |
35342 | { _M_fill_assign(__n, __val); } | |
35343 | ||
35344 | template<class _InputIterator> | |
35345 | void | |
35346 | _M_assign_dispatch(_InputIterator __first, _InputIterator __last, | |
35347 | __false_type) | |
35348 | { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } | |
35349 | ||
35350 | void | |
35351 | _M_fill_assign(size_t __n, bool __x) | |
35352 | { | |
35353 | if (__n > size()) | |
35354 | { | |
35355 | std::fill(this->_M_impl._M_start._M_p, | |
35356 | this->_M_impl._M_end_of_storage, __x ? ~0 : 0); | |
35357 | insert(end(), __n - size(), __x); | |
35358 | } | |
35359 | else | |
35360 | { | |
35361 | _M_erase_at_end(begin() + __n); | |
35362 | std::fill(this->_M_impl._M_start._M_p, | |
35363 | this->_M_impl._M_end_of_storage, __x ? ~0 : 0); | |
35364 | } | |
35365 | } | |
35366 | ||
35367 | template<typename _InputIterator> | |
35368 | void | |
35369 | _M_assign_aux(_InputIterator __first, _InputIterator __last, | |
35370 | std::input_iterator_tag) | |
35371 | { | |
35372 | iterator __cur = begin(); | |
35373 | for (; __first != __last && __cur != end(); ++__cur, ++__first) | |
35374 | *__cur = *__first; | |
35375 | if (__first == __last) | |
35376 | _M_erase_at_end(__cur); | |
35377 | else | |
35378 | insert(end(), __first, __last); | |
35379 | } | |
35380 | ||
35381 | template<typename _ForwardIterator> | |
35382 | void | |
35383 | _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, | |
35384 | std::forward_iterator_tag) | |
35385 | { | |
35386 | const size_type __len = std::distance(__first, __last); | |
35387 | if (__len < size()) | |
35388 | _M_erase_at_end(std::copy(__first, __last, begin())); | |
35389 | else | |
35390 | { | |
35391 | _ForwardIterator __mid = __first; | |
35392 | std::advance(__mid, size()); | |
35393 | std::copy(__first, __mid, begin()); | |
35394 | insert(end(), __mid, __last); | |
35395 | } | |
35396 | } | |
35397 | ||
35398 | ||
35399 | ||
35400 | ||
35401 | ||
35402 | template<typename _Integer> | |
35403 | void | |
35404 | _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, | |
35405 | __true_type) | |
35406 | { _M_fill_insert(__pos, __n, __x); } | |
35407 | ||
35408 | template<typename _InputIterator> | |
35409 | void | |
35410 | _M_insert_dispatch(iterator __pos, | |
35411 | _InputIterator __first, _InputIterator __last, | |
35412 | __false_type) | |
35413 | { _M_insert_range(__pos, __first, __last, | |
35414 | std::__iterator_category(__first)); } | |
35415 | ||
35416 | void | |
35417 | _M_fill_insert(iterator __position, size_type __n, bool __x); | |
35418 | ||
35419 | template<typename _InputIterator> | |
35420 | void | |
35421 | _M_insert_range(iterator __pos, _InputIterator __first, | |
35422 | _InputIterator __last, std::input_iterator_tag) | |
35423 | { | |
35424 | for (; __first != __last; ++__first) | |
35425 | { | |
35426 | __pos = insert(__pos, *__first); | |
35427 | ++__pos; | |
35428 | } | |
35429 | } | |
35430 | ||
35431 | template<typename _ForwardIterator> | |
35432 | void | |
35433 | _M_insert_range(iterator __position, _ForwardIterator __first, | |
35434 | _ForwardIterator __last, std::forward_iterator_tag); | |
35435 | ||
35436 | void | |
35437 | _M_insert_aux(iterator __position, bool __x); | |
35438 | ||
35439 | size_type | |
35440 | _M_check_len(size_type __n, const char* __s) const | |
35441 | { | |
35442 | if (max_size() - size() < __n) | |
35443 | __throw_length_error((__s)); | |
35444 | ||
35445 | const size_type __len = size() + std::max(size(), __n); | |
35446 | return (__len < size() || __len > max_size()) ? max_size() : __len; | |
35447 | } | |
35448 | ||
35449 | void | |
35450 | _M_erase_at_end(iterator __pos) | |
35451 | { this->_M_impl._M_finish = __pos; } | |
35452 | }; | |
35453 | ||
35454 | } | |
35455 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 2 3 | |
35456 | ||
35457 | ||
35458 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/vector.tcc" 1 3 | |
35459 | # 63 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/vector.tcc" 3 | |
35460 | #define _VECTOR_TCC 1 | |
35461 | ||
35462 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
35463 | ||
35464 | template<typename _Tp, typename _Alloc> | |
35465 | void | |
35466 | vector<_Tp, _Alloc>:: | |
35467 | reserve(size_type __n) | |
35468 | { | |
35469 | if (__n > this->max_size()) | |
35470 | __throw_length_error(("vector::reserve")); | |
35471 | if (this->capacity() < __n) | |
35472 | { | |
35473 | const size_type __old_size = size(); | |
35474 | pointer __tmp = _M_allocate_and_copy(__n, | |
35475 | (this->_M_impl._M_start), | |
35476 | (this->_M_impl._M_finish)); | |
35477 | std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, | |
35478 | _M_get_Tp_allocator()); | |
35479 | _M_deallocate(this->_M_impl._M_start, | |
35480 | this->_M_impl._M_end_of_storage | |
35481 | - this->_M_impl._M_start); | |
35482 | this->_M_impl._M_start = __tmp; | |
35483 | this->_M_impl._M_finish = __tmp + __old_size; | |
35484 | this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; | |
35485 | } | |
35486 | } | |
35487 | ||
35488 | template<typename _Tp, typename _Alloc> | |
35489 | typename vector<_Tp, _Alloc>::iterator | |
35490 | vector<_Tp, _Alloc>:: | |
35491 | insert(iterator __position, const value_type& __x) | |
35492 | { | |
35493 | const size_type __n = __position - begin(); | |
35494 | if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage | |
35495 | && __position == end()) | |
35496 | { | |
35497 | this->_M_impl.construct(this->_M_impl._M_finish, __x); | |
35498 | ++this->_M_impl._M_finish; | |
35499 | } | |
35500 | else | |
35501 | { | |
35502 | # 113 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/vector.tcc" 3 | |
35503 | _M_insert_aux(__position, __x); | |
35504 | } | |
35505 | return iterator(this->_M_impl._M_start + __n); | |
35506 | } | |
35507 | ||
35508 | template<typename _Tp, typename _Alloc> | |
35509 | typename vector<_Tp, _Alloc>::iterator | |
35510 | vector<_Tp, _Alloc>:: | |
35511 | erase(iterator __position) | |
35512 | { | |
35513 | if (__position + 1 != end()) | |
35514 | std::copy(__position + 1, end(), __position); | |
35515 | --this->_M_impl._M_finish; | |
35516 | this->_M_impl.destroy(this->_M_impl._M_finish); | |
35517 | return __position; | |
35518 | } | |
35519 | ||
35520 | template<typename _Tp, typename _Alloc> | |
35521 | typename vector<_Tp, _Alloc>::iterator | |
35522 | vector<_Tp, _Alloc>:: | |
35523 | erase(iterator __first, iterator __last) | |
35524 | { | |
35525 | if (__last != end()) | |
35526 | std::copy(__last, end(), __first); | |
35527 | _M_erase_at_end(__first.base() + (end() - __last)); | |
35528 | return __first; | |
35529 | } | |
35530 | ||
35531 | template<typename _Tp, typename _Alloc> | |
35532 | vector<_Tp, _Alloc>& | |
35533 | vector<_Tp, _Alloc>:: | |
35534 | operator=(const vector<_Tp, _Alloc>& __x) | |
35535 | { | |
35536 | if (&__x != this) | |
35537 | { | |
35538 | const size_type __xlen = __x.size(); | |
35539 | if (__xlen > capacity()) | |
35540 | { | |
35541 | pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), | |
35542 | __x.end()); | |
35543 | std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, | |
35544 | _M_get_Tp_allocator()); | |
35545 | _M_deallocate(this->_M_impl._M_start, | |
35546 | this->_M_impl._M_end_of_storage | |
35547 | - this->_M_impl._M_start); | |
35548 | this->_M_impl._M_start = __tmp; | |
35549 | this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; | |
35550 | } | |
35551 | else if (size() >= __xlen) | |
35552 | { | |
35553 | std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), | |
35554 | end(), _M_get_Tp_allocator()); | |
35555 | } | |
35556 | else | |
35557 | { | |
35558 | std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), | |
35559 | this->_M_impl._M_start); | |
35560 | std::__uninitialized_copy_a(__x._M_impl._M_start + size(), | |
35561 | __x._M_impl._M_finish, | |
35562 | this->_M_impl._M_finish, | |
35563 | _M_get_Tp_allocator()); | |
35564 | } | |
35565 | this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; | |
35566 | } | |
35567 | return *this; | |
35568 | } | |
35569 | ||
35570 | template<typename _Tp, typename _Alloc> | |
35571 | void | |
35572 | vector<_Tp, _Alloc>:: | |
35573 | _M_fill_assign(size_t __n, const value_type& __val) | |
35574 | { | |
35575 | if (__n > capacity()) | |
35576 | { | |
35577 | vector __tmp(__n, __val, _M_get_Tp_allocator()); | |
35578 | __tmp.swap(*this); | |
35579 | } | |
35580 | else if (__n > size()) | |
35581 | { | |
35582 | std::fill(begin(), end(), __val); | |
35583 | std::__uninitialized_fill_n_a(this->_M_impl._M_finish, | |
35584 | __n - size(), __val, | |
35585 | _M_get_Tp_allocator()); | |
35586 | this->_M_impl._M_finish += __n - size(); | |
35587 | } | |
35588 | else | |
35589 | _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); | |
35590 | } | |
35591 | ||
35592 | template<typename _Tp, typename _Alloc> | |
35593 | template<typename _InputIterator> | |
35594 | void | |
35595 | vector<_Tp, _Alloc>:: | |
35596 | _M_assign_aux(_InputIterator __first, _InputIterator __last, | |
35597 | std::input_iterator_tag) | |
35598 | { | |
35599 | pointer __cur(this->_M_impl._M_start); | |
35600 | for (; __first != __last && __cur != this->_M_impl._M_finish; | |
35601 | ++__cur, ++__first) | |
35602 | *__cur = *__first; | |
35603 | if (__first == __last) | |
35604 | _M_erase_at_end(__cur); | |
35605 | else | |
35606 | insert(end(), __first, __last); | |
35607 | } | |
35608 | ||
35609 | template<typename _Tp, typename _Alloc> | |
35610 | template<typename _ForwardIterator> | |
35611 | void | |
35612 | vector<_Tp, _Alloc>:: | |
35613 | _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, | |
35614 | std::forward_iterator_tag) | |
35615 | { | |
35616 | const size_type __len = std::distance(__first, __last); | |
35617 | ||
35618 | if (__len > capacity()) | |
35619 | { | |
35620 | pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); | |
35621 | std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, | |
35622 | _M_get_Tp_allocator()); | |
35623 | _M_deallocate(this->_M_impl._M_start, | |
35624 | this->_M_impl._M_end_of_storage | |
35625 | - this->_M_impl._M_start); | |
35626 | this->_M_impl._M_start = __tmp; | |
35627 | this->_M_impl._M_finish = this->_M_impl._M_start + __len; | |
35628 | this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; | |
35629 | } | |
35630 | else if (size() >= __len) | |
35631 | _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); | |
35632 | else | |
35633 | { | |
35634 | _ForwardIterator __mid = __first; | |
35635 | std::advance(__mid, size()); | |
35636 | std::copy(__first, __mid, this->_M_impl._M_start); | |
35637 | this->_M_impl._M_finish = | |
35638 | std::__uninitialized_copy_a(__mid, __last, | |
35639 | this->_M_impl._M_finish, | |
35640 | _M_get_Tp_allocator()); | |
35641 | } | |
35642 | } | |
35643 | # 280 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/bits/vector.tcc" 3 | |
35644 | template<typename _Tp, typename _Alloc> | |
35645 | void | |
35646 | vector<_Tp, _Alloc>:: | |
35647 | _M_insert_aux(iterator __position, const _Tp& __x) | |
35648 | ||
35649 | { | |
35650 | if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) | |
35651 | { | |
35652 | this->_M_impl.construct(this->_M_impl._M_finish, | |
35653 | (*(this->_M_impl._M_finish - 1))); | |
35654 | ||
35655 | ++this->_M_impl._M_finish; | |
35656 | ||
35657 | _Tp __x_copy = __x; | |
35658 | ||
35659 | std::copy_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1); | |
35660 | ||
35661 | ||
35662 | ||
35663 | *__position = __x_copy; | |
35664 | ||
35665 | ||
35666 | ||
35667 | } | |
35668 | else | |
35669 | { | |
35670 | const size_type __len = | |
35671 | _M_check_len(size_type(1), "vector::_M_insert_aux"); | |
35672 | pointer __new_start(this->_M_allocate(__len)); | |
35673 | pointer __new_finish(__new_start); | |
35674 | try | |
35675 | { | |
35676 | ||
35677 | ||
35678 | ||
35679 | ||
35680 | __new_finish = | |
35681 | std::__uninitialized_move_a(this->_M_impl._M_start, | |
35682 | __position.base(), __new_start, | |
35683 | _M_get_Tp_allocator()); | |
35684 | ||
35685 | this->_M_impl.construct(__new_finish, __x); | |
35686 | ||
35687 | ++__new_finish; | |
35688 | __new_finish = | |
35689 | std::__uninitialized_move_a(__position.base(), | |
35690 | this->_M_impl._M_finish, | |
35691 | __new_finish, | |
35692 | _M_get_Tp_allocator()); | |
35693 | } | |
35694 | catch(...) | |
35695 | { | |
35696 | std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); | |
35697 | _M_deallocate(__new_start, __len); | |
35698 | throw; | |
35699 | } | |
35700 | std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, | |
35701 | _M_get_Tp_allocator()); | |
35702 | _M_deallocate(this->_M_impl._M_start, | |
35703 | this->_M_impl._M_end_of_storage | |
35704 | - this->_M_impl._M_start); | |
35705 | this->_M_impl._M_start = __new_start; | |
35706 | this->_M_impl._M_finish = __new_finish; | |
35707 | this->_M_impl._M_end_of_storage = __new_start + __len; | |
35708 | } | |
35709 | } | |
35710 | ||
35711 | template<typename _Tp, typename _Alloc> | |
35712 | void | |
35713 | vector<_Tp, _Alloc>:: | |
35714 | _M_fill_insert(iterator __position, size_type __n, const value_type& __x) | |
35715 | { | |
35716 | if (__n != 0) | |
35717 | { | |
35718 | ||
35719 | ||
35720 | ||
35721 | if (size_type(this->_M_impl._M_end_of_storage | |
35722 | - this->_M_impl._M_finish) >= __n) | |
35723 | { | |
35724 | ||
35725 | value_type __x_copy = __x; | |
35726 | ||
35727 | const size_type __elems_after = end() - __position; | |
35728 | pointer __old_finish(this->_M_impl._M_finish); | |
35729 | if (__elems_after > __n) | |
35730 | { | |
35731 | std::__uninitialized_move_a(this->_M_impl._M_finish - __n, | |
35732 | this->_M_impl._M_finish, | |
35733 | this->_M_impl._M_finish, | |
35734 | _M_get_Tp_allocator()); | |
35735 | this->_M_impl._M_finish += __n; | |
35736 | std::copy_backward(__position.base(), __old_finish - __n, __old_finish); | |
35737 | ||
35738 | std::fill(__position.base(), __position.base() + __n, | |
35739 | __x_copy); | |
35740 | } | |
35741 | else | |
35742 | { | |
35743 | std::__uninitialized_fill_n_a(this->_M_impl._M_finish, | |
35744 | __n - __elems_after, | |
35745 | __x_copy, | |
35746 | _M_get_Tp_allocator()); | |
35747 | this->_M_impl._M_finish += __n - __elems_after; | |
35748 | std::__uninitialized_move_a(__position.base(), __old_finish, | |
35749 | this->_M_impl._M_finish, | |
35750 | _M_get_Tp_allocator()); | |
35751 | this->_M_impl._M_finish += __elems_after; | |
35752 | std::fill(__position.base(), __old_finish, __x_copy); | |
35753 | } | |
35754 | } | |
35755 | else | |
35756 | { | |
35757 | const size_type __len = | |
35758 | _M_check_len(__n, "vector::_M_fill_insert"); | |
35759 | pointer __new_start(this->_M_allocate(__len)); | |
35760 | pointer __new_finish(__new_start); | |
35761 | try | |
35762 | { | |
35763 | __new_finish = | |
35764 | std::__uninitialized_move_a(this->_M_impl._M_start, | |
35765 | __position.base(), | |
35766 | __new_start, | |
35767 | _M_get_Tp_allocator()); | |
35768 | ||
35769 | ||
35770 | ||
35771 | std::__uninitialized_fill_n_a(__new_finish, __n, __x, | |
35772 | ||
35773 | _M_get_Tp_allocator()); | |
35774 | __new_finish += __n; | |
35775 | __new_finish = | |
35776 | std::__uninitialized_move_a(__position.base(), | |
35777 | this->_M_impl._M_finish, | |
35778 | __new_finish, | |
35779 | _M_get_Tp_allocator()); | |
35780 | } | |
35781 | catch(...) | |
35782 | { | |
35783 | std::_Destroy(__new_start, __new_finish, | |
35784 | _M_get_Tp_allocator()); | |
35785 | _M_deallocate(__new_start, __len); | |
35786 | throw; | |
35787 | } | |
35788 | std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, | |
35789 | _M_get_Tp_allocator()); | |
35790 | _M_deallocate(this->_M_impl._M_start, | |
35791 | this->_M_impl._M_end_of_storage | |
35792 | - this->_M_impl._M_start); | |
35793 | this->_M_impl._M_start = __new_start; | |
35794 | this->_M_impl._M_finish = __new_finish; | |
35795 | this->_M_impl._M_end_of_storage = __new_start + __len; | |
35796 | } | |
35797 | } | |
35798 | } | |
35799 | ||
35800 | template<typename _Tp, typename _Alloc> | |
35801 | template<typename _InputIterator> | |
35802 | void | |
35803 | vector<_Tp, _Alloc>:: | |
35804 | _M_range_insert(iterator __pos, _InputIterator __first, | |
35805 | _InputIterator __last, std::input_iterator_tag) | |
35806 | { | |
35807 | for (; __first != __last; ++__first) | |
35808 | { | |
35809 | __pos = insert(__pos, *__first); | |
35810 | ++__pos; | |
35811 | } | |
35812 | } | |
35813 | ||
35814 | template<typename _Tp, typename _Alloc> | |
35815 | template<typename _ForwardIterator> | |
35816 | void | |
35817 | vector<_Tp, _Alloc>:: | |
35818 | _M_range_insert(iterator __position, _ForwardIterator __first, | |
35819 | _ForwardIterator __last, std::forward_iterator_tag) | |
35820 | { | |
35821 | if (__first != __last) | |
35822 | { | |
35823 | const size_type __n = std::distance(__first, __last); | |
35824 | if (size_type(this->_M_impl._M_end_of_storage | |
35825 | - this->_M_impl._M_finish) >= __n) | |
35826 | { | |
35827 | const size_type __elems_after = end() - __position; | |
35828 | pointer __old_finish(this->_M_impl._M_finish); | |
35829 | if (__elems_after > __n) | |
35830 | { | |
35831 | std::__uninitialized_move_a(this->_M_impl._M_finish - __n, | |
35832 | this->_M_impl._M_finish, | |
35833 | this->_M_impl._M_finish, | |
35834 | _M_get_Tp_allocator()); | |
35835 | this->_M_impl._M_finish += __n; | |
35836 | std::copy_backward(__position.base(), __old_finish - __n, __old_finish); | |
35837 | ||
35838 | std::copy(__first, __last, __position); | |
35839 | } | |
35840 | else | |
35841 | { | |
35842 | _ForwardIterator __mid = __first; | |
35843 | std::advance(__mid, __elems_after); | |
35844 | std::__uninitialized_copy_a(__mid, __last, | |
35845 | this->_M_impl._M_finish, | |
35846 | _M_get_Tp_allocator()); | |
35847 | this->_M_impl._M_finish += __n - __elems_after; | |
35848 | std::__uninitialized_move_a(__position.base(), | |
35849 | __old_finish, | |
35850 | this->_M_impl._M_finish, | |
35851 | _M_get_Tp_allocator()); | |
35852 | this->_M_impl._M_finish += __elems_after; | |
35853 | std::copy(__first, __mid, __position); | |
35854 | } | |
35855 | } | |
35856 | else | |
35857 | { | |
35858 | const size_type __len = | |
35859 | _M_check_len(__n, "vector::_M_range_insert"); | |
35860 | pointer __new_start(this->_M_allocate(__len)); | |
35861 | pointer __new_finish(__new_start); | |
35862 | try | |
35863 | { | |
35864 | __new_finish = | |
35865 | std::__uninitialized_move_a(this->_M_impl._M_start, | |
35866 | __position.base(), | |
35867 | __new_start, | |
35868 | _M_get_Tp_allocator()); | |
35869 | __new_finish = | |
35870 | std::__uninitialized_copy_a(__first, __last, | |
35871 | __new_finish, | |
35872 | _M_get_Tp_allocator()); | |
35873 | __new_finish = | |
35874 | std::__uninitialized_move_a(__position.base(), | |
35875 | this->_M_impl._M_finish, | |
35876 | __new_finish, | |
35877 | _M_get_Tp_allocator()); | |
35878 | } | |
35879 | catch(...) | |
35880 | { | |
35881 | std::_Destroy(__new_start, __new_finish, | |
35882 | _M_get_Tp_allocator()); | |
35883 | _M_deallocate(__new_start, __len); | |
35884 | throw; | |
35885 | } | |
35886 | std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, | |
35887 | _M_get_Tp_allocator()); | |
35888 | _M_deallocate(this->_M_impl._M_start, | |
35889 | this->_M_impl._M_end_of_storage | |
35890 | - this->_M_impl._M_start); | |
35891 | this->_M_impl._M_start = __new_start; | |
35892 | this->_M_impl._M_finish = __new_finish; | |
35893 | this->_M_impl._M_end_of_storage = __new_start + __len; | |
35894 | } | |
35895 | } | |
35896 | } | |
35897 | ||
35898 | ||
35899 | ||
35900 | ||
35901 | template<typename _Alloc> | |
35902 | void | |
35903 | vector<bool, _Alloc>:: | |
35904 | reserve(size_type __n) | |
35905 | { | |
35906 | if (__n > this->max_size()) | |
35907 | __throw_length_error(("vector::reserve")); | |
35908 | if (this->capacity() < __n) | |
35909 | { | |
35910 | _Bit_type* __q = this->_M_allocate(__n); | |
35911 | this->_M_impl._M_finish = _M_copy_aligned(begin(), end(), | |
35912 | iterator(__q, 0)); | |
35913 | this->_M_deallocate(); | |
35914 | this->_M_impl._M_start = iterator(__q, 0); | |
35915 | this->_M_impl._M_end_of_storage = (__q + (__n + int(_S_word_bit) - 1) | |
35916 | / int(_S_word_bit)); | |
35917 | } | |
35918 | } | |
35919 | ||
35920 | template<typename _Alloc> | |
35921 | void | |
35922 | vector<bool, _Alloc>:: | |
35923 | _M_fill_insert(iterator __position, size_type __n, bool __x) | |
35924 | { | |
35925 | if (__n == 0) | |
35926 | return; | |
35927 | if (capacity() - size() >= __n) | |
35928 | { | |
35929 | std::copy_backward(__position, end(), | |
35930 | this->_M_impl._M_finish + difference_type(__n)); | |
35931 | std::fill(__position, __position + difference_type(__n), __x); | |
35932 | this->_M_impl._M_finish += difference_type(__n); | |
35933 | } | |
35934 | else | |
35935 | { | |
35936 | const size_type __len = | |
35937 | _M_check_len(__n, "vector<bool>::_M_fill_insert"); | |
35938 | _Bit_type * __q = this->_M_allocate(__len); | |
35939 | iterator __i = _M_copy_aligned(begin(), __position, | |
35940 | iterator(__q, 0)); | |
35941 | std::fill(__i, __i + difference_type(__n), __x); | |
35942 | this->_M_impl._M_finish = std::copy(__position, end(), | |
35943 | __i + difference_type(__n)); | |
35944 | this->_M_deallocate(); | |
35945 | this->_M_impl._M_end_of_storage = (__q + ((__len | |
35946 | + int(_S_word_bit) - 1) | |
35947 | / int(_S_word_bit))); | |
35948 | this->_M_impl._M_start = iterator(__q, 0); | |
35949 | } | |
35950 | } | |
35951 | ||
35952 | template<typename _Alloc> | |
35953 | template<typename _ForwardIterator> | |
35954 | void | |
35955 | vector<bool, _Alloc>:: | |
35956 | _M_insert_range(iterator __position, _ForwardIterator __first, | |
35957 | _ForwardIterator __last, std::forward_iterator_tag) | |
35958 | { | |
35959 | if (__first != __last) | |
35960 | { | |
35961 | size_type __n = std::distance(__first, __last); | |
35962 | if (capacity() - size() >= __n) | |
35963 | { | |
35964 | std::copy_backward(__position, end(), | |
35965 | this->_M_impl._M_finish | |
35966 | + difference_type(__n)); | |
35967 | std::copy(__first, __last, __position); | |
35968 | this->_M_impl._M_finish += difference_type(__n); | |
35969 | } | |
35970 | else | |
35971 | { | |
35972 | const size_type __len = | |
35973 | _M_check_len(__n, "vector<bool>::_M_insert_range"); | |
35974 | _Bit_type * __q = this->_M_allocate(__len); | |
35975 | iterator __i = _M_copy_aligned(begin(), __position, | |
35976 | iterator(__q, 0)); | |
35977 | __i = std::copy(__first, __last, __i); | |
35978 | this->_M_impl._M_finish = std::copy(__position, end(), __i); | |
35979 | this->_M_deallocate(); | |
35980 | this->_M_impl._M_end_of_storage = (__q | |
35981 | + ((__len | |
35982 | + int(_S_word_bit) - 1) | |
35983 | / int(_S_word_bit))); | |
35984 | this->_M_impl._M_start = iterator(__q, 0); | |
35985 | } | |
35986 | } | |
35987 | } | |
35988 | ||
35989 | template<typename _Alloc> | |
35990 | void | |
35991 | vector<bool, _Alloc>:: | |
35992 | _M_insert_aux(iterator __position, bool __x) | |
35993 | { | |
35994 | if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage) | |
35995 | { | |
35996 | std::copy_backward(__position, this->_M_impl._M_finish, | |
35997 | this->_M_impl._M_finish + 1); | |
35998 | *__position = __x; | |
35999 | ++this->_M_impl._M_finish; | |
36000 | } | |
36001 | else | |
36002 | { | |
36003 | const size_type __len = | |
36004 | _M_check_len(size_type(1), "vector<bool>::_M_insert_aux"); | |
36005 | _Bit_type * __q = this->_M_allocate(__len); | |
36006 | iterator __i = _M_copy_aligned(begin(), __position, | |
36007 | iterator(__q, 0)); | |
36008 | *__i++ = __x; | |
36009 | this->_M_impl._M_finish = std::copy(__position, end(), __i); | |
36010 | this->_M_deallocate(); | |
36011 | this->_M_impl._M_end_of_storage = (__q + ((__len | |
36012 | + int(_S_word_bit) - 1) | |
36013 | / int(_S_word_bit))); | |
36014 | this->_M_impl._M_start = iterator(__q, 0); | |
36015 | } | |
36016 | } | |
36017 | ||
36018 | } | |
36019 | # 75 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/c++/vector" 2 3 | |
36020 | # 53 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" 2 | |
36021 | ||
36022 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 1 3 4 | |
36023 | # 28 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36024 | #define __need_size_t | |
36025 | ||
36026 | ||
36027 | ||
36028 | ||
36029 | #define __need_NULL | |
36030 | ||
36031 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
36032 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36033 | #undef __need_ptrdiff_t | |
36034 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36035 | #undef __need_size_t | |
36036 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36037 | #undef __need_wchar_t | |
36038 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36039 | #undef NULL | |
36040 | ||
36041 | #define NULL __null | |
36042 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36043 | #undef __need_NULL | |
36044 | ||
36045 | ||
36046 | ||
36047 | ||
36048 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
36049 | # 36 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 2 3 4 | |
36050 | ||
36051 | extern "C" { | |
36052 | ||
36053 | ||
36054 | #define _STDLIB_H 1 | |
36055 | ||
36056 | ||
36057 | ||
36058 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/waitflags.h" 1 3 4 | |
36059 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/waitflags.h" 3 4 | |
36060 | #define WNOHANG 1 | |
36061 | #define WUNTRACED 2 | |
36062 | ||
36063 | ||
36064 | #define WSTOPPED 2 | |
36065 | #define WEXITED 4 | |
36066 | #define WCONTINUED 8 | |
36067 | #define WNOWAIT 0x01000000 | |
36068 | ||
36069 | #define __WNOTHREAD 0x20000000 | |
36070 | ||
36071 | #define __WALL 0x40000000 | |
36072 | #define __WCLONE 0x80000000 | |
36073 | # 45 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 2 3 4 | |
36074 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/waitstatus.h" 1 3 4 | |
36075 | # 29 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/waitstatus.h" 3 4 | |
36076 | #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) | |
36077 | ||
36078 | ||
36079 | #define __WTERMSIG(status) ((status) & 0x7f) | |
36080 | ||
36081 | ||
36082 | #define __WSTOPSIG(status) __WEXITSTATUS(status) | |
36083 | ||
36084 | ||
36085 | #define __WIFEXITED(status) (__WTERMSIG(status) == 0) | |
36086 | ||
36087 | ||
36088 | #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) | |
36089 | ||
36090 | ||
36091 | ||
36092 | #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) | |
36093 | ||
36094 | ||
36095 | ||
36096 | ||
36097 | #define __WIFCONTINUED(status) ((status) == __W_CONTINUED) | |
36098 | ||
36099 | ||
36100 | ||
36101 | #define __WCOREDUMP(status) ((status) & __WCOREFLAG) | |
36102 | ||
36103 | ||
36104 | #define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig)) | |
36105 | #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) | |
36106 | #define __W_CONTINUED 0xffff | |
36107 | #define __WCOREFLAG 0x80 | |
36108 | ||
36109 | ||
36110 | ||
36111 | ||
36112 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/endian.h" 1 3 4 | |
36113 | # 20 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/endian.h" 3 4 | |
36114 | #define _ENDIAN_H 1 | |
36115 | # 32 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/endian.h" 3 4 | |
36116 | #define __LITTLE_ENDIAN 1234 | |
36117 | #define __BIG_ENDIAN 4321 | |
36118 | #define __PDP_ENDIAN 3412 | |
36119 | ||
36120 | ||
36121 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/endian.h" 1 3 4 | |
36122 | ||
36123 | ||
36124 | ||
36125 | ||
36126 | ||
36127 | ||
36128 | #define __BYTE_ORDER __LITTLE_ENDIAN | |
36129 | # 38 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/endian.h" 2 3 4 | |
36130 | ||
36131 | ||
36132 | ||
36133 | ||
36134 | #define __FLOAT_WORD_ORDER __BYTE_ORDER | |
36135 | ||
36136 | ||
36137 | ||
36138 | #define LITTLE_ENDIAN __LITTLE_ENDIAN | |
36139 | #define BIG_ENDIAN __BIG_ENDIAN | |
36140 | #define PDP_ENDIAN __PDP_ENDIAN | |
36141 | #define BYTE_ORDER __BYTE_ORDER | |
36142 | ||
36143 | ||
36144 | ||
36145 | #define __LONG_LONG_PAIR(HI,LO) LO, HI | |
36146 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/waitstatus.h" 2 3 4 | |
36147 | ||
36148 | union wait | |
36149 | { | |
36150 | int w_status; | |
36151 | struct | |
36152 | { | |
36153 | ||
36154 | unsigned int __w_termsig:7; | |
36155 | unsigned int __w_coredump:1; | |
36156 | unsigned int __w_retcode:8; | |
36157 | unsigned int:16; | |
36158 | ||
36159 | ||
36160 | ||
36161 | ||
36162 | ||
36163 | ||
36164 | ||
36165 | } __wait_terminated; | |
36166 | struct | |
36167 | { | |
36168 | ||
36169 | unsigned int __w_stopval:8; | |
36170 | unsigned int __w_stopsig:8; | |
36171 | unsigned int:16; | |
36172 | ||
36173 | ||
36174 | ||
36175 | ||
36176 | ||
36177 | ||
36178 | } __wait_stopped; | |
36179 | }; | |
36180 | ||
36181 | #define w_termsig __wait_terminated.__w_termsig | |
36182 | #define w_coredump __wait_terminated.__w_coredump | |
36183 | #define w_retcode __wait_terminated.__w_retcode | |
36184 | #define w_stopsig __wait_stopped.__w_stopsig | |
36185 | #define w_stopval __wait_stopped.__w_stopval | |
36186 | # 46 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 2 3 4 | |
36187 | # 57 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36188 | #define __WAIT_INT(status) (*(int *) &(status)) | |
36189 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36190 | #define __WAIT_STATUS void * | |
36191 | #define __WAIT_STATUS_DEFN void * | |
36192 | # 87 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36193 | #define WEXITSTATUS(status) __WEXITSTATUS(__WAIT_INT(status)) | |
36194 | #define WTERMSIG(status) __WTERMSIG(__WAIT_INT(status)) | |
36195 | #define WSTOPSIG(status) __WSTOPSIG(__WAIT_INT(status)) | |
36196 | #define WIFEXITED(status) __WIFEXITED(__WAIT_INT(status)) | |
36197 | #define WIFSIGNALED(status) __WIFSIGNALED(__WAIT_INT(status)) | |
36198 | #define WIFSTOPPED(status) __WIFSTOPPED(__WAIT_INT(status)) | |
36199 | ||
36200 | ||
36201 | ||
36202 | ||
36203 | ||
36204 | ||
36205 | ||
36206 | typedef struct | |
36207 | { | |
36208 | int quot; | |
36209 | int rem; | |
36210 | } div_t; | |
36211 | ||
36212 | ||
36213 | ||
36214 | typedef struct | |
36215 | { | |
36216 | long int quot; | |
36217 | long int rem; | |
36218 | } ldiv_t; | |
36219 | #define __ldiv_t_defined 1 | |
36220 | ||
36221 | ||
36222 | ||
36223 | ||
36224 | ||
36225 | ||
36226 | __extension__ typedef struct | |
36227 | { | |
36228 | long long int quot; | |
36229 | long long int rem; | |
36230 | } lldiv_t; | |
36231 | #define __lldiv_t_defined 1 | |
36232 | ||
36233 | ||
36234 | ||
36235 | ||
36236 | ||
36237 | #define RAND_MAX 2147483647 | |
36238 | ||
36239 | ||
36240 | ||
36241 | ||
36242 | #define EXIT_FAILURE 1 | |
36243 | #define EXIT_SUCCESS 0 | |
36244 | # 151 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36245 | ||
36246 | ||
36247 | ||
36248 | extern double atof (__const char *__nptr) | |
36249 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
36250 | ||
36251 | ||
36252 | extern int atoi (__const char *__nptr) | |
36253 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
36254 | ||
36255 | extern long int atol (__const char *__nptr) | |
36256 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
36257 | ||
36258 | ||
36259 | ||
36260 | ||
36261 | ||
36262 | __extension__ extern long long int atoll (__const char *__nptr) | |
36263 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
36264 | ||
36265 | ||
36266 | ||
36267 | ||
36268 | ||
36269 | ||
36270 | extern double strtod (__const char *__restrict __nptr, | |
36271 | char **__restrict __endptr) | |
36272 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36273 | ||
36274 | ||
36275 | ||
36276 | ||
36277 | ||
36278 | extern float strtof (__const char *__restrict __nptr, | |
36279 | char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; | |
36280 | ||
36281 | extern long double strtold (__const char *__restrict __nptr, | |
36282 | char **__restrict __endptr) | |
36283 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36284 | ||
36285 | ||
36286 | ||
36287 | ||
36288 | ||
36289 | ||
36290 | extern long int strtol (__const char *__restrict __nptr, | |
36291 | char **__restrict __endptr, int __base) | |
36292 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36293 | ||
36294 | extern unsigned long int strtoul (__const char *__restrict __nptr, | |
36295 | char **__restrict __endptr, int __base) | |
36296 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36297 | ||
36298 | ||
36299 | ||
36300 | ||
36301 | __extension__ | |
36302 | extern long long int strtoq (__const char *__restrict __nptr, | |
36303 | char **__restrict __endptr, int __base) | |
36304 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36305 | ||
36306 | __extension__ | |
36307 | extern unsigned long long int strtouq (__const char *__restrict __nptr, | |
36308 | char **__restrict __endptr, int __base) | |
36309 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36310 | ||
36311 | ||
36312 | ||
36313 | ||
36314 | ||
36315 | __extension__ | |
36316 | extern long long int strtoll (__const char *__restrict __nptr, | |
36317 | char **__restrict __endptr, int __base) | |
36318 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36319 | ||
36320 | __extension__ | |
36321 | extern unsigned long long int strtoull (__const char *__restrict __nptr, | |
36322 | char **__restrict __endptr, int __base) | |
36323 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36324 | ||
36325 | # 297 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36326 | extern char *l64a (long int __n) throw () ; | |
36327 | ||
36328 | ||
36329 | extern long int a64l (__const char *__s) | |
36330 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
36331 | ||
36332 | ||
36333 | ||
36334 | ||
36335 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 1 3 4 | |
36336 | # 25 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36337 | #define _SYS_TYPES_H 1 | |
36338 | ||
36339 | ||
36340 | ||
36341 | extern "C" { | |
36342 | ||
36343 | ||
36344 | ||
36345 | ||
36346 | ||
36347 | typedef __u_char u_char; | |
36348 | typedef __u_short u_short; | |
36349 | typedef __u_int u_int; | |
36350 | typedef __u_long u_long; | |
36351 | typedef __quad_t quad_t; | |
36352 | typedef __u_quad_t u_quad_t; | |
36353 | typedef __fsid_t fsid_t; | |
36354 | #define __u_char_defined | |
36355 | ||
36356 | ||
36357 | ||
36358 | typedef __loff_t loff_t; | |
36359 | ||
36360 | ||
36361 | ||
36362 | typedef __ino_t ino_t; | |
36363 | ||
36364 | ||
36365 | ||
36366 | #define __ino_t_defined | |
36367 | ||
36368 | ||
36369 | typedef __ino64_t ino64_t; | |
36370 | #define __ino64_t_defined | |
36371 | ||
36372 | ||
36373 | ||
36374 | typedef __dev_t dev_t; | |
36375 | #define __dev_t_defined | |
36376 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36377 | typedef __mode_t mode_t; | |
36378 | #define __mode_t_defined | |
36379 | ||
36380 | ||
36381 | ||
36382 | typedef __nlink_t nlink_t; | |
36383 | #define __nlink_t_defined | |
36384 | # 105 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36385 | typedef __id_t id_t; | |
36386 | #define __id_t_defined | |
36387 | # 116 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36388 | typedef __daddr_t daddr_t; | |
36389 | typedef __caddr_t caddr_t; | |
36390 | #define __daddr_t_defined | |
36391 | ||
36392 | ||
36393 | ||
36394 | ||
36395 | typedef __key_t key_t; | |
36396 | #define __key_t_defined | |
36397 | ||
36398 | ||
36399 | ||
36400 | #define __need_clock_t | |
36401 | ||
36402 | #define __need_time_t | |
36403 | #define __need_timer_t | |
36404 | #define __need_clockid_t | |
36405 | # 141 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36406 | typedef __suseconds_t suseconds_t; | |
36407 | #define __suseconds_t_defined | |
36408 | ||
36409 | ||
36410 | ||
36411 | #define __need_size_t | |
36412 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
36413 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36414 | #undef __need_ptrdiff_t | |
36415 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36416 | #undef __need_size_t | |
36417 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36418 | #undef __need_wchar_t | |
36419 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36420 | #undef NULL | |
36421 | ||
36422 | #define NULL __null | |
36423 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36424 | #undef __need_NULL | |
36425 | ||
36426 | ||
36427 | ||
36428 | ||
36429 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
36430 | # 148 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 2 3 4 | |
36431 | ||
36432 | ||
36433 | ||
36434 | typedef unsigned long int ulong; | |
36435 | typedef unsigned short int ushort; | |
36436 | typedef unsigned int uint; | |
36437 | # 188 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36438 | #define __intN_t(N,MODE) typedef int int ##N ##_t __attribute__ ((__mode__ (MODE))) | |
36439 | ||
36440 | #define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE))) | |
36441 | # 201 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36442 | typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); | |
36443 | typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); | |
36444 | typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); | |
36445 | typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); | |
36446 | ||
36447 | typedef int register_t __attribute__ ((__mode__ (__word__))); | |
36448 | ||
36449 | ||
36450 | ||
36451 | ||
36452 | ||
36453 | #define __BIT_TYPES_DEFINED__ 1 | |
36454 | ||
36455 | ||
36456 | ||
36457 | ||
36458 | ||
36459 | ||
36460 | ||
36461 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 1 3 4 | |
36462 | # 23 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 3 4 | |
36463 | #define _SYS_SELECT_H 1 | |
36464 | ||
36465 | ||
36466 | ||
36467 | ||
36468 | ||
36469 | ||
36470 | ||
36471 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/select.h" 1 3 4 | |
36472 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/select.h" 3 4 | |
36473 | #define __FD_ZERO(s) do { unsigned int __i; fd_set *__arr = (s); for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) __FDS_BITS (__arr)[__i] = 0; } while (0) | |
36474 | ||
36475 | ||
36476 | ||
36477 | ||
36478 | ||
36479 | ||
36480 | #define __FD_SET(d,s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)) | |
36481 | #define __FD_CLR(d,s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)) | |
36482 | #define __FD_ISSET(d,s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0) | |
36483 | # 32 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 2 3 4 | |
36484 | ||
36485 | ||
36486 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/sigset.h" 1 3 4 | |
36487 | # 35 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 2 3 4 | |
36488 | ||
36489 | ||
36490 | ||
36491 | ||
36492 | ||
36493 | ||
36494 | ||
36495 | #define __need_time_t | |
36496 | #define __need_timespec | |
36497 | ||
36498 | #define __need_timeval | |
36499 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/time.h" 1 3 4 | |
36500 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/time.h" 3 4 | |
36501 | #undef __need_timeval | |
36502 | ||
36503 | #define _STRUCT_TIMEVAL 1 | |
36504 | ||
36505 | ||
36506 | ||
36507 | ||
36508 | struct timeval | |
36509 | { | |
36510 | __time_t tv_sec; | |
36511 | __suseconds_t tv_usec; | |
36512 | }; | |
36513 | # 47 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 2 3 4 | |
36514 | # 55 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 3 4 | |
36515 | typedef long int __fd_mask; | |
36516 | ||
36517 | ||
36518 | #undef __NFDBITS | |
36519 | #undef __FDELT | |
36520 | #undef __FDMASK | |
36521 | ||
36522 | #define __NFDBITS (8 * sizeof (__fd_mask)) | |
36523 | #define __FDELT(d) ((d) / __NFDBITS) | |
36524 | #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS)) | |
36525 | ||
36526 | ||
36527 | typedef struct | |
36528 | { | |
36529 | ||
36530 | ||
36531 | ||
36532 | __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; | |
36533 | #define __FDS_BITS(set) ((set)->fds_bits) | |
36534 | ||
36535 | ||
36536 | ||
36537 | ||
36538 | } fd_set; | |
36539 | ||
36540 | ||
36541 | #define FD_SETSIZE __FD_SETSIZE | |
36542 | ||
36543 | ||
36544 | ||
36545 | typedef __fd_mask fd_mask; | |
36546 | ||
36547 | ||
36548 | #define NFDBITS __NFDBITS | |
36549 | ||
36550 | ||
36551 | ||
36552 | ||
36553 | #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp) | |
36554 | #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp) | |
36555 | #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp) | |
36556 | #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) | |
36557 | ||
36558 | ||
36559 | extern "C" { | |
36560 | # 109 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 3 4 | |
36561 | extern int select (int __nfds, fd_set *__restrict __readfds, | |
36562 | fd_set *__restrict __writefds, | |
36563 | fd_set *__restrict __exceptfds, | |
36564 | struct timeval *__restrict __timeout); | |
36565 | # 121 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 3 4 | |
36566 | extern int pselect (int __nfds, fd_set *__restrict __readfds, | |
36567 | fd_set *__restrict __writefds, | |
36568 | fd_set *__restrict __exceptfds, | |
36569 | const struct timespec *__restrict __timeout, | |
36570 | const __sigset_t *__restrict __sigmask); | |
36571 | ||
36572 | ||
36573 | } | |
36574 | # 221 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 2 3 4 | |
36575 | ||
36576 | ||
36577 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/sysmacros.h" 1 3 4 | |
36578 | # 21 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/sysmacros.h" 3 4 | |
36579 | #define _SYS_SYSMACROS_H 1 | |
36580 | ||
36581 | ||
36582 | ||
36583 | ||
36584 | ||
36585 | ||
36586 | ||
36587 | __extension__ | |
36588 | static __inline unsigned int gnu_dev_major (unsigned long long int __dev) | |
36589 | throw (); | |
36590 | __extension__ | |
36591 | static __inline unsigned int gnu_dev_minor (unsigned long long int __dev) | |
36592 | throw (); | |
36593 | __extension__ | |
36594 | static __inline unsigned long long int gnu_dev_makedev (unsigned int __major, | |
36595 | unsigned int __minor) | |
36596 | throw (); | |
36597 | ||
36598 | ||
36599 | __extension__ static __inline unsigned int | |
36600 | gnu_dev_major (unsigned long long int __dev) throw () | |
36601 | { | |
36602 | return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); | |
36603 | } | |
36604 | ||
36605 | __extension__ static __inline unsigned int | |
36606 | gnu_dev_minor (unsigned long long int __dev) throw () | |
36607 | { | |
36608 | return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); | |
36609 | } | |
36610 | ||
36611 | __extension__ static __inline unsigned long long int | |
36612 | gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () | |
36613 | { | |
36614 | return ((__minor & 0xff) | ((__major & 0xfff) << 8) | |
36615 | | (((unsigned long long int) (__minor & ~0xff)) << 12) | |
36616 | | (((unsigned long long int) (__major & ~0xfff)) << 32)); | |
36617 | } | |
36618 | ||
36619 | ||
36620 | ||
36621 | ||
36622 | #define major(dev) gnu_dev_major (dev) | |
36623 | #define minor(dev) gnu_dev_minor (dev) | |
36624 | #define makedev(maj,min) gnu_dev_makedev (maj, min) | |
36625 | # 224 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 2 3 4 | |
36626 | ||
36627 | ||
36628 | ||
36629 | ||
36630 | typedef __blksize_t blksize_t; | |
36631 | #define __blksize_t_defined | |
36632 | ||
36633 | ||
36634 | ||
36635 | ||
36636 | ||
36637 | typedef __blkcnt_t blkcnt_t; | |
36638 | #define __blkcnt_t_defined | |
36639 | ||
36640 | ||
36641 | typedef __fsblkcnt_t fsblkcnt_t; | |
36642 | #define __fsblkcnt_t_defined | |
36643 | ||
36644 | ||
36645 | typedef __fsfilcnt_t fsfilcnt_t; | |
36646 | #define __fsfilcnt_t_defined | |
36647 | # 262 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 3 4 | |
36648 | typedef __blkcnt64_t blkcnt64_t; | |
36649 | typedef __fsblkcnt64_t fsblkcnt64_t; | |
36650 | typedef __fsfilcnt64_t fsfilcnt64_t; | |
36651 | ||
36652 | ||
36653 | ||
36654 | ||
36655 | ||
36656 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/pthreadtypes.h" 1 3 4 | |
36657 | # 271 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/types.h" 2 3 4 | |
36658 | ||
36659 | ||
36660 | } | |
36661 | # 307 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 2 3 4 | |
36662 | ||
36663 | ||
36664 | ||
36665 | ||
36666 | ||
36667 | ||
36668 | extern long int random (void) throw (); | |
36669 | ||
36670 | ||
36671 | extern void srandom (unsigned int __seed) throw (); | |
36672 | ||
36673 | ||
36674 | ||
36675 | ||
36676 | ||
36677 | extern char *initstate (unsigned int __seed, char *__statebuf, | |
36678 | size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); | |
36679 | ||
36680 | ||
36681 | ||
36682 | extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); | |
36683 | ||
36684 | ||
36685 | ||
36686 | ||
36687 | ||
36688 | ||
36689 | ||
36690 | struct random_data | |
36691 | { | |
36692 | int32_t *fptr; | |
36693 | int32_t *rptr; | |
36694 | int32_t *state; | |
36695 | int rand_type; | |
36696 | int rand_deg; | |
36697 | int rand_sep; | |
36698 | int32_t *end_ptr; | |
36699 | }; | |
36700 | ||
36701 | extern int random_r (struct random_data *__restrict __buf, | |
36702 | int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); | |
36703 | ||
36704 | extern int srandom_r (unsigned int __seed, struct random_data *__buf) | |
36705 | throw () __attribute__ ((__nonnull__ (2))); | |
36706 | ||
36707 | extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, | |
36708 | size_t __statelen, | |
36709 | struct random_data *__restrict __buf) | |
36710 | throw () __attribute__ ((__nonnull__ (2, 4))); | |
36711 | ||
36712 | extern int setstate_r (char *__restrict __statebuf, | |
36713 | struct random_data *__restrict __buf) | |
36714 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
36715 | ||
36716 | ||
36717 | ||
36718 | ||
36719 | ||
36720 | ||
36721 | extern int rand (void) throw (); | |
36722 | ||
36723 | extern void srand (unsigned int __seed) throw (); | |
36724 | ||
36725 | ||
36726 | ||
36727 | ||
36728 | extern int rand_r (unsigned int *__seed) throw (); | |
36729 | # 382 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36730 | extern double drand48 (void) throw (); | |
36731 | extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); | |
36732 | ||
36733 | ||
36734 | ||
36735 | extern long int lrand48 (void) throw (); | |
36736 | extern long int nrand48 (unsigned short int __xsubi[3]) | |
36737 | throw () __attribute__ ((__nonnull__ (1))); | |
36738 | ||
36739 | ||
36740 | extern long int mrand48 (void) throw (); | |
36741 | extern long int jrand48 (unsigned short int __xsubi[3]) | |
36742 | throw () __attribute__ ((__nonnull__ (1))); | |
36743 | ||
36744 | ||
36745 | extern void srand48 (long int __seedval) throw (); | |
36746 | extern unsigned short int *seed48 (unsigned short int __seed16v[3]) | |
36747 | throw () __attribute__ ((__nonnull__ (1))); | |
36748 | extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); | |
36749 | ||
36750 | ||
36751 | ||
36752 | ||
36753 | ||
36754 | struct drand48_data | |
36755 | { | |
36756 | unsigned short int __x[3]; | |
36757 | unsigned short int __old_x[3]; | |
36758 | unsigned short int __c; | |
36759 | unsigned short int __init; | |
36760 | unsigned long long int __a; | |
36761 | }; | |
36762 | ||
36763 | ||
36764 | ||
36765 | extern int drand48_r (struct drand48_data *__restrict __buffer, | |
36766 | double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); | |
36767 | extern int erand48_r (unsigned short int __xsubi[3], | |
36768 | struct drand48_data *__restrict __buffer, | |
36769 | double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); | |
36770 | ||
36771 | ||
36772 | ||
36773 | extern int lrand48_r (struct drand48_data *__restrict __buffer, | |
36774 | long int *__restrict __result) | |
36775 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
36776 | extern int nrand48_r (unsigned short int __xsubi[3], | |
36777 | struct drand48_data *__restrict __buffer, | |
36778 | long int *__restrict __result) | |
36779 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
36780 | ||
36781 | ||
36782 | extern int mrand48_r (struct drand48_data *__restrict __buffer, | |
36783 | long int *__restrict __result) | |
36784 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
36785 | extern int jrand48_r (unsigned short int __xsubi[3], | |
36786 | struct drand48_data *__restrict __buffer, | |
36787 | long int *__restrict __result) | |
36788 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
36789 | ||
36790 | ||
36791 | extern int srand48_r (long int __seedval, struct drand48_data *__buffer) | |
36792 | throw () __attribute__ ((__nonnull__ (2))); | |
36793 | ||
36794 | extern int seed48_r (unsigned short int __seed16v[3], | |
36795 | struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); | |
36796 | ||
36797 | extern int lcong48_r (unsigned short int __param[7], | |
36798 | struct drand48_data *__buffer) | |
36799 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
36800 | ||
36801 | ||
36802 | ||
36803 | ||
36804 | ||
36805 | ||
36806 | #define __malloc_and_calloc_defined | |
36807 | ||
36808 | ||
36809 | extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ; | |
36810 | ||
36811 | extern void *calloc (size_t __nmemb, size_t __size) | |
36812 | throw () __attribute__ ((__malloc__)) ; | |
36813 | ||
36814 | ||
36815 | ||
36816 | ||
36817 | ||
36818 | ||
36819 | ||
36820 | extern void *realloc (void *__ptr, size_t __size) | |
36821 | throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); | |
36822 | ||
36823 | extern void free (void *__ptr) throw (); | |
36824 | ||
36825 | ||
36826 | ||
36827 | ||
36828 | extern void cfree (void *__ptr) throw (); | |
36829 | ||
36830 | ||
36831 | ||
36832 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/alloca.h" 1 3 4 | |
36833 | # 20 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/alloca.h" 3 4 | |
36834 | #define _ALLOCA_H 1 | |
36835 | ||
36836 | ||
36837 | ||
36838 | #define __need_size_t | |
36839 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 1 3 4 | |
36840 | # 163 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36841 | #undef __need_ptrdiff_t | |
36842 | # 236 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36843 | #undef __need_size_t | |
36844 | # 345 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36845 | #undef __need_wchar_t | |
36846 | # 398 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36847 | #undef NULL | |
36848 | ||
36849 | #define NULL __null | |
36850 | # 409 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include/stddef.h" 3 4 | |
36851 | #undef __need_NULL | |
36852 | ||
36853 | ||
36854 | ||
36855 | ||
36856 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
36857 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/alloca.h" 2 3 4 | |
36858 | ||
36859 | extern "C" { | |
36860 | ||
36861 | ||
36862 | #undef alloca | |
36863 | ||
36864 | ||
36865 | extern void *alloca (size_t __size) throw (); | |
36866 | ||
36867 | ||
36868 | #define alloca(size) __builtin_alloca (size) | |
36869 | ||
36870 | ||
36871 | #define __MAX_ALLOCA_CUTOFF 65536 | |
36872 | ||
36873 | } | |
36874 | # 485 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 2 3 4 | |
36875 | ||
36876 | ||
36877 | ||
36878 | ||
36879 | extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ; | |
36880 | ||
36881 | ||
36882 | ||
36883 | ||
36884 | extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) | |
36885 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36886 | ||
36887 | ||
36888 | ||
36889 | ||
36890 | extern void abort (void) throw () __attribute__ ((__noreturn__)); | |
36891 | ||
36892 | ||
36893 | ||
36894 | extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); | |
36895 | ||
36896 | ||
36897 | ||
36898 | ||
36899 | ||
36900 | extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) | |
36901 | throw () __attribute__ ((__nonnull__ (1))); | |
36902 | ||
36903 | ||
36904 | ||
36905 | ||
36906 | ||
36907 | ||
36908 | extern void exit (int __status) throw () __attribute__ ((__noreturn__)); | |
36909 | ||
36910 | ||
36911 | ||
36912 | ||
36913 | ||
36914 | ||
36915 | extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); | |
36916 | ||
36917 | ||
36918 | ||
36919 | ||
36920 | ||
36921 | ||
36922 | extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; | |
36923 | ||
36924 | ||
36925 | ||
36926 | ||
36927 | extern char *__secure_getenv (__const char *__name) | |
36928 | throw () __attribute__ ((__nonnull__ (1))) ; | |
36929 | ||
36930 | ||
36931 | ||
36932 | ||
36933 | ||
36934 | extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); | |
36935 | ||
36936 | ||
36937 | ||
36938 | ||
36939 | ||
36940 | extern int setenv (__const char *__name, __const char *__value, int __replace) | |
36941 | throw () __attribute__ ((__nonnull__ (2))); | |
36942 | ||
36943 | ||
36944 | extern int unsetenv (__const char *__name) throw (); | |
36945 | ||
36946 | ||
36947 | ||
36948 | ||
36949 | ||
36950 | #define __UCLIBC_MAX_ATEXIT INT_MAX | |
36951 | # 570 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36952 | extern int clearenv (void) throw (); | |
36953 | # 579 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36954 | extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; | |
36955 | # 590 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36956 | extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; | |
36957 | # 600 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36958 | extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; | |
36959 | # 610 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36960 | extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; | |
36961 | ||
36962 | ||
36963 | ||
36964 | ||
36965 | ||
36966 | ||
36967 | ||
36968 | ||
36969 | extern int system (__const char *__command) ; | |
36970 | ||
36971 | # 639 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
36972 | extern char *realpath (__const char *__restrict __name, | |
36973 | char *__restrict __resolved) throw () __attribute__ ((__nonnull__ (2))); | |
36974 | ||
36975 | ||
36976 | ||
36977 | ||
36978 | ||
36979 | #define __COMPAR_FN_T | |
36980 | typedef int (*__compar_fn_t) (__const void *, __const void *); | |
36981 | ||
36982 | ||
36983 | typedef __compar_fn_t comparison_fn_t; | |
36984 | ||
36985 | ||
36986 | ||
36987 | ||
36988 | ||
36989 | ||
36990 | extern void *bsearch (__const void *__key, __const void *__base, | |
36991 | size_t __nmemb, size_t __size, __compar_fn_t __compar) | |
36992 | __attribute__ ((__nonnull__ (1, 2, 5))) ; | |
36993 | ||
36994 | ||
36995 | ||
36996 | extern void qsort (void *__base, size_t __nmemb, size_t __size, | |
36997 | __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); | |
36998 | ||
36999 | ||
37000 | ||
37001 | extern int abs (int __x) throw () __attribute__ ((__const__)) ; | |
37002 | extern long int labs (long int __x) throw () __attribute__ ((__const__)) ; | |
37003 | ||
37004 | ||
37005 | ||
37006 | __extension__ extern long long int llabs (long long int __x) | |
37007 | throw () __attribute__ ((__const__)) ; | |
37008 | ||
37009 | ||
37010 | ||
37011 | ||
37012 | ||
37013 | ||
37014 | ||
37015 | extern div_t div (int __numer, int __denom) | |
37016 | throw () __attribute__ ((__const__)) ; | |
37017 | extern ldiv_t ldiv (long int __numer, long int __denom) | |
37018 | throw () __attribute__ ((__const__)) ; | |
37019 | ||
37020 | ||
37021 | ||
37022 | ||
37023 | __extension__ extern lldiv_t lldiv (long long int __numer, | |
37024 | long long int __denom) | |
37025 | throw () __attribute__ ((__const__)) ; | |
37026 | ||
37027 | # 720 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
37028 | extern char *gcvt (double __value, int __ndigit, char *__buf) | |
37029 | throw () __attribute__ ((__nonnull__ (3))) ; | |
37030 | # 786 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
37031 | extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))) ; | |
37032 | # 797 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
37033 | extern int getsubopt (char **__restrict __optionp, | |
37034 | char *__const *__restrict __tokens, | |
37035 | char **__restrict __valuep) | |
37036 | throw () __attribute__ ((__nonnull__ (1, 2, 3))) ; | |
37037 | ||
37038 | ||
37039 | ||
37040 | ||
37041 | ||
37042 | ||
37043 | extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1))); | |
37044 | # 816 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
37045 | extern int posix_openpt (int __oflag) ; | |
37046 | ||
37047 | ||
37048 | ||
37049 | ||
37050 | ||
37051 | ||
37052 | ||
37053 | extern int grantpt (int __fd) throw (); | |
37054 | ||
37055 | ||
37056 | ||
37057 | extern int unlockpt (int __fd) throw (); | |
37058 | ||
37059 | ||
37060 | ||
37061 | ||
37062 | extern char *ptsname (int __fd) throw () ; | |
37063 | # 842 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
37064 | extern int ptsname_r (int __fd, char *__buf, size_t __buflen) | |
37065 | throw () __attribute__ ((__nonnull__ (2))); | |
37066 | # 867 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4 | |
37067 | #undef __need_malloc_and_calloc | |
37068 | ||
37069 | } | |
37070 | # 55 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" 2 | |
37071 | ||
37072 | ||
37073 | ||
37074 | ||
37075 | ||
37076 | ||
37077 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
37078 | ||
37079 | struct __attribute__((visibility("default"))) QVectorData | |
37080 | { | |
37081 | QBasicAtomicInt ref; | |
37082 | int alloc; | |
37083 | int size; | |
37084 | ||
37085 | ||
37086 | ||
37087 | ||
37088 | ||
37089 | uint sharable : 1; | |
37090 | uint capacity : 1; | |
37091 | ||
37092 | ||
37093 | static QVectorData shared_null; | |
37094 | ||
37095 | ||
37096 | static QVectorData *malloc(int sizeofTypedData, int size, int sizeofT, QVectorData *init); | |
37097 | static int grow(int sizeofTypedData, int size, int sizeofT, bool excessive); | |
37098 | }; | |
37099 | ||
37100 | template <typename T> | |
37101 | struct QVectorTypedData | |
37102 | { | |
37103 | QBasicAtomicInt ref; | |
37104 | int alloc; | |
37105 | int size; | |
37106 | ||
37107 | ||
37108 | ||
37109 | ||
37110 | ||
37111 | uint sharable : 1; | |
37112 | uint capacity : 1; | |
37113 | ||
37114 | T array[1]; | |
37115 | }; | |
37116 | ||
37117 | class QRegion; | |
37118 | ||
37119 | template <typename T> | |
37120 | class QVector | |
37121 | { | |
37122 | typedef QVectorTypedData<T> Data; | |
37123 | union { QVectorData *p; QVectorTypedData<T> *d; }; | |
37124 | ||
37125 | public: | |
37126 | inline QVector() : p(&QVectorData::shared_null) { d->ref.ref(); } | |
37127 | explicit QVector(int size); | |
37128 | QVector(int size, const T &t); | |
37129 | inline QVector(const QVector<T> &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } | |
37130 | inline ~QVector() { if (!d) return; if (!d->ref.deref()) free(d); } | |
37131 | QVector<T> &operator=(const QVector<T> &v); | |
37132 | bool operator==(const QVector<T> &v) const; | |
37133 | inline bool operator!=(const QVector<T> &v) const { return !(*this == v); } | |
37134 | ||
37135 | inline int size() const { return d->size; } | |
37136 | ||
37137 | inline bool isEmpty() const { return d->size == 0; } | |
37138 | ||
37139 | void resize(int size); | |
37140 | ||
37141 | inline int capacity() const { return d->alloc; } | |
37142 | void reserve(int size); | |
37143 | inline void squeeze() { realloc(d->size, d->size); d->capacity = 0; } | |
37144 | ||
37145 | inline void detach() { if (d->ref != 1) detach_helper(); } | |
37146 | inline bool isDetached() const { return d->ref == 1; } | |
37147 | inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } | |
37148 | ||
37149 | inline T *data() { detach(); return d->array; } | |
37150 | inline const T *data() const { return d->array; } | |
37151 | inline const T *constData() const { return d->array; } | |
37152 | void clear(); | |
37153 | ||
37154 | const T &at(int i) const; | |
37155 | T &operator[](int i); | |
37156 | const T &operator[](int i) const; | |
37157 | void append(const T &t); | |
37158 | void prepend(const T &t); | |
37159 | void insert(int i, const T &t); | |
37160 | void insert(int i, int n, const T &t); | |
37161 | void replace(int i, const T &t); | |
37162 | void remove(int i); | |
37163 | void remove(int i, int n); | |
37164 | ||
37165 | QVector<T> &fill(const T &t, int size = -1); | |
37166 | ||
37167 | int indexOf(const T &t, int from = 0) const; | |
37168 | int lastIndexOf(const T &t, int from = -1) const; | |
37169 | bool contains(const T &t) const; | |
37170 | int count(const T &t) const; | |
37171 | # 225 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" | |
37172 | typedef T* iterator; | |
37173 | typedef const T* const_iterator; | |
37174 | ||
37175 | inline iterator begin() { detach(); return d->array; } | |
37176 | inline const_iterator begin() const { return d->array; } | |
37177 | inline const_iterator constBegin() const { return d->array; } | |
37178 | inline iterator end() { detach(); return d->array + d->size; } | |
37179 | inline const_iterator end() const { return d->array + d->size; } | |
37180 | inline const_iterator constEnd() const { return d->array + d->size; } | |
37181 | iterator insert(iterator before, int n, const T &x); | |
37182 | inline iterator insert(iterator before, const T &x) { return insert(before, 1, x); } | |
37183 | iterator erase(iterator begin, iterator end); | |
37184 | inline iterator erase(iterator pos) { return erase(pos, pos+1); } | |
37185 | ||
37186 | ||
37187 | inline int count() const { return d->size; } | |
37188 | inline T& first() { qt_noop(); return *begin(); } | |
37189 | inline const T &first() const { qt_noop(); return *begin(); } | |
37190 | inline T& last() { qt_noop(); return *(end()-1); } | |
37191 | inline const T &last() const { qt_noop(); return *(end()-1); } | |
37192 | inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } | |
37193 | inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } | |
37194 | QVector<T> mid(int pos, int length = -1) const; | |
37195 | ||
37196 | T value(int i) const; | |
37197 | T value(int i, const T &defaultValue) const; | |
37198 | ||
37199 | ||
37200 | typedef T value_type; | |
37201 | typedef value_type* pointer; | |
37202 | typedef const value_type* const_pointer; | |
37203 | typedef value_type& reference; | |
37204 | typedef const value_type& const_reference; | |
37205 | ||
37206 | typedef ptrdiff_t difference_type; | |
37207 | ||
37208 | ||
37209 | ||
37210 | typedef iterator Iterator; | |
37211 | typedef const_iterator ConstIterator; | |
37212 | typedef int size_type; | |
37213 | inline void push_back(const T &t) { append(t); } | |
37214 | inline void push_front(const T &t) { prepend(t); } | |
37215 | void pop_back() { qt_noop(); erase(end()-1); } | |
37216 | void pop_front() { qt_noop(); erase(begin()); } | |
37217 | inline bool empty() const | |
37218 | { return d->size == 0; } | |
37219 | inline T& front() { return first(); } | |
37220 | inline const_reference front() const { return first(); } | |
37221 | inline reference back() { return last(); } | |
37222 | inline const_reference back() const { return last(); } | |
37223 | ||
37224 | ||
37225 | QVector<T> &operator+=(const QVector<T> &l); | |
37226 | inline QVector<T> operator+(const QVector<T> &l) const | |
37227 | { QVector n = *this; n += l; return n; } | |
37228 | inline QVector<T> &operator+=(const T &t) | |
37229 | { append(t); return *this; } | |
37230 | inline QVector<T> &operator<< (const T &t) | |
37231 | { append(t); return *this; } | |
37232 | inline QVector<T> &operator<<(const QVector<T> &l) | |
37233 | { *this += l; return *this; } | |
37234 | ||
37235 | QList<T> toList() const; | |
37236 | ||
37237 | static QVector<T> fromList(const QList<T> &list); | |
37238 | ||
37239 | ||
37240 | static inline QVector<T> fromStdVector(const std::vector<T> &vector) | |
37241 | { QVector<T> tmp; qCopy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; } | |
37242 | inline std::vector<T> toStdVector() const | |
37243 | { std::vector<T> tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; } | |
37244 | ||
37245 | ||
37246 | private: | |
37247 | friend class QRegion; | |
37248 | ||
37249 | void detach_helper(); | |
37250 | QVectorData *malloc(int alloc); | |
37251 | void realloc(int size, int alloc); | |
37252 | void free(Data *d); | |
37253 | int sizeOfTypedData() { | |
37254 | ||
37255 | ||
37256 | return reinterpret_cast<const char *>(&(reinterpret_cast<const Data *>(this))->array[1]) - reinterpret_cast<const char *>(this); | |
37257 | } | |
37258 | }; | |
37259 | ||
37260 | template <typename T> | |
37261 | void QVector<T>::detach_helper() | |
37262 | { realloc(d->size, d->alloc); } | |
37263 | template <typename T> | |
37264 | void QVector<T>::reserve(int asize) | |
37265 | { if (asize > d->alloc) realloc(d->size, asize); d->capacity = 1; } | |
37266 | template <typename T> | |
37267 | void QVector<T>::resize(int asize) | |
37268 | { realloc(asize, (asize > d->alloc || (!d->capacity && asize < d->size && asize < (d->alloc >> 1))) ? | |
37269 | QVectorData::grow(sizeOfTypedData(), asize, sizeof(T), QTypeInfo<T>::isStatic) | |
37270 | : d->alloc); } | |
37271 | template <typename T> | |
37272 | inline void QVector<T>::clear() | |
37273 | { *this = QVector<T>(); } | |
37274 | template <typename T> | |
37275 | inline const T &QVector<T>::at(int i) const | |
37276 | { qt_noop(); | |
37277 | return d->array[i]; } | |
37278 | template <typename T> | |
37279 | inline const T &QVector<T>::operator[](int i) const | |
37280 | { qt_noop(); | |
37281 | return d->array[i]; } | |
37282 | template <typename T> | |
37283 | inline T &QVector<T>::operator[](int i) | |
37284 | { qt_noop(); | |
37285 | return data()[i]; } | |
37286 | template <typename T> | |
37287 | inline void QVector<T>::insert(int i, const T &t) | |
37288 | { qt_noop(); | |
37289 | insert(begin() + i, 1, t); } | |
37290 | template <typename T> | |
37291 | inline void QVector<T>::insert(int i, int n, const T &t) | |
37292 | { qt_noop(); | |
37293 | insert(begin() + i, n, t); } | |
37294 | template <typename T> | |
37295 | inline void QVector<T>::remove(int i, int n) | |
37296 | { qt_noop(); | |
37297 | erase(begin() + i, begin() + i + n); } | |
37298 | template <typename T> | |
37299 | inline void QVector<T>::remove(int i) | |
37300 | { qt_noop(); | |
37301 | erase(begin() + i, begin() + i + 1); } | |
37302 | template <typename T> | |
37303 | inline void QVector<T>::prepend(const T &t) | |
37304 | { insert(begin(), 1, t); } | |
37305 | ||
37306 | template <typename T> | |
37307 | inline void QVector<T>::replace(int i, const T &t) | |
37308 | { | |
37309 | qt_noop(); | |
37310 | const T copy(t); | |
37311 | data()[i] = copy; | |
37312 | } | |
37313 | ||
37314 | template <typename T> | |
37315 | QVector<T> &QVector<T>::operator=(const QVector<T> &v) | |
37316 | { | |
37317 | v.d->ref.ref(); | |
37318 | if (!d->ref.deref()) | |
37319 | free(d); | |
37320 | d = v.d; | |
37321 | if (!d->sharable) | |
37322 | detach_helper(); | |
37323 | return *this; | |
37324 | } | |
37325 | ||
37326 | template <typename T> | |
37327 | inline QVectorData *QVector<T>::malloc(int aalloc) | |
37328 | { | |
37329 | return static_cast<QVectorData *>(qMalloc(sizeOfTypedData() + (aalloc - 1) * sizeof(T))); | |
37330 | } | |
37331 | ||
37332 | template <typename T> | |
37333 | QVector<T>::QVector(int asize) | |
37334 | { | |
37335 | p = malloc(asize); | |
37336 | d->ref = 1; | |
37337 | d->alloc = d->size = asize; | |
37338 | d->sharable = true; | |
37339 | d->capacity = false; | |
37340 | if (QTypeInfo<T>::isComplex) { | |
37341 | T* b = d->array; | |
37342 | T* i = d->array + d->size; | |
37343 | while (i != b) | |
37344 | new (--i) T; | |
37345 | } else { | |
37346 | qMemSet(d->array, 0, asize * sizeof(T)); | |
37347 | } | |
37348 | } | |
37349 | ||
37350 | template <typename T> | |
37351 | QVector<T>::QVector(int asize, const T &t) | |
37352 | { | |
37353 | p = malloc(asize); | |
37354 | d->ref = 1; | |
37355 | d->alloc = d->size = asize; | |
37356 | d->sharable = true; | |
37357 | d->capacity = false; | |
37358 | T* i = d->array + d->size; | |
37359 | while (i != d->array) | |
37360 | new (--i) T(t); | |
37361 | } | |
37362 | ||
37363 | template <typename T> | |
37364 | void QVector<T>::free(Data *x) | |
37365 | { | |
37366 | if (QTypeInfo<T>::isComplex) { | |
37367 | T* b = x->array; | |
37368 | T* i = b + x->size; | |
37369 | while (i-- != b) | |
37370 | i->~T(); | |
37371 | } | |
37372 | qFree(x); | |
37373 | } | |
37374 | ||
37375 | template <typename T> | |
37376 | void QVector<T>::realloc(int asize, int aalloc) | |
37377 | { | |
37378 | T *j, *i, *b; | |
37379 | union { QVectorData *p; Data *d; } x; | |
37380 | x.d = d; | |
37381 | ||
37382 | if (QTypeInfo<T>::isComplex && aalloc == d->alloc && d->ref == 1) { | |
37383 | ||
37384 | i = d->array + d->size; | |
37385 | j = d->array + asize; | |
37386 | if (i > j) { | |
37387 | while (i-- != j) | |
37388 | i->~T(); | |
37389 | } else { | |
37390 | while (j-- != i) | |
37391 | new (j) T; | |
37392 | } | |
37393 | d->size = asize; | |
37394 | return; | |
37395 | } | |
37396 | ||
37397 | if (aalloc != d->alloc || d->ref != 1) { | |
37398 | ||
37399 | if (QTypeInfo<T>::isStatic) { | |
37400 | x.p = malloc(aalloc); | |
37401 | } else if (d->ref != 1) { | |
37402 | x.p = QVectorData::malloc(sizeOfTypedData(), aalloc, sizeof(T), p); | |
37403 | } else { | |
37404 | if (QTypeInfo<T>::isComplex) { | |
37405 | ||
37406 | ||
37407 | if (asize < d->size) { | |
37408 | j = d->array + asize; | |
37409 | i = d->array + d->size; | |
37410 | while (i-- != j) | |
37411 | i->~T(); | |
37412 | i = d->array + asize; | |
37413 | } | |
37414 | } | |
37415 | x.p = p = static_cast<QVectorData *>(qRealloc(p, sizeOfTypedData() + (aalloc - 1) * sizeof(T))); | |
37416 | } | |
37417 | x.d->ref = 1; | |
37418 | x.d->sharable = true; | |
37419 | x.d->capacity = d->capacity; | |
37420 | ||
37421 | } | |
37422 | if (QTypeInfo<T>::isComplex) { | |
37423 | if (asize < d->size) { | |
37424 | j = d->array + asize; | |
37425 | i = x.d->array + asize; | |
37426 | } else { | |
37427 | ||
37428 | i = x.d->array + asize; | |
37429 | j = x.d->array + d->size; | |
37430 | while (i != j) | |
37431 | new (--i) T; | |
37432 | j = d->array + d->size; | |
37433 | } | |
37434 | if (i != j) { | |
37435 | ||
37436 | b = x.d->array; | |
37437 | while (i != b) | |
37438 | new (--i) T(*--j); | |
37439 | } | |
37440 | } else if (asize > d->size) { | |
37441 | ||
37442 | qMemSet(x.d->array + d->size, 0, (asize - d->size) * sizeof(T)); | |
37443 | } | |
37444 | x.d->size = asize; | |
37445 | x.d->alloc = aalloc; | |
37446 | if (d != x.d) { | |
37447 | if (!d->ref.deref()) | |
37448 | free(d); | |
37449 | d = x.d; | |
37450 | } | |
37451 | } | |
37452 | ||
37453 | template<typename T> | |
37454 | T QVector<T>::value(int i) const | |
37455 | { | |
37456 | if (i < 0 || i >= p->size) { | |
37457 | return T(); | |
37458 | } | |
37459 | return d->array[i]; | |
37460 | } | |
37461 | template<typename T> | |
37462 | T QVector<T>::value(int i, const T &defaultValue) const | |
37463 | { | |
37464 | return ((i < 0 || i >= p->size) ? defaultValue : d->array[i]); | |
37465 | } | |
37466 | ||
37467 | template <typename T> | |
37468 | void QVector<T>::append(const T &t) | |
37469 | { | |
37470 | if (d->ref != 1 || d->size + 1 > d->alloc) { | |
37471 | const T copy(t); | |
37472 | realloc(d->size, QVectorData::grow(sizeOfTypedData(), d->size + 1, sizeof(T), | |
37473 | QTypeInfo<T>::isStatic)); | |
37474 | if (QTypeInfo<T>::isComplex) | |
37475 | new (d->array + d->size) T(copy); | |
37476 | else | |
37477 | d->array[d->size] = copy; | |
37478 | } else { | |
37479 | if (QTypeInfo<T>::isComplex) | |
37480 | new (d->array + d->size) T(t); | |
37481 | else | |
37482 | d->array[d->size] = t; | |
37483 | } | |
37484 | ++d->size; | |
37485 | } | |
37486 | ||
37487 | template <typename T> | |
37488 | typename QVector<T>::iterator QVector<T>::insert(iterator before, size_type n, const T &t) | |
37489 | { | |
37490 | int offset = before - d->array; | |
37491 | if (n != 0) { | |
37492 | const T copy(t); | |
37493 | if (d->ref != 1 || d->size + n > d->alloc) | |
37494 | realloc(d->size, QVectorData::grow(sizeOfTypedData(), d->size + n, sizeof(T), | |
37495 | QTypeInfo<T>::isStatic)); | |
37496 | if (QTypeInfo<T>::isStatic) { | |
37497 | T *b = d->array + d->size; | |
37498 | T *i = d->array + d->size + n; | |
37499 | while (i != b) | |
37500 | new (--i) T; | |
37501 | i = d->array + d->size; | |
37502 | T *j = i + n; | |
37503 | b = d->array + offset; | |
37504 | while (i != b) | |
37505 | *--j = *--i; | |
37506 | i = b+n; | |
37507 | while (i != b) | |
37508 | *--i = copy; | |
37509 | } else { | |
37510 | T *b = d->array + offset; | |
37511 | T *i = b + n; | |
37512 | memmove(i, b, (d->size - offset) * sizeof(T)); | |
37513 | while (i != b) | |
37514 | new (--i) T(copy); | |
37515 | } | |
37516 | d->size += n; | |
37517 | } | |
37518 | return d->array + offset; | |
37519 | } | |
37520 | ||
37521 | template <typename T> | |
37522 | typename QVector<T>::iterator QVector<T>::erase(iterator abegin, iterator aend) | |
37523 | { | |
37524 | int f = abegin - d->array; | |
37525 | int l = aend - d->array; | |
37526 | int n = l - f; | |
37527 | detach(); | |
37528 | if (QTypeInfo<T>::isComplex) { | |
37529 | qCopy(d->array+l, d->array+d->size, d->array+f); | |
37530 | T *i = d->array+d->size; | |
37531 | T* b = d->array+d->size-n; | |
37532 | while (i != b) { | |
37533 | --i; | |
37534 | i->~T(); | |
37535 | } | |
37536 | } else { | |
37537 | memmove(d->array + f, d->array + l, (d->size-l)*sizeof(T)); | |
37538 | } | |
37539 | d->size -= n; | |
37540 | return d->array + f; | |
37541 | } | |
37542 | ||
37543 | template <typename T> | |
37544 | bool QVector<T>::operator==(const QVector<T> &v) const | |
37545 | { | |
37546 | if (d->size != v.d->size) | |
37547 | return false; | |
37548 | if (d == v.d) | |
37549 | return true; | |
37550 | T* b = d->array; | |
37551 | T* i = b + d->size; | |
37552 | T* j = v.d->array + d->size; | |
37553 | while (i != b) | |
37554 | if (!(*--i == *--j)) | |
37555 | return false; | |
37556 | return true; | |
37557 | } | |
37558 | ||
37559 | template <typename T> | |
37560 | QVector<T> &QVector<T>::fill(const T &from, int asize) | |
37561 | { | |
37562 | const T copy(from); | |
37563 | resize(asize < 0 ? d->size : asize); | |
37564 | if (d->size) { | |
37565 | T *i = d->array + d->size; | |
37566 | T *b = d->array; | |
37567 | while (i != b) | |
37568 | *--i = copy; | |
37569 | } | |
37570 | return *this; | |
37571 | } | |
37572 | ||
37573 | template <typename T> | |
37574 | QVector<T> &QVector<T>::operator+=(const QVector &l) | |
37575 | { | |
37576 | int newSize = d->size + l.d->size; | |
37577 | realloc(d->size, newSize); | |
37578 | ||
37579 | T *w = d->array + newSize; | |
37580 | T *i = l.d->array + l.d->size; | |
37581 | T *b = l.d->array; | |
37582 | while (i != b) { | |
37583 | if (QTypeInfo<T>::isComplex) | |
37584 | new (--w) T(*--i); | |
37585 | else | |
37586 | *--w = *--i; | |
37587 | } | |
37588 | d->size = newSize; | |
37589 | return *this; | |
37590 | } | |
37591 | ||
37592 | template <typename T> | |
37593 | int QVector<T>::indexOf(const T &t, int from) const | |
37594 | { | |
37595 | if (from < 0) | |
37596 | from = qMax(from + d->size, 0); | |
37597 | if (from < d->size) { | |
37598 | T* n = d->array + from - 1; | |
37599 | T* e = d->array + d->size; | |
37600 | while (++n != e) | |
37601 | if (*n == t) | |
37602 | return n - d->array; | |
37603 | } | |
37604 | return -1; | |
37605 | } | |
37606 | ||
37607 | template <typename T> | |
37608 | int QVector<T>::lastIndexOf(const T &t, int from) const | |
37609 | { | |
37610 | if (from < 0) | |
37611 | from += d->size; | |
37612 | else if (from >= d->size) | |
37613 | from = d->size-1; | |
37614 | if (from >= 0) { | |
37615 | T* b = d->array; | |
37616 | T* n = d->array + from + 1; | |
37617 | while (n != b) { | |
37618 | if (*--n == t) | |
37619 | return n - b; | |
37620 | } | |
37621 | } | |
37622 | return -1; | |
37623 | } | |
37624 | ||
37625 | template <typename T> | |
37626 | bool QVector<T>::contains(const T &t) const | |
37627 | { | |
37628 | T* b = d->array; | |
37629 | T* i = d->array + d->size; | |
37630 | while (i != b) | |
37631 | if (*--i == t) | |
37632 | return true; | |
37633 | return false; | |
37634 | } | |
37635 | ||
37636 | template <typename T> | |
37637 | int QVector<T>::count(const T &t) const | |
37638 | { | |
37639 | int c = 0; | |
37640 | T* b = d->array; | |
37641 | T* i = d->array + d->size; | |
37642 | while (i != b) | |
37643 | if (*--i == t) | |
37644 | ++c; | |
37645 | return c; | |
37646 | } | |
37647 | ||
37648 | template <typename T> | |
37649 | QVector<T> QVector<T>::mid(int pos, int length) const | |
37650 | { | |
37651 | if (length < 0) | |
37652 | length = size() - pos; | |
37653 | if (pos == 0 && length == size()) | |
37654 | return *this; | |
37655 | QVector<T> copy; | |
37656 | if (pos + length > size()) | |
37657 | length = size() - pos; | |
37658 | for (int i = pos; i < pos + length; ++i) | |
37659 | copy += at(i); | |
37660 | return copy; | |
37661 | } | |
37662 | ||
37663 | template <typename T> | |
37664 | QList<T> QVector<T>::toList() const | |
37665 | { | |
37666 | QList<T> result; | |
37667 | for (int i = 0; i < size(); ++i) | |
37668 | result.append(at(i)); | |
37669 | return result; | |
37670 | } | |
37671 | ||
37672 | template <typename T> | |
37673 | QVector<T> QList<T>::toVector() const | |
37674 | { | |
37675 | QVector<T> result(size()); | |
37676 | for (int i = 0; i < size(); ++i) | |
37677 | result[i] = at(i); | |
37678 | return result; | |
37679 | } | |
37680 | ||
37681 | template <typename T> | |
37682 | QVector<T> QVector<T>::fromList(const QList<T> &list) | |
37683 | { | |
37684 | return list.toVector(); | |
37685 | } | |
37686 | ||
37687 | template <typename T> | |
37688 | QList<T> QList<T>::fromVector(const QVector<T> &vector) | |
37689 | { | |
37690 | return vector.toList(); | |
37691 | } | |
37692 | ||
37693 | template <class T> class QVectorIterator { typedef typename QVector<T>::const_iterator const_iterator; QVector<T> c; const_iterator i; public: inline QVectorIterator(const QVector<T> &container) : c(container), i(c.constBegin()) {} inline QVectorIterator &operator=(const QVector<T> &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; | |
37694 | template <class T> class QMutableVectorIterator { typedef typename QVector<T>::iterator iterator; typedef typename QVector<T>::const_iterator const_iterator; QVector<T> *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableVectorIterator(QVector<T> &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableVectorIterator() { c->setSharable(true); } inline QMutableVectorIterator &operator=(QVector<T> &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { qt_noop(); return *n; } inline const T &value() const { qt_noop(); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; | |
37695 | # 774 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvector.h" | |
37696 | ||
37697 | ||
37698 | ||
37699 | # 1 "../../include/QtCore/qvector.h" 2 | |
37700 | # 53 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
37701 | # 1 "../../include/QtCore/qset.h" 1 | |
37702 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qset.h" 1 | |
37703 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qset.h" | |
37704 | #define QSET_H | |
37705 | ||
37706 | # 1 "../../include/QtCore/qhash.h" 1 | |
37707 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qset.h" 2 | |
37708 | ||
37709 | ||
37710 | ||
37711 | ||
37712 | ||
37713 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
37714 | ||
37715 | template <class T> | |
37716 | class QSet | |
37717 | { | |
37718 | typedef QHash<T, QHashDummyValue> Hash; | |
37719 | ||
37720 | public: | |
37721 | inline QSet() {} | |
37722 | inline QSet(const QSet<T> &other) : q_hash(other.q_hash) {} | |
37723 | ||
37724 | inline QSet<T> &operator=(const QSet<T> &other) | |
37725 | { q_hash = other.q_hash; return *this; } | |
37726 | ||
37727 | inline bool operator==(const QSet<T> &other) const | |
37728 | { return q_hash == other.q_hash; } | |
37729 | inline bool operator!=(const QSet<T> &other) const | |
37730 | { return q_hash != other.q_hash; } | |
37731 | ||
37732 | inline int size() const { return q_hash.size(); } | |
37733 | ||
37734 | inline bool isEmpty() const { return q_hash.isEmpty(); } | |
37735 | ||
37736 | inline int capacity() const { return q_hash.capacity(); } | |
37737 | inline void reserve(int size); | |
37738 | inline void squeeze() { q_hash.squeeze(); } | |
37739 | ||
37740 | inline void detach() { q_hash.detach(); } | |
37741 | inline bool isDetached() const { return q_hash.isDetached(); } | |
37742 | inline void setSharable(bool sharable) { q_hash.setSharable(sharable); } | |
37743 | ||
37744 | inline void clear() { q_hash.clear(); } | |
37745 | ||
37746 | inline bool remove(const T &value) { return q_hash.remove(value) != 0; } | |
37747 | ||
37748 | inline bool contains(const T &value) const { return q_hash.contains(value); } | |
37749 | ||
37750 | class const_iterator; | |
37751 | ||
37752 | class iterator | |
37753 | { | |
37754 | typedef QHash<T, QHashDummyValue> Hash; | |
37755 | typename Hash::iterator i; | |
37756 | friend class const_iterator; | |
37757 | ||
37758 | public: | |
37759 | typedef std::bidirectional_iterator_tag iterator_category; | |
37760 | typedef ptrdiff_t difference_type; | |
37761 | typedef T value_type; | |
37762 | typedef const T *pointer; | |
37763 | typedef const T &reference; | |
37764 | ||
37765 | inline iterator() {} | |
37766 | inline iterator(typename Hash::iterator o) : i(o) {} | |
37767 | inline iterator(const iterator &o) : i(o.i) {} | |
37768 | inline iterator &operator=(const iterator &o) { i = o.i; return *this; } | |
37769 | inline const T &operator*() const { return i.key(); } | |
37770 | inline const T *operator->() const { return &i.key(); } | |
37771 | inline bool operator==(const iterator &o) const { return i == o.i; } | |
37772 | inline bool operator!=(const iterator &o) const { return i != o.i; } | |
37773 | inline bool operator==(const const_iterator &o) const | |
37774 | { return i == o.i; } | |
37775 | inline bool operator!=(const const_iterator &o) const | |
37776 | { return i != o.i; } | |
37777 | inline iterator &operator++() { ++i; return *this; } | |
37778 | inline iterator operator++(int) { iterator r = *this; ++i; return r; } | |
37779 | inline iterator &operator--() { --i; return *this; } | |
37780 | inline iterator operator--(int) { iterator r = *this; --i; return r; } | |
37781 | inline iterator operator+(int j) const { return i + j; } | |
37782 | inline iterator operator-(int j) const { return i - j; } | |
37783 | inline iterator &operator+=(int j) { i += j; return *this; } | |
37784 | inline iterator &operator-=(int j) { i -= j; return *this; } | |
37785 | }; | |
37786 | ||
37787 | class const_iterator | |
37788 | { | |
37789 | typedef QHash<T, QHashDummyValue> Hash; | |
37790 | typename Hash::const_iterator i; | |
37791 | friend class iterator; | |
37792 | ||
37793 | public: | |
37794 | typedef std::bidirectional_iterator_tag iterator_category; | |
37795 | typedef ptrdiff_t difference_type; | |
37796 | typedef T value_type; | |
37797 | typedef const T *pointer; | |
37798 | typedef const T &reference; | |
37799 | ||
37800 | inline const_iterator() {} | |
37801 | inline const_iterator(typename Hash::const_iterator o) : i(o) {} | |
37802 | inline const_iterator(const const_iterator &o) : i(o.i) {} | |
37803 | inline const_iterator(const iterator &o) | |
37804 | : i(o.i) {} | |
37805 | inline const_iterator &operator=(const const_iterator &o) { i = o.i; return *this; } | |
37806 | inline const T &operator*() const { return i.key(); } | |
37807 | inline const T *operator->() const { return &i.key(); } | |
37808 | inline bool operator==(const const_iterator &o) const { return i == o.i; } | |
37809 | inline bool operator!=(const const_iterator &o) const { return i != o.i; } | |
37810 | inline const_iterator &operator++() { ++i; return *this; } | |
37811 | inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } | |
37812 | inline const_iterator &operator--() { --i; return *this; } | |
37813 | inline const_iterator operator--(int) { const_iterator r = *this; --i; return r; } | |
37814 | inline const_iterator operator+(int j) const { return i + j; } | |
37815 | inline const_iterator operator-(int j) const { return i - j; } | |
37816 | inline const_iterator &operator+=(int j) { i += j; return *this; } | |
37817 | inline const_iterator &operator-=(int j) { i -= j; return *this; } | |
37818 | }; | |
37819 | ||
37820 | ||
37821 | inline iterator begin() { return q_hash.begin(); } | |
37822 | inline const_iterator begin() const { return q_hash.begin(); } | |
37823 | inline const_iterator constBegin() const { return q_hash.constBegin(); } | |
37824 | inline iterator end() { return q_hash.end(); } | |
37825 | inline const_iterator end() const { return q_hash.end(); } | |
37826 | inline const_iterator constEnd() const { return q_hash.constEnd(); } | |
37827 | iterator erase(iterator i) | |
37828 | { return q_hash.erase(reinterpret_cast<typename Hash::iterator &>(i)); } | |
37829 | ||
37830 | ||
37831 | typedef iterator Iterator; | |
37832 | typedef const_iterator ConstIterator; | |
37833 | inline int count() const { return q_hash.count(); } | |
37834 | inline const_iterator insert(const T &value) | |
37835 | { return static_cast<typename Hash::const_iterator>(q_hash.insert(value, | |
37836 | QHashDummyValue())); } | |
37837 | iterator find(const T &value) { return q_hash.find(value); } | |
37838 | const_iterator find(const T &value) const { return q_hash.find(value); } | |
37839 | inline const_iterator constFind(const T &value) const { return find(value); } | |
37840 | QSet<T> &unite(const QSet<T> &other); | |
37841 | QSet<T> &intersect(const QSet<T> &other); | |
37842 | QSet<T> &subtract(const QSet<T> &other); | |
37843 | ||
37844 | ||
37845 | typedef T key_type; | |
37846 | typedef T value_type; | |
37847 | typedef value_type *pointer; | |
37848 | typedef const value_type *const_pointer; | |
37849 | typedef value_type &reference; | |
37850 | typedef const value_type &const_reference; | |
37851 | typedef ptrdiff_t difference_type; | |
37852 | typedef int size_type; | |
37853 | ||
37854 | inline bool empty() const { return isEmpty(); } | |
37855 | ||
37856 | ||
37857 | inline QSet<T> &operator<<(const T &value) { insert(value); return *this; } | |
37858 | inline QSet<T> &operator|=(const QSet<T> &other) { unite(other); return *this; } | |
37859 | inline QSet<T> &operator|=(const T &value) { insert(value); return *this; } | |
37860 | inline QSet<T> &operator&=(const QSet<T> &other) { intersect(other); return *this; } | |
37861 | inline QSet<T> &operator&=(const T &value) | |
37862 | { QSet<T> result; if (contains(value)) result.insert(value); return (*this = result); } | |
37863 | inline QSet<T> &operator+=(const QSet<T> &other) { unite(other); return *this; } | |
37864 | inline QSet<T> &operator+=(const T &value) { insert(value); return *this; } | |
37865 | inline QSet<T> &operator-=(const QSet<T> &other) { subtract(other); return *this; } | |
37866 | inline QSet<T> &operator-=(const T &value) { remove(value); return *this; } | |
37867 | inline QSet<T> operator|(const QSet<T> &other) const | |
37868 | { QSet<T> result = *this; result |= other; return result; } | |
37869 | inline QSet<T> operator&(const QSet<T> &other) const | |
37870 | { QSet<T> result = *this; result &= other; return result; } | |
37871 | inline QSet<T> operator+(const QSet<T> &other) const | |
37872 | { QSet<T> result = *this; result += other; return result; } | |
37873 | inline QSet<T> operator-(const QSet<T> &other) const | |
37874 | { QSet<T> result = *this; result -= other; return result; } | |
37875 | ||
37876 | ||
37877 | inline QSet<T> operator|(const QSet<T> &other) | |
37878 | { QSet<T> result = *this; result |= other; return result; } | |
37879 | inline QSet<T> operator&(const QSet<T> &other) | |
37880 | { QSet<T> result = *this; result &= other; return result; } | |
37881 | inline QSet<T> operator+(const QSet<T> &other) | |
37882 | { QSet<T> result = *this; result += other; return result; } | |
37883 | inline QSet<T> operator-(const QSet<T> &other) | |
37884 | { QSet<T> result = *this; result -= other; return result; } | |
37885 | ||
37886 | ||
37887 | QList<T> toList() const; | |
37888 | inline QList<T> values() const { return toList(); } | |
37889 | ||
37890 | static QSet<T> fromList(const QList<T> &list); | |
37891 | ||
37892 | private: | |
37893 | Hash q_hash; | |
37894 | }; | |
37895 | ||
37896 | template <class T> | |
37897 | inline void QSet<T>::reserve(int asize) { q_hash.reserve(asize); } | |
37898 | ||
37899 | template <class T> | |
37900 | inline QSet<T> &QSet<T>::unite(const QSet<T> &other) | |
37901 | { | |
37902 | QSet<T> copy(other); | |
37903 | typename QSet<T>::const_iterator i = copy.constEnd(); | |
37904 | while (i != copy.constBegin()) { | |
37905 | --i; | |
37906 | insert(*i); | |
37907 | } | |
37908 | return *this; | |
37909 | } | |
37910 | ||
37911 | template <class T> | |
37912 | inline QSet<T> &QSet<T>::intersect(const QSet<T> &other) | |
37913 | { | |
37914 | QSet<T> copy1(*this); | |
37915 | QSet<T> copy2(other); | |
37916 | typename QSet<T>::const_iterator i = copy1.constEnd(); | |
37917 | while (i != copy1.constBegin()) { | |
37918 | --i; | |
37919 | if (!copy2.contains(*i)) | |
37920 | remove(*i); | |
37921 | } | |
37922 | return *this; | |
37923 | } | |
37924 | ||
37925 | template <class T> | |
37926 | inline QSet<T> &QSet<T>::subtract(const QSet<T> &other) | |
37927 | { | |
37928 | QSet<T> copy1(*this); | |
37929 | QSet<T> copy2(other); | |
37930 | typename QSet<T>::const_iterator i = copy1.constEnd(); | |
37931 | while (i != copy1.constBegin()) { | |
37932 | --i; | |
37933 | if (copy2.contains(*i)) | |
37934 | remove(*i); | |
37935 | } | |
37936 | return *this; | |
37937 | } | |
37938 | ||
37939 | template <typename T> | |
37940 | QList<T> QSet<T>::toList() const | |
37941 | { | |
37942 | QList<T> result; | |
37943 | typename QSet<T>::const_iterator i = constBegin(); | |
37944 | while (i != constEnd()) { | |
37945 | result.append(*i); | |
37946 | ++i; | |
37947 | } | |
37948 | return result; | |
37949 | } | |
37950 | ||
37951 | template <typename T> | |
37952 | QSet<T> QList<T>::toSet() const | |
37953 | { | |
37954 | QSet<T> result; | |
37955 | result.reserve(size()); | |
37956 | for (int i = 0; i < size(); ++i) | |
37957 | result.insert(at(i)); | |
37958 | return result; | |
37959 | } | |
37960 | ||
37961 | template <typename T> | |
37962 | QSet<T> QSet<T>::fromList(const QList<T> &list) | |
37963 | { | |
37964 | return list.toSet(); | |
37965 | } | |
37966 | ||
37967 | template <typename T> | |
37968 | QList<T> QList<T>::fromSet(const QSet<T> &set) | |
37969 | { | |
37970 | return set.toList(); | |
37971 | } | |
37972 | ||
37973 | template <class T> class QSetIterator { typedef typename QSet<T>::const_iterator const_iterator; QSet<T> c; const_iterator i; public: inline QSetIterator(const QSet<T> &container) : c(container), i(c.constBegin()) {} inline QSetIterator &operator=(const QSet<T> &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; | |
37974 | ||
37975 | template <typename T> | |
37976 | class QMutableSetIterator | |
37977 | { | |
37978 | typedef typename QSet<T>::iterator iterator; | |
37979 | QSet<T> *c; | |
37980 | iterator i, n; | |
37981 | inline bool item_exists() const { return n != c->constEnd(); } | |
37982 | ||
37983 | public: | |
37984 | inline QMutableSetIterator(QSet<T> &container) | |
37985 | : c(&container) | |
37986 | { c->setSharable(false); i = c->begin(); n = c->end(); } | |
37987 | inline ~QMutableSetIterator() | |
37988 | { c->setSharable(true); } | |
37989 | inline QMutableSetIterator &operator=(QSet<T> &container) | |
37990 | { c->setSharable(true); c = &container; c->setSharable(false); | |
37991 | i = c->begin(); n = c->end(); return *this; } | |
37992 | inline void toFront() { i = c->begin(); n = c->end(); } | |
37993 | inline void toBack() { i = c->end(); n = i; } | |
37994 | inline bool hasNext() const { return c->constEnd() != i; } | |
37995 | inline const T &next() { n = i++; return *n; } | |
37996 | inline const T &peekNext() const { return *i; } | |
37997 | inline bool hasPrevious() const { return c->constBegin() != i; } | |
37998 | inline const T &previous() { n = --i; return *n; } | |
37999 | inline const T &peekPrevious() const { iterator p = i; return *--p; } | |
38000 | inline void remove() | |
38001 | { if (c->constEnd() != n) { i = c->erase(n); n = c->end(); } } | |
38002 | inline const T &value() const { qt_noop(); return *n; } | |
38003 | inline bool findNext(const T &t) | |
38004 | { while (c->constEnd() != (n = i)) if (*i++ == t) return true; return false; } | |
38005 | inline bool findPrevious(const T &t) | |
38006 | { while (c->constBegin() != i) if (*(n = --i) == t) return true; | |
38007 | n = c->end(); return false; } | |
38008 | }; | |
38009 | ||
38010 | ||
38011 | ||
38012 | ||
38013 | # 1 "../../include/QtCore/qset.h" 2 | |
38014 | # 54 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" 2 | |
38015 | ||
38016 | ||
38017 | ||
38018 | ||
38019 | ||
38020 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
38021 | ||
38022 | class __attribute__((visibility("default"))) QDebug | |
38023 | { | |
38024 | struct Stream { | |
38025 | Stream(QIODevice *device) : ts(device), ref(1), type(QtDebugMsg), space(true), message_output(false) {} | |
38026 | Stream(QString *string) : ts(string, QIODevice::WriteOnly), ref(1), type(QtDebugMsg), space(true), message_output(false) {} | |
38027 | Stream(QtMsgType t) : ts(&buffer, QIODevice::WriteOnly), ref(1), type(t), space(true), message_output(true) {} | |
38028 | QTextStream ts; | |
38029 | QString buffer; | |
38030 | int ref; | |
38031 | QtMsgType type; | |
38032 | bool space; | |
38033 | bool message_output; | |
38034 | } *stream; | |
38035 | public: | |
38036 | inline QDebug(QIODevice *device) : stream(new Stream(device)) {} | |
38037 | inline QDebug(QString *string) : stream(new Stream(string)) {} | |
38038 | inline QDebug(QtMsgType t) : stream(new Stream(t)) {} | |
38039 | inline QDebug(const QDebug &o):stream(o.stream) { ++stream->ref; } | |
38040 | inline QDebug &operator=(const QDebug &other); | |
38041 | inline ~QDebug() { | |
38042 | if (!--stream->ref) { | |
38043 | if(stream->message_output) | |
38044 | qt_message_output(stream->type, stream->buffer.toLocal8Bit().data()); | |
38045 | delete stream; | |
38046 | } | |
38047 | } | |
38048 | inline QDebug &space() { stream->space = true; stream->ts << " "; return *this; } | |
38049 | inline QDebug &nospace() { stream->space = false; return *this; } | |
38050 | inline QDebug &maybeSpace() { if (stream->space) stream->ts << " "; return *this; } | |
38051 | ||
38052 | inline QDebug &operator<<(QChar t) { stream->ts << "\'" << t << "\'"; return maybeSpace(); } | |
38053 | inline QDebug &operator<<(QBool t) { stream->ts << (bool(t) ? "true" : "false"); return maybeSpace(); } | |
38054 | inline QDebug &operator<<(bool t) { stream->ts << (t ? "true" : "false"); return maybeSpace(); } | |
38055 | inline QDebug &operator<<(char t) { stream->ts << t; return maybeSpace(); } | |
38056 | inline QDebug &operator<<(signed short t) { stream->ts << t; return maybeSpace(); } | |
38057 | inline QDebug &operator<<(unsigned short t) { stream->ts << t; return maybeSpace(); } | |
38058 | inline QDebug &operator<<(signed int t) { stream->ts << t; return maybeSpace(); } | |
38059 | inline QDebug &operator<<(unsigned int t) { stream->ts << t; return maybeSpace(); } | |
38060 | inline QDebug &operator<<(signed long t) { stream->ts << t; return maybeSpace(); } | |
38061 | inline QDebug &operator<<(unsigned long t) { stream->ts << t; return maybeSpace(); } | |
38062 | inline QDebug &operator<<(qint64 t) | |
38063 | { stream->ts << QString::number(t); return maybeSpace(); } | |
38064 | inline QDebug &operator<<(quint64 t) | |
38065 | { stream->ts << QString::number(t); return maybeSpace(); } | |
38066 | inline QDebug &operator<<(float t) { stream->ts << t; return maybeSpace(); } | |
38067 | inline QDebug &operator<<(double t) { stream->ts << t; return maybeSpace(); } | |
38068 | inline QDebug &operator<<(const char* t) { stream->ts << QString::fromAscii(t); return maybeSpace(); } | |
38069 | inline QDebug &operator<<(const QString & t) { stream->ts << "\"" << t << "\""; return maybeSpace(); } | |
38070 | inline QDebug &operator<<(const QStringRef & t) { return operator<<(t.toString()); } | |
38071 | inline QDebug &operator<<(const QLatin1String &t) { stream->ts << "\"" << t.latin1() << "\""; return maybeSpace(); } | |
38072 | inline QDebug &operator<<(const QByteArray & t) { stream->ts << "\"" << t << "\""; return maybeSpace(); } | |
38073 | inline QDebug &operator<<(const void * t) { stream->ts << t; return maybeSpace(); } | |
38074 | inline QDebug &operator<<(QTextStreamFunction f) { | |
38075 | stream->ts << f; | |
38076 | return *this; | |
38077 | } | |
38078 | ||
38079 | inline QDebug &operator<<(QTextStreamManipulator m) | |
38080 | { stream->ts << m; return *this; } | |
38081 | }; | |
38082 | ||
38083 | class QNoDebug | |
38084 | { | |
38085 | public: | |
38086 | inline QNoDebug(){} | |
38087 | inline QNoDebug(const QDebug &){} | |
38088 | inline ~QNoDebug(){} | |
38089 | ||
38090 | inline QNoDebug &operator<<(QTextStreamFunction) { return *this; } | |
38091 | inline QNoDebug &operator<<(QTextStreamManipulator) { return *this; } | |
38092 | ||
38093 | inline QNoDebug &space() { return *this; } | |
38094 | inline QNoDebug &nospace() { return *this; } | |
38095 | inline QNoDebug &maybeSpace() { return *this; } | |
38096 | ||
38097 | ||
38098 | template<typename T> | |
38099 | inline QNoDebug &operator<<(const T &) { return *this; } | |
38100 | ||
38101 | }; | |
38102 | ||
38103 | __attribute__((visibility("default"))) inline QDebug qCritical() { return QDebug(QtCriticalMsg); } | |
38104 | ||
38105 | inline QDebug &QDebug::operator=(const QDebug &other) | |
38106 | { | |
38107 | if (this != &other) { | |
38108 | QDebug copy(other); | |
38109 | qSwap(stream, copy.stream); | |
38110 | } | |
38111 | return *this; | |
38112 | } | |
38113 | ||
38114 | ||
38115 | ||
38116 | ||
38117 | ||
38118 | template <class T> | |
38119 | inline QDebug operator<<(QDebug debug, const QList<T> &list) | |
38120 | ||
38121 | { | |
38122 | debug.nospace() << "("; | |
38123 | for (typename QList<T>::size_type i = 0; i < list.count(); ++i) { | |
38124 | if (i) | |
38125 | debug << ", "; | |
38126 | debug << list.at(i); | |
38127 | } | |
38128 | debug << ")"; | |
38129 | return debug.space(); | |
38130 | } | |
38131 | ||
38132 | ||
38133 | ||
38134 | ||
38135 | ||
38136 | template <typename T> | |
38137 | inline QDebug operator<<(QDebug debug, const QVector<T> &vec) | |
38138 | ||
38139 | { | |
38140 | debug.nospace() << "QVector"; | |
38141 | return operator<<(debug, vec.toList()); | |
38142 | } | |
38143 | ||
38144 | ||
38145 | ||
38146 | ||
38147 | ||
38148 | template <class aKey, class aT> | |
38149 | inline QDebug operator<<(QDebug debug, const QMap<aKey, aT> &map) | |
38150 | ||
38151 | { | |
38152 | debug.nospace() << "QMap("; | |
38153 | for (typename QMap<aKey, aT>::const_iterator it = map.constBegin(); | |
38154 | it != map.constEnd(); ++it) { | |
38155 | debug << "(" << it.key() << ", " << it.value() << ")"; | |
38156 | } | |
38157 | debug << ")"; | |
38158 | return debug.space(); | |
38159 | } | |
38160 | ||
38161 | ||
38162 | ||
38163 | ||
38164 | ||
38165 | template <class aKey, class aT> | |
38166 | inline QDebug operator<<(QDebug debug, const QHash<aKey, aT> &hash) | |
38167 | ||
38168 | { | |
38169 | debug.nospace() << "QHash("; | |
38170 | for (typename QHash<aKey, aT>::const_iterator it = hash.constBegin(); | |
38171 | it != hash.constEnd(); ++it) | |
38172 | debug << "(" << it.key() << ", " << it.value() << ")"; | |
38173 | debug << ")"; | |
38174 | return debug.space(); | |
38175 | } | |
38176 | ||
38177 | ||
38178 | ||
38179 | ||
38180 | ||
38181 | template <class T1, class T2> | |
38182 | inline QDebug operator<<(QDebug debug, const QPair<T1, T2> &pair) | |
38183 | ||
38184 | { | |
38185 | debug.nospace() << "QPair(" << pair.first << "," << pair.second << ")"; | |
38186 | return debug.space(); | |
38187 | } | |
38188 | ||
38189 | template <typename T> | |
38190 | inline QDebug operator<<(QDebug debug, const QSet<T> &set) | |
38191 | { | |
38192 | debug.nospace() << "QSet"; | |
38193 | return operator<<(debug, set.toList()); | |
38194 | } | |
38195 | ||
38196 | ||
38197 | __attribute__((visibility("default"))) inline QDebug qDebug() { return QDebug(QtDebugMsg); } | |
38198 | # 251 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qdebug.h" | |
38199 | __attribute__((visibility("default"))) inline QDebug qWarning() { return QDebug(QtWarningMsg); } | |
38200 | ||
38201 | ||
38202 | ||
38203 | ||
38204 | ||
38205 | ||
38206 | ||
38207 | ||
38208 | ||
38209 | # 1 "../../include/QtCore/qdebug.h" 2 | |
38210 | # 43 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
38211 | # 1 "../../include/QtGui/private/qfontengine_p.h" 1 | |
38212 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" 1 | |
38213 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" | |
38214 | #define QFONTENGINE_P_H | |
38215 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" | |
38216 | # 1 "../../include/QtCore/qglobal.h" 1 | |
38217 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" 2 | |
38218 | # 1 "../../include/QtCore/qatomic.h" 1 | |
38219 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" 2 | |
38220 | # 1 "../../include/QtCore/qvarlengtharray.h" 1 | |
38221 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvarlengtharray.h" 1 | |
38222 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvarlengtharray.h" | |
38223 | #define QVARLENGTHARRAY_H | |
38224 | ||
38225 | # 1 "../../include/QtCore/qcontainerfwd.h" 1 | |
38226 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qcontainerfwd.h" 1 | |
38227 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qcontainerfwd.h" | |
38228 | #define QCONTAINERFWD_H | |
38229 | ||
38230 | # 1 "../../include/QtCore/qglobal.h" 1 | |
38231 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qcontainerfwd.h" 2 | |
38232 | ||
38233 | ||
38234 | ||
38235 | ||
38236 | ||
38237 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
38238 | ||
38239 | template <class Key, class T> class QCache; | |
38240 | template <class Key, class T> class QHash; | |
38241 | template <class T> class QLinkedList; | |
38242 | template <class T> class QList; | |
38243 | template <class Key, class T> class QMap; | |
38244 | template <class Key, class T> class QMultiHash; | |
38245 | template <class Key, class T> class QMultiMap; | |
38246 | template <class T1, class T2> struct QPair; | |
38247 | template <class T> class QQueue; | |
38248 | template <class T> class QSet; | |
38249 | template <class T> class QStack; | |
38250 | template<class T, int Prealloc = 256> class QVarLengthArray; | |
38251 | template <class T> class QVector; | |
38252 | ||
38253 | ||
38254 | ||
38255 | ||
38256 | # 1 "../../include/QtCore/qcontainerfwd.h" 2 | |
38257 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvarlengtharray.h" 2 | |
38258 | # 1 "../../include/QtCore/qglobal.h" 1 | |
38259 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qvarlengtharray.h" 2 | |
38260 | ||
38261 | ||
38262 | ||
38263 | ||
38264 | ||
38265 | ||
38266 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
38267 | ||
38268 | ||
38269 | template<class T, int Prealloc> | |
38270 | class QVarLengthArray | |
38271 | { | |
38272 | public: | |
38273 | inline explicit QVarLengthArray(int size = 0); | |
38274 | ||
38275 | inline QVarLengthArray(const QVarLengthArray<T, Prealloc> &other) | |
38276 | : a(Prealloc), s(0), ptr(reinterpret_cast<T *>(array)) | |
38277 | { | |
38278 | append(other.constData(), other.size()); | |
38279 | } | |
38280 | ||
38281 | inline ~QVarLengthArray() { | |
38282 | if (QTypeInfo<T>::isComplex) { | |
38283 | T *i = ptr + s; | |
38284 | while (i-- != ptr) | |
38285 | i->~T(); | |
38286 | } | |
38287 | if (ptr != reinterpret_cast<T *>(array)) | |
38288 | qFree(ptr); | |
38289 | } | |
38290 | inline QVarLengthArray<T, Prealloc> &operator=(const QVarLengthArray<T, Prealloc> &other) | |
38291 | { | |
38292 | if (this != &other) { | |
38293 | clear(); | |
38294 | append(other.constData(), other.size()); | |
38295 | } | |
38296 | return *this; | |
38297 | } | |
38298 | ||
38299 | inline void removeLast() { | |
38300 | qt_noop(); | |
38301 | realloc(s - 1, a); | |
38302 | } | |
38303 | inline int size() const { return s; } | |
38304 | inline int count() const { return s; } | |
38305 | inline bool isEmpty() const { return (s == 0); } | |
38306 | inline void resize(int size); | |
38307 | inline void clear() { resize(0); } | |
38308 | ||
38309 | inline int capacity() const { return a; } | |
38310 | inline void reserve(int size); | |
38311 | ||
38312 | inline T &operator[](int idx) { | |
38313 | qt_noop(); | |
38314 | return ptr[idx]; | |
38315 | } | |
38316 | inline const T &operator[](int idx) const { | |
38317 | qt_noop(); | |
38318 | return ptr[idx]; | |
38319 | } | |
38320 | ||
38321 | inline void append(const T &t) { | |
38322 | if (s == a) | |
38323 | realloc(s, s<<1); | |
38324 | const int idx = s++; | |
38325 | if (QTypeInfo<T>::isComplex) { | |
38326 | new (ptr + idx) T(t); | |
38327 | } else { | |
38328 | ptr[idx] = t; | |
38329 | } | |
38330 | } | |
38331 | void append(const T *buf, int size); | |
38332 | ||
38333 | inline T *data() { return ptr; } | |
38334 | inline const T *data() const { return ptr; } | |
38335 | inline const T * constData() const { return ptr; } | |
38336 | ||
38337 | private: | |
38338 | void realloc(int size, int alloc); | |
38339 | ||
38340 | int a; | |
38341 | int s; | |
38342 | T *ptr; | |
38343 | union { | |
38344 | ||
38345 | char array[sizeof(qint64) * (((Prealloc * sizeof(T)) / sizeof(qint64)) + 1)]; | |
38346 | qint64 q_for_alignment_1; | |
38347 | double q_for_alignment_2; | |
38348 | }; | |
38349 | }; | |
38350 | ||
38351 | template <class T, int Prealloc> | |
38352 | inline QVarLengthArray<T, Prealloc>::QVarLengthArray(int asize) | |
38353 | : s(asize) { | |
38354 | if (s > Prealloc) { | |
38355 | ptr = reinterpret_cast<T *>(qMalloc(s * sizeof(T))); | |
38356 | a = s; | |
38357 | } else { | |
38358 | ptr = reinterpret_cast<T *>(array); | |
38359 | a = Prealloc; | |
38360 | } | |
38361 | if (QTypeInfo<T>::isComplex) { | |
38362 | T *i = ptr + s; | |
38363 | while (i != ptr) | |
38364 | new (--i) T; | |
38365 | } | |
38366 | } | |
38367 | ||
38368 | template <class T, int Prealloc> | |
38369 | inline void QVarLengthArray<T, Prealloc>::resize(int asize) | |
38370 | { realloc(asize, qMax(asize, a)); } | |
38371 | ||
38372 | template <class T, int Prealloc> | |
38373 | inline void QVarLengthArray<T, Prealloc>::reserve(int asize) | |
38374 | { if (asize > a) realloc(s, asize); } | |
38375 | ||
38376 | template <class T, int Prealloc> | |
38377 | void QVarLengthArray<T, Prealloc>::append(const T *abuf, int asize) | |
38378 | { | |
38379 | qt_noop(); | |
38380 | if (asize <= 0) | |
38381 | return; | |
38382 | ||
38383 | const int idx = s; | |
38384 | const int news = s + asize; | |
38385 | if (news >= a) | |
38386 | realloc(s, qMax(s<<1, news)); | |
38387 | s = news; | |
38388 | ||
38389 | if (QTypeInfo<T>::isComplex) { | |
38390 | T *i = ptr + idx; | |
38391 | T *j = i + asize; | |
38392 | while (i < j) | |
38393 | new (i++) T(*abuf++); | |
38394 | } else { | |
38395 | qMemCopy(&ptr[idx], abuf, asize * sizeof(T)); | |
38396 | } | |
38397 | } | |
38398 | ||
38399 | template <class T, int Prealloc> | |
38400 | void QVarLengthArray<T, Prealloc>::realloc(int asize, int aalloc) | |
38401 | { | |
38402 | qt_noop(); | |
38403 | T *oldPtr = ptr; | |
38404 | int osize = s; | |
38405 | s = asize; | |
38406 | ||
38407 | if (aalloc != a) { | |
38408 | ptr = reinterpret_cast<T *>(qMalloc(aalloc * sizeof(T))); | |
38409 | if (ptr) { | |
38410 | a = aalloc; | |
38411 | ||
38412 | if (QTypeInfo<T>::isStatic) { | |
38413 | T *i = ptr + osize; | |
38414 | T *j = oldPtr + osize; | |
38415 | while (i != ptr) { | |
38416 | new (--i) T(*--j); | |
38417 | j->~T(); | |
38418 | } | |
38419 | } else { | |
38420 | qMemCopy(ptr, oldPtr, osize * sizeof(T)); | |
38421 | } | |
38422 | } else { | |
38423 | ptr = oldPtr; | |
38424 | s = 0; | |
38425 | asize = 0; | |
38426 | } | |
38427 | } | |
38428 | ||
38429 | if (QTypeInfo<T>::isComplex) { | |
38430 | if (asize < osize) { | |
38431 | T *i = oldPtr + osize; | |
38432 | T *j = oldPtr + asize; | |
38433 | while (i-- != j) | |
38434 | i->~T(); | |
38435 | } else { | |
38436 | T *i = ptr + asize; | |
38437 | T *j = ptr + osize; | |
38438 | while (i != j) | |
38439 | new (--i) T; | |
38440 | } | |
38441 | } | |
38442 | ||
38443 | if (oldPtr != reinterpret_cast<T *>(array) && oldPtr != ptr) | |
38444 | qFree(oldPtr); | |
38445 | } | |
38446 | ||
38447 | ||
38448 | ||
38449 | ||
38450 | # 1 "../../include/QtCore/qvarlengtharray.h" 2 | |
38451 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" 2 | |
38452 | # 1 "../../include/QtGui/private/qtextengine_p.h" 1 | |
38453 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 1 | |
38454 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" | |
38455 | #define QTEXTENGINE_P_H | |
38456 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" | |
38457 | # 1 "../../include/QtCore/qglobal.h" 1 | |
38458 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
38459 | # 1 "../../include/QtCore/qstring.h" 1 | |
38460 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
38461 | # 1 "../../include/QtCore/qvarlengtharray.h" 1 | |
38462 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
38463 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
38464 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
38465 | # 1 "../../include/QtGui/qtextlayout.h" 1 | |
38466 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 1 | |
38467 | # 42 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" | |
38468 | #define QTEXTLAYOUT_H | |
38469 | ||
38470 | # 1 "../../include/QtCore/qstring.h" 1 | |
38471 | # 45 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
38472 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
38473 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
38474 | # 1 "../../include/QtCore/qrect.h" 1 | |
38475 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qrect.h" 1 | |
38476 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qrect.h" | |
38477 | #define QRECT_H | |
38478 | ||
38479 | # 1 "../../include/QtCore/qsize.h" 1 | |
38480 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qsize.h" 1 | |
38481 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qsize.h" | |
38482 | #define QSIZE_H | |
38483 | ||
38484 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
38485 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qsize.h" 2 | |
38486 | ||
38487 | ||
38488 | ||
38489 | ||
38490 | ||
38491 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
38492 | ||
38493 | class __attribute__((visibility("default"))) QSize | |
38494 | { | |
38495 | public: | |
38496 | QSize(); | |
38497 | QSize(int w, int h); | |
38498 | ||
38499 | bool isNull() const; | |
38500 | bool isEmpty() const; | |
38501 | bool isValid() const; | |
38502 | ||
38503 | int width() const; | |
38504 | int height() const; | |
38505 | void setWidth(int w); | |
38506 | void setHeight(int h); | |
38507 | void transpose(); | |
38508 | ||
38509 | void scale(int w, int h, Qt::AspectRatioMode mode); | |
38510 | void scale(const QSize &s, Qt::AspectRatioMode mode); | |
38511 | ||
38512 | QSize expandedTo(const QSize &) const; | |
38513 | QSize boundedTo(const QSize &) const; | |
38514 | ||
38515 | int &rwidth(); | |
38516 | int &rheight(); | |
38517 | ||
38518 | QSize &operator+=(const QSize &); | |
38519 | QSize &operator-=(const QSize &); | |
38520 | QSize &operator*=(qreal c); | |
38521 | QSize &operator/=(qreal c); | |
38522 | ||
38523 | friend inline bool operator==(const QSize &, const QSize &); | |
38524 | friend inline bool operator!=(const QSize &, const QSize &); | |
38525 | friend inline const QSize operator+(const QSize &, const QSize &); | |
38526 | friend inline const QSize operator-(const QSize &, const QSize &); | |
38527 | friend inline const QSize operator*(const QSize &, qreal); | |
38528 | friend inline const QSize operator*(qreal, const QSize &); | |
38529 | friend inline const QSize operator/(const QSize &, qreal); | |
38530 | ||
38531 | private: | |
38532 | int wd; | |
38533 | int ht; | |
38534 | }; | |
38535 | template <> class QTypeInfo<QSize> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QSize)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QSize"; } }; | |
38536 | ||
38537 | ||
38538 | ||
38539 | ||
38540 | ||
38541 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSize &); | |
38542 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSize &); | |
38543 | ||
38544 | ||
38545 | ||
38546 | ||
38547 | ||
38548 | ||
38549 | inline QSize::QSize() | |
38550 | { wd = ht = -1; } | |
38551 | ||
38552 | inline QSize::QSize(int w, int h) | |
38553 | { wd = w; ht = h; } | |
38554 | ||
38555 | inline bool QSize::isNull() const | |
38556 | { return wd==0 && ht==0; } | |
38557 | ||
38558 | inline bool QSize::isEmpty() const | |
38559 | { return wd<1 || ht<1; } | |
38560 | ||
38561 | inline bool QSize::isValid() const | |
38562 | { return wd>=0 && ht>=0; } | |
38563 | ||
38564 | inline int QSize::width() const | |
38565 | { return wd; } | |
38566 | ||
38567 | inline int QSize::height() const | |
38568 | { return ht; } | |
38569 | ||
38570 | inline void QSize::setWidth(int w) | |
38571 | { wd = w; } | |
38572 | ||
38573 | inline void QSize::setHeight(int h) | |
38574 | { ht = h; } | |
38575 | ||
38576 | inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode) | |
38577 | { scale(QSize(w, h), mode); } | |
38578 | ||
38579 | inline int &QSize::rwidth() | |
38580 | { return wd; } | |
38581 | ||
38582 | inline int &QSize::rheight() | |
38583 | { return ht; } | |
38584 | ||
38585 | inline QSize &QSize::operator+=(const QSize &s) | |
38586 | { wd+=s.wd; ht+=s.ht; return *this; } | |
38587 | ||
38588 | inline QSize &QSize::operator-=(const QSize &s) | |
38589 | { wd-=s.wd; ht-=s.ht; return *this; } | |
38590 | ||
38591 | inline QSize &QSize::operator*=(qreal c) | |
38592 | { wd = qRound(wd*c); ht = qRound(ht*c); return *this; } | |
38593 | ||
38594 | inline bool operator==(const QSize &s1, const QSize &s2) | |
38595 | { return s1.wd == s2.wd && s1.ht == s2.ht; } | |
38596 | ||
38597 | inline bool operator!=(const QSize &s1, const QSize &s2) | |
38598 | { return s1.wd != s2.wd || s1.ht != s2.ht; } | |
38599 | ||
38600 | inline const QSize operator+(const QSize & s1, const QSize & s2) | |
38601 | { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } | |
38602 | ||
38603 | inline const QSize operator-(const QSize &s1, const QSize &s2) | |
38604 | { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); } | |
38605 | ||
38606 | inline const QSize operator*(const QSize &s, qreal c) | |
38607 | { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } | |
38608 | ||
38609 | inline const QSize operator*(qreal c, const QSize &s) | |
38610 | { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } | |
38611 | ||
38612 | inline QSize &QSize::operator/=(qreal c) | |
38613 | { | |
38614 | qt_noop(); | |
38615 | wd = qRound(wd/c); ht = qRound(ht/c); | |
38616 | return *this; | |
38617 | } | |
38618 | ||
38619 | inline const QSize operator/(const QSize &s, qreal c) | |
38620 | { | |
38621 | qt_noop(); | |
38622 | return QSize(qRound(s.wd/c), qRound(s.ht/c)); | |
38623 | } | |
38624 | ||
38625 | inline QSize QSize::expandedTo(const QSize & otherSize) const | |
38626 | { | |
38627 | return QSize(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); | |
38628 | } | |
38629 | ||
38630 | inline QSize QSize::boundedTo(const QSize & otherSize) const | |
38631 | { | |
38632 | return QSize(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); | |
38633 | } | |
38634 | ||
38635 | ||
38636 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSize &); | |
38637 | ||
38638 | ||
38639 | ||
38640 | class __attribute__((visibility("default"))) QSizeF | |
38641 | { | |
38642 | public: | |
38643 | QSizeF(); | |
38644 | QSizeF(const QSize &sz); | |
38645 | QSizeF(qreal w, qreal h); | |
38646 | ||
38647 | bool isNull() const; | |
38648 | bool isEmpty() const; | |
38649 | bool isValid() const; | |
38650 | ||
38651 | qreal width() const; | |
38652 | qreal height() const; | |
38653 | void setWidth(qreal w); | |
38654 | void setHeight(qreal h); | |
38655 | void transpose(); | |
38656 | ||
38657 | void scale(qreal w, qreal h, Qt::AspectRatioMode mode); | |
38658 | void scale(const QSizeF &s, Qt::AspectRatioMode mode); | |
38659 | ||
38660 | QSizeF expandedTo(const QSizeF &) const; | |
38661 | QSizeF boundedTo(const QSizeF &) const; | |
38662 | ||
38663 | qreal &rwidth(); | |
38664 | qreal &rheight(); | |
38665 | ||
38666 | QSizeF &operator+=(const QSizeF &); | |
38667 | QSizeF &operator-=(const QSizeF &); | |
38668 | QSizeF &operator*=(qreal c); | |
38669 | QSizeF &operator/=(qreal c); | |
38670 | ||
38671 | friend inline bool operator==(const QSizeF &, const QSizeF &); | |
38672 | friend inline bool operator!=(const QSizeF &, const QSizeF &); | |
38673 | friend inline const QSizeF operator+(const QSizeF &, const QSizeF &); | |
38674 | friend inline const QSizeF operator-(const QSizeF &, const QSizeF &); | |
38675 | friend inline const QSizeF operator*(const QSizeF &, qreal); | |
38676 | friend inline const QSizeF operator*(qreal, const QSizeF &); | |
38677 | friend inline const QSizeF operator/(const QSizeF &, qreal); | |
38678 | ||
38679 | inline QSize toSize() const; | |
38680 | ||
38681 | private: | |
38682 | qreal wd; | |
38683 | qreal ht; | |
38684 | }; | |
38685 | template <> class QTypeInfo<QSizeF> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QSizeF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QSizeF"; } }; | |
38686 | ||
38687 | ||
38688 | ||
38689 | ||
38690 | ||
38691 | ||
38692 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSizeF &); | |
38693 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSizeF &); | |
38694 | ||
38695 | ||
38696 | ||
38697 | ||
38698 | ||
38699 | ||
38700 | inline QSizeF::QSizeF() | |
38701 | { wd = ht = -1.; } | |
38702 | ||
38703 | inline QSizeF::QSizeF(const QSize &sz) | |
38704 | : wd(sz.width()), ht(sz.height()) | |
38705 | { | |
38706 | } | |
38707 | ||
38708 | inline QSizeF::QSizeF(qreal w, qreal h) | |
38709 | { wd = w; ht = h; } | |
38710 | ||
38711 | inline bool QSizeF::isNull() const | |
38712 | { return qIsNull(wd) && qIsNull(ht); } | |
38713 | ||
38714 | inline bool QSizeF::isEmpty() const | |
38715 | { return wd <= 0. || ht <= 0.; } | |
38716 | ||
38717 | inline bool QSizeF::isValid() const | |
38718 | { return wd >= 0. && ht >= 0.; } | |
38719 | ||
38720 | inline qreal QSizeF::width() const | |
38721 | { return wd; } | |
38722 | ||
38723 | inline qreal QSizeF::height() const | |
38724 | { return ht; } | |
38725 | ||
38726 | inline void QSizeF::setWidth(qreal w) | |
38727 | { wd = w; } | |
38728 | ||
38729 | inline void QSizeF::setHeight(qreal h) | |
38730 | { ht = h; } | |
38731 | ||
38732 | inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode) | |
38733 | { scale(QSizeF(w, h), mode); } | |
38734 | ||
38735 | inline qreal &QSizeF::rwidth() | |
38736 | { return wd; } | |
38737 | ||
38738 | inline qreal &QSizeF::rheight() | |
38739 | { return ht; } | |
38740 | ||
38741 | inline QSizeF &QSizeF::operator+=(const QSizeF &s) | |
38742 | { wd += s.wd; ht += s.ht; return *this; } | |
38743 | ||
38744 | inline QSizeF &QSizeF::operator-=(const QSizeF &s) | |
38745 | { wd -= s.wd; ht -= s.ht; return *this; } | |
38746 | ||
38747 | inline QSizeF &QSizeF::operator*=(qreal c) | |
38748 | { wd *= c; ht *= c; return *this; } | |
38749 | ||
38750 | inline bool operator==(const QSizeF &s1, const QSizeF &s2) | |
38751 | { return qFuzzyCompare(s1.wd, s2.wd) && qFuzzyCompare(s1.ht, s2.ht); } | |
38752 | ||
38753 | inline bool operator!=(const QSizeF &s1, const QSizeF &s2) | |
38754 | { return !qFuzzyCompare(s1.wd, s2.wd) || !qFuzzyCompare(s1.ht, s2.ht); } | |
38755 | ||
38756 | inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) | |
38757 | { return QSizeF(s1.wd+s2.wd, s1.ht+s2.ht); } | |
38758 | ||
38759 | inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2) | |
38760 | { return QSizeF(s1.wd-s2.wd, s1.ht-s2.ht); } | |
38761 | ||
38762 | inline const QSizeF operator*(const QSizeF &s, qreal c) | |
38763 | { return QSizeF(s.wd*c, s.ht*c); } | |
38764 | ||
38765 | inline const QSizeF operator*(qreal c, const QSizeF &s) | |
38766 | { return QSizeF(s.wd*c, s.ht*c); } | |
38767 | ||
38768 | inline QSizeF &QSizeF::operator/=(qreal c) | |
38769 | { | |
38770 | qt_noop(); | |
38771 | wd = wd/c; ht = ht/c; | |
38772 | return *this; | |
38773 | } | |
38774 | ||
38775 | inline const QSizeF operator/(const QSizeF &s, qreal c) | |
38776 | { | |
38777 | qt_noop(); | |
38778 | return QSizeF(s.wd/c, s.ht/c); | |
38779 | } | |
38780 | ||
38781 | inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const | |
38782 | { | |
38783 | return QSizeF(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); | |
38784 | } | |
38785 | ||
38786 | inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const | |
38787 | { | |
38788 | return QSizeF(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); | |
38789 | } | |
38790 | ||
38791 | inline QSize QSizeF::toSize() const | |
38792 | { | |
38793 | return QSize(qRound(wd), qRound(ht)); | |
38794 | } | |
38795 | ||
38796 | ||
38797 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSizeF &); | |
38798 | ||
38799 | ||
38800 | ||
38801 | ||
38802 | ||
38803 | # 1 "../../include/QtCore/qsize.h" 2 | |
38804 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qrect.h" 2 | |
38805 | # 1 "../../include/QtCore/qpoint.h" 1 | |
38806 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qpoint.h" 1 | |
38807 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qpoint.h" | |
38808 | #define QPOINT_H | |
38809 | ||
38810 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
38811 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qpoint.h" 2 | |
38812 | ||
38813 | ||
38814 | ||
38815 | ||
38816 | ||
38817 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
38818 | ||
38819 | class __attribute__((visibility("default"))) QPoint | |
38820 | { | |
38821 | public: | |
38822 | QPoint(); | |
38823 | QPoint(int xpos, int ypos); | |
38824 | ||
38825 | bool isNull() const; | |
38826 | ||
38827 | int x() const; | |
38828 | int y() const; | |
38829 | void setX(int x); | |
38830 | void setY(int y); | |
38831 | ||
38832 | int manhattanLength() const; | |
38833 | ||
38834 | int &rx(); | |
38835 | int &ry(); | |
38836 | ||
38837 | QPoint &operator+=(const QPoint &p); | |
38838 | QPoint &operator-=(const QPoint &p); | |
38839 | QPoint &operator*=(qreal c); | |
38840 | QPoint &operator/=(qreal c); | |
38841 | ||
38842 | friend inline bool operator==(const QPoint &, const QPoint &); | |
38843 | friend inline bool operator!=(const QPoint &, const QPoint &); | |
38844 | friend inline const QPoint operator+(const QPoint &, const QPoint &); | |
38845 | friend inline const QPoint operator-(const QPoint &, const QPoint &); | |
38846 | friend inline const QPoint operator*(const QPoint &, qreal); | |
38847 | friend inline const QPoint operator*(qreal, const QPoint &); | |
38848 | friend inline const QPoint operator-(const QPoint &); | |
38849 | friend inline const QPoint operator/(const QPoint &, qreal); | |
38850 | ||
38851 | private: | |
38852 | friend class QTransform; | |
38853 | ||
38854 | ||
38855 | ||
38856 | ||
38857 | ||
38858 | int xp; | |
38859 | int yp; | |
38860 | ||
38861 | }; | |
38862 | ||
38863 | template <> class QTypeInfo<QPoint> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QPoint)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QPoint"; } }; | |
38864 | ||
38865 | ||
38866 | ||
38867 | ||
38868 | ||
38869 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPoint &); | |
38870 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPoint &); | |
38871 | ||
38872 | ||
38873 | ||
38874 | ||
38875 | ||
38876 | ||
38877 | inline QPoint::QPoint() | |
38878 | { xp=0; yp=0; } | |
38879 | ||
38880 | inline QPoint::QPoint(int xpos, int ypos) | |
38881 | { xp = xpos; yp = ypos; } | |
38882 | ||
38883 | inline bool QPoint::isNull() const | |
38884 | { return xp == 0 && yp == 0; } | |
38885 | ||
38886 | inline int QPoint::x() const | |
38887 | { return xp; } | |
38888 | ||
38889 | inline int QPoint::y() const | |
38890 | { return yp; } | |
38891 | ||
38892 | inline void QPoint::setX(int xpos) | |
38893 | { xp = xpos; } | |
38894 | ||
38895 | inline void QPoint::setY(int ypos) | |
38896 | { yp = ypos; } | |
38897 | ||
38898 | inline int &QPoint::rx() | |
38899 | { return xp; } | |
38900 | ||
38901 | inline int &QPoint::ry() | |
38902 | { return yp; } | |
38903 | ||
38904 | inline QPoint &QPoint::operator+=(const QPoint &p) | |
38905 | { xp+=p.xp; yp+=p.yp; return *this; } | |
38906 | ||
38907 | inline QPoint &QPoint::operator-=(const QPoint &p) | |
38908 | { xp-=p.xp; yp-=p.yp; return *this; } | |
38909 | ||
38910 | inline QPoint &QPoint::operator*=(qreal c) | |
38911 | { xp = qRound(xp*c); yp = qRound(yp*c); return *this; } | |
38912 | ||
38913 | inline bool operator==(const QPoint &p1, const QPoint &p2) | |
38914 | { return p1.xp == p2.xp && p1.yp == p2.yp; } | |
38915 | ||
38916 | inline bool operator!=(const QPoint &p1, const QPoint &p2) | |
38917 | { return p1.xp != p2.xp || p1.yp != p2.yp; } | |
38918 | ||
38919 | inline const QPoint operator+(const QPoint &p1, const QPoint &p2) | |
38920 | { return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); } | |
38921 | ||
38922 | inline const QPoint operator-(const QPoint &p1, const QPoint &p2) | |
38923 | { return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); } | |
38924 | ||
38925 | inline const QPoint operator*(const QPoint &p, qreal c) | |
38926 | { return QPoint(qRound(p.xp*c), qRound(p.yp*c)); } | |
38927 | ||
38928 | inline const QPoint operator*(qreal c, const QPoint &p) | |
38929 | { return QPoint(qRound(p.xp*c), qRound(p.yp*c)); } | |
38930 | ||
38931 | inline const QPoint operator-(const QPoint &p) | |
38932 | { return QPoint(-p.xp, -p.yp); } | |
38933 | ||
38934 | inline QPoint &QPoint::operator/=(qreal c) | |
38935 | { | |
38936 | xp = qRound(xp/c); | |
38937 | yp = qRound(yp/c); | |
38938 | return *this; | |
38939 | } | |
38940 | ||
38941 | inline const QPoint operator/(const QPoint &p, qreal c) | |
38942 | { | |
38943 | return QPoint(qRound(p.xp/c), qRound(p.yp/c)); | |
38944 | } | |
38945 | ||
38946 | ||
38947 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPoint &); | |
38948 | ||
38949 | ||
38950 | ||
38951 | ||
38952 | ||
38953 | ||
38954 | class __attribute__((visibility("default"))) QPointF | |
38955 | { | |
38956 | public: | |
38957 | QPointF(); | |
38958 | QPointF(const QPoint &p); | |
38959 | QPointF(qreal xpos, qreal ypos); | |
38960 | ||
38961 | bool isNull() const; | |
38962 | ||
38963 | qreal x() const; | |
38964 | qreal y() const; | |
38965 | void setX(qreal x); | |
38966 | void setY(qreal y); | |
38967 | ||
38968 | qreal &rx(); | |
38969 | qreal &ry(); | |
38970 | ||
38971 | QPointF &operator+=(const QPointF &p); | |
38972 | QPointF &operator-=(const QPointF &p); | |
38973 | QPointF &operator*=(qreal c); | |
38974 | QPointF &operator/=(qreal c); | |
38975 | ||
38976 | friend inline bool operator==(const QPointF &, const QPointF &); | |
38977 | friend inline bool operator!=(const QPointF &, const QPointF &); | |
38978 | friend inline const QPointF operator+(const QPointF &, const QPointF &); | |
38979 | friend inline const QPointF operator-(const QPointF &, const QPointF &); | |
38980 | friend inline const QPointF operator*(qreal, const QPointF &); | |
38981 | friend inline const QPointF operator*(const QPointF &, qreal); | |
38982 | friend inline const QPointF operator-(const QPointF &); | |
38983 | friend inline const QPointF operator/(const QPointF &, qreal); | |
38984 | ||
38985 | QPoint toPoint() const; | |
38986 | ||
38987 | private: | |
38988 | friend class QMatrix; | |
38989 | friend class QTransform; | |
38990 | ||
38991 | qreal xp; | |
38992 | qreal yp; | |
38993 | }; | |
38994 | ||
38995 | template <> class QTypeInfo<QPointF> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QPointF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QPointF"; } }; | |
38996 | ||
38997 | ||
38998 | ||
38999 | ||
39000 | ||
39001 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPointF &); | |
39002 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPointF &); | |
39003 | ||
39004 | ||
39005 | ||
39006 | ||
39007 | ||
39008 | ||
39009 | inline QPointF::QPointF() : xp(0), yp(0) { } | |
39010 | ||
39011 | inline QPointF::QPointF(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) { } | |
39012 | ||
39013 | inline QPointF::QPointF(const QPoint &p) : xp(p.x()), yp(p.y()) { } | |
39014 | ||
39015 | inline bool QPointF::isNull() const | |
39016 | { | |
39017 | return qIsNull(xp) && qIsNull(yp); | |
39018 | } | |
39019 | ||
39020 | inline qreal QPointF::x() const | |
39021 | { | |
39022 | return xp; | |
39023 | } | |
39024 | ||
39025 | inline qreal QPointF::y() const | |
39026 | { | |
39027 | return yp; | |
39028 | } | |
39029 | ||
39030 | inline void QPointF::setX(qreal xpos) | |
39031 | { | |
39032 | xp = xpos; | |
39033 | } | |
39034 | ||
39035 | inline void QPointF::setY(qreal ypos) | |
39036 | { | |
39037 | yp = ypos; | |
39038 | } | |
39039 | ||
39040 | inline qreal &QPointF::rx() | |
39041 | { | |
39042 | return xp; | |
39043 | } | |
39044 | ||
39045 | inline qreal &QPointF::ry() | |
39046 | { | |
39047 | return yp; | |
39048 | } | |
39049 | ||
39050 | inline QPointF &QPointF::operator+=(const QPointF &p) | |
39051 | { | |
39052 | xp+=p.xp; | |
39053 | yp+=p.yp; | |
39054 | return *this; | |
39055 | } | |
39056 | ||
39057 | inline QPointF &QPointF::operator-=(const QPointF &p) | |
39058 | { | |
39059 | xp-=p.xp; yp-=p.yp; return *this; | |
39060 | } | |
39061 | ||
39062 | inline QPointF &QPointF::operator*=(qreal c) | |
39063 | { | |
39064 | xp*=c; yp*=c; return *this; | |
39065 | } | |
39066 | ||
39067 | inline bool operator==(const QPointF &p1, const QPointF &p2) | |
39068 | { | |
39069 | return qFuzzyCompare(p1.xp, p2.xp) && qFuzzyCompare(p1.yp, p2.yp); | |
39070 | } | |
39071 | ||
39072 | inline bool operator!=(const QPointF &p1, const QPointF &p2) | |
39073 | { | |
39074 | return !qFuzzyCompare(p1.xp, p2.xp) || !qFuzzyCompare(p1.yp, p2.yp); | |
39075 | } | |
39076 | ||
39077 | inline const QPointF operator+(const QPointF &p1, const QPointF &p2) | |
39078 | { | |
39079 | return QPointF(p1.xp+p2.xp, p1.yp+p2.yp); | |
39080 | } | |
39081 | ||
39082 | inline const QPointF operator-(const QPointF &p1, const QPointF &p2) | |
39083 | { | |
39084 | return QPointF(p1.xp-p2.xp, p1.yp-p2.yp); | |
39085 | } | |
39086 | ||
39087 | inline const QPointF operator*(const QPointF &p, qreal c) | |
39088 | { | |
39089 | return QPointF(p.xp*c, p.yp*c); | |
39090 | } | |
39091 | ||
39092 | inline const QPointF operator*(qreal c, const QPointF &p) | |
39093 | { | |
39094 | return QPointF(p.xp*c, p.yp*c); | |
39095 | } | |
39096 | ||
39097 | inline const QPointF operator-(const QPointF &p) | |
39098 | { | |
39099 | return QPointF(-p.xp, -p.yp); | |
39100 | } | |
39101 | ||
39102 | inline QPointF &QPointF::operator/=(qreal c) | |
39103 | { | |
39104 | xp/=c; | |
39105 | yp/=c; | |
39106 | return *this; | |
39107 | } | |
39108 | ||
39109 | inline const QPointF operator/(const QPointF &p, qreal c) | |
39110 | { | |
39111 | return QPointF(p.xp/c, p.yp/c); | |
39112 | } | |
39113 | ||
39114 | inline QPoint QPointF::toPoint() const | |
39115 | { | |
39116 | return QPoint(qRound(xp), qRound(yp)); | |
39117 | } | |
39118 | ||
39119 | ||
39120 | __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QPointF &p); | |
39121 | ||
39122 | ||
39123 | ||
39124 | ||
39125 | ||
39126 | # 1 "../../include/QtCore/qpoint.h" 2 | |
39127 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qrect.h" 2 | |
39128 | ||
39129 | ||
39130 | ||
39131 | ||
39132 | ||
39133 | ||
39134 | ||
39135 | ||
39136 | ||
39137 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
39138 | ||
39139 | class __attribute__((visibility("default"))) QRect | |
39140 | { | |
39141 | public: | |
39142 | QRect() { x1 = y1 = 0; x2 = y2 = -1; } | |
39143 | QRect(const QPoint &topleft, const QPoint &bottomright); | |
39144 | QRect(const QPoint &topleft, const QSize &size); | |
39145 | QRect(int left, int top, int width, int height); | |
39146 | ||
39147 | bool isNull() const; | |
39148 | bool isEmpty() const; | |
39149 | bool isValid() const; | |
39150 | ||
39151 | int left() const; | |
39152 | int top() const; | |
39153 | int right() const; | |
39154 | int bottom() const; | |
39155 | QRect normalized() const; | |
39156 | # 85 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qrect.h" | |
39157 | int x() const; | |
39158 | int y() const; | |
39159 | void setLeft(int pos); | |
39160 | void setTop(int pos); | |
39161 | void setRight(int pos); | |
39162 | void setBottom(int pos); | |
39163 | void setX(int x); | |
39164 | void setY(int y); | |
39165 | ||
39166 | void setTopLeft(const QPoint &p); | |
39167 | void setBottomRight(const QPoint &p); | |
39168 | void setTopRight(const QPoint &p); | |
39169 | void setBottomLeft(const QPoint &p); | |
39170 | ||
39171 | QPoint topLeft() const; | |
39172 | QPoint bottomRight() const; | |
39173 | QPoint topRight() const; | |
39174 | QPoint bottomLeft() const; | |
39175 | QPoint center() const; | |
39176 | ||
39177 | void moveLeft(int pos); | |
39178 | void moveTop(int pos); | |
39179 | void moveRight(int pos); | |
39180 | void moveBottom(int pos); | |
39181 | void moveTopLeft(const QPoint &p); | |
39182 | void moveBottomRight(const QPoint &p); | |
39183 | void moveTopRight(const QPoint &p); | |
39184 | void moveBottomLeft(const QPoint &p); | |
39185 | void moveCenter(const QPoint &p); | |
39186 | ||
39187 | inline void translate(int dx, int dy); | |
39188 | inline void translate(const QPoint &p); | |
39189 | inline QRect translated(int dx, int dy) const; | |
39190 | inline QRect translated(const QPoint &p) const; | |
39191 | ||
39192 | void moveTo(int x, int t); | |
39193 | void moveTo(const QPoint &p); | |
39194 | ||
39195 | ||
39196 | ||
39197 | ||
39198 | ||
39199 | ||
39200 | void setRect(int x, int y, int w, int h); | |
39201 | inline void getRect(int *x, int *y, int *w, int *h) const; | |
39202 | ||
39203 | void setCoords(int x1, int y1, int x2, int y2); | |
39204 | ||
39205 | ||
39206 | ||
39207 | inline void getCoords(int *x1, int *y1, int *x2, int *y2) const; | |
39208 | ||
39209 | inline void adjust(int x1, int y1, int x2, int y2); | |
39210 | inline QRect adjusted(int x1, int y1, int x2, int y2) const; | |
39211 | ||
39212 | QSize size() const; | |
39213 | int width() const; | |
39214 | int height() const; | |
39215 | void setWidth(int w); | |
39216 | void setHeight(int h); | |
39217 | void setSize(const QSize &s); | |
39218 | ||
39219 | QRect operator|(const QRect &r) const; | |
39220 | QRect operator&(const QRect &r) const; | |
39221 | QRect& operator|=(const QRect &r); | |
39222 | QRect& operator&=(const QRect &r); | |
39223 | ||
39224 | bool contains(const QPoint &p, bool proper=false) const; | |
39225 | bool contains(int x, int y) const; | |
39226 | bool contains(int x, int y, bool proper) const; | |
39227 | bool contains(const QRect &r, bool proper = false) const; | |
39228 | QRect unite(const QRect &r) const; | |
39229 | QRect united(const QRect &other) const; | |
39230 | QRect intersect(const QRect &r) const; | |
39231 | QRect intersected(const QRect &other) const; | |
39232 | bool intersects(const QRect &r) const; | |
39233 | ||
39234 | friend __attribute__((visibility("default"))) inline bool operator==(const QRect &, const QRect &); | |
39235 | friend __attribute__((visibility("default"))) inline bool operator!=(const QRect &, const QRect &); | |
39236 | ||
39237 | ||
39238 | ||
39239 | ||
39240 | ||
39241 | ||
39242 | ||
39243 | private: | |
39244 | # 182 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qrect.h" | |
39245 | int x1; | |
39246 | int y1; | |
39247 | int x2; | |
39248 | int y2; | |
39249 | ||
39250 | ||
39251 | }; | |
39252 | template <> class QTypeInfo<QRect> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QRect)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QRect"; } }; | |
39253 | ||
39254 | __attribute__((visibility("default"))) inline bool operator==(const QRect &, const QRect &); | |
39255 | __attribute__((visibility("default"))) inline bool operator!=(const QRect &, const QRect &); | |
39256 | ||
39257 | ||
39258 | ||
39259 | ||
39260 | ||
39261 | ||
39262 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRect &); | |
39263 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRect &); | |
39264 | ||
39265 | ||
39266 | ||
39267 | ||
39268 | ||
39269 | ||
39270 | inline QRect::QRect(int aleft, int atop, int awidth, int aheight) | |
39271 | { | |
39272 | x1 = aleft; | |
39273 | y1 = atop; | |
39274 | x2 = (aleft + awidth - 1); | |
39275 | y2 = (atop + aheight - 1); | |
39276 | } | |
39277 | ||
39278 | inline QRect::QRect(const QPoint &atopLeft, const QPoint &abottomRight) | |
39279 | { | |
39280 | x1 = atopLeft.x(); | |
39281 | y1 = atopLeft.y(); | |
39282 | x2 = abottomRight.x(); | |
39283 | y2 = abottomRight.y(); | |
39284 | } | |
39285 | ||
39286 | inline QRect::QRect(const QPoint &atopLeft, const QSize &asize) | |
39287 | { | |
39288 | x1 = atopLeft.x(); | |
39289 | y1 = atopLeft.y(); | |
39290 | x2 = (x1+asize.width() - 1); | |
39291 | y2 = (y1+asize.height() - 1); | |
39292 | } | |
39293 | ||
39294 | inline bool QRect::isNull() const | |
39295 | { return x2 == x1 - 1 && y2 == y1 - 1; } | |
39296 | ||
39297 | inline bool QRect::isEmpty() const | |
39298 | { return x1 > x2 || y1 > y2; } | |
39299 | ||
39300 | inline bool QRect::isValid() const | |
39301 | { return x1 <= x2 && y1 <= y2; } | |
39302 | ||
39303 | inline int QRect::left() const | |
39304 | { return x1; } | |
39305 | ||
39306 | inline int QRect::top() const | |
39307 | { return y1; } | |
39308 | ||
39309 | inline int QRect::right() const | |
39310 | { return x2; } | |
39311 | ||
39312 | inline int QRect::bottom() const | |
39313 | { return y2; } | |
39314 | ||
39315 | inline int QRect::x() const | |
39316 | { return x1; } | |
39317 | ||
39318 | inline int QRect::y() const | |
39319 | { return y1; } | |
39320 | ||
39321 | inline void QRect::setLeft(int pos) | |
39322 | { x1 = pos; } | |
39323 | ||
39324 | inline void QRect::setTop(int pos) | |
39325 | { y1 = pos; } | |
39326 | ||
39327 | inline void QRect::setRight(int pos) | |
39328 | { x2 = pos; } | |
39329 | ||
39330 | inline void QRect::setBottom(int pos) | |
39331 | { y2 = pos; } | |
39332 | ||
39333 | inline void QRect::setTopLeft(const QPoint &p) | |
39334 | { x1 = p.x(); y1 = p.y(); } | |
39335 | ||
39336 | inline void QRect::setBottomRight(const QPoint &p) | |
39337 | { x2 = p.x(); y2 = p.y(); } | |
39338 | ||
39339 | inline void QRect::setTopRight(const QPoint &p) | |
39340 | { x2 = p.x(); y1 = p.y(); } | |
39341 | ||
39342 | inline void QRect::setBottomLeft(const QPoint &p) | |
39343 | { x1 = p.x(); y2 = p.y(); } | |
39344 | ||
39345 | inline void QRect::setX(int ax) | |
39346 | { x1 = ax; } | |
39347 | ||
39348 | inline void QRect::setY(int ay) | |
39349 | { y1 = ay; } | |
39350 | ||
39351 | inline QPoint QRect::topLeft() const | |
39352 | { return QPoint(x1, y1); } | |
39353 | ||
39354 | inline QPoint QRect::bottomRight() const | |
39355 | { return QPoint(x2, y2); } | |
39356 | ||
39357 | inline QPoint QRect::topRight() const | |
39358 | { return QPoint(x2, y1); } | |
39359 | ||
39360 | inline QPoint QRect::bottomLeft() const | |
39361 | { return QPoint(x1, y2); } | |
39362 | ||
39363 | inline QPoint QRect::center() const | |
39364 | { return QPoint((x1+x2)/2, (y1+y2)/2); } | |
39365 | ||
39366 | inline int QRect::width() const | |
39367 | { return x2 - x1 + 1; } | |
39368 | ||
39369 | inline int QRect::height() const | |
39370 | { return y2 - y1 + 1; } | |
39371 | ||
39372 | inline QSize QRect::size() const | |
39373 | { return QSize(width(), height()); } | |
39374 | ||
39375 | inline void QRect::translate(int dx, int dy) | |
39376 | { | |
39377 | x1 += dx; | |
39378 | y1 += dy; | |
39379 | x2 += dx; | |
39380 | y2 += dy; | |
39381 | } | |
39382 | ||
39383 | inline void QRect::translate(const QPoint &p) | |
39384 | { | |
39385 | x1 += p.x(); | |
39386 | y1 += p.y(); | |
39387 | x2 += p.x(); | |
39388 | y2 += p.y(); | |
39389 | } | |
39390 | ||
39391 | inline QRect QRect::translated(int dx, int dy) const | |
39392 | { return QRect(QPoint(x1 + dx, y1 + dy), QPoint(x2 + dx, y2 + dy)); } | |
39393 | ||
39394 | inline QRect QRect::translated(const QPoint &p) const | |
39395 | { return QRect(QPoint(x1 + p.x(), y1 + p.y()), QPoint(x2 + p.x(), y2 + p.y())); } | |
39396 | ||
39397 | inline void QRect::moveTo(int ax, int ay) | |
39398 | { | |
39399 | x2 += ax - x1; | |
39400 | y2 += ay - y1; | |
39401 | x1 = ax; | |
39402 | y1 = ay; | |
39403 | } | |
39404 | ||
39405 | inline void QRect::moveTo(const QPoint &p) | |
39406 | { | |
39407 | x2 += p.x() - x1; | |
39408 | y2 += p.y() - y1; | |
39409 | x1 = p.x(); | |
39410 | y1 = p.y(); | |
39411 | } | |
39412 | ||
39413 | inline void QRect::moveLeft(int pos) | |
39414 | { x2 += (pos - x1); x1 = pos; } | |
39415 | ||
39416 | inline void QRect::moveTop(int pos) | |
39417 | { y2 += (pos - y1); y1 = pos; } | |
39418 | ||
39419 | inline void QRect::moveRight(int pos) | |
39420 | { | |
39421 | x1 += (pos - x2); | |
39422 | x2 = pos; | |
39423 | } | |
39424 | ||
39425 | inline void QRect::moveBottom(int pos) | |
39426 | { | |
39427 | y1 += (pos - y2); | |
39428 | y2 = pos; | |
39429 | } | |
39430 | ||
39431 | inline void QRect::moveTopLeft(const QPoint &p) | |
39432 | { | |
39433 | moveLeft(p.x()); | |
39434 | moveTop(p.y()); | |
39435 | } | |
39436 | ||
39437 | inline void QRect::moveBottomRight(const QPoint &p) | |
39438 | { | |
39439 | moveRight(p.x()); | |
39440 | moveBottom(p.y()); | |
39441 | } | |
39442 | ||
39443 | inline void QRect::moveTopRight(const QPoint &p) | |
39444 | { | |
39445 | moveRight(p.x()); | |
39446 | moveTop(p.y()); | |
39447 | } | |
39448 | ||
39449 | inline void QRect::moveBottomLeft(const QPoint &p) | |
39450 | { | |
39451 | moveLeft(p.x()); | |
39452 | moveBottom(p.y()); | |
39453 | } | |
39454 | ||
39455 | inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const | |
39456 | { | |
39457 | *ax = x1; | |
39458 | *ay = y1; | |
39459 | *aw = x2 - x1 + 1; | |
39460 | *ah = y2 - y1 + 1; | |
39461 | } | |
39462 | ||
39463 | inline void QRect::setRect(int ax, int ay, int aw, int ah) | |
39464 | { | |
39465 | x1 = ax; | |
39466 | y1 = ay; | |
39467 | x2 = (ax + aw - 1); | |
39468 | y2 = (ay + ah - 1); | |
39469 | } | |
39470 | ||
39471 | inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const | |
39472 | { | |
39473 | *xp1 = x1; | |
39474 | *yp1 = y1; | |
39475 | *xp2 = x2; | |
39476 | *yp2 = y2; | |
39477 | } | |
39478 | ||
39479 | inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2) | |
39480 | { | |
39481 | x1 = xp1; | |
39482 | y1 = yp1; | |
39483 | x2 = xp2; | |
39484 | y2 = yp2; | |
39485 | } | |
39486 | # 431 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qrect.h" | |
39487 | inline QRect QRect::adjusted(int xp1, int yp1, int xp2, int yp2) const | |
39488 | { return QRect(QPoint(x1 + xp1, y1 + yp1), QPoint(x2 + xp2, y2 + yp2)); } | |
39489 | ||
39490 | inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2) | |
39491 | { | |
39492 | x1 += dx1; | |
39493 | y1 += dy1; | |
39494 | x2 += dx2; | |
39495 | y2 += dy2; | |
39496 | } | |
39497 | ||
39498 | inline void QRect::setWidth(int w) | |
39499 | { x2 = (x1 + w - 1); } | |
39500 | ||
39501 | inline void QRect::setHeight(int h) | |
39502 | { y2 = (y1 + h - 1); } | |
39503 | ||
39504 | inline void QRect::setSize(const QSize &s) | |
39505 | { | |
39506 | x2 = (s.width() + x1 - 1); | |
39507 | y2 = (s.height() + y1 - 1); | |
39508 | } | |
39509 | ||
39510 | inline bool QRect::contains(int ax, int ay, bool aproper) const | |
39511 | { | |
39512 | return contains(QPoint(ax, ay), aproper); | |
39513 | } | |
39514 | ||
39515 | inline bool QRect::contains(int ax, int ay) const | |
39516 | { | |
39517 | return contains(QPoint(ax, ay), false); | |
39518 | } | |
39519 | ||
39520 | inline QRect& QRect::operator|=(const QRect &r) | |
39521 | { | |
39522 | *this = *this | r; | |
39523 | return *this; | |
39524 | } | |
39525 | ||
39526 | inline QRect& QRect::operator&=(const QRect &r) | |
39527 | { | |
39528 | *this = *this & r; | |
39529 | return *this; | |
39530 | } | |
39531 | ||
39532 | inline QRect QRect::intersect(const QRect &r) const | |
39533 | { | |
39534 | return *this & r; | |
39535 | } | |
39536 | ||
39537 | inline QRect QRect::intersected(const QRect &other) const | |
39538 | { | |
39539 | return intersect(other); | |
39540 | } | |
39541 | ||
39542 | inline QRect QRect::unite(const QRect &r) const | |
39543 | { | |
39544 | return *this | r; | |
39545 | } | |
39546 | ||
39547 | inline QRect QRect::united(const QRect &r) const | |
39548 | { | |
39549 | return unite(r); | |
39550 | } | |
39551 | ||
39552 | inline bool operator==(const QRect &r1, const QRect &r2) | |
39553 | { | |
39554 | return r1.x1==r2.x1 && r1.x2==r2.x2 && r1.y1==r2.y1 && r1.y2==r2.y2; | |
39555 | } | |
39556 | ||
39557 | inline bool operator!=(const QRect &r1, const QRect &r2) | |
39558 | { | |
39559 | return r1.x1!=r2.x1 || r1.x2!=r2.x2 || r1.y1!=r2.y1 || r1.y2!=r2.y2; | |
39560 | } | |
39561 | ||
39562 | ||
39563 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRect &); | |
39564 | ||
39565 | ||
39566 | ||
39567 | class __attribute__((visibility("default"))) QRectF | |
39568 | { | |
39569 | public: | |
39570 | QRectF() { xp = yp = 0.; w = h = 0.; } | |
39571 | QRectF(const QPointF &topleft, const QSizeF &size); | |
39572 | QRectF(const QPointF &topleft, const QPointF &bottomRight); | |
39573 | QRectF(qreal left, qreal top, qreal width, qreal height); | |
39574 | QRectF(const QRect &rect); | |
39575 | ||
39576 | bool isNull() const; | |
39577 | bool isEmpty() const; | |
39578 | bool isValid() const; | |
39579 | QRectF normalized() const; | |
39580 | ||
39581 | inline qreal left() const { return xp; } | |
39582 | inline qreal top() const { return yp; } | |
39583 | inline qreal right() const { return xp + w; } | |
39584 | inline qreal bottom() const { return yp + h; } | |
39585 | ||
39586 | inline qreal x() const; | |
39587 | inline qreal y() const; | |
39588 | inline void setLeft(qreal pos); | |
39589 | inline void setTop(qreal pos); | |
39590 | inline void setRight(qreal pos); | |
39591 | inline void setBottom(qreal pos); | |
39592 | inline void setX(qreal pos) { setLeft(pos); } | |
39593 | inline void setY(qreal pos) { setTop(pos); } | |
39594 | ||
39595 | inline QPointF topLeft() const { return QPointF(xp, yp); } | |
39596 | inline QPointF bottomRight() const { return QPointF(xp+w, yp+h); } | |
39597 | inline QPointF topRight() const { return QPointF(xp+w, yp); } | |
39598 | inline QPointF bottomLeft() const { return QPointF(xp, yp+h); } | |
39599 | inline QPointF center() const; | |
39600 | ||
39601 | void setTopLeft(const QPointF &p); | |
39602 | void setBottomRight(const QPointF &p); | |
39603 | void setTopRight(const QPointF &p); | |
39604 | void setBottomLeft(const QPointF &p); | |
39605 | ||
39606 | void moveLeft(qreal pos); | |
39607 | void moveTop(qreal pos); | |
39608 | void moveRight(qreal pos); | |
39609 | void moveBottom(qreal pos); | |
39610 | void moveTopLeft(const QPointF &p); | |
39611 | void moveBottomRight(const QPointF &p); | |
39612 | void moveTopRight(const QPointF &p); | |
39613 | void moveBottomLeft(const QPointF &p); | |
39614 | void moveCenter(const QPointF &p); | |
39615 | ||
39616 | void translate(qreal dx, qreal dy); | |
39617 | void translate(const QPointF &p); | |
39618 | ||
39619 | QRectF translated(qreal dx, qreal dy) const; | |
39620 | QRectF translated(const QPointF &p) const; | |
39621 | ||
39622 | void moveTo(qreal x, qreal t); | |
39623 | void moveTo(const QPointF &p); | |
39624 | ||
39625 | void setRect(qreal x, qreal y, qreal w, qreal h); | |
39626 | void getRect(qreal *x, qreal *y, qreal *w, qreal *h) const; | |
39627 | ||
39628 | void setCoords(qreal x1, qreal y1, qreal x2, qreal y2); | |
39629 | void getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const; | |
39630 | ||
39631 | inline void adjust(qreal x1, qreal y1, qreal x2, qreal y2); | |
39632 | inline QRectF adjusted(qreal x1, qreal y1, qreal x2, qreal y2) const; | |
39633 | ||
39634 | QSizeF size() const; | |
39635 | qreal width() const; | |
39636 | qreal height() const; | |
39637 | void setWidth(qreal w); | |
39638 | void setHeight(qreal h); | |
39639 | void setSize(const QSizeF &s); | |
39640 | ||
39641 | QRectF operator|(const QRectF &r) const; | |
39642 | QRectF operator&(const QRectF &r) const; | |
39643 | QRectF& operator|=(const QRectF &r); | |
39644 | QRectF& operator&=(const QRectF &r); | |
39645 | ||
39646 | bool contains(const QPointF &p) const; | |
39647 | bool contains(qreal x, qreal y) const; | |
39648 | bool contains(const QRectF &r) const; | |
39649 | QRectF unite(const QRectF &r) const; | |
39650 | QRectF united(const QRectF &other) const; | |
39651 | QRectF intersect(const QRectF &r) const; | |
39652 | QRectF intersected(const QRectF &other) const; | |
39653 | bool intersects(const QRectF &r) const; | |
39654 | ||
39655 | friend __attribute__((visibility("default"))) inline bool operator==(const QRectF &, const QRectF &); | |
39656 | friend __attribute__((visibility("default"))) inline bool operator!=(const QRectF &, const QRectF &); | |
39657 | ||
39658 | QRect toRect() const; | |
39659 | QRect toAlignedRect() const; | |
39660 | ||
39661 | private: | |
39662 | qreal xp; | |
39663 | qreal yp; | |
39664 | qreal w; | |
39665 | qreal h; | |
39666 | }; | |
39667 | template <> class QTypeInfo<QRectF> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QRectF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QRectF"; } }; | |
39668 | ||
39669 | __attribute__((visibility("default"))) inline bool operator==(const QRectF &, const QRectF &); | |
39670 | __attribute__((visibility("default"))) inline bool operator!=(const QRectF &, const QRectF &); | |
39671 | ||
39672 | ||
39673 | ||
39674 | ||
39675 | ||
39676 | ||
39677 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRectF &); | |
39678 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRectF &); | |
39679 | ||
39680 | ||
39681 | ||
39682 | ||
39683 | ||
39684 | ||
39685 | inline QRectF::QRectF(qreal aleft, qreal atop, qreal awidth, qreal aheight) | |
39686 | : xp(aleft), yp(atop), w(awidth), h(aheight) | |
39687 | { | |
39688 | } | |
39689 | ||
39690 | inline QRectF::QRectF(const QPointF &atopLeft, const QSizeF &asize) | |
39691 | { | |
39692 | xp = atopLeft.x(); | |
39693 | yp = atopLeft.y(); | |
39694 | w = asize.width(); | |
39695 | h = asize.height(); | |
39696 | } | |
39697 | ||
39698 | inline QRectF::QRectF(const QPointF &atopLeft, const QPointF &abottomRight) | |
39699 | { | |
39700 | xp = atopLeft.x(); | |
39701 | yp = atopLeft.y(); | |
39702 | w = abottomRight.x() - xp; | |
39703 | h = abottomRight.y() - yp; | |
39704 | } | |
39705 | ||
39706 | inline QRectF::QRectF(const QRect &r) | |
39707 | : xp(r.x()), yp(r.y()), w(r.width()), h(r.height()) | |
39708 | { | |
39709 | } | |
39710 | ||
39711 | inline bool QRectF::isNull() const | |
39712 | { return qIsNull(w) && qIsNull(h); } | |
39713 | ||
39714 | inline bool QRectF::isEmpty() const | |
39715 | { return w <= 0. || h <= 0.; } | |
39716 | ||
39717 | inline bool QRectF::isValid() const | |
39718 | { return w > 0. && h > 0.; } | |
39719 | ||
39720 | inline qreal QRectF::x() const | |
39721 | { return xp; } | |
39722 | ||
39723 | inline qreal QRectF::y() const | |
39724 | { return yp; } | |
39725 | ||
39726 | inline void QRectF::setLeft(qreal pos) { qreal diff = pos - xp; xp += diff; w -= diff; } | |
39727 | ||
39728 | inline void QRectF::setRight(qreal pos) { w = pos - xp; } | |
39729 | ||
39730 | inline void QRectF::setTop(qreal pos) { qreal diff = pos - yp; yp += diff; h -= diff; } | |
39731 | ||
39732 | inline void QRectF::setBottom(qreal pos) { h = pos - yp; } | |
39733 | ||
39734 | inline void QRectF::setTopLeft(const QPointF &p) { setLeft(p.x()); setTop(p.y()); } | |
39735 | ||
39736 | inline void QRectF::setTopRight(const QPointF &p) { setRight(p.x()); setTop(p.y()); } | |
39737 | ||
39738 | inline void QRectF::setBottomLeft(const QPointF &p) { setLeft(p.x()); setBottom(p.y()); } | |
39739 | ||
39740 | inline void QRectF::setBottomRight(const QPointF &p) { setRight(p.x()); setBottom(p.y()); } | |
39741 | ||
39742 | inline QPointF QRectF::center() const | |
39743 | { return QPointF(xp + w/2, yp + h/2); } | |
39744 | ||
39745 | inline void QRectF::moveLeft(qreal pos) { xp = pos; } | |
39746 | ||
39747 | inline void QRectF::moveTop(qreal pos) { yp = pos; } | |
39748 | ||
39749 | inline void QRectF::moveRight(qreal pos) { xp = pos - w; } | |
39750 | ||
39751 | inline void QRectF::moveBottom(qreal pos) { yp = pos - h; } | |
39752 | ||
39753 | inline void QRectF::moveTopLeft(const QPointF &p) { moveLeft(p.x()); moveTop(p.y()); } | |
39754 | ||
39755 | inline void QRectF::moveTopRight(const QPointF &p) { moveRight(p.x()); moveTop(p.y()); } | |
39756 | ||
39757 | inline void QRectF::moveBottomLeft(const QPointF &p) { moveLeft(p.x()); moveBottom(p.y()); } | |
39758 | ||
39759 | inline void QRectF::moveBottomRight(const QPointF &p) { moveRight(p.x()); moveBottom(p.y()); } | |
39760 | ||
39761 | inline void QRectF::moveCenter(const QPointF &p) { xp = p.x() - w/2; yp = p.y() - h/2; } | |
39762 | ||
39763 | inline qreal QRectF::width() const | |
39764 | { return w; } | |
39765 | ||
39766 | inline qreal QRectF::height() const | |
39767 | { return h; } | |
39768 | ||
39769 | inline QSizeF QRectF::size() const | |
39770 | { return QSizeF(w, h); } | |
39771 | ||
39772 | inline void QRectF::translate(qreal dx, qreal dy) | |
39773 | { | |
39774 | xp += dx; | |
39775 | yp += dy; | |
39776 | } | |
39777 | ||
39778 | inline void QRectF::translate(const QPointF &p) | |
39779 | { | |
39780 | xp += p.x(); | |
39781 | yp += p.y(); | |
39782 | } | |
39783 | ||
39784 | inline void QRectF::moveTo(qreal ax, qreal ay) | |
39785 | { | |
39786 | xp = ax; | |
39787 | yp = ay; | |
39788 | } | |
39789 | ||
39790 | inline void QRectF::moveTo(const QPointF &p) | |
39791 | { | |
39792 | xp = p.x(); | |
39793 | yp = p.y(); | |
39794 | } | |
39795 | ||
39796 | inline QRectF QRectF::translated(qreal dx, qreal dy) const | |
39797 | { return QRectF(xp + dx, yp + dy, w, h); } | |
39798 | ||
39799 | inline QRectF QRectF::translated(const QPointF &p) const | |
39800 | { return QRectF(xp + p.x(), yp + p.y(), w, h); } | |
39801 | ||
39802 | inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const | |
39803 | { | |
39804 | *ax = this->xp; | |
39805 | *ay = this->yp; | |
39806 | *aaw = this->w; | |
39807 | *aah = this->h; | |
39808 | } | |
39809 | ||
39810 | inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah) | |
39811 | { | |
39812 | this->xp = ax; | |
39813 | this->yp = ay; | |
39814 | this->w = aaw; | |
39815 | this->h = aah; | |
39816 | } | |
39817 | ||
39818 | inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) const | |
39819 | { | |
39820 | *xp1 = xp; | |
39821 | *yp1 = yp; | |
39822 | *xp2 = xp + w; | |
39823 | *yp2 = yp + h; | |
39824 | } | |
39825 | ||
39826 | inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2) | |
39827 | { | |
39828 | xp = xp1; | |
39829 | yp = yp1; | |
39830 | w = xp2 - xp1; | |
39831 | h = yp2 - yp1; | |
39832 | } | |
39833 | ||
39834 | inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2) | |
39835 | { xp += xp1; yp += yp1; w += xp2 - xp1; h += yp2 - yp1; } | |
39836 | ||
39837 | inline QRectF QRectF::adjusted(qreal xp1, qreal yp1, qreal xp2, qreal yp2) const | |
39838 | { return QRectF(xp + xp1, yp + yp1, w + xp2 - xp1, h + yp2 - yp1); } | |
39839 | ||
39840 | inline void QRectF::setWidth(qreal aw) | |
39841 | { this->w = aw; } | |
39842 | ||
39843 | inline void QRectF::setHeight(qreal ah) | |
39844 | { this->h = ah; } | |
39845 | ||
39846 | inline void QRectF::setSize(const QSizeF &s) | |
39847 | { | |
39848 | w = s.width(); | |
39849 | h = s.height(); | |
39850 | } | |
39851 | ||
39852 | inline bool QRectF::contains(qreal ax, qreal ay) const | |
39853 | { | |
39854 | return contains(QPointF(ax, ay)); | |
39855 | } | |
39856 | ||
39857 | inline QRectF& QRectF::operator|=(const QRectF &r) | |
39858 | { | |
39859 | *this = *this | r; | |
39860 | return *this; | |
39861 | } | |
39862 | ||
39863 | inline QRectF& QRectF::operator&=(const QRectF &r) | |
39864 | { | |
39865 | *this = *this & r; | |
39866 | return *this; | |
39867 | } | |
39868 | ||
39869 | inline QRectF QRectF::intersect(const QRectF &r) const | |
39870 | { | |
39871 | return *this & r; | |
39872 | } | |
39873 | ||
39874 | inline QRectF QRectF::intersected(const QRectF &r) const | |
39875 | { | |
39876 | return intersect(r); | |
39877 | } | |
39878 | ||
39879 | inline QRectF QRectF::unite(const QRectF &r) const | |
39880 | { | |
39881 | return *this | r; | |
39882 | } | |
39883 | ||
39884 | inline QRectF QRectF::united(const QRectF &r) const | |
39885 | { | |
39886 | return unite(r); | |
39887 | } | |
39888 | ||
39889 | inline bool operator==(const QRectF &r1, const QRectF &r2) | |
39890 | { | |
39891 | return qFuzzyCompare(r1.xp, r2.xp) && qFuzzyCompare(r1.yp, r2.yp) | |
39892 | && qFuzzyCompare(r1.w, r2.w) && qFuzzyCompare(r1.h, r2.h); | |
39893 | } | |
39894 | ||
39895 | inline bool operator!=(const QRectF &r1, const QRectF &r2) | |
39896 | { | |
39897 | return !qFuzzyCompare(r1.xp, r2.xp) || !qFuzzyCompare(r1.yp, r2.yp) | |
39898 | || !qFuzzyCompare(r1.w, r2.w) || !qFuzzyCompare(r1.h, r2.h); | |
39899 | } | |
39900 | ||
39901 | inline QRect QRectF::toRect() const | |
39902 | { | |
39903 | return QRect(qRound(xp), qRound(yp), qRound(w), qRound(h)); | |
39904 | } | |
39905 | ||
39906 | ||
39907 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRectF &); | |
39908 | ||
39909 | ||
39910 | ||
39911 | ||
39912 | ||
39913 | # 1 "../../include/QtCore/qrect.h" 2 | |
39914 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
39915 | # 1 "../../include/QtCore/qvector.h" 1 | |
39916 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
39917 | # 1 "../../include/QtGui/qcolor.h" 1 | |
39918 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qcolor.h" 1 | |
39919 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qcolor.h" | |
39920 | #define QCOLOR_H | |
39921 | ||
39922 | # 1 "../../include/QtGui/qrgb.h" 1 | |
39923 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qrgb.h" 1 | |
39924 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qrgb.h" | |
39925 | #define QRGB_H | |
39926 | ||
39927 | # 1 "../../include/QtCore/qglobal.h" 1 | |
39928 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qrgb.h" 2 | |
39929 | ||
39930 | ||
39931 | ||
39932 | ||
39933 | ||
39934 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
39935 | ||
39936 | typedef unsigned int QRgb; | |
39937 | ||
39938 | const QRgb RGB_MASK = 0x00ffffff; | |
39939 | ||
39940 | __attribute__((visibility("default"))) inline int qRed(QRgb rgb) | |
39941 | { return ((rgb >> 16) & 0xff); } | |
39942 | ||
39943 | __attribute__((visibility("default"))) inline int qGreen(QRgb rgb) | |
39944 | { return ((rgb >> 8) & 0xff); } | |
39945 | ||
39946 | __attribute__((visibility("default"))) inline int qBlue(QRgb rgb) | |
39947 | { return (rgb & 0xff); } | |
39948 | ||
39949 | __attribute__((visibility("default"))) inline int qAlpha(QRgb rgb) | |
39950 | { return ((rgb >> 24) & 0xff); } | |
39951 | ||
39952 | __attribute__((visibility("default"))) inline QRgb qRgb(int r, int g, int b) | |
39953 | { return (0xffu << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); } | |
39954 | ||
39955 | __attribute__((visibility("default"))) inline QRgb qRgba(int r, int g, int b, int a) | |
39956 | { return ((a & 0xff) << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); } | |
39957 | ||
39958 | __attribute__((visibility("default"))) inline int qGray(int r, int g, int b) | |
39959 | { return (r*11+g*16+b*5)/32; } | |
39960 | ||
39961 | __attribute__((visibility("default"))) inline int qGray(QRgb rgb) | |
39962 | { return qGray(qRed(rgb), qGreen(rgb), qBlue(rgb)); } | |
39963 | ||
39964 | __attribute__((visibility("default"))) inline bool qIsGray(QRgb rgb) | |
39965 | { return qRed(rgb) == qGreen(rgb) && qRed(rgb) == qBlue(rgb); } | |
39966 | ||
39967 | ||
39968 | ||
39969 | ||
39970 | # 1 "../../include/QtGui/qrgb.h" 2 | |
39971 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qcolor.h" 2 | |
39972 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
39973 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qcolor.h" 2 | |
39974 | # 1 "../../include/QtCore/qstringlist.h" 1 | |
39975 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" 1 | |
39976 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" | |
39977 | #define QSTRINGLIST_H | |
39978 | ||
39979 | # 1 "../../include/QtCore/qalgorithms.h" 1 | |
39980 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" 2 | |
39981 | # 1 "../../include/QtCore/qdatastream.h" 1 | |
39982 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" 2 | |
39983 | # 1 "../../include/QtCore/qlist.h" 1 | |
39984 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" 2 | |
39985 | # 1 "../../include/QtCore/qregexp.h" 1 | |
39986 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qregexp.h" 1 | |
39987 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qregexp.h" | |
39988 | #define QREGEXP_H | |
39989 | ||
39990 | ||
39991 | ||
39992 | # 1 "../../include/QtCore/qstring.h" 1 | |
39993 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qregexp.h" 2 | |
39994 | ||
39995 | ||
39996 | ||
39997 | ||
39998 | ||
39999 | ||
40000 | ||
40001 | ||
40002 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
40003 | ||
40004 | struct QRegExpPrivate; | |
40005 | class QStringList; | |
40006 | ||
40007 | class __attribute__((visibility("default"))) QRegExp | |
40008 | { | |
40009 | public: | |
40010 | enum PatternSyntax { RegExp, Wildcard, FixedString, RegExp2 }; | |
40011 | enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch }; | |
40012 | ||
40013 | QRegExp(); | |
40014 | explicit QRegExp(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, | |
40015 | PatternSyntax syntax = RegExp); | |
40016 | QRegExp(const QRegExp &rx); | |
40017 | ~QRegExp(); | |
40018 | QRegExp &operator=(const QRegExp &rx); | |
40019 | ||
40020 | bool operator==(const QRegExp &rx) const; | |
40021 | inline bool operator!=(const QRegExp &rx) const { return !operator==(rx); } | |
40022 | ||
40023 | bool isEmpty() const; | |
40024 | bool isValid() const; | |
40025 | QString pattern() const; | |
40026 | void setPattern(const QString &pattern); | |
40027 | Qt::CaseSensitivity caseSensitivity() const; | |
40028 | void setCaseSensitivity(Qt::CaseSensitivity cs); | |
40029 | ||
40030 | ||
40031 | ||
40032 | ||
40033 | ||
40034 | PatternSyntax patternSyntax() const; | |
40035 | void setPatternSyntax(PatternSyntax syntax); | |
40036 | ||
40037 | ||
40038 | ||
40039 | ||
40040 | ||
40041 | ||
40042 | bool isMinimal() const; | |
40043 | void setMinimal(bool minimal); | |
40044 | ||
40045 | ||
40046 | ||
40047 | ||
40048 | bool exactMatch(const QString &str) const; | |
40049 | ||
40050 | int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const; | |
40051 | int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const; | |
40052 | # 114 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qregexp.h" | |
40053 | int matchedLength() const; | |
40054 | ||
40055 | int numCaptures() const; | |
40056 | QStringList capturedTexts() const; | |
40057 | QStringList capturedTexts(); | |
40058 | QString cap(int nth = 0) const; | |
40059 | QString cap(int nth = 0); | |
40060 | int pos(int nth = 0) const; | |
40061 | int pos(int nth = 0); | |
40062 | QString errorString() const; | |
40063 | QString errorString(); | |
40064 | ||
40065 | ||
40066 | static QString escape(const QString &str); | |
40067 | # 138 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qregexp.h" | |
40068 | private: | |
40069 | QRegExpPrivate *priv; | |
40070 | }; | |
40071 | ||
40072 | template <> class QTypeInfo<QRegExp> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QRegExp)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QRegExp"; } }; | |
40073 | ||
40074 | ||
40075 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &out, const QRegExp ®Exp); | |
40076 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QRegExp ®Exp); | |
40077 | ||
40078 | ||
40079 | ||
40080 | ||
40081 | ||
40082 | # 1 "../../include/QtCore/qregexp.h" 2 | |
40083 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" 2 | |
40084 | # 1 "../../include/QtCore/qstring.h" 1 | |
40085 | # 50 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" 2 | |
40086 | # 1 "../../include/QtCore/qstringmatcher.h" 1 | |
40087 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringmatcher.h" 1 | |
40088 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringmatcher.h" | |
40089 | #define QSTRINGMATCHER_H | |
40090 | ||
40091 | # 1 "../../include/QtCore/qstring.h" 1 | |
40092 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringmatcher.h" 2 | |
40093 | ||
40094 | ||
40095 | ||
40096 | ||
40097 | ||
40098 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
40099 | ||
40100 | class QStringMatcherPrivate; | |
40101 | ||
40102 | class __attribute__((visibility("default"))) QStringMatcher | |
40103 | { | |
40104 | public: | |
40105 | QStringMatcher(); | |
40106 | QStringMatcher(const QString &pattern, | |
40107 | Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
40108 | QStringMatcher(const QChar *uc, int len, | |
40109 | Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
40110 | QStringMatcher(const QStringMatcher &other); | |
40111 | ~QStringMatcher(); | |
40112 | ||
40113 | QStringMatcher &operator=(const QStringMatcher &other); | |
40114 | ||
40115 | void setPattern(const QString &pattern); | |
40116 | void setCaseSensitivity(Qt::CaseSensitivity cs); | |
40117 | ||
40118 | int indexIn(const QString &str, int from = 0) const; | |
40119 | int indexIn(const QChar *str, int length, int from = 0) const; | |
40120 | QString pattern() const; | |
40121 | inline Qt::CaseSensitivity caseSensitivity() const { return q_cs; } | |
40122 | ||
40123 | private: | |
40124 | QStringMatcherPrivate *d_ptr; | |
40125 | QString q_pattern; | |
40126 | Qt::CaseSensitivity q_cs; | |
40127 | ||
40128 | ||
40129 | ||
40130 | ||
40131 | union { | |
40132 | uint q_data[256]; | |
40133 | struct { | |
40134 | uchar q_skiptable[256]; | |
40135 | const QChar *uc; | |
40136 | int len; | |
40137 | } p; | |
40138 | }; | |
40139 | }; | |
40140 | ||
40141 | ||
40142 | ||
40143 | ||
40144 | # 1 "../../include/QtCore/qstringmatcher.h" 2 | |
40145 | # 51 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" 2 | |
40146 | ||
40147 | ||
40148 | ||
40149 | ||
40150 | ||
40151 | ||
40152 | ||
40153 | ||
40154 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
40155 | ||
40156 | class QRegExp; | |
40157 | ||
40158 | typedef QListIterator<QString> QStringListIterator; | |
40159 | typedef QMutableListIterator<QString> QMutableStringListIterator; | |
40160 | ||
40161 | class QStringList : public QList<QString> | |
40162 | { | |
40163 | public: | |
40164 | inline QStringList() { } | |
40165 | inline explicit QStringList(const QString &i) { append(i); } | |
40166 | inline QStringList(const QStringList &l) : QList<QString>(l) { } | |
40167 | inline QStringList(const QList<QString> &l) : QList<QString>(l) { } | |
40168 | ||
40169 | inline void sort(); | |
40170 | inline int removeDuplicates(); | |
40171 | ||
40172 | inline QString join(const QString &sep) const; | |
40173 | ||
40174 | inline QStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
40175 | inline QBool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; | |
40176 | ||
40177 | inline QStringList &replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); | |
40178 | ||
40179 | inline QStringList operator+(const QStringList &other) const | |
40180 | { QStringList n = *this; n += other; return n; } | |
40181 | inline QStringList &operator<<(const QString &str) | |
40182 | { append(str); return *this; } | |
40183 | inline QStringList &operator<<(const QStringList &l) | |
40184 | { *this += l; return *this; } | |
40185 | ||
40186 | ||
40187 | inline QStringList filter(const QRegExp &rx) const; | |
40188 | inline QStringList &replaceInStrings(const QRegExp &rx, const QString &after); | |
40189 | inline int indexOf(const QRegExp &rx, int from = 0) const; | |
40190 | inline int lastIndexOf(const QRegExp &rx, int from = -1) const; | |
40191 | inline int indexOf(QRegExp &rx, int from = 0) const; | |
40192 | inline int lastIndexOf(QRegExp &rx, int from = -1) const; | |
40193 | ||
40194 | ||
40195 | using QList<QString>::indexOf; | |
40196 | using QList<QString>::lastIndexOf; | |
40197 | # 126 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" | |
40198 | }; | |
40199 | ||
40200 | namespace QtPrivate { | |
40201 | void __attribute__((visibility("default"))) QStringList_sort(QStringList *that); | |
40202 | int __attribute__((visibility("default"))) QStringList_removeDuplicates(QStringList *that); | |
40203 | QString __attribute__((visibility("default"))) QStringList_join(const QStringList *that, const QString &sep); | |
40204 | QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QString &str, | |
40205 | Qt::CaseSensitivity cs); | |
40206 | ||
40207 | QBool __attribute__((visibility("default"))) QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); | |
40208 | void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after, | |
40209 | Qt::CaseSensitivity cs); | |
40210 | ||
40211 | ||
40212 | void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QRegExp &rx, const QString &after); | |
40213 | QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QRegExp &re); | |
40214 | int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, const QRegExp &rx, int from); | |
40215 | int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, const QRegExp &rx, int from); | |
40216 | int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, QRegExp &rx, int from); | |
40217 | int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, QRegExp &rx, int from); | |
40218 | ||
40219 | } | |
40220 | ||
40221 | inline void QStringList::sort() | |
40222 | { | |
40223 | QtPrivate::QStringList_sort(this); | |
40224 | } | |
40225 | ||
40226 | inline int QStringList::removeDuplicates() | |
40227 | { | |
40228 | return QtPrivate::QStringList_removeDuplicates(this); | |
40229 | } | |
40230 | ||
40231 | inline QString QStringList::join(const QString &sep) const | |
40232 | { | |
40233 | return QtPrivate::QStringList_join(this, sep); | |
40234 | } | |
40235 | ||
40236 | inline QStringList QStringList::filter(const QString &str, Qt::CaseSensitivity cs) const | |
40237 | { | |
40238 | return QtPrivate::QStringList_filter(this, str, cs); | |
40239 | } | |
40240 | ||
40241 | inline QBool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const | |
40242 | { | |
40243 | return QtPrivate::QStringList_contains(this, str, cs); | |
40244 | } | |
40245 | ||
40246 | inline QStringList &QStringList::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs) | |
40247 | { | |
40248 | QtPrivate::QStringList_replaceInStrings(this, before, after, cs); | |
40249 | return *this; | |
40250 | } | |
40251 | ||
40252 | ||
40253 | inline QStringList &QStringList::replaceInStrings(const QRegExp &rx, const QString &after) | |
40254 | { | |
40255 | QtPrivate::QStringList_replaceInStrings(this, rx, after); | |
40256 | return *this; | |
40257 | } | |
40258 | ||
40259 | inline QStringList QStringList::filter(const QRegExp &rx) const | |
40260 | { | |
40261 | return QtPrivate::QStringList_filter(this, rx); | |
40262 | } | |
40263 | ||
40264 | inline int QStringList::indexOf(const QRegExp &rx, int from) const | |
40265 | { | |
40266 | return QtPrivate::QStringList_indexOf(this, rx, from); | |
40267 | } | |
40268 | ||
40269 | inline int QStringList::lastIndexOf(const QRegExp &rx, int from) const | |
40270 | { | |
40271 | return QtPrivate::QStringList_lastIndexOf(this, rx, from); | |
40272 | } | |
40273 | ||
40274 | inline int QStringList::indexOf(QRegExp &rx, int from) const | |
40275 | { | |
40276 | return QtPrivate::QStringList_indexOf(this, rx, from); | |
40277 | } | |
40278 | ||
40279 | inline int QStringList::lastIndexOf(QRegExp &rx, int from) const | |
40280 | { | |
40281 | return QtPrivate::QStringList_lastIndexOf(this, rx, from); | |
40282 | } | |
40283 | # 245 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qstringlist.h" | |
40284 | inline QDataStream &operator>>(QDataStream &in, QStringList &list) | |
40285 | { | |
40286 | return operator>>(in, static_cast<QList<QString> &>(list)); | |
40287 | } | |
40288 | inline QDataStream &operator<<(QDataStream &out, const QStringList &list) | |
40289 | { | |
40290 | return operator<<(out, static_cast<const QList<QString> &>(list)); | |
40291 | } | |
40292 | ||
40293 | ||
40294 | ||
40295 | ||
40296 | ||
40297 | # 1 "../../include/QtCore/qstringlist.h" 2 | |
40298 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qcolor.h" 2 | |
40299 | ||
40300 | ||
40301 | ||
40302 | ||
40303 | ||
40304 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
40305 | ||
40306 | class QColor; | |
40307 | class QColormap; | |
40308 | class QVariant; | |
40309 | ||
40310 | ||
40311 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QColor &); | |
40312 | ||
40313 | ||
40314 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QColor &); | |
40315 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QColor &); | |
40316 | ||
40317 | ||
40318 | class __attribute__((visibility("default"))) QColor | |
40319 | { | |
40320 | public: | |
40321 | enum Spec { Invalid, Rgb, Hsv, Cmyk }; | |
40322 | ||
40323 | QColor(); | |
40324 | QColor(Qt::GlobalColor color); | |
40325 | QColor(int r, int g, int b, int a = 255); | |
40326 | QColor(QRgb rgb); | |
40327 | QColor(const QString& name); | |
40328 | QColor(const char *name); | |
40329 | QColor(const QColor &color); | |
40330 | QColor(Spec spec); | |
40331 | ||
40332 | bool isValid() const; | |
40333 | ||
40334 | QString name() const; | |
40335 | void setNamedColor(const QString& name); | |
40336 | ||
40337 | static QStringList colorNames(); | |
40338 | ||
40339 | inline Spec spec() const | |
40340 | { return cspec; } | |
40341 | ||
40342 | int alpha() const; | |
40343 | void setAlpha(int alpha); | |
40344 | ||
40345 | qreal alphaF() const; | |
40346 | void setAlphaF(qreal alpha); | |
40347 | ||
40348 | int red() const; | |
40349 | int green() const; | |
40350 | int blue() const; | |
40351 | void setRed(int red); | |
40352 | void setGreen(int green); | |
40353 | void setBlue(int blue); | |
40354 | ||
40355 | qreal redF() const; | |
40356 | qreal greenF() const; | |
40357 | qreal blueF() const; | |
40358 | void setRedF(qreal red); | |
40359 | void setGreenF(qreal green); | |
40360 | void setBlueF(qreal blue); | |
40361 | ||
40362 | void getRgb(int *r, int *g, int *b, int *a = 0) const; | |
40363 | void setRgb(int r, int g, int b, int a = 255); | |
40364 | ||
40365 | void getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = 0) const; | |
40366 | void setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); | |
40367 | ||
40368 | QRgb rgba() const; | |
40369 | void setRgba(QRgb rgba); | |
40370 | ||
40371 | QRgb rgb() const; | |
40372 | void setRgb(QRgb rgb); | |
40373 | ||
40374 | int hue() const; | |
40375 | int saturation() const; | |
40376 | int value() const; | |
40377 | ||
40378 | qreal hueF() const; | |
40379 | qreal saturationF() const; | |
40380 | qreal valueF() const; | |
40381 | ||
40382 | void getHsv(int *h, int *s, int *v, int *a = 0) const; | |
40383 | void setHsv(int h, int s, int v, int a = 255); | |
40384 | ||
40385 | void getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = 0) const; | |
40386 | void setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); | |
40387 | ||
40388 | int cyan() const; | |
40389 | int magenta() const; | |
40390 | int yellow() const; | |
40391 | int black() const; | |
40392 | ||
40393 | qreal cyanF() const; | |
40394 | qreal magentaF() const; | |
40395 | qreal yellowF() const; | |
40396 | qreal blackF() const; | |
40397 | ||
40398 | void getCmyk(int *c, int *m, int *y, int *k, int *a = 0); | |
40399 | void setCmyk(int c, int m, int y, int k, int a = 255); | |
40400 | ||
40401 | void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = 0); | |
40402 | void setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); | |
40403 | ||
40404 | QColor toRgb() const; | |
40405 | QColor toHsv() const; | |
40406 | QColor toCmyk() const; | |
40407 | ||
40408 | QColor convertTo(Spec colorSpec) const; | |
40409 | ||
40410 | static QColor fromRgb(QRgb rgb); | |
40411 | static QColor fromRgba(QRgb rgba); | |
40412 | ||
40413 | static QColor fromRgb(int r, int g, int b, int a = 255); | |
40414 | static QColor fromRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); | |
40415 | ||
40416 | static QColor fromHsv(int h, int s, int v, int a = 255); | |
40417 | static QColor fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); | |
40418 | ||
40419 | static QColor fromCmyk(int c, int m, int y, int k, int a = 255); | |
40420 | static QColor fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); | |
40421 | ||
40422 | QColor light(int f = 150) const; | |
40423 | QColor lighter(int f = 150) const; | |
40424 | QColor dark(int f = 200) const; | |
40425 | QColor darker(int f = 200) const; | |
40426 | ||
40427 | QColor &operator=(const QColor &); | |
40428 | QColor &operator=(Qt::GlobalColor color); | |
40429 | ||
40430 | bool operator==(const QColor &c) const; | |
40431 | bool operator!=(const QColor &c) const; | |
40432 | ||
40433 | operator QVariant() const; | |
40434 | # 206 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qcolor.h" | |
40435 | private: | |
40436 | ||
40437 | ||
40438 | QColor(int, int, int, Spec); | |
40439 | ||
40440 | ||
40441 | void invalidate(); | |
40442 | ||
40443 | Spec cspec; | |
40444 | union { | |
40445 | struct { | |
40446 | ushort alpha; | |
40447 | ushort red; | |
40448 | ushort green; | |
40449 | ushort blue; | |
40450 | ushort pad; | |
40451 | } argb; | |
40452 | struct { | |
40453 | ushort alpha; | |
40454 | ushort hue; | |
40455 | ushort saturation; | |
40456 | ushort value; | |
40457 | ushort pad; | |
40458 | } ahsv; | |
40459 | struct { | |
40460 | ushort alpha; | |
40461 | ushort cyan; | |
40462 | ushort magenta; | |
40463 | ushort yellow; | |
40464 | ushort black; | |
40465 | } acmyk; | |
40466 | } ct; | |
40467 | ||
40468 | friend class QColormap; | |
40469 | ||
40470 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QColor &); | |
40471 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QColor &); | |
40472 | ||
40473 | }; | |
40474 | ||
40475 | inline QColor::QColor() | |
40476 | { invalidate(); } | |
40477 | ||
40478 | inline QColor::QColor(int r, int g, int b, int a) | |
40479 | { setRgb(r, g, b, a); } | |
40480 | ||
40481 | inline QColor::QColor(const char *aname) | |
40482 | { setNamedColor(QLatin1String(aname)); } | |
40483 | ||
40484 | inline QColor::QColor(const QString& aname) | |
40485 | { setNamedColor(aname); } | |
40486 | ||
40487 | inline QColor::QColor(const QColor &acolor) | |
40488 | : cspec(acolor.cspec) | |
40489 | { ct.argb = acolor.ct.argb; } | |
40490 | ||
40491 | inline bool QColor::isValid() const | |
40492 | { return cspec != Invalid; } | |
40493 | ||
40494 | inline QColor QColor::lighter(int f) const | |
40495 | { return light(f); } | |
40496 | ||
40497 | inline QColor QColor::darker(int f) const | |
40498 | { return dark(f); } | |
40499 | ||
40500 | ||
40501 | ||
40502 | ||
40503 | # 1 "../../include/QtGui/qcolor.h" 2 | |
40504 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
40505 | # 1 "../../include/QtCore/qobject.h" 1 | |
40506 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
40507 | # 1 "../../include/QtGui/qevent.h" 1 | |
40508 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 1 | |
40509 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" | |
40510 | #define QEVENT_H | |
40511 | ||
40512 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
40513 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qwindowdefs.h" 1 | |
40514 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qwindowdefs.h" | |
40515 | #define QWINDOWDEFS_H | |
40516 | ||
40517 | # 1 "../../include/QtCore/qobjectdefs.h" 1 | |
40518 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qwindowdefs.h" 2 | |
40519 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
40520 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qwindowdefs.h" 2 | |
40521 | ||
40522 | ||
40523 | ||
40524 | ||
40525 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
40526 | ||
40527 | ||
40528 | ||
40529 | class QPaintDevice; | |
40530 | class QWidget; | |
40531 | class QDialog; | |
40532 | class QColor; | |
40533 | class QPalette; | |
40534 | ||
40535 | ||
40536 | ||
40537 | class QCursor; | |
40538 | class QPoint; | |
40539 | class QSize; | |
40540 | class QRect; | |
40541 | class QPolygon; | |
40542 | class QPainter; | |
40543 | class QRegion; | |
40544 | class QFont; | |
40545 | class QFontMetrics; | |
40546 | class QFontInfo; | |
40547 | class QPen; | |
40548 | class QBrush; | |
40549 | class QMatrix; | |
40550 | class QPixmap; | |
40551 | class QBitmap; | |
40552 | class QMovie; | |
40553 | class QImage; | |
40554 | class QPicture; | |
40555 | class QPrinter; | |
40556 | class QTimer; | |
40557 | class QTime; | |
40558 | class QClipboard; | |
40559 | class QString; | |
40560 | class QByteArray; | |
40561 | class QApplication; | |
40562 | ||
40563 | template<typename T> class QList; | |
40564 | typedef QList<QWidget *> QWidgetList; | |
40565 | ||
40566 | ||
40567 | ||
40568 | # 125 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qwindowdefs.h" | |
40569 | typedef unsigned long WId; | |
40570 | ||
40571 | ||
40572 | struct QWSEvent; | |
40573 | ||
40574 | ||
40575 | ||
40576 | ||
40577 | ||
40578 | ||
40579 | ||
40580 | ||
40581 | template<class K, class V> class QHash; | |
40582 | typedef QHash<WId, QWidget *> QWidgetMapper; | |
40583 | ||
40584 | template<class V> class QSet; | |
40585 | typedef QSet<QWidget *> QWidgetSet; | |
40586 | ||
40587 | ||
40588 | ||
40589 | # 1 "../../include/QtGui/qwindowdefs.h" 2 | |
40590 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
40591 | # 1 "../../include/QtCore/qobject.h" 1 | |
40592 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
40593 | # 1 "../../include/QtGui/qregion.h" 1 | |
40594 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" 1 | |
40595 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" | |
40596 | #define QREGION_H | |
40597 | ||
40598 | # 1 "../../include/QtCore/qatomic.h" 1 | |
40599 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" 2 | |
40600 | # 1 "../../include/QtCore/qrect.h" 1 | |
40601 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" 2 | |
40602 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
40603 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" 2 | |
40604 | ||
40605 | ||
40606 | # 1 "../../include/QtCore/qdatastream.h" 1 | |
40607 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" 2 | |
40608 | ||
40609 | ||
40610 | ||
40611 | ||
40612 | ||
40613 | ||
40614 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
40615 | ||
40616 | template <class T> class QVector; | |
40617 | class QVariant; | |
40618 | ||
40619 | ||
40620 | struct QRegionPrivate; | |
40621 | ||
40622 | ||
40623 | class QBitmap; | |
40624 | ||
40625 | class __attribute__((visibility("default"))) QRegion | |
40626 | { | |
40627 | public: | |
40628 | enum RegionType { Rectangle, Ellipse }; | |
40629 | ||
40630 | QRegion(); | |
40631 | QRegion(int x, int y, int w, int h, RegionType t = Rectangle); | |
40632 | QRegion(const QRect &r, RegionType t = Rectangle); | |
40633 | QRegion(const QPolygon &pa, Qt::FillRule fillRule = Qt::OddEvenFill); | |
40634 | ||
40635 | ||
40636 | ||
40637 | QRegion(const QRegion ®ion); | |
40638 | QRegion(const QBitmap &bitmap); | |
40639 | ~QRegion(); | |
40640 | QRegion &operator=(const QRegion &); | |
40641 | ||
40642 | ||
40643 | ||
40644 | ||
40645 | bool isEmpty() const; | |
40646 | ||
40647 | bool contains(const QPoint &p) const; | |
40648 | bool contains(const QRect &r) const; | |
40649 | ||
40650 | void translate(int dx, int dy); | |
40651 | inline void translate(const QPoint &p) { translate(p.x(), p.y()); } | |
40652 | QRegion translated(int dx, int dy) const; | |
40653 | inline QRegion translated(const QPoint &p) const { return translated(p.x(), p.y()); } | |
40654 | ||
40655 | ||
40656 | QRegion unite(const QRegion &r) const; | |
40657 | QRegion unite(const QRect &r) const; | |
40658 | QRegion intersect(const QRegion &r) const; | |
40659 | QRegion intersect(const QRect &r) const; | |
40660 | QRegion subtract(const QRegion &r) const; | |
40661 | QRegion eor(const QRegion &r) const; | |
40662 | ||
40663 | inline QRegion united(const QRegion &r) const { return unite(r); } | |
40664 | inline QRegion united(const QRect &r) const { return unite(r); } | |
40665 | inline QRegion intersected(const QRegion &r) const { return intersect(r); } | |
40666 | inline QRegion intersected(const QRect &r) const { return intersect(r); } | |
40667 | inline QRegion subtracted(const QRegion &r) const { return subtract(r); } | |
40668 | inline QRegion xored(const QRegion &r) const { return eor(r); } | |
40669 | ||
40670 | bool intersects(const QRegion &r) const; | |
40671 | bool intersects(const QRect &r) const; | |
40672 | ||
40673 | QRect boundingRect() const; | |
40674 | QVector<QRect> rects() const; | |
40675 | void setRects(const QRect *rect, int num); | |
40676 | int numRects() const; | |
40677 | ||
40678 | const QRegion operator|(const QRegion &r) const; | |
40679 | const QRegion operator+(const QRegion &r) const; | |
40680 | const QRegion operator+(const QRect &r) const; | |
40681 | const QRegion operator&(const QRegion &r) const; | |
40682 | const QRegion operator&(const QRect &r) const; | |
40683 | const QRegion operator-(const QRegion &r) const; | |
40684 | const QRegion operator^(const QRegion &r) const; | |
40685 | QRegion& operator|=(const QRegion &r); | |
40686 | QRegion& operator+=(const QRegion &r); | |
40687 | QRegion& operator+=(const QRect &r); | |
40688 | QRegion& operator&=(const QRegion &r); | |
40689 | QRegion& operator&=(const QRect &r); | |
40690 | QRegion& operator-=(const QRegion &r); | |
40691 | QRegion& operator^=(const QRegion &r); | |
40692 | ||
40693 | bool operator==(const QRegion &r) const; | |
40694 | inline bool operator!=(const QRegion &r) const { return !(operator==(r)); } | |
40695 | operator QVariant() const; | |
40696 | # 163 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" | |
40697 | inline void *handle() const { return d->qt_rgn; } | |
40698 | ||
40699 | ||
40700 | ||
40701 | ||
40702 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); | |
40703 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); | |
40704 | ||
40705 | private: | |
40706 | QRegion copy() const; | |
40707 | void detach(); | |
40708 | # 185 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" | |
40709 | friend bool qt_region_strictContains(const QRegion ®ion, | |
40710 | const QRect &rect); | |
40711 | friend struct QRegionPrivate; | |
40712 | ||
40713 | ||
40714 | void exec(const QByteArray &ba, int ver = 0, QDataStream::ByteOrder byteOrder = QDataStream::BigEndian); | |
40715 | ||
40716 | struct QRegionData { | |
40717 | QBasicAtomicInt ref; | |
40718 | # 203 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qregion.h" | |
40719 | QRegionPrivate *qt_rgn; | |
40720 | ||
40721 | }; | |
40722 | ||
40723 | ||
40724 | ||
40725 | struct QRegionData *d; | |
40726 | static struct QRegionData shared_empty; | |
40727 | static void cleanUp(QRegionData *x); | |
40728 | }; | |
40729 | ||
40730 | ||
40731 | ||
40732 | ||
40733 | ||
40734 | ||
40735 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); | |
40736 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); | |
40737 | ||
40738 | ||
40739 | ||
40740 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRegion &); | |
40741 | ||
40742 | ||
40743 | ||
40744 | ||
40745 | ||
40746 | # 1 "../../include/QtGui/qregion.h" 2 | |
40747 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
40748 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
40749 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
40750 | # 1 "../../include/QtCore/qstring.h" 1 | |
40751 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
40752 | # 1 "../../include/QtGui/qkeysequence.h" 1 | |
40753 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qkeysequence.h" 1 | |
40754 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qkeysequence.h" | |
40755 | #define QKEYSEQUENCE_H | |
40756 | ||
40757 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
40758 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qkeysequence.h" 2 | |
40759 | # 1 "../../include/QtCore/qstring.h" 1 | |
40760 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qkeysequence.h" 2 | |
40761 | ||
40762 | ||
40763 | ||
40764 | ||
40765 | ||
40766 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
40767 | ||
40768 | ||
40769 | ||
40770 | ||
40771 | ||
40772 | ||
40773 | ||
40774 | class QKeySequence; | |
40775 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); | |
40776 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &out, QKeySequence &ks); | |
40777 | ||
40778 | ||
40779 | ||
40780 | ||
40781 | ||
40782 | ||
40783 | class QVariant; | |
40784 | class QKeySequencePrivate; | |
40785 | ||
40786 | class __attribute__((visibility("default"))) QKeySequence | |
40787 | { | |
40788 | public: | |
40789 | enum StandardKey { | |
40790 | UnknownKey, | |
40791 | HelpContents, | |
40792 | WhatsThis, | |
40793 | Open, | |
40794 | Close, | |
40795 | Save, | |
40796 | New, | |
40797 | Delete, | |
40798 | Cut, | |
40799 | Copy, | |
40800 | Paste, | |
40801 | Undo, | |
40802 | Redo, | |
40803 | Back, | |
40804 | Forward, | |
40805 | Refresh, | |
40806 | ZoomIn, | |
40807 | ZoomOut, | |
40808 | Print, | |
40809 | AddTab, | |
40810 | NextChild, | |
40811 | PreviousChild, | |
40812 | Find, | |
40813 | FindNext, | |
40814 | FindPrevious, | |
40815 | Replace, | |
40816 | SelectAll, | |
40817 | Bold, | |
40818 | Italic, | |
40819 | Underline, | |
40820 | MoveToNextChar, | |
40821 | MoveToPreviousChar, | |
40822 | MoveToNextWord, | |
40823 | MoveToPreviousWord, | |
40824 | MoveToNextLine, | |
40825 | MoveToPreviousLine, | |
40826 | MoveToNextPage, | |
40827 | MoveToPreviousPage, | |
40828 | MoveToStartOfLine, | |
40829 | MoveToEndOfLine, | |
40830 | MoveToStartOfBlock, | |
40831 | MoveToEndOfBlock, | |
40832 | MoveToStartOfDocument, | |
40833 | MoveToEndOfDocument, | |
40834 | SelectNextChar, | |
40835 | SelectPreviousChar, | |
40836 | SelectNextWord, | |
40837 | SelectPreviousWord, | |
40838 | SelectNextLine, | |
40839 | SelectPreviousLine, | |
40840 | SelectNextPage, | |
40841 | SelectPreviousPage, | |
40842 | SelectStartOfLine, | |
40843 | SelectEndOfLine, | |
40844 | SelectStartOfBlock, | |
40845 | SelectEndOfBlock, | |
40846 | SelectStartOfDocument, | |
40847 | SelectEndOfDocument, | |
40848 | DeleteStartOfWord, | |
40849 | DeleteEndOfWord, | |
40850 | DeleteEndOfLine, | |
40851 | InsertParagraphSeparator, | |
40852 | InsertLineSeparator, | |
40853 | SaveAs | |
40854 | }; | |
40855 | ||
40856 | QKeySequence(); | |
40857 | QKeySequence(const QString &key); | |
40858 | QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0); | |
40859 | QKeySequence(const QKeySequence &ks); | |
40860 | QKeySequence(StandardKey key); | |
40861 | ~QKeySequence(); | |
40862 | ||
40863 | uint count() const; | |
40864 | bool isEmpty() const; | |
40865 | ||
40866 | enum SequenceMatch { | |
40867 | NoMatch, | |
40868 | PartialMatch, | |
40869 | ExactMatch | |
40870 | ||
40871 | ||
40872 | ||
40873 | }; | |
40874 | ||
40875 | enum SequenceFormat { | |
40876 | NativeText, | |
40877 | PortableText | |
40878 | }; | |
40879 | ||
40880 | QString toString(SequenceFormat format = PortableText) const; | |
40881 | static QKeySequence fromString(const QString &str, SequenceFormat format = PortableText); | |
40882 | ||
40883 | SequenceMatch matches(const QKeySequence &seq) const; | |
40884 | static QKeySequence mnemonic(const QString &text); | |
40885 | static QList<QKeySequence> keyBindings(StandardKey key); | |
40886 | ||
40887 | ||
40888 | operator QString() const; | |
40889 | operator QVariant() const; | |
40890 | operator int() const; | |
40891 | int operator[](uint i) const; | |
40892 | QKeySequence &operator=(const QKeySequence &other); | |
40893 | bool operator==(const QKeySequence &other) const; | |
40894 | inline bool operator!= (const QKeySequence &other) const | |
40895 | { return !(*this == other); } | |
40896 | bool operator< (const QKeySequence &ks) const; | |
40897 | inline bool operator> (const QKeySequence &other) const | |
40898 | { return other < *this; } | |
40899 | inline bool operator<= (const QKeySequence &other) const | |
40900 | { return !(other < *this); } | |
40901 | inline bool operator>= (const QKeySequence &other) const | |
40902 | { return !(*this < other); } | |
40903 | ||
40904 | bool isDetached() const; | |
40905 | private: | |
40906 | static int decodeString(const QString &ks); | |
40907 | static QString encodeString(int key); | |
40908 | int assign(const QString &str); | |
40909 | void setKey(int key, int index); | |
40910 | ||
40911 | QKeySequencePrivate *d; | |
40912 | ||
40913 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); | |
40914 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QKeySequence &ks); | |
40915 | friend class Q3AccelManager; | |
40916 | friend class QShortcutMap; | |
40917 | friend class QShortcut; | |
40918 | ||
40919 | public: | |
40920 | typedef QKeySequencePrivate * DataPtr; | |
40921 | inline DataPtr &data_ptr() { return d; } | |
40922 | }; | |
40923 | template <> class QTypeInfo<QKeySequence> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QKeySequence)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QKeySequence"; } }; | |
40924 | template <> inline bool qIsDetached<QKeySequence>(QKeySequence &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QKeySequence>(QKeySequence &value1, QKeySequence &value2) { const QKeySequence::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
40925 | ||
40926 | ||
40927 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QKeySequence &); | |
40928 | # 227 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qkeysequence.h" | |
40929 | ||
40930 | ||
40931 | ||
40932 | # 1 "../../include/QtGui/qkeysequence.h" 2 | |
40933 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
40934 | # 1 "../../include/QtCore/qcoreevent.h" 1 | |
40935 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qcoreevent.h" 1 | |
40936 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qcoreevent.h" | |
40937 | #define QCOREEVENT_H | |
40938 | ||
40939 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
40940 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qcoreevent.h" 2 | |
40941 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
40942 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qcoreevent.h" 2 | |
40943 | ||
40944 | ||
40945 | ||
40946 | ||
40947 | ||
40948 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
40949 | ||
40950 | class QEventPrivate; | |
40951 | class __attribute__((visibility("default"))) QEvent | |
40952 | { | |
40953 | ||
40954 | public: | |
40955 | enum Type { | |
40956 | ||
40957 | ||
40958 | ||
40959 | ||
40960 | ||
40961 | ||
40962 | None = 0, | |
40963 | Timer = 1, | |
40964 | MouseButtonPress = 2, | |
40965 | MouseButtonRelease = 3, | |
40966 | MouseButtonDblClick = 4, | |
40967 | MouseMove = 5, | |
40968 | KeyPress = 6, | |
40969 | KeyRelease = 7, | |
40970 | FocusIn = 8, | |
40971 | FocusOut = 9, | |
40972 | Enter = 10, | |
40973 | Leave = 11, | |
40974 | Paint = 12, | |
40975 | Move = 13, | |
40976 | Resize = 14, | |
40977 | Create = 15, | |
40978 | Destroy = 16, | |
40979 | Show = 17, | |
40980 | Hide = 18, | |
40981 | Close = 19, | |
40982 | Quit = 20, | |
40983 | ParentChange = 21, | |
40984 | ParentAboutToChange = 131, | |
40985 | ||
40986 | ||
40987 | ||
40988 | ThreadChange = 22, | |
40989 | WindowActivate = 24, | |
40990 | WindowDeactivate = 25, | |
40991 | ShowToParent = 26, | |
40992 | HideToParent = 27, | |
40993 | Wheel = 31, | |
40994 | WindowTitleChange = 33, | |
40995 | WindowIconChange = 34, | |
40996 | ApplicationWindowIconChange = 35, | |
40997 | ApplicationFontChange = 36, | |
40998 | ApplicationLayoutDirectionChange = 37, | |
40999 | ApplicationPaletteChange = 38, | |
41000 | PaletteChange = 39, | |
41001 | Clipboard = 40, | |
41002 | Speech = 42, | |
41003 | MetaCall = 43, | |
41004 | SockAct = 50, | |
41005 | WinEventAct = 132, | |
41006 | DeferredDelete = 52, | |
41007 | DragEnter = 60, | |
41008 | DragMove = 61, | |
41009 | DragLeave = 62, | |
41010 | Drop = 63, | |
41011 | DragResponse = 64, | |
41012 | ChildAdded = 68, | |
41013 | ChildPolished = 69, | |
41014 | ||
41015 | ||
41016 | ||
41017 | ||
41018 | ||
41019 | ChildRemoved = 71, | |
41020 | ShowWindowRequest = 73, | |
41021 | PolishRequest = 74, | |
41022 | Polish = 75, | |
41023 | LayoutRequest = 76, | |
41024 | UpdateRequest = 77, | |
41025 | UpdateLater = 78, | |
41026 | ||
41027 | EmbeddingControl = 79, | |
41028 | ActivateControl = 80, | |
41029 | DeactivateControl = 81, | |
41030 | ContextMenu = 82, | |
41031 | InputMethod = 83, | |
41032 | AccessibilityPrepare = 86, | |
41033 | TabletMove = 87, | |
41034 | LocaleChange = 88, | |
41035 | LanguageChange = 89, | |
41036 | LayoutDirectionChange = 90, | |
41037 | Style = 91, | |
41038 | TabletPress = 92, | |
41039 | TabletRelease = 93, | |
41040 | OkRequest = 94, | |
41041 | HelpRequest = 95, | |
41042 | ||
41043 | IconDrag = 96, | |
41044 | ||
41045 | FontChange = 97, | |
41046 | EnabledChange = 98, | |
41047 | ActivationChange = 99, | |
41048 | StyleChange = 100, | |
41049 | IconTextChange = 101, | |
41050 | ModifiedChange = 102, | |
41051 | MouseTrackingChange = 109, | |
41052 | ||
41053 | WindowBlocked = 103, | |
41054 | WindowUnblocked = 104, | |
41055 | WindowStateChange = 105, | |
41056 | ||
41057 | ToolTip = 110, | |
41058 | WhatsThis = 111, | |
41059 | StatusTip = 112, | |
41060 | ||
41061 | ActionChanged = 113, | |
41062 | ActionAdded = 114, | |
41063 | ActionRemoved = 115, | |
41064 | ||
41065 | FileOpen = 116, | |
41066 | ||
41067 | Shortcut = 117, | |
41068 | ShortcutOverride = 51, | |
41069 | ||
41070 | ||
41071 | ||
41072 | ||
41073 | ||
41074 | ||
41075 | ||
41076 | WhatsThisClicked = 118, | |
41077 | ||
41078 | ||
41079 | ||
41080 | ||
41081 | ||
41082 | ToolBarChange = 120, | |
41083 | ||
41084 | ApplicationActivate = 121, | |
41085 | ApplicationActivated = ApplicationActivate, | |
41086 | ApplicationDeactivate = 122, | |
41087 | ApplicationDeactivated = ApplicationDeactivate, | |
41088 | ||
41089 | QueryWhatsThis = 123, | |
41090 | EnterWhatsThisMode = 124, | |
41091 | LeaveWhatsThisMode = 125, | |
41092 | ||
41093 | ZOrderChange = 126, | |
41094 | ||
41095 | HoverEnter = 127, | |
41096 | HoverLeave = 128, | |
41097 | HoverMove = 129, | |
41098 | ||
41099 | AccessibilityHelp = 119, | |
41100 | AccessibilityDescription = 130, | |
41101 | ||
41102 | ||
41103 | ||
41104 | ||
41105 | ||
41106 | ||
41107 | ||
41108 | AcceptDropsChange = 152, | |
41109 | ||
41110 | MenubarUpdated = 153, | |
41111 | ||
41112 | ||
41113 | ZeroTimerEvent = 154, | |
41114 | ||
41115 | GraphicsSceneMouseMove = 155, | |
41116 | GraphicsSceneMousePress = 156, | |
41117 | GraphicsSceneMouseRelease = 157, | |
41118 | GraphicsSceneMouseDoubleClick = 158, | |
41119 | GraphicsSceneContextMenu = 159, | |
41120 | GraphicsSceneHoverEnter = 160, | |
41121 | GraphicsSceneHoverMove = 161, | |
41122 | GraphicsSceneHoverLeave = 162, | |
41123 | GraphicsSceneHelp = 163, | |
41124 | GraphicsSceneDragEnter = 164, | |
41125 | GraphicsSceneDragMove = 165, | |
41126 | GraphicsSceneDragLeave = 166, | |
41127 | GraphicsSceneDrop = 167, | |
41128 | GraphicsSceneWheel = 168, | |
41129 | ||
41130 | KeyboardLayoutChange = 169, | |
41131 | ||
41132 | DynamicPropertyChange = 170, | |
41133 | ||
41134 | TabletEnterProximity = 171, | |
41135 | TabletLeaveProximity = 172, | |
41136 | ||
41137 | NonClientAreaMouseMove = 173, | |
41138 | NonClientAreaMouseButtonPress = 174, | |
41139 | NonClientAreaMouseButtonRelease = 175, | |
41140 | NonClientAreaMouseButtonDblClick = 176, | |
41141 | ||
41142 | MacSizeChange = 177, | |
41143 | ||
41144 | ContentsRectChange = 178, | |
41145 | ||
41146 | MacGLWindowChange = 179, | |
41147 | ||
41148 | FutureCallOut = 180, | |
41149 | ||
41150 | GraphicsSceneResize = 181, | |
41151 | GraphicsSceneMove = 182, | |
41152 | ||
41153 | CursorChange = 183, | |
41154 | ToolTipChange = 184, | |
41155 | ||
41156 | NetworkReplyUpdated = 185, | |
41157 | ||
41158 | GrabMouse = 186, | |
41159 | UngrabMouse = 187, | |
41160 | GrabKeyboard = 188, | |
41161 | UngrabKeyboard = 189, | |
41162 | CocoaRequestModal = 190, | |
41163 | MacGLClearDrawable = 191, | |
41164 | ||
41165 | ||
41166 | ||
41167 | ||
41168 | User = 1000, | |
41169 | MaxUser = 65535 | |
41170 | }; | |
41171 | ||
41172 | QEvent(Type type); | |
41173 | virtual ~QEvent(); | |
41174 | inline Type type() const { return static_cast<Type>(t); } | |
41175 | inline bool spontaneous() const { return spont; } | |
41176 | ||
41177 | inline void setAccepted(bool accepted) { m_accept = accepted; } | |
41178 | inline bool isAccepted() const { return m_accept; } | |
41179 | ||
41180 | inline void accept() { m_accept = true; } | |
41181 | inline void ignore() { m_accept = false; } | |
41182 | ||
41183 | static int registerEventType(int hint = -1); | |
41184 | ||
41185 | protected: | |
41186 | QEventPrivate *d; | |
41187 | ushort t; | |
41188 | ||
41189 | private: | |
41190 | ushort posted : 1; | |
41191 | ushort spont : 1; | |
41192 | ushort m_accept : 1; | |
41193 | ushort reserved : 13; | |
41194 | ||
41195 | friend class QCoreApplication; | |
41196 | friend class QCoreApplicationPrivate; | |
41197 | friend class QThreadData; | |
41198 | friend class QApplication; | |
41199 | friend class QApplicationPrivate; | |
41200 | friend class Q3AccelManager; | |
41201 | friend class QShortcutMap; | |
41202 | friend class QETWidget; | |
41203 | }; | |
41204 | ||
41205 | class __attribute__((visibility("default"))) QTimerEvent : public QEvent | |
41206 | { | |
41207 | public: | |
41208 | QTimerEvent( int timerId ); | |
41209 | ~QTimerEvent(); | |
41210 | int timerId() const { return id; } | |
41211 | protected: | |
41212 | int id; | |
41213 | }; | |
41214 | ||
41215 | class QObject; | |
41216 | ||
41217 | class __attribute__((visibility("default"))) QChildEvent : public QEvent | |
41218 | { | |
41219 | public: | |
41220 | QChildEvent( Type type, QObject *child ); | |
41221 | ~QChildEvent(); | |
41222 | QObject *child() const { return c; } | |
41223 | bool added() const { return type() == ChildAdded; } | |
41224 | ||
41225 | ||
41226 | ||
41227 | bool polished() const { return type() == ChildPolished; } | |
41228 | bool removed() const { return type() == ChildRemoved; } | |
41229 | protected: | |
41230 | QObject *c; | |
41231 | }; | |
41232 | # 348 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qcoreevent.h" | |
41233 | class __attribute__((visibility("default"))) QDynamicPropertyChangeEvent : public QEvent | |
41234 | { | |
41235 | public: | |
41236 | QDynamicPropertyChangeEvent(const QByteArray &name); | |
41237 | ~QDynamicPropertyChangeEvent(); | |
41238 | ||
41239 | inline QByteArray propertyName() const { return n; } | |
41240 | ||
41241 | private: | |
41242 | QByteArray n; | |
41243 | }; | |
41244 | ||
41245 | ||
41246 | ||
41247 | ||
41248 | # 1 "../../include/QtCore/qcoreevent.h" 2 | |
41249 | # 52 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
41250 | # 1 "../../include/QtGui/qmime.h" 1 | |
41251 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qmime.h" 1 | |
41252 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qmime.h" | |
41253 | #define QMIME_H | |
41254 | ||
41255 | # 1 "../../include/QtCore/qmimedata.h" 1 | |
41256 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmimedata.h" 1 | |
41257 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmimedata.h" | |
41258 | #define QMIMEDATA_H | |
41259 | ||
41260 | # 1 "../../include/QtCore/qvariant.h" 1 | |
41261 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 1 | |
41262 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" | |
41263 | #define QVARIANT_H | |
41264 | ||
41265 | # 1 "../../include/QtCore/qatomic.h" 1 | |
41266 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 2 | |
41267 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
41268 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 2 | |
41269 | # 1 "../../include/QtCore/qlist.h" 1 | |
41270 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 2 | |
41271 | # 1 "../../include/QtCore/qmetatype.h" 1 | |
41272 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmetatype.h" 1 | |
41273 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmetatype.h" | |
41274 | #define QMETATYPE_H | |
41275 | ||
41276 | # 1 "../../include/QtCore/qglobal.h" 1 | |
41277 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmetatype.h" 2 | |
41278 | # 1 "../../include/QtCore/qatomic.h" 1 | |
41279 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmetatype.h" 2 | |
41280 | ||
41281 | ||
41282 | # 1 "../../include/QtCore/qdatastream.h" 1 | |
41283 | # 50 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmetatype.h" 2 | |
41284 | ||
41285 | ||
41286 | ||
41287 | ||
41288 | ||
41289 | ||
41290 | ||
41291 | ||
41292 | ||
41293 | ||
41294 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
41295 | ||
41296 | class __attribute__((visibility("default"))) QMetaType { | |
41297 | public: | |
41298 | enum Type { | |
41299 | ||
41300 | Void = 0, Bool = 1, Int = 2, UInt = 3, LongLong = 4, ULongLong = 5, | |
41301 | Double = 6, QChar = 7, QVariantMap = 8, QVariantList = 9, | |
41302 | QString = 10, QStringList = 11, QByteArray = 12, | |
41303 | QBitArray = 13, QDate = 14, QTime = 15, QDateTime = 16, QUrl = 17, | |
41304 | QLocale = 18, QRect = 19, QRectF = 20, QSize = 21, QSizeF = 22, | |
41305 | QLine = 23, QLineF = 24, QPoint = 25, QPointF = 26, QRegExp = 27, | |
41306 | QVariantHash = 28, LastCoreType = 28 , | |
41307 | ||
41308 | FirstGuiType = 63 , | |
41309 | ||
41310 | ||
41311 | ||
41312 | QFont = 64, QPixmap = 65, QBrush = 66, QColor = 67, QPalette = 68, | |
41313 | QIcon = 69, QImage = 70, QPolygon = 71, QRegion = 72, QBitmap = 73, | |
41314 | QCursor = 74, QSizePolicy = 75, QKeySequence = 76, QPen = 77, | |
41315 | QTextLength = 78, QTextFormat = 79, QMatrix = 80, QTransform = 81, | |
41316 | LastGuiType = 81 , | |
41317 | ||
41318 | FirstCoreExtType = 128 , | |
41319 | VoidStar = 128, Long = 129, Short = 130, Char = 131, ULong = 132, | |
41320 | UShort = 133, UChar = 134, Float = 135, QObjectStar = 136, QWidgetStar = 137, | |
41321 | LastCoreExtType = 137 , | |
41322 | ||
41323 | User = 256 | |
41324 | }; | |
41325 | ||
41326 | typedef void (*Destructor)(void *); | |
41327 | typedef void *(*Constructor)(const void *); | |
41328 | ||
41329 | ||
41330 | typedef void (*SaveOperator)(QDataStream &, const void *); | |
41331 | typedef void (*LoadOperator)(QDataStream &, void *); | |
41332 | static void registerStreamOperators(const char *typeName, SaveOperator saveOp, | |
41333 | LoadOperator loadOp); | |
41334 | ||
41335 | static int registerType(const char *typeName, Destructor destructor, | |
41336 | Constructor constructor); | |
41337 | static int type(const char *typeName); | |
41338 | static const char *typeName(int type); | |
41339 | static bool isRegistered(int type); | |
41340 | static void *construct(int type, const void *copy = 0); | |
41341 | static void destroy(int type, void *data); | |
41342 | static void unregisterType(const char *typeName); | |
41343 | ||
41344 | ||
41345 | static bool save(QDataStream &stream, int type, const void *data); | |
41346 | static bool load(QDataStream &stream, int type, void *data); | |
41347 | ||
41348 | }; | |
41349 | ||
41350 | template <typename T> | |
41351 | void qMetaTypeDeleteHelper(T *t) | |
41352 | { | |
41353 | delete t; | |
41354 | } | |
41355 | ||
41356 | template <typename T> | |
41357 | void *qMetaTypeConstructHelper(const T *t) | |
41358 | { | |
41359 | if (!t) | |
41360 | return new T; | |
41361 | return new T(*static_cast<const T*>(t)); | |
41362 | } | |
41363 | ||
41364 | ||
41365 | template <typename T> | |
41366 | void qMetaTypeSaveHelper(QDataStream &stream, const T *t) | |
41367 | { | |
41368 | stream << *t; | |
41369 | } | |
41370 | ||
41371 | template <typename T> | |
41372 | void qMetaTypeLoadHelper(QDataStream &stream, T *t) | |
41373 | { | |
41374 | stream >> *t; | |
41375 | } | |
41376 | ||
41377 | ||
41378 | template <typename T> | |
41379 | int qRegisterMetaType(const char *typeName | |
41380 | ||
41381 | , T * = 0 | |
41382 | ||
41383 | ) | |
41384 | { | |
41385 | typedef void*(*ConstructPtr)(const T*); | |
41386 | ConstructPtr cptr = qMetaTypeConstructHelper<T>; | |
41387 | typedef void(*DeletePtr)(T*); | |
41388 | DeletePtr dptr = qMetaTypeDeleteHelper<T>; | |
41389 | ||
41390 | return QMetaType::registerType(typeName, reinterpret_cast<QMetaType::Destructor>(dptr), | |
41391 | reinterpret_cast<QMetaType::Constructor>(cptr)); | |
41392 | } | |
41393 | ||
41394 | ||
41395 | template <typename T> | |
41396 | void qRegisterMetaTypeStreamOperators(const char *typeName | |
41397 | ||
41398 | , T * = 0 | |
41399 | ||
41400 | ) | |
41401 | { | |
41402 | typedef void(*SavePtr)(QDataStream &, const T *); | |
41403 | typedef void(*LoadPtr)(QDataStream &, T *); | |
41404 | SavePtr sptr = qMetaTypeSaveHelper<T>; | |
41405 | LoadPtr lptr = qMetaTypeLoadHelper<T>; | |
41406 | ||
41407 | qRegisterMetaType<T>(typeName); | |
41408 | QMetaType::registerStreamOperators(typeName, reinterpret_cast<QMetaType::SaveOperator>(sptr), | |
41409 | reinterpret_cast<QMetaType::LoadOperator>(lptr)); | |
41410 | } | |
41411 | ||
41412 | ||
41413 | template <typename T> | |
41414 | struct QMetaTypeId | |
41415 | { | |
41416 | enum { Defined = 0 }; | |
41417 | }; | |
41418 | ||
41419 | template <typename T> | |
41420 | struct QMetaTypeId2 | |
41421 | { | |
41422 | enum { Defined = QMetaTypeId<T>::Defined }; | |
41423 | static inline int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); } | |
41424 | }; | |
41425 | ||
41426 | template <typename T> | |
41427 | inline int qMetaTypeId( | |
41428 | ||
41429 | T * = 0 | |
41430 | ||
41431 | ) | |
41432 | { | |
41433 | return QMetaTypeId2<T>::qt_metatype_id(); | |
41434 | } | |
41435 | ||
41436 | template <typename T> | |
41437 | inline int qRegisterMetaType( | |
41438 | ||
41439 | T * dummy = 0 | |
41440 | ||
41441 | ) | |
41442 | { | |
41443 | ||
41444 | ||
41445 | ||
41446 | return qMetaTypeId(dummy); | |
41447 | ||
41448 | } | |
41449 | ||
41450 | #define Q_DECLARE_METATYPE(TYPE) QT_BEGIN_NAMESPACE template <> struct QMetaTypeId< TYPE > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = Q_BASIC_ATOMIC_INITIALIZER(0); if (!metatype_id) metatype_id = qRegisterMetaType< TYPE >(#TYPE); return metatype_id; } }; QT_END_NAMESPACE | |
41451 | # 232 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmetatype.h" | |
41452 | #define Q_DECLARE_BUILTIN_METATYPE(TYPE,NAME) QT_BEGIN_NAMESPACE template<> struct QMetaTypeId2<TYPE> { enum { Defined = 1, MetaType = QMetaType::NAME }; static inline int qt_metatype_id() { return QMetaType::NAME; } }; QT_END_NAMESPACE | |
41453 | # 241 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmetatype.h" | |
41454 | class QString; | |
41455 | class QByteArray; | |
41456 | class QChar; | |
41457 | class QStringList; | |
41458 | class QBitArray; | |
41459 | class QDate; | |
41460 | class QTime; | |
41461 | class QDateTime; | |
41462 | class QUrl; | |
41463 | class QLocale; | |
41464 | class QRect; | |
41465 | class QRectF; | |
41466 | class QSize; | |
41467 | class QSizeF; | |
41468 | class QLine; | |
41469 | class QLineF; | |
41470 | class QPoint; | |
41471 | class QPointF; | |
41472 | ||
41473 | class QRegExp; | |
41474 | ||
41475 | class QWidget; | |
41476 | class QObject; | |
41477 | ||
41478 | ||
41479 | ||
41480 | ||
41481 | class QFont; | |
41482 | class QPixmap; | |
41483 | class QBrush; | |
41484 | class QColor; | |
41485 | class QPalette; | |
41486 | class QIcon; | |
41487 | class QImage; | |
41488 | class QPolygon; | |
41489 | class QRegion; | |
41490 | class QBitmap; | |
41491 | class QCursor; | |
41492 | class QSizePolicy; | |
41493 | class QKeySequence; | |
41494 | class QPen; | |
41495 | class QTextLength; | |
41496 | class QTextFormat; | |
41497 | class QMatrix; | |
41498 | class QTransform; | |
41499 | ||
41500 | ||
41501 | ||
41502 | template<> struct QMetaTypeId2<QString> { enum { Defined = 1, MetaType = QMetaType::QString }; static inline int qt_metatype_id() { return QMetaType::QString; } }; | |
41503 | template<> struct QMetaTypeId2<int> { enum { Defined = 1, MetaType = QMetaType::Int }; static inline int qt_metatype_id() { return QMetaType::Int; } }; | |
41504 | template<> struct QMetaTypeId2<uint> { enum { Defined = 1, MetaType = QMetaType::UInt }; static inline int qt_metatype_id() { return QMetaType::UInt; } }; | |
41505 | template<> struct QMetaTypeId2<bool> { enum { Defined = 1, MetaType = QMetaType::Bool }; static inline int qt_metatype_id() { return QMetaType::Bool; } }; | |
41506 | template<> struct QMetaTypeId2<double> { enum { Defined = 1, MetaType = QMetaType::Double }; static inline int qt_metatype_id() { return QMetaType::Double; } }; | |
41507 | template<> struct QMetaTypeId2<QByteArray> { enum { Defined = 1, MetaType = QMetaType::QByteArray }; static inline int qt_metatype_id() { return QMetaType::QByteArray; } }; | |
41508 | template<> struct QMetaTypeId2<QChar> { enum { Defined = 1, MetaType = QMetaType::QChar }; static inline int qt_metatype_id() { return QMetaType::QChar; } }; | |
41509 | template<> struct QMetaTypeId2<long> { enum { Defined = 1, MetaType = QMetaType::Long }; static inline int qt_metatype_id() { return QMetaType::Long; } }; | |
41510 | template<> struct QMetaTypeId2<short> { enum { Defined = 1, MetaType = QMetaType::Short }; static inline int qt_metatype_id() { return QMetaType::Short; } }; | |
41511 | template<> struct QMetaTypeId2<char> { enum { Defined = 1, MetaType = QMetaType::Char }; static inline int qt_metatype_id() { return QMetaType::Char; } }; | |
41512 | template<> struct QMetaTypeId2<ulong> { enum { Defined = 1, MetaType = QMetaType::ULong }; static inline int qt_metatype_id() { return QMetaType::ULong; } }; | |
41513 | template<> struct QMetaTypeId2<ushort> { enum { Defined = 1, MetaType = QMetaType::UShort }; static inline int qt_metatype_id() { return QMetaType::UShort; } }; | |
41514 | template<> struct QMetaTypeId2<uchar> { enum { Defined = 1, MetaType = QMetaType::UChar }; static inline int qt_metatype_id() { return QMetaType::UChar; } }; | |
41515 | template<> struct QMetaTypeId2<float> { enum { Defined = 1, MetaType = QMetaType::Float }; static inline int qt_metatype_id() { return QMetaType::Float; } }; | |
41516 | template<> struct QMetaTypeId2<QObject *> { enum { Defined = 1, MetaType = QMetaType::QObjectStar }; static inline int qt_metatype_id() { return QMetaType::QObjectStar; } }; | |
41517 | template<> struct QMetaTypeId2<QWidget *> { enum { Defined = 1, MetaType = QMetaType::QWidgetStar }; static inline int qt_metatype_id() { return QMetaType::QWidgetStar; } }; | |
41518 | template<> struct QMetaTypeId2<void *> { enum { Defined = 1, MetaType = QMetaType::VoidStar }; static inline int qt_metatype_id() { return QMetaType::VoidStar; } }; | |
41519 | template<> struct QMetaTypeId2<qlonglong> { enum { Defined = 1, MetaType = QMetaType::LongLong }; static inline int qt_metatype_id() { return QMetaType::LongLong; } }; | |
41520 | template<> struct QMetaTypeId2<qulonglong> { enum { Defined = 1, MetaType = QMetaType::ULongLong }; static inline int qt_metatype_id() { return QMetaType::ULongLong; } }; | |
41521 | template<> struct QMetaTypeId2<QStringList> { enum { Defined = 1, MetaType = QMetaType::QStringList }; static inline int qt_metatype_id() { return QMetaType::QStringList; } }; | |
41522 | template<> struct QMetaTypeId2<QBitArray> { enum { Defined = 1, MetaType = QMetaType::QBitArray }; static inline int qt_metatype_id() { return QMetaType::QBitArray; } }; | |
41523 | template<> struct QMetaTypeId2<QDate> { enum { Defined = 1, MetaType = QMetaType::QDate }; static inline int qt_metatype_id() { return QMetaType::QDate; } }; | |
41524 | template<> struct QMetaTypeId2<QTime> { enum { Defined = 1, MetaType = QMetaType::QTime }; static inline int qt_metatype_id() { return QMetaType::QTime; } }; | |
41525 | template<> struct QMetaTypeId2<QDateTime> { enum { Defined = 1, MetaType = QMetaType::QDateTime }; static inline int qt_metatype_id() { return QMetaType::QDateTime; } }; | |
41526 | template<> struct QMetaTypeId2<QUrl> { enum { Defined = 1, MetaType = QMetaType::QUrl }; static inline int qt_metatype_id() { return QMetaType::QUrl; } }; | |
41527 | template<> struct QMetaTypeId2<QLocale> { enum { Defined = 1, MetaType = QMetaType::QLocale }; static inline int qt_metatype_id() { return QMetaType::QLocale; } }; | |
41528 | template<> struct QMetaTypeId2<QRect> { enum { Defined = 1, MetaType = QMetaType::QRect }; static inline int qt_metatype_id() { return QMetaType::QRect; } }; | |
41529 | template<> struct QMetaTypeId2<QRectF> { enum { Defined = 1, MetaType = QMetaType::QRectF }; static inline int qt_metatype_id() { return QMetaType::QRectF; } }; | |
41530 | template<> struct QMetaTypeId2<QSize> { enum { Defined = 1, MetaType = QMetaType::QSize }; static inline int qt_metatype_id() { return QMetaType::QSize; } }; | |
41531 | template<> struct QMetaTypeId2<QSizeF> { enum { Defined = 1, MetaType = QMetaType::QSizeF }; static inline int qt_metatype_id() { return QMetaType::QSizeF; } }; | |
41532 | template<> struct QMetaTypeId2<QLine> { enum { Defined = 1, MetaType = QMetaType::QLine }; static inline int qt_metatype_id() { return QMetaType::QLine; } }; | |
41533 | template<> struct QMetaTypeId2<QLineF> { enum { Defined = 1, MetaType = QMetaType::QLineF }; static inline int qt_metatype_id() { return QMetaType::QLineF; } }; | |
41534 | template<> struct QMetaTypeId2<QPoint> { enum { Defined = 1, MetaType = QMetaType::QPoint }; static inline int qt_metatype_id() { return QMetaType::QPoint; } }; | |
41535 | template<> struct QMetaTypeId2<QPointF> { enum { Defined = 1, MetaType = QMetaType::QPointF }; static inline int qt_metatype_id() { return QMetaType::QPointF; } }; | |
41536 | ||
41537 | template<> struct QMetaTypeId2<QRegExp> { enum { Defined = 1, MetaType = QMetaType::QRegExp }; static inline int qt_metatype_id() { return QMetaType::QRegExp; } }; | |
41538 | ||
41539 | ||
41540 | ||
41541 | ||
41542 | ||
41543 | template<> struct QMetaTypeId2<QFont> { enum { Defined = 1, MetaType = QMetaType::QFont }; static inline int qt_metatype_id() { return QMetaType::QFont; } }; | |
41544 | template<> struct QMetaTypeId2<QPixmap> { enum { Defined = 1, MetaType = QMetaType::QPixmap }; static inline int qt_metatype_id() { return QMetaType::QPixmap; } }; | |
41545 | template<> struct QMetaTypeId2<QBrush> { enum { Defined = 1, MetaType = QMetaType::QBrush }; static inline int qt_metatype_id() { return QMetaType::QBrush; } }; | |
41546 | template<> struct QMetaTypeId2<QColor> { enum { Defined = 1, MetaType = QMetaType::QColor }; static inline int qt_metatype_id() { return QMetaType::QColor; } }; | |
41547 | template<> struct QMetaTypeId2<QPalette> { enum { Defined = 1, MetaType = QMetaType::QPalette }; static inline int qt_metatype_id() { return QMetaType::QPalette; } }; | |
41548 | template<> struct QMetaTypeId2<QIcon> { enum { Defined = 1, MetaType = QMetaType::QIcon }; static inline int qt_metatype_id() { return QMetaType::QIcon; } }; | |
41549 | template<> struct QMetaTypeId2<QImage> { enum { Defined = 1, MetaType = QMetaType::QImage }; static inline int qt_metatype_id() { return QMetaType::QImage; } }; | |
41550 | template<> struct QMetaTypeId2<QPolygon> { enum { Defined = 1, MetaType = QMetaType::QPolygon }; static inline int qt_metatype_id() { return QMetaType::QPolygon; } }; | |
41551 | template<> struct QMetaTypeId2<QRegion> { enum { Defined = 1, MetaType = QMetaType::QRegion }; static inline int qt_metatype_id() { return QMetaType::QRegion; } }; | |
41552 | template<> struct QMetaTypeId2<QBitmap> { enum { Defined = 1, MetaType = QMetaType::QBitmap }; static inline int qt_metatype_id() { return QMetaType::QBitmap; } }; | |
41553 | template<> struct QMetaTypeId2<QCursor> { enum { Defined = 1, MetaType = QMetaType::QCursor }; static inline int qt_metatype_id() { return QMetaType::QCursor; } }; | |
41554 | template<> struct QMetaTypeId2<QSizePolicy> { enum { Defined = 1, MetaType = QMetaType::QSizePolicy }; static inline int qt_metatype_id() { return QMetaType::QSizePolicy; } }; | |
41555 | template<> struct QMetaTypeId2<QKeySequence> { enum { Defined = 1, MetaType = QMetaType::QKeySequence }; static inline int qt_metatype_id() { return QMetaType::QKeySequence; } }; | |
41556 | template<> struct QMetaTypeId2<QPen> { enum { Defined = 1, MetaType = QMetaType::QPen }; static inline int qt_metatype_id() { return QMetaType::QPen; } }; | |
41557 | template<> struct QMetaTypeId2<QTextLength> { enum { Defined = 1, MetaType = QMetaType::QTextLength }; static inline int qt_metatype_id() { return QMetaType::QTextLength; } }; | |
41558 | template<> struct QMetaTypeId2<QTextFormat> { enum { Defined = 1, MetaType = QMetaType::QTextFormat }; static inline int qt_metatype_id() { return QMetaType::QTextFormat; } }; | |
41559 | template<> struct QMetaTypeId2<QMatrix> { enum { Defined = 1, MetaType = QMetaType::QMatrix }; static inline int qt_metatype_id() { return QMetaType::QMatrix; } }; | |
41560 | template<> struct QMetaTypeId2<QTransform> { enum { Defined = 1, MetaType = QMetaType::QTransform }; static inline int qt_metatype_id() { return QMetaType::QTransform; } }; | |
41561 | ||
41562 | ||
41563 | # 1 "../../include/QtCore/qmetatype.h" 2 | |
41564 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 2 | |
41565 | # 1 "../../include/QtCore/qmap.h" 1 | |
41566 | # 50 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 2 | |
41567 | # 1 "../../include/QtCore/qhash.h" 1 | |
41568 | # 51 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 2 | |
41569 | # 1 "../../include/QtCore/qstring.h" 1 | |
41570 | # 52 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" 2 | |
41571 | ||
41572 | ||
41573 | ||
41574 | ||
41575 | ||
41576 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
41577 | ||
41578 | class QBitArray; | |
41579 | class QDataStream; | |
41580 | class QDate; | |
41581 | class QDateTime; | |
41582 | class QLine; | |
41583 | class QLineF; | |
41584 | class QLocale; | |
41585 | class QMatrix; | |
41586 | class QTransform; | |
41587 | class QStringList; | |
41588 | class QTime; | |
41589 | class QPoint; | |
41590 | class QPointF; | |
41591 | class QSize; | |
41592 | class QSizeF; | |
41593 | class QRect; | |
41594 | class QRectF; | |
41595 | ||
41596 | class QRegExp; | |
41597 | ||
41598 | class QTextFormat; | |
41599 | class QTextLength; | |
41600 | class QUrl; | |
41601 | class QVariant; | |
41602 | class QVariantComparisonHelper; | |
41603 | ||
41604 | ||
41605 | template <typename T> | |
41606 | inline QVariant qVariantFromValue(const T &); | |
41607 | ||
41608 | template <typename T> | |
41609 | inline void qVariantSetValue(QVariant &, const T &); | |
41610 | ||
41611 | template<typename T> | |
41612 | inline T qVariantValue(const QVariant &); | |
41613 | ||
41614 | template<typename T> | |
41615 | inline bool qVariantCanConvert(const QVariant &); | |
41616 | ||
41617 | ||
41618 | class __attribute__((visibility("default"))) QVariant | |
41619 | { | |
41620 | public: | |
41621 | enum Type { | |
41622 | Invalid = 0, | |
41623 | ||
41624 | Bool = 1, | |
41625 | Int = 2, | |
41626 | UInt = 3, | |
41627 | LongLong = 4, | |
41628 | ULongLong = 5, | |
41629 | Double = 6, | |
41630 | Char = 7, | |
41631 | Map = 8, | |
41632 | List = 9, | |
41633 | String = 10, | |
41634 | StringList = 11, | |
41635 | ByteArray = 12, | |
41636 | BitArray = 13, | |
41637 | Date = 14, | |
41638 | Time = 15, | |
41639 | DateTime = 16, | |
41640 | Url = 17, | |
41641 | Locale = 18, | |
41642 | Rect = 19, | |
41643 | RectF = 20, | |
41644 | Size = 21, | |
41645 | SizeF = 22, | |
41646 | Line = 23, | |
41647 | LineF = 24, | |
41648 | Point = 25, | |
41649 | PointF = 26, | |
41650 | RegExp = 27, | |
41651 | Hash = 28, | |
41652 | LastCoreType = Hash, | |
41653 | ||
41654 | ||
41655 | ||
41656 | ||
41657 | ||
41658 | Font = 64, | |
41659 | Pixmap = 65, | |
41660 | Brush = 66, | |
41661 | Color = 67, | |
41662 | Palette = 68, | |
41663 | Icon = 69, | |
41664 | Image = 70, | |
41665 | Polygon = 71, | |
41666 | Region = 72, | |
41667 | Bitmap = 73, | |
41668 | Cursor = 74, | |
41669 | SizePolicy = 75, | |
41670 | KeySequence = 76, | |
41671 | Pen = 77, | |
41672 | TextLength = 78, | |
41673 | TextFormat = 79, | |
41674 | Matrix = 80, | |
41675 | Transform = 81, | |
41676 | LastGuiType = Transform, | |
41677 | ||
41678 | UserType = 127, | |
41679 | ||
41680 | ||
41681 | ||
41682 | ||
41683 | ||
41684 | LastType = 0xffffffff | |
41685 | }; | |
41686 | ||
41687 | inline QVariant(); | |
41688 | ~QVariant(); | |
41689 | QVariant(Type type); | |
41690 | QVariant(int typeOrUserType, const void *copy); | |
41691 | QVariant(const QVariant &other); | |
41692 | ||
41693 | ||
41694 | QVariant(QDataStream &s); | |
41695 | ||
41696 | ||
41697 | QVariant(int i); | |
41698 | QVariant(uint ui); | |
41699 | QVariant(qlonglong ll); | |
41700 | QVariant(qulonglong ull); | |
41701 | QVariant(bool b); | |
41702 | QVariant(double d); | |
41703 | ||
41704 | __attribute__ ((__deprecated__)) QVariant(const char *str); | |
41705 | ||
41706 | ||
41707 | QVariant(const QByteArray &bytearray); | |
41708 | QVariant(const QBitArray &bitarray); | |
41709 | QVariant(const QString &string); | |
41710 | QVariant(const QLatin1String &string); | |
41711 | QVariant(const QStringList &stringlist); | |
41712 | QVariant(const QChar &qchar); | |
41713 | QVariant(const QDate &date); | |
41714 | QVariant(const QTime &time); | |
41715 | QVariant(const QDateTime &datetime); | |
41716 | QVariant(const QList<QVariant> &list); | |
41717 | QVariant(const QMap<QString,QVariant> &map); | |
41718 | QVariant(const QHash<QString,QVariant> &hash); | |
41719 | ||
41720 | QVariant(const QSize &size); | |
41721 | QVariant(const QSizeF &size); | |
41722 | QVariant(const QPoint &pt); | |
41723 | QVariant(const QPointF &pt); | |
41724 | QVariant(const QLine &line); | |
41725 | QVariant(const QLineF &line); | |
41726 | QVariant(const QRect &rect); | |
41727 | QVariant(const QRectF &rect); | |
41728 | ||
41729 | QVariant(const QUrl &url); | |
41730 | QVariant(const QLocale &locale); | |
41731 | ||
41732 | QVariant(const QRegExp ®Exp); | |
41733 | ||
41734 | QVariant(Qt::GlobalColor color); | |
41735 | ||
41736 | QVariant& operator=(const QVariant &other); | |
41737 | ||
41738 | Type type() const; | |
41739 | int userType() const; | |
41740 | const char *typeName() const; | |
41741 | ||
41742 | bool canConvert(Type t) const; | |
41743 | bool convert(Type t); | |
41744 | # 233 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" | |
41745 | inline bool isValid() const; | |
41746 | bool isNull() const; | |
41747 | ||
41748 | void clear(); | |
41749 | ||
41750 | void detach(); | |
41751 | inline bool isDetached() const; | |
41752 | ||
41753 | int toInt(bool *ok = 0) const; | |
41754 | uint toUInt(bool *ok = 0) const; | |
41755 | qlonglong toLongLong(bool *ok = 0) const; | |
41756 | qulonglong toULongLong(bool *ok = 0) const; | |
41757 | bool toBool() const; | |
41758 | double toDouble(bool *ok = 0) const; | |
41759 | QByteArray toByteArray() const; | |
41760 | QBitArray toBitArray() const; | |
41761 | QString toString() const; | |
41762 | QStringList toStringList() const; | |
41763 | QChar toChar() const; | |
41764 | QDate toDate() const; | |
41765 | QTime toTime() const; | |
41766 | QDateTime toDateTime() const; | |
41767 | QList<QVariant> toList() const; | |
41768 | QMap<QString, QVariant> toMap() const; | |
41769 | QHash<QString, QVariant> toHash() const; | |
41770 | ||
41771 | ||
41772 | QPoint toPoint() const; | |
41773 | QPointF toPointF() const; | |
41774 | QRect toRect() const; | |
41775 | QSize toSize() const; | |
41776 | QSizeF toSizeF() const; | |
41777 | QLine toLine() const; | |
41778 | QLineF toLineF() const; | |
41779 | QRectF toRectF() const; | |
41780 | ||
41781 | QUrl toUrl() const; | |
41782 | QLocale toLocale() const; | |
41783 | ||
41784 | QRegExp toRegExp() const; | |
41785 | # 297 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" | |
41786 | void load(QDataStream &ds); | |
41787 | void save(QDataStream &ds) const; | |
41788 | ||
41789 | static const char *typeToName(Type type); | |
41790 | static Type nameToType(const char *name); | |
41791 | ||
41792 | ||
41793 | ||
41794 | ||
41795 | ||
41796 | ||
41797 | ||
41798 | void *data(); | |
41799 | const void *constData() const; | |
41800 | inline const void *data() const { return constData(); } | |
41801 | ||
41802 | ||
41803 | template<typename T> | |
41804 | inline void setValue(const T &value); | |
41805 | ||
41806 | template<typename T> | |
41807 | inline T value() const | |
41808 | { return qVariantValue<T>(*this); } | |
41809 | ||
41810 | template<typename T> | |
41811 | static inline QVariant fromValue(const T &value) | |
41812 | { return qVariantFromValue(value); } | |
41813 | ||
41814 | template<typename T> | |
41815 | bool canConvert() const | |
41816 | { return qVariantCanConvert<T>(*this); } | |
41817 | ||
41818 | ||
41819 | public: | |
41820 | ||
41821 | struct PrivateShared | |
41822 | { | |
41823 | inline PrivateShared(void *v) : ptr(v), ref(1) { } | |
41824 | void *ptr; | |
41825 | QAtomicInt ref; | |
41826 | }; | |
41827 | struct Private | |
41828 | { | |
41829 | inline Private(): type(Invalid), is_shared(false), is_null(true) { data.ptr = 0; } | |
41830 | inline Private(const Private &other) | |
41831 | : data(other.data), type(other.type), | |
41832 | is_shared(other.is_shared), is_null(other.is_null) | |
41833 | {} | |
41834 | union Data | |
41835 | { | |
41836 | char c; | |
41837 | int i; | |
41838 | uint u; | |
41839 | bool b; | |
41840 | double d; | |
41841 | qlonglong ll; | |
41842 | qulonglong ull; | |
41843 | void *ptr; | |
41844 | PrivateShared *shared; | |
41845 | } data; | |
41846 | uint type : 30; | |
41847 | uint is_shared : 1; | |
41848 | uint is_null : 1; | |
41849 | }; | |
41850 | public: | |
41851 | typedef void (*f_construct)(Private *, const void *); | |
41852 | typedef void (*f_clear)(Private *); | |
41853 | typedef bool (*f_null)(const Private *); | |
41854 | ||
41855 | typedef void (*f_load)(Private *, QDataStream &); | |
41856 | typedef void (*f_save)(const Private *, QDataStream &); | |
41857 | ||
41858 | typedef bool (*f_compare)(const Private *, const Private *); | |
41859 | typedef bool (*f_convert)(const QVariant::Private *d, Type t, void *, bool *); | |
41860 | typedef bool (*f_canConvert)(const QVariant::Private *d, Type t); | |
41861 | typedef void (*f_debugStream)(QDebug, const QVariant &); | |
41862 | struct Handler { | |
41863 | f_construct construct; | |
41864 | f_clear clear; | |
41865 | f_null isNull; | |
41866 | ||
41867 | f_load load; | |
41868 | f_save save; | |
41869 | ||
41870 | f_compare compare; | |
41871 | f_convert convert; | |
41872 | f_canConvert canConvert; | |
41873 | f_debugStream debugStream; | |
41874 | }; | |
41875 | ||
41876 | ||
41877 | inline bool operator==(const QVariant &v) const | |
41878 | { return cmp(v); } | |
41879 | inline bool operator!=(const QVariant &v) const | |
41880 | { return !cmp(v); } | |
41881 | ||
41882 | protected: | |
41883 | friend inline bool qvariant_cast_helper(const QVariant &, QVariant::Type, void *); | |
41884 | friend int qRegisterGuiVariant(); | |
41885 | friend int qUnregisterGuiVariant(); | |
41886 | friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); | |
41887 | ||
41888 | friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); | |
41889 | ||
41890 | Private d; | |
41891 | ||
41892 | static const Handler *handler; | |
41893 | ||
41894 | void create(int type, const void *copy); | |
41895 | ||
41896 | ||
41897 | ||
41898 | bool cmp(const QVariant &other) const; | |
41899 | ||
41900 | private: | |
41901 | ||
41902 | inline QVariant(void *) { qt_noop(); } | |
41903 | ||
41904 | ||
41905 | ||
41906 | ||
41907 | ||
41908 | ||
41909 | inline QVariant(bool, int) { qt_noop(); } | |
41910 | ||
41911 | public: | |
41912 | typedef Private DataPtr; | |
41913 | inline DataPtr &data_ptr() { return d; } | |
41914 | }; | |
41915 | ||
41916 | typedef QList<QVariant> QVariantList; | |
41917 | typedef QMap<QString, QVariant> QVariantMap; | |
41918 | typedef QHash<QString, QVariant> QVariantHash; | |
41919 | ||
41920 | inline bool qvariant_cast_helper(const QVariant &v, QVariant::Type tp, void *ptr) | |
41921 | { return QVariant::handler->convert(&v.d, tp, ptr, 0); } | |
41922 | ||
41923 | template <typename T> | |
41924 | inline QVariant qVariantFromValue(const T &t) | |
41925 | { | |
41926 | return QVariant(qMetaTypeId<T>(reinterpret_cast<T *>(0)), &t); | |
41927 | } | |
41928 | ||
41929 | template <> | |
41930 | inline QVariant qVariantFromValue(const QVariant &t) { return t; } | |
41931 | ||
41932 | template <typename T> | |
41933 | inline void qVariantSetValue(QVariant &v, const T &t) | |
41934 | { | |
41935 | v = QVariant(qMetaTypeId<T>(reinterpret_cast<T *>(0)), &t); | |
41936 | } | |
41937 | ||
41938 | inline QVariant::QVariant() {} | |
41939 | inline bool QVariant::isValid() const { return d.type != Invalid; } | |
41940 | # 492 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" | |
41941 | template<typename T> | |
41942 | inline void QVariant::setValue(const T &avalue) | |
41943 | { qVariantSetValue(*this, avalue); } | |
41944 | ||
41945 | ||
41946 | ||
41947 | __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant& p); | |
41948 | __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant& p); | |
41949 | __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant::Type& p); | |
41950 | __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant::Type p); | |
41951 | ||
41952 | ||
41953 | inline bool QVariant::isDetached() const | |
41954 | { return !d.is_shared || d.data.shared->ref == 1; } | |
41955 | # 516 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" | |
41956 | class QVariantComparisonHelper | |
41957 | { | |
41958 | public: | |
41959 | inline QVariantComparisonHelper(const QVariant &var) | |
41960 | : v(&var) {} | |
41961 | private: | |
41962 | friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); | |
41963 | const QVariant *v; | |
41964 | }; | |
41965 | ||
41966 | inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2) | |
41967 | { | |
41968 | return v1.cmp(*v2.v); | |
41969 | } | |
41970 | ||
41971 | inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2) | |
41972 | { | |
41973 | return !operator==(v1, v2); | |
41974 | } | |
41975 | # 564 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qvariant.h" | |
41976 | template<typename T> T qvariant_cast(const QVariant &v) | |
41977 | { | |
41978 | const int vid = qMetaTypeId<T>(static_cast<T *>(0)); | |
41979 | if (vid == v.userType()) | |
41980 | return *reinterpret_cast<const T *>(v.constData()); | |
41981 | if (vid < int(QMetaType::User)) { | |
41982 | T t; | |
41983 | if (qvariant_cast_helper(v, QVariant::Type(vid), &t)) | |
41984 | return t; | |
41985 | } | |
41986 | return T(); | |
41987 | } | |
41988 | ||
41989 | template<typename T> | |
41990 | inline T qVariantValue(const QVariant &variant) | |
41991 | { return qvariant_cast<T>(variant); } | |
41992 | ||
41993 | template<typename T> | |
41994 | inline bool qVariantCanConvert(const QVariant &variant) | |
41995 | { | |
41996 | return variant.canConvert(static_cast<QVariant::Type>( | |
41997 | qMetaTypeId<T>(static_cast<T *>(0)))); | |
41998 | } | |
41999 | ||
42000 | ||
42001 | template <> inline bool qIsDetached<QVariant>(QVariant &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QVariant>(QVariant &value1, QVariant &value2) { const QVariant::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
42002 | template <> class QTypeInfo<QVariant> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QVariant)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QVariant"; } }; | |
42003 | ||
42004 | ||
42005 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); | |
42006 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant::Type); | |
42007 | ||
42008 | ||
42009 | ||
42010 | ||
42011 | template<> struct QMetaTypeId2<QVariantList> { enum { Defined = 1, MetaType = QMetaType::QVariantList }; static inline int qt_metatype_id() { return QMetaType::QVariantList; } }; | |
42012 | template<> struct QMetaTypeId2<QVariantMap> { enum { Defined = 1, MetaType = QMetaType::QVariantMap }; static inline int qt_metatype_id() { return QMetaType::QVariantMap; } }; | |
42013 | template<> struct QMetaTypeId2<QVariantHash> { enum { Defined = 1, MetaType = QMetaType::QVariantHash }; static inline int qt_metatype_id() { return QMetaType::QVariantHash; } }; | |
42014 | ||
42015 | ||
42016 | # 1 "../../include/QtCore/qvariant.h" 2 | |
42017 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmimedata.h" 2 | |
42018 | # 1 "../../include/QtCore/qobject.h" 1 | |
42019 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmimedata.h" 2 | |
42020 | ||
42021 | ||
42022 | ||
42023 | ||
42024 | ||
42025 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
42026 | ||
42027 | class QUrl; | |
42028 | class QMimeDataPrivate; | |
42029 | ||
42030 | class __attribute__((visibility("default"))) QMimeData : public QObject | |
42031 | { | |
42032 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
42033 | public: | |
42034 | QMimeData(); | |
42035 | ~QMimeData(); | |
42036 | ||
42037 | QList<QUrl> urls() const; | |
42038 | void setUrls(const QList<QUrl> &urls); | |
42039 | bool hasUrls() const; | |
42040 | ||
42041 | QString text() const; | |
42042 | void setText(const QString &text); | |
42043 | bool hasText() const; | |
42044 | ||
42045 | QString html() const; | |
42046 | void setHtml(const QString &html); | |
42047 | bool hasHtml() const; | |
42048 | ||
42049 | QVariant imageData() const; | |
42050 | void setImageData(const QVariant &image); | |
42051 | bool hasImage() const; | |
42052 | ||
42053 | QVariant colorData() const; | |
42054 | void setColorData(const QVariant &color); | |
42055 | bool hasColor() const; | |
42056 | ||
42057 | QByteArray data(const QString &mimetype) const; | |
42058 | void setData(const QString &mimetype, const QByteArray &data); | |
42059 | void removeFormat(const QString &mimetype); | |
42060 | ||
42061 | virtual bool hasFormat(const QString &mimetype) const; | |
42062 | virtual QStringList formats() const; | |
42063 | ||
42064 | void clear(); | |
42065 | protected: | |
42066 | virtual QVariant retrieveData(const QString &mimetype, | |
42067 | QVariant::Type preferredType) const; | |
42068 | private: | |
42069 | QMimeData(const QMimeData &); QMimeData &operator=(const QMimeData &); | |
42070 | inline QMimeDataPrivate* d_func() { return reinterpret_cast<QMimeDataPrivate *>(d_ptr); } inline const QMimeDataPrivate* d_func() const { return reinterpret_cast<const QMimeDataPrivate *>(d_ptr); } friend class QMimeDataPrivate; | |
42071 | }; | |
42072 | ||
42073 | ||
42074 | ||
42075 | ||
42076 | # 1 "../../include/QtCore/qmimedata.h" 2 | |
42077 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qmime.h" 2 | |
42078 | ||
42079 | ||
42080 | ||
42081 | ||
42082 | ||
42083 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
42084 | ||
42085 | class __attribute__((visibility("default"))) QMimeSource | |
42086 | { | |
42087 | public: | |
42088 | virtual ~QMimeSource(); | |
42089 | virtual const char* format(int n = 0) const = 0; | |
42090 | virtual bool provides(const char*) const; | |
42091 | virtual QByteArray encodedData(const char*) const = 0; | |
42092 | }; | |
42093 | # 172 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qmime.h" | |
42094 | ||
42095 | ||
42096 | ||
42097 | # 1 "../../include/QtGui/qmime.h" 2 | |
42098 | # 53 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
42099 | # 1 "../../include/QtGui/qdrag.h" 1 | |
42100 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qdrag.h" 1 | |
42101 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qdrag.h" | |
42102 | #define QDRAG_H | |
42103 | ||
42104 | # 1 "../../include/QtCore/qobject.h" 1 | |
42105 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qdrag.h" 2 | |
42106 | ||
42107 | ||
42108 | ||
42109 | ||
42110 | ||
42111 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
42112 | ||
42113 | ||
42114 | class QMimeData; | |
42115 | class QDragPrivate; | |
42116 | class QWidget; | |
42117 | class QPixmap; | |
42118 | class QPoint; | |
42119 | class QDragManager; | |
42120 | ||
42121 | class __attribute__((visibility("default"))) QDrag : public QObject | |
42122 | { | |
42123 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
42124 | inline QDragPrivate* d_func() { return reinterpret_cast<QDragPrivate *>(d_ptr); } inline const QDragPrivate* d_func() const { return reinterpret_cast<const QDragPrivate *>(d_ptr); } friend class QDragPrivate; | |
42125 | public: | |
42126 | explicit QDrag(QWidget *dragSource); | |
42127 | ~QDrag(); | |
42128 | ||
42129 | void setMimeData(QMimeData *data); | |
42130 | QMimeData *mimeData() const; | |
42131 | ||
42132 | void setPixmap(const QPixmap &); | |
42133 | QPixmap pixmap() const; | |
42134 | ||
42135 | void setHotSpot(const QPoint &hotspot); | |
42136 | QPoint hotSpot() const; | |
42137 | ||
42138 | QWidget *source() const; | |
42139 | QWidget *target() const; | |
42140 | ||
42141 | Qt::DropAction start(Qt::DropActions supportedActions = Qt::CopyAction); | |
42142 | Qt::DropAction exec(Qt::DropActions supportedActions = Qt::MoveAction); | |
42143 | Qt::DropAction exec(Qt::DropActions supportedActions, Qt::DropAction defaultAction); | |
42144 | ||
42145 | void setDragCursor(const QPixmap &cursor, Qt::DropAction action); | |
42146 | ||
42147 | protected: | |
42148 | void actionChanged(Qt::DropAction action); | |
42149 | void targetChanged(QWidget *newTarget); | |
42150 | ||
42151 | private: | |
42152 | ||
42153 | ||
42154 | ||
42155 | friend class QDragManager; | |
42156 | QDrag(const QDrag &); QDrag &operator=(const QDrag &); | |
42157 | }; | |
42158 | ||
42159 | ||
42160 | ||
42161 | ||
42162 | ||
42163 | ||
42164 | # 1 "../../include/QtGui/qdrag.h" 2 | |
42165 | # 54 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
42166 | # 1 "../../include/QtCore/qvariant.h" 1 | |
42167 | # 55 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" 2 | |
42168 | ||
42169 | ||
42170 | ||
42171 | ||
42172 | ||
42173 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
42174 | ||
42175 | class QAction; | |
42176 | ||
42177 | class __attribute__((visibility("default"))) QInputEvent : public QEvent | |
42178 | { | |
42179 | public: | |
42180 | QInputEvent(Type type, Qt::KeyboardModifiers modifiers = Qt::NoModifier); | |
42181 | ~QInputEvent(); | |
42182 | inline Qt::KeyboardModifiers modifiers() const { return modState; } | |
42183 | protected: | |
42184 | Qt::KeyboardModifiers modState; | |
42185 | }; | |
42186 | ||
42187 | class __attribute__((visibility("default"))) QMouseEvent : public QInputEvent | |
42188 | { | |
42189 | public: | |
42190 | QMouseEvent(Type type, const QPoint &pos, Qt::MouseButton button, | |
42191 | Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); | |
42192 | QMouseEvent(Type type, const QPoint &pos, const QPoint &globalPos, | |
42193 | Qt::MouseButton button, Qt::MouseButtons buttons, | |
42194 | Qt::KeyboardModifiers modifiers); | |
42195 | ~QMouseEvent(); | |
42196 | ||
42197 | inline const QPoint &pos() const { return p; } | |
42198 | inline const QPoint &globalPos() const { return g; } | |
42199 | inline int x() const { return p.x(); } | |
42200 | inline int y() const { return p.y(); } | |
42201 | inline int globalX() const { return g.x(); } | |
42202 | inline int globalY() const { return g.y(); } | |
42203 | inline Qt::MouseButton button() const { return b; } | |
42204 | inline Qt::MouseButtons buttons() const { return mouseState; } | |
42205 | ||
42206 | static QMouseEvent *createExtendedMouseEvent(Type type, const QPointF &pos, | |
42207 | const QPoint &globalPos, Qt::MouseButton button, | |
42208 | Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); | |
42209 | inline bool hasExtendedInfo() const { return reinterpret_cast<const QMouseEvent *>(d) == this; } | |
42210 | QPointF posF() const; | |
42211 | # 108 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" | |
42212 | protected: | |
42213 | QPoint p, g; | |
42214 | Qt::MouseButton b; | |
42215 | Qt::MouseButtons mouseState; | |
42216 | }; | |
42217 | ||
42218 | class __attribute__((visibility("default"))) QHoverEvent : public QEvent | |
42219 | { | |
42220 | public: | |
42221 | QHoverEvent(Type type, const QPoint &pos, const QPoint &oldPos); | |
42222 | ~QHoverEvent(); | |
42223 | ||
42224 | inline const QPoint &pos() const { return p; } | |
42225 | inline const QPoint &oldPos() const { return op; } | |
42226 | ||
42227 | protected: | |
42228 | QPoint p, op; | |
42229 | }; | |
42230 | ||
42231 | ||
42232 | class __attribute__((visibility("default"))) QWheelEvent : public QInputEvent | |
42233 | { | |
42234 | public: | |
42235 | QWheelEvent(const QPoint &pos, int delta, | |
42236 | Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, | |
42237 | Qt::Orientation orient = Qt::Vertical); | |
42238 | QWheelEvent(const QPoint &pos, const QPoint& globalPos, int delta, | |
42239 | Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, | |
42240 | Qt::Orientation orient = Qt::Vertical); | |
42241 | ~QWheelEvent(); | |
42242 | ||
42243 | inline int delta() const { return d; } | |
42244 | inline const QPoint &pos() const { return p; } | |
42245 | inline const QPoint &globalPos() const { return g; } | |
42246 | inline int x() const { return p.x(); } | |
42247 | inline int y() const { return p.y(); } | |
42248 | inline int globalX() const { return g.x(); } | |
42249 | inline int globalY() const { return g.y(); } | |
42250 | ||
42251 | inline Qt::MouseButtons buttons() const { return mouseState; } | |
42252 | Qt::Orientation orientation() const { return o; } | |
42253 | # 158 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" | |
42254 | protected: | |
42255 | QPoint p; | |
42256 | QPoint g; | |
42257 | int d; | |
42258 | Qt::MouseButtons mouseState; | |
42259 | Qt::Orientation o; | |
42260 | }; | |
42261 | ||
42262 | ||
42263 | ||
42264 | class __attribute__((visibility("default"))) QTabletEvent : public QInputEvent | |
42265 | { | |
42266 | public: | |
42267 | enum TabletDevice { NoDevice, Puck, Stylus, Airbrush, FourDMouse, | |
42268 | XFreeEraser , RotationStylus }; | |
42269 | enum PointerType { UnknownPointer, Pen, Cursor, Eraser }; | |
42270 | QTabletEvent(Type t, const QPoint &pos, const QPoint &globalPos, const QPointF &hiResGlobalPos, | |
42271 | int device, int pointerType, qreal pressure, int xTilt, int yTilt, | |
42272 | qreal tangentialPressure, qreal rotation, int z, | |
42273 | Qt::KeyboardModifiers keyState, qint64 uniqueID); | |
42274 | ~QTabletEvent(); | |
42275 | ||
42276 | inline const QPoint &pos() const { return mPos; } | |
42277 | inline const QPoint &globalPos() const { return mGPos; } | |
42278 | inline const QPointF &hiResGlobalPos() const { return mHiResGlobalPos; } | |
42279 | inline int x() const { return mPos.x(); } | |
42280 | inline int y() const { return mPos.y(); } | |
42281 | inline int globalX() const { return mGPos.x(); } | |
42282 | inline int globalY() const { return mGPos.y(); } | |
42283 | inline qreal hiResGlobalX() const { return mHiResGlobalPos.x(); } | |
42284 | inline qreal hiResGlobalY() const { return mHiResGlobalPos.y(); } | |
42285 | inline TabletDevice device() const { return TabletDevice(mDev); } | |
42286 | inline PointerType pointerType() const { return PointerType(mPointerType); } | |
42287 | inline qint64 uniqueId() const { return mUnique; } | |
42288 | inline qreal pressure() const { return mPress; } | |
42289 | inline int z() const { return mZ; } | |
42290 | inline qreal tangentialPressure() const { return mTangential; } | |
42291 | inline qreal rotation() const { return mRot; } | |
42292 | inline int xTilt() const { return mXT; } | |
42293 | inline int yTilt() const { return mYT; } | |
42294 | ||
42295 | protected: | |
42296 | QPoint mPos, mGPos; | |
42297 | QPointF mHiResGlobalPos; | |
42298 | int mDev, mPointerType, mXT, mYT, mZ; | |
42299 | qreal mPress, mTangential, mRot; | |
42300 | qint64 mUnique; | |
42301 | ||
42302 | ||
42303 | ||
42304 | ||
42305 | void *mExtra; | |
42306 | }; | |
42307 | ||
42308 | ||
42309 | class __attribute__((visibility("default"))) QKeyEvent : public QInputEvent | |
42310 | { | |
42311 | public: | |
42312 | QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(), | |
42313 | bool autorep = false, ushort count = 1); | |
42314 | ~QKeyEvent(); | |
42315 | ||
42316 | int key() const { return k; } | |
42317 | ||
42318 | bool matches(QKeySequence::StandardKey key) const; | |
42319 | ||
42320 | Qt::KeyboardModifiers modifiers() const; | |
42321 | inline QString text() const { return txt; } | |
42322 | inline bool isAutoRepeat() const { return autor; } | |
42323 | inline int count() const { return int(c); } | |
42324 | ||
42325 | ||
42326 | static QKeyEvent *createExtendedKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, | |
42327 | quint32 nativeScanCode, quint32 nativeVirtualKey, | |
42328 | quint32 nativeModifiers, | |
42329 | const QString& text = QString(), bool autorep = false, | |
42330 | ushort count = 1); | |
42331 | inline bool hasExtendedInfo() const { return reinterpret_cast<const QKeyEvent*>(d) == this; } | |
42332 | quint32 nativeScanCode() const; | |
42333 | quint32 nativeVirtualKey() const; | |
42334 | quint32 nativeModifiers() const; | |
42335 | # 256 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" | |
42336 | protected: | |
42337 | QString txt; | |
42338 | int k; | |
42339 | ushort c; | |
42340 | uint autor:1; | |
42341 | }; | |
42342 | ||
42343 | ||
42344 | class __attribute__((visibility("default"))) QFocusEvent : public QEvent | |
42345 | { | |
42346 | public: | |
42347 | QFocusEvent(Type type, Qt::FocusReason reason=Qt::OtherFocusReason); | |
42348 | ~QFocusEvent(); | |
42349 | ||
42350 | inline bool gotFocus() const { return type() == FocusIn; } | |
42351 | inline bool lostFocus() const { return type() == FocusOut; } | |
42352 | ||
42353 | ||
42354 | ||
42355 | ||
42356 | ||
42357 | ||
42358 | ||
42359 | Qt::FocusReason reason(); | |
42360 | Qt::FocusReason reason() const; | |
42361 | ||
42362 | private: | |
42363 | Qt::FocusReason m_reason; | |
42364 | }; | |
42365 | ||
42366 | ||
42367 | class __attribute__((visibility("default"))) QPaintEvent : public QEvent | |
42368 | { | |
42369 | public: | |
42370 | QPaintEvent(const QRegion& paintRegion); | |
42371 | QPaintEvent(const QRect &paintRect); | |
42372 | ~QPaintEvent(); | |
42373 | ||
42374 | inline const QRect &rect() const { return m_rect; } | |
42375 | inline const QRegion ®ion() const { return m_region; } | |
42376 | ||
42377 | ||
42378 | ||
42379 | ||
42380 | ||
42381 | ||
42382 | ||
42383 | protected: | |
42384 | friend class QApplication; | |
42385 | friend class QCoreApplication; | |
42386 | QRect m_rect; | |
42387 | QRegion m_region; | |
42388 | bool m_erased; | |
42389 | }; | |
42390 | ||
42391 | class QUpdateLaterEvent : public QEvent | |
42392 | { | |
42393 | public: | |
42394 | QUpdateLaterEvent(const QRegion& paintRegion); | |
42395 | ~QUpdateLaterEvent(); | |
42396 | ||
42397 | inline const QRegion ®ion() const { return m_region; } | |
42398 | ||
42399 | protected: | |
42400 | QRegion m_region; | |
42401 | }; | |
42402 | ||
42403 | class __attribute__((visibility("default"))) QMoveEvent : public QEvent | |
42404 | { | |
42405 | public: | |
42406 | QMoveEvent(const QPoint &pos, const QPoint &oldPos); | |
42407 | ~QMoveEvent(); | |
42408 | ||
42409 | inline const QPoint &pos() const { return p; } | |
42410 | inline const QPoint &oldPos() const { return oldp;} | |
42411 | protected: | |
42412 | QPoint p, oldp; | |
42413 | friend class QApplication; | |
42414 | friend class QCoreApplication; | |
42415 | }; | |
42416 | ||
42417 | ||
42418 | class __attribute__((visibility("default"))) QResizeEvent : public QEvent | |
42419 | { | |
42420 | public: | |
42421 | QResizeEvent(const QSize &size, const QSize &oldSize); | |
42422 | ~QResizeEvent(); | |
42423 | ||
42424 | inline const QSize &size() const { return s; } | |
42425 | inline const QSize &oldSize()const { return olds;} | |
42426 | protected: | |
42427 | QSize s, olds; | |
42428 | friend class QApplication; | |
42429 | friend class QCoreApplication; | |
42430 | }; | |
42431 | ||
42432 | ||
42433 | class __attribute__((visibility("default"))) QCloseEvent : public QEvent | |
42434 | { | |
42435 | public: | |
42436 | QCloseEvent(); | |
42437 | ~QCloseEvent(); | |
42438 | }; | |
42439 | ||
42440 | ||
42441 | class __attribute__((visibility("default"))) QIconDragEvent : public QEvent | |
42442 | { | |
42443 | public: | |
42444 | QIconDragEvent(); | |
42445 | ~QIconDragEvent(); | |
42446 | }; | |
42447 | ||
42448 | ||
42449 | class __attribute__((visibility("default"))) QShowEvent : public QEvent | |
42450 | { | |
42451 | public: | |
42452 | QShowEvent(); | |
42453 | ~QShowEvent(); | |
42454 | }; | |
42455 | ||
42456 | ||
42457 | class __attribute__((visibility("default"))) QHideEvent : public QEvent | |
42458 | { | |
42459 | public: | |
42460 | QHideEvent(); | |
42461 | ~QHideEvent(); | |
42462 | }; | |
42463 | ||
42464 | ||
42465 | class __attribute__((visibility("default"))) QContextMenuEvent : public QInputEvent | |
42466 | { | |
42467 | public: | |
42468 | enum Reason { Mouse, Keyboard, Other }; | |
42469 | ||
42470 | QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos, | |
42471 | Qt::KeyboardModifiers modifiers); | |
42472 | QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos); | |
42473 | QContextMenuEvent(Reason reason, const QPoint &pos); | |
42474 | ~QContextMenuEvent(); | |
42475 | ||
42476 | inline int x() const { return p.x(); } | |
42477 | inline int y() const { return p.y(); } | |
42478 | inline int globalX() const { return gp.x(); } | |
42479 | inline int globalY() const { return gp.y(); } | |
42480 | ||
42481 | inline const QPoint& pos() const { return p; } | |
42482 | inline const QPoint& globalPos() const { return gp; } | |
42483 | ||
42484 | inline Reason reason() const { return Reason(reas); } | |
42485 | ||
42486 | ||
42487 | ||
42488 | ||
42489 | ||
42490 | ||
42491 | ||
42492 | protected: | |
42493 | QPoint p; | |
42494 | QPoint gp; | |
42495 | uint reas : 8; | |
42496 | }; | |
42497 | ||
42498 | ||
42499 | ||
42500 | class __attribute__((visibility("default"))) QInputMethodEvent : public QEvent | |
42501 | { | |
42502 | public: | |
42503 | enum AttributeType { | |
42504 | TextFormat, | |
42505 | Cursor, | |
42506 | Language, | |
42507 | Ruby | |
42508 | }; | |
42509 | class Attribute { | |
42510 | public: | |
42511 | Attribute(AttributeType t, int s, int l, QVariant val) : type(t), start(s), length(l), value(val) {} | |
42512 | AttributeType type; | |
42513 | ||
42514 | int start; | |
42515 | int length; | |
42516 | QVariant value; | |
42517 | }; | |
42518 | QInputMethodEvent(); | |
42519 | QInputMethodEvent(const QString &preeditText, const QList<Attribute> &attributes); | |
42520 | void setCommitString(const QString &commitString, int replaceFrom = 0, int replaceLength = 0); | |
42521 | ||
42522 | inline const QList<Attribute> &attributes() const { return attrs; } | |
42523 | inline const QString &preeditString() const { return preedit; } | |
42524 | ||
42525 | inline const QString &commitString() const { return commit; } | |
42526 | inline int replacementStart() const { return replace_from; } | |
42527 | inline int replacementLength() const { return replace_length; } | |
42528 | ||
42529 | QInputMethodEvent(const QInputMethodEvent &other); | |
42530 | ||
42531 | private: | |
42532 | QString preedit; | |
42533 | QList<Attribute> attrs; | |
42534 | QString commit; | |
42535 | int replace_from; | |
42536 | int replace_length; | |
42537 | }; | |
42538 | ||
42539 | ||
42540 | ||
42541 | ||
42542 | class QMimeData; | |
42543 | ||
42544 | class __attribute__((visibility("default"))) QDropEvent : public QEvent | |
42545 | ||
42546 | , public QMimeSource | |
42547 | ||
42548 | { | |
42549 | public: | |
42550 | QDropEvent(const QPoint& pos, Qt::DropActions actions, const QMimeData *data, | |
42551 | Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = Drop); | |
42552 | ~QDropEvent(); | |
42553 | ||
42554 | inline const QPoint &pos() const { return p; } | |
42555 | inline Qt::MouseButtons mouseButtons() const { return mouseState; } | |
42556 | inline Qt::KeyboardModifiers keyboardModifiers() const { return modState; } | |
42557 | ||
42558 | inline Qt::DropActions possibleActions() const { return act; } | |
42559 | inline Qt::DropAction proposedAction() const { return default_action; } | |
42560 | inline void acceptProposedAction() { drop_action = default_action; accept(); } | |
42561 | ||
42562 | inline Qt::DropAction dropAction() const { return drop_action; } | |
42563 | void setDropAction(Qt::DropAction action); | |
42564 | ||
42565 | QWidget* source() const; | |
42566 | inline const QMimeData *mimeData() const { return mdata; } | |
42567 | ||
42568 | ||
42569 | const char* format(int n = 0) const; | |
42570 | QByteArray encodedData(const char*) const; | |
42571 | bool provides(const char*) const; | |
42572 | # 505 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" | |
42573 | protected: | |
42574 | friend class QApplication; | |
42575 | QPoint p; | |
42576 | Qt::MouseButtons mouseState; | |
42577 | Qt::KeyboardModifiers modState; | |
42578 | Qt::DropActions act; | |
42579 | Qt::DropAction drop_action; | |
42580 | Qt::DropAction default_action; | |
42581 | const QMimeData *mdata; | |
42582 | mutable QList<QByteArray> fmts; | |
42583 | }; | |
42584 | ||
42585 | ||
42586 | class __attribute__((visibility("default"))) QDragMoveEvent : public QDropEvent | |
42587 | { | |
42588 | public: | |
42589 | QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, | |
42590 | Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove); | |
42591 | ~QDragMoveEvent(); | |
42592 | ||
42593 | inline QRect answerRect() const { return rect; } | |
42594 | ||
42595 | inline void accept() { QDropEvent::accept(); } | |
42596 | inline void ignore() { QDropEvent::ignore(); } | |
42597 | ||
42598 | inline void accept(const QRect & r) { accept(); rect = r; } | |
42599 | inline void ignore(const QRect & r) { ignore(); rect = r; } | |
42600 | ||
42601 | ||
42602 | ||
42603 | ||
42604 | ||
42605 | protected: | |
42606 | friend class QApplication; | |
42607 | QRect rect; | |
42608 | }; | |
42609 | ||
42610 | ||
42611 | class __attribute__((visibility("default"))) QDragEnterEvent : public QDragMoveEvent | |
42612 | { | |
42613 | public: | |
42614 | QDragEnterEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, | |
42615 | Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); | |
42616 | ~QDragEnterEvent(); | |
42617 | }; | |
42618 | ||
42619 | ||
42620 | ||
42621 | class __attribute__((visibility("default"))) QDragResponseEvent : public QEvent | |
42622 | { | |
42623 | public: | |
42624 | QDragResponseEvent(bool accepted); | |
42625 | ~QDragResponseEvent(); | |
42626 | ||
42627 | inline bool dragAccepted() const { return a; } | |
42628 | protected: | |
42629 | bool a; | |
42630 | }; | |
42631 | ||
42632 | ||
42633 | class __attribute__((visibility("default"))) QDragLeaveEvent : public QEvent | |
42634 | { | |
42635 | public: | |
42636 | QDragLeaveEvent(); | |
42637 | ~QDragLeaveEvent(); | |
42638 | }; | |
42639 | ||
42640 | ||
42641 | ||
42642 | class __attribute__((visibility("default"))) QHelpEvent : public QEvent | |
42643 | { | |
42644 | public: | |
42645 | QHelpEvent(Type type, const QPoint &pos, const QPoint &globalPos); | |
42646 | ~QHelpEvent(); | |
42647 | ||
42648 | inline int x() const { return p.x(); } | |
42649 | inline int y() const { return p.y(); } | |
42650 | inline int globalX() const { return gp.x(); } | |
42651 | inline int globalY() const { return gp.y(); } | |
42652 | ||
42653 | inline const QPoint& pos() const { return p; } | |
42654 | inline const QPoint& globalPos() const { return gp; } | |
42655 | ||
42656 | private: | |
42657 | QPoint p; | |
42658 | QPoint gp; | |
42659 | }; | |
42660 | ||
42661 | ||
42662 | class __attribute__((visibility("default"))) QStatusTipEvent : public QEvent | |
42663 | { | |
42664 | public: | |
42665 | QStatusTipEvent(const QString &tip); | |
42666 | ~QStatusTipEvent(); | |
42667 | ||
42668 | inline QString tip() const { return s; } | |
42669 | private: | |
42670 | QString s; | |
42671 | }; | |
42672 | ||
42673 | ||
42674 | ||
42675 | class __attribute__((visibility("default"))) QWhatsThisClickedEvent : public QEvent | |
42676 | { | |
42677 | public: | |
42678 | QWhatsThisClickedEvent(const QString &href); | |
42679 | ~QWhatsThisClickedEvent(); | |
42680 | ||
42681 | inline QString href() const { return s; } | |
42682 | private: | |
42683 | QString s; | |
42684 | }; | |
42685 | ||
42686 | ||
42687 | ||
42688 | class __attribute__((visibility("default"))) QActionEvent : public QEvent | |
42689 | { | |
42690 | QAction *act, *bef; | |
42691 | public: | |
42692 | QActionEvent(int type, QAction *action, QAction *before = 0); | |
42693 | ~QActionEvent(); | |
42694 | ||
42695 | inline QAction *action() const { return act; } | |
42696 | inline QAction *before() const { return bef; } | |
42697 | }; | |
42698 | ||
42699 | ||
42700 | class __attribute__((visibility("default"))) QFileOpenEvent : public QEvent | |
42701 | { | |
42702 | public: | |
42703 | QFileOpenEvent(const QString &file); | |
42704 | ~QFileOpenEvent(); | |
42705 | ||
42706 | inline QString file() const { return f; } | |
42707 | private: | |
42708 | QString f; | |
42709 | }; | |
42710 | ||
42711 | ||
42712 | class __attribute__((visibility("default"))) QToolBarChangeEvent : public QEvent | |
42713 | { | |
42714 | public: | |
42715 | QToolBarChangeEvent(bool t); | |
42716 | ~QToolBarChangeEvent(); | |
42717 | ||
42718 | inline bool toggle() const { return tog; } | |
42719 | private: | |
42720 | uint tog : 1; | |
42721 | }; | |
42722 | ||
42723 | ||
42724 | ||
42725 | class __attribute__((visibility("default"))) QShortcutEvent : public QEvent | |
42726 | { | |
42727 | public: | |
42728 | QShortcutEvent(const QKeySequence &key, int id, bool ambiguous = false); | |
42729 | ~QShortcutEvent(); | |
42730 | ||
42731 | inline const QKeySequence &key() { return sequence; } | |
42732 | inline const QKeySequence &key() const { return sequence; } | |
42733 | inline int shortcutId() { return sid; } | |
42734 | inline int shortcutId() const { return sid; } | |
42735 | inline bool isAmbiguous() { return ambig; } | |
42736 | inline bool isAmbiguous() const { return ambig; } | |
42737 | protected: | |
42738 | QKeySequence sequence; | |
42739 | bool ambig; | |
42740 | int sid; | |
42741 | }; | |
42742 | ||
42743 | ||
42744 | ||
42745 | class __attribute__((visibility("default"))) QClipboardEvent : public QEvent | |
42746 | { | |
42747 | public: | |
42748 | QClipboardEvent(QEventPrivate *data); | |
42749 | ~QClipboardEvent(); | |
42750 | ||
42751 | QEventPrivate *data() { return d; }; | |
42752 | }; | |
42753 | ||
42754 | ||
42755 | class __attribute__((visibility("default"))) QWindowStateChangeEvent: public QEvent | |
42756 | { | |
42757 | public: | |
42758 | QWindowStateChangeEvent(Qt::WindowStates aOldState); | |
42759 | QWindowStateChangeEvent(Qt::WindowStates aOldState, bool isOverride); | |
42760 | ~QWindowStateChangeEvent(); | |
42761 | ||
42762 | inline Qt::WindowStates oldState() const { return ostate; } | |
42763 | bool isOverride() const; | |
42764 | ||
42765 | private: | |
42766 | Qt::WindowStates ostate; | |
42767 | }; | |
42768 | # 714 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qevent.h" | |
42769 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QEvent *); | |
42770 | ||
42771 | ||
42772 | ||
42773 | inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);} | |
42774 | inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);} | |
42775 | ||
42776 | ||
42777 | ||
42778 | ||
42779 | ||
42780 | # 1 "../../include/QtGui/qevent.h" 2 | |
42781 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
42782 | # 1 "../../include/QtGui/qtextformat.h" 1 | |
42783 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 1 | |
42784 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" | |
42785 | #define QTEXTFORMAT_H | |
42786 | ||
42787 | # 1 "../../include/QtGui/qcolor.h" 1 | |
42788 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
42789 | # 1 "../../include/QtGui/qfont.h" 1 | |
42790 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont.h" 1 | |
42791 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont.h" | |
42792 | #define QFONT_H | |
42793 | ||
42794 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
42795 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont.h" 2 | |
42796 | # 1 "../../include/QtCore/qstring.h" 1 | |
42797 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont.h" 2 | |
42798 | ||
42799 | ||
42800 | typedef struct FT_FaceRec_* FT_Face; | |
42801 | ||
42802 | ||
42803 | ||
42804 | ||
42805 | ||
42806 | ||
42807 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
42808 | ||
42809 | class QFontPrivate; | |
42810 | class QStringList; | |
42811 | class QVariant; | |
42812 | class Q3TextFormatCollection; | |
42813 | ||
42814 | class __attribute__((visibility("default"))) QFont | |
42815 | { | |
42816 | public: static const QMetaObject staticMetaObject; private: | |
42817 | ||
42818 | public: | |
42819 | enum StyleHint { | |
42820 | Helvetica, SansSerif = Helvetica, | |
42821 | Times, Serif = Times, | |
42822 | Courier, TypeWriter = Courier, | |
42823 | OldEnglish, Decorative = OldEnglish, | |
42824 | System, | |
42825 | AnyStyle | |
42826 | }; | |
42827 | ||
42828 | enum StyleStrategy { | |
42829 | PreferDefault = 0x0001, | |
42830 | PreferBitmap = 0x0002, | |
42831 | PreferDevice = 0x0004, | |
42832 | PreferOutline = 0x0008, | |
42833 | ForceOutline = 0x0010, | |
42834 | PreferMatch = 0x0020, | |
42835 | PreferQuality = 0x0040, | |
42836 | PreferAntialias = 0x0080, | |
42837 | NoAntialias = 0x0100, | |
42838 | OpenGLCompatible = 0x0200, | |
42839 | NoFontMerging = 0x8000 | |
42840 | }; | |
42841 | ||
42842 | enum Weight { | |
42843 | Light = 25, | |
42844 | Normal = 50, | |
42845 | DemiBold = 63, | |
42846 | Bold = 75, | |
42847 | Black = 87 | |
42848 | }; | |
42849 | ||
42850 | enum Style { | |
42851 | StyleNormal, | |
42852 | StyleItalic, | |
42853 | StyleOblique | |
42854 | }; | |
42855 | ||
42856 | enum Stretch { | |
42857 | UltraCondensed = 50, | |
42858 | ExtraCondensed = 62, | |
42859 | Condensed = 75, | |
42860 | SemiCondensed = 87, | |
42861 | Unstretched = 100, | |
42862 | SemiExpanded = 112, | |
42863 | Expanded = 125, | |
42864 | ExtraExpanded = 150, | |
42865 | UltraExpanded = 200 | |
42866 | }; | |
42867 | ||
42868 | enum Capitalization { | |
42869 | MixedCase, | |
42870 | AllUppercase, | |
42871 | AllLowercase, | |
42872 | SmallCaps, | |
42873 | Capitalize | |
42874 | }; | |
42875 | ||
42876 | enum SpacingType { | |
42877 | PercentageSpacing, | |
42878 | AbsoluteSpacing | |
42879 | }; | |
42880 | ||
42881 | enum ResolveProperties { | |
42882 | FamilyResolved = 0x0001, | |
42883 | SizeResolved = 0x0002, | |
42884 | StyleHintResolved = 0x0004, | |
42885 | StyleStrategyResolved = 0x0008, | |
42886 | WeightResolved = 0x0010, | |
42887 | StyleResolved = 0x0020, | |
42888 | UnderlineResolved = 0x0040, | |
42889 | OverlineResolved = 0x0080, | |
42890 | StrikeOutResolved = 0x0100, | |
42891 | FixedPitchResolved = 0x0200, | |
42892 | StretchResolved = 0x0400, | |
42893 | KerningResolved = 0x0800, | |
42894 | CapitalizationResolved = 0x1000, | |
42895 | LetterSpacingResolved = 0x2000, | |
42896 | WordSpacingResolved = 0x4000, | |
42897 | AllPropertiesResolved = 0x7fff | |
42898 | }; | |
42899 | ||
42900 | QFont(); | |
42901 | QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false); | |
42902 | QFont(const QFont &, QPaintDevice *pd); | |
42903 | QFont(const QFont &); | |
42904 | ~QFont(); | |
42905 | ||
42906 | QString family() const; | |
42907 | void setFamily(const QString &); | |
42908 | ||
42909 | int pointSize() const; | |
42910 | void setPointSize(int); | |
42911 | qreal pointSizeF() const; | |
42912 | void setPointSizeF(qreal); | |
42913 | ||
42914 | int pixelSize() const; | |
42915 | void setPixelSize(int); | |
42916 | ||
42917 | int weight() const; | |
42918 | void setWeight(int); | |
42919 | ||
42920 | inline bool bold() const; | |
42921 | inline void setBold(bool); | |
42922 | ||
42923 | void setStyle(Style style); | |
42924 | Style style() const; | |
42925 | ||
42926 | inline bool italic() const; | |
42927 | inline void setItalic(bool b); | |
42928 | ||
42929 | bool underline() const; | |
42930 | void setUnderline(bool); | |
42931 | ||
42932 | bool overline() const; | |
42933 | void setOverline(bool); | |
42934 | ||
42935 | bool strikeOut() const; | |
42936 | void setStrikeOut(bool); | |
42937 | ||
42938 | bool fixedPitch() const; | |
42939 | void setFixedPitch(bool); | |
42940 | ||
42941 | bool kerning() const; | |
42942 | void setKerning(bool); | |
42943 | ||
42944 | StyleHint styleHint() const; | |
42945 | StyleStrategy styleStrategy() const; | |
42946 | void setStyleHint(StyleHint, StyleStrategy = PreferDefault); | |
42947 | void setStyleStrategy(StyleStrategy s); | |
42948 | ||
42949 | int stretch() const; | |
42950 | void setStretch(int); | |
42951 | ||
42952 | qreal letterSpacing() const; | |
42953 | SpacingType letterSpacingType() const; | |
42954 | void setLetterSpacing(SpacingType type, qreal spacing); | |
42955 | ||
42956 | qreal wordSpacing() const; | |
42957 | void setWordSpacing(qreal spacing); | |
42958 | ||
42959 | void setCapitalization(Capitalization); | |
42960 | Capitalization capitalization() const; | |
42961 | ||
42962 | ||
42963 | bool rawMode() const; | |
42964 | void setRawMode(bool); | |
42965 | ||
42966 | ||
42967 | bool exactMatch() const; | |
42968 | ||
42969 | QFont &operator=(const QFont &); | |
42970 | bool operator==(const QFont &) const; | |
42971 | bool operator!=(const QFont &) const; | |
42972 | bool operator<(const QFont &) const; | |
42973 | operator QVariant() const; | |
42974 | bool isCopyOf(const QFont &) const; | |
42975 | ||
42976 | ||
42977 | ||
42978 | ||
42979 | ||
42980 | Qt::HANDLE handle() const; | |
42981 | ||
42982 | ||
42983 | ||
42984 | ||
42985 | ||
42986 | FT_Face freetypeFace() const; | |
42987 | ||
42988 | ||
42989 | ||
42990 | void setRawName(const QString &); | |
42991 | QString rawName() const; | |
42992 | ||
42993 | QString key() const; | |
42994 | ||
42995 | QString toString() const; | |
42996 | bool fromString(const QString &); | |
42997 | ||
42998 | static QString substitute(const QString &); | |
42999 | static QStringList substitutes(const QString &); | |
43000 | static QStringList substitutions(); | |
43001 | static void insertSubstitution(const QString&, const QString &); | |
43002 | static void insertSubstitutions(const QString&, const QStringList &); | |
43003 | static void removeSubstitution(const QString &); | |
43004 | static void initialize(); | |
43005 | static void cleanup(); | |
43006 | ||
43007 | ||
43008 | ||
43009 | ||
43010 | QString defaultFamily() const; | |
43011 | QString lastResortFamily() const; | |
43012 | QString lastResortFont() const; | |
43013 | ||
43014 | QFont resolve(const QFont &) const; | |
43015 | inline uint resolve() const { return resolve_mask; } | |
43016 | inline void resolve(uint mask) { resolve_mask = mask; } | |
43017 | # 275 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont.h" | |
43018 | private: | |
43019 | QFont(QFontPrivate *); | |
43020 | ||
43021 | void detach(); | |
43022 | # 287 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont.h" | |
43023 | friend class QFontPrivate; | |
43024 | friend class QFontDialogPrivate; | |
43025 | friend class QFontMetrics; | |
43026 | friend class QFontMetricsF; | |
43027 | friend class QFontInfo; | |
43028 | friend class QPainter; | |
43029 | friend class QPSPrintEngineFont; | |
43030 | friend class QApplication; | |
43031 | friend class QWidget; | |
43032 | friend class QWidgetPrivate; | |
43033 | friend class Q3TextFormatCollection; | |
43034 | friend class QTextLayout; | |
43035 | friend class QTextEngine; | |
43036 | friend class QStackTextEngine; | |
43037 | friend class QTextLine; | |
43038 | friend struct QScriptLine; | |
43039 | friend class QGLContext; | |
43040 | friend class QWin32PaintEngine; | |
43041 | friend class QAlphaPaintEngine; | |
43042 | friend class QPainterPath; | |
43043 | friend class QTextItemInt; | |
43044 | friend class QPicturePaintEngine; | |
43045 | ||
43046 | ||
43047 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QFont &); | |
43048 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QFont &); | |
43049 | ||
43050 | ||
43051 | QFontPrivate *d; | |
43052 | uint resolve_mask; | |
43053 | }; | |
43054 | ||
43055 | ||
43056 | inline bool QFont::bold() const | |
43057 | { return weight() > Normal; } | |
43058 | ||
43059 | ||
43060 | inline void QFont::setBold(bool enable) | |
43061 | { setWeight(enable ? Bold : Normal); } | |
43062 | ||
43063 | inline bool QFont::italic() const | |
43064 | { | |
43065 | return (style() != StyleNormal); | |
43066 | } | |
43067 | ||
43068 | inline void QFont::setItalic(bool b) { | |
43069 | setStyle(b ? StyleItalic : StyleNormal); | |
43070 | } | |
43071 | ||
43072 | ||
43073 | ||
43074 | ||
43075 | ||
43076 | ||
43077 | ||
43078 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QFont &); | |
43079 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QFont &); | |
43080 | ||
43081 | ||
43082 | ||
43083 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QFont &); | |
43084 | ||
43085 | ||
43086 | ||
43087 | ||
43088 | ||
43089 | # 1 "../../include/QtGui/qfont.h" 2 | |
43090 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
43091 | # 1 "../../include/QtCore/qshareddata.h" 1 | |
43092 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qshareddata.h" 1 | |
43093 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qshareddata.h" | |
43094 | #define QSHAREDDATA_H | |
43095 | ||
43096 | # 1 "../../include/QtCore/qglobal.h" 1 | |
43097 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qshareddata.h" 2 | |
43098 | # 1 "../../include/QtCore/qatomic.h" 1 | |
43099 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qshareddata.h" 2 | |
43100 | ||
43101 | ||
43102 | ||
43103 | ||
43104 | ||
43105 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
43106 | ||
43107 | template <class T> class QSharedDataPointer; | |
43108 | ||
43109 | class __attribute__((visibility("default"))) QSharedData | |
43110 | { | |
43111 | public: | |
43112 | mutable QAtomicInt ref; | |
43113 | ||
43114 | inline QSharedData() : ref(0) { } | |
43115 | inline QSharedData(const QSharedData &) : ref(0) { } | |
43116 | ||
43117 | private: | |
43118 | ||
43119 | QSharedData &operator=(const QSharedData &); | |
43120 | }; | |
43121 | ||
43122 | template <class T> class QSharedDataPointer | |
43123 | { | |
43124 | public: | |
43125 | inline void detach() { if (d && d->ref != 1) detach_helper(); } | |
43126 | inline T &operator*() { detach(); return *d; } | |
43127 | inline const T &operator*() const { return *d; } | |
43128 | inline T *operator->() { detach(); return d; } | |
43129 | inline const T *operator->() const { return d; } | |
43130 | inline operator T *() { detach(); return d; } | |
43131 | inline operator const T *() const { return d; } | |
43132 | inline T *data() { detach(); return d; } | |
43133 | inline const T *data() const { return d; } | |
43134 | inline const T *constData() const { return d; } | |
43135 | ||
43136 | inline bool operator==(const QSharedDataPointer<T> &other) const { return d == other.d; } | |
43137 | inline bool operator!=(const QSharedDataPointer<T> &other) const { return d != other.d; } | |
43138 | ||
43139 | inline QSharedDataPointer() { d = 0; } | |
43140 | inline ~QSharedDataPointer() { if (d && !d->ref.deref()) delete d; } | |
43141 | ||
43142 | explicit QSharedDataPointer(T *data); | |
43143 | inline QSharedDataPointer(const QSharedDataPointer<T> &o) : d(o.d) { if (d) d->ref.ref(); } | |
43144 | inline QSharedDataPointer<T> & operator=(const QSharedDataPointer<T> &o) { | |
43145 | if (o.d != d) { | |
43146 | if (o.d) | |
43147 | o.d->ref.ref(); | |
43148 | if (d && !d->ref.deref()) | |
43149 | delete d; | |
43150 | d = o.d; | |
43151 | } | |
43152 | return *this; | |
43153 | } | |
43154 | inline QSharedDataPointer &operator=(T *o) { | |
43155 | if (o != d) { | |
43156 | if (o) | |
43157 | o->ref.ref(); | |
43158 | if (d && !d->ref.deref()) | |
43159 | delete d; | |
43160 | d = o; | |
43161 | } | |
43162 | return *this; | |
43163 | } | |
43164 | ||
43165 | inline bool operator!() const { return !d; } | |
43166 | ||
43167 | protected: | |
43168 | T *clone(); | |
43169 | ||
43170 | private: | |
43171 | void detach_helper(); | |
43172 | ||
43173 | T *d; | |
43174 | }; | |
43175 | ||
43176 | template <class T> class QExplicitlySharedDataPointer | |
43177 | { | |
43178 | public: | |
43179 | typedef T Type; | |
43180 | ||
43181 | inline T &operator*() const { return *d; } | |
43182 | inline T *operator->() { return d; } | |
43183 | inline T *operator->() const { return d; } | |
43184 | inline T *data() const { return d; } | |
43185 | inline const T *constData() const { return d; } | |
43186 | ||
43187 | inline void detach() { if (d && d->ref != 1) detach_helper(); } | |
43188 | ||
43189 | inline void reset() | |
43190 | { | |
43191 | if(d && !d->ref.deref()) | |
43192 | delete d; | |
43193 | ||
43194 | d = 0; | |
43195 | } | |
43196 | ||
43197 | inline operator bool () const { return d != 0; } | |
43198 | ||
43199 | inline bool operator==(const QExplicitlySharedDataPointer<T> &other) const { return d == other.d; } | |
43200 | inline bool operator!=(const QExplicitlySharedDataPointer<T> &other) const { return d != other.d; } | |
43201 | inline bool operator==(const T *ptr) const { return d == ptr; } | |
43202 | inline bool operator!=(const T *ptr) const { return d != ptr; } | |
43203 | ||
43204 | inline QExplicitlySharedDataPointer() { d = 0; } | |
43205 | inline ~QExplicitlySharedDataPointer() { if (d && !d->ref.deref()) delete d; } | |
43206 | ||
43207 | explicit QExplicitlySharedDataPointer(T *data); | |
43208 | inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer<T> &o) : d(o.d) { if (d) d->ref.ref(); } | |
43209 | ||
43210 | ||
43211 | template<class X> | |
43212 | inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer<X> &o) : d(static_cast<T *>(o.data())) | |
43213 | { | |
43214 | if(d) | |
43215 | d->ref.ref(); | |
43216 | } | |
43217 | ||
43218 | ||
43219 | inline QExplicitlySharedDataPointer<T> & operator=(const QExplicitlySharedDataPointer<T> &o) { | |
43220 | if (o.d != d) { | |
43221 | if (o.d) | |
43222 | o.d->ref.ref(); | |
43223 | if (d && !d->ref.deref()) | |
43224 | delete d; | |
43225 | d = o.d; | |
43226 | } | |
43227 | return *this; | |
43228 | } | |
43229 | inline QExplicitlySharedDataPointer &operator=(T *o) { | |
43230 | if (o != d) { | |
43231 | if (o) | |
43232 | o->ref.ref(); | |
43233 | if (d && !d->ref.deref()) | |
43234 | delete d; | |
43235 | d = o; | |
43236 | } | |
43237 | return *this; | |
43238 | } | |
43239 | ||
43240 | inline bool operator!() const { return !d; } | |
43241 | ||
43242 | protected: | |
43243 | T *clone(); | |
43244 | ||
43245 | private: | |
43246 | void detach_helper(); | |
43247 | ||
43248 | T *d; | |
43249 | }; | |
43250 | ||
43251 | template <class T> | |
43252 | inline QSharedDataPointer<T>::QSharedDataPointer(T *adata) : d(adata) | |
43253 | { if (d) d->ref.ref(); } | |
43254 | ||
43255 | template <class T> | |
43256 | inline T *QSharedDataPointer<T>::clone() | |
43257 | { | |
43258 | return new T(*d); | |
43259 | } | |
43260 | ||
43261 | template <class T> | |
43262 | void QSharedDataPointer<T>::detach_helper() | |
43263 | { | |
43264 | T *x = clone(); | |
43265 | x->ref.ref(); | |
43266 | if (!d->ref.deref()) | |
43267 | delete d; | |
43268 | d = x; | |
43269 | } | |
43270 | ||
43271 | template <class T> | |
43272 | inline T *QExplicitlySharedDataPointer<T>::clone() | |
43273 | { | |
43274 | return new T(*d); | |
43275 | } | |
43276 | ||
43277 | template <class T> | |
43278 | void QExplicitlySharedDataPointer<T>::detach_helper() | |
43279 | { | |
43280 | T *x = clone(); | |
43281 | x->ref.ref(); | |
43282 | if (!d->ref.deref()) | |
43283 | delete d; | |
43284 | d = x; | |
43285 | } | |
43286 | ||
43287 | template <class T> | |
43288 | inline QExplicitlySharedDataPointer<T>::QExplicitlySharedDataPointer(T *adata) : d(adata) | |
43289 | { if (d) d->ref.ref(); } | |
43290 | ||
43291 | ||
43292 | ||
43293 | ||
43294 | # 1 "../../include/QtCore/qshareddata.h" 2 | |
43295 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
43296 | # 1 "../../include/QtCore/qvector.h" 1 | |
43297 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
43298 | # 1 "../../include/QtCore/qvariant.h" 1 | |
43299 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
43300 | # 1 "../../include/QtGui/qpen.h" 1 | |
43301 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpen.h" 1 | |
43302 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpen.h" | |
43303 | #define QPEN_H | |
43304 | ||
43305 | # 1 "../../include/QtGui/qcolor.h" 1 | |
43306 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpen.h" 2 | |
43307 | # 1 "../../include/QtGui/qbrush.h" 1 | |
43308 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 1 | |
43309 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" | |
43310 | #define QBRUSH_H | |
43311 | ||
43312 | # 1 "../../include/QtCore/qpair.h" 1 | |
43313 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
43314 | # 1 "../../include/QtCore/qpoint.h" 1 | |
43315 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
43316 | # 1 "../../include/QtCore/qvector.h" 1 | |
43317 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
43318 | # 1 "../../include/QtGui/qcolor.h" 1 | |
43319 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
43320 | # 1 "../../include/QtGui/qmatrix.h" 1 | |
43321 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" 1 | |
43322 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" | |
43323 | #define QMATRIX_H | |
43324 | ||
43325 | # 1 "../../include/QtGui/qpolygon.h" 1 | |
43326 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpolygon.h" 1 | |
43327 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpolygon.h" | |
43328 | #define QPOLYGON_H | |
43329 | ||
43330 | # 1 "../../include/QtCore/qvector.h" 1 | |
43331 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpolygon.h" 2 | |
43332 | # 1 "../../include/QtCore/qpoint.h" 1 | |
43333 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpolygon.h" 2 | |
43334 | # 1 "../../include/QtCore/qrect.h" 1 | |
43335 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpolygon.h" 2 | |
43336 | ||
43337 | ||
43338 | ||
43339 | ||
43340 | ||
43341 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
43342 | ||
43343 | class QMatrix; | |
43344 | class QTransform; | |
43345 | class QRect; | |
43346 | class QVariant; | |
43347 | ||
43348 | class __attribute__((visibility("default"))) QPolygon : public QVector<QPoint> | |
43349 | { | |
43350 | public: | |
43351 | inline QPolygon() {} | |
43352 | inline ~QPolygon() {} | |
43353 | inline QPolygon(int size); | |
43354 | inline QPolygon(const QPolygon &a) : QVector<QPoint>(a) {} | |
43355 | inline QPolygon(const QVector<QPoint> &v) : QVector<QPoint>(v) {} | |
43356 | QPolygon(const QRect &r, bool closed=false); | |
43357 | QPolygon(int nPoints, const int *points); | |
43358 | operator QVariant() const; | |
43359 | ||
43360 | void translate(int dx, int dy); | |
43361 | void translate(const QPoint &offset); | |
43362 | QRect boundingRect() const; | |
43363 | ||
43364 | void point(int i, int *x, int *y) const; | |
43365 | QPoint point(int i) const; | |
43366 | void setPoint(int index, int x, int y); | |
43367 | void setPoint(int index, const QPoint &p); | |
43368 | void setPoints(int nPoints, const int *points); | |
43369 | void setPoints(int nPoints, int firstx, int firsty, ...); | |
43370 | void putPoints(int index, int nPoints, const int *points); | |
43371 | void putPoints(int index, int nPoints, int firstx, int firsty, ...); | |
43372 | void putPoints(int index, int nPoints, const QPolygon & from, int fromIndex=0); | |
43373 | ||
43374 | bool containsPoint(const QPoint &pt, Qt::FillRule fillRule) const; | |
43375 | ||
43376 | QPolygon united(const QPolygon &r) const; | |
43377 | QPolygon intersected(const QPolygon &r) const; | |
43378 | QPolygon subtracted(const QPolygon &r) const; | |
43379 | }; | |
43380 | ||
43381 | inline QPolygon::QPolygon(int asize) : QVector<QPoint>(asize) {} | |
43382 | ||
43383 | ||
43384 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPolygon &); | |
43385 | ||
43386 | ||
43387 | ||
43388 | ||
43389 | ||
43390 | ||
43391 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon); | |
43392 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &stream, QPolygon &polygon); | |
43393 | ||
43394 | ||
43395 | ||
43396 | ||
43397 | ||
43398 | ||
43399 | inline void QPolygon::setPoint(int index, const QPoint &pt) | |
43400 | { (*this)[index] = pt; } | |
43401 | ||
43402 | inline void QPolygon::setPoint(int index, int x, int y) | |
43403 | { (*this)[index] = QPoint(x, y); } | |
43404 | ||
43405 | inline QPoint QPolygon::point(int index) const | |
43406 | { return at(index); } | |
43407 | ||
43408 | inline void QPolygon::translate(const QPoint &offset) | |
43409 | { translate(offset.x(), offset.y()); } | |
43410 | ||
43411 | class QRectF; | |
43412 | ||
43413 | class __attribute__((visibility("default"))) QPolygonF : public QVector<QPointF> | |
43414 | { | |
43415 | public: | |
43416 | inline QPolygonF() {} | |
43417 | inline ~QPolygonF() {} | |
43418 | inline QPolygonF(int size); | |
43419 | inline QPolygonF(const QPolygonF &a) : QVector<QPointF>(a) {} | |
43420 | inline QPolygonF(const QVector<QPointF> &v) : QVector<QPointF>(v) {} | |
43421 | QPolygonF(const QRectF &r); | |
43422 | QPolygonF(const QPolygon &a); | |
43423 | ||
43424 | inline void translate(qreal dx, qreal dy); | |
43425 | void translate(const QPointF &offset); | |
43426 | ||
43427 | QPolygon toPolygon() const; | |
43428 | ||
43429 | bool isClosed() const { return !isEmpty() && first() == last(); } | |
43430 | ||
43431 | QRectF boundingRect() const; | |
43432 | ||
43433 | bool containsPoint(const QPointF &pt, Qt::FillRule fillRule) const; | |
43434 | ||
43435 | QPolygonF united(const QPolygonF &r) const; | |
43436 | QPolygonF intersected(const QPolygonF &r) const; | |
43437 | QPolygonF subtracted(const QPolygonF &r) const; | |
43438 | }; | |
43439 | ||
43440 | inline QPolygonF::QPolygonF(int asize) : QVector<QPointF>(asize) {} | |
43441 | ||
43442 | ||
43443 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPolygonF &); | |
43444 | ||
43445 | ||
43446 | ||
43447 | ||
43448 | ||
43449 | ||
43450 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &stream, const QPolygonF &array); | |
43451 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &stream, QPolygonF &array); | |
43452 | ||
43453 | ||
43454 | inline void QPolygonF::translate(qreal dx, qreal dy) | |
43455 | { translate(QPointF(dx, dy)); } | |
43456 | ||
43457 | ||
43458 | ||
43459 | ||
43460 | # 1 "../../include/QtGui/qpolygon.h" 2 | |
43461 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" 2 | |
43462 | # 1 "../../include/QtGui/qregion.h" 1 | |
43463 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" 2 | |
43464 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
43465 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" 2 | |
43466 | # 1 "../../include/QtCore/qline.h" 1 | |
43467 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qline.h" 1 | |
43468 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qline.h" | |
43469 | #define QLINE_H | |
43470 | ||
43471 | # 1 "../../include/QtCore/qpoint.h" 1 | |
43472 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qline.h" 2 | |
43473 | ||
43474 | ||
43475 | ||
43476 | ||
43477 | ||
43478 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
43479 | ||
43480 | ||
43481 | ||
43482 | ||
43483 | ||
43484 | class __attribute__((visibility("default"))) QLine | |
43485 | { | |
43486 | public: | |
43487 | inline QLine(); | |
43488 | inline QLine(const QPoint &pt1, const QPoint &pt2); | |
43489 | inline QLine(int x1, int y1, int x2, int y2); | |
43490 | ||
43491 | inline bool isNull() const; | |
43492 | ||
43493 | inline QPoint p1() const; | |
43494 | inline QPoint p2() const; | |
43495 | ||
43496 | inline int x1() const; | |
43497 | inline int y1() const; | |
43498 | ||
43499 | inline int x2() const; | |
43500 | inline int y2() const; | |
43501 | ||
43502 | inline int dx() const; | |
43503 | inline int dy() const; | |
43504 | ||
43505 | inline void translate(const QPoint &p); | |
43506 | inline void translate(int dx, int dy); | |
43507 | ||
43508 | inline QLine translated(const QPoint &p) const; | |
43509 | inline QLine translated(int dx, int dy) const; | |
43510 | ||
43511 | inline void setP1(const QPoint &p1); | |
43512 | inline void setP2(const QPoint &p2); | |
43513 | inline void setPoints(const QPoint &p1, const QPoint &p2); | |
43514 | inline void setLine(int x1, int y1, int x2, int y2); | |
43515 | ||
43516 | inline bool operator==(const QLine &d) const; | |
43517 | inline bool operator!=(const QLine &d) const { return !(*this == d); } | |
43518 | ||
43519 | private: | |
43520 | QPoint pt1, pt2; | |
43521 | }; | |
43522 | template <> class QTypeInfo<QLine> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QLine)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QLine"; } }; | |
43523 | ||
43524 | ||
43525 | ||
43526 | ||
43527 | ||
43528 | inline QLine::QLine() { } | |
43529 | ||
43530 | inline QLine::QLine(const QPoint &pt1_, const QPoint &pt2_) : pt1(pt1_), pt2(pt2_) { } | |
43531 | ||
43532 | inline QLine::QLine(int x1pos, int y1pos, int x2pos, int y2pos) : pt1(QPoint(x1pos, y1pos)), pt2(QPoint(x2pos, y2pos)) { } | |
43533 | ||
43534 | inline bool QLine::isNull() const | |
43535 | { | |
43536 | return pt1 == pt2; | |
43537 | } | |
43538 | ||
43539 | inline int QLine::x1() const | |
43540 | { | |
43541 | return pt1.x(); | |
43542 | } | |
43543 | ||
43544 | inline int QLine::y1() const | |
43545 | { | |
43546 | return pt1.y(); | |
43547 | } | |
43548 | ||
43549 | inline int QLine::x2() const | |
43550 | { | |
43551 | return pt2.x(); | |
43552 | } | |
43553 | ||
43554 | inline int QLine::y2() const | |
43555 | { | |
43556 | return pt2.y(); | |
43557 | } | |
43558 | ||
43559 | inline QPoint QLine::p1() const | |
43560 | { | |
43561 | return pt1; | |
43562 | } | |
43563 | ||
43564 | inline QPoint QLine::p2() const | |
43565 | { | |
43566 | return pt2; | |
43567 | } | |
43568 | ||
43569 | inline int QLine::dx() const | |
43570 | { | |
43571 | return pt2.x() - pt1.x(); | |
43572 | } | |
43573 | ||
43574 | inline int QLine::dy() const | |
43575 | { | |
43576 | return pt2.y() - pt1.y(); | |
43577 | } | |
43578 | ||
43579 | inline void QLine::translate(const QPoint &point) | |
43580 | { | |
43581 | pt1 += point; | |
43582 | pt2 += point; | |
43583 | } | |
43584 | ||
43585 | inline void QLine::translate(int adx, int ady) | |
43586 | { | |
43587 | this->translate(QPoint(adx, ady)); | |
43588 | } | |
43589 | ||
43590 | inline QLine QLine::translated(const QPoint &p) const | |
43591 | { | |
43592 | return QLine(pt1 + p, pt2 + p); | |
43593 | } | |
43594 | ||
43595 | inline QLine QLine::translated(int adx, int ady) const | |
43596 | { | |
43597 | return translated(QPoint(adx, ady)); | |
43598 | } | |
43599 | ||
43600 | inline void QLine::setP1(const QPoint &aP1) | |
43601 | { | |
43602 | pt1 = aP1; | |
43603 | } | |
43604 | ||
43605 | inline void QLine::setP2(const QPoint &aP2) | |
43606 | { | |
43607 | pt2 = aP2; | |
43608 | } | |
43609 | ||
43610 | inline void QLine::setPoints(const QPoint &aP1, const QPoint &aP2) | |
43611 | { | |
43612 | pt1 = aP1; | |
43613 | pt2 = aP2; | |
43614 | } | |
43615 | ||
43616 | inline void QLine::setLine(int aX1, int aY1, int aX2, int aY2) | |
43617 | { | |
43618 | pt1 = QPoint(aX1, aY1); | |
43619 | pt2 = QPoint(aX2, aY2); | |
43620 | } | |
43621 | ||
43622 | inline bool QLine::operator==(const QLine &d) const | |
43623 | { | |
43624 | return pt1 == d.pt1 && pt2 == d.pt2; | |
43625 | } | |
43626 | ||
43627 | ||
43628 | __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QLine &p); | |
43629 | ||
43630 | ||
43631 | ||
43632 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLine &); | |
43633 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLine &); | |
43634 | ||
43635 | ||
43636 | ||
43637 | ||
43638 | ||
43639 | class __attribute__((visibility("default"))) QLineF { | |
43640 | public: | |
43641 | ||
43642 | enum IntersectType { NoIntersection, BoundedIntersection, UnboundedIntersection }; | |
43643 | ||
43644 | inline QLineF(); | |
43645 | inline QLineF(const QPointF &pt1, const QPointF &pt2); | |
43646 | inline QLineF(qreal x1, qreal y1, qreal x2, qreal y2); | |
43647 | inline QLineF(const QLine &line) : pt1(line.p1()), pt2(line.p2()) { } | |
43648 | ||
43649 | static QLineF fromPolar(qreal length, qreal angle); | |
43650 | ||
43651 | bool isNull() const; | |
43652 | ||
43653 | inline QPointF p1() const; | |
43654 | inline QPointF p2() const; | |
43655 | ||
43656 | inline qreal x1() const; | |
43657 | inline qreal y1() const; | |
43658 | ||
43659 | inline qreal x2() const; | |
43660 | inline qreal y2() const; | |
43661 | ||
43662 | inline qreal dx() const; | |
43663 | inline qreal dy() const; | |
43664 | ||
43665 | qreal length() const; | |
43666 | void setLength(qreal len); | |
43667 | ||
43668 | qreal angle() const; | |
43669 | void setAngle(qreal angle); | |
43670 | ||
43671 | qreal angleTo(const QLineF &l) const; | |
43672 | ||
43673 | QLineF unitVector() const; | |
43674 | QLineF normalVector() const; | |
43675 | ||
43676 | ||
43677 | IntersectType intersect(const QLineF &l, QPointF *intersectionPoint) const; | |
43678 | ||
43679 | qreal angle(const QLineF &l) const; | |
43680 | ||
43681 | QPointF pointAt(qreal t) const; | |
43682 | inline void translate(const QPointF &p); | |
43683 | inline void translate(qreal dx, qreal dy); | |
43684 | ||
43685 | inline QLineF translated(const QPointF &p) const; | |
43686 | inline QLineF translated(qreal dx, qreal dy) const; | |
43687 | ||
43688 | inline void setP1(const QPointF &p1); | |
43689 | inline void setP2(const QPointF &p2); | |
43690 | inline void setPoints(const QPointF &p1, const QPointF &p2); | |
43691 | inline void setLine(qreal x1, qreal y1, qreal x2, qreal y2); | |
43692 | ||
43693 | inline bool operator==(const QLineF &d) const; | |
43694 | inline bool operator!=(const QLineF &d) const { return !(*this == d); } | |
43695 | ||
43696 | QLine toLine() const; | |
43697 | ||
43698 | private: | |
43699 | QPointF pt1, pt2; | |
43700 | }; | |
43701 | template <> class QTypeInfo<QLineF> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QLineF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QLineF"; } }; | |
43702 | ||
43703 | ||
43704 | ||
43705 | ||
43706 | ||
43707 | inline QLineF::QLineF() | |
43708 | { | |
43709 | } | |
43710 | ||
43711 | inline QLineF::QLineF(const QPointF &apt1, const QPointF &apt2) | |
43712 | : pt1(apt1), pt2(apt2) | |
43713 | { | |
43714 | } | |
43715 | ||
43716 | inline QLineF::QLineF(qreal x1pos, qreal y1pos, qreal x2pos, qreal y2pos) | |
43717 | : pt1(x1pos, y1pos), pt2(x2pos, y2pos) | |
43718 | { | |
43719 | } | |
43720 | ||
43721 | inline qreal QLineF::x1() const | |
43722 | { | |
43723 | return pt1.x(); | |
43724 | } | |
43725 | ||
43726 | inline qreal QLineF::y1() const | |
43727 | { | |
43728 | return pt1.y(); | |
43729 | } | |
43730 | ||
43731 | inline qreal QLineF::x2() const | |
43732 | { | |
43733 | return pt2.x(); | |
43734 | } | |
43735 | ||
43736 | inline qreal QLineF::y2() const | |
43737 | { | |
43738 | return pt2.y(); | |
43739 | } | |
43740 | ||
43741 | inline QPointF QLineF::p1() const | |
43742 | { | |
43743 | return pt1; | |
43744 | } | |
43745 | ||
43746 | inline QPointF QLineF::p2() const | |
43747 | { | |
43748 | return pt2; | |
43749 | } | |
43750 | ||
43751 | inline qreal QLineF::dx() const | |
43752 | { | |
43753 | return pt2.x() - pt1.x(); | |
43754 | } | |
43755 | ||
43756 | inline qreal QLineF::dy() const | |
43757 | { | |
43758 | return pt2.y() - pt1.y(); | |
43759 | } | |
43760 | ||
43761 | inline QLineF QLineF::normalVector() const | |
43762 | { | |
43763 | return QLineF(p1(), p1() + QPointF(dy(), -dx())); | |
43764 | } | |
43765 | ||
43766 | inline void QLineF::translate(const QPointF &point) | |
43767 | { | |
43768 | pt1 += point; | |
43769 | pt2 += point; | |
43770 | } | |
43771 | ||
43772 | inline void QLineF::translate(qreal adx, qreal ady) | |
43773 | { | |
43774 | this->translate(QPointF(adx, ady)); | |
43775 | } | |
43776 | ||
43777 | inline QLineF QLineF::translated(const QPointF &p) const | |
43778 | { | |
43779 | return QLineF(pt1 + p, pt2 + p); | |
43780 | } | |
43781 | ||
43782 | inline QLineF QLineF::translated(qreal adx, qreal ady) const | |
43783 | { | |
43784 | return translated(QPointF(adx, ady)); | |
43785 | } | |
43786 | ||
43787 | inline void QLineF::setLength(qreal len) | |
43788 | { | |
43789 | if (isNull()) | |
43790 | return; | |
43791 | QLineF v = unitVector(); | |
43792 | pt2 = QPointF(pt1.x() + v.dx() * len, pt1.y() + v.dy() * len); | |
43793 | } | |
43794 | ||
43795 | inline QPointF QLineF::pointAt(qreal t) const | |
43796 | { | |
43797 | qreal vx = pt2.x() - pt1.x(); | |
43798 | qreal vy = pt2.y() - pt1.y(); | |
43799 | return QPointF(pt1.x() + vx * t, pt1.y() + vy * t); | |
43800 | } | |
43801 | ||
43802 | inline QLine QLineF::toLine() const | |
43803 | { | |
43804 | return QLine(pt1.toPoint(), pt2.toPoint()); | |
43805 | } | |
43806 | ||
43807 | ||
43808 | inline void QLineF::setP1(const QPointF &aP1) | |
43809 | { | |
43810 | pt1 = aP1; | |
43811 | } | |
43812 | ||
43813 | inline void QLineF::setP2(const QPointF &aP2) | |
43814 | { | |
43815 | pt2 = aP2; | |
43816 | } | |
43817 | ||
43818 | inline void QLineF::setPoints(const QPointF &aP1, const QPointF &aP2) | |
43819 | { | |
43820 | pt1 = aP1; | |
43821 | pt2 = aP2; | |
43822 | } | |
43823 | ||
43824 | inline void QLineF::setLine(qreal aX1, qreal aY1, qreal aX2, qreal aY2) | |
43825 | { | |
43826 | pt1 = QPointF(aX1, aY1); | |
43827 | pt2 = QPointF(aX2, aY2); | |
43828 | } | |
43829 | ||
43830 | ||
43831 | inline bool QLineF::operator==(const QLineF &d) const | |
43832 | { | |
43833 | return pt1 == d.pt1 && pt2 == d.pt2; | |
43834 | } | |
43835 | ||
43836 | ||
43837 | ||
43838 | ||
43839 | __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QLineF &p); | |
43840 | ||
43841 | ||
43842 | ||
43843 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLineF &); | |
43844 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLineF &); | |
43845 | ||
43846 | ||
43847 | ||
43848 | ||
43849 | ||
43850 | # 1 "../../include/QtCore/qline.h" 2 | |
43851 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" 2 | |
43852 | # 1 "../../include/QtCore/qpoint.h" 1 | |
43853 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" 2 | |
43854 | # 1 "../../include/QtCore/qrect.h" 1 | |
43855 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" 2 | |
43856 | ||
43857 | ||
43858 | ||
43859 | ||
43860 | ||
43861 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
43862 | ||
43863 | class QPainterPath; | |
43864 | class QVariant; | |
43865 | ||
43866 | class __attribute__((visibility("default"))) QMatrix | |
43867 | { | |
43868 | public: | |
43869 | QMatrix(); | |
43870 | QMatrix(qreal m11, qreal m12, qreal m21, qreal m22, | |
43871 | qreal dx, qreal dy); | |
43872 | QMatrix(const QMatrix &matrix); | |
43873 | ||
43874 | void setMatrix(qreal m11, qreal m12, qreal m21, qreal m22, | |
43875 | qreal dx, qreal dy); | |
43876 | ||
43877 | qreal m11() const { return _m11; } | |
43878 | qreal m12() const { return _m12; } | |
43879 | qreal m21() const { return _m21; } | |
43880 | qreal m22() const { return _m22; } | |
43881 | qreal dx() const { return _dx; } | |
43882 | qreal dy() const { return _dy; } | |
43883 | ||
43884 | void map(int x, int y, int *tx, int *ty) const; | |
43885 | void map(qreal x, qreal y, qreal *tx, qreal *ty) const; | |
43886 | QRect mapRect(const QRect &) const; | |
43887 | QRectF mapRect(const QRectF &) const; | |
43888 | ||
43889 | QPoint map(const QPoint &p) const; | |
43890 | QPointF map(const QPointF&p) const; | |
43891 | QLine map(const QLine &l) const; | |
43892 | QLineF map(const QLineF &l) const; | |
43893 | QPolygonF map(const QPolygonF &a) const; | |
43894 | QPolygon map(const QPolygon &a) const; | |
43895 | QRegion map(const QRegion &r) const; | |
43896 | QPainterPath map(const QPainterPath &p) const; | |
43897 | QPolygon mapToPolygon(const QRect &r) const; | |
43898 | ||
43899 | void reset(); | |
43900 | inline bool isIdentity() const; | |
43901 | ||
43902 | QMatrix &translate(qreal dx, qreal dy); | |
43903 | QMatrix &scale(qreal sx, qreal sy); | |
43904 | QMatrix &shear(qreal sh, qreal sv); | |
43905 | QMatrix &rotate(qreal a); | |
43906 | ||
43907 | bool isInvertible() const { return !qFuzzyCompare(_m11*_m22 - _m12*_m21 + 1, 1); } | |
43908 | qreal det() const { return _m11*_m22 - _m12*_m21; } | |
43909 | ||
43910 | QMatrix inverted(bool *invertible = 0) const; | |
43911 | ||
43912 | bool operator==(const QMatrix &) const; | |
43913 | bool operator!=(const QMatrix &) const; | |
43914 | ||
43915 | QMatrix &operator*=(const QMatrix &); | |
43916 | QMatrix operator*(const QMatrix &o) const; | |
43917 | ||
43918 | QMatrix &operator=(const QMatrix &); | |
43919 | ||
43920 | operator QVariant() const; | |
43921 | ||
43922 | ||
43923 | ||
43924 | ||
43925 | ||
43926 | ||
43927 | ||
43928 | private: | |
43929 | friend class QTransform; | |
43930 | qreal _m11, _m12; | |
43931 | qreal _m21, _m22; | |
43932 | qreal _dx, _dy; | |
43933 | }; | |
43934 | template <> class QTypeInfo<QMatrix> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QMatrix)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QMatrix"; } }; | |
43935 | ||
43936 | ||
43937 | __attribute__((visibility("default"))) inline QPoint operator*(const QPoint &p, const QMatrix &m) | |
43938 | { return m.map(p); } | |
43939 | __attribute__((visibility("default"))) inline QPointF operator*(const QPointF &p, const QMatrix &m) | |
43940 | { return m.map(p); } | |
43941 | __attribute__((visibility("default"))) inline QLineF operator*(const QLineF &l, const QMatrix &m) | |
43942 | { return m.map(l); } | |
43943 | __attribute__((visibility("default"))) inline QLine operator*(const QLine &l, const QMatrix &m) | |
43944 | { return m.map(l); } | |
43945 | __attribute__((visibility("default"))) inline QPolygon operator *(const QPolygon &a, const QMatrix &m) | |
43946 | { return m.map(a); } | |
43947 | __attribute__((visibility("default"))) inline QPolygonF operator *(const QPolygonF &a, const QMatrix &m) | |
43948 | { return m.map(a); } | |
43949 | __attribute__((visibility("default"))) inline QRegion operator *(const QRegion &r, const QMatrix &m) | |
43950 | { return m.map(r); } | |
43951 | __attribute__((visibility("default"))) QPainterPath operator *(const QPainterPath &p, const QMatrix &m); | |
43952 | ||
43953 | inline bool QMatrix::isIdentity() const | |
43954 | { | |
43955 | return qFuzzyCompare(_m11, 1) && qFuzzyCompare(_m22, 1) && qFuzzyCompare(_m12 + 1, 1) | |
43956 | && qFuzzyCompare(_m21 + 1, 1) && qFuzzyCompare(_dx + 1, 1) && qFuzzyCompare(_dy + 1, 1); | |
43957 | } | |
43958 | ||
43959 | ||
43960 | ||
43961 | ||
43962 | ||
43963 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMatrix &); | |
43964 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMatrix &); | |
43965 | ||
43966 | ||
43967 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMatrix &); | |
43968 | # 171 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qmatrix.h" | |
43969 | ||
43970 | ||
43971 | ||
43972 | # 1 "../../include/QtGui/qmatrix.h" 2 | |
43973 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
43974 | # 1 "../../include/QtGui/qtransform.h" 1 | |
43975 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 1 | |
43976 | # 42 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" | |
43977 | #define QTRANSFORM_H | |
43978 | ||
43979 | # 1 "../../include/QtGui/qmatrix.h" 1 | |
43980 | # 45 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
43981 | # 1 "../../include/QtGui/qpainterpath.h" 1 | |
43982 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainterpath.h" 1 | |
43983 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainterpath.h" | |
43984 | #define QPAINTERPATH_H | |
43985 | ||
43986 | # 1 "../../include/QtGui/qmatrix.h" 1 | |
43987 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainterpath.h" 2 | |
43988 | # 1 "../../include/QtCore/qglobal.h" 1 | |
43989 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainterpath.h" 2 | |
43990 | # 1 "../../include/QtCore/qrect.h" 1 | |
43991 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainterpath.h" 2 | |
43992 | # 1 "../../include/QtCore/qline.h" 1 | |
43993 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainterpath.h" 2 | |
43994 | # 1 "../../include/QtCore/qvector.h" 1 | |
43995 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainterpath.h" 2 | |
43996 | ||
43997 | ||
43998 | ||
43999 | ||
44000 | ||
44001 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
44002 | ||
44003 | class QFont; | |
44004 | class QPainterPathPrivate; | |
44005 | class QPainterPathData; | |
44006 | class QPainterPathStrokerPrivate; | |
44007 | class QPolygonF; | |
44008 | class QRegion; | |
44009 | class QVectorPath; | |
44010 | ||
44011 | class __attribute__((visibility("default"))) QPainterPath | |
44012 | { | |
44013 | public: | |
44014 | enum ElementType { | |
44015 | MoveToElement, | |
44016 | LineToElement, | |
44017 | CurveToElement, | |
44018 | CurveToDataElement | |
44019 | }; | |
44020 | ||
44021 | class Element { | |
44022 | public: | |
44023 | qreal x; | |
44024 | qreal y; | |
44025 | ElementType type; | |
44026 | ||
44027 | bool isMoveTo() const { return type == MoveToElement; } | |
44028 | bool isLineTo() const { return type == LineToElement; } | |
44029 | bool isCurveTo() const { return type == CurveToElement; } | |
44030 | ||
44031 | operator QPointF () const { return QPointF(x, y); } | |
44032 | ||
44033 | bool operator==(const Element &e) const { return qFuzzyCompare(x, e.x) | |
44034 | && qFuzzyCompare(y, e.y) && type == e.type; } | |
44035 | inline bool operator!=(const Element &e) const { return !operator==(e); } | |
44036 | }; | |
44037 | ||
44038 | QPainterPath(); | |
44039 | explicit QPainterPath(const QPointF &startPoint); | |
44040 | QPainterPath(const QPainterPath &other); | |
44041 | QPainterPath &operator=(const QPainterPath &other); | |
44042 | ~QPainterPath(); | |
44043 | ||
44044 | void closeSubpath(); | |
44045 | ||
44046 | void moveTo(const QPointF &p); | |
44047 | inline void moveTo(qreal x, qreal y); | |
44048 | ||
44049 | void lineTo(const QPointF &p); | |
44050 | inline void lineTo(qreal x, qreal y); | |
44051 | ||
44052 | void arcMoveTo(const QRectF &rect, qreal angle); | |
44053 | inline void arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle); | |
44054 | ||
44055 | void arcTo(const QRectF &rect, qreal startAngle, qreal arcLength); | |
44056 | inline void arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLength); | |
44057 | ||
44058 | void cubicTo(const QPointF &ctrlPt1, const QPointF &ctrlPt2, const QPointF &endPt); | |
44059 | inline void cubicTo(qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, | |
44060 | qreal endPtx, qreal endPty); | |
44061 | void quadTo(const QPointF &ctrlPt, const QPointF &endPt); | |
44062 | inline void quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty); | |
44063 | ||
44064 | QPointF currentPosition() const; | |
44065 | ||
44066 | void addRect(const QRectF &rect); | |
44067 | inline void addRect(qreal x, qreal y, qreal w, qreal h); | |
44068 | void addEllipse(const QRectF &rect); | |
44069 | inline void addEllipse(qreal x, qreal y, qreal w, qreal h); | |
44070 | inline void addEllipse(const QPointF ¢er, qreal rx, qreal ry); | |
44071 | void addPolygon(const QPolygonF &polygon); | |
44072 | void addText(const QPointF &point, const QFont &f, const QString &text); | |
44073 | inline void addText(qreal x, qreal y, const QFont &f, const QString &text); | |
44074 | void addPath(const QPainterPath &path); | |
44075 | void addRegion(const QRegion ®ion); | |
44076 | ||
44077 | void addRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, | |
44078 | Qt::SizeMode mode = Qt::AbsoluteSize); | |
44079 | inline void addRoundedRect(qreal x, qreal y, qreal w, qreal h, | |
44080 | qreal xRadius, qreal yRadius, | |
44081 | Qt::SizeMode mode = Qt::AbsoluteSize); | |
44082 | ||
44083 | void addRoundRect(const QRectF &rect, int xRnd, int yRnd); | |
44084 | inline void addRoundRect(qreal x, qreal y, qreal w, qreal h, | |
44085 | int xRnd, int yRnd); | |
44086 | inline void addRoundRect(const QRectF &rect, int roundness); | |
44087 | inline void addRoundRect(qreal x, qreal y, qreal w, qreal h, | |
44088 | int roundness); | |
44089 | ||
44090 | void connectPath(const QPainterPath &path); | |
44091 | ||
44092 | bool contains(const QPointF &pt) const; | |
44093 | bool contains(const QRectF &rect) const; | |
44094 | bool intersects(const QRectF &rect) const; | |
44095 | ||
44096 | QRectF boundingRect() const; | |
44097 | QRectF controlPointRect() const; | |
44098 | ||
44099 | Qt::FillRule fillRule() const; | |
44100 | void setFillRule(Qt::FillRule fillRule); | |
44101 | ||
44102 | inline bool isEmpty() const; | |
44103 | ||
44104 | QPainterPath toReversed() const; | |
44105 | QList<QPolygonF> toSubpathPolygons(const QMatrix &matrix = QMatrix()) const; | |
44106 | QList<QPolygonF> toFillPolygons(const QMatrix &matrix = QMatrix()) const; | |
44107 | QPolygonF toFillPolygon(const QMatrix &matrix = QMatrix()) const; | |
44108 | QList<QPolygonF> toSubpathPolygons(const QTransform &matrix) const; | |
44109 | QList<QPolygonF> toFillPolygons(const QTransform &matrix) const; | |
44110 | QPolygonF toFillPolygon(const QTransform &matrix) const; | |
44111 | ||
44112 | inline int elementCount() const; | |
44113 | inline const QPainterPath::Element &elementAt(int i) const; | |
44114 | inline void setElementPositionAt(int i, qreal x, qreal y); | |
44115 | ||
44116 | qreal length() const; | |
44117 | qreal percentAtLength(qreal t) const; | |
44118 | QPointF pointAtPercent(qreal t) const; | |
44119 | qreal angleAtPercent(qreal t) const; | |
44120 | qreal slopeAtPercent(qreal t) const; | |
44121 | ||
44122 | bool intersects(const QPainterPath &p) const; | |
44123 | bool contains(const QPainterPath &p) const; | |
44124 | QPainterPath united(const QPainterPath &r) const; | |
44125 | QPainterPath intersected(const QPainterPath &r) const; | |
44126 | QPainterPath subtracted(const QPainterPath &r) const; | |
44127 | QPainterPath subtractedInverted(const QPainterPath &r) const; | |
44128 | ||
44129 | QPainterPath simplified() const; | |
44130 | ||
44131 | bool operator==(const QPainterPath &other) const; | |
44132 | bool operator!=(const QPainterPath &other) const; | |
44133 | ||
44134 | QPainterPath operator&(const QPainterPath &other) const; | |
44135 | QPainterPath operator|(const QPainterPath &other) const; | |
44136 | QPainterPath operator+(const QPainterPath &other) const; | |
44137 | QPainterPath operator-(const QPainterPath &other) const; | |
44138 | QPainterPath &operator&=(const QPainterPath &other); | |
44139 | QPainterPath &operator|=(const QPainterPath &other); | |
44140 | QPainterPath &operator+=(const QPainterPath &other); | |
44141 | QPainterPath &operator-=(const QPainterPath &other); | |
44142 | ||
44143 | private: | |
44144 | QPainterPathPrivate *d_ptr; | |
44145 | ||
44146 | inline void ensureData() { if (!d_ptr) ensureData_helper(); } | |
44147 | void ensureData_helper(); | |
44148 | inline void detach(); | |
44149 | void detach_helper(); | |
44150 | void setDirty(bool); | |
44151 | void computeBoundingRect() const; | |
44152 | void computeControlPointRect() const; | |
44153 | ||
44154 | QPainterPathData *d_func() const { return reinterpret_cast<QPainterPathData *>(d_ptr); } | |
44155 | ||
44156 | friend class QPainterPathData; | |
44157 | friend class QPainterPathStroker; | |
44158 | friend class QPainterPathStrokerPrivate; | |
44159 | friend class QMatrix; | |
44160 | friend class QTransform; | |
44161 | friend __attribute__((visibility("default"))) const QVectorPath &qtVectorPathForPath(const QPainterPath &); | |
44162 | ||
44163 | ||
44164 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPainterPath &); | |
44165 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPainterPath &); | |
44166 | ||
44167 | }; | |
44168 | ||
44169 | class QPainterPathPrivate | |
44170 | { | |
44171 | public: | |
44172 | friend class QPainterPath; | |
44173 | friend class QPainterPathData; | |
44174 | friend class QPainterPathStroker; | |
44175 | friend class QPainterPathStrokerPrivate; | |
44176 | friend class QMatrix; | |
44177 | friend class QTransform; | |
44178 | ||
44179 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPainterPath &); | |
44180 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPainterPath &); | |
44181 | ||
44182 | private: | |
44183 | QAtomicInt ref; | |
44184 | QVector<QPainterPath::Element> elements; | |
44185 | }; | |
44186 | ||
44187 | template <> class QTypeInfo<QPainterPath::Element> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QPainterPath::Element)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QPainterPath::Element"; } }; | |
44188 | ||
44189 | ||
44190 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPainterPath &); | |
44191 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPainterPath &); | |
44192 | ||
44193 | ||
44194 | class __attribute__((visibility("default"))) QPainterPathStroker | |
44195 | { | |
44196 | inline QPainterPathStrokerPrivate* d_func() { return reinterpret_cast<QPainterPathStrokerPrivate *>(d_ptr); } inline const QPainterPathStrokerPrivate* d_func() const { return reinterpret_cast<const QPainterPathStrokerPrivate *>(d_ptr); } friend class QPainterPathStrokerPrivate; | |
44197 | public: | |
44198 | QPainterPathStroker(); | |
44199 | ~QPainterPathStroker(); | |
44200 | ||
44201 | void setWidth(qreal width); | |
44202 | qreal width() const; | |
44203 | ||
44204 | void setCapStyle(Qt::PenCapStyle style); | |
44205 | Qt::PenCapStyle capStyle() const; | |
44206 | ||
44207 | void setJoinStyle(Qt::PenJoinStyle style); | |
44208 | Qt::PenJoinStyle joinStyle() const; | |
44209 | ||
44210 | void setMiterLimit(qreal length); | |
44211 | qreal miterLimit() const; | |
44212 | ||
44213 | void setCurveThreshold(qreal threshold); | |
44214 | qreal curveThreshold() const; | |
44215 | ||
44216 | void setDashPattern(Qt::PenStyle); | |
44217 | void setDashPattern(const QVector<qreal> &dashPattern); | |
44218 | QVector<qreal> dashPattern() const; | |
44219 | ||
44220 | void setDashOffset(qreal offset); | |
44221 | qreal dashOffset() const; | |
44222 | ||
44223 | QPainterPath createStroke(const QPainterPath &path) const; | |
44224 | ||
44225 | private: | |
44226 | friend class QX11PaintEngine; | |
44227 | ||
44228 | QPainterPathStrokerPrivate *d_ptr; | |
44229 | }; | |
44230 | ||
44231 | inline void QPainterPath::moveTo(qreal x, qreal y) | |
44232 | { | |
44233 | moveTo(QPointF(x, y)); | |
44234 | } | |
44235 | ||
44236 | inline void QPainterPath::lineTo(qreal x, qreal y) | |
44237 | { | |
44238 | lineTo(QPointF(x, y)); | |
44239 | } | |
44240 | ||
44241 | inline void QPainterPath::arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLenght) | |
44242 | { | |
44243 | arcTo(QRectF(x, y, w, h), startAngle, arcLenght); | |
44244 | } | |
44245 | ||
44246 | inline void QPainterPath::arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle) | |
44247 | { | |
44248 | arcMoveTo(QRectF(x, y, w, h), angle); | |
44249 | } | |
44250 | ||
44251 | inline void QPainterPath::cubicTo(qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, | |
44252 | qreal endPtx, qreal endPty) | |
44253 | { | |
44254 | cubicTo(QPointF(ctrlPt1x, ctrlPt1y), QPointF(ctrlPt2x, ctrlPt2y), | |
44255 | QPointF(endPtx, endPty)); | |
44256 | } | |
44257 | ||
44258 | inline void QPainterPath::quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty) | |
44259 | { | |
44260 | quadTo(QPointF(ctrlPtx, ctrlPty), QPointF(endPtx, endPty)); | |
44261 | } | |
44262 | ||
44263 | inline void QPainterPath::addEllipse(qreal x, qreal y, qreal w, qreal h) | |
44264 | { | |
44265 | addEllipse(QRectF(x, y, w, h)); | |
44266 | } | |
44267 | ||
44268 | inline void QPainterPath::addEllipse(const QPointF ¢er, qreal rx, qreal ry) | |
44269 | { | |
44270 | addEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry)); | |
44271 | } | |
44272 | ||
44273 | inline void QPainterPath::addRect(qreal x, qreal y, qreal w, qreal h) | |
44274 | { | |
44275 | addRect(QRectF(x, y, w, h)); | |
44276 | } | |
44277 | ||
44278 | inline void QPainterPath::addRoundedRect(qreal x, qreal y, qreal w, qreal h, | |
44279 | qreal xRadius, qreal yRadius, | |
44280 | Qt::SizeMode mode) | |
44281 | { | |
44282 | addRoundedRect(QRectF(x, y, w, h), xRadius, yRadius, mode); | |
44283 | } | |
44284 | ||
44285 | inline void QPainterPath::addRoundRect(qreal x, qreal y, qreal w, qreal h, | |
44286 | int xRnd, int yRnd) | |
44287 | { | |
44288 | addRoundRect(QRectF(x, y, w, h), xRnd, yRnd); | |
44289 | } | |
44290 | ||
44291 | inline void QPainterPath::addRoundRect(const QRectF &rect, | |
44292 | int roundness) | |
44293 | { | |
44294 | int xRnd = roundness; | |
44295 | int yRnd = roundness; | |
44296 | if (rect.width() > rect.height()) | |
44297 | xRnd = int(roundness * rect.height()/rect.width()); | |
44298 | else | |
44299 | yRnd = int(roundness * rect.width()/rect.height()); | |
44300 | addRoundRect(rect, xRnd, yRnd); | |
44301 | } | |
44302 | ||
44303 | inline void QPainterPath::addRoundRect(qreal x, qreal y, qreal w, qreal h, | |
44304 | int roundness) | |
44305 | { | |
44306 | addRoundRect(QRectF(x, y, w, h), roundness); | |
44307 | } | |
44308 | ||
44309 | inline void QPainterPath::addText(qreal x, qreal y, const QFont &f, const QString &text) | |
44310 | { | |
44311 | addText(QPointF(x, y), f, text); | |
44312 | } | |
44313 | ||
44314 | inline bool QPainterPath::isEmpty() const | |
44315 | { | |
44316 | return !d_ptr || (d_ptr->elements.size() == 1 && d_ptr->elements.first().type == MoveToElement); | |
44317 | } | |
44318 | ||
44319 | inline int QPainterPath::elementCount() const | |
44320 | { | |
44321 | return d_ptr ? d_ptr->elements.size() : 0; | |
44322 | } | |
44323 | ||
44324 | inline const QPainterPath::Element &QPainterPath::elementAt(int i) const | |
44325 | { | |
44326 | qt_noop(); | |
44327 | qt_noop(); | |
44328 | return d_ptr->elements.at(i); | |
44329 | } | |
44330 | ||
44331 | inline void QPainterPath::setElementPositionAt(int i, qreal x, qreal y) | |
44332 | { | |
44333 | qt_noop(); | |
44334 | qt_noop(); | |
44335 | detach(); | |
44336 | QPainterPath::Element &e = d_ptr->elements[i]; | |
44337 | e.x = x; | |
44338 | e.y = y; | |
44339 | } | |
44340 | ||
44341 | ||
44342 | inline void QPainterPath::detach() | |
44343 | { | |
44344 | if (d_ptr->ref != 1) | |
44345 | detach_helper(); | |
44346 | setDirty(true); | |
44347 | } | |
44348 | ||
44349 | ||
44350 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPainterPath &); | |
44351 | ||
44352 | ||
44353 | ||
44354 | ||
44355 | ||
44356 | # 1 "../../include/QtGui/qpainterpath.h" 2 | |
44357 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
44358 | # 1 "../../include/QtGui/qpolygon.h" 1 | |
44359 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
44360 | # 1 "../../include/QtGui/qregion.h" 1 | |
44361 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
44362 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
44363 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
44364 | # 1 "../../include/QtCore/qline.h" 1 | |
44365 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
44366 | # 1 "../../include/QtCore/qpoint.h" 1 | |
44367 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
44368 | # 1 "../../include/QtCore/qrect.h" 1 | |
44369 | # 52 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qtransform.h" 2 | |
44370 | ||
44371 | ||
44372 | ||
44373 | ||
44374 | ||
44375 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
44376 | ||
44377 | class QVariant; | |
44378 | ||
44379 | class __attribute__((visibility("default"))) QTransform | |
44380 | { | |
44381 | ||
44382 | public: | |
44383 | enum TransformationType { | |
44384 | TxNone = 0x00, | |
44385 | TxTranslate = 0x01, | |
44386 | TxScale = 0x02, | |
44387 | TxRotate = 0x04, | |
44388 | TxShear = 0x08, | |
44389 | TxProject = 0x10 | |
44390 | }; | |
44391 | ||
44392 | QTransform(); | |
44393 | QTransform(qreal h11, qreal h12, qreal h13, | |
44394 | qreal h21, qreal h22, qreal h23, | |
44395 | qreal h31, qreal h32, qreal h33 = 1.0); | |
44396 | QTransform(qreal h11, qreal h12, qreal h21, | |
44397 | qreal h22, qreal dx, qreal dy); | |
44398 | explicit QTransform(const QMatrix &mtx); | |
44399 | ||
44400 | bool isAffine() const; | |
44401 | bool isIdentity() const; | |
44402 | bool isInvertible() const; | |
44403 | bool isScaling() const; | |
44404 | bool isRotating() const; | |
44405 | bool isTranslating() const; | |
44406 | ||
44407 | TransformationType type() const; | |
44408 | ||
44409 | inline qreal determinant() const; | |
44410 | qreal det() const; | |
44411 | ||
44412 | qreal m11() const; | |
44413 | qreal m12() const; | |
44414 | qreal m13() const; | |
44415 | qreal m21() const; | |
44416 | qreal m22() const; | |
44417 | qreal m23() const; | |
44418 | qreal m31() const; | |
44419 | qreal m32() const; | |
44420 | qreal m33() const; | |
44421 | qreal dx() const; | |
44422 | qreal dy() const; | |
44423 | ||
44424 | void setMatrix(qreal m11, qreal m12, qreal m13, | |
44425 | qreal m21, qreal m22, qreal m23, | |
44426 | qreal m31, qreal m32, qreal m33); | |
44427 | ||
44428 | QTransform inverted(bool *invertible = 0) const; | |
44429 | QTransform adjoint() const; | |
44430 | QTransform transposed() const; | |
44431 | ||
44432 | QTransform &translate(qreal dx, qreal dy); | |
44433 | QTransform &scale(qreal sx, qreal sy); | |
44434 | QTransform &shear(qreal sh, qreal sv); | |
44435 | QTransform &rotate(qreal a, Qt::Axis axis = Qt::ZAxis); | |
44436 | QTransform &rotateRadians(qreal a, Qt::Axis axis = Qt::ZAxis); | |
44437 | ||
44438 | static bool squareToQuad(const QPolygonF &square, QTransform &result); | |
44439 | static bool quadToSquare(const QPolygonF &quad, QTransform &result); | |
44440 | static bool quadToQuad(const QPolygonF &one, | |
44441 | const QPolygonF &two, | |
44442 | QTransform &result); | |
44443 | ||
44444 | bool operator==(const QTransform &) const; | |
44445 | bool operator!=(const QTransform &) const; | |
44446 | ||
44447 | QTransform &operator*=(const QTransform &); | |
44448 | QTransform operator*(const QTransform &o) const; | |
44449 | ||
44450 | QTransform &operator=(const QTransform &); | |
44451 | ||
44452 | operator QVariant() const; | |
44453 | ||
44454 | void reset(); | |
44455 | QPoint map(const QPoint &p) const; | |
44456 | QPointF map(const QPointF &p) const; | |
44457 | QLine map(const QLine &l) const; | |
44458 | QLineF map(const QLineF &l) const; | |
44459 | QPolygonF map(const QPolygonF &a) const; | |
44460 | QPolygon map(const QPolygon &a) const; | |
44461 | QRegion map(const QRegion &r) const; | |
44462 | QPainterPath map(const QPainterPath &p) const; | |
44463 | QPolygon mapToPolygon(const QRect &r) const; | |
44464 | QRect mapRect(const QRect &) const; | |
44465 | QRectF mapRect(const QRectF &) const; | |
44466 | void map(int x, int y, int *tx, int *ty) const; | |
44467 | void map(qreal x, qreal y, qreal *tx, qreal *ty) const; | |
44468 | ||
44469 | const QMatrix &toAffine() const; | |
44470 | ||
44471 | QTransform &operator*=(qreal div); | |
44472 | QTransform &operator/=(qreal div); | |
44473 | QTransform &operator+=(qreal div); | |
44474 | QTransform &operator-=(qreal div); | |
44475 | ||
44476 | static QTransform fromTranslate(qreal dx, qreal dy); | |
44477 | static QTransform fromScale(qreal dx, qreal dy); | |
44478 | ||
44479 | private: | |
44480 | QMatrix affine; | |
44481 | qreal m_13; | |
44482 | qreal m_23; | |
44483 | qreal m_33; | |
44484 | ||
44485 | mutable uint m_type : 5; | |
44486 | mutable uint m_dirty : 5; | |
44487 | ||
44488 | class Private; | |
44489 | Private *d; | |
44490 | }; | |
44491 | template <> class QTypeInfo<QTransform> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTransform)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTransform"; } }; | |
44492 | ||
44493 | ||
44494 | inline bool QTransform::isAffine() const | |
44495 | { | |
44496 | return type() < TxProject; | |
44497 | } | |
44498 | inline bool QTransform::isIdentity() const | |
44499 | { | |
44500 | return type() == TxNone; | |
44501 | } | |
44502 | ||
44503 | inline bool QTransform::isInvertible() const | |
44504 | { | |
44505 | return !qFuzzyCompare(determinant() + 1, 1); | |
44506 | } | |
44507 | ||
44508 | inline bool QTransform::isScaling() const | |
44509 | { | |
44510 | return type() >= TxScale; | |
44511 | } | |
44512 | inline bool QTransform::isRotating() const | |
44513 | { | |
44514 | return type() >= TxRotate; | |
44515 | } | |
44516 | ||
44517 | inline bool QTransform::isTranslating() const | |
44518 | { | |
44519 | return type() >= TxTranslate; | |
44520 | } | |
44521 | ||
44522 | inline qreal QTransform::determinant() const | |
44523 | { | |
44524 | return affine._m11*(m_33*affine._m22-affine._dy*m_23) - | |
44525 | affine._m21*(m_33*affine._m12-affine._dy*m_13)+affine._dx*(m_23*affine._m12-affine._m22*m_13); | |
44526 | } | |
44527 | inline qreal QTransform::det() const | |
44528 | { | |
44529 | return determinant(); | |
44530 | } | |
44531 | inline qreal QTransform::m11() const | |
44532 | { | |
44533 | return affine._m11; | |
44534 | } | |
44535 | inline qreal QTransform::m12() const | |
44536 | { | |
44537 | return affine._m12; | |
44538 | } | |
44539 | inline qreal QTransform::m13() const | |
44540 | { | |
44541 | return m_13; | |
44542 | } | |
44543 | inline qreal QTransform::m21() const | |
44544 | { | |
44545 | return affine._m21; | |
44546 | } | |
44547 | inline qreal QTransform::m22() const | |
44548 | { | |
44549 | return affine._m22; | |
44550 | } | |
44551 | inline qreal QTransform::m23() const | |
44552 | { | |
44553 | return m_23; | |
44554 | } | |
44555 | inline qreal QTransform::m31() const | |
44556 | { | |
44557 | return affine._dx; | |
44558 | } | |
44559 | inline qreal QTransform::m32() const | |
44560 | { | |
44561 | return affine._dy; | |
44562 | } | |
44563 | inline qreal QTransform::m33() const | |
44564 | { | |
44565 | return m_33; | |
44566 | } | |
44567 | inline qreal QTransform::dx() const | |
44568 | { | |
44569 | return affine._dx; | |
44570 | } | |
44571 | inline qreal QTransform::dy() const | |
44572 | { | |
44573 | return affine._dy; | |
44574 | } | |
44575 | ||
44576 | inline QTransform &QTransform::operator*=(qreal num) | |
44577 | { | |
44578 | if (num == 1.) | |
44579 | return *this; | |
44580 | affine._m11 *= num; | |
44581 | affine._m12 *= num; | |
44582 | m_13 *= num; | |
44583 | affine._m21 *= num; | |
44584 | affine._m22 *= num; | |
44585 | m_23 *= num; | |
44586 | affine._dx *= num; | |
44587 | affine._dy *= num; | |
44588 | m_33 *= num; | |
44589 | m_dirty |= TxScale; | |
44590 | return *this; | |
44591 | } | |
44592 | inline QTransform &QTransform::operator/=(qreal div) | |
44593 | { | |
44594 | if (div == 0) | |
44595 | return *this; | |
44596 | div = 1/div; | |
44597 | return operator*=(div); | |
44598 | } | |
44599 | inline QTransform &QTransform::operator+=(qreal num) | |
44600 | { | |
44601 | if (num == 0) | |
44602 | return *this; | |
44603 | affine._m11 += num; | |
44604 | affine._m12 += num; | |
44605 | m_13 += num; | |
44606 | affine._m21 += num; | |
44607 | affine._m22 += num; | |
44608 | m_23 += num; | |
44609 | affine._dx += num; | |
44610 | affine._dy += num; | |
44611 | m_33 += num; | |
44612 | m_dirty |= TxProject; | |
44613 | return *this; | |
44614 | } | |
44615 | inline QTransform &QTransform::operator-=(qreal num) | |
44616 | { | |
44617 | if (num == 0) | |
44618 | return *this; | |
44619 | affine._m11 -= num; | |
44620 | affine._m12 -= num; | |
44621 | m_13 -= num; | |
44622 | affine._m21 -= num; | |
44623 | affine._m22 -= num; | |
44624 | m_23 -= num; | |
44625 | affine._dx -= num; | |
44626 | affine._dy -= num; | |
44627 | m_33 -= num; | |
44628 | m_dirty |= TxProject; | |
44629 | return *this; | |
44630 | } | |
44631 | ||
44632 | ||
44633 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTransform &); | |
44634 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTransform &); | |
44635 | ||
44636 | ||
44637 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTransform &); | |
44638 | ||
44639 | ||
44640 | ||
44641 | ||
44642 | __attribute__((visibility("default"))) inline QPoint operator*(const QPoint &p, const QTransform &m) | |
44643 | { return m.map(p); } | |
44644 | __attribute__((visibility("default"))) inline QPointF operator*(const QPointF &p, const QTransform &m) | |
44645 | { return m.map(p); } | |
44646 | __attribute__((visibility("default"))) inline QLineF operator*(const QLineF &l, const QTransform &m) | |
44647 | { return m.map(l); } | |
44648 | __attribute__((visibility("default"))) inline QLine operator*(const QLine &l, const QTransform &m) | |
44649 | { return m.map(l); } | |
44650 | __attribute__((visibility("default"))) inline QPolygon operator *(const QPolygon &a, const QTransform &m) | |
44651 | { return m.map(a); } | |
44652 | __attribute__((visibility("default"))) inline QPolygonF operator *(const QPolygonF &a, const QTransform &m) | |
44653 | { return m.map(a); } | |
44654 | __attribute__((visibility("default"))) inline QRegion operator *(const QRegion &r, const QTransform &m) | |
44655 | { return m.map(r); } | |
44656 | __attribute__((visibility("default"))) inline QPainterPath operator *(const QPainterPath &p, const QTransform &m) | |
44657 | { return m.map(p); } | |
44658 | ||
44659 | __attribute__((visibility("default"))) inline QTransform operator *(const QTransform &a, qreal n) | |
44660 | { QTransform t(a); t *= n; return t; } | |
44661 | __attribute__((visibility("default"))) inline QTransform operator /(const QTransform &a, qreal n) | |
44662 | { QTransform t(a); t /= n; return t; } | |
44663 | __attribute__((visibility("default"))) inline QTransform operator +(const QTransform &a, qreal n) | |
44664 | { QTransform t(a); t += n; return t; } | |
44665 | __attribute__((visibility("default"))) inline QTransform operator -(const QTransform &a, qreal n) | |
44666 | { QTransform t(a); t -= n; return t; } | |
44667 | ||
44668 | ||
44669 | ||
44670 | ||
44671 | # 1 "../../include/QtGui/qtransform.h" 2 | |
44672 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
44673 | # 1 "../../include/QtGui/qimage.h" 1 | |
44674 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" 1 | |
44675 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" | |
44676 | #define QIMAGE_H | |
44677 | ||
44678 | # 1 "../../include/QtGui/qtransform.h" 1 | |
44679 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" 2 | |
44680 | # 1 "../../include/QtGui/qpaintdevice.h" 1 | |
44681 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintdevice.h" 1 | |
44682 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintdevice.h" | |
44683 | #define QPAINTDEVICE_H | |
44684 | ||
44685 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
44686 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintdevice.h" 2 | |
44687 | # 1 "../../include/QtCore/qrect.h" 1 | |
44688 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintdevice.h" 2 | |
44689 | ||
44690 | ||
44691 | ||
44692 | ||
44693 | ||
44694 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
44695 | ||
44696 | ||
44697 | class QWSDisplay; | |
44698 | ||
44699 | ||
44700 | class QPaintEngine; | |
44701 | ||
44702 | class __attribute__((visibility("default"))) QPaintDevice | |
44703 | { | |
44704 | public: | |
44705 | enum PaintDeviceMetric { | |
44706 | PdmWidth = 1, | |
44707 | PdmHeight, | |
44708 | PdmWidthMM, | |
44709 | PdmHeightMM, | |
44710 | PdmNumColors, | |
44711 | PdmDepth, | |
44712 | PdmDpiX, | |
44713 | PdmDpiY, | |
44714 | PdmPhysicalDpiX, | |
44715 | PdmPhysicalDpiY | |
44716 | }; | |
44717 | ||
44718 | virtual ~QPaintDevice(); | |
44719 | ||
44720 | virtual int devType() const; | |
44721 | bool paintingActive() const; | |
44722 | virtual QPaintEngine *paintEngine() const = 0; | |
44723 | ||
44724 | ||
44725 | static QWSDisplay *qwsDisplay(); | |
44726 | ||
44727 | ||
44728 | ||
44729 | ||
44730 | ||
44731 | ||
44732 | ||
44733 | int width() const { return metric(PdmWidth); } | |
44734 | int height() const { return metric(PdmHeight); } | |
44735 | int widthMM() const { return metric(PdmWidthMM); } | |
44736 | int heightMM() const { return metric(PdmHeightMM); } | |
44737 | int logicalDpiX() const { return metric(PdmDpiX); } | |
44738 | int logicalDpiY() const { return metric(PdmDpiY); } | |
44739 | int physicalDpiX() const { return metric(PdmPhysicalDpiX); } | |
44740 | int physicalDpiY() const { return metric(PdmPhysicalDpiY); } | |
44741 | int numColors() const { return metric(PdmNumColors); } | |
44742 | int depth() const { return metric(PdmDepth); } | |
44743 | ||
44744 | protected: | |
44745 | QPaintDevice(); | |
44746 | virtual int metric(PaintDeviceMetric metric) const; | |
44747 | ||
44748 | ushort painters; | |
44749 | ||
44750 | private: | |
44751 | QPaintDevice(const QPaintDevice &); QPaintDevice &operator=(const QPaintDevice &); | |
44752 | # 137 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintdevice.h" | |
44753 | friend class QPainter; | |
44754 | friend class QFontEngineMac; | |
44755 | friend class QX11PaintEngine; | |
44756 | }; | |
44757 | # 163 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintdevice.h" | |
44758 | inline int QPaintDevice::devType() const | |
44759 | { return QInternal::UnknownDevice; } | |
44760 | ||
44761 | inline bool QPaintDevice::paintingActive() const | |
44762 | { return painters != 0; } | |
44763 | ||
44764 | ||
44765 | ||
44766 | ||
44767 | # 1 "../../include/QtGui/qpaintdevice.h" 2 | |
44768 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" 2 | |
44769 | # 1 "../../include/QtGui/qrgb.h" 1 | |
44770 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" 2 | |
44771 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
44772 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" 2 | |
44773 | # 1 "../../include/QtCore/qrect.h" 1 | |
44774 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" 2 | |
44775 | # 1 "../../include/QtCore/qstring.h" 1 | |
44776 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" 2 | |
44777 | ||
44778 | ||
44779 | ||
44780 | ||
44781 | ||
44782 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
44783 | ||
44784 | class QIODevice; | |
44785 | class QStringList; | |
44786 | class QMatrix; | |
44787 | class QTransform; | |
44788 | class QVariant; | |
44789 | template <class T> class QList; | |
44790 | template <class T> class QVector; | |
44791 | ||
44792 | struct QImageData; | |
44793 | class QImageDataMisc; | |
44794 | ||
44795 | class __attribute__((visibility("default"))) QImageTextKeyLang { | |
44796 | public: | |
44797 | QImageTextKeyLang(const char* k, const char* l) : key(k), lang(l) { } | |
44798 | QImageTextKeyLang() { } | |
44799 | ||
44800 | QByteArray key; | |
44801 | QByteArray lang; | |
44802 | ||
44803 | bool operator< (const QImageTextKeyLang& other) const | |
44804 | { return key < other.key || (key==other.key && lang < other.lang); } | |
44805 | bool operator== (const QImageTextKeyLang& other) const | |
44806 | { return key==other.key && lang==other.lang; } | |
44807 | inline bool operator!= (const QImageTextKeyLang &other) const | |
44808 | { return !operator==(other); } | |
44809 | }; | |
44810 | ||
44811 | ||
44812 | ||
44813 | class __attribute__((visibility("default"))) QImage : public QPaintDevice | |
44814 | { | |
44815 | public: | |
44816 | enum InvertMode { InvertRgb, InvertRgba }; | |
44817 | enum Format { | |
44818 | Format_Invalid, | |
44819 | Format_Mono, | |
44820 | Format_MonoLSB, | |
44821 | Format_Indexed8, | |
44822 | Format_RGB32, | |
44823 | Format_ARGB32, | |
44824 | Format_ARGB32_Premultiplied, | |
44825 | Format_RGB16, | |
44826 | Format_ARGB8565_Premultiplied, | |
44827 | Format_RGB666, | |
44828 | Format_ARGB6666_Premultiplied, | |
44829 | Format_RGB555, | |
44830 | Format_ARGB8555_Premultiplied, | |
44831 | Format_RGB888, | |
44832 | Format_RGB444, | |
44833 | Format_ARGB4444_Premultiplied, | |
44834 | # 119 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" | |
44835 | NImageFormats | |
44836 | ||
44837 | }; | |
44838 | ||
44839 | QImage(); | |
44840 | QImage(const QSize &size, Format format); | |
44841 | QImage(int width, int height, Format format); | |
44842 | QImage(uchar *data, int width, int height, Format format); | |
44843 | QImage(const uchar *data, int width, int height, Format format); | |
44844 | QImage(uchar *data, int width, int height, int bytesPerLine, Format format); | |
44845 | QImage(const uchar *data, int width, int height, int bytesPerLine, Format format); | |
44846 | ||
44847 | ||
44848 | explicit QImage(const char * const xpm[]); | |
44849 | ||
44850 | explicit QImage(const QString &fileName, const char *format = 0); | |
44851 | ||
44852 | explicit QImage(const char *fileName, const char *format = 0); | |
44853 | ||
44854 | ||
44855 | QImage(const QImage &); | |
44856 | ~QImage(); | |
44857 | ||
44858 | QImage &operator=(const QImage &); | |
44859 | bool isNull() const; | |
44860 | ||
44861 | int devType() const; | |
44862 | ||
44863 | bool operator==(const QImage &) const; | |
44864 | bool operator!=(const QImage &) const; | |
44865 | operator QVariant() const; | |
44866 | void detach(); | |
44867 | bool isDetached() const; | |
44868 | ||
44869 | QImage copy(const QRect &rect = QRect()) const; | |
44870 | inline QImage copy(int x, int y, int w, int h) const | |
44871 | { return copy(QRect(x, y, w, h)); } | |
44872 | ||
44873 | Format format() const; | |
44874 | ||
44875 | QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) const __attribute__ ((warn_unused_result)); | |
44876 | QImage convertToFormat(Format f, const QVector<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const __attribute__ ((warn_unused_result)); | |
44877 | ||
44878 | int width() const; | |
44879 | int height() const; | |
44880 | QSize size() const; | |
44881 | QRect rect() const; | |
44882 | ||
44883 | int depth() const; | |
44884 | int numColors() const; | |
44885 | ||
44886 | QRgb color(int i) const; | |
44887 | void setColor(int i, QRgb c); | |
44888 | void setNumColors(int); | |
44889 | ||
44890 | bool allGray() const; | |
44891 | bool isGrayscale() const; | |
44892 | ||
44893 | uchar *bits(); | |
44894 | const uchar *bits() const; | |
44895 | int numBytes() const; | |
44896 | ||
44897 | uchar *scanLine(int); | |
44898 | const uchar *scanLine(int) const; | |
44899 | int bytesPerLine() const; | |
44900 | ||
44901 | bool valid(int x, int y) const; | |
44902 | bool valid(const QPoint &pt) const; | |
44903 | ||
44904 | int pixelIndex(int x, int y) const; | |
44905 | int pixelIndex(const QPoint &pt) const; | |
44906 | ||
44907 | QRgb pixel(int x, int y) const; | |
44908 | QRgb pixel(const QPoint &pt) const; | |
44909 | ||
44910 | void setPixel(int x, int y, uint index_or_rgb); | |
44911 | void setPixel(const QPoint &pt, uint index_or_rgb); | |
44912 | ||
44913 | QVector<QRgb> colorTable() const; | |
44914 | void setColorTable(const QVector<QRgb> colors); | |
44915 | ||
44916 | void fill(uint pixel); | |
44917 | ||
44918 | bool hasAlphaChannel() const; | |
44919 | void setAlphaChannel(const QImage &alphaChannel); | |
44920 | QImage alphaChannel() const; | |
44921 | QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const; | |
44922 | ||
44923 | QImage createHeuristicMask(bool clipTight = true) const; | |
44924 | ||
44925 | QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const; | |
44926 | ||
44927 | inline QImage scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, | |
44928 | Qt::TransformationMode mode = Qt::FastTransformation) const | |
44929 | { return scaled(QSize(w, h), aspectMode, mode); } | |
44930 | QImage scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, | |
44931 | Qt::TransformationMode mode = Qt::FastTransformation) const; | |
44932 | QImage scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
44933 | QImage scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
44934 | QImage transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
44935 | static QMatrix trueMatrix(const QMatrix &, int w, int h); | |
44936 | QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
44937 | static QTransform trueMatrix(const QTransform &, int w, int h); | |
44938 | QImage mirrored(bool horizontally = false, bool vertically = true) const; | |
44939 | QImage rgbSwapped() const; | |
44940 | void invertPixels(InvertMode = InvertRgb); | |
44941 | ||
44942 | ||
44943 | bool load(QIODevice *device, const char* format); | |
44944 | bool load(const QString &fileName, const char* format=0); | |
44945 | bool loadFromData(const uchar *buf, int len, const char *format = 0); | |
44946 | inline bool loadFromData(const QByteArray &data, const char* aformat=0) | |
44947 | { return loadFromData(reinterpret_cast<const uchar *>(data.constData()), data.size(), aformat); } | |
44948 | ||
44949 | bool save(const QString &fileName, const char* format=0, int quality=-1) const; | |
44950 | bool save(QIODevice *device, const char* format=0, int quality=-1) const; | |
44951 | ||
44952 | static QImage fromData(const uchar *data, int size, const char *format = 0); | |
44953 | inline static QImage fromData(const QByteArray &data, const char *format = 0) | |
44954 | { return fromData(reinterpret_cast<const uchar *>(data.constData()), data.size(), format); } | |
44955 | ||
44956 | int serialNumber() const; | |
44957 | qint64 cacheKey() const; | |
44958 | ||
44959 | QPaintEngine *paintEngine() const; | |
44960 | ||
44961 | ||
44962 | int dotsPerMeterX() const; | |
44963 | int dotsPerMeterY() const; | |
44964 | void setDotsPerMeterX(int); | |
44965 | void setDotsPerMeterY(int); | |
44966 | QPoint offset() const; | |
44967 | void setOffset(const QPoint&); | |
44968 | ||
44969 | QStringList textKeys() const; | |
44970 | QString text(const QString &key = QString()) const; | |
44971 | void setText(const QString &key, const QString &value); | |
44972 | ||
44973 | ||
44974 | QString text(const char* key, const char* lang=0) const; | |
44975 | QList<QImageTextKeyLang> textList() const; | |
44976 | QStringList textLanguages() const; | |
44977 | QString text(const QImageTextKeyLang&) const; | |
44978 | void setText(const char* key, const char* lang, const QString&); | |
44979 | # 309 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qimage.h" | |
44980 | protected: | |
44981 | virtual int metric(PaintDeviceMetric metric) const; | |
44982 | ||
44983 | private: | |
44984 | friend class QWSOnScreenSurface; | |
44985 | QImageData *d; | |
44986 | ||
44987 | friend class QRasterPixmapData; | |
44988 | friend class QDetachedPixmap; | |
44989 | friend __attribute__((visibility("default"))) qint64 qt_image_id(const QImage &image); | |
44990 | friend const QVector<QRgb> *qt_image_colortable(const QImage &image); | |
44991 | ||
44992 | public: | |
44993 | typedef QImageData * DataPtr; | |
44994 | inline DataPtr &data_ptr() { return d; } | |
44995 | }; | |
44996 | ||
44997 | template <> inline bool qIsDetached<QImage>(QImage &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QImage>(QImage &value1, QImage &value2) { const QImage::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
44998 | template <> class QTypeInfo<QImage> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QImage)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QImage"; } }; | |
44999 | ||
45000 | ||
45001 | ||
45002 | __attribute__((visibility("default"))) inline bool QImage::valid(const QPoint &pt) const { return valid(pt.x(), pt.y()); } | |
45003 | __attribute__((visibility("default"))) inline int QImage::pixelIndex(const QPoint &pt) const { return pixelIndex(pt.x(), pt.y());} | |
45004 | __attribute__((visibility("default"))) inline QRgb QImage::pixel(const QPoint &pt) const { return pixel(pt.x(), pt.y()); } | |
45005 | __attribute__((visibility("default"))) inline void QImage::setPixel(const QPoint &pt, uint index_or_rgb) { setPixel(pt.x(), pt.y(), index_or_rgb); } | |
45006 | ||
45007 | ||
45008 | ||
45009 | ||
45010 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QImage &); | |
45011 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QImage &); | |
45012 | ||
45013 | ||
45014 | ||
45015 | ||
45016 | ||
45017 | ||
45018 | ||
45019 | ||
45020 | ||
45021 | ||
45022 | # 1 "../../include/QtGui/qimage.h" 2 | |
45023 | # 52 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
45024 | # 1 "../../include/QtGui/qpixmap.h" 1 | |
45025 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" 1 | |
45026 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" | |
45027 | #define QPIXMAP_H | |
45028 | ||
45029 | # 1 "../../include/QtGui/qpaintdevice.h" 1 | |
45030 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" 2 | |
45031 | # 1 "../../include/QtGui/qcolor.h" 1 | |
45032 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" 2 | |
45033 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
45034 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" 2 | |
45035 | # 1 "../../include/QtCore/qstring.h" 1 | |
45036 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" 2 | |
45037 | # 1 "../../include/QtGui/qimage.h" 1 | |
45038 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" 2 | |
45039 | # 1 "../../include/QtGui/qtransform.h" 1 | |
45040 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" 2 | |
45041 | ||
45042 | ||
45043 | ||
45044 | ||
45045 | ||
45046 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
45047 | ||
45048 | class QImageWriter; | |
45049 | class QColor; | |
45050 | class QVariant; | |
45051 | class QX11Info; | |
45052 | ||
45053 | class QPixmapData; | |
45054 | ||
45055 | class __attribute__((visibility("default"))) QPixmap : public QPaintDevice | |
45056 | { | |
45057 | public: | |
45058 | QPixmap(); | |
45059 | explicit QPixmap(QPixmapData *data); | |
45060 | QPixmap(int w, int h); | |
45061 | QPixmap(const QSize &); | |
45062 | QPixmap(const QString& fileName, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); | |
45063 | ||
45064 | QPixmap(const char * const xpm[]); | |
45065 | ||
45066 | QPixmap(const QPixmap &); | |
45067 | ~QPixmap(); | |
45068 | ||
45069 | QPixmap &operator=(const QPixmap &); | |
45070 | operator QVariant() const; | |
45071 | ||
45072 | bool isNull() const; | |
45073 | int devType() const; | |
45074 | ||
45075 | int width() const; | |
45076 | int height() const; | |
45077 | QSize size() const; | |
45078 | QRect rect() const; | |
45079 | int depth() const; | |
45080 | ||
45081 | static int defaultDepth(); | |
45082 | ||
45083 | void fill(const QColor &fillColor = Qt::white); | |
45084 | void fill(const QWidget *widget, const QPoint &ofs); | |
45085 | inline void fill(const QWidget *widget, int xofs, int yofs) { fill(widget, QPoint(xofs, yofs)); } | |
45086 | ||
45087 | QBitmap mask() const; | |
45088 | void setMask(const QBitmap &); | |
45089 | ||
45090 | QPixmap alphaChannel() const; | |
45091 | void setAlphaChannel(const QPixmap &); | |
45092 | ||
45093 | bool hasAlpha() const; | |
45094 | bool hasAlphaChannel() const; | |
45095 | ||
45096 | ||
45097 | QBitmap createHeuristicMask(bool clipTight = true) const; | |
45098 | ||
45099 | QBitmap createMaskFromColor(const QColor &maskColor) const; | |
45100 | QBitmap createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode) const; | |
45101 | ||
45102 | static QPixmap grabWindow(WId, int x=0, int y=0, int w=-1, int h=-1); | |
45103 | static QPixmap grabWidget(QWidget *widget, const QRect &rect); | |
45104 | static inline QPixmap grabWidget(QWidget *widget, int x=0, int y=0, int w=-1, int h=-1) | |
45105 | { return grabWidget(widget, QRect(x, y, w, h)); } | |
45106 | ||
45107 | ||
45108 | inline QPixmap scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, | |
45109 | Qt::TransformationMode mode = Qt::FastTransformation) const | |
45110 | { return scaled(QSize(w, h), aspectMode, mode); } | |
45111 | QPixmap scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, | |
45112 | Qt::TransformationMode mode = Qt::FastTransformation) const; | |
45113 | QPixmap scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
45114 | QPixmap scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
45115 | QPixmap transformed(const QMatrix &, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
45116 | static QMatrix trueMatrix(const QMatrix &m, int w, int h); | |
45117 | QPixmap transformed(const QTransform &, Qt::TransformationMode mode = Qt::FastTransformation) const; | |
45118 | static QTransform trueMatrix(const QTransform &m, int w, int h); | |
45119 | ||
45120 | QImage toImage() const; | |
45121 | static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); | |
45122 | ||
45123 | bool load(const QString& fileName, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); | |
45124 | bool loadFromData(const uchar *buf, uint len, const char* format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); | |
45125 | inline bool loadFromData(const QByteArray &data, const char* format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); | |
45126 | bool save(const QString& fileName, const char* format = 0, int quality = -1) const; | |
45127 | bool save(QIODevice* device, const char* format = 0, int quality = -1) const; | |
45128 | # 155 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" | |
45129 | inline QPixmap copy(int x, int y, int width, int height) const; | |
45130 | QPixmap copy(const QRect &rect = QRect()) const; | |
45131 | ||
45132 | int serialNumber() const; | |
45133 | qint64 cacheKey() const; | |
45134 | ||
45135 | bool isDetached() const; | |
45136 | void detach(); | |
45137 | ||
45138 | bool isQBitmap() const; | |
45139 | ||
45140 | ||
45141 | const uchar *qwsBits() const; | |
45142 | int qwsBytesPerLine() const; | |
45143 | QRgb *clut() const; | |
45144 | int numCols() const; | |
45145 | # 186 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" | |
45146 | Qt::HANDLE handle() const; | |
45147 | ||
45148 | ||
45149 | QPaintEngine *paintEngine() const; | |
45150 | ||
45151 | inline bool operator!() const { return isNull(); } | |
45152 | ||
45153 | protected: | |
45154 | int metric(PaintDeviceMetric) const; | |
45155 | # 218 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" | |
45156 | private: | |
45157 | QPixmapData *data; | |
45158 | ||
45159 | bool doImageIO(QImageWriter *io, int quality) const; | |
45160 | ||
45161 | ||
45162 | enum Type { PixmapType, BitmapType }; | |
45163 | QPixmap(const QSize &s, Type); | |
45164 | void init(int, int, Type = PixmapType); | |
45165 | ||
45166 | QPixmap(const QSize &s, int type); | |
45167 | void init(int, int, int); | |
45168 | void deref(); | |
45169 | ||
45170 | ||
45171 | ||
45172 | ||
45173 | ||
45174 | ||
45175 | ||
45176 | ||
45177 | ||
45178 | ||
45179 | ||
45180 | friend class QPixmapData; | |
45181 | friend class QX11PixmapData; | |
45182 | friend class QMacPixmapData; | |
45183 | friend class QBitmap; | |
45184 | friend class QPaintDevice; | |
45185 | friend class QPainter; | |
45186 | friend class QGLWidget; | |
45187 | friend class QX11PaintEngine; | |
45188 | friend class QCoreGraphicsPaintEngine; | |
45189 | friend class QWidgetPrivate; | |
45190 | friend class QRasterPaintEngine; | |
45191 | friend class QRasterBuffer; | |
45192 | friend class QDirect3DPaintEngine; | |
45193 | friend class QDirect3DPaintEnginePrivate; | |
45194 | friend class QDetachedPixmap; | |
45195 | ||
45196 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPixmap &); | |
45197 | ||
45198 | friend __attribute__((visibility("default"))) qint64 qt_pixmap_id(const QPixmap &pixmap); | |
45199 | ||
45200 | public: | |
45201 | QPixmapData* pixmapData() const; | |
45202 | ||
45203 | public: | |
45204 | typedef QPixmapData * DataPtr; | |
45205 | inline DataPtr &data_ptr() { return data; } | |
45206 | }; | |
45207 | ||
45208 | template <> inline bool qIsDetached<QPixmap>(QPixmap &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QPixmap>(QPixmap &value1, QPixmap &value2) { const QPixmap::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
45209 | ||
45210 | inline QPixmap QPixmap::copy(int ax, int ay, int awidth, int aheight) const | |
45211 | { | |
45212 | return copy(QRect(ax, ay, awidth, aheight)); | |
45213 | } | |
45214 | ||
45215 | inline bool QPixmap::loadFromData(const QByteArray &buf, const char *format, | |
45216 | Qt::ImageConversionFlags flags) | |
45217 | { | |
45218 | return loadFromData(reinterpret_cast<const uchar *>(buf.constData()), buf.size(), format, flags); | |
45219 | } | |
45220 | ||
45221 | ||
45222 | ||
45223 | ||
45224 | ||
45225 | ||
45226 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPixmap &); | |
45227 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPixmap &); | |
45228 | # 300 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h" | |
45229 | ||
45230 | ||
45231 | ||
45232 | # 1 "../../include/QtGui/qpixmap.h" 2 | |
45233 | # 53 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" 2 | |
45234 | ||
45235 | ||
45236 | ||
45237 | ||
45238 | ||
45239 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
45240 | ||
45241 | struct QBrushData; | |
45242 | class QPixmap; | |
45243 | class QGradient; | |
45244 | class QVariant; | |
45245 | ||
45246 | class __attribute__((visibility("default"))) QBrush | |
45247 | { | |
45248 | public: | |
45249 | QBrush(); | |
45250 | QBrush(Qt::BrushStyle bs); | |
45251 | QBrush(const QColor &color, Qt::BrushStyle bs=Qt::SolidPattern); | |
45252 | QBrush(Qt::GlobalColor color, Qt::BrushStyle bs=Qt::SolidPattern); | |
45253 | ||
45254 | QBrush(const QColor &color, const QPixmap &pixmap); | |
45255 | QBrush(Qt::GlobalColor color, const QPixmap &pixmap); | |
45256 | QBrush(const QPixmap &pixmap); | |
45257 | QBrush(const QImage &image); | |
45258 | ||
45259 | QBrush(const QBrush &brush); | |
45260 | ||
45261 | QBrush(const QGradient &gradient); | |
45262 | ||
45263 | ~QBrush(); | |
45264 | QBrush &operator=(const QBrush &brush); | |
45265 | operator QVariant() const; | |
45266 | ||
45267 | inline Qt::BrushStyle style() const; | |
45268 | void setStyle(Qt::BrushStyle); | |
45269 | ||
45270 | inline const QMatrix &matrix() const; | |
45271 | void setMatrix(const QMatrix &mat); | |
45272 | ||
45273 | inline QTransform transform() const; | |
45274 | void setTransform(const QTransform &); | |
45275 | ||
45276 | QPixmap texture() const; | |
45277 | void setTexture(const QPixmap &pixmap); | |
45278 | ||
45279 | QImage textureImage() const; | |
45280 | void setTextureImage(const QImage &image); | |
45281 | ||
45282 | inline const QColor &color() const; | |
45283 | void setColor(const QColor &color); | |
45284 | inline void setColor(Qt::GlobalColor color); | |
45285 | ||
45286 | const QGradient *gradient() const; | |
45287 | ||
45288 | bool isOpaque() const; | |
45289 | ||
45290 | bool operator==(const QBrush &b) const; | |
45291 | inline bool operator!=(const QBrush &b) const { return !(operator==(b)); } | |
45292 | ||
45293 | ||
45294 | ||
45295 | ||
45296 | ||
45297 | ||
45298 | ||
45299 | private: | |
45300 | ||
45301 | ||
45302 | ||
45303 | friend class QRasterPaintEngine; | |
45304 | friend class QRasterPaintEnginePrivate; | |
45305 | friend struct QSpanData; | |
45306 | friend class QPainter; | |
45307 | friend bool qHasPixmapTexture(const QBrush& brush); | |
45308 | void detach(Qt::BrushStyle newStyle); | |
45309 | void init(const QColor &color, Qt::BrushStyle bs); | |
45310 | QBrushData *d; | |
45311 | void cleanUp(QBrushData *x); | |
45312 | ||
45313 | public: | |
45314 | inline bool isDetached() const; | |
45315 | typedef QBrushData * DataPtr; | |
45316 | inline DataPtr &data_ptr() { return d; } | |
45317 | }; | |
45318 | ||
45319 | inline void QBrush::setColor(Qt::GlobalColor acolor) | |
45320 | { setColor(QColor(acolor)); } | |
45321 | ||
45322 | template <> class QTypeInfo<QBrush> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QBrush)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QBrush"; } }; | |
45323 | template <> inline bool qIsDetached<QBrush>(QBrush &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QBrush>(QBrush &value1, QBrush &value2) { const QBrush::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
45324 | ||
45325 | ||
45326 | ||
45327 | ||
45328 | ||
45329 | ||
45330 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QBrush &); | |
45331 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QBrush &); | |
45332 | ||
45333 | ||
45334 | ||
45335 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QBrush &); | |
45336 | ||
45337 | ||
45338 | struct QBrushData | |
45339 | { | |
45340 | QAtomicInt ref; | |
45341 | Qt::BrushStyle style; | |
45342 | QColor color; | |
45343 | QTransform transform; | |
45344 | }; | |
45345 | ||
45346 | inline Qt::BrushStyle QBrush::style() const { return d->style; } | |
45347 | inline const QColor &QBrush::color() const { return d->color; } | |
45348 | inline const QMatrix &QBrush::matrix() const { return d->transform.toAffine(); } | |
45349 | inline QTransform QBrush::transform() const { return d->transform; } | |
45350 | inline bool QBrush::isDetached() const { return d->ref == 1; } | |
45351 | # 179 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qbrush.h" | |
45352 | class QGradientPrivate; | |
45353 | ||
45354 | typedef QPair<qreal, QColor> QGradientStop; | |
45355 | typedef QVector<QGradientStop> QGradientStops; | |
45356 | ||
45357 | class __attribute__((visibility("default"))) QGradient | |
45358 | { | |
45359 | public: static const QMetaObject staticMetaObject; private: | |
45360 | ||
45361 | public: | |
45362 | enum Type { | |
45363 | LinearGradient, | |
45364 | RadialGradient, | |
45365 | ConicalGradient, | |
45366 | NoGradient | |
45367 | }; | |
45368 | ||
45369 | enum Spread { | |
45370 | PadSpread, | |
45371 | ReflectSpread, | |
45372 | RepeatSpread | |
45373 | }; | |
45374 | ||
45375 | enum CoordinateMode { | |
45376 | LogicalMode, | |
45377 | StretchToDeviceMode, | |
45378 | ObjectBoundingMode | |
45379 | }; | |
45380 | ||
45381 | enum InterpolationMode { | |
45382 | ColorInterpolation, | |
45383 | ComponentInterpolation | |
45384 | }; | |
45385 | ||
45386 | QGradient(); | |
45387 | ||
45388 | Type type() const { return m_type; } | |
45389 | ||
45390 | inline void setSpread(Spread spread); | |
45391 | Spread spread() const { return m_spread; } | |
45392 | ||
45393 | void setColorAt(qreal pos, const QColor &color); | |
45394 | ||
45395 | void setStops(const QGradientStops &stops); | |
45396 | QGradientStops stops() const; | |
45397 | ||
45398 | CoordinateMode coordinateMode() const; | |
45399 | void setCoordinateMode(CoordinateMode mode); | |
45400 | ||
45401 | InterpolationMode interpolationMode() const; | |
45402 | void setInterpolationMode(InterpolationMode mode); | |
45403 | ||
45404 | bool operator==(const QGradient &gradient) const; | |
45405 | inline bool operator!=(const QGradient &other) const | |
45406 | { return !operator==(other); } | |
45407 | ||
45408 | bool operator==(const QGradient &gradient); | |
45409 | ||
45410 | private: | |
45411 | friend class QLinearGradient; | |
45412 | friend class QRadialGradient; | |
45413 | friend class QConicalGradient; | |
45414 | ||
45415 | Type m_type; | |
45416 | Spread m_spread; | |
45417 | QGradientStops m_stops; | |
45418 | union { | |
45419 | struct { | |
45420 | qreal x1, y1, x2, y2; | |
45421 | } linear; | |
45422 | struct { | |
45423 | qreal cx, cy, fx, fy, radius; | |
45424 | } radial; | |
45425 | struct { | |
45426 | qreal cx, cy, angle; | |
45427 | } conical; | |
45428 | } m_data; | |
45429 | void *dummy; | |
45430 | }; | |
45431 | ||
45432 | inline void QGradient::setSpread(Spread aspread) | |
45433 | { m_spread = aspread; } | |
45434 | ||
45435 | class __attribute__((visibility("default"))) QLinearGradient : public QGradient | |
45436 | { | |
45437 | public: | |
45438 | QLinearGradient(); | |
45439 | QLinearGradient(const QPointF &start, const QPointF &finalStop); | |
45440 | QLinearGradient(qreal xStart, qreal yStart, qreal xFinalStop, qreal yFinalStop); | |
45441 | ||
45442 | QPointF start() const; | |
45443 | void setStart(const QPointF &start); | |
45444 | inline void setStart(qreal x, qreal y) { setStart(QPointF(x, y)); } | |
45445 | ||
45446 | QPointF finalStop() const; | |
45447 | void setFinalStop(const QPointF &stop); | |
45448 | inline void setFinalStop(qreal x, qreal y) { setFinalStop(QPointF(x, y)); } | |
45449 | }; | |
45450 | ||
45451 | ||
45452 | class __attribute__((visibility("default"))) QRadialGradient : public QGradient | |
45453 | { | |
45454 | public: | |
45455 | QRadialGradient(); | |
45456 | QRadialGradient(const QPointF ¢er, qreal radius, const QPointF &focalPoint); | |
45457 | QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy); | |
45458 | ||
45459 | QRadialGradient(const QPointF ¢er, qreal radius); | |
45460 | QRadialGradient(qreal cx, qreal cy, qreal radius); | |
45461 | ||
45462 | QPointF center() const; | |
45463 | void setCenter(const QPointF ¢er); | |
45464 | inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } | |
45465 | ||
45466 | QPointF focalPoint() const; | |
45467 | void setFocalPoint(const QPointF &focalPoint); | |
45468 | inline void setFocalPoint(qreal x, qreal y) { setFocalPoint(QPointF(x, y)); } | |
45469 | ||
45470 | qreal radius() const; | |
45471 | void setRadius(qreal radius); | |
45472 | }; | |
45473 | ||
45474 | ||
45475 | class __attribute__((visibility("default"))) QConicalGradient : public QGradient | |
45476 | { | |
45477 | public: | |
45478 | QConicalGradient(); | |
45479 | QConicalGradient(const QPointF ¢er, qreal startAngle); | |
45480 | QConicalGradient(qreal cx, qreal cy, qreal startAngle); | |
45481 | ||
45482 | QPointF center() const; | |
45483 | void setCenter(const QPointF ¢er); | |
45484 | inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } | |
45485 | ||
45486 | qreal angle() const; | |
45487 | void setAngle(qreal angle); | |
45488 | }; | |
45489 | ||
45490 | ||
45491 | ||
45492 | ||
45493 | # 1 "../../include/QtGui/qbrush.h" 2 | |
45494 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpen.h" 2 | |
45495 | ||
45496 | ||
45497 | ||
45498 | ||
45499 | ||
45500 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
45501 | ||
45502 | class QVariant; | |
45503 | class QPenPrivate; | |
45504 | class QBrush; | |
45505 | class QPen; | |
45506 | ||
45507 | ||
45508 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPen &); | |
45509 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPen &); | |
45510 | ||
45511 | ||
45512 | class __attribute__((visibility("default"))) QPen | |
45513 | { | |
45514 | public: | |
45515 | QPen(); | |
45516 | QPen(Qt::PenStyle); | |
45517 | QPen(const QColor &color); | |
45518 | QPen(const QBrush &brush, qreal width, Qt::PenStyle s = Qt::SolidLine, | |
45519 | Qt::PenCapStyle c = Qt::SquareCap, Qt::PenJoinStyle j = Qt::BevelJoin); | |
45520 | QPen(const QPen &pen); | |
45521 | ||
45522 | ~QPen(); | |
45523 | ||
45524 | QPen &operator=(const QPen &pen); | |
45525 | ||
45526 | Qt::PenStyle style() const; | |
45527 | void setStyle(Qt::PenStyle); | |
45528 | ||
45529 | QVector<qreal> dashPattern() const; | |
45530 | void setDashPattern(const QVector<qreal> &pattern); | |
45531 | ||
45532 | qreal dashOffset() const; | |
45533 | void setDashOffset(qreal doffset); | |
45534 | ||
45535 | qreal miterLimit() const; | |
45536 | void setMiterLimit(qreal limit); | |
45537 | ||
45538 | qreal widthF() const; | |
45539 | void setWidthF(qreal width); | |
45540 | ||
45541 | int width() const; | |
45542 | void setWidth(int width); | |
45543 | ||
45544 | QColor color() const; | |
45545 | void setColor(const QColor &color); | |
45546 | ||
45547 | QBrush brush() const; | |
45548 | void setBrush(const QBrush &brush); | |
45549 | ||
45550 | bool isSolid() const; | |
45551 | ||
45552 | Qt::PenCapStyle capStyle() const; | |
45553 | void setCapStyle(Qt::PenCapStyle pcs); | |
45554 | ||
45555 | Qt::PenJoinStyle joinStyle() const; | |
45556 | void setJoinStyle(Qt::PenJoinStyle pcs); | |
45557 | ||
45558 | bool isCosmetic() const; | |
45559 | void setCosmetic(bool cosmetic); | |
45560 | ||
45561 | bool operator==(const QPen &p) const; | |
45562 | inline bool operator!=(const QPen &p) const { return !(operator==(p)); } | |
45563 | operator QVariant() const; | |
45564 | ||
45565 | bool isDetached(); | |
45566 | private: | |
45567 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPen &); | |
45568 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPen &); | |
45569 | ||
45570 | void detach(); | |
45571 | class QPenPrivate *d; | |
45572 | ||
45573 | public: | |
45574 | typedef QPenPrivate * DataPtr; | |
45575 | inline DataPtr &data_ptr() { return d; } | |
45576 | }; | |
45577 | template <> class QTypeInfo<QPen> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QPen)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QPen"; } }; | |
45578 | template <> inline bool qIsDetached<QPen>(QPen &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QPen>(QPen &value1, QPen &value2) { const QPen::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
45579 | ||
45580 | ||
45581 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPen &); | |
45582 | ||
45583 | ||
45584 | ||
45585 | ||
45586 | ||
45587 | # 1 "../../include/QtGui/qpen.h" 2 | |
45588 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
45589 | # 1 "../../include/QtGui/qbrush.h" 1 | |
45590 | # 52 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
45591 | # 1 "../../include/QtGui/qtextoption.h" 1 | |
45592 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextoption.h" 1 | |
45593 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextoption.h" | |
45594 | #define QTEXTOPTION_H | |
45595 | ||
45596 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
45597 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextoption.h" 2 | |
45598 | # 1 "../../include/QtCore/qchar.h" 1 | |
45599 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextoption.h" 2 | |
45600 | # 1 "../../include/QtCore/qmetatype.h" 1 | |
45601 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextoption.h" 2 | |
45602 | ||
45603 | ||
45604 | ||
45605 | ||
45606 | ||
45607 | ||
45608 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
45609 | ||
45610 | template <typename T> class QList; | |
45611 | struct QTextOptionPrivate; | |
45612 | ||
45613 | class __attribute__((visibility("default"))) QTextOption | |
45614 | { | |
45615 | public: | |
45616 | enum TabType { | |
45617 | LeftTab, | |
45618 | RightTab, | |
45619 | CenterTab, | |
45620 | DelimiterTab | |
45621 | }; | |
45622 | ||
45623 | struct __attribute__((visibility("default"))) Tab { | |
45624 | inline Tab() : position(80), type(QTextOption::LeftTab) { } | |
45625 | ||
45626 | inline bool operator==(const Tab &other) const { | |
45627 | return type == other.type | |
45628 | && qFuzzyCompare(position, other.position) | |
45629 | && delimiter == other.delimiter; | |
45630 | } | |
45631 | ||
45632 | inline bool operator!=(const Tab &other) const { | |
45633 | return !operator==(other); | |
45634 | } | |
45635 | ||
45636 | qreal position; | |
45637 | TabType type; | |
45638 | QChar delimiter; | |
45639 | }; | |
45640 | ||
45641 | QTextOption(); | |
45642 | QTextOption(Qt::Alignment alignment); | |
45643 | ~QTextOption(); | |
45644 | ||
45645 | QTextOption(const QTextOption &o); | |
45646 | QTextOption &operator=(const QTextOption &o); | |
45647 | ||
45648 | inline void setAlignment(Qt::Alignment alignment); | |
45649 | inline Qt::Alignment alignment() const { return Qt::Alignment(align); } | |
45650 | ||
45651 | inline void setTextDirection(Qt::LayoutDirection aDirection) { this->direction = aDirection; } | |
45652 | inline Qt::LayoutDirection textDirection() const { return Qt::LayoutDirection(direction); } | |
45653 | ||
45654 | enum WrapMode { | |
45655 | NoWrap, | |
45656 | WordWrap, | |
45657 | ManualWrap, | |
45658 | WrapAnywhere, | |
45659 | WrapAtWordBoundaryOrAnywhere | |
45660 | }; | |
45661 | inline void setWrapMode(WrapMode wrap) { wordWrap = wrap; } | |
45662 | inline WrapMode wrapMode() const { return static_cast<WrapMode>(wordWrap); } | |
45663 | ||
45664 | enum Flag { | |
45665 | ShowTabsAndSpaces = 0x1, | |
45666 | ShowLineAndParagraphSeparators = 0x2, | |
45667 | AddSpaceForLineAndParagraphSeparators = 0x4, | |
45668 | SuppressColors = 0x8, | |
45669 | IncludeTrailingSpaces = 0x80000000 | |
45670 | }; | |
45671 | typedef QFlags<Flag> Flags; | |
45672 | inline void setFlags(Flags flags); | |
45673 | inline Flags flags() const { return Flags(f); } | |
45674 | ||
45675 | inline void setTabStop(qreal tabStop); | |
45676 | inline qreal tabStop() const { return tab; } | |
45677 | ||
45678 | void setTabArray(QList<qreal> tabStops); | |
45679 | QList<qreal> tabArray() const; | |
45680 | ||
45681 | void setTabs(QList<Tab> tabStops); | |
45682 | QList<Tab> tabs() const; | |
45683 | ||
45684 | void setUseDesignMetrics(bool b) { design = b; } | |
45685 | bool useDesignMetrics() const { return design; } | |
45686 | ||
45687 | private: | |
45688 | uint align : 8; | |
45689 | uint wordWrap : 4; | |
45690 | uint design : 1; | |
45691 | uint direction : 1; | |
45692 | uint unused : 19; | |
45693 | uint f; | |
45694 | qreal tab; | |
45695 | QTextOptionPrivate *d; | |
45696 | }; | |
45697 | ||
45698 | inline QFlags<QTextOption::Flags::enum_type> operator|(QTextOption::Flags::enum_type f1, QTextOption::Flags::enum_type f2) { return QFlags<QTextOption::Flags::enum_type>(f1) | f2; } inline QFlags<QTextOption::Flags::enum_type> operator|(QTextOption::Flags::enum_type f1, QFlags<QTextOption::Flags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QTextOption::Flags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
45699 | ||
45700 | inline void QTextOption::setAlignment(Qt::Alignment aalignment) | |
45701 | { align = aalignment; } | |
45702 | ||
45703 | inline void QTextOption::setFlags(Flags aflags) | |
45704 | { f = aflags; } | |
45705 | ||
45706 | inline void QTextOption::setTabStop(qreal atabStop) | |
45707 | { tab = atabStop; } | |
45708 | ||
45709 | ||
45710 | ||
45711 | template <> struct QMetaTypeId< QTextOption::Tab > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { (0) }; if (!metatype_id) metatype_id = qRegisterMetaType< QTextOption::Tab >("QTextOption::Tab"); return metatype_id; } }; | |
45712 | ||
45713 | ||
45714 | # 1 "../../include/QtGui/qtextoption.h" 2 | |
45715 | # 53 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat.h" 2 | |
45716 | ||
45717 | ||
45718 | ||
45719 | ||
45720 | ||
45721 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
45722 | ||
45723 | class QString; | |
45724 | class QVariant; | |
45725 | class QFont; | |
45726 | ||
45727 | class QTextFormatCollection; | |
45728 | class QTextFormatPrivate; | |
45729 | class QTextBlockFormat; | |
45730 | class QTextCharFormat; | |
45731 | class QTextListFormat; | |
45732 | class QTextTableFormat; | |
45733 | class QTextFrameFormat; | |
45734 | class QTextImageFormat; | |
45735 | class QTextTableCellFormat; | |
45736 | class QTextFormat; | |
45737 | class QTextObject; | |
45738 | class QTextCursor; | |
45739 | class QTextDocument; | |
45740 | class QTextLength; | |
45741 | ||
45742 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextLength &); | |
45743 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextLength &); | |
45744 | ||
45745 | class __attribute__((visibility("default"))) QTextLength | |
45746 | { | |
45747 | public: | |
45748 | enum Type { VariableLength = 0, FixedLength, PercentageLength }; | |
45749 | ||
45750 | inline QTextLength() : lengthType(VariableLength), fixedValueOrPercentage(0) {} | |
45751 | ||
45752 | inline explicit QTextLength(Type type, qreal value); | |
45753 | ||
45754 | inline Type type() const { return lengthType; } | |
45755 | inline qreal value(qreal maximumLength) const | |
45756 | { | |
45757 | switch (lengthType) { | |
45758 | case FixedLength: return fixedValueOrPercentage; | |
45759 | case VariableLength: return maximumLength; | |
45760 | case PercentageLength: return fixedValueOrPercentage * maximumLength / qreal(100); | |
45761 | } | |
45762 | return -1; | |
45763 | } | |
45764 | ||
45765 | inline qreal rawValue() const { return fixedValueOrPercentage; } | |
45766 | ||
45767 | inline bool operator==(const QTextLength &other) const | |
45768 | { return lengthType == other.lengthType | |
45769 | && qFuzzyCompare(fixedValueOrPercentage, other.fixedValueOrPercentage); } | |
45770 | inline bool operator!=(const QTextLength &other) const | |
45771 | { return lengthType != other.lengthType | |
45772 | || !qFuzzyCompare(fixedValueOrPercentage, other.fixedValueOrPercentage); } | |
45773 | operator QVariant() const; | |
45774 | ||
45775 | private: | |
45776 | Type lengthType; | |
45777 | qreal fixedValueOrPercentage; | |
45778 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextLength &); | |
45779 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextLength &); | |
45780 | }; | |
45781 | ||
45782 | inline QTextLength::QTextLength(Type atype, qreal avalue) | |
45783 | : lengthType(atype), fixedValueOrPercentage(avalue) {} | |
45784 | ||
45785 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextFormat &); | |
45786 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextFormat &); | |
45787 | ||
45788 | class __attribute__((visibility("default"))) QTextFormat | |
45789 | { | |
45790 | public: static const QMetaObject staticMetaObject; private: | |
45791 | ||
45792 | public: | |
45793 | enum FormatType { | |
45794 | InvalidFormat = -1, | |
45795 | BlockFormat = 1, | |
45796 | CharFormat = 2, | |
45797 | ListFormat = 3, | |
45798 | TableFormat = 4, | |
45799 | FrameFormat = 5, | |
45800 | ||
45801 | UserFormat = 100 | |
45802 | }; | |
45803 | ||
45804 | enum Property { | |
45805 | ObjectIndex = 0x0, | |
45806 | ||
45807 | ||
45808 | CssFloat = 0x0800, | |
45809 | LayoutDirection = 0x0801, | |
45810 | ||
45811 | OutlinePen = 0x810, | |
45812 | BackgroundBrush = 0x820, | |
45813 | ForegroundBrush = 0x821, | |
45814 | ||
45815 | BackgroundImageUrl = 0x823, | |
45816 | ||
45817 | ||
45818 | BlockAlignment = 0x1010, | |
45819 | BlockTopMargin = 0x1030, | |
45820 | BlockBottomMargin = 0x1031, | |
45821 | BlockLeftMargin = 0x1032, | |
45822 | BlockRightMargin = 0x1033, | |
45823 | TextIndent = 0x1034, | |
45824 | TabPositions = 0x1035, | |
45825 | BlockIndent = 0x1040, | |
45826 | BlockNonBreakableLines = 0x1050, | |
45827 | BlockTrailingHorizontalRulerWidth = 0x1060, | |
45828 | ||
45829 | ||
45830 | FirstFontProperty = 0x1FE0, | |
45831 | FontCapitalization = FirstFontProperty, | |
45832 | FontLetterSpacing = 0x1FE1, | |
45833 | FontWordSpacing = 0x1FE2, | |
45834 | FontStyleHint = 0x1FE3, | |
45835 | FontStyleStrategy = 0x1FE4, | |
45836 | FontKerning = 0x1FE5, | |
45837 | FontFamily = 0x2000, | |
45838 | FontPointSize = 0x2001, | |
45839 | FontSizeAdjustment = 0x2002, | |
45840 | FontSizeIncrement = FontSizeAdjustment, | |
45841 | FontWeight = 0x2003, | |
45842 | FontItalic = 0x2004, | |
45843 | FontUnderline = 0x2005, | |
45844 | FontOverline = 0x2006, | |
45845 | FontStrikeOut = 0x2007, | |
45846 | FontFixedPitch = 0x2008, | |
45847 | FontPixelSize = 0x2009, | |
45848 | LastFontProperty = FontPixelSize, | |
45849 | ||
45850 | TextUnderlineColor = 0x2010, | |
45851 | TextVerticalAlignment = 0x2021, | |
45852 | TextOutline = 0x2022, | |
45853 | TextUnderlineStyle = 0x2023, | |
45854 | TextToolTip = 0x2024, | |
45855 | ||
45856 | IsAnchor = 0x2030, | |
45857 | AnchorHref = 0x2031, | |
45858 | AnchorName = 0x2032, | |
45859 | ObjectType = 0x2f00, | |
45860 | ||
45861 | ||
45862 | ListStyle = 0x3000, | |
45863 | ListIndent = 0x3001, | |
45864 | ||
45865 | ||
45866 | FrameBorder = 0x4000, | |
45867 | FrameMargin = 0x4001, | |
45868 | FramePadding = 0x4002, | |
45869 | FrameWidth = 0x4003, | |
45870 | FrameHeight = 0x4004, | |
45871 | FrameTopMargin = 0x4005, | |
45872 | FrameBottomMargin = 0x4006, | |
45873 | FrameLeftMargin = 0x4007, | |
45874 | FrameRightMargin = 0x4008, | |
45875 | FrameBorderBrush = 0x4009, | |
45876 | FrameBorderStyle = 0x4010, | |
45877 | ||
45878 | TableColumns = 0x4100, | |
45879 | TableColumnWidthConstraints = 0x4101, | |
45880 | TableCellSpacing = 0x4102, | |
45881 | TableCellPadding = 0x4103, | |
45882 | TableHeaderRowCount = 0x4104, | |
45883 | ||
45884 | ||
45885 | TableCellRowSpan = 0x4810, | |
45886 | TableCellColumnSpan = 0x4811, | |
45887 | ||
45888 | TableCellTopPadding = 0x4812, | |
45889 | TableCellBottomPadding = 0x4813, | |
45890 | TableCellLeftPadding = 0x4814, | |
45891 | TableCellRightPadding = 0x4815, | |
45892 | ||
45893 | ||
45894 | ImageName = 0x5000, | |
45895 | ImageWidth = 0x5010, | |
45896 | ImageHeight = 0x5011, | |
45897 | ||
45898 | ||
45899 | FullWidthSelection = 0x06000, | |
45900 | ||
45901 | ||
45902 | PageBreakPolicy = 0x7000, | |
45903 | ||
45904 | ||
45905 | UserProperty = 0x100000 | |
45906 | }; | |
45907 | ||
45908 | enum ObjectTypes { | |
45909 | NoObject, | |
45910 | ImageObject, | |
45911 | TableObject, | |
45912 | TableCellObject, | |
45913 | ||
45914 | UserObject = 0x1000 | |
45915 | }; | |
45916 | ||
45917 | enum PageBreakFlag { | |
45918 | PageBreak_Auto = 0, | |
45919 | PageBreak_AlwaysBefore = 0x001, | |
45920 | PageBreak_AlwaysAfter = 0x010 | |
45921 | ||
45922 | }; | |
45923 | typedef QFlags<PageBreakFlag> PageBreakFlags; | |
45924 | ||
45925 | QTextFormat(); | |
45926 | ||
45927 | explicit QTextFormat(int type); | |
45928 | ||
45929 | QTextFormat(const QTextFormat &rhs); | |
45930 | QTextFormat &operator=(const QTextFormat &rhs); | |
45931 | ~QTextFormat(); | |
45932 | ||
45933 | void merge(const QTextFormat &other); | |
45934 | ||
45935 | inline bool isValid() const { return type() != InvalidFormat; } | |
45936 | ||
45937 | int type() const; | |
45938 | ||
45939 | int objectIndex() const; | |
45940 | void setObjectIndex(int object); | |
45941 | ||
45942 | QVariant property(int propertyId) const; | |
45943 | void setProperty(int propertyId, const QVariant &value); | |
45944 | void clearProperty(int propertyId); | |
45945 | bool hasProperty(int propertyId) const; | |
45946 | ||
45947 | bool boolProperty(int propertyId) const; | |
45948 | int intProperty(int propertyId) const; | |
45949 | qreal doubleProperty(int propertyId) const; | |
45950 | QString stringProperty(int propertyId) const; | |
45951 | QColor colorProperty(int propertyId) const; | |
45952 | QPen penProperty(int propertyId) const; | |
45953 | QBrush brushProperty(int propertyId) const; | |
45954 | QTextLength lengthProperty(int propertyId) const; | |
45955 | QVector<QTextLength> lengthVectorProperty(int propertyId) const; | |
45956 | ||
45957 | void setProperty(int propertyId, const QVector<QTextLength> &lengths); | |
45958 | ||
45959 | QMap<int, QVariant> properties() const; | |
45960 | int propertyCount() const; | |
45961 | ||
45962 | inline void setObjectType(int type); | |
45963 | inline int objectType() const | |
45964 | { return intProperty(ObjectType); } | |
45965 | ||
45966 | inline bool isCharFormat() const { return type() == CharFormat; } | |
45967 | inline bool isBlockFormat() const { return type() == BlockFormat; } | |
45968 | inline bool isListFormat() const { return type() == ListFormat; } | |
45969 | inline bool isFrameFormat() const { return type() == FrameFormat; } | |
45970 | inline bool isImageFormat() const { return type() == CharFormat && objectType() == ImageObject; } | |
45971 | inline bool isTableFormat() const { return type() == FrameFormat && objectType() == TableObject; } | |
45972 | inline bool isTableCellFormat() const { return type() == CharFormat && objectType() == TableCellObject; } | |
45973 | ||
45974 | QTextBlockFormat toBlockFormat() const; | |
45975 | QTextCharFormat toCharFormat() const; | |
45976 | QTextListFormat toListFormat() const; | |
45977 | QTextTableFormat toTableFormat() const; | |
45978 | QTextFrameFormat toFrameFormat() const; | |
45979 | QTextImageFormat toImageFormat() const; | |
45980 | QTextTableCellFormat toTableCellFormat() const; | |
45981 | ||
45982 | bool operator==(const QTextFormat &rhs) const; | |
45983 | inline bool operator!=(const QTextFormat &rhs) const { return !operator==(rhs); } | |
45984 | operator QVariant() const; | |
45985 | ||
45986 | inline void setLayoutDirection(Qt::LayoutDirection direction) | |
45987 | { setProperty(QTextFormat::LayoutDirection, direction); } | |
45988 | inline Qt::LayoutDirection layoutDirection() const | |
45989 | { return Qt::LayoutDirection(intProperty(QTextFormat::LayoutDirection)); } | |
45990 | ||
45991 | inline void setBackground(const QBrush &brush) | |
45992 | { setProperty(BackgroundBrush, brush); } | |
45993 | inline QBrush background() const | |
45994 | { return brushProperty(BackgroundBrush); } | |
45995 | inline void clearBackground() | |
45996 | { clearProperty(BackgroundBrush); } | |
45997 | ||
45998 | inline void setForeground(const QBrush &brush) | |
45999 | { setProperty(ForegroundBrush, brush); } | |
46000 | inline QBrush foreground() const | |
46001 | { return brushProperty(ForegroundBrush); } | |
46002 | inline void clearForeground() | |
46003 | { clearProperty(ForegroundBrush); } | |
46004 | ||
46005 | private: | |
46006 | QSharedDataPointer<QTextFormatPrivate> d; | |
46007 | qint32 format_type; | |
46008 | ||
46009 | friend class QTextFormatCollection; | |
46010 | friend class QTextCharFormat; | |
46011 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextFormat &); | |
46012 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextFormat &); | |
46013 | }; | |
46014 | ||
46015 | inline void QTextFormat::setObjectType(int atype) | |
46016 | { setProperty(ObjectType, atype); } | |
46017 | ||
46018 | inline QFlags<QTextFormat::PageBreakFlags::enum_type> operator|(QTextFormat::PageBreakFlags::enum_type f1, QTextFormat::PageBreakFlags::enum_type f2) { return QFlags<QTextFormat::PageBreakFlags::enum_type>(f1) | f2; } inline QFlags<QTextFormat::PageBreakFlags::enum_type> operator|(QTextFormat::PageBreakFlags::enum_type f1, QFlags<QTextFormat::PageBreakFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QTextFormat::PageBreakFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
46019 | ||
46020 | class __attribute__((visibility("default"))) QTextCharFormat : public QTextFormat | |
46021 | { | |
46022 | public: | |
46023 | enum VerticalAlignment { | |
46024 | AlignNormal = 0, | |
46025 | AlignSuperScript, | |
46026 | AlignSubScript, | |
46027 | AlignMiddle, | |
46028 | AlignTop, | |
46029 | AlignBottom | |
46030 | }; | |
46031 | enum UnderlineStyle { | |
46032 | NoUnderline, | |
46033 | SingleUnderline, | |
46034 | DashUnderline, | |
46035 | DotLine, | |
46036 | DashDotLine, | |
46037 | DashDotDotLine, | |
46038 | WaveUnderline, | |
46039 | SpellCheckUnderline | |
46040 | }; | |
46041 | ||
46042 | QTextCharFormat(); | |
46043 | ||
46044 | bool isValid() const { return isCharFormat(); } | |
46045 | void setFont(const QFont &font); | |
46046 | QFont font() const; | |
46047 | ||
46048 | inline void setFontFamily(const QString &family) | |
46049 | { setProperty(FontFamily, family); } | |
46050 | inline QString fontFamily() const | |
46051 | { return stringProperty(FontFamily); } | |
46052 | ||
46053 | inline void setFontPointSize(qreal size) | |
46054 | { setProperty(FontPointSize, size); } | |
46055 | inline qreal fontPointSize() const | |
46056 | { return doubleProperty(FontPointSize); } | |
46057 | ||
46058 | inline void setFontWeight(int weight) | |
46059 | { if (weight == QFont::Normal) weight = 0; setProperty(FontWeight, weight); } | |
46060 | inline int fontWeight() const | |
46061 | { int weight = intProperty(FontWeight); if (weight == 0) weight = QFont::Normal; return weight; } | |
46062 | inline void setFontItalic(bool italic) | |
46063 | { setProperty(FontItalic, italic); } | |
46064 | inline bool fontItalic() const | |
46065 | { return boolProperty(FontItalic); } | |
46066 | inline void setFontCapitalization(QFont::Capitalization capitalization) | |
46067 | { setProperty(FontCapitalization, capitalization); } | |
46068 | inline QFont::Capitalization fontCapitalization() const | |
46069 | { return static_cast<QFont::Capitalization>(intProperty(FontCapitalization)); } | |
46070 | inline void setFontLetterSpacing(qreal spacing) | |
46071 | { setProperty(FontLetterSpacing, spacing); } | |
46072 | inline qreal fontLetterSpacing() const | |
46073 | { return doubleProperty(FontLetterSpacing); } | |
46074 | inline void setFontWordSpacing(qreal spacing) | |
46075 | { setProperty(FontWordSpacing, spacing); } | |
46076 | inline qreal fontWordSpacing() const | |
46077 | { return doubleProperty(FontWordSpacing); } | |
46078 | ||
46079 | inline void setFontUnderline(bool underline) | |
46080 | { setProperty(TextUnderlineStyle, underline ? SingleUnderline : NoUnderline); } | |
46081 | bool fontUnderline() const; | |
46082 | ||
46083 | inline void setFontOverline(bool overline) | |
46084 | { setProperty(FontOverline, overline); } | |
46085 | inline bool fontOverline() const | |
46086 | { return boolProperty(FontOverline); } | |
46087 | ||
46088 | inline void setFontStrikeOut(bool strikeOut) | |
46089 | { setProperty(FontStrikeOut, strikeOut); } | |
46090 | inline bool fontStrikeOut() const | |
46091 | { return boolProperty(FontStrikeOut); } | |
46092 | ||
46093 | inline void setUnderlineColor(const QColor &color) | |
46094 | { setProperty(TextUnderlineColor, color); } | |
46095 | inline QColor underlineColor() const | |
46096 | { return colorProperty(TextUnderlineColor); } | |
46097 | ||
46098 | inline void setFontFixedPitch(bool fixedPitch) | |
46099 | { setProperty(FontFixedPitch, fixedPitch); } | |
46100 | inline bool fontFixedPitch() const | |
46101 | { return boolProperty(FontFixedPitch); } | |
46102 | ||
46103 | inline void setFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault) | |
46104 | { setProperty(FontStyleHint, hint); setProperty(FontStyleStrategy, strategy); } | |
46105 | inline void setFontStyleStrategy(QFont::StyleStrategy strategy) | |
46106 | { setProperty(FontStyleStrategy, strategy); } | |
46107 | QFont::StyleHint fontStyleHint() const | |
46108 | { return static_cast<QFont::StyleHint>(intProperty(FontStyleHint)); } | |
46109 | QFont::StyleStrategy fontStyleStrategy() const | |
46110 | { return static_cast<QFont::StyleStrategy>(intProperty(FontStyleStrategy)); } | |
46111 | ||
46112 | inline void setFontKerning(bool enable) | |
46113 | { setProperty(FontKerning, enable); } | |
46114 | inline bool fontKerning() const | |
46115 | { return boolProperty(FontKerning); } | |
46116 | ||
46117 | void setUnderlineStyle(UnderlineStyle style); | |
46118 | inline UnderlineStyle underlineStyle() const | |
46119 | { return static_cast<UnderlineStyle>(intProperty(TextUnderlineStyle)); } | |
46120 | ||
46121 | inline void setVerticalAlignment(VerticalAlignment alignment) | |
46122 | { setProperty(TextVerticalAlignment, alignment); } | |
46123 | inline VerticalAlignment verticalAlignment() const | |
46124 | { return static_cast<VerticalAlignment>(intProperty(TextVerticalAlignment)); } | |
46125 | ||
46126 | inline void setTextOutline(const QPen &pen) | |
46127 | { setProperty(TextOutline, pen); } | |
46128 | inline QPen textOutline() const | |
46129 | { return penProperty(TextOutline); } | |
46130 | ||
46131 | inline void setToolTip(const QString &tip) | |
46132 | { setProperty(TextToolTip, tip); } | |
46133 | inline QString toolTip() const | |
46134 | { return stringProperty(TextToolTip); } | |
46135 | ||
46136 | inline void setAnchor(bool anchor) | |
46137 | { setProperty(IsAnchor, anchor); } | |
46138 | inline bool isAnchor() const | |
46139 | { return boolProperty(IsAnchor); } | |
46140 | ||
46141 | inline void setAnchorHref(const QString &value) | |
46142 | { setProperty(AnchorHref, value); } | |
46143 | inline QString anchorHref() const | |
46144 | { return stringProperty(AnchorHref); } | |
46145 | ||
46146 | inline void setAnchorName(const QString &name) | |
46147 | { setAnchorNames(QStringList(name)); } | |
46148 | QString anchorName() const; | |
46149 | ||
46150 | inline void setAnchorNames(const QStringList &names) | |
46151 | { setProperty(AnchorName, names); } | |
46152 | QStringList anchorNames() const; | |
46153 | ||
46154 | inline void setTableCellRowSpan(int tableCellRowSpan); | |
46155 | inline int tableCellRowSpan() const | |
46156 | { int s = intProperty(TableCellRowSpan); if (s == 0) s = 1; return s; } | |
46157 | inline void setTableCellColumnSpan(int tableCellColumnSpan); | |
46158 | inline int tableCellColumnSpan() const | |
46159 | { int s = intProperty(TableCellColumnSpan); if (s == 0) s = 1; return s; } | |
46160 | ||
46161 | protected: | |
46162 | explicit QTextCharFormat(const QTextFormat &fmt); | |
46163 | friend class QTextFormat; | |
46164 | }; | |
46165 | ||
46166 | inline void QTextCharFormat::setTableCellRowSpan(int _tableCellRowSpan) | |
46167 | { | |
46168 | if (_tableCellRowSpan <= 1) | |
46169 | clearProperty(TableCellRowSpan); | |
46170 | else | |
46171 | setProperty(TableCellRowSpan, _tableCellRowSpan); | |
46172 | } | |
46173 | ||
46174 | inline void QTextCharFormat::setTableCellColumnSpan(int _tableCellColumnSpan) | |
46175 | { | |
46176 | if (_tableCellColumnSpan <= 1) | |
46177 | clearProperty(TableCellColumnSpan); | |
46178 | else | |
46179 | setProperty(TableCellColumnSpan, _tableCellColumnSpan); | |
46180 | } | |
46181 | ||
46182 | class __attribute__((visibility("default"))) QTextBlockFormat : public QTextFormat | |
46183 | { | |
46184 | public: | |
46185 | QTextBlockFormat(); | |
46186 | ||
46187 | bool isValid() const { return isBlockFormat(); } | |
46188 | ||
46189 | inline void setAlignment(Qt::Alignment alignment); | |
46190 | inline Qt::Alignment alignment() const | |
46191 | { int a = intProperty(BlockAlignment); if (a == 0) a = Qt::AlignLeft; return QFlag(a); } | |
46192 | ||
46193 | inline void setTopMargin(qreal margin) | |
46194 | { setProperty(BlockTopMargin, margin); } | |
46195 | inline qreal topMargin() const | |
46196 | { return doubleProperty(BlockTopMargin); } | |
46197 | ||
46198 | inline void setBottomMargin(qreal margin) | |
46199 | { setProperty(BlockBottomMargin, margin); } | |
46200 | inline qreal bottomMargin() const | |
46201 | { return doubleProperty(BlockBottomMargin); } | |
46202 | ||
46203 | inline void setLeftMargin(qreal margin) | |
46204 | { setProperty(BlockLeftMargin, margin); } | |
46205 | inline qreal leftMargin() const | |
46206 | { return doubleProperty(BlockLeftMargin); } | |
46207 | ||
46208 | inline void setRightMargin(qreal margin) | |
46209 | { setProperty(BlockRightMargin, margin); } | |
46210 | inline qreal rightMargin() const | |
46211 | { return doubleProperty(BlockRightMargin); } | |
46212 | ||
46213 | inline void setTextIndent(qreal aindent) | |
46214 | { setProperty(TextIndent, aindent); } | |
46215 | inline qreal textIndent() const | |
46216 | { return doubleProperty(TextIndent); } | |
46217 | ||
46218 | inline void setIndent(int indent); | |
46219 | inline int indent() const | |
46220 | { return intProperty(BlockIndent); } | |
46221 | ||
46222 | inline void setNonBreakableLines(bool b) | |
46223 | { setProperty(BlockNonBreakableLines, b); } | |
46224 | inline bool nonBreakableLines() const | |
46225 | { return boolProperty(BlockNonBreakableLines); } | |
46226 | ||
46227 | inline void setPageBreakPolicy(PageBreakFlags flags) | |
46228 | { setProperty(PageBreakPolicy, int(flags)); } | |
46229 | inline PageBreakFlags pageBreakPolicy() const | |
46230 | { return PageBreakFlags(intProperty(PageBreakPolicy)); } | |
46231 | ||
46232 | void setTabPositions(const QList<QTextOption::Tab> &tabs); | |
46233 | QList<QTextOption::Tab> tabPositions() const; | |
46234 | ||
46235 | protected: | |
46236 | explicit QTextBlockFormat(const QTextFormat &fmt); | |
46237 | friend class QTextFormat; | |
46238 | }; | |
46239 | ||
46240 | inline void QTextBlockFormat::setAlignment(Qt::Alignment aalignment) | |
46241 | { setProperty(BlockAlignment, int(aalignment)); } | |
46242 | ||
46243 | inline void QTextBlockFormat::setIndent(int aindent) | |
46244 | { setProperty(BlockIndent, aindent); } | |
46245 | ||
46246 | class __attribute__((visibility("default"))) QTextListFormat : public QTextFormat | |
46247 | { | |
46248 | public: | |
46249 | QTextListFormat(); | |
46250 | ||
46251 | bool isValid() const { return isListFormat(); } | |
46252 | ||
46253 | enum Style { | |
46254 | ListDisc = -1, | |
46255 | ListCircle = -2, | |
46256 | ListSquare = -3, | |
46257 | ListDecimal = -4, | |
46258 | ListLowerAlpha = -5, | |
46259 | ListUpperAlpha = -6, | |
46260 | ListStyleUndefined = 0 | |
46261 | }; | |
46262 | ||
46263 | inline void setStyle(Style style); | |
46264 | inline Style style() const | |
46265 | { return static_cast<Style>(intProperty(ListStyle)); } | |
46266 | ||
46267 | inline void setIndent(int indent); | |
46268 | inline int indent() const | |
46269 | { return intProperty(ListIndent); } | |
46270 | ||
46271 | protected: | |
46272 | explicit QTextListFormat(const QTextFormat &fmt); | |
46273 | friend class QTextFormat; | |
46274 | }; | |
46275 | ||
46276 | inline void QTextListFormat::setStyle(Style astyle) | |
46277 | { setProperty(ListStyle, astyle); } | |
46278 | ||
46279 | inline void QTextListFormat::setIndent(int aindent) | |
46280 | { setProperty(ListIndent, aindent); } | |
46281 | ||
46282 | class __attribute__((visibility("default"))) QTextImageFormat : public QTextCharFormat | |
46283 | { | |
46284 | public: | |
46285 | QTextImageFormat(); | |
46286 | ||
46287 | bool isValid() const { return isImageFormat(); } | |
46288 | ||
46289 | inline void setName(const QString &name); | |
46290 | inline QString name() const | |
46291 | { return stringProperty(ImageName); } | |
46292 | ||
46293 | inline void setWidth(qreal width); | |
46294 | inline qreal width() const | |
46295 | { return doubleProperty(ImageWidth); } | |
46296 | ||
46297 | inline void setHeight(qreal height); | |
46298 | inline qreal height() const | |
46299 | { return doubleProperty(ImageHeight); } | |
46300 | ||
46301 | protected: | |
46302 | explicit QTextImageFormat(const QTextFormat &format); | |
46303 | friend class QTextFormat; | |
46304 | }; | |
46305 | ||
46306 | inline void QTextImageFormat::setName(const QString &aname) | |
46307 | { setProperty(ImageName, aname); } | |
46308 | ||
46309 | inline void QTextImageFormat::setWidth(qreal awidth) | |
46310 | { setProperty(ImageWidth, awidth); } | |
46311 | ||
46312 | inline void QTextImageFormat::setHeight(qreal aheight) | |
46313 | { setProperty(ImageHeight, aheight); } | |
46314 | ||
46315 | class __attribute__((visibility("default"))) QTextFrameFormat : public QTextFormat | |
46316 | { | |
46317 | public: | |
46318 | QTextFrameFormat(); | |
46319 | ||
46320 | bool isValid() const { return isFrameFormat(); } | |
46321 | ||
46322 | enum Position { | |
46323 | InFlow, | |
46324 | FloatLeft, | |
46325 | FloatRight | |
46326 | ||
46327 | ||
46328 | }; | |
46329 | ||
46330 | enum BorderStyle { | |
46331 | BorderStyle_None, | |
46332 | BorderStyle_Dotted, | |
46333 | BorderStyle_Dashed, | |
46334 | BorderStyle_Solid, | |
46335 | BorderStyle_Double, | |
46336 | BorderStyle_DotDash, | |
46337 | BorderStyle_DotDotDash, | |
46338 | BorderStyle_Groove, | |
46339 | BorderStyle_Ridge, | |
46340 | BorderStyle_Inset, | |
46341 | BorderStyle_Outset | |
46342 | }; | |
46343 | ||
46344 | inline void setPosition(Position f) | |
46345 | { setProperty(CssFloat, f); } | |
46346 | inline Position position() const | |
46347 | { return static_cast<Position>(intProperty(CssFloat)); } | |
46348 | ||
46349 | inline void setBorder(qreal border); | |
46350 | inline qreal border() const | |
46351 | { return doubleProperty(FrameBorder); } | |
46352 | ||
46353 | inline void setBorderBrush(const QBrush &brush) | |
46354 | { setProperty(FrameBorderBrush, brush); } | |
46355 | inline QBrush borderBrush() const | |
46356 | { return brushProperty(FrameBorderBrush); } | |
46357 | ||
46358 | inline void setBorderStyle(BorderStyle style) | |
46359 | { setProperty(FrameBorderStyle, style); } | |
46360 | inline BorderStyle borderStyle() const | |
46361 | { return static_cast<BorderStyle>(intProperty(FrameBorderStyle)); } | |
46362 | ||
46363 | void setMargin(qreal margin); | |
46364 | inline qreal margin() const | |
46365 | { return doubleProperty(FrameMargin); } | |
46366 | ||
46367 | inline void setTopMargin(qreal margin); | |
46368 | qreal topMargin() const; | |
46369 | ||
46370 | inline void setBottomMargin(qreal margin); | |
46371 | qreal bottomMargin() const; | |
46372 | ||
46373 | inline void setLeftMargin(qreal margin); | |
46374 | qreal leftMargin() const; | |
46375 | ||
46376 | inline void setRightMargin(qreal margin); | |
46377 | qreal rightMargin() const; | |
46378 | ||
46379 | inline void setPadding(qreal padding); | |
46380 | inline qreal padding() const | |
46381 | { return doubleProperty(FramePadding); } | |
46382 | ||
46383 | inline void setWidth(qreal width); | |
46384 | inline void setWidth(const QTextLength &length) | |
46385 | { setProperty(FrameWidth, length); } | |
46386 | inline QTextLength width() const | |
46387 | { return lengthProperty(FrameWidth); } | |
46388 | ||
46389 | inline void setHeight(qreal height); | |
46390 | inline void setHeight(const QTextLength &height); | |
46391 | inline QTextLength height() const | |
46392 | { return lengthProperty(FrameHeight); } | |
46393 | ||
46394 | inline void setPageBreakPolicy(PageBreakFlags flags) | |
46395 | { setProperty(PageBreakPolicy, int(flags)); } | |
46396 | inline PageBreakFlags pageBreakPolicy() const | |
46397 | { return PageBreakFlags(intProperty(PageBreakPolicy)); } | |
46398 | ||
46399 | protected: | |
46400 | explicit QTextFrameFormat(const QTextFormat &fmt); | |
46401 | friend class QTextFormat; | |
46402 | }; | |
46403 | ||
46404 | inline void QTextFrameFormat::setBorder(qreal aborder) | |
46405 | { setProperty(FrameBorder, aborder); } | |
46406 | ||
46407 | inline void QTextFrameFormat::setPadding(qreal apadding) | |
46408 | { setProperty(FramePadding, apadding); } | |
46409 | ||
46410 | inline void QTextFrameFormat::setWidth(qreal awidth) | |
46411 | { setProperty(FrameWidth, QTextLength(QTextLength::FixedLength, awidth)); } | |
46412 | ||
46413 | inline void QTextFrameFormat::setHeight(qreal aheight) | |
46414 | { setProperty(FrameHeight, QTextLength(QTextLength::FixedLength, aheight)); } | |
46415 | inline void QTextFrameFormat::setHeight(const QTextLength &aheight) | |
46416 | { setProperty(FrameHeight, aheight); } | |
46417 | ||
46418 | inline void QTextFrameFormat::setTopMargin(qreal amargin) | |
46419 | { setProperty(FrameTopMargin, amargin); } | |
46420 | ||
46421 | inline void QTextFrameFormat::setBottomMargin(qreal amargin) | |
46422 | { setProperty(FrameBottomMargin, amargin); } | |
46423 | ||
46424 | inline void QTextFrameFormat::setLeftMargin(qreal amargin) | |
46425 | { setProperty(FrameLeftMargin, amargin); } | |
46426 | ||
46427 | inline void QTextFrameFormat::setRightMargin(qreal amargin) | |
46428 | { setProperty(FrameRightMargin, amargin); } | |
46429 | ||
46430 | class __attribute__((visibility("default"))) QTextTableFormat : public QTextFrameFormat | |
46431 | { | |
46432 | public: | |
46433 | QTextTableFormat(); | |
46434 | ||
46435 | inline bool isValid() const { return isTableFormat(); } | |
46436 | ||
46437 | inline int columns() const | |
46438 | { int cols = intProperty(TableColumns); if (cols == 0) cols = 1; return cols; } | |
46439 | inline void setColumns(int columns); | |
46440 | ||
46441 | inline void setColumnWidthConstraints(const QVector<QTextLength> &constraints) | |
46442 | { setProperty(TableColumnWidthConstraints, constraints); } | |
46443 | ||
46444 | inline QVector<QTextLength> columnWidthConstraints() const | |
46445 | { return lengthVectorProperty(TableColumnWidthConstraints); } | |
46446 | ||
46447 | inline void clearColumnWidthConstraints() | |
46448 | { clearProperty(TableColumnWidthConstraints); } | |
46449 | ||
46450 | inline qreal cellSpacing() const | |
46451 | { return doubleProperty(TableCellSpacing); } | |
46452 | inline void setCellSpacing(qreal spacing) | |
46453 | { setProperty(TableCellSpacing, spacing); } | |
46454 | ||
46455 | inline qreal cellPadding() const | |
46456 | { return doubleProperty(TableCellPadding); } | |
46457 | inline void setCellPadding(qreal padding); | |
46458 | ||
46459 | inline void setAlignment(Qt::Alignment alignment); | |
46460 | inline Qt::Alignment alignment() const | |
46461 | { return QFlag(intProperty(BlockAlignment)); } | |
46462 | ||
46463 | inline void setHeaderRowCount(int count) | |
46464 | { setProperty(TableHeaderRowCount, count); } | |
46465 | inline int headerRowCount() const | |
46466 | { return intProperty(TableHeaderRowCount); } | |
46467 | ||
46468 | protected: | |
46469 | explicit QTextTableFormat(const QTextFormat &fmt); | |
46470 | friend class QTextFormat; | |
46471 | }; | |
46472 | ||
46473 | inline void QTextTableFormat::setColumns(int acolumns) | |
46474 | { | |
46475 | if (acolumns == 1) | |
46476 | acolumns = 0; | |
46477 | setProperty(TableColumns, acolumns); | |
46478 | } | |
46479 | ||
46480 | inline void QTextTableFormat::setCellPadding(qreal apadding) | |
46481 | { setProperty(TableCellPadding, apadding); } | |
46482 | ||
46483 | inline void QTextTableFormat::setAlignment(Qt::Alignment aalignment) | |
46484 | { setProperty(BlockAlignment, int(aalignment)); } | |
46485 | ||
46486 | class __attribute__((visibility("default"))) QTextTableCellFormat : public QTextCharFormat | |
46487 | { | |
46488 | public: | |
46489 | QTextTableCellFormat(); | |
46490 | ||
46491 | inline bool isValid() const { return isTableCellFormat(); } | |
46492 | ||
46493 | inline void setTopPadding(qreal padding); | |
46494 | inline qreal topPadding() const; | |
46495 | ||
46496 | inline void setBottomPadding(qreal padding); | |
46497 | inline qreal bottomPadding() const; | |
46498 | ||
46499 | inline void setLeftPadding(qreal padding); | |
46500 | inline qreal leftPadding() const; | |
46501 | ||
46502 | inline void setRightPadding(qreal padding); | |
46503 | inline qreal rightPadding() const; | |
46504 | ||
46505 | inline void setPadding(qreal padding); | |
46506 | ||
46507 | protected: | |
46508 | explicit QTextTableCellFormat(const QTextFormat &fmt); | |
46509 | friend class QTextFormat; | |
46510 | }; | |
46511 | ||
46512 | inline void QTextTableCellFormat::setTopPadding(qreal padding) | |
46513 | { | |
46514 | setProperty(TableCellTopPadding, padding); | |
46515 | } | |
46516 | ||
46517 | inline qreal QTextTableCellFormat::topPadding() const | |
46518 | { | |
46519 | return doubleProperty(TableCellTopPadding); | |
46520 | } | |
46521 | ||
46522 | inline void QTextTableCellFormat::setBottomPadding(qreal padding) | |
46523 | { | |
46524 | setProperty(TableCellBottomPadding, padding); | |
46525 | } | |
46526 | ||
46527 | inline qreal QTextTableCellFormat::bottomPadding() const | |
46528 | { | |
46529 | return doubleProperty(TableCellBottomPadding); | |
46530 | } | |
46531 | ||
46532 | inline void QTextTableCellFormat::setLeftPadding(qreal padding) | |
46533 | { | |
46534 | setProperty(TableCellLeftPadding, padding); | |
46535 | } | |
46536 | ||
46537 | inline qreal QTextTableCellFormat::leftPadding() const | |
46538 | { | |
46539 | return doubleProperty(TableCellLeftPadding); | |
46540 | } | |
46541 | ||
46542 | inline void QTextTableCellFormat::setRightPadding(qreal padding) | |
46543 | { | |
46544 | setProperty(TableCellRightPadding, padding); | |
46545 | } | |
46546 | ||
46547 | inline qreal QTextTableCellFormat::rightPadding() const | |
46548 | { | |
46549 | return doubleProperty(TableCellRightPadding); | |
46550 | } | |
46551 | ||
46552 | inline void QTextTableCellFormat::setPadding(qreal padding) | |
46553 | { | |
46554 | setTopPadding(padding); | |
46555 | setBottomPadding(padding); | |
46556 | setLeftPadding(padding); | |
46557 | setRightPadding(padding); | |
46558 | } | |
46559 | ||
46560 | ||
46561 | ||
46562 | ||
46563 | ||
46564 | # 1 "../../include/QtGui/qtextformat.h" 2 | |
46565 | # 52 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextlayout.h" 2 | |
46566 | ||
46567 | ||
46568 | ||
46569 | ||
46570 | ||
46571 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
46572 | ||
46573 | class QTextEngine; | |
46574 | class QFont; | |
46575 | class QRect; | |
46576 | class QRegion; | |
46577 | class QTextFormat; | |
46578 | class QPalette; | |
46579 | class QPainter; | |
46580 | ||
46581 | class __attribute__((visibility("default"))) QTextInlineObject | |
46582 | { | |
46583 | public: | |
46584 | QTextInlineObject(int i, QTextEngine *e) : itm(i), eng(e) {} | |
46585 | inline QTextInlineObject() : itm(0), eng(0) {} | |
46586 | inline bool isValid() const { return eng; } | |
46587 | ||
46588 | QRectF rect() const; | |
46589 | qreal width() const; | |
46590 | qreal ascent() const; | |
46591 | qreal descent() const; | |
46592 | qreal height() const; | |
46593 | ||
46594 | Qt::LayoutDirection textDirection() const; | |
46595 | ||
46596 | void setWidth(qreal w); | |
46597 | void setAscent(qreal a); | |
46598 | void setDescent(qreal d); | |
46599 | ||
46600 | int textPosition() const; | |
46601 | ||
46602 | int formatIndex() const; | |
46603 | QTextFormat format() const; | |
46604 | ||
46605 | private: | |
46606 | friend class QTextLayout; | |
46607 | int itm; | |
46608 | QTextEngine *eng; | |
46609 | }; | |
46610 | ||
46611 | class QPaintDevice; | |
46612 | class QTextFormat; | |
46613 | class QTextLine; | |
46614 | class QTextBlock; | |
46615 | class QTextOption; | |
46616 | ||
46617 | class __attribute__((visibility("default"))) QTextLayout | |
46618 | { | |
46619 | public: | |
46620 | ||
46621 | QTextLayout(); | |
46622 | QTextLayout(const QString& text); | |
46623 | QTextLayout(const QString& text, const QFont &font, QPaintDevice *paintdevice = 0); | |
46624 | QTextLayout(const QTextBlock &b); | |
46625 | ~QTextLayout(); | |
46626 | ||
46627 | void setFont(const QFont &f); | |
46628 | QFont font() const; | |
46629 | ||
46630 | void setText(const QString& string); | |
46631 | QString text() const; | |
46632 | ||
46633 | void setTextOption(const QTextOption &option); | |
46634 | QTextOption textOption() const; | |
46635 | ||
46636 | void setPreeditArea(int position, const QString &text); | |
46637 | int preeditAreaPosition() const; | |
46638 | QString preeditAreaText() const; | |
46639 | ||
46640 | struct FormatRange { | |
46641 | int start; | |
46642 | int length; | |
46643 | QTextCharFormat format; | |
46644 | }; | |
46645 | void setAdditionalFormats(const QList<FormatRange> &overrides); | |
46646 | QList<FormatRange> additionalFormats() const; | |
46647 | void clearAdditionalFormats(); | |
46648 | ||
46649 | void setCacheEnabled(bool enable); | |
46650 | bool cacheEnabled() const; | |
46651 | ||
46652 | void beginLayout(); | |
46653 | void endLayout(); | |
46654 | void clearLayout(); | |
46655 | ||
46656 | QTextLine createLine(); | |
46657 | ||
46658 | int lineCount() const; | |
46659 | QTextLine lineAt(int i) const; | |
46660 | QTextLine lineForTextPosition(int pos) const; | |
46661 | ||
46662 | enum CursorMode { | |
46663 | SkipCharacters, | |
46664 | SkipWords | |
46665 | }; | |
46666 | bool isValidCursorPosition(int pos) const; | |
46667 | int nextCursorPosition(int oldPos, CursorMode mode = SkipCharacters) const; | |
46668 | int previousCursorPosition(int oldPos, CursorMode mode = SkipCharacters) const; | |
46669 | ||
46670 | void draw(QPainter *p, const QPointF &pos, const QVector<FormatRange> &selections = QVector<FormatRange>(), | |
46671 | const QRectF &clip = QRectF()) const; | |
46672 | void drawCursor(QPainter *p, const QPointF &pos, int cursorPosition) const; | |
46673 | void drawCursor(QPainter *p, const QPointF &pos, int cursorPosition, int width) const; | |
46674 | ||
46675 | QPointF position() const; | |
46676 | void setPosition(const QPointF &p); | |
46677 | ||
46678 | QRectF boundingRect() const; | |
46679 | ||
46680 | qreal minimumWidth() const; | |
46681 | qreal maximumWidth() const; | |
46682 | ||
46683 | QTextEngine *engine() const { return d; } | |
46684 | void setFlags(int flags); | |
46685 | private: | |
46686 | QTextLayout(QTextEngine *e) : d(e) {} | |
46687 | QTextLayout(const QTextLayout &); QTextLayout &operator=(const QTextLayout &); | |
46688 | ||
46689 | friend class QPainter; | |
46690 | friend class QPSPrinter; | |
46691 | friend class QGraphicsSimpleTextItemPrivate; | |
46692 | friend class QGraphicsSimpleTextItem; | |
46693 | friend void qt_format_text(const QFont &font, const QRectF &_r, int tf, const QTextOption *, const QString& str, | |
46694 | QRectF *brect, int tabstops, int* tabarray, int tabarraylen, | |
46695 | QPainter *painter); | |
46696 | QTextEngine *d; | |
46697 | }; | |
46698 | ||
46699 | ||
46700 | class __attribute__((visibility("default"))) QTextLine | |
46701 | { | |
46702 | public: | |
46703 | inline QTextLine() : i(0), eng(0) {} | |
46704 | inline bool isValid() const { return eng; } | |
46705 | ||
46706 | QRectF rect() const; | |
46707 | qreal x() const; | |
46708 | qreal y() const; | |
46709 | qreal width() const; | |
46710 | qreal ascent() const; | |
46711 | qreal descent() const; | |
46712 | qreal height() const; | |
46713 | ||
46714 | qreal naturalTextWidth() const; | |
46715 | QRectF naturalTextRect() const; | |
46716 | ||
46717 | enum Edge { | |
46718 | Leading, | |
46719 | Trailing | |
46720 | }; | |
46721 | enum CursorPosition { | |
46722 | CursorBetweenCharacters, | |
46723 | CursorOnCharacter | |
46724 | }; | |
46725 | ||
46726 | ||
46727 | qreal cursorToX(int *cursorPos, Edge edge = Leading) const; | |
46728 | inline qreal cursorToX(int cursorPos, Edge edge = Leading) const { return cursorToX(&cursorPos, edge); } | |
46729 | int xToCursor(qreal x, CursorPosition = CursorBetweenCharacters) const; | |
46730 | ||
46731 | void setLineWidth(qreal width); | |
46732 | void setNumColumns(int columns); | |
46733 | void setNumColumns(int columns, qreal alignmentWidth); | |
46734 | ||
46735 | void setPosition(const QPointF &pos); | |
46736 | QPointF position() const; | |
46737 | ||
46738 | int textStart() const; | |
46739 | int textLength() const; | |
46740 | ||
46741 | int lineNumber() const { return i; } | |
46742 | ||
46743 | void draw(QPainter *p, const QPointF &point, const QTextLayout::FormatRange *selection = 0) const; | |
46744 | ||
46745 | private: | |
46746 | QTextLine(int line, QTextEngine *e) : i(line), eng(e) {} | |
46747 | void layout_helper(int numGlyphs); | |
46748 | friend class QTextLayout; | |
46749 | int i; | |
46750 | QTextEngine *eng; | |
46751 | }; | |
46752 | ||
46753 | ||
46754 | ||
46755 | ||
46756 | # 1 "../../include/QtGui/qtextlayout.h" 2 | |
46757 | # 61 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
46758 | # 1 "../../include/QtGui/private/qtextformat_p.h" 1 | |
46759 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat_p.h" 1 | |
46760 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat_p.h" | |
46761 | #define QTEXTFORMAT_P_H | |
46762 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat_p.h" | |
46763 | # 1 "../../include/QtGui/qtextformat.h" 1 | |
46764 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat_p.h" 2 | |
46765 | # 1 "../../include/QtCore/qvector.h" 1 | |
46766 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat_p.h" 2 | |
46767 | # 1 "../../include/QtCore/qset.h" 1 | |
46768 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextformat_p.h" 2 | |
46769 | ||
46770 | ||
46771 | ||
46772 | class __attribute__((visibility("default"))) QTextFormatCollection | |
46773 | { | |
46774 | public: | |
46775 | QTextFormatCollection() {} | |
46776 | ~QTextFormatCollection(); | |
46777 | ||
46778 | QTextFormatCollection(const QTextFormatCollection &rhs); | |
46779 | QTextFormatCollection &operator=(const QTextFormatCollection &rhs); | |
46780 | ||
46781 | QTextFormat objectFormat(int objectIndex) const; | |
46782 | void setObjectFormat(int objectIndex, const QTextFormat &format); | |
46783 | ||
46784 | int objectFormatIndex(int objectIndex) const; | |
46785 | void setObjectFormatIndex(int objectIndex, int formatIndex); | |
46786 | ||
46787 | int createObjectIndex(const QTextFormat &f); | |
46788 | ||
46789 | int indexForFormat(const QTextFormat &f); | |
46790 | bool hasFormatCached(const QTextFormat &format) const; | |
46791 | ||
46792 | QTextFormat format(int idx) const; | |
46793 | inline QTextBlockFormat blockFormat(int index) const | |
46794 | { return format(index).toBlockFormat(); } | |
46795 | inline QTextCharFormat charFormat(int index) const | |
46796 | { return format(index).toCharFormat(); } | |
46797 | inline QTextListFormat listFormat(int index) const | |
46798 | { return format(index).toListFormat(); } | |
46799 | inline QTextTableFormat tableFormat(int index) const | |
46800 | { return format(index).toTableFormat(); } | |
46801 | inline QTextImageFormat imageFormat(int index) const | |
46802 | { return format(index).toImageFormat(); } | |
46803 | ||
46804 | inline int numFormats() const { return formats.count(); } | |
46805 | ||
46806 | typedef QVector<QTextFormat> FormatVector; | |
46807 | ||
46808 | FormatVector formats; | |
46809 | QVector<qint32> objFormats; | |
46810 | QSet<uint> hashes; | |
46811 | ||
46812 | inline QFont defaultFont() const { return defaultFnt; } | |
46813 | void setDefaultFont(const QFont &f); | |
46814 | ||
46815 | private: | |
46816 | QFont defaultFnt; | |
46817 | }; | |
46818 | ||
46819 | ||
46820 | # 1 "../../include/QtGui/private/qtextformat_p.h" 2 | |
46821 | # 62 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
46822 | # 1 "../../include/QtGui/private/qfont_p.h" 1 | |
46823 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" 1 | |
46824 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" | |
46825 | #define QFONT_P_H | |
46826 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" | |
46827 | # 1 "../../include/QtGui/qfont.h" 1 | |
46828 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" 2 | |
46829 | # 1 "../../include/QtCore/qmap.h" 1 | |
46830 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" 2 | |
46831 | # 1 "../../include/QtCore/qobject.h" 1 | |
46832 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" 2 | |
46833 | # 1 "../../include/QtCore/private/qunicodetables_p.h" 1 | |
46834 | # 1 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qunicodetables_p.h" 1 | |
46835 | # 56 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qunicodetables_p.h" | |
46836 | #define QUNICODETABLES_P_H | |
46837 | ||
46838 | # 1 "../../include/QtCore/qchar.h" 1 | |
46839 | # 59 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qunicodetables_p.h" 2 | |
46840 | ||
46841 | ||
46842 | ||
46843 | namespace QUnicodeTables { | |
46844 | struct Properties { | |
46845 | ushort category : 8; | |
46846 | ushort line_break_class : 8; | |
46847 | ushort direction : 8; | |
46848 | ushort combiningClass :8; | |
46849 | ushort joining : 2; | |
46850 | signed short digitValue : 6; | |
46851 | ushort unicodeVersion : 4; | |
46852 | ushort lowerCaseSpecial : 1; | |
46853 | ushort upperCaseSpecial : 1; | |
46854 | ushort titleCaseSpecial : 1; | |
46855 | ushort caseFoldSpecial : 1; | |
46856 | signed short mirrorDiff : 16; | |
46857 | signed short lowerCaseDiff : 16; | |
46858 | signed short upperCaseDiff : 16; | |
46859 | signed short titleCaseDiff : 16; | |
46860 | signed short caseFoldDiff : 16; | |
46861 | ushort graphemeBreak : 8; | |
46862 | ushort wordBreak : 8; | |
46863 | ushort sentenceBreak : 8; | |
46864 | }; | |
46865 | __attribute__((visibility("default"))) const Properties* properties(uint ucs4); | |
46866 | __attribute__((visibility("default"))) const Properties* properties(ushort ucs2); | |
46867 | ||
46868 | ||
46869 | ||
46870 | enum Script { | |
46871 | Common, | |
46872 | Greek, | |
46873 | Cyrillic, | |
46874 | Armenian, | |
46875 | Hebrew, | |
46876 | Arabic, | |
46877 | Syriac, | |
46878 | Thaana, | |
46879 | Devanagari, | |
46880 | Bengali, | |
46881 | Gurmukhi, | |
46882 | Gujarati, | |
46883 | Oriya, | |
46884 | Tamil, | |
46885 | Telugu, | |
46886 | Kannada, | |
46887 | Malayalam, | |
46888 | Sinhala, | |
46889 | Thai, | |
46890 | Lao, | |
46891 | Tibetan, | |
46892 | Myanmar, | |
46893 | Georgian, | |
46894 | Hangul, | |
46895 | Ogham, | |
46896 | Runic, | |
46897 | Khmer, | |
46898 | Inherited, | |
46899 | ScriptCount = Inherited, | |
46900 | Latin = Common, | |
46901 | Ethiopic = Common, | |
46902 | Cherokee = Common, | |
46903 | CanadianAboriginal = Common, | |
46904 | Mongolian = Common, | |
46905 | Hiragana = Common, | |
46906 | Katakana = Common, | |
46907 | Bopomofo = Common, | |
46908 | Han = Common, | |
46909 | Yi = Common, | |
46910 | OldItalic = Common, | |
46911 | Gothic = Common, | |
46912 | Deseret = Common, | |
46913 | Tagalog = Common, | |
46914 | Hanunoo = Common, | |
46915 | Buhid = Common, | |
46916 | Tagbanwa = Common, | |
46917 | Limbu = Common, | |
46918 | TaiLe = Common, | |
46919 | LinearB = Common, | |
46920 | Ugaritic = Common, | |
46921 | Shavian = Common, | |
46922 | Osmanya = Common, | |
46923 | Cypriot = Common, | |
46924 | Braille = Common, | |
46925 | Buginese = Common, | |
46926 | Coptic = Common, | |
46927 | NewTaiLue = Common, | |
46928 | Glagolitic = Common, | |
46929 | Tifinagh = Common, | |
46930 | SylotiNagri = Common, | |
46931 | OldPersian = Common, | |
46932 | Kharoshthi = Common, | |
46933 | Balinese = Common, | |
46934 | Cuneiform = Common, | |
46935 | Phoenician = Common, | |
46936 | PhagsPa = Common, | |
46937 | Nko = Common | |
46938 | }; | |
46939 | enum { ScriptSentinel = 32 }; | |
46940 | ||
46941 | ||
46942 | ||
46943 | ||
46944 | ||
46945 | enum LineBreakClass { | |
46946 | LineBreak_OP, LineBreak_CL, LineBreak_QU, LineBreak_GL, LineBreak_NS, | |
46947 | LineBreak_EX, LineBreak_SY, LineBreak_IS, LineBreak_PR, LineBreak_PO, | |
46948 | LineBreak_NU, LineBreak_AL, LineBreak_ID, LineBreak_IN, LineBreak_HY, | |
46949 | LineBreak_BA, LineBreak_BB, LineBreak_B2, LineBreak_ZW, LineBreak_CM, | |
46950 | LineBreak_WJ, LineBreak_H2, LineBreak_H3, LineBreak_JL, LineBreak_JV, | |
46951 | LineBreak_JT, LineBreak_SA, LineBreak_SG, | |
46952 | LineBreak_SP, LineBreak_CR, LineBreak_LF, LineBreak_BK | |
46953 | }; | |
46954 | ||
46955 | ||
46956 | __attribute__((visibility("default"))) QUnicodeTables::LineBreakClass lineBreakClass(uint ucs4); | |
46957 | inline int lineBreakClass(const QChar &ch) { | |
46958 | return QUnicodeTables::lineBreakClass(ch.unicode()); | |
46959 | } | |
46960 | ||
46961 | __attribute__((visibility("default"))) int script(uint ucs4); | |
46962 | __attribute__((visibility("default"))) inline int script(const QChar &ch) { | |
46963 | return script(ch.unicode()); | |
46964 | } | |
46965 | ||
46966 | ||
46967 | enum GraphemeBreak { | |
46968 | GraphemeBreakOther, | |
46969 | GraphemeBreakCR, | |
46970 | GraphemeBreakLF, | |
46971 | GraphemeBreakControl, | |
46972 | GraphemeBreakExtend, | |
46973 | GraphemeBreakL, | |
46974 | GraphemeBreakV, | |
46975 | GraphemeBreakT, | |
46976 | GraphemeBreakLV, | |
46977 | GraphemeBreakLVT | |
46978 | }; | |
46979 | ||
46980 | ||
46981 | enum WordBreak { | |
46982 | WordBreakOther, | |
46983 | WordBreakFormat, | |
46984 | WordBreakKatakana, | |
46985 | WordBreakALetter, | |
46986 | WordBreakMidLetter, | |
46987 | WordBreakMidNum, | |
46988 | WordBreakNumeric, | |
46989 | WordBreakExtendNumLet | |
46990 | }; | |
46991 | ||
46992 | ||
46993 | enum SentenceBreak { | |
46994 | SentenceBreakOther, | |
46995 | SentenceBreakSep, | |
46996 | SentenceBreakFormat, | |
46997 | SentenceBreakSp, | |
46998 | SentenceBreakLower, | |
46999 | SentenceBreakUpper, | |
47000 | SentenceBreakOLetter, | |
47001 | SentenceBreakNumeric, | |
47002 | SentenceBreakATerm, | |
47003 | SentenceBreakSTerm, | |
47004 | SentenceBreakClose | |
47005 | }; | |
47006 | ||
47007 | ||
47008 | } | |
47009 | ||
47010 | ||
47011 | # 1 "../../include/QtCore/private/qunicodetables_p.h" 2 | |
47012 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" 2 | |
47013 | # 1 "../../include/QtGui/qfontdatabase.h" 1 | |
47014 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontdatabase.h" 1 | |
47015 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontdatabase.h" | |
47016 | #define QFONTDATABASE_H | |
47017 | ||
47018 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
47019 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontdatabase.h" 2 | |
47020 | # 1 "../../include/QtCore/qstring.h" 1 | |
47021 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontdatabase.h" 2 | |
47022 | # 1 "../../include/QtGui/qfont.h" 1 | |
47023 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontdatabase.h" 2 | |
47024 | ||
47025 | ||
47026 | ||
47027 | ||
47028 | ||
47029 | ||
47030 | ||
47031 | ||
47032 | ||
47033 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
47034 | ||
47035 | class QStringList; | |
47036 | template <class T> class QList; | |
47037 | struct QFontDef; | |
47038 | class QFontEngine; | |
47039 | ||
47040 | class QFontDatabasePrivate; | |
47041 | ||
47042 | class __attribute__((visibility("default"))) QFontDatabase | |
47043 | { | |
47044 | public: static const QMetaObject staticMetaObject; private: | |
47045 | ||
47046 | public: | |
47047 | ||
47048 | ||
47049 | enum WritingSystem { | |
47050 | Any, | |
47051 | ||
47052 | Latin, | |
47053 | Greek, | |
47054 | Cyrillic, | |
47055 | Armenian, | |
47056 | Hebrew, | |
47057 | Arabic, | |
47058 | Syriac, | |
47059 | Thaana, | |
47060 | Devanagari, | |
47061 | Bengali, | |
47062 | Gurmukhi, | |
47063 | Gujarati, | |
47064 | Oriya, | |
47065 | Tamil, | |
47066 | Telugu, | |
47067 | Kannada, | |
47068 | Malayalam, | |
47069 | Sinhala, | |
47070 | Thai, | |
47071 | Lao, | |
47072 | Tibetan, | |
47073 | Myanmar, | |
47074 | Georgian, | |
47075 | Khmer, | |
47076 | SimplifiedChinese, | |
47077 | TraditionalChinese, | |
47078 | Japanese, | |
47079 | Korean, | |
47080 | Vietnamese, | |
47081 | ||
47082 | Symbol, | |
47083 | Other = Symbol, | |
47084 | ||
47085 | Ogham, | |
47086 | Runic, | |
47087 | ||
47088 | WritingSystemsCount | |
47089 | }; | |
47090 | ||
47091 | static QList<int> standardSizes(); | |
47092 | ||
47093 | QFontDatabase(); | |
47094 | ||
47095 | QList<WritingSystem> writingSystems() const; | |
47096 | QList<WritingSystem> writingSystems(const QString &family) const; | |
47097 | ||
47098 | QStringList families(WritingSystem writingSystem = Any) const; | |
47099 | QStringList styles(const QString &family) const; | |
47100 | QList<int> pointSizes(const QString &family, const QString &style = QString()); | |
47101 | QList<int> smoothSizes(const QString &family, const QString &style); | |
47102 | QString styleString(const QFont &font); | |
47103 | QString styleString(const QFontInfo &fontInfo); | |
47104 | ||
47105 | QFont font(const QString &family, const QString &style, int pointSize) const; | |
47106 | ||
47107 | bool isBitmapScalable(const QString &family, const QString &style = QString()) const; | |
47108 | bool isSmoothlyScalable(const QString &family, const QString &style = QString()) const; | |
47109 | bool isScalable(const QString &family, const QString &style = QString()) const; | |
47110 | bool isFixedPitch(const QString &family, const QString &style = QString()) const; | |
47111 | ||
47112 | bool italic(const QString &family, const QString &style) const; | |
47113 | bool bold(const QString &family, const QString &style) const; | |
47114 | int weight(const QString &family, const QString &style) const; | |
47115 | ||
47116 | static QString writingSystemName(WritingSystem writingSystem); | |
47117 | static QString writingSystemSample(WritingSystem writingSystem); | |
47118 | ||
47119 | static int addApplicationFont(const QString &fileName); | |
47120 | static int addApplicationFontFromData(const QByteArray &fontData); | |
47121 | static QStringList applicationFontFamilies(int id); | |
47122 | static bool removeApplicationFont(int id); | |
47123 | static bool removeAllApplicationFonts(); | |
47124 | ||
47125 | static bool supportsThreadedFontRendering(); | |
47126 | ||
47127 | private: | |
47128 | static void createDatabase(); | |
47129 | static void parseFontName(const QString &name, QString &foundry, QString &family); | |
47130 | ||
47131 | static QFontEngine *findFont(int script, const QFontPrivate *fp, const QFontDef &request); | |
47132 | ||
47133 | static void load(const QFontPrivate *d, int script); | |
47134 | ||
47135 | ||
47136 | ||
47137 | ||
47138 | friend struct QFontDef; | |
47139 | friend class QFontPrivate; | |
47140 | friend class QFontDialog; | |
47141 | friend class QFontDialogPrivate; | |
47142 | friend class QFontEngineMultiXLFD; | |
47143 | friend class QFontEngineMultiQWS; | |
47144 | ||
47145 | QFontDatabasePrivate *d; | |
47146 | }; | |
47147 | ||
47148 | ||
47149 | ||
47150 | ||
47151 | # 1 "../../include/QtGui/qfontdatabase.h" 2 | |
47152 | # 61 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" 2 | |
47153 | # 1 "../../include/QtGui/private/qfixed_p.h" 1 | |
47154 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qfixed_p.h" 1 | |
47155 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qfixed_p.h" | |
47156 | #define QFIXED_P_H | |
47157 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qfixed_p.h" | |
47158 | # 1 "../../include/QtCore/qdebug.h" 1 | |
47159 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qfixed_p.h" 2 | |
47160 | # 1 "../../include/QtCore/qpoint.h" 1 | |
47161 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qfixed_p.h" 2 | |
47162 | # 1 "../../include/QtCore/qsize.h" 1 | |
47163 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qfixed_p.h" 2 | |
47164 | ||
47165 | ||
47166 | ||
47167 | struct QFixed { | |
47168 | public: | |
47169 | QFixed() : val(0) {} | |
47170 | QFixed(int i) : val(i<<6) {} | |
47171 | QFixed(long i) : val(i<<6) {} | |
47172 | QFixed &operator=(int i) { val = (i<<6); return *this; } | |
47173 | QFixed &operator=(long i) { val = (i<<6); return *this; } | |
47174 | ||
47175 | static QFixed fromReal(qreal r) { QFixed f; f.val = (int)(r*qreal(64)); return f; } | |
47176 | static QFixed fromFixed(int fixed) { QFixed f; f.val = fixed; return f; } | |
47177 | ||
47178 | inline int value() const { return val; } | |
47179 | inline void setValue(int value) { val = value; } | |
47180 | ||
47181 | inline int toInt() const { return (((val)+32) & -64)>>6; } | |
47182 | inline qreal toReal() const { return ((qreal)val)/(qreal)64; } | |
47183 | ||
47184 | inline int truncate() const { return val>>6; } | |
47185 | inline QFixed round() const { QFixed f; f.val = ((val)+32) & -64; return f; } | |
47186 | inline QFixed floor() const { QFixed f; f.val = (val) & -64; return f; } | |
47187 | inline QFixed ceil() const { QFixed f; f.val = (val+63) & -64; return f; } | |
47188 | ||
47189 | inline QFixed operator+(int i) const { QFixed f; f.val = (val + (i<<6)); return f; } | |
47190 | inline QFixed operator+(uint i) const { QFixed f; f.val = (val + (i<<6)); return f; } | |
47191 | inline QFixed operator+(const QFixed &other) const { QFixed f; f.val = (val + other.val); return f; } | |
47192 | inline QFixed &operator+=(int i) { val += (i<<6); return *this; } | |
47193 | inline QFixed &operator+=(uint i) { val += (i<<6); return *this; } | |
47194 | inline QFixed &operator+=(const QFixed &other) { val += other.val; return *this; } | |
47195 | inline QFixed operator-(int i) const { QFixed f; f.val = (val - (i<<6)); return f; } | |
47196 | inline QFixed operator-(uint i) const { QFixed f; f.val = (val - (i<<6)); return f; } | |
47197 | inline QFixed operator-(const QFixed &other) const { QFixed f; f.val = (val - other.val); return f; } | |
47198 | inline QFixed &operator-=(int i) { val -= (i<<6); return *this; } | |
47199 | inline QFixed &operator-=(uint i) { val -= (i<<6); return *this; } | |
47200 | inline QFixed &operator-=(const QFixed &other) { val -= other.val; return *this; } | |
47201 | inline QFixed operator-() const { QFixed f; f.val = -val; return f; } | |
47202 | ||
47203 | inline bool operator==(const QFixed &other) const { return val == other.val; } | |
47204 | inline bool operator!=(const QFixed &other) const { return val != other.val; } | |
47205 | inline bool operator<(const QFixed &other) const { return val < other.val; } | |
47206 | inline bool operator>(const QFixed &other) const { return val > other.val; } | |
47207 | inline bool operator<=(const QFixed &other) const { return val <= other.val; } | |
47208 | inline bool operator>=(const QFixed &other) const { return val >= other.val; } | |
47209 | inline bool operator!() const { return !val; } | |
47210 | ||
47211 | inline QFixed &operator/=(int x) { val /= x; return *this; } | |
47212 | inline QFixed &operator/=(const QFixed &o) { | |
47213 | if (o.val == 0) { | |
47214 | val = 0x7FFFFFFFL; | |
47215 | } else { | |
47216 | bool neg = false; | |
47217 | qint64 a = val; | |
47218 | qint64 b = o.val; | |
47219 | if (a < 0) { a = -a; neg = true; } | |
47220 | if (b < 0) { b = -b; neg = !neg; } | |
47221 | ||
47222 | int res = (int)(((a << 6) + (b >> 1)) / b); | |
47223 | ||
47224 | val = (neg ? -res : res); | |
47225 | } | |
47226 | return *this; | |
47227 | } | |
47228 | inline QFixed operator/(int d) const { QFixed f; f.val = val/d; return f; } | |
47229 | inline QFixed operator/(QFixed b) const { QFixed f = *this; return (f /= b); } | |
47230 | inline QFixed operator>>(int d) const { QFixed f = *this; f.val >>= d; return f; } | |
47231 | inline QFixed &operator*=(int i) { val *= i; return *this; } | |
47232 | inline QFixed &operator*=(uint i) { val *= i; return *this; } | |
47233 | inline QFixed &operator*=(const QFixed &o) { | |
47234 | bool neg = false; | |
47235 | qint64 a = val; | |
47236 | qint64 b = o.val; | |
47237 | if (a < 0) { a = -a; neg = true; } | |
47238 | if (b < 0) { b = -b; neg = !neg; } | |
47239 | ||
47240 | int res = (int)((a * b + 0x20L) >> 6); | |
47241 | val = neg ? -res : res; | |
47242 | return *this; | |
47243 | } | |
47244 | inline QFixed operator*(int i) const { QFixed f = *this; return (f *= i); } | |
47245 | inline QFixed operator*(uint i) const { QFixed f = *this; return (f *= i); } | |
47246 | inline QFixed operator*(const QFixed &o) const { QFixed f = *this; return (f *= o); } | |
47247 | ||
47248 | private: | |
47249 | QFixed(qreal i) : val((int)(i*qreal(64))) {} | |
47250 | QFixed &operator=(qreal i) { val = (int)(i*qreal(64)); return *this; } | |
47251 | inline QFixed operator+(qreal i) const { QFixed f; f.val = (val + (int)(i*qreal(64))); return f; } | |
47252 | inline QFixed &operator+=(qreal i) { val += (int)(i*64); return *this; } | |
47253 | inline QFixed operator-(qreal i) const { QFixed f; f.val = (val - (int)(i*qreal(64))); return f; } | |
47254 | inline QFixed &operator-=(qreal i) { val -= (int)(i*64); return *this; } | |
47255 | inline QFixed &operator/=(qreal r) { val = (int)(val/r); return *this; } | |
47256 | inline QFixed operator/(qreal d) const { QFixed f; f.val = (int)(val/d); return f; } | |
47257 | inline QFixed &operator*=(qreal d) { val = (int) (val*d); return *this; } | |
47258 | inline QFixed operator*(qreal d) const { QFixed f = *this; return (f *= d); } | |
47259 | int val; | |
47260 | }; | |
47261 | template <> class QTypeInfo<QFixed> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QFixed)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QFixed"; } }; | |
47262 | ||
47263 | #define QFIXED_MAX (INT_MAX/256) | |
47264 | ||
47265 | inline int qRound(const QFixed &f) { return f.toInt(); } | |
47266 | inline int qFloor(const QFixed &f) { return f.floor().truncate(); } | |
47267 | ||
47268 | inline QFixed operator*(int i, const QFixed &d) { return d*i; } | |
47269 | inline QFixed operator+(int i, const QFixed &d) { return d+i; } | |
47270 | inline QFixed operator-(int i, const QFixed &d) { return -(d-i); } | |
47271 | inline QFixed operator*(uint i, const QFixed &d) { return d*i; } | |
47272 | inline QFixed operator+(uint i, const QFixed &d) { return d+i; } | |
47273 | inline QFixed operator-(uint i, const QFixed &d) { return -(d-i); } | |
47274 | ||
47275 | ||
47276 | inline bool operator==(const QFixed &f, int i) { return f.value() == (i<<6); } | |
47277 | inline bool operator==(int i, const QFixed &f) { return f.value() == (i<<6); } | |
47278 | inline bool operator!=(const QFixed &f, int i) { return f.value() != (i<<6); } | |
47279 | inline bool operator!=(int i, const QFixed &f) { return f.value() != (i<<6); } | |
47280 | inline bool operator<=(const QFixed &f, int i) { return f.value() <= (i<<6); } | |
47281 | inline bool operator<=(int i, const QFixed &f) { return (i<<6) <= f.value(); } | |
47282 | inline bool operator>=(const QFixed &f, int i) { return f.value() >= (i<<6); } | |
47283 | inline bool operator>=(int i, const QFixed &f) { return (i<<6) >= f.value(); } | |
47284 | inline bool operator<(const QFixed &f, int i) { return f.value() < (i<<6); } | |
47285 | inline bool operator<(int i, const QFixed &f) { return (i<<6) < f.value(); } | |
47286 | inline bool operator>(const QFixed &f, int i) { return f.value() > (i<<6); } | |
47287 | inline bool operator>(int i, const QFixed &f) { return (i<<6) > f.value(); } | |
47288 | ||
47289 | inline QDebug &operator<<(QDebug &dbg, const QFixed &f) | |
47290 | { return dbg << f.toReal(); } | |
47291 | ||
47292 | struct QFixedPoint { | |
47293 | QFixed x; | |
47294 | QFixed y; | |
47295 | inline QFixedPoint() {} | |
47296 | inline QFixedPoint(const QFixed &_x, const QFixed &_y) : x(_x), y(_y) {} | |
47297 | QPointF toPointF() const { return QPointF(x.toReal(), y.toReal()); } | |
47298 | static QFixedPoint fromPointF(const QPointF &p) { | |
47299 | return QFixedPoint(QFixed::fromReal(p.x()), QFixed::fromReal(p.y())); | |
47300 | } | |
47301 | }; | |
47302 | template <> class QTypeInfo<QFixedPoint> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QFixedPoint)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QFixedPoint"; } }; | |
47303 | ||
47304 | inline QFixedPoint operator-(const QFixedPoint &p1, const QFixedPoint &p2) | |
47305 | { return QFixedPoint(p1.x - p2.x, p1.y - p2.y); } | |
47306 | inline QFixedPoint operator+(const QFixedPoint &p1, const QFixedPoint &p2) | |
47307 | { return QFixedPoint(p1.x + p2.x, p1.y + p2.y); } | |
47308 | ||
47309 | struct QFixedSize { | |
47310 | QFixed width; | |
47311 | QFixed height; | |
47312 | QSizeF toSizeF() const { return QSizeF(width.toReal(), height.toReal()); } | |
47313 | static QFixedSize fromSizeF(const QSizeF &s) { | |
47314 | QFixedSize size; | |
47315 | size.width = QFixed::fromReal(s.width()); | |
47316 | size.height = QFixed::fromReal(s.height()); | |
47317 | return size; | |
47318 | } | |
47319 | }; | |
47320 | template <> class QTypeInfo<QFixedSize> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QFixedSize)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QFixedSize"; } }; | |
47321 | ||
47322 | ||
47323 | # 1 "../../include/QtGui/private/qfixed_p.h" 2 | |
47324 | # 62 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfont_p.h" 2 | |
47325 | ||
47326 | ||
47327 | ||
47328 | ||
47329 | class QFontCache; | |
47330 | class QFontEngine; | |
47331 | ||
47332 | struct QFontDef | |
47333 | { | |
47334 | inline QFontDef() | |
47335 | : pointSize(-1.0), pixelSize(-1), | |
47336 | styleStrategy(QFont::PreferDefault), styleHint(QFont::AnyStyle), | |
47337 | weight(50), fixedPitch(false), style(QFont::StyleNormal), stretch(100), | |
47338 | ignorePitch(true) | |
47339 | ||
47340 | ||
47341 | ||
47342 | { | |
47343 | } | |
47344 | ||
47345 | QString family; | |
47346 | ||
47347 | ||
47348 | ||
47349 | ||
47350 | ||
47351 | qreal pointSize; | |
47352 | int pixelSize; | |
47353 | ||
47354 | uint styleStrategy : 16; | |
47355 | uint styleHint : 8; | |
47356 | ||
47357 | uint weight : 7; | |
47358 | uint fixedPitch : 1; | |
47359 | uint style : 2; | |
47360 | uint stretch : 12; | |
47361 | ||
47362 | uint ignorePitch : 1; | |
47363 | uint fixedPitchComputed : 1; | |
47364 | int reserved : 16; | |
47365 | ||
47366 | bool exactMatch(const QFontDef &other) const; | |
47367 | bool operator==(const QFontDef &other) const | |
47368 | { | |
47369 | return pixelSize == other.pixelSize | |
47370 | && weight == other.weight | |
47371 | && style == other.style | |
47372 | && stretch == other.stretch | |
47373 | && styleHint == other.styleHint | |
47374 | && styleStrategy == other.styleStrategy | |
47375 | && ignorePitch == other.ignorePitch && fixedPitch == other.fixedPitch | |
47376 | && family == other.family | |
47377 | ||
47378 | ||
47379 | ||
47380 | ; | |
47381 | } | |
47382 | inline bool operator<(const QFontDef &other) const | |
47383 | { | |
47384 | if (pixelSize != other.pixelSize) return pixelSize < other.pixelSize; | |
47385 | if (weight != other.weight) return weight < other.weight; | |
47386 | if (style != other.style) return style < other.style; | |
47387 | if (stretch != other.stretch) return stretch < other.stretch; | |
47388 | if (styleHint != other.styleHint) return styleHint < other.styleHint; | |
47389 | if (styleStrategy != other.styleStrategy) return styleStrategy < other.styleStrategy; | |
47390 | if (family != other.family) return family < other.family; | |
47391 | ||
47392 | ||
47393 | ||
47394 | ||
47395 | ||
47396 | if (ignorePitch != other.ignorePitch) return ignorePitch < other.ignorePitch; | |
47397 | if (fixedPitch != other.fixedPitch) return fixedPitch < other.fixedPitch; | |
47398 | return false; | |
47399 | } | |
47400 | }; | |
47401 | ||
47402 | class QFontEngineData | |
47403 | { | |
47404 | public: | |
47405 | QFontEngineData(); | |
47406 | ~QFontEngineData(); | |
47407 | ||
47408 | QAtomicInt ref; | |
47409 | QFontCache *fontCache; | |
47410 | ||
47411 | ||
47412 | QFontEngine *engines[QUnicodeTables::ScriptCount]; | |
47413 | ||
47414 | ||
47415 | ||
47416 | }; | |
47417 | ||
47418 | ||
47419 | class __attribute__((visibility("default"))) QFontPrivate | |
47420 | { | |
47421 | public: | |
47422 | ||
47423 | ||
47424 | ||
47425 | ||
47426 | QFontPrivate(); | |
47427 | QFontPrivate(const QFontPrivate &other); | |
47428 | ~QFontPrivate(); | |
47429 | ||
47430 | QFontEngine *engineForScript(int script) const; | |
47431 | void alterCharForCapitalization(QChar &c) const; | |
47432 | ||
47433 | QAtomicInt ref; | |
47434 | QFontDef request; | |
47435 | mutable QFontEngineData *engineData; | |
47436 | int dpi; | |
47437 | int screen; | |
47438 | ||
47439 | ||
47440 | ||
47441 | ||
47442 | ||
47443 | uint rawMode : 1; | |
47444 | uint underline : 1; | |
47445 | uint overline : 1; | |
47446 | uint strikeOut : 1; | |
47447 | uint kerning : 1; | |
47448 | uint capital : 3; | |
47449 | bool letterSpacingIsAbsolute : 1; | |
47450 | ||
47451 | QFixed letterSpacing; | |
47452 | QFixed wordSpacing; | |
47453 | ||
47454 | mutable QFontPrivate *scFont; | |
47455 | QFont smallCapsFont() const { return QFont(smallCapsFontPrivate()); } | |
47456 | QFontPrivate *smallCapsFontPrivate() const; | |
47457 | ||
47458 | void resolve(uint mask, const QFontPrivate *other); | |
47459 | private: | |
47460 | QFontPrivate &operator=(const QFontPrivate &) { return *this; } | |
47461 | }; | |
47462 | ||
47463 | ||
47464 | class QFontCache : public QObject | |
47465 | { | |
47466 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
47467 | public: | |
47468 | ||
47469 | static QFontCache *instance(); | |
47470 | static void cleanup(); | |
47471 | ||
47472 | QFontCache(); | |
47473 | ~QFontCache(); | |
47474 | ||
47475 | void clear(); | |
47476 | ||
47477 | void removeEngineForFont(const QByteArray &fontName); | |
47478 | ||
47479 | ||
47480 | ||
47481 | struct Key { | |
47482 | Key() : script(0), screen(0) { } | |
47483 | Key(const QFontDef &d, int c, int s = 0) | |
47484 | : def(d), script(c), screen(s) { } | |
47485 | ||
47486 | QFontDef def; | |
47487 | int script; | |
47488 | int screen; | |
47489 | ||
47490 | inline bool operator<(const Key &other) const | |
47491 | { | |
47492 | if (script != other.script) return script < other.script; | |
47493 | if (screen != other.screen) return screen < other.screen; | |
47494 | return def < other.def; | |
47495 | } | |
47496 | inline bool operator==(const Key &other) const | |
47497 | { return def == other.def && script == other.script && screen == other.screen; } | |
47498 | }; | |
47499 | ||
47500 | ||
47501 | typedef QMap<Key,QFontEngineData*> EngineDataCache; | |
47502 | EngineDataCache engineDataCache; | |
47503 | ||
47504 | QFontEngineData *findEngineData(const Key &key) const; | |
47505 | void insertEngineData(const Key &key, QFontEngineData *engineData); | |
47506 | ||
47507 | ||
47508 | struct Engine { | |
47509 | Engine() : data(0), timestamp(0), hits(0) { } | |
47510 | Engine(QFontEngine *d) : data(d), timestamp(0), hits(0) { } | |
47511 | ||
47512 | QFontEngine *data; | |
47513 | uint timestamp; | |
47514 | uint hits; | |
47515 | }; | |
47516 | ||
47517 | typedef QMap<Key,Engine> EngineCache; | |
47518 | EngineCache engineCache; | |
47519 | ||
47520 | QFontEngine *findEngine(const Key &key); | |
47521 | void insertEngine(const Key &key, QFontEngine *engine); | |
47522 | ||
47523 | ||
47524 | void cleanupPrinterFonts(); | |
47525 | ||
47526 | ||
47527 | private: | |
47528 | void increaseCost(uint cost); | |
47529 | void decreaseCost(uint cost); | |
47530 | void timerEvent(QTimerEvent *event); | |
47531 | ||
47532 | static const uint min_cost; | |
47533 | uint total_cost, max_cost; | |
47534 | uint current_timestamp; | |
47535 | bool fast; | |
47536 | int timer_id; | |
47537 | }; | |
47538 | ||
47539 | ||
47540 | # 1 "../../include/QtGui/private/qfont_p.h" 2 | |
47541 | # 63 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
47542 | # 1 "../../include/QtCore/qvector.h" 1 | |
47543 | # 64 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
47544 | # 1 "../../include/QtGui/qpaintengine.h" 1 | |
47545 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine.h" 1 | |
47546 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine.h" | |
47547 | #define QPAINTENGINE_H | |
47548 | ||
47549 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
47550 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine.h" 2 | |
47551 | # 1 "../../include/QtCore/qobjectdefs.h" 1 | |
47552 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine.h" 2 | |
47553 | # 1 "../../include/QtGui/qpainter.h" 1 | |
47554 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 1 | |
47555 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" | |
47556 | #define QPAINTER_H | |
47557 | ||
47558 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
47559 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47560 | # 1 "../../include/QtCore/qrect.h" 1 | |
47561 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47562 | # 1 "../../include/QtCore/qpoint.h" 1 | |
47563 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47564 | # 1 "../../include/QtGui/qpixmap.h" 1 | |
47565 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47566 | # 1 "../../include/QtGui/qimage.h" 1 | |
47567 | # 50 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47568 | # 1 "../../include/QtGui/qtextoption.h" 1 | |
47569 | # 51 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47570 | # 1 "../../include/QtGui/qdrawutil.h" 1 | |
47571 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdrawutil.h" 1 | |
47572 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdrawutil.h" | |
47573 | #define QDRAWUTIL_H | |
47574 | ||
47575 | # 1 "../../include/QtCore/qnamespace.h" 1 | |
47576 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdrawutil.h" 2 | |
47577 | # 1 "../../include/QtCore/qstring.h" 1 | |
47578 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdrawutil.h" 2 | |
47579 | ||
47580 | ||
47581 | ||
47582 | ||
47583 | ||
47584 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
47585 | ||
47586 | class QPainter; | |
47587 | ||
47588 | class QColorGroup; | |
47589 | ||
47590 | class QPalette; | |
47591 | class QPoint; | |
47592 | class QColor; | |
47593 | class QBrush; | |
47594 | class QRect; | |
47595 | class QPixmap; | |
47596 | ||
47597 | ||
47598 | ||
47599 | ||
47600 | ||
47601 | __attribute__((visibility("default"))) void qDrawShadeLine(QPainter *p, int x1, int y1, int x2, int y2, | |
47602 | const QPalette &pal, bool sunken = true, | |
47603 | int lineWidth = 1, int midLineWidth = 0); | |
47604 | ||
47605 | __attribute__((visibility("default"))) void qDrawShadeLine(QPainter *p, const QPoint &p1, const QPoint &p2, | |
47606 | const QPalette &pal, bool sunken = true, | |
47607 | int lineWidth = 1, int midLineWidth = 0); | |
47608 | ||
47609 | __attribute__((visibility("default"))) void qDrawShadeRect(QPainter *p, int x, int y, int w, int h, | |
47610 | const QPalette &pal, bool sunken = false, | |
47611 | int lineWidth = 1, int midLineWidth = 0, | |
47612 | const QBrush *fill = 0); | |
47613 | ||
47614 | __attribute__((visibility("default"))) void qDrawShadeRect(QPainter *p, const QRect &r, | |
47615 | const QPalette &pal, bool sunken = false, | |
47616 | int lineWidth = 1, int midLineWidth = 0, | |
47617 | const QBrush *fill = 0); | |
47618 | ||
47619 | __attribute__((visibility("default"))) void qDrawShadePanel(QPainter *p, int x, int y, int w, int h, | |
47620 | const QPalette &pal, bool sunken = false, | |
47621 | int lineWidth = 1, const QBrush *fill = 0); | |
47622 | ||
47623 | __attribute__((visibility("default"))) void qDrawShadePanel(QPainter *p, const QRect &r, | |
47624 | const QPalette &pal, bool sunken = false, | |
47625 | int lineWidth = 1, const QBrush *fill = 0); | |
47626 | ||
47627 | __attribute__((visibility("default"))) void qDrawWinButton(QPainter *p, int x, int y, int w, int h, | |
47628 | const QPalette &pal, bool sunken = false, | |
47629 | const QBrush *fill = 0); | |
47630 | ||
47631 | __attribute__((visibility("default"))) void qDrawWinButton(QPainter *p, const QRect &r, | |
47632 | const QPalette &pal, bool sunken = false, | |
47633 | const QBrush *fill = 0); | |
47634 | ||
47635 | __attribute__((visibility("default"))) void qDrawWinPanel(QPainter *p, int x, int y, int w, int h, | |
47636 | const QPalette &pal, bool sunken = false, | |
47637 | const QBrush *fill = 0); | |
47638 | ||
47639 | __attribute__((visibility("default"))) void qDrawWinPanel(QPainter *p, const QRect &r, | |
47640 | const QPalette &pal, bool sunken = false, | |
47641 | const QBrush *fill = 0); | |
47642 | ||
47643 | __attribute__((visibility("default"))) void qDrawPlainRect(QPainter *p, int x, int y, int w, int h, const QColor &, | |
47644 | int lineWidth = 1, const QBrush *fill = 0); | |
47645 | ||
47646 | __attribute__((visibility("default"))) void qDrawPlainRect(QPainter *p, const QRect &r, const QColor &, | |
47647 | int lineWidth = 1, const QBrush *fill = 0); | |
47648 | # 136 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdrawutil.h" | |
47649 | ||
47650 | ||
47651 | ||
47652 | # 1 "../../include/QtGui/qdrawutil.h" 2 | |
47653 | # 52 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47654 | ||
47655 | ||
47656 | # 1 "../../include/QtGui/qpolygon.h" 1 | |
47657 | # 55 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47658 | # 1 "../../include/QtGui/qpen.h" 1 | |
47659 | # 56 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47660 | # 1 "../../include/QtGui/qbrush.h" 1 | |
47661 | # 57 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47662 | # 1 "../../include/QtGui/qmatrix.h" 1 | |
47663 | # 58 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47664 | # 1 "../../include/QtGui/qtransform.h" 1 | |
47665 | # 59 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47666 | # 1 "../../include/QtGui/qfontinfo.h" 1 | |
47667 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontinfo.h" 1 | |
47668 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontinfo.h" | |
47669 | #define QFONTINFO_H | |
47670 | ||
47671 | # 1 "../../include/QtGui/qfont.h" 1 | |
47672 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontinfo.h" 2 | |
47673 | ||
47674 | ||
47675 | ||
47676 | ||
47677 | ||
47678 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
47679 | ||
47680 | class __attribute__((visibility("default"))) QFontInfo | |
47681 | { | |
47682 | public: | |
47683 | QFontInfo(const QFont &); | |
47684 | QFontInfo(const QFontInfo &); | |
47685 | ~QFontInfo(); | |
47686 | ||
47687 | QFontInfo &operator=(const QFontInfo &); | |
47688 | ||
47689 | QString family() const; | |
47690 | int pixelSize() const; | |
47691 | int pointSize() const; | |
47692 | qreal pointSizeF() const; | |
47693 | bool italic() const; | |
47694 | QFont::Style style() const; | |
47695 | int weight() const; | |
47696 | inline bool bold() const { return weight() > QFont::Normal; } | |
47697 | bool underline() const; | |
47698 | bool overline() const; | |
47699 | bool strikeOut() const; | |
47700 | bool fixedPitch() const; | |
47701 | QFont::StyleHint styleHint() const; | |
47702 | bool rawMode() const; | |
47703 | ||
47704 | bool exactMatch() const; | |
47705 | ||
47706 | private: | |
47707 | QFontPrivate *d; | |
47708 | }; | |
47709 | ||
47710 | ||
47711 | ||
47712 | ||
47713 | # 1 "../../include/QtGui/qfontinfo.h" 2 | |
47714 | # 60 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47715 | # 1 "../../include/QtGui/qfontmetrics.h" 1 | |
47716 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontmetrics.h" 1 | |
47717 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontmetrics.h" | |
47718 | #define QFONTMETRICS_H | |
47719 | ||
47720 | # 1 "../../include/QtGui/qfont.h" 1 | |
47721 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontmetrics.h" 2 | |
47722 | ||
47723 | # 1 "../../include/QtCore/qrect.h" 1 | |
47724 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontmetrics.h" 2 | |
47725 | ||
47726 | ||
47727 | ||
47728 | ||
47729 | ||
47730 | ||
47731 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
47732 | ||
47733 | ||
47734 | class QFontEngine; | |
47735 | ||
47736 | ||
47737 | class QTextCodec; | |
47738 | class QRect; | |
47739 | ||
47740 | ||
47741 | class __attribute__((visibility("default"))) QFontMetrics | |
47742 | { | |
47743 | public: | |
47744 | QFontMetrics(const QFont &); | |
47745 | QFontMetrics(const QFont &, QPaintDevice *pd); | |
47746 | QFontMetrics(const QFontMetrics &); | |
47747 | ~QFontMetrics(); | |
47748 | ||
47749 | QFontMetrics &operator=(const QFontMetrics &); | |
47750 | ||
47751 | int ascent() const; | |
47752 | int descent() const; | |
47753 | int height() const; | |
47754 | int leading() const; | |
47755 | int lineSpacing() const; | |
47756 | int minLeftBearing() const; | |
47757 | int minRightBearing() const; | |
47758 | int maxWidth() const; | |
47759 | ||
47760 | int xHeight() const; | |
47761 | int averageCharWidth() const; | |
47762 | ||
47763 | bool inFont(QChar) const; | |
47764 | ||
47765 | int leftBearing(QChar) const; | |
47766 | int rightBearing(QChar) const; | |
47767 | int width(const QString &, int len = -1) const; | |
47768 | ||
47769 | int width(QChar) const; | |
47770 | int charWidth(const QString &str, int pos) const; | |
47771 | ||
47772 | QRect boundingRect(QChar) const; | |
47773 | ||
47774 | QRect boundingRect(const QString &text) const; | |
47775 | QRect boundingRect(const QRect &r, int flags, const QString &text, int tabstops=0, int *tabarray=0) const; | |
47776 | inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text, | |
47777 | int tabstops=0, int *tabarray=0) const | |
47778 | { return boundingRect(QRect(x, y, w, h), flags, text, tabstops, tabarray); } | |
47779 | QSize size(int flags, const QString& str, int tabstops=0, int *tabarray=0) const; | |
47780 | ||
47781 | QRect tightBoundingRect(const QString &text) const; | |
47782 | ||
47783 | QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const; | |
47784 | ||
47785 | int underlinePos() const; | |
47786 | int overlinePos() const; | |
47787 | int strikeOutPos() const; | |
47788 | int lineWidth() const; | |
47789 | ||
47790 | bool operator==(const QFontMetrics &other); | |
47791 | bool operator==(const QFontMetrics &other) const; | |
47792 | inline bool operator !=(const QFontMetrics &other) { return !operator==(other); } | |
47793 | inline bool operator !=(const QFontMetrics &other) const { return !operator==(other); } | |
47794 | # 127 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontmetrics.h" | |
47795 | private: | |
47796 | ||
47797 | ||
47798 | ||
47799 | friend class QFontMetricsF; | |
47800 | friend class QStackTextEngine; | |
47801 | ||
47802 | QFontPrivate *d; | |
47803 | }; | |
47804 | ||
47805 | ||
47806 | class __attribute__((visibility("default"))) QFontMetricsF | |
47807 | { | |
47808 | public: | |
47809 | QFontMetricsF(const QFont &); | |
47810 | QFontMetricsF(const QFont &, QPaintDevice *pd); | |
47811 | QFontMetricsF(const QFontMetrics &); | |
47812 | QFontMetricsF(const QFontMetricsF &); | |
47813 | ~QFontMetricsF(); | |
47814 | ||
47815 | QFontMetricsF &operator=(const QFontMetricsF &); | |
47816 | QFontMetricsF &operator=(const QFontMetrics &); | |
47817 | ||
47818 | qreal ascent() const; | |
47819 | qreal descent() const; | |
47820 | qreal height() const; | |
47821 | qreal leading() const; | |
47822 | qreal lineSpacing() const; | |
47823 | qreal minLeftBearing() const; | |
47824 | qreal minRightBearing() const; | |
47825 | qreal maxWidth() const; | |
47826 | ||
47827 | qreal xHeight() const; | |
47828 | qreal averageCharWidth() const; | |
47829 | ||
47830 | bool inFont(QChar) const; | |
47831 | ||
47832 | qreal leftBearing(QChar) const; | |
47833 | qreal rightBearing(QChar) const; | |
47834 | qreal width(const QString &string) const; | |
47835 | ||
47836 | qreal width(QChar) const; | |
47837 | ||
47838 | QRectF boundingRect(const QString &string) const; | |
47839 | QRectF boundingRect(QChar) const; | |
47840 | QRectF boundingRect(const QRectF &r, int flags, const QString& string, int tabstops=0, int *tabarray=0) const; | |
47841 | QSizeF size(int flags, const QString& str, int tabstops=0, int *tabarray=0) const; | |
47842 | ||
47843 | QRectF tightBoundingRect(const QString &text) const; | |
47844 | ||
47845 | QString elidedText(const QString &text, Qt::TextElideMode mode, qreal width, int flags = 0) const; | |
47846 | ||
47847 | qreal underlinePos() const; | |
47848 | qreal overlinePos() const; | |
47849 | qreal strikeOutPos() const; | |
47850 | qreal lineWidth() const; | |
47851 | ||
47852 | bool operator==(const QFontMetricsF &other); | |
47853 | bool operator==(const QFontMetricsF &other) const; | |
47854 | inline bool operator !=(const QFontMetricsF &other) { return !operator==(other); } | |
47855 | inline bool operator !=(const QFontMetricsF &other) const { return !operator==(other); } | |
47856 | ||
47857 | private: | |
47858 | QFontPrivate *d; | |
47859 | }; | |
47860 | ||
47861 | ||
47862 | ||
47863 | ||
47864 | # 1 "../../include/QtGui/qfontmetrics.h" 2 | |
47865 | # 61 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" 2 | |
47866 | ||
47867 | ||
47868 | ||
47869 | ||
47870 | ||
47871 | ||
47872 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
47873 | ||
47874 | class QBrush; | |
47875 | class QFontInfo; | |
47876 | class QFontMetrics; | |
47877 | class QPaintDevice; | |
47878 | class QPainterPath; | |
47879 | class QPainterPrivate; | |
47880 | class QPen; | |
47881 | class QPolygon; | |
47882 | class QTextItem; | |
47883 | class QMatrix; | |
47884 | class QTransform; | |
47885 | ||
47886 | class __attribute__((visibility("default"))) QPainter | |
47887 | { | |
47888 | inline QPainterPrivate* d_func() { return reinterpret_cast<QPainterPrivate *>(d_ptr); } inline const QPainterPrivate* d_func() const { return reinterpret_cast<const QPainterPrivate *>(d_ptr); } friend class QPainterPrivate; | |
47889 | public: static const QMetaObject staticMetaObject; private: | |
47890 | ||
47891 | ||
47892 | public: | |
47893 | enum RenderHint { | |
47894 | Antialiasing = 0x01, | |
47895 | TextAntialiasing = 0x02, | |
47896 | SmoothPixmapTransform = 0x04, | |
47897 | HighQualityAntialiasing = 0x08, | |
47898 | NonCosmeticDefaultPen = 0x10 | |
47899 | }; | |
47900 | ||
47901 | typedef QFlags<RenderHint> RenderHints; | |
47902 | ||
47903 | QPainter(); | |
47904 | explicit QPainter(QPaintDevice *); | |
47905 | ~QPainter(); | |
47906 | ||
47907 | QPaintDevice *device() const; | |
47908 | ||
47909 | bool begin(QPaintDevice *); | |
47910 | bool end(); | |
47911 | bool isActive() const; | |
47912 | ||
47913 | void initFrom(const QWidget *widget); | |
47914 | ||
47915 | enum CompositionMode { | |
47916 | CompositionMode_SourceOver, | |
47917 | CompositionMode_DestinationOver, | |
47918 | CompositionMode_Clear, | |
47919 | CompositionMode_Source, | |
47920 | CompositionMode_Destination, | |
47921 | CompositionMode_SourceIn, | |
47922 | CompositionMode_DestinationIn, | |
47923 | CompositionMode_SourceOut, | |
47924 | CompositionMode_DestinationOut, | |
47925 | CompositionMode_SourceAtop, | |
47926 | CompositionMode_DestinationAtop, | |
47927 | CompositionMode_Xor, | |
47928 | ||
47929 | ||
47930 | CompositionMode_Plus, | |
47931 | CompositionMode_Multiply, | |
47932 | CompositionMode_Screen, | |
47933 | CompositionMode_Overlay, | |
47934 | CompositionMode_Darken, | |
47935 | CompositionMode_Lighten, | |
47936 | CompositionMode_ColorDodge, | |
47937 | CompositionMode_ColorBurn, | |
47938 | CompositionMode_HardLight, | |
47939 | CompositionMode_SoftLight, | |
47940 | CompositionMode_Difference, | |
47941 | CompositionMode_Exclusion, | |
47942 | ||
47943 | ||
47944 | RasterOp_SourceOrDestination, | |
47945 | RasterOp_SourceAndDestination, | |
47946 | RasterOp_SourceXorDestination, | |
47947 | RasterOp_NotSourceAndNotDestination, | |
47948 | RasterOp_NotSourceOrNotDestination, | |
47949 | RasterOp_NotSourceXorDestination, | |
47950 | RasterOp_NotSource, | |
47951 | RasterOp_NotSourceAndDestination, | |
47952 | RasterOp_SourceAndNotDestination | |
47953 | }; | |
47954 | void setCompositionMode(CompositionMode mode); | |
47955 | CompositionMode compositionMode() const; | |
47956 | ||
47957 | const QFont &font() const; | |
47958 | void setFont(const QFont &f); | |
47959 | ||
47960 | QFontMetrics fontMetrics() const; | |
47961 | QFontInfo fontInfo() const; | |
47962 | ||
47963 | void setPen(const QColor &color); | |
47964 | void setPen(const QPen &pen); | |
47965 | void setPen(Qt::PenStyle style); | |
47966 | const QPen &pen() const; | |
47967 | ||
47968 | void setBrush(const QBrush &brush); | |
47969 | void setBrush(Qt::BrushStyle style); | |
47970 | const QBrush &brush() const; | |
47971 | ||
47972 | ||
47973 | void setBackgroundMode(Qt::BGMode mode); | |
47974 | Qt::BGMode backgroundMode() const; | |
47975 | ||
47976 | QPoint brushOrigin() const; | |
47977 | inline void setBrushOrigin(int x, int y); | |
47978 | inline void setBrushOrigin(const QPoint &); | |
47979 | void setBrushOrigin(const QPointF &); | |
47980 | ||
47981 | void setBackground(const QBrush &bg); | |
47982 | const QBrush &background() const; | |
47983 | ||
47984 | qreal opacity() const; | |
47985 | void setOpacity(qreal opacity); | |
47986 | ||
47987 | ||
47988 | QRegion clipRegion() const; | |
47989 | QPainterPath clipPath() const; | |
47990 | ||
47991 | void setClipRect(const QRectF &, Qt::ClipOperation op = Qt::ReplaceClip); | |
47992 | void setClipRect(const QRect &, Qt::ClipOperation op = Qt::ReplaceClip); | |
47993 | inline void setClipRect(int x, int y, int w, int h, Qt::ClipOperation op = Qt::ReplaceClip); | |
47994 | ||
47995 | void setClipRegion(const QRegion &, Qt::ClipOperation op = Qt::ReplaceClip); | |
47996 | ||
47997 | void setClipPath(const QPainterPath &path, Qt::ClipOperation op = Qt::ReplaceClip); | |
47998 | ||
47999 | void setClipping(bool enable); | |
48000 | bool hasClipping() const; | |
48001 | ||
48002 | void save(); | |
48003 | void restore(); | |
48004 | ||
48005 | ||
48006 | void setMatrix(const QMatrix &matrix, bool combine = false); | |
48007 | const QMatrix &matrix() const; | |
48008 | const QMatrix &deviceMatrix() const; | |
48009 | void resetMatrix(); | |
48010 | ||
48011 | void setTransform(const QTransform &transform, bool combine = false); | |
48012 | const QTransform &transform() const; | |
48013 | const QTransform &deviceTransform() const; | |
48014 | void resetTransform(); | |
48015 | ||
48016 | void setWorldMatrix(const QMatrix &matrix, bool combine = false); | |
48017 | const QMatrix &worldMatrix() const; | |
48018 | ||
48019 | void setWorldTransform(const QTransform &matrix, bool combine = false); | |
48020 | const QTransform &worldTransform() const; | |
48021 | ||
48022 | QMatrix combinedMatrix() const; | |
48023 | QTransform combinedTransform() const; | |
48024 | ||
48025 | void setMatrixEnabled(bool enabled); | |
48026 | bool matrixEnabled() const; | |
48027 | ||
48028 | void setWorldMatrixEnabled(bool enabled); | |
48029 | bool worldMatrixEnabled() const; | |
48030 | ||
48031 | void scale(qreal sx, qreal sy); | |
48032 | void shear(qreal sh, qreal sv); | |
48033 | void rotate(qreal a); | |
48034 | ||
48035 | void translate(const QPointF &offset); | |
48036 | inline void translate(const QPoint &offset); | |
48037 | inline void translate(qreal dx, qreal dy); | |
48038 | ||
48039 | QRect window() const; | |
48040 | void setWindow(const QRect &window); | |
48041 | inline void setWindow(int x, int y, int w, int h); | |
48042 | ||
48043 | QRect viewport() const; | |
48044 | void setViewport(const QRect &viewport); | |
48045 | inline void setViewport(int x, int y, int w, int h); | |
48046 | ||
48047 | void setViewTransformEnabled(bool enable); | |
48048 | bool viewTransformEnabled() const; | |
48049 | ||
48050 | ||
48051 | void strokePath(const QPainterPath &path, const QPen &pen); | |
48052 | void fillPath(const QPainterPath &path, const QBrush &brush); | |
48053 | void drawPath(const QPainterPath &path); | |
48054 | ||
48055 | inline void drawPoint(const QPointF &pt); | |
48056 | inline void drawPoint(const QPoint &p); | |
48057 | inline void drawPoint(int x, int y); | |
48058 | ||
48059 | void drawPoints(const QPointF *points, int pointCount); | |
48060 | inline void drawPoints(const QPolygonF &points); | |
48061 | void drawPoints(const QPoint *points, int pointCount); | |
48062 | inline void drawPoints(const QPolygon &points); | |
48063 | ||
48064 | inline void drawLine(const QLineF &line); | |
48065 | inline void drawLine(const QLine &line); | |
48066 | inline void drawLine(int x1, int y1, int x2, int y2); | |
48067 | inline void drawLine(const QPoint &p1, const QPoint &p2); | |
48068 | inline void drawLine(const QPointF &p1, const QPointF &p2); | |
48069 | ||
48070 | void drawLines(const QLineF *lines, int lineCount); | |
48071 | inline void drawLines(const QVector<QLineF> &lines); | |
48072 | void drawLines(const QPointF *pointPairs, int lineCount); | |
48073 | inline void drawLines(const QVector<QPointF> &pointPairs); | |
48074 | void drawLines(const QLine *lines, int lineCount); | |
48075 | inline void drawLines(const QVector<QLine> &lines); | |
48076 | void drawLines(const QPoint *pointPairs, int lineCount); | |
48077 | inline void drawLines(const QVector<QPoint> &pointPairs); | |
48078 | ||
48079 | inline void drawRect(const QRectF &rect); | |
48080 | inline void drawRect(int x1, int y1, int w, int h); | |
48081 | inline void drawRect(const QRect &rect); | |
48082 | ||
48083 | void drawRects(const QRectF *rects, int rectCount); | |
48084 | inline void drawRects(const QVector<QRectF> &rectangles); | |
48085 | void drawRects(const QRect *rects, int rectCount); | |
48086 | inline void drawRects(const QVector<QRect> &rectangles); | |
48087 | ||
48088 | void drawEllipse(const QRectF &r); | |
48089 | void drawEllipse(const QRect &r); | |
48090 | inline void drawEllipse(int x, int y, int w, int h); | |
48091 | ||
48092 | inline void drawEllipse(const QPointF ¢er, qreal rx, qreal ry); | |
48093 | inline void drawEllipse(const QPoint ¢er, int rx, int ry); | |
48094 | ||
48095 | void drawPolyline(const QPointF *points, int pointCount); | |
48096 | inline void drawPolyline(const QPolygonF &polyline); | |
48097 | void drawPolyline(const QPoint *points, int pointCount); | |
48098 | inline void drawPolyline(const QPolygon &polygon); | |
48099 | ||
48100 | void drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill); | |
48101 | inline void drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule = Qt::OddEvenFill); | |
48102 | void drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill); | |
48103 | inline void drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule = Qt::OddEvenFill); | |
48104 | ||
48105 | void drawConvexPolygon(const QPointF *points, int pointCount); | |
48106 | inline void drawConvexPolygon(const QPolygonF &polygon); | |
48107 | void drawConvexPolygon(const QPoint *points, int pointCount); | |
48108 | inline void drawConvexPolygon(const QPolygon &polygon); | |
48109 | ||
48110 | void drawArc(const QRectF &rect, int a, int alen); | |
48111 | inline void drawArc(const QRect &, int a, int alen); | |
48112 | inline void drawArc(int x, int y, int w, int h, int a, int alen); | |
48113 | ||
48114 | void drawPie(const QRectF &rect, int a, int alen); | |
48115 | inline void drawPie(int x, int y, int w, int h, int a, int alen); | |
48116 | inline void drawPie(const QRect &, int a, int alen); | |
48117 | ||
48118 | void drawChord(const QRectF &rect, int a, int alen); | |
48119 | inline void drawChord(int x, int y, int w, int h, int a, int alen); | |
48120 | inline void drawChord(const QRect &, int a, int alen); | |
48121 | ||
48122 | void drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, | |
48123 | Qt::SizeMode mode = Qt::AbsoluteSize); | |
48124 | inline void drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, | |
48125 | Qt::SizeMode mode = Qt::AbsoluteSize); | |
48126 | inline void drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, | |
48127 | Qt::SizeMode mode = Qt::AbsoluteSize); | |
48128 | ||
48129 | void drawRoundRect(const QRectF &r, int xround = 25, int yround = 25); | |
48130 | inline void drawRoundRect(int x, int y, int w, int h, int = 25, int = 25); | |
48131 | inline void drawRoundRect(const QRect &r, int xround = 25, int yround = 25); | |
48132 | ||
48133 | void drawTiledPixmap(const QRectF &rect, const QPixmap &pm, const QPointF &offset = QPointF()); | |
48134 | inline void drawTiledPixmap(int x, int y, int w, int h, const QPixmap &, int sx=0, int sy=0); | |
48135 | inline void drawTiledPixmap(const QRect &, const QPixmap &, const QPoint & = QPoint()); | |
48136 | ||
48137 | void drawPicture(const QPointF &p, const QPicture &picture); | |
48138 | inline void drawPicture(int x, int y, const QPicture &picture); | |
48139 | inline void drawPicture(const QPoint &p, const QPicture &picture); | |
48140 | ||
48141 | ||
48142 | void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect); | |
48143 | inline void drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect); | |
48144 | inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm, | |
48145 | int sx, int sy, int sw, int sh); | |
48146 | inline void drawPixmap(int x, int y, const QPixmap &pm, | |
48147 | int sx, int sy, int sw, int sh); | |
48148 | inline void drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr); | |
48149 | inline void drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr); | |
48150 | void drawPixmap(const QPointF &p, const QPixmap &pm); | |
48151 | inline void drawPixmap(const QPoint &p, const QPixmap &pm); | |
48152 | inline void drawPixmap(int x, int y, const QPixmap &pm); | |
48153 | inline void drawPixmap(const QRect &r, const QPixmap &pm); | |
48154 | inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm); | |
48155 | ||
48156 | void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect, | |
48157 | Qt::ImageConversionFlags flags = Qt::AutoColor); | |
48158 | inline void drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect, | |
48159 | Qt::ImageConversionFlags flags = Qt::AutoColor); | |
48160 | inline void drawImage(const QPointF &p, const QImage &image, const QRectF &sr, | |
48161 | Qt::ImageConversionFlags flags = Qt::AutoColor); | |
48162 | inline void drawImage(const QPoint &p, const QImage &image, const QRect &sr, | |
48163 | Qt::ImageConversionFlags flags = Qt::AutoColor); | |
48164 | inline void drawImage(const QRectF &r, const QImage &image); | |
48165 | inline void drawImage(const QRect &r, const QImage &image); | |
48166 | void drawImage(const QPointF &p, const QImage &image); | |
48167 | inline void drawImage(const QPoint &p, const QImage &image); | |
48168 | inline void drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0, | |
48169 | int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor); | |
48170 | ||
48171 | void setLayoutDirection(Qt::LayoutDirection direction); | |
48172 | Qt::LayoutDirection layoutDirection() const; | |
48173 | ||
48174 | void drawText(const QPointF &p, const QString &s); | |
48175 | inline void drawText(const QPoint &p, const QString &s); | |
48176 | inline void drawText(int x, int y, const QString &s); | |
48177 | ||
48178 | void drawText(const QPointF &p, const QString &str, int tf, int justificationPadding); | |
48179 | ||
48180 | void drawText(const QRectF &r, int flags, const QString &text, QRectF *br=0); | |
48181 | void drawText(const QRect &r, int flags, const QString &text, QRect *br=0); | |
48182 | inline void drawText(int x, int y, int w, int h, int flags, const QString &text, QRect *br=0); | |
48183 | ||
48184 | void drawText(const QRectF &r, const QString &text, const QTextOption &o = QTextOption()); | |
48185 | ||
48186 | QRectF boundingRect(const QRectF &rect, int flags, const QString &text); | |
48187 | QRect boundingRect(const QRect &rect, int flags, const QString &text); | |
48188 | inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text); | |
48189 | ||
48190 | QRectF boundingRect(const QRectF &rect, const QString &text, const QTextOption &o = QTextOption()); | |
48191 | ||
48192 | void drawTextItem(const QPointF &p, const QTextItem &ti); | |
48193 | inline void drawTextItem(int x, int y, const QTextItem &ti); | |
48194 | inline void drawTextItem(const QPoint &p, const QTextItem &ti); | |
48195 | ||
48196 | void fillRect(const QRectF &, const QBrush &); | |
48197 | inline void fillRect(int x, int y, int w, int h, const QBrush &); | |
48198 | void fillRect(const QRect &, const QBrush &); | |
48199 | ||
48200 | void fillRect(const QRectF &, const QColor &color); | |
48201 | inline void fillRect(int x, int y, int w, int h, const QColor &color); | |
48202 | void fillRect(const QRect &, const QColor &color); | |
48203 | ||
48204 | inline void fillRect(int x, int y, int w, int h, Qt::GlobalColor c); | |
48205 | inline void fillRect(const QRect &r, Qt::GlobalColor c); | |
48206 | inline void fillRect(const QRectF &r, Qt::GlobalColor c); | |
48207 | ||
48208 | inline void fillRect(int x, int y, int w, int h, Qt::BrushStyle style); | |
48209 | inline void fillRect(const QRect &r, Qt::BrushStyle style); | |
48210 | inline void fillRect(const QRectF &r, Qt::BrushStyle style); | |
48211 | ||
48212 | void eraseRect(const QRectF &); | |
48213 | inline void eraseRect(int x, int y, int w, int h); | |
48214 | inline void eraseRect(const QRect &); | |
48215 | ||
48216 | void setRenderHint(RenderHint hint, bool on = true); | |
48217 | void setRenderHints(RenderHints hints, bool on = true); | |
48218 | RenderHints renderHints() const; | |
48219 | inline bool testRenderHint(RenderHint hint) const { return renderHints() & hint; } | |
48220 | ||
48221 | QPaintEngine *paintEngine() const; | |
48222 | ||
48223 | static void setRedirected(const QPaintDevice *device, QPaintDevice *replacement, | |
48224 | const QPoint& offset = QPoint()); | |
48225 | static QPaintDevice *redirected(const QPaintDevice *device, QPoint *offset = 0); | |
48226 | static void restoreRedirected(const QPaintDevice *device); | |
48227 | # 496 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpainter.h" | |
48228 | private: | |
48229 | QPainter(const QPainter &); QPainter &operator=(const QPainter &); | |
48230 | friend class Q3Painter; | |
48231 | ||
48232 | QPainterPrivate *d_ptr; | |
48233 | ||
48234 | friend class QFontEngine; | |
48235 | friend class QFontEngineBox; | |
48236 | friend class QFontEngineFT; | |
48237 | friend class QFontEngineMac; | |
48238 | friend class QFontEngineWin; | |
48239 | friend class QFontEngineXLFD; | |
48240 | friend class QWSManager; | |
48241 | friend class QPaintEngine; | |
48242 | friend class QOpenGLPaintEngine; | |
48243 | friend class QX11PaintEngine; | |
48244 | friend class QX11PaintEnginePrivate; | |
48245 | friend class QWin32PaintEngine; | |
48246 | friend class QWin32PaintEnginePrivate; | |
48247 | friend class QRasterPaintEngine; | |
48248 | friend class QAlphaPaintEngine; | |
48249 | friend class QPreviewPaintEngine; | |
48250 | }; | |
48251 | ||
48252 | inline QFlags<QPainter::RenderHints::enum_type> operator|(QPainter::RenderHints::enum_type f1, QPainter::RenderHints::enum_type f2) { return QFlags<QPainter::RenderHints::enum_type>(f1) | f2; } inline QFlags<QPainter::RenderHints::enum_type> operator|(QPainter::RenderHints::enum_type f1, QFlags<QPainter::RenderHints::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QPainter::RenderHints::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
48253 | ||
48254 | ||
48255 | ||
48256 | ||
48257 | inline void QPainter::drawLine(const QLineF &l) | |
48258 | { | |
48259 | drawLines(&l, 1); | |
48260 | } | |
48261 | ||
48262 | inline void QPainter::drawLine(const QLine &line) | |
48263 | { | |
48264 | drawLines(&line, 1); | |
48265 | } | |
48266 | ||
48267 | inline void QPainter::drawLine(int x1, int y1, int x2, int y2) | |
48268 | { | |
48269 | QLine l(x1, y1, x2, y2); | |
48270 | drawLines(&l, 1); | |
48271 | } | |
48272 | ||
48273 | inline void QPainter::drawLine(const QPoint &p1, const QPoint &p2) | |
48274 | { | |
48275 | QLine l(p1, p2); | |
48276 | drawLines(&l, 1); | |
48277 | } | |
48278 | ||
48279 | inline void QPainter::drawLine(const QPointF &p1, const QPointF &p2) | |
48280 | { | |
48281 | drawLine(QLineF(p1, p2)); | |
48282 | } | |
48283 | ||
48284 | inline void QPainter::drawLines(const QVector<QLineF> &lines) | |
48285 | { | |
48286 | drawLines(lines.constData(), lines.size()); | |
48287 | } | |
48288 | ||
48289 | inline void QPainter::drawLines(const QVector<QLine> &lines) | |
48290 | { | |
48291 | drawLines(lines.constData(), lines.size()); | |
48292 | } | |
48293 | ||
48294 | inline void QPainter::drawLines(const QVector<QPointF> &pointPairs) | |
48295 | { | |
48296 | drawLines(pointPairs.constData(), pointPairs.size() / 2); | |
48297 | } | |
48298 | ||
48299 | inline void QPainter::drawLines(const QVector<QPoint> &pointPairs) | |
48300 | { | |
48301 | drawLines(pointPairs.constData(), pointPairs.size() / 2); | |
48302 | } | |
48303 | ||
48304 | inline void QPainter::drawPolyline(const QPolygonF &polyline) | |
48305 | { | |
48306 | drawPolyline(polyline.constData(), polyline.size()); | |
48307 | } | |
48308 | ||
48309 | inline void QPainter::drawPolyline(const QPolygon &polyline) | |
48310 | { | |
48311 | drawPolyline(polyline.constData(), polyline.size()); | |
48312 | } | |
48313 | ||
48314 | inline void QPainter::drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule) | |
48315 | { | |
48316 | drawPolygon(polygon.constData(), polygon.size(), fillRule); | |
48317 | } | |
48318 | ||
48319 | inline void QPainter::drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule) | |
48320 | { | |
48321 | drawPolygon(polygon.constData(), polygon.size(), fillRule); | |
48322 | } | |
48323 | ||
48324 | inline void QPainter::drawConvexPolygon(const QPolygonF &poly) | |
48325 | { | |
48326 | drawConvexPolygon(poly.constData(), poly.size()); | |
48327 | } | |
48328 | ||
48329 | inline void QPainter::drawConvexPolygon(const QPolygon &poly) | |
48330 | { | |
48331 | drawConvexPolygon(poly.constData(), poly.size()); | |
48332 | } | |
48333 | ||
48334 | inline void QPainter::drawRect(const QRectF &rect) | |
48335 | { | |
48336 | drawRects(&rect, 1); | |
48337 | } | |
48338 | ||
48339 | inline void QPainter::drawRect(int x, int y, int w, int h) | |
48340 | { | |
48341 | QRect r(x, y, w, h); | |
48342 | drawRects(&r, 1); | |
48343 | } | |
48344 | ||
48345 | inline void QPainter::drawRect(const QRect &r) | |
48346 | { | |
48347 | drawRects(&r, 1); | |
48348 | } | |
48349 | ||
48350 | inline void QPainter::drawRects(const QVector<QRectF> &rects) | |
48351 | { | |
48352 | drawRects(rects.constData(), rects.size()); | |
48353 | } | |
48354 | ||
48355 | inline void QPainter::drawRects(const QVector<QRect> &rects) | |
48356 | { | |
48357 | drawRects(rects.constData(), rects.size()); | |
48358 | } | |
48359 | ||
48360 | inline void QPainter::drawPoint(const QPointF &p) | |
48361 | { | |
48362 | drawPoints(&p, 1); | |
48363 | } | |
48364 | ||
48365 | inline void QPainter::drawPoint(int x, int y) | |
48366 | { | |
48367 | QPoint p(x, y); | |
48368 | drawPoints(&p, 1); | |
48369 | } | |
48370 | ||
48371 | inline void QPainter::drawPoint(const QPoint &p) | |
48372 | { | |
48373 | drawPoints(&p, 1); | |
48374 | } | |
48375 | ||
48376 | inline void QPainter::drawPoints(const QPolygonF &points) | |
48377 | { | |
48378 | drawPoints(points.constData(), points.size()); | |
48379 | } | |
48380 | ||
48381 | inline void QPainter::drawPoints(const QPolygon &points) | |
48382 | { | |
48383 | drawPoints(points.constData(), points.size()); | |
48384 | } | |
48385 | ||
48386 | inline void QPainter::drawRoundRect(int x, int y, int w, int h, int xRnd, int yRnd) | |
48387 | { | |
48388 | drawRoundRect(QRectF(x, y, w, h), xRnd, yRnd); | |
48389 | } | |
48390 | ||
48391 | inline void QPainter::drawRoundRect(const QRect &rect, int xRnd, int yRnd) | |
48392 | { | |
48393 | drawRoundRect(QRectF(rect), xRnd, yRnd); | |
48394 | } | |
48395 | ||
48396 | inline void QPainter::drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, | |
48397 | Qt::SizeMode mode) | |
48398 | { | |
48399 | drawRoundedRect(QRectF(x, y, w, h), xRadius, yRadius, mode); | |
48400 | } | |
48401 | ||
48402 | inline void QPainter::drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, | |
48403 | Qt::SizeMode mode) | |
48404 | { | |
48405 | drawRoundedRect(QRectF(rect), xRadius, yRadius, mode); | |
48406 | } | |
48407 | ||
48408 | inline void QPainter::drawEllipse(int x, int y, int w, int h) | |
48409 | { | |
48410 | drawEllipse(QRect(x, y, w, h)); | |
48411 | } | |
48412 | ||
48413 | inline void QPainter::drawEllipse(const QPointF ¢er, qreal rx, qreal ry) | |
48414 | { | |
48415 | drawEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry)); | |
48416 | } | |
48417 | ||
48418 | inline void QPainter::drawEllipse(const QPoint ¢er, int rx, int ry) | |
48419 | { | |
48420 | drawEllipse(QRect(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry)); | |
48421 | } | |
48422 | ||
48423 | inline void QPainter::drawArc(const QRect &r, int a, int alen) | |
48424 | { | |
48425 | drawArc(QRectF(r), a, alen); | |
48426 | } | |
48427 | ||
48428 | inline void QPainter::drawArc(int x, int y, int w, int h, int a, int alen) | |
48429 | { | |
48430 | drawArc(QRectF(x, y, w, h), a, alen); | |
48431 | } | |
48432 | ||
48433 | inline void QPainter::drawPie(const QRect &rect, int a, int alen) | |
48434 | { | |
48435 | drawPie(QRectF(rect), a, alen); | |
48436 | } | |
48437 | ||
48438 | inline void QPainter::drawPie(int x, int y, int w, int h, int a, int alen) | |
48439 | { | |
48440 | drawPie(QRectF(x, y, w, h), a, alen); | |
48441 | } | |
48442 | ||
48443 | inline void QPainter::drawChord(const QRect &rect, int a, int alen) | |
48444 | { | |
48445 | drawChord(QRectF(rect), a, alen); | |
48446 | } | |
48447 | ||
48448 | inline void QPainter::drawChord(int x, int y, int w, int h, int a, int alen) | |
48449 | { | |
48450 | drawChord(QRectF(x, y, w, h), a, alen); | |
48451 | } | |
48452 | ||
48453 | inline void QPainter::setClipRect(int x, int y, int w, int h, Qt::ClipOperation op) | |
48454 | { | |
48455 | setClipRect(QRect(x, y, w, h), op); | |
48456 | } | |
48457 | ||
48458 | inline void QPainter::eraseRect(const QRect &rect) | |
48459 | { | |
48460 | eraseRect(QRectF(rect)); | |
48461 | } | |
48462 | ||
48463 | inline void QPainter::eraseRect(int x, int y, int w, int h) | |
48464 | { | |
48465 | eraseRect(QRectF(x, y, w, h)); | |
48466 | } | |
48467 | ||
48468 | inline void QPainter::fillRect(int x, int y, int w, int h, const QBrush &b) | |
48469 | { | |
48470 | fillRect(QRect(x, y, w, h), b); | |
48471 | } | |
48472 | ||
48473 | inline void QPainter::fillRect(int x, int y, int w, int h, const QColor &b) | |
48474 | { | |
48475 | fillRect(QRect(x, y, w, h), b); | |
48476 | } | |
48477 | ||
48478 | inline void QPainter::fillRect(int x, int y, int w, int h, Qt::GlobalColor c) | |
48479 | { | |
48480 | fillRect(QRect(x, y, w, h), QColor(c)); | |
48481 | } | |
48482 | ||
48483 | inline void QPainter::fillRect(const QRect &r, Qt::GlobalColor c) | |
48484 | { | |
48485 | fillRect(r, QColor(c)); | |
48486 | } | |
48487 | ||
48488 | inline void QPainter::fillRect(const QRectF &r, Qt::GlobalColor c) | |
48489 | { | |
48490 | fillRect(r, QColor(c)); | |
48491 | } | |
48492 | ||
48493 | inline void QPainter::fillRect(int x, int y, int w, int h, Qt::BrushStyle style) | |
48494 | { | |
48495 | fillRect(QRectF(x, y, w, h), QBrush(style)); | |
48496 | } | |
48497 | ||
48498 | inline void QPainter::fillRect(const QRect &r, Qt::BrushStyle style) | |
48499 | { | |
48500 | fillRect(QRectF(r), QBrush(style)); | |
48501 | } | |
48502 | ||
48503 | inline void QPainter::fillRect(const QRectF &r, Qt::BrushStyle style) | |
48504 | { | |
48505 | fillRect(r, QBrush(style)); | |
48506 | } | |
48507 | ||
48508 | ||
48509 | inline void QPainter::setBrushOrigin(int x, int y) | |
48510 | { | |
48511 | setBrushOrigin(QPoint(x, y)); | |
48512 | } | |
48513 | ||
48514 | inline void QPainter::setBrushOrigin(const QPoint &p) | |
48515 | { | |
48516 | setBrushOrigin(QPointF(p)); | |
48517 | } | |
48518 | ||
48519 | inline void QPainter::drawTiledPixmap(const QRect &rect, const QPixmap &pm, const QPoint &offset) | |
48520 | { | |
48521 | drawTiledPixmap(QRectF(rect), pm, QPointF(offset)); | |
48522 | } | |
48523 | ||
48524 | inline void QPainter::drawTiledPixmap(int x, int y, int w, int h, const QPixmap &pm, int sx, int sy) | |
48525 | { | |
48526 | drawTiledPixmap(QRectF(x, y, w, h), pm, QPointF(sx, sy)); | |
48527 | } | |
48528 | ||
48529 | inline void QPainter::drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect) | |
48530 | { | |
48531 | drawPixmap(QRectF(targetRect), pixmap, QRectF(sourceRect)); | |
48532 | } | |
48533 | ||
48534 | inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm) | |
48535 | { | |
48536 | drawPixmap(QPointF(p), pm); | |
48537 | } | |
48538 | ||
48539 | inline void QPainter::drawPixmap(const QRect &r, const QPixmap &pm) | |
48540 | { | |
48541 | drawPixmap(QRectF(r), pm, QRectF()); | |
48542 | } | |
48543 | ||
48544 | inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm) | |
48545 | { | |
48546 | drawPixmap(QPointF(x, y), pm); | |
48547 | } | |
48548 | ||
48549 | inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm) | |
48550 | { | |
48551 | drawPixmap(QRectF(x, y, w, h), pm, QRectF()); | |
48552 | } | |
48553 | ||
48554 | inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm, | |
48555 | int sx, int sy, int sw, int sh) | |
48556 | { | |
48557 | drawPixmap(QRectF(x, y, w, h), pm, QRectF(sx, sy, sw, sh)); | |
48558 | } | |
48559 | ||
48560 | inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm, | |
48561 | int sx, int sy, int sw, int sh) | |
48562 | { | |
48563 | drawPixmap(QRectF(x, y, -1, -1), pm, QRectF(sx, sy, sw, sh)); | |
48564 | } | |
48565 | ||
48566 | inline void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr) | |
48567 | { | |
48568 | drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr); | |
48569 | } | |
48570 | ||
48571 | inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr) | |
48572 | { | |
48573 | drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr); | |
48574 | } | |
48575 | ||
48576 | inline void QPainter::drawTextItem(int x, int y, const QTextItem &ti) | |
48577 | { | |
48578 | drawTextItem(QPointF(x, y), ti); | |
48579 | } | |
48580 | ||
48581 | inline void QPainter::drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect, | |
48582 | Qt::ImageConversionFlags flags) | |
48583 | { | |
48584 | drawImage(QRectF(targetRect), image, QRectF(sourceRect), flags); | |
48585 | } | |
48586 | ||
48587 | inline void QPainter::drawImage(const QPointF &p, const QImage &image, const QRectF &sr, | |
48588 | Qt::ImageConversionFlags flags) | |
48589 | { | |
48590 | drawImage(QRectF(p.x(), p.y(), -1, -1), image, sr, flags); | |
48591 | } | |
48592 | ||
48593 | inline void QPainter::drawImage(const QPoint &p, const QImage &image, const QRect &sr, | |
48594 | Qt::ImageConversionFlags flags) | |
48595 | { | |
48596 | drawImage(QRect(p.x(), p.y(), -1, -1), image, sr, flags); | |
48597 | } | |
48598 | ||
48599 | ||
48600 | inline void QPainter::drawImage(const QRectF &r, const QImage &image) | |
48601 | { | |
48602 | drawImage(r, image, QRect(0, 0, image.width(), image.height())); | |
48603 | } | |
48604 | ||
48605 | inline void QPainter::drawImage(const QRect &r, const QImage &image) | |
48606 | { | |
48607 | drawImage(r, image, QRectF(0, 0, image.width(), image.height())); | |
48608 | } | |
48609 | ||
48610 | inline void QPainter::drawImage(const QPoint &p, const QImage &image) | |
48611 | { | |
48612 | drawImage(QPointF(p), image); | |
48613 | } | |
48614 | ||
48615 | inline void QPainter::drawImage(int x, int y, const QImage &image, int sx, int sy, int sw, int sh, | |
48616 | Qt::ImageConversionFlags flags) | |
48617 | { | |
48618 | if (sx == 0 && sy == 0 && sw == -1 && sh == -1 && flags == Qt::AutoColor) | |
48619 | drawImage(QPointF(x, y), image); | |
48620 | else | |
48621 | drawImage(QRectF(x, y, -1, -1), image, QRectF(sx, sy, sw, sh), flags); | |
48622 | } | |
48623 | ||
48624 | inline void QPainter::drawTextItem(const QPoint &p, const QTextItem &ti) | |
48625 | { | |
48626 | drawTextItem(QPointF(p), ti); | |
48627 | } | |
48628 | ||
48629 | inline void QPainter::drawText(const QPoint &p, const QString &s) | |
48630 | { | |
48631 | drawText(QPointF(p), s); | |
48632 | } | |
48633 | ||
48634 | inline void QPainter::drawText(int x, int y, int w, int h, int flags, const QString &str, QRect *br) | |
48635 | { | |
48636 | drawText(QRect(x, y, w, h), flags, str, br); | |
48637 | } | |
48638 | ||
48639 | inline void QPainter::drawText(int x, int y, const QString &s) | |
48640 | { | |
48641 | drawText(QPointF(x, y), s); | |
48642 | } | |
48643 | ||
48644 | inline QRect QPainter::boundingRect(int x, int y, int w, int h, int flags, const QString &text) | |
48645 | { | |
48646 | return boundingRect(QRect(x, y, w, h), flags, text); | |
48647 | } | |
48648 | ||
48649 | inline void QPainter::translate(qreal dx, qreal dy) | |
48650 | { | |
48651 | translate(QPointF(dx, dy)); | |
48652 | } | |
48653 | ||
48654 | inline void QPainter::translate(const QPoint &offset) | |
48655 | { | |
48656 | translate(offset.x(), offset.y()); | |
48657 | } | |
48658 | ||
48659 | inline void QPainter::setViewport(int x, int y, int w, int h) | |
48660 | { | |
48661 | setViewport(QRect(x, y, w, h)); | |
48662 | } | |
48663 | ||
48664 | inline void QPainter::setWindow(int x, int y, int w, int h) | |
48665 | { | |
48666 | setWindow(QRect(x, y, w, h)); | |
48667 | } | |
48668 | ||
48669 | ||
48670 | inline void QPainter::drawPicture(int x, int y, const QPicture &p) | |
48671 | { | |
48672 | drawPicture(QPoint(x, y), p); | |
48673 | } | |
48674 | ||
48675 | inline void QPainter::drawPicture(const QPoint &pt, const QPicture &p) | |
48676 | { | |
48677 | drawPicture(QPointF(pt), p); | |
48678 | } | |
48679 | ||
48680 | ||
48681 | ||
48682 | ||
48683 | ||
48684 | # 1 "../../include/QtGui/qpainter.h" 2 | |
48685 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine.h" 2 | |
48686 | ||
48687 | ||
48688 | ||
48689 | ||
48690 | ||
48691 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
48692 | ||
48693 | class QFontEngine; | |
48694 | class QLineF; | |
48695 | class QPaintDevice; | |
48696 | class QPaintEnginePrivate; | |
48697 | class QPainterPath; | |
48698 | class QPointF; | |
48699 | class QPolygonF; | |
48700 | class QRectF; | |
48701 | struct QGlyphLayout; | |
48702 | class QTextItemInt; | |
48703 | class QPaintEngineState; | |
48704 | ||
48705 | class __attribute__((visibility("default"))) QTextItem { | |
48706 | public: | |
48707 | enum RenderFlag { | |
48708 | RightToLeft = 0x1, | |
48709 | Overline = 0x10, | |
48710 | Underline = 0x20, | |
48711 | StrikeOut = 0x40, | |
48712 | ||
48713 | Dummy = 0xffffffff | |
48714 | }; | |
48715 | typedef QFlags<RenderFlag> RenderFlags; | |
48716 | qreal descent() const; | |
48717 | qreal ascent() const; | |
48718 | qreal width() const; | |
48719 | ||
48720 | RenderFlags renderFlags() const; | |
48721 | QString text() const; | |
48722 | QFont font() const; | |
48723 | }; | |
48724 | template <> class QTypeInfo<QTextItem> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTextItem)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTextItem"; } }; | |
48725 | ||
48726 | ||
48727 | class __attribute__((visibility("default"))) QPaintEngine | |
48728 | { | |
48729 | inline QPaintEnginePrivate* d_func() { return reinterpret_cast<QPaintEnginePrivate *>(d_ptr); } inline const QPaintEnginePrivate* d_func() const { return reinterpret_cast<const QPaintEnginePrivate *>(d_ptr); } friend class QPaintEnginePrivate; | |
48730 | public: | |
48731 | enum PaintEngineFeature { | |
48732 | PrimitiveTransform = 0x00000001, | |
48733 | PatternTransform = 0x00000002, | |
48734 | PixmapTransform = 0x00000004, | |
48735 | PatternBrush = 0x00000008, | |
48736 | LinearGradientFill = 0x00000010, | |
48737 | RadialGradientFill = 0x00000020, | |
48738 | ConicalGradientFill = 0x00000040, | |
48739 | AlphaBlend = 0x00000080, | |
48740 | PorterDuff = 0x00000100, | |
48741 | PainterPaths = 0x00000200, | |
48742 | Antialiasing = 0x00000400, | |
48743 | BrushStroke = 0x00000800, | |
48744 | ConstantOpacity = 0x00001000, | |
48745 | MaskedBrush = 0x00002000, | |
48746 | PerspectiveTransform = 0x00004000, | |
48747 | BlendModes = 0x00008000, | |
48748 | ObjectBoundingModeGradients = 0x00010000, | |
48749 | RasterOpModes = 0x00020000, | |
48750 | PaintOutsidePaintEvent = 0x20000000, | |
48751 | ||
48752 | ||
48753 | ||
48754 | ||
48755 | ||
48756 | ||
48757 | ||
48758 | AllFeatures = 0xffffffff | |
48759 | }; | |
48760 | typedef QFlags<PaintEngineFeature> PaintEngineFeatures; | |
48761 | ||
48762 | enum DirtyFlag { | |
48763 | DirtyPen = 0x0001, | |
48764 | DirtyBrush = 0x0002, | |
48765 | DirtyBrushOrigin = 0x0004, | |
48766 | DirtyFont = 0x0008, | |
48767 | DirtyBackground = 0x0010, | |
48768 | DirtyBackgroundMode = 0x0020, | |
48769 | DirtyTransform = 0x0040, | |
48770 | DirtyClipRegion = 0x0080, | |
48771 | DirtyClipPath = 0x0100, | |
48772 | DirtyHints = 0x0200, | |
48773 | DirtyCompositionMode = 0x0400, | |
48774 | DirtyClipEnabled = 0x0800, | |
48775 | DirtyOpacity = 0x1000, | |
48776 | ||
48777 | AllDirty = 0xffff | |
48778 | }; | |
48779 | typedef QFlags<DirtyFlag> DirtyFlags; | |
48780 | ||
48781 | enum PolygonDrawMode { | |
48782 | OddEvenMode, | |
48783 | WindingMode, | |
48784 | ConvexMode, | |
48785 | PolylineMode | |
48786 | }; | |
48787 | ||
48788 | explicit QPaintEngine(PaintEngineFeatures features=0); | |
48789 | virtual ~QPaintEngine(); | |
48790 | ||
48791 | bool isActive() const { return active; } | |
48792 | void setActive(bool newState) { active = newState; } | |
48793 | ||
48794 | virtual bool begin(QPaintDevice *pdev) = 0; | |
48795 | virtual bool end() = 0; | |
48796 | ||
48797 | virtual void updateState(const QPaintEngineState &state) = 0; | |
48798 | ||
48799 | virtual void drawRects(const QRect *rects, int rectCount); | |
48800 | virtual void drawRects(const QRectF *rects, int rectCount); | |
48801 | ||
48802 | virtual void drawLines(const QLine *lines, int lineCount); | |
48803 | virtual void drawLines(const QLineF *lines, int lineCount); | |
48804 | ||
48805 | virtual void drawEllipse(const QRectF &r); | |
48806 | virtual void drawEllipse(const QRect &r); | |
48807 | ||
48808 | virtual void drawPath(const QPainterPath &path); | |
48809 | ||
48810 | virtual void drawPoints(const QPointF *points, int pointCount); | |
48811 | virtual void drawPoints(const QPoint *points, int pointCount); | |
48812 | ||
48813 | virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); | |
48814 | virtual void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode); | |
48815 | ||
48816 | virtual void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) = 0; | |
48817 | virtual void drawTextItem(const QPointF &p, const QTextItem &textItem); | |
48818 | virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s); | |
48819 | virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, | |
48820 | Qt::ImageConversionFlags flags = Qt::AutoColor); | |
48821 | ||
48822 | void setPaintDevice(QPaintDevice *device); | |
48823 | QPaintDevice *paintDevice() const; | |
48824 | ||
48825 | void setSystemClip(const QRegion &baseClip); | |
48826 | QRegion systemClip() const; | |
48827 | ||
48828 | void setSystemRect(const QRect &rect); | |
48829 | QRect systemRect() const; | |
48830 | ||
48831 | ||
48832 | ||
48833 | ||
48834 | ||
48835 | ||
48836 | virtual QPoint coordinateOffset() const; | |
48837 | ||
48838 | enum Type { | |
48839 | X11, | |
48840 | Windows, | |
48841 | QuickDraw, CoreGraphics, MacPrinter, | |
48842 | QWindowSystem, | |
48843 | PostScript, | |
48844 | OpenGL, | |
48845 | Picture, | |
48846 | SVG, | |
48847 | Raster, | |
48848 | Direct3D, | |
48849 | Pdf, | |
48850 | OpenVG, | |
48851 | ||
48852 | User = 50, | |
48853 | MaxUser = 100 | |
48854 | }; | |
48855 | virtual Type type() const = 0; | |
48856 | ||
48857 | inline void fix_neg_rect(int *x, int *y, int *w, int *h); | |
48858 | ||
48859 | inline bool testDirty(DirtyFlags df); | |
48860 | inline void setDirty(DirtyFlags df); | |
48861 | inline void clearDirty(DirtyFlags df); | |
48862 | ||
48863 | bool hasFeature(PaintEngineFeatures feature) const { return (gccaps & feature) != 0; } | |
48864 | ||
48865 | QPainter *painter() const; | |
48866 | ||
48867 | void syncState(); | |
48868 | inline bool isExtended() const { return extended; } | |
48869 | ||
48870 | protected: | |
48871 | QPaintEngine(QPaintEnginePrivate &data, PaintEngineFeatures devcaps=0); | |
48872 | ||
48873 | QPaintEngineState *state; | |
48874 | PaintEngineFeatures gccaps; | |
48875 | ||
48876 | uint active : 1; | |
48877 | uint selfDestruct : 1; | |
48878 | uint extended : 1; | |
48879 | ||
48880 | QPaintEnginePrivate *d_ptr; | |
48881 | ||
48882 | private: | |
48883 | void setAutoDestruct(bool autoDestr) { selfDestruct = autoDestr; } | |
48884 | bool autoDestruct() const { return selfDestruct; } | |
48885 | QPaintEngine(const QPaintEngine &); QPaintEngine &operator=(const QPaintEngine &); | |
48886 | ||
48887 | friend class QFontEngineBox; | |
48888 | friend class QFontEngineMac; | |
48889 | friend class QFontEngineWin; | |
48890 | ||
48891 | ||
48892 | ||
48893 | ||
48894 | friend class QFontEngineQPF1; | |
48895 | ||
48896 | ||
48897 | friend class QFontEngineQPF; | |
48898 | ||
48899 | friend class QPSPrintEngine; | |
48900 | friend class QMacPrintEngine; | |
48901 | friend class QMacPrintEnginePrivate; | |
48902 | ||
48903 | friend class QtopiaPrintEngine; | |
48904 | friend class QtopiaPrintEnginePrivate; | |
48905 | friend class QProxyFontEngine; | |
48906 | ||
48907 | friend class QPainter; | |
48908 | friend class QPainterPrivate; | |
48909 | friend class QWidget; | |
48910 | friend class QWidgetPrivate; | |
48911 | friend class QWin32PaintEngine; | |
48912 | friend class QWin32PaintEnginePrivate; | |
48913 | friend class QMacCGContext; | |
48914 | friend class QPreviewPaintEngine; | |
48915 | }; | |
48916 | ||
48917 | ||
48918 | class __attribute__((visibility("default"))) QPaintEngineState | |
48919 | { | |
48920 | public: | |
48921 | QPaintEngine::DirtyFlags state() const { return dirtyFlags; } | |
48922 | ||
48923 | QPen pen() const; | |
48924 | QBrush brush() const; | |
48925 | QPointF brushOrigin() const; | |
48926 | QBrush backgroundBrush() const; | |
48927 | Qt::BGMode backgroundMode() const; | |
48928 | QFont font() const; | |
48929 | QMatrix matrix() const; | |
48930 | QTransform transform() const; | |
48931 | ||
48932 | Qt::ClipOperation clipOperation() const; | |
48933 | QRegion clipRegion() const; | |
48934 | QPainterPath clipPath() const; | |
48935 | bool isClipEnabled() const; | |
48936 | ||
48937 | QPainter::RenderHints renderHints() const; | |
48938 | QPainter::CompositionMode compositionMode() const; | |
48939 | qreal opacity() const; | |
48940 | ||
48941 | QPainter *painter() const; | |
48942 | ||
48943 | bool brushNeedsResolving() const; | |
48944 | bool penNeedsResolving() const; | |
48945 | ||
48946 | protected: | |
48947 | friend class QPaintEngine; | |
48948 | friend class QRasterPaintEngine; | |
48949 | friend class QWidget; | |
48950 | friend class QPainter; | |
48951 | friend class QPainterPrivate; | |
48952 | friend class QMacPrintEnginePrivate; | |
48953 | ||
48954 | QPaintEngine::DirtyFlags dirtyFlags; | |
48955 | }; | |
48956 | ||
48957 | ||
48958 | ||
48959 | ||
48960 | ||
48961 | inline void QPaintEngine::fix_neg_rect(int *x, int *y, int *w, int *h) | |
48962 | { | |
48963 | if (*w < 0) { | |
48964 | *w = -*w; | |
48965 | *x -= *w - 1; | |
48966 | } | |
48967 | if (*h < 0) { | |
48968 | *h = -*h; | |
48969 | *y -= *h - 1; | |
48970 | } | |
48971 | } | |
48972 | ||
48973 | inline bool QPaintEngine::testDirty(DirtyFlags df) { | |
48974 | qt_noop(); | |
48975 | return ((state->dirtyFlags & df) != 0); | |
48976 | } | |
48977 | ||
48978 | inline void QPaintEngine::setDirty(DirtyFlags df) { | |
48979 | qt_noop(); | |
48980 | state->dirtyFlags |= df; | |
48981 | } | |
48982 | ||
48983 | inline void QPaintEngine::clearDirty(DirtyFlags df) | |
48984 | { | |
48985 | qt_noop(); | |
48986 | state->dirtyFlags &= ~static_cast<uint>(df); | |
48987 | } | |
48988 | ||
48989 | inline QFlags<QTextItem::RenderFlags::enum_type> operator|(QTextItem::RenderFlags::enum_type f1, QTextItem::RenderFlags::enum_type f2) { return QFlags<QTextItem::RenderFlags::enum_type>(f1) | f2; } inline QFlags<QTextItem::RenderFlags::enum_type> operator|(QTextItem::RenderFlags::enum_type f1, QFlags<QTextItem::RenderFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QTextItem::RenderFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
48990 | inline QFlags<QPaintEngine::PaintEngineFeatures::enum_type> operator|(QPaintEngine::PaintEngineFeatures::enum_type f1, QPaintEngine::PaintEngineFeatures::enum_type f2) { return QFlags<QPaintEngine::PaintEngineFeatures::enum_type>(f1) | f2; } inline QFlags<QPaintEngine::PaintEngineFeatures::enum_type> operator|(QPaintEngine::PaintEngineFeatures::enum_type f1, QFlags<QPaintEngine::PaintEngineFeatures::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QPaintEngine::PaintEngineFeatures::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
48991 | inline QFlags<QPaintEngine::DirtyFlags::enum_type> operator|(QPaintEngine::DirtyFlags::enum_type f1, QPaintEngine::DirtyFlags::enum_type f2) { return QFlags<QPaintEngine::DirtyFlags::enum_type>(f1) | f2; } inline QFlags<QPaintEngine::DirtyFlags::enum_type> operator|(QPaintEngine::DirtyFlags::enum_type f1, QFlags<QPaintEngine::DirtyFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QPaintEngine::DirtyFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
48992 | ||
48993 | ||
48994 | ||
48995 | ||
48996 | # 1 "../../include/QtGui/qpaintengine.h" 2 | |
48997 | # 65 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
48998 | # 1 "../../include/QtGui/qtextobject.h" 1 | |
48999 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextobject.h" 1 | |
49000 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextobject.h" | |
49001 | #define QTEXTOBJECT_H | |
49002 | ||
49003 | # 1 "../../include/QtCore/qobject.h" 1 | |
49004 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextobject.h" 2 | |
49005 | # 1 "../../include/QtGui/qtextformat.h" 1 | |
49006 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextobject.h" 2 | |
49007 | ||
49008 | ||
49009 | ||
49010 | ||
49011 | ||
49012 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
49013 | ||
49014 | class QTextObjectPrivate; | |
49015 | class QTextDocument; | |
49016 | class QTextDocumentPrivate; | |
49017 | class QTextCursor; | |
49018 | class QTextBlock; | |
49019 | class QTextFragment; | |
49020 | class QTextLayout; | |
49021 | class QTextList; | |
49022 | ||
49023 | class __attribute__((visibility("default"))) QTextObject : public QObject | |
49024 | { | |
49025 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
49026 | ||
49027 | protected: | |
49028 | explicit QTextObject(QTextDocument *doc); | |
49029 | ~QTextObject(); | |
49030 | ||
49031 | void setFormat(const QTextFormat &format); | |
49032 | ||
49033 | public: | |
49034 | QTextFormat format() const; | |
49035 | int formatIndex() const; | |
49036 | ||
49037 | QTextDocument *document() const; | |
49038 | ||
49039 | int objectIndex() const; | |
49040 | ||
49041 | QTextDocumentPrivate *docHandle() const; | |
49042 | ||
49043 | protected: | |
49044 | QTextObject(QTextObjectPrivate &p, QTextDocument *doc); | |
49045 | ||
49046 | private: | |
49047 | inline QTextObjectPrivate* d_func() { return reinterpret_cast<QTextObjectPrivate *>(d_ptr); } inline const QTextObjectPrivate* d_func() const { return reinterpret_cast<const QTextObjectPrivate *>(d_ptr); } friend class QTextObjectPrivate; | |
49048 | QTextObject(const QTextObject &); QTextObject &operator=(const QTextObject &); | |
49049 | friend class QTextDocumentPrivate; | |
49050 | }; | |
49051 | ||
49052 | class QTextBlockGroupPrivate; | |
49053 | class __attribute__((visibility("default"))) QTextBlockGroup : public QTextObject | |
49054 | { | |
49055 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
49056 | ||
49057 | protected: | |
49058 | explicit QTextBlockGroup(QTextDocument *doc); | |
49059 | ~QTextBlockGroup(); | |
49060 | ||
49061 | virtual void blockInserted(const QTextBlock &block); | |
49062 | virtual void blockRemoved(const QTextBlock &block); | |
49063 | virtual void blockFormatChanged(const QTextBlock &block); | |
49064 | ||
49065 | QList<QTextBlock> blockList() const; | |
49066 | ||
49067 | protected: | |
49068 | QTextBlockGroup(QTextBlockGroupPrivate &p, QTextDocument *doc); | |
49069 | private: | |
49070 | inline QTextBlockGroupPrivate* d_func() { return reinterpret_cast<QTextBlockGroupPrivate *>(d_ptr); } inline const QTextBlockGroupPrivate* d_func() const { return reinterpret_cast<const QTextBlockGroupPrivate *>(d_ptr); } friend class QTextBlockGroupPrivate; | |
49071 | QTextBlockGroup(const QTextBlockGroup &); QTextBlockGroup &operator=(const QTextBlockGroup &); | |
49072 | friend class QTextDocumentPrivate; | |
49073 | }; | |
49074 | ||
49075 | class __attribute__((visibility("default"))) QTextFrameLayoutData { | |
49076 | public: | |
49077 | virtual ~QTextFrameLayoutData(); | |
49078 | }; | |
49079 | ||
49080 | class QTextFramePrivate; | |
49081 | class __attribute__((visibility("default"))) QTextFrame : public QTextObject | |
49082 | { | |
49083 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
49084 | ||
49085 | public: | |
49086 | explicit QTextFrame(QTextDocument *doc); | |
49087 | ~QTextFrame(); | |
49088 | ||
49089 | inline void setFrameFormat(const QTextFrameFormat &format); | |
49090 | QTextFrameFormat frameFormat() const { return QTextObject::format().toFrameFormat(); } | |
49091 | ||
49092 | QTextCursor firstCursorPosition() const; | |
49093 | QTextCursor lastCursorPosition() const; | |
49094 | int firstPosition() const; | |
49095 | int lastPosition() const; | |
49096 | ||
49097 | QTextFrameLayoutData *layoutData() const; | |
49098 | void setLayoutData(QTextFrameLayoutData *data); | |
49099 | ||
49100 | QList<QTextFrame *> childFrames() const; | |
49101 | QTextFrame *parentFrame() const; | |
49102 | ||
49103 | class __attribute__((visibility("default"))) iterator { | |
49104 | QTextFrame *f; | |
49105 | int b; | |
49106 | int e; | |
49107 | QTextFrame *cf; | |
49108 | int cb; | |
49109 | ||
49110 | friend class QTextFrame; | |
49111 | friend class QTextTableCell; | |
49112 | friend class QTextDocumentLayoutPrivate; | |
49113 | iterator(QTextFrame *frame, int block, int begin, int end); | |
49114 | public: | |
49115 | iterator(); | |
49116 | iterator(const iterator &o); | |
49117 | iterator &operator=(const iterator &o); | |
49118 | ||
49119 | QTextFrame *parentFrame() const { return f; } | |
49120 | ||
49121 | QTextFrame *currentFrame() const; | |
49122 | QTextBlock currentBlock() const; | |
49123 | ||
49124 | bool atEnd() const { return !cf && cb == e; } | |
49125 | ||
49126 | inline bool operator==(const iterator &o) const { return f == o.f && cf == o.cf && cb == o.cb; } | |
49127 | inline bool operator!=(const iterator &o) const { return f != o.f || cf != o.cf || cb != o.cb; } | |
49128 | iterator &operator++(); | |
49129 | inline iterator operator++(int) { iterator tmp = *this; operator++(); return tmp; } | |
49130 | iterator &operator--(); | |
49131 | inline iterator operator--(int) { iterator tmp = *this; operator--(); return tmp; } | |
49132 | }; | |
49133 | ||
49134 | friend class iterator; | |
49135 | ||
49136 | typedef iterator Iterator; | |
49137 | ||
49138 | iterator begin() const; | |
49139 | iterator end() const; | |
49140 | ||
49141 | protected: | |
49142 | QTextFrame(QTextFramePrivate &p, QTextDocument *doc); | |
49143 | private: | |
49144 | friend class QTextDocumentPrivate; | |
49145 | inline QTextFramePrivate* d_func() { return reinterpret_cast<QTextFramePrivate *>(d_ptr); } inline const QTextFramePrivate* d_func() const { return reinterpret_cast<const QTextFramePrivate *>(d_ptr); } friend class QTextFramePrivate; | |
49146 | QTextFrame(const QTextFrame &); QTextFrame &operator=(const QTextFrame &); | |
49147 | }; | |
49148 | template <> class QTypeInfo<QTextFrame::iterator> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTextFrame::iterator)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTextFrame::iterator"; } }; | |
49149 | ||
49150 | inline void QTextFrame::setFrameFormat(const QTextFrameFormat &aformat) | |
49151 | { QTextObject::setFormat(aformat); } | |
49152 | ||
49153 | class __attribute__((visibility("default"))) QTextBlockUserData { | |
49154 | public: | |
49155 | virtual ~QTextBlockUserData(); | |
49156 | }; | |
49157 | ||
49158 | class __attribute__((visibility("default"))) QTextBlock | |
49159 | { | |
49160 | friend class QSyntaxHighlighter; | |
49161 | public: | |
49162 | inline QTextBlock(QTextDocumentPrivate *priv, int b) : p(priv), n(b) {} | |
49163 | inline QTextBlock() : p(0), n(0) {} | |
49164 | inline QTextBlock(const QTextBlock &o) : p(o.p), n(o.n) {} | |
49165 | inline QTextBlock &operator=(const QTextBlock &o) { p = o.p; n = o.n; return *this; } | |
49166 | ||
49167 | inline bool isValid() const { return p != 0 && n != 0; } | |
49168 | ||
49169 | inline bool operator==(const QTextBlock &o) const { return p == o.p && n == o.n; } | |
49170 | inline bool operator!=(const QTextBlock &o) const { return p != o.p || n != o.n; } | |
49171 | inline bool operator<(const QTextBlock &o) const { return position() < o.position(); } | |
49172 | ||
49173 | int position() const; | |
49174 | int length() const; | |
49175 | bool contains(int position) const; | |
49176 | ||
49177 | QTextLayout *layout() const; | |
49178 | void clearLayout(); | |
49179 | QTextBlockFormat blockFormat() const; | |
49180 | int blockFormatIndex() const; | |
49181 | QTextCharFormat charFormat() const; | |
49182 | int charFormatIndex() const; | |
49183 | ||
49184 | QString text() const; | |
49185 | ||
49186 | const QTextDocument *document() const; | |
49187 | ||
49188 | QTextList *textList() const; | |
49189 | ||
49190 | QTextBlockUserData *userData() const; | |
49191 | void setUserData(QTextBlockUserData *data); | |
49192 | ||
49193 | int userState() const; | |
49194 | void setUserState(int state); | |
49195 | ||
49196 | int revision() const; | |
49197 | void setRevision(int rev); | |
49198 | ||
49199 | bool isVisible() const; | |
49200 | void setVisible(bool visible); | |
49201 | ||
49202 | int blockNumber() const; | |
49203 | int firstLineNumber() const; | |
49204 | ||
49205 | void setLineCount(int count); | |
49206 | int lineCount() const; | |
49207 | ||
49208 | class __attribute__((visibility("default"))) iterator { | |
49209 | const QTextDocumentPrivate *p; | |
49210 | int b; | |
49211 | int e; | |
49212 | int n; | |
49213 | friend class QTextBlock; | |
49214 | iterator(const QTextDocumentPrivate *priv, int begin, int end, int f) : p(priv), b(begin), e(end), n(f) {} | |
49215 | public: | |
49216 | iterator() : p(0), b(0), e(0), n(0) {} | |
49217 | iterator(const iterator &o) : p(o.p), b(o.b), e(o.e), n(o.n) {} | |
49218 | ||
49219 | QTextFragment fragment() const; | |
49220 | ||
49221 | bool atEnd() const { return n == e; } | |
49222 | ||
49223 | inline bool operator==(const iterator &o) const { return p == o.p && n == o.n; } | |
49224 | inline bool operator!=(const iterator &o) const { return p != o.p || n != o.n; } | |
49225 | iterator &operator++(); | |
49226 | inline iterator operator++(int) { iterator tmp = *this; operator++(); return tmp; } | |
49227 | iterator &operator--(); | |
49228 | inline iterator operator--(int) { iterator tmp = *this; operator--(); return tmp; } | |
49229 | }; | |
49230 | ||
49231 | ||
49232 | typedef iterator Iterator; | |
49233 | ||
49234 | iterator begin() const; | |
49235 | iterator end() const; | |
49236 | ||
49237 | QTextBlock next() const; | |
49238 | QTextBlock previous() const; | |
49239 | ||
49240 | inline QTextDocumentPrivate *docHandle() const { return p; } | |
49241 | inline int fragmentIndex() const { return n; } | |
49242 | ||
49243 | private: | |
49244 | QTextDocumentPrivate *p; | |
49245 | int n; | |
49246 | friend class QTextDocumentPrivate; | |
49247 | friend class QTextLayout; | |
49248 | }; | |
49249 | ||
49250 | template <> class QTypeInfo<QTextBlock> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTextBlock)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTextBlock"; } }; | |
49251 | template <> class QTypeInfo<QTextBlock::iterator> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTextBlock::iterator)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTextBlock::iterator"; } }; | |
49252 | ||
49253 | ||
49254 | class __attribute__((visibility("default"))) QTextFragment | |
49255 | { | |
49256 | public: | |
49257 | inline QTextFragment(const QTextDocumentPrivate *priv, int f, int fe) : p(priv), n(f), ne(fe) {} | |
49258 | inline QTextFragment() : p(0), n(0), ne(0) {} | |
49259 | inline QTextFragment(const QTextFragment &o) : p(o.p), n(o.n), ne(o.ne) {} | |
49260 | inline QTextFragment &operator=(const QTextFragment &o) { p = o.p; n = o.n; ne = o.ne; return *this; } | |
49261 | ||
49262 | inline bool isValid() const { return p && n; } | |
49263 | ||
49264 | inline bool operator==(const QTextFragment &o) const { return p == o.p && n == o.n; } | |
49265 | inline bool operator!=(const QTextFragment &o) const { return p != o.p || n != o.n; } | |
49266 | inline bool operator<(const QTextFragment &o) const { return position() < o.position(); } | |
49267 | ||
49268 | int position() const; | |
49269 | int length() const; | |
49270 | bool contains(int position) const; | |
49271 | ||
49272 | QTextCharFormat charFormat() const; | |
49273 | int charFormatIndex() const; | |
49274 | QString text() const; | |
49275 | ||
49276 | private: | |
49277 | const QTextDocumentPrivate *p; | |
49278 | int n; | |
49279 | int ne; | |
49280 | }; | |
49281 | ||
49282 | template <> class QTypeInfo<QTextFragment> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTextFragment)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTextFragment"; } }; | |
49283 | ||
49284 | ||
49285 | ||
49286 | ||
49287 | # 1 "../../include/QtGui/qtextobject.h" 2 | |
49288 | # 66 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
49289 | # 1 "../../include/QtGui/qtextoption.h" 1 | |
49290 | # 67 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
49291 | # 1 "../../include/QtCore/qset.h" 1 | |
49292 | # 68 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
49293 | # 1 "../../include/QtCore/qdebug.h" 1 | |
49294 | # 69 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
49295 | ||
49296 | # 1 "../../include/QtGui/private/qtextdocument_p.h" 1 | |
49297 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 1 | |
49298 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" | |
49299 | #define QTEXTDOCUMENT_P_H | |
49300 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" | |
49301 | # 1 "../../include/QtCore/qglobal.h" 1 | |
49302 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
49303 | # 1 "../../include/QtCore/qstring.h" 1 | |
49304 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
49305 | # 1 "../../include/QtCore/qvector.h" 1 | |
49306 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
49307 | # 1 "../../include/QtCore/qlist.h" 1 | |
49308 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
49309 | # 1 "../../include/QtCore/private/qobject_p.h" 1 | |
49310 | # 1 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 1 | |
49311 | # 43 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" | |
49312 | #define QOBJECT_P_H | |
49313 | # 56 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" | |
49314 | # 1 "../../include/QtCore/qobject.h" 1 | |
49315 | # 57 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 2 | |
49316 | # 1 "../../include/QtCore/qpointer.h" 1 | |
49317 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qpointer.h" 1 | |
49318 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qpointer.h" | |
49319 | #define QPOINTER_H | |
49320 | ||
49321 | # 1 "../../include/QtCore/qobject.h" 1 | |
49322 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qpointer.h" 2 | |
49323 | ||
49324 | ||
49325 | ||
49326 | ||
49327 | ||
49328 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
49329 | ||
49330 | template <class T> | |
49331 | class QPointer | |
49332 | { | |
49333 | QObject *o; | |
49334 | public: | |
49335 | inline QPointer() : o(0) {} | |
49336 | inline QPointer(T *p) : o(p) | |
49337 | { QMetaObject::addGuard(&o); } | |
49338 | inline QPointer(const QPointer<T> &p) : o(p.o) | |
49339 | { QMetaObject::addGuard(&o); } | |
49340 | inline ~QPointer() | |
49341 | { QMetaObject::removeGuard(&o); } | |
49342 | inline QPointer<T> &operator=(const QPointer<T> &p) | |
49343 | { if (this != &p) QMetaObject::changeGuard(&o, p.o); return *this; } | |
49344 | inline QPointer<T> &operator=(T* p) | |
49345 | { if (o != p) QMetaObject::changeGuard(&o, p); return *this; } | |
49346 | ||
49347 | inline bool isNull() const | |
49348 | { return !o; } | |
49349 | ||
49350 | inline T* operator->() const | |
49351 | { return static_cast<T*>(const_cast<QObject*>(o)); } | |
49352 | inline T& operator*() const | |
49353 | { return *static_cast<T*>(const_cast<QObject*>(o)); } | |
49354 | inline operator T*() const | |
49355 | { return static_cast<T*>(const_cast<QObject*>(o)); } | |
49356 | inline T* data() const | |
49357 | { return static_cast<T*>(const_cast<QObject*>(o)); } | |
49358 | }; | |
49359 | ||
49360 | ||
49361 | ||
49362 | ||
49363 | template <class T> | |
49364 | inline bool operator==(const T *o, const QPointer<T> &p) | |
49365 | { return o == p.operator->(); } | |
49366 | ||
49367 | template<class T> | |
49368 | inline bool operator==(const QPointer<T> &p, const T *o) | |
49369 | { return p.operator->() == o; } | |
49370 | # 106 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qpointer.h" | |
49371 | template <class T> | |
49372 | inline bool operator==(T *o, const QPointer<T> &p) | |
49373 | { return o == p.operator->(); } | |
49374 | ||
49375 | template<class T> | |
49376 | inline bool operator==(const QPointer<T> &p, T *o) | |
49377 | { return p.operator->() == o; } | |
49378 | ||
49379 | template<class T> | |
49380 | inline bool operator==(const QPointer<T> &p1, const QPointer<T> &p2) | |
49381 | { return p1.operator->() == p2.operator->(); } | |
49382 | ||
49383 | ||
49384 | ||
49385 | ||
49386 | template <class T> | |
49387 | inline bool operator!=(const T *o, const QPointer<T> &p) | |
49388 | { return o != p.operator->(); } | |
49389 | ||
49390 | template<class T> | |
49391 | inline bool operator!= (const QPointer<T> &p, const T *o) | |
49392 | { return p.operator->() != o; } | |
49393 | # 141 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qpointer.h" | |
49394 | template <class T> | |
49395 | inline bool operator!=(T *o, const QPointer<T> &p) | |
49396 | { return o != p.operator->(); } | |
49397 | ||
49398 | template<class T> | |
49399 | inline bool operator!= (const QPointer<T> &p, T *o) | |
49400 | { return p.operator->() != o; } | |
49401 | ||
49402 | template<class T> | |
49403 | inline bool operator!= (const QPointer<T> &p1, const QPointer<T> &p2) | |
49404 | { return p1.operator->() != p2.operator->() ; } | |
49405 | # 164 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qpointer.h" | |
49406 | ||
49407 | ||
49408 | ||
49409 | # 1 "../../include/QtCore/qpointer.h" 2 | |
49410 | # 58 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 2 | |
49411 | # 1 "../../include/QtCore/qcoreevent.h" 1 | |
49412 | # 59 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 2 | |
49413 | # 1 "../../include/QtCore/qlist.h" 1 | |
49414 | # 60 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 2 | |
49415 | # 1 "../../include/QtCore/qvector.h" 1 | |
49416 | # 61 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 2 | |
49417 | # 1 "../../include/QtCore/qreadwritelock.h" 1 | |
49418 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qreadwritelock.h" 1 | |
49419 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qreadwritelock.h" | |
49420 | #define QREADWRITELOCK_H | |
49421 | ||
49422 | # 1 "../../include/QtCore/qglobal.h" 1 | |
49423 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qreadwritelock.h" 2 | |
49424 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/limits.h" 1 3 4 | |
49425 | ||
49426 | ||
49427 | ||
49428 | ||
49429 | ||
49430 | ||
49431 | #define _GCC_LIMITS_H_ | |
49432 | ||
49433 | ||
49434 | ||
49435 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/syslimits.h" 1 3 4 | |
49436 | ||
49437 | ||
49438 | ||
49439 | ||
49440 | ||
49441 | #define _GCC_NEXT_LIMITS_H | |
49442 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/limits.h" 1 3 4 | |
49443 | # 122 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/limits.h" 3 4 | |
49444 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/limits.h" 1 3 4 | |
49445 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/limits.h" 3 4 | |
49446 | #define _LIBC_LIMITS_H_ 1 | |
49447 | ||
49448 | ||
49449 | ||
49450 | ||
49451 | ||
49452 | ||
49453 | ||
49454 | #define MB_LEN_MAX 16 | |
49455 | # 144 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/limits.h" 3 4 | |
49456 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix1_lim.h" 1 3 4 | |
49457 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix1_lim.h" 3 4 | |
49458 | #define _BITS_POSIX1_LIM_H 1 | |
49459 | ||
49460 | ||
49461 | ||
49462 | ||
49463 | ||
49464 | #define _POSIX_AIO_LISTIO_MAX 2 | |
49465 | ||
49466 | ||
49467 | #define _POSIX_AIO_MAX 1 | |
49468 | ||
49469 | ||
49470 | #define _POSIX_ARG_MAX 4096 | |
49471 | ||
49472 | ||
49473 | ||
49474 | #define _POSIX_CHILD_MAX 25 | |
49475 | ||
49476 | ||
49477 | ||
49478 | ||
49479 | ||
49480 | #define _POSIX_DELAYTIMER_MAX 32 | |
49481 | ||
49482 | ||
49483 | ||
49484 | #define _POSIX_HOST_NAME_MAX 255 | |
49485 | ||
49486 | ||
49487 | #define _POSIX_LINK_MAX 8 | |
49488 | ||
49489 | ||
49490 | #define _POSIX_LOGIN_NAME_MAX 9 | |
49491 | ||
49492 | ||
49493 | #define _POSIX_MAX_CANON 255 | |
49494 | ||
49495 | ||
49496 | ||
49497 | #define _POSIX_MAX_INPUT 255 | |
49498 | ||
49499 | ||
49500 | #define _POSIX_MQ_OPEN_MAX 8 | |
49501 | ||
49502 | ||
49503 | #define _POSIX_MQ_PRIO_MAX 32 | |
49504 | ||
49505 | ||
49506 | #define _POSIX_NAME_MAX 14 | |
49507 | ||
49508 | ||
49509 | ||
49510 | #define _POSIX_NGROUPS_MAX 8 | |
49511 | ||
49512 | ||
49513 | ||
49514 | ||
49515 | ||
49516 | ||
49517 | #define _POSIX_OPEN_MAX 20 | |
49518 | ||
49519 | ||
49520 | ||
49521 | ||
49522 | ||
49523 | ||
49524 | #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX | |
49525 | ||
49526 | ||
49527 | #define _POSIX_PATH_MAX 256 | |
49528 | ||
49529 | ||
49530 | #define _POSIX_PIPE_BUF 512 | |
49531 | ||
49532 | ||
49533 | ||
49534 | #define _POSIX_RE_DUP_MAX 255 | |
49535 | ||
49536 | ||
49537 | #define _POSIX_RTSIG_MAX 8 | |
49538 | ||
49539 | ||
49540 | #define _POSIX_SEM_NSEMS_MAX 256 | |
49541 | ||
49542 | ||
49543 | #define _POSIX_SEM_VALUE_MAX 32767 | |
49544 | ||
49545 | ||
49546 | #define _POSIX_SIGQUEUE_MAX 32 | |
49547 | ||
49548 | ||
49549 | #define _POSIX_SSIZE_MAX 32767 | |
49550 | ||
49551 | ||
49552 | #define _POSIX_STREAM_MAX 8 | |
49553 | ||
49554 | ||
49555 | #define _POSIX_SYMLINK_MAX 255 | |
49556 | ||
49557 | ||
49558 | ||
49559 | #define _POSIX_SYMLOOP_MAX 8 | |
49560 | ||
49561 | ||
49562 | #define _POSIX_TIMER_MAX 32 | |
49563 | ||
49564 | ||
49565 | #define _POSIX_TTY_NAME_MAX 9 | |
49566 | ||
49567 | ||
49568 | #define _POSIX_TZNAME_MAX 6 | |
49569 | ||
49570 | ||
49571 | #define _POSIX_QLIMIT 1 | |
49572 | ||
49573 | ||
49574 | ||
49575 | #define _POSIX_HIWAT _POSIX_PIPE_BUF | |
49576 | ||
49577 | ||
49578 | #define _POSIX_UIO_MAXIOV 16 | |
49579 | ||
49580 | ||
49581 | #define _POSIX_CLOCKRES_MIN 20000000 | |
49582 | ||
49583 | ||
49584 | ||
49585 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/local_lim.h" 1 3 4 | |
49586 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/local_lim.h" 3 4 | |
49587 | #define __undef_NR_OPEN | |
49588 | ||
49589 | ||
49590 | #define __undef_LINK_MAX | |
49591 | ||
49592 | ||
49593 | #define __undef_OPEN_MAX | |
49594 | ||
49595 | ||
49596 | ||
49597 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/linux/limits.h" 1 3 4 | |
49598 | ||
49599 | #define _LINUX_LIMITS_H | |
49600 | ||
49601 | #define NR_OPEN 1024 | |
49602 | ||
49603 | #define NGROUPS_MAX 65536 | |
49604 | #define ARG_MAX 131072 | |
49605 | #define LINK_MAX 127 | |
49606 | #define MAX_CANON 255 | |
49607 | #define MAX_INPUT 255 | |
49608 | #define NAME_MAX 255 | |
49609 | #define PATH_MAX 4096 | |
49610 | #define PIPE_BUF 4096 | |
49611 | #define XATTR_NAME_MAX 255 | |
49612 | #define XATTR_SIZE_MAX 65536 | |
49613 | #define XATTR_LIST_MAX 65536 | |
49614 | ||
49615 | #define RTSIG_MAX 32 | |
49616 | # 37 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/local_lim.h" 2 3 4 | |
49617 | ||
49618 | ||
49619 | ||
49620 | #undef NR_OPEN | |
49621 | #undef __undef_NR_OPEN | |
49622 | ||
49623 | ||
49624 | ||
49625 | #undef LINK_MAX | |
49626 | #undef __undef_LINK_MAX | |
49627 | ||
49628 | ||
49629 | ||
49630 | #undef OPEN_MAX | |
49631 | #undef __undef_OPEN_MAX | |
49632 | ||
49633 | ||
49634 | ||
49635 | #define _POSIX_THREAD_KEYS_MAX 128 | |
49636 | ||
49637 | #define PTHREAD_KEYS_MAX 1024 | |
49638 | ||
49639 | ||
49640 | #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 | |
49641 | ||
49642 | #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS | |
49643 | ||
49644 | ||
49645 | #define _POSIX_THREAD_THREADS_MAX 64 | |
49646 | ||
49647 | ||
49648 | ||
49649 | #define AIO_PRIO_DELTA_MAX 20 | |
49650 | ||
49651 | ||
49652 | #define PTHREAD_STACK_MIN 16384 | |
49653 | ||
49654 | ||
49655 | #define DELAYTIMER_MAX 2147483647 | |
49656 | ||
49657 | ||
49658 | #define TTY_NAME_MAX 32 | |
49659 | ||
49660 | ||
49661 | #define LOGIN_NAME_MAX 256 | |
49662 | ||
49663 | ||
49664 | #define HOST_NAME_MAX 64 | |
49665 | ||
49666 | ||
49667 | #define MQ_PRIO_MAX 32768 | |
49668 | # 154 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix1_lim.h" 2 3 4 | |
49669 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_local_lim.h" 1 3 4 | |
49670 | # 11 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_local_lim.h" 3 4 | |
49671 | #define _BITS_UCLIBC_LOCAL_LIM_H 1 | |
49672 | # 20 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_local_lim.h" 3 4 | |
49673 | #define PTHREAD_THREADS_MAX 1024 | |
49674 | #define TIMER_MAX 256 | |
49675 | # 155 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix1_lim.h" 2 3 4 | |
49676 | ||
49677 | ||
49678 | ||
49679 | #define SSIZE_MAX LONG_MAX | |
49680 | # 145 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/limits.h" 2 3 4 | |
49681 | ||
49682 | ||
49683 | ||
49684 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix2_lim.h" 1 3 4 | |
49685 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/posix2_lim.h" 3 4 | |
49686 | #define _BITS_POSIX2_LIM_H 1 | |
49687 | ||
49688 | ||
49689 | ||
49690 | #define _POSIX2_BC_BASE_MAX 99 | |
49691 | ||
49692 | ||
49693 | #define _POSIX2_BC_DIM_MAX 2048 | |
49694 | ||
49695 | ||
49696 | #define _POSIX2_BC_SCALE_MAX 99 | |
49697 | ||
49698 | ||
49699 | #define _POSIX2_BC_STRING_MAX 1000 | |
49700 | ||
49701 | ||
49702 | ||
49703 | #define _POSIX2_COLL_WEIGHTS_MAX 2 | |
49704 | ||
49705 | ||
49706 | ||
49707 | #define _POSIX2_EXPR_NEST_MAX 32 | |
49708 | ||
49709 | ||
49710 | #define _POSIX2_LINE_MAX 2048 | |
49711 | ||
49712 | ||
49713 | ||
49714 | #define _POSIX2_RE_DUP_MAX 255 | |
49715 | ||
49716 | ||
49717 | ||
49718 | #define _POSIX2_CHARCLASS_NAME_MAX 14 | |
49719 | ||
49720 | ||
49721 | ||
49722 | ||
49723 | ||
49724 | ||
49725 | ||
49726 | #define BC_BASE_MAX _POSIX2_BC_BASE_MAX | |
49727 | ||
49728 | ||
49729 | #define BC_DIM_MAX _POSIX2_BC_DIM_MAX | |
49730 | ||
49731 | ||
49732 | #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX | |
49733 | ||
49734 | ||
49735 | #define BC_STRING_MAX _POSIX2_BC_STRING_MAX | |
49736 | ||
49737 | ||
49738 | #define COLL_WEIGHTS_MAX 255 | |
49739 | ||
49740 | ||
49741 | #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX | |
49742 | ||
49743 | ||
49744 | #define LINE_MAX _POSIX2_LINE_MAX | |
49745 | ||
49746 | ||
49747 | #define CHARCLASS_NAME_MAX 2048 | |
49748 | ||
49749 | ||
49750 | ||
49751 | #define RE_DUP_MAX (0x7fff) | |
49752 | # 149 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/limits.h" 2 3 4 | |
49753 | ||
49754 | ||
49755 | ||
49756 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/xopen_lim.h" 1 3 4 | |
49757 | # 31 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/xopen_lim.h" 3 4 | |
49758 | #define _XOPEN_LIM_H 1 | |
49759 | ||
49760 | #define __need_IOV_MAX | |
49761 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/stdio_lim.h" 1 3 4 | |
49762 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/stdio_lim.h" 3 4 | |
49763 | #define L_tmpnam 20 | |
49764 | #define TMP_MAX 238328 | |
49765 | #define FILENAME_MAX 4095 | |
49766 | ||
49767 | ||
49768 | #define L_ctermid 9 | |
49769 | #define L_cuserid 9 | |
49770 | ||
49771 | ||
49772 | ||
49773 | ||
49774 | #undef FOPEN_MAX | |
49775 | #define FOPEN_MAX 16 | |
49776 | ||
49777 | ||
49778 | ||
49779 | #define IOV_MAX 1024 | |
49780 | # 35 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/xopen_lim.h" 2 3 4 | |
49781 | # 66 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/xopen_lim.h" 3 4 | |
49782 | #define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV | |
49783 | # 76 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/xopen_lim.h" 3 4 | |
49784 | #define NL_ARGMAX __UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS__ | |
49785 | ||
49786 | ||
49787 | ||
49788 | #define NL_LANGMAX _POSIX2_LINE_MAX | |
49789 | ||
49790 | ||
49791 | #define NL_MSGMAX INT_MAX | |
49792 | ||
49793 | ||
49794 | ||
49795 | #define NL_NMAX INT_MAX | |
49796 | ||
49797 | ||
49798 | #define NL_SETMAX INT_MAX | |
49799 | ||
49800 | ||
49801 | #define NL_TEXTMAX INT_MAX | |
49802 | ||
49803 | ||
49804 | #define NZERO 20 | |
49805 | # 116 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/xopen_lim.h" 3 4 | |
49806 | #define WORD_BIT 32 | |
49807 | # 136 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/xopen_lim.h" 3 4 | |
49808 | #define LONG_BIT 32 | |
49809 | # 153 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/limits.h" 2 3 4 | |
49810 | # 123 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/limits.h" 2 3 4 | |
49811 | # 8 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/syslimits.h" 2 3 4 | |
49812 | #undef _GCC_NEXT_LIMITS_H | |
49813 | # 12 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/limits.h" 2 3 4 | |
49814 | ||
49815 | ||
49816 | #define _LIMITS_H___ | |
49817 | ||
49818 | ||
49819 | #undef CHAR_BIT | |
49820 | #define CHAR_BIT __CHAR_BIT__ | |
49821 | ||
49822 | ||
49823 | ||
49824 | ||
49825 | ||
49826 | ||
49827 | ||
49828 | #undef SCHAR_MIN | |
49829 | #define SCHAR_MIN (-SCHAR_MAX - 1) | |
49830 | #undef SCHAR_MAX | |
49831 | #define SCHAR_MAX __SCHAR_MAX__ | |
49832 | ||
49833 | ||
49834 | #undef UCHAR_MAX | |
49835 | ||
49836 | ||
49837 | ||
49838 | #define UCHAR_MAX (SCHAR_MAX * 2 + 1) | |
49839 | # 50 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/limits.h" 3 4 | |
49840 | #undef CHAR_MIN | |
49841 | #define CHAR_MIN SCHAR_MIN | |
49842 | #undef CHAR_MAX | |
49843 | #define CHAR_MAX SCHAR_MAX | |
49844 | ||
49845 | ||
49846 | ||
49847 | #undef SHRT_MIN | |
49848 | #define SHRT_MIN (-SHRT_MAX - 1) | |
49849 | #undef SHRT_MAX | |
49850 | #define SHRT_MAX __SHRT_MAX__ | |
49851 | ||
49852 | ||
49853 | #undef USHRT_MAX | |
49854 | ||
49855 | ||
49856 | ||
49857 | #define USHRT_MAX (SHRT_MAX * 2 + 1) | |
49858 | ||
49859 | ||
49860 | ||
49861 | #undef INT_MIN | |
49862 | #define INT_MIN (-INT_MAX - 1) | |
49863 | #undef INT_MAX | |
49864 | #define INT_MAX __INT_MAX__ | |
49865 | ||
49866 | ||
49867 | #undef UINT_MAX | |
49868 | #define UINT_MAX (INT_MAX * 2U + 1U) | |
49869 | ||
49870 | ||
49871 | ||
49872 | #undef LONG_MIN | |
49873 | #define LONG_MIN (-LONG_MAX - 1L) | |
49874 | #undef LONG_MAX | |
49875 | #define LONG_MAX __LONG_MAX__ | |
49876 | ||
49877 | ||
49878 | #undef ULONG_MAX | |
49879 | #define ULONG_MAX (LONG_MAX * 2UL + 1UL) | |
49880 | # 105 "/opt/uClinux/bfin-linux-uclibc/bin/../lib/gcc/bfin-linux-uclibc/4.3.4/include-fixed/limits.h" 3 4 | |
49881 | #undef LONG_LONG_MIN | |
49882 | #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL) | |
49883 | #undef LONG_LONG_MAX | |
49884 | #define LONG_LONG_MAX __LONG_LONG_MAX__ | |
49885 | ||
49886 | ||
49887 | #undef ULONG_LONG_MAX | |
49888 | #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL) | |
49889 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qreadwritelock.h" 2 | |
49890 | ||
49891 | ||
49892 | ||
49893 | ||
49894 | ||
49895 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
49896 | ||
49897 | ||
49898 | ||
49899 | struct QReadWriteLockPrivate; | |
49900 | ||
49901 | class __attribute__((visibility("default"))) QReadWriteLock | |
49902 | { | |
49903 | public: | |
49904 | enum RecursionMode { NonRecursive, Recursive }; | |
49905 | ||
49906 | QReadWriteLock(); | |
49907 | QReadWriteLock(RecursionMode recursionMode); | |
49908 | ~QReadWriteLock(); | |
49909 | ||
49910 | void lockForRead(); | |
49911 | bool tryLockForRead(); | |
49912 | bool tryLockForRead(int timeout); | |
49913 | ||
49914 | void lockForWrite(); | |
49915 | bool tryLockForWrite(); | |
49916 | bool tryLockForWrite(int timeout); | |
49917 | ||
49918 | void unlock(); | |
49919 | ||
49920 | private: | |
49921 | QReadWriteLock(const QReadWriteLock &); QReadWriteLock &operator=(const QReadWriteLock &); | |
49922 | QReadWriteLockPrivate *d; | |
49923 | ||
49924 | friend class QWaitCondition; | |
49925 | }; | |
49926 | ||
49927 | ||
49928 | ||
49929 | ||
49930 | ||
49931 | ||
49932 | class __attribute__((visibility("default"))) QReadLocker | |
49933 | { | |
49934 | public: | |
49935 | inline QReadLocker(QReadWriteLock *readWriteLock); | |
49936 | ||
49937 | inline ~QReadLocker() | |
49938 | { unlock(); } | |
49939 | ||
49940 | inline void unlock() | |
49941 | { | |
49942 | if (q_lock) { | |
49943 | if ((q_val & quintptr(1u)) == quintptr(1u)) { | |
49944 | q_val &= ~quintptr(1u); | |
49945 | q_lock->unlock(); | |
49946 | } | |
49947 | } | |
49948 | } | |
49949 | ||
49950 | inline void relock() | |
49951 | { | |
49952 | if (q_lock) { | |
49953 | if ((q_val & quintptr(1u)) == quintptr(0u)) { | |
49954 | q_lock->lockForRead(); | |
49955 | q_val |= quintptr(1u); | |
49956 | } | |
49957 | } | |
49958 | } | |
49959 | ||
49960 | inline QReadWriteLock *readWriteLock() const | |
49961 | { return reinterpret_cast<QReadWriteLock *>(q_val & ~quintptr(1u)); } | |
49962 | ||
49963 | private: | |
49964 | QReadLocker(const QReadLocker &); QReadLocker &operator=(const QReadLocker &); | |
49965 | union { | |
49966 | QReadWriteLock *q_lock; | |
49967 | quintptr q_val; | |
49968 | }; | |
49969 | }; | |
49970 | ||
49971 | inline QReadLocker::QReadLocker(QReadWriteLock *areadWriteLock) | |
49972 | : q_lock(areadWriteLock) | |
49973 | { | |
49974 | qt_noop(); | |
49975 | ||
49976 | relock(); | |
49977 | } | |
49978 | ||
49979 | class __attribute__((visibility("default"))) QWriteLocker | |
49980 | { | |
49981 | public: | |
49982 | inline QWriteLocker(QReadWriteLock *readWriteLock); | |
49983 | ||
49984 | inline ~QWriteLocker() | |
49985 | { unlock(); } | |
49986 | ||
49987 | inline void unlock() | |
49988 | { | |
49989 | if (q_lock) { | |
49990 | if ((q_val & quintptr(1u)) == quintptr(1u)) { | |
49991 | q_val &= ~quintptr(1u); | |
49992 | q_lock->unlock(); | |
49993 | } | |
49994 | } | |
49995 | } | |
49996 | ||
49997 | inline void relock() | |
49998 | { | |
49999 | if (q_lock) { | |
50000 | if ((q_val & quintptr(1u)) == quintptr(0u)) { | |
50001 | q_lock->lockForWrite(); | |
50002 | q_val |= quintptr(1u); | |
50003 | } | |
50004 | } | |
50005 | } | |
50006 | ||
50007 | inline QReadWriteLock *readWriteLock() const | |
50008 | { return reinterpret_cast<QReadWriteLock *>(q_val & ~quintptr(1u)); } | |
50009 | ||
50010 | ||
50011 | private: | |
50012 | QWriteLocker(const QWriteLocker &); QWriteLocker &operator=(const QWriteLocker &); | |
50013 | union{ | |
50014 | QReadWriteLock *q_lock; | |
50015 | quintptr q_val; | |
50016 | }; | |
50017 | }; | |
50018 | ||
50019 | inline QWriteLocker::QWriteLocker(QReadWriteLock *areadWriteLock) | |
50020 | : q_lock(areadWriteLock) | |
50021 | { | |
50022 | qt_noop(); | |
50023 | ||
50024 | relock(); | |
50025 | } | |
50026 | # 240 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/thread/qreadwritelock.h" | |
50027 | ||
50028 | ||
50029 | ||
50030 | # 1 "../../include/QtCore/qreadwritelock.h" 2 | |
50031 | # 62 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 2 | |
50032 | # 1 "../../include/QtCore/qvariant.h" 1 | |
50033 | # 63 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject_p.h" 2 | |
50034 | ||
50035 | ||
50036 | ||
50037 | class QVariant; | |
50038 | class QThreadData; | |
50039 | class QObjectConnectionListVector; | |
50040 | ||
50041 | ||
50042 | struct QSignalSpyCallbackSet | |
50043 | { | |
50044 | typedef void (*BeginCallback)(QObject *caller, int method_index, void **argv); | |
50045 | typedef void (*EndCallback)(QObject *caller, int method_index); | |
50046 | BeginCallback signal_begin_callback, | |
50047 | slot_begin_callback; | |
50048 | EndCallback signal_end_callback, | |
50049 | slot_end_callback; | |
50050 | }; | |
50051 | void __attribute__((visibility("default"))) qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet &callback_set); | |
50052 | ||
50053 | extern QSignalSpyCallbackSet __attribute__((visibility("default"))) qt_signal_spy_callback_set; | |
50054 | ||
50055 | inline QObjectData::~QObjectData() {} | |
50056 | ||
50057 | enum { QObjectPrivateVersion = 0x040501 }; | |
50058 | ||
50059 | class __attribute__((visibility("default"))) QObjectPrivate : public QObjectData | |
50060 | { | |
50061 | inline QObject* q_func() { return static_cast<QObject *>(q_ptr); } inline const QObject* q_func() const { return static_cast<const QObject *>(q_ptr); } friend class QObject; | |
50062 | ||
50063 | public: | |
50064 | QObjectPrivate(int version = QObjectPrivateVersion); | |
50065 | virtual ~QObjectPrivate(); | |
50066 | ||
50067 | ||
50068 | ||
50069 | ||
50070 | ||
50071 | ||
50072 | ||
50073 | QList<QObject *> unused; | |
50074 | ||
50075 | ||
50076 | ||
50077 | QThreadData *threadData; | |
50078 | void moveToThread_helper(); | |
50079 | void setThreadData_helper(QThreadData *currentData, QThreadData *targetData); | |
50080 | void _q_reregisterTimers(void *pointer); | |
50081 | ||
50082 | struct Sender | |
50083 | { | |
50084 | QObject *sender; | |
50085 | int signal; | |
50086 | int ref; | |
50087 | }; | |
50088 | ||
50089 | ||
50090 | Sender *currentSender; | |
50091 | ||
50092 | QObject *currentChildBeingDeleted; | |
50093 | ||
50094 | bool isSender(const QObject *receiver, const char *signal) const; | |
50095 | QObjectList receiverList(const char *signal) const; | |
50096 | QObjectList senderList() const; | |
50097 | ||
50098 | QList<QPointer<QObject> > eventFilters; | |
50099 | ||
50100 | void setParent_helper(QObject *); | |
50101 | ||
50102 | void deleteChildren(); | |
50103 | ||
50104 | static void clearGuards(QObject *); | |
50105 | ||
50106 | struct ExtraData | |
50107 | { | |
50108 | ||
50109 | QVector<QObjectUserData *> userData; | |
50110 | ||
50111 | QList<QByteArray> propertyNames; | |
50112 | QList<QVariant> propertyValues; | |
50113 | }; | |
50114 | ExtraData *extraData; | |
50115 | mutable quint32 connectedSignals; | |
50116 | ||
50117 | QString objectName; | |
50118 | ||
50119 | ||
50120 | struct Connection | |
50121 | { | |
50122 | QObject *receiver; | |
50123 | int method; | |
50124 | uint connectionType : 3; | |
50125 | QBasicAtomicPointer<int> argumentTypes; | |
50126 | }; | |
50127 | typedef QList<Connection> ConnectionList; | |
50128 | ||
50129 | QObjectConnectionListVector *connectionLists; | |
50130 | void addConnection(int signal, Connection *c); | |
50131 | void removeReceiver(int signal, QObject *receiver); | |
50132 | void cleanConnectionLists(); | |
50133 | ||
50134 | QList<Sender> senders; | |
50135 | void refSender(QObject *sender, int signal); | |
50136 | void derefSender(QObject *sender, int signal); | |
50137 | void removeSender(QObject *sender, int signal); | |
50138 | ||
50139 | static Sender *setCurrentSender(QObject *receiver, | |
50140 | Sender *sender); | |
50141 | static void resetCurrentSender(QObject *receiver, | |
50142 | Sender *currentSender, | |
50143 | Sender *previousSender); | |
50144 | static int *setDeleteWatch(QObjectPrivate *d, int *newWatch); | |
50145 | static void resetDeleteWatch(QObjectPrivate *d, int *oldWatch, int deleteWatch); | |
50146 | ||
50147 | int *deleteWatch; | |
50148 | ||
50149 | static QObjectPrivate *get(QObject *o) { | |
50150 | return o->d_func(); | |
50151 | } | |
50152 | }; | |
50153 | ||
50154 | template <> class QTypeInfo<QObjectPrivate::Connection> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QObjectPrivate::Connection)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QObjectPrivate::Connection"; } }; | |
50155 | template <> class QTypeInfo<QObjectPrivate::Sender> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QObjectPrivate::Sender)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QObjectPrivate::Sender"; } }; | |
50156 | ||
50157 | class QSemaphore; | |
50158 | class __attribute__((visibility("default"))) QMetaCallEvent : public QEvent | |
50159 | { | |
50160 | public: | |
50161 | QMetaCallEvent(int id, const QObject *sender, int signalId, | |
50162 | int nargs = 0, int *types = 0, void **args = 0, QSemaphore *semaphore = 0); | |
50163 | ~QMetaCallEvent(); | |
50164 | ||
50165 | inline int id() const { return id_; } | |
50166 | inline const QObject *sender() const { return sender_; } | |
50167 | inline int signalId() const { return signalId_; } | |
50168 | inline void **args() const { return args_; } | |
50169 | ||
50170 | virtual int placeMetaCall(QObject *object); | |
50171 | ||
50172 | private: | |
50173 | int id_; | |
50174 | const QObject *sender_; | |
50175 | int signalId_; | |
50176 | int nargs_; | |
50177 | int *types_; | |
50178 | void **args_; | |
50179 | QSemaphore *semaphore_; | |
50180 | }; | |
50181 | ||
50182 | class __attribute__((visibility("default"))) QBoolBlocker | |
50183 | { | |
50184 | public: | |
50185 | inline QBoolBlocker(bool &b, bool value=true):block(b), reset(b){block = value;} | |
50186 | inline ~QBoolBlocker(){block = reset; } | |
50187 | private: | |
50188 | bool █ | |
50189 | bool reset; | |
50190 | }; | |
50191 | ||
50192 | void __attribute__((visibility("default"))) qDeleteInEventHandler(QObject *o); | |
50193 | ||
50194 | ||
50195 | # 1 "../../include/QtCore/private/qobject_p.h" 2 | |
50196 | # 61 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
50197 | # 1 "../../include/QtGui/private/qfragmentmap_p.h" 1 | |
50198 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" 1 | |
50199 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" | |
50200 | #define QFRAGMENTMAP_P_H | |
50201 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" | |
50202 | # 1 "../../include/QtCore/qglobal.h" 1 | |
50203 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" 2 | |
50204 | ||
50205 | # 1 "../../include/QtCore/private/qtools_p.h" 1 | |
50206 | # 1 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qtools_p.h" 1 | |
50207 | # 43 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qtools_p.h" | |
50208 | #define QTOOLS_P_H | |
50209 | # 56 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qtools_p.h" | |
50210 | # 1 "../../include/QtCore/qglobal.h" 1 | |
50211 | # 57 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qtools_p.h" 2 | |
50212 | ||
50213 | ||
50214 | ||
50215 | ||
50216 | int __attribute__((visibility("default"))) qAllocMore(int alloc, int extra); | |
50217 | ||
50218 | ||
50219 | # 1 "../../include/QtCore/private/qtools_p.h" 2 | |
50220 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" 2 | |
50221 | ||
50222 | ||
50223 | ||
50224 | ||
50225 | template <int N = 1> | |
50226 | class QFragment | |
50227 | { | |
50228 | public: | |
50229 | quint32 parent; | |
50230 | quint32 left; | |
50231 | quint32 right; | |
50232 | quint32 color; | |
50233 | quint32 size_left_array[N]; | |
50234 | quint32 size_array[N]; | |
50235 | enum {size_array_max = N }; | |
50236 | }; | |
50237 | ||
50238 | template <class Fragment> | |
50239 | class QFragmentMapData | |
50240 | { | |
50241 | enum Color { Red, Black }; | |
50242 | public: | |
50243 | QFragmentMapData(); | |
50244 | ~QFragmentMapData(); | |
50245 | ||
50246 | void init(); | |
50247 | ||
50248 | class Header | |
50249 | { | |
50250 | public: | |
50251 | quint32 root; | |
50252 | quint32 tag; | |
50253 | quint32 freelist; | |
50254 | quint32 node_count; | |
50255 | quint32 allocated; | |
50256 | }; | |
50257 | ||
50258 | ||
50259 | enum {fragmentSize = sizeof(Fragment) }; | |
50260 | ||
50261 | ||
50262 | int length(uint field = 0) const; | |
50263 | ||
50264 | ||
50265 | inline Fragment *fragment(uint index) { | |
50266 | return (fragments + index); | |
50267 | } | |
50268 | inline const Fragment *fragment(uint index) const { | |
50269 | return (fragments + index); | |
50270 | } | |
50271 | ||
50272 | ||
50273 | inline Fragment &F(uint index) { return fragments[index] ; } | |
50274 | inline const Fragment &F(uint index) const { return fragments[index] ; } | |
50275 | ||
50276 | inline bool isRoot(uint index) const { | |
50277 | return !fragment(index)->parent; | |
50278 | } | |
50279 | ||
50280 | inline uint position(uint node, uint field = 0) const { | |
50281 | qt_noop(); | |
50282 | const Fragment *f = fragment(node); | |
50283 | uint offset = f->size_left_array[field]; | |
50284 | while (f->parent) { | |
50285 | uint p = f->parent; | |
50286 | f = fragment(p); | |
50287 | if (f->right == node) | |
50288 | offset += f->size_left_array[field] + f->size_array[field]; | |
50289 | node = p; | |
50290 | } | |
50291 | return offset; | |
50292 | } | |
50293 | inline uint sizeRight(uint node, uint field = 0) const { | |
50294 | qt_noop(); | |
50295 | uint sr = 0; | |
50296 | const Fragment *f = fragment(node); | |
50297 | node = f->right; | |
50298 | while (node) { | |
50299 | f = fragment(node); | |
50300 | sr += f->size_left_array[field] + f->size_array[field]; | |
50301 | node = f->right; | |
50302 | } | |
50303 | return sr; | |
50304 | } | |
50305 | inline uint sizeLeft(uint node, uint field = 0) const { | |
50306 | qt_noop(); | |
50307 | return fragment(node)->size_left_array[field]; | |
50308 | } | |
50309 | ||
50310 | ||
50311 | inline uint size(uint node, uint field = 0) const { | |
50312 | qt_noop(); | |
50313 | return fragment(node)->size_array[field]; | |
50314 | } | |
50315 | ||
50316 | inline void setSize(uint node, int new_size, uint field = 0) { | |
50317 | qt_noop(); | |
50318 | Fragment *f = fragment(node); | |
50319 | int diff = new_size - f->size_array[field]; | |
50320 | f->size_array[field] = new_size; | |
50321 | while (f->parent) { | |
50322 | uint p = f->parent; | |
50323 | f = fragment(p); | |
50324 | if (f->left == node) | |
50325 | f->size_left_array[field] += diff; | |
50326 | node = p; | |
50327 | } | |
50328 | } | |
50329 | ||
50330 | ||
50331 | uint findNode(int k, uint field = 0) const; | |
50332 | ||
50333 | uint insert_single(int key, uint length); | |
50334 | uint erase_single(uint f); | |
50335 | ||
50336 | uint minimum(uint n) const { | |
50337 | while (n && fragment(n)->left) | |
50338 | n = fragment(n)->left; | |
50339 | return n; | |
50340 | } | |
50341 | ||
50342 | uint maximum(uint n) const { | |
50343 | while (n && fragment(n)->right) | |
50344 | n = fragment(n)->right; | |
50345 | return n; | |
50346 | } | |
50347 | ||
50348 | uint next(uint n) const; | |
50349 | uint previous(uint n) const; | |
50350 | ||
50351 | inline uint root() const { | |
50352 | qt_noop(); | |
50353 | return head->root; | |
50354 | } | |
50355 | inline void setRoot(uint new_root) { | |
50356 | qt_noop(); | |
50357 | head->root = new_root; | |
50358 | } | |
50359 | ||
50360 | union { | |
50361 | Header *head; | |
50362 | Fragment *fragments; | |
50363 | }; | |
50364 | ||
50365 | private: | |
50366 | ||
50367 | void rotateLeft(uint x); | |
50368 | void rotateRight(uint x); | |
50369 | void rebalance(uint x); | |
50370 | void removeAndRebalance(uint z); | |
50371 | ||
50372 | uint createFragment(); | |
50373 | void freeFragment(uint f); | |
50374 | ||
50375 | }; | |
50376 | ||
50377 | template <class Fragment> | |
50378 | QFragmentMapData<Fragment>::QFragmentMapData() | |
50379 | { | |
50380 | init(); | |
50381 | } | |
50382 | ||
50383 | template <class Fragment> | |
50384 | void QFragmentMapData<Fragment>::init() | |
50385 | { | |
50386 | fragments = (Fragment *)malloc(64*fragmentSize); | |
50387 | head->tag = (((quint32)'p') << 24) | (((quint32)'m') << 16) | (((quint32)'a') << 8) | 'p'; | |
50388 | head->root = 0; | |
50389 | head->freelist = 1; | |
50390 | head->node_count = 0; | |
50391 | head->allocated = 64; | |
50392 | ||
50393 | F(head->freelist).right = 0; | |
50394 | } | |
50395 | ||
50396 | template <class Fragment> | |
50397 | QFragmentMapData<Fragment>::~QFragmentMapData() | |
50398 | { | |
50399 | free(head); | |
50400 | } | |
50401 | ||
50402 | template <class Fragment> | |
50403 | uint QFragmentMapData<Fragment>::createFragment() | |
50404 | { | |
50405 | qt_noop(); | |
50406 | ||
50407 | uint freePos = head->freelist; | |
50408 | if (freePos == head->allocated) { | |
50409 | ||
50410 | uint needed = qAllocMore((freePos+1)*fragmentSize, 0); | |
50411 | qt_noop(); | |
50412 | fragments = (Fragment *)realloc(fragments, needed); | |
50413 | head->allocated = needed/fragmentSize; | |
50414 | F(freePos).right = 0; | |
50415 | } | |
50416 | ||
50417 | uint nextPos = F(freePos).right; | |
50418 | if (!nextPos) { | |
50419 | nextPos = freePos+1; | |
50420 | if (nextPos < head->allocated) | |
50421 | F(nextPos).right = 0; | |
50422 | } | |
50423 | ||
50424 | head->freelist = nextPos; | |
50425 | ||
50426 | ++head->node_count; | |
50427 | ||
50428 | return freePos; | |
50429 | } | |
50430 | ||
50431 | template <class Fragment> | |
50432 | void QFragmentMapData<Fragment>::freeFragment(uint i) | |
50433 | { | |
50434 | F(i).right = head->freelist; | |
50435 | head->freelist = i; | |
50436 | ||
50437 | --head->node_count; | |
50438 | } | |
50439 | ||
50440 | ||
50441 | template <class Fragment> | |
50442 | uint QFragmentMapData<Fragment>::next(uint n) const { | |
50443 | qt_noop(); | |
50444 | if (F(n).right) { | |
50445 | n = F(n).right; | |
50446 | while (F(n).left) | |
50447 | n = F(n).left; | |
50448 | } else { | |
50449 | uint y = F(n).parent; | |
50450 | while (F(n).parent && n == F(y).right) { | |
50451 | n = y; | |
50452 | y = F(y).parent; | |
50453 | } | |
50454 | n = y; | |
50455 | } | |
50456 | return n; | |
50457 | } | |
50458 | ||
50459 | template <class Fragment> | |
50460 | uint QFragmentMapData<Fragment>::previous(uint n) const { | |
50461 | if (!n) | |
50462 | return maximum(root()); | |
50463 | ||
50464 | if (F(n).left) { | |
50465 | n = F(n).left; | |
50466 | while (F(n).right) | |
50467 | n = F(n).right; | |
50468 | } else { | |
50469 | uint y = F(n).parent; | |
50470 | while (F(n).parent && n == F(y).left) { | |
50471 | n = y; | |
50472 | y = F(y).parent; | |
50473 | } | |
50474 | n = y; | |
50475 | } | |
50476 | return n; | |
50477 | } | |
50478 | # 325 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" | |
50479 | template <class Fragment> | |
50480 | void QFragmentMapData<Fragment>::rotateLeft(uint x) | |
50481 | { | |
50482 | uint p = F(x).parent; | |
50483 | uint y = F(x).right; | |
50484 | ||
50485 | ||
50486 | if (y) { | |
50487 | F(x).right = F(y).left; | |
50488 | if (F(y).left) | |
50489 | F(F(y).left).parent = x; | |
50490 | F(y).left = x; | |
50491 | F(y).parent = p; | |
50492 | } else { | |
50493 | F(x).right = 0; | |
50494 | } | |
50495 | if (!p) { | |
50496 | qt_noop(); | |
50497 | head->root = y; | |
50498 | } | |
50499 | else if (x == F(p).left) | |
50500 | F(p).left = y; | |
50501 | else | |
50502 | F(p).right = y; | |
50503 | F(x).parent = y; | |
50504 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50505 | F(y).size_left_array[field] += F(x).size_left_array[field] + F(x).size_array[field]; | |
50506 | } | |
50507 | # 362 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" | |
50508 | template <class Fragment> | |
50509 | void QFragmentMapData<Fragment>::rotateRight(uint x) | |
50510 | { | |
50511 | uint y = F(x).left; | |
50512 | uint p = F(x).parent; | |
50513 | ||
50514 | if (y) { | |
50515 | F(x).left = F(y).right; | |
50516 | if (F(y).right) | |
50517 | F(F(y).right).parent = x; | |
50518 | F(y).right = x; | |
50519 | F(y).parent = p; | |
50520 | } else { | |
50521 | F(x).left = 0; | |
50522 | } | |
50523 | if (!p) { | |
50524 | qt_noop(); | |
50525 | head->root = y; | |
50526 | } | |
50527 | else if (x == F(p).right) | |
50528 | F(p).right = y; | |
50529 | else | |
50530 | F(p).left = y; | |
50531 | F(x).parent = y; | |
50532 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50533 | F(x).size_left_array[field] -= F(y).size_left_array[field] + F(y).size_array[field]; | |
50534 | } | |
50535 | ||
50536 | ||
50537 | template <class Fragment> | |
50538 | void QFragmentMapData<Fragment>::rebalance(uint x) | |
50539 | { | |
50540 | F(x).color = Red; | |
50541 | ||
50542 | while (F(x).parent && F(F(x).parent).color == Red) { | |
50543 | uint p = F(x).parent; | |
50544 | uint pp = F(p).parent; | |
50545 | qt_noop(); | |
50546 | if (p == F(pp).left) { | |
50547 | uint y = F(pp).right; | |
50548 | if (y && F(y).color == Red) { | |
50549 | F(p).color = Black; | |
50550 | F(y).color = Black; | |
50551 | F(pp).color = Red; | |
50552 | x = pp; | |
50553 | } else { | |
50554 | if (x == F(p).right) { | |
50555 | x = p; | |
50556 | rotateLeft(x); | |
50557 | p = F(x).parent; | |
50558 | pp = F(p).parent; | |
50559 | } | |
50560 | F(p).color = Black; | |
50561 | if (pp) { | |
50562 | F(pp).color = Red; | |
50563 | rotateRight(pp); | |
50564 | } | |
50565 | } | |
50566 | } else { | |
50567 | uint y = F(pp).left; | |
50568 | if (y && F(y).color == Red) { | |
50569 | F(p).color = Black; | |
50570 | F(y).color = Black; | |
50571 | F(pp).color = Red; | |
50572 | x = pp; | |
50573 | } else { | |
50574 | if (x == F(p).left) { | |
50575 | x = p; | |
50576 | rotateRight(x); | |
50577 | p = F(x).parent; | |
50578 | pp = F(p).parent; | |
50579 | } | |
50580 | F(p).color = Black; | |
50581 | if (pp) { | |
50582 | F(pp).color = Red; | |
50583 | rotateLeft(pp); | |
50584 | } | |
50585 | } | |
50586 | } | |
50587 | } | |
50588 | F(root()).color = Black; | |
50589 | } | |
50590 | ||
50591 | ||
50592 | template <class Fragment> | |
50593 | uint QFragmentMapData<Fragment>::erase_single(uint z) | |
50594 | { | |
50595 | uint w = previous(z); | |
50596 | uint y = z; | |
50597 | uint x; | |
50598 | uint p; | |
50599 | ||
50600 | if (!F(y).left) { | |
50601 | x = F(y).right; | |
50602 | } else if (!F(y).right) { | |
50603 | x = F(y).left; | |
50604 | } else { | |
50605 | y = F(y).right; | |
50606 | while (F(y).left) | |
50607 | y = F(y).left; | |
50608 | x = F(y).right; | |
50609 | } | |
50610 | ||
50611 | if (y != z) { | |
50612 | F(F(z).left).parent = y; | |
50613 | F(y).left = F(z).left; | |
50614 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50615 | F(y).size_left_array[field] = F(z).size_left_array[field]; | |
50616 | if (y != F(z).right) { | |
50617 | # 482 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfragmentmap_p.h" | |
50618 | p = F(y).parent; | |
50619 | if (x) | |
50620 | F(x).parent = p; | |
50621 | F(p).left = x; | |
50622 | F(y).right = F(z).right; | |
50623 | F(F(z).right).parent = y; | |
50624 | uint n = p; | |
50625 | while (n != y) { | |
50626 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50627 | F(n).size_left_array[field] -= F(y).size_array[field]; | |
50628 | n = F(n).parent; | |
50629 | } | |
50630 | } else { | |
50631 | ||
50632 | ||
50633 | ||
50634 | ||
50635 | ||
50636 | ||
50637 | ||
50638 | p = y; | |
50639 | } | |
50640 | uint zp = F(z).parent; | |
50641 | if (!zp) { | |
50642 | qt_noop(); | |
50643 | head->root = y; | |
50644 | } else if (F(zp).left == z) { | |
50645 | F(zp).left = y; | |
50646 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50647 | F(zp).size_left_array[field] -= F(z).size_array[field]; | |
50648 | } else { | |
50649 | F(zp).right = y; | |
50650 | } | |
50651 | F(y).parent = zp; | |
50652 | ||
50653 | uint c = F(y).color; | |
50654 | F(y).color = F(z).color; | |
50655 | F(z).color = c; | |
50656 | y = z; | |
50657 | } else { | |
50658 | ||
50659 | ||
50660 | ||
50661 | ||
50662 | ||
50663 | ||
50664 | ||
50665 | p = F(z).parent; | |
50666 | if (x) | |
50667 | F(x).parent = p; | |
50668 | if (!p) { | |
50669 | qt_noop(); | |
50670 | head->root = x; | |
50671 | } else if (F(p).left == z) { | |
50672 | F(p).left = x; | |
50673 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50674 | F(p).size_left_array[field] -= F(z).size_array[field]; | |
50675 | } else { | |
50676 | F(p).right = x; | |
50677 | } | |
50678 | } | |
50679 | uint n = z; | |
50680 | while (F(n).parent) { | |
50681 | uint p = F(n).parent; | |
50682 | if (F(p).left == n) { | |
50683 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50684 | F(p).size_left_array[field] -= F(z).size_array[field]; | |
50685 | } | |
50686 | n = p; | |
50687 | } | |
50688 | ||
50689 | freeFragment(z); | |
50690 | ||
50691 | ||
50692 | if (F(y).color != Red) { | |
50693 | while (F(x).parent && (x == 0 || F(x).color == Black)) { | |
50694 | if (x == F(p).left) { | |
50695 | uint w = F(p).right; | |
50696 | if (F(w).color == Red) { | |
50697 | F(w).color = Black; | |
50698 | F(p).color = Red; | |
50699 | rotateLeft(p); | |
50700 | w = F(p).right; | |
50701 | } | |
50702 | if ((F(w).left == 0 || F(F(w).left).color == Black) && | |
50703 | (F(w).right == 0 || F(F(w).right).color == Black)) { | |
50704 | F(w).color = Red; | |
50705 | x = p; | |
50706 | p = F(x).parent; | |
50707 | } else { | |
50708 | if (F(w).right == 0 || F(F(w).right).color == Black) { | |
50709 | if (F(w).left) | |
50710 | F(F(w).left).color = Black; | |
50711 | F(w).color = Red; | |
50712 | rotateRight(F(p).right); | |
50713 | w = F(p).right; | |
50714 | } | |
50715 | F(w).color = F(p).color; | |
50716 | F(p).color = Black; | |
50717 | if (F(w).right) | |
50718 | F(F(w).right).color = Black; | |
50719 | rotateLeft(p); | |
50720 | break; | |
50721 | } | |
50722 | } else { | |
50723 | uint w = F(p).left; | |
50724 | if (F(w).color == Red) { | |
50725 | F(w).color = Black; | |
50726 | F(p).color = Red; | |
50727 | rotateRight(p); | |
50728 | w = F(p).left; | |
50729 | } | |
50730 | if ((F(w).right == 0 || F(F(w).right).color == Black) && | |
50731 | (F(w).left == 0 || F(F(w).left).color == Black)) { | |
50732 | F(w).color = Red; | |
50733 | x = p; | |
50734 | p = F(x).parent; | |
50735 | } else { | |
50736 | if (F(w).left == 0 || F(F(w).left).color == Black) { | |
50737 | if (F(w).right) | |
50738 | F(F(w).right).color = Black; | |
50739 | F(w).color = Red; | |
50740 | rotateLeft(F(p).left); | |
50741 | w = F(p).left; | |
50742 | } | |
50743 | F(w).color = F(p).color; | |
50744 | F(p).color = Black; | |
50745 | if (F(w).left) | |
50746 | F(F(w).left).color = Black; | |
50747 | rotateRight(p); | |
50748 | break; | |
50749 | } | |
50750 | } | |
50751 | } | |
50752 | if (x) | |
50753 | F(x).color = Black; | |
50754 | } | |
50755 | ||
50756 | return w; | |
50757 | } | |
50758 | ||
50759 | template <class Fragment> | |
50760 | uint QFragmentMapData<Fragment>::findNode(int k, uint field) const | |
50761 | { | |
50762 | qt_noop(); | |
50763 | uint x = root(); | |
50764 | ||
50765 | uint s = k; | |
50766 | while (x) { | |
50767 | if (sizeLeft(x, field) <= s) { | |
50768 | if (s < sizeLeft(x, field) + size(x, field)) | |
50769 | return x; | |
50770 | s -= sizeLeft(x, field) + size(x, field); | |
50771 | x = F(x).right; | |
50772 | } else { | |
50773 | x = F(x).left; | |
50774 | } | |
50775 | } | |
50776 | return 0; | |
50777 | } | |
50778 | ||
50779 | template <class Fragment> | |
50780 | uint QFragmentMapData<Fragment>::insert_single(int key, uint length) | |
50781 | { | |
50782 | qt_noop(); | |
50783 | ||
50784 | uint z = createFragment(); | |
50785 | ||
50786 | F(z).left = 0; | |
50787 | F(z).right = 0; | |
50788 | F(z).size_array[0] = length; | |
50789 | for (uint field = 1; field < Fragment::size_array_max; ++field) | |
50790 | F(z).size_array[field] = 1; | |
50791 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50792 | F(z).size_left_array[field] = 0; | |
50793 | ||
50794 | uint y = 0; | |
50795 | uint x = root(); | |
50796 | ||
50797 | qt_noop(); | |
50798 | ||
50799 | uint s = key; | |
50800 | bool right = false; | |
50801 | while (x) { | |
50802 | y = x; | |
50803 | if (s <= F(x).size_left_array[0]) { | |
50804 | x = F(x).left; | |
50805 | right = false; | |
50806 | } else { | |
50807 | s -= F(x).size_left_array[0] + F(x).size_array[0]; | |
50808 | x = F(x).right; | |
50809 | right = true; | |
50810 | } | |
50811 | } | |
50812 | ||
50813 | F(z).parent = y; | |
50814 | if (!y) { | |
50815 | head->root = z; | |
50816 | } else if (!right) { | |
50817 | F(y).left = z; | |
50818 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50819 | F(y).size_left_array[field] = F(z).size_array[field]; | |
50820 | } else { | |
50821 | F(y).right = z; | |
50822 | } | |
50823 | while (y && F(y).parent) { | |
50824 | uint p = F(y).parent; | |
50825 | if (F(p).left == y) { | |
50826 | for (uint field = 0; field < Fragment::size_array_max; ++field) | |
50827 | F(p).size_left_array[field] += F(z).size_array[field]; | |
50828 | } | |
50829 | y = p; | |
50830 | } | |
50831 | rebalance(z); | |
50832 | ||
50833 | return z; | |
50834 | } | |
50835 | ||
50836 | ||
50837 | template <class Fragment> | |
50838 | int QFragmentMapData<Fragment>::length(uint field) const { | |
50839 | uint root = this->root(); | |
50840 | return root ? sizeLeft(root, field) + size(root, field) + sizeRight(root, field) : 0; | |
50841 | } | |
50842 | ||
50843 | ||
50844 | template <class Fragment> | |
50845 | class QFragmentMap | |
50846 | { | |
50847 | public: | |
50848 | class Iterator | |
50849 | { | |
50850 | public: | |
50851 | QFragmentMap *pt; | |
50852 | quint32 n; | |
50853 | ||
50854 | Iterator() : pt(0), n(0) {} | |
50855 | Iterator(QFragmentMap *p, int node) : pt(p), n(node) {} | |
50856 | Iterator(const Iterator& it) : pt(it.pt), n(it.n) {} | |
50857 | ||
50858 | inline bool atEnd() const { return !n; } | |
50859 | ||
50860 | bool operator==(const Iterator& it) const { return pt == it.pt && n == it.n; } | |
50861 | bool operator!=(const Iterator& it) const { return pt != it.pt || n != it.n; } | |
50862 | bool operator<(const Iterator &it) const { return position() < it.position(); } | |
50863 | ||
50864 | Fragment *operator*() { qt_noop(); return pt->fragment(n); } | |
50865 | const Fragment *operator*() const { qt_noop(); return pt->fragment(n); } | |
50866 | Fragment *operator->() { qt_noop(); return pt->fragment(n); } | |
50867 | const Fragment *operator->() const { qt_noop(); return pt->fragment(n); } | |
50868 | ||
50869 | int position() const { qt_noop(); return pt->data.position(n); } | |
50870 | const Fragment *value() const { qt_noop(); return pt->fragment(n); } | |
50871 | Fragment *value() { qt_noop(); return pt->fragment(n); } | |
50872 | ||
50873 | Iterator& operator++() { | |
50874 | n = pt->data.next(n); | |
50875 | return *this; | |
50876 | } | |
50877 | Iterator& operator--() { | |
50878 | n = pt->data.previous(n); | |
50879 | return *this; | |
50880 | } | |
50881 | ||
50882 | }; | |
50883 | ||
50884 | ||
50885 | class ConstIterator | |
50886 | { | |
50887 | public: | |
50888 | const QFragmentMap *pt; | |
50889 | quint32 n; | |
50890 | ||
50891 | ||
50892 | ||
50893 | ||
50894 | ConstIterator() : pt(0), n(0) {} | |
50895 | ConstIterator(const QFragmentMap *p, int node) : pt(p), n(node) {} | |
50896 | ConstIterator(const ConstIterator& it) : pt(it.pt), n(it.n) {} | |
50897 | ConstIterator(const Iterator& it) : pt(it.pt), n(it.n) {} | |
50898 | ||
50899 | inline bool atEnd() const { return !n; } | |
50900 | ||
50901 | bool operator==(const ConstIterator& it) const { return pt == it.pt && n == it.n; } | |
50902 | bool operator!=(const ConstIterator& it) const { return pt != it.pt || n != it.n; } | |
50903 | bool operator<(const ConstIterator &it) const { return position() < it.position(); } | |
50904 | ||
50905 | const Fragment *operator*() const { qt_noop(); return pt->fragment(n); } | |
50906 | const Fragment *operator->() const { qt_noop(); return pt->fragment(n); } | |
50907 | ||
50908 | int position() const { qt_noop(); return pt->data.position(n); } | |
50909 | int size() const { qt_noop(); return pt->data.size(n); } | |
50910 | const Fragment *value() const { qt_noop(); return pt->fragment(n); } | |
50911 | ||
50912 | ConstIterator& operator++() { | |
50913 | n = pt->data.next(n); | |
50914 | return *this; | |
50915 | } | |
50916 | ConstIterator& operator--() { | |
50917 | n = pt->data.previous(n); | |
50918 | return *this; | |
50919 | } | |
50920 | }; | |
50921 | ||
50922 | ||
50923 | QFragmentMap() {} | |
50924 | ~QFragmentMap() | |
50925 | { | |
50926 | for (Iterator it = begin(); !it.atEnd(); ++it) | |
50927 | it.value()->free(); | |
50928 | } | |
50929 | ||
50930 | inline void clear() { | |
50931 | for (Iterator it = begin(); !it.atEnd(); ++it) | |
50932 | it.value()->free(); | |
50933 | ::free(data.head); | |
50934 | data.init(); | |
50935 | } | |
50936 | ||
50937 | inline Iterator begin() { return Iterator(this, data.minimum(data.root())); } | |
50938 | inline Iterator end() { return Iterator(this, 0); } | |
50939 | inline ConstIterator begin() const { return ConstIterator(this, data.minimum(data.root())); } | |
50940 | inline ConstIterator end() const { return ConstIterator(this, 0); } | |
50941 | ||
50942 | inline ConstIterator last() const { return ConstIterator(this, data.maximum(data.root())); } | |
50943 | ||
50944 | inline bool isEmpty() const { return data.head->node_count == 0; } | |
50945 | inline int numNodes() const { return data.head->node_count; } | |
50946 | int length(uint field = 0) const { return data.length(field); } | |
50947 | ||
50948 | Iterator find(int k, uint field = 0) { return Iterator(this, data.findNode(k, field)); } | |
50949 | ConstIterator find(int k, uint field = 0) const { return ConstIterator(this, data.findNode(k, field)); } | |
50950 | ||
50951 | uint findNode(int k, uint field = 0) const { return data.findNode(k, field); } | |
50952 | ||
50953 | uint insert_single(int key, uint length) | |
50954 | { | |
50955 | uint f = data.insert_single(key, length); | |
50956 | if (f != 0) { | |
50957 | Fragment *frag = fragment(f); | |
50958 | qt_noop(); | |
50959 | frag->initialize(); | |
50960 | } | |
50961 | return f; | |
50962 | } | |
50963 | uint erase_single(uint f) | |
50964 | { | |
50965 | if (f != 0) { | |
50966 | Fragment *frag = fragment(f); | |
50967 | qt_noop(); | |
50968 | frag->free(); | |
50969 | } | |
50970 | return data.erase_single(f); | |
50971 | } | |
50972 | ||
50973 | inline Fragment *fragment(uint index) { | |
50974 | qt_noop(); | |
50975 | return data.fragment(index); | |
50976 | } | |
50977 | inline const Fragment *fragment(uint index) const { | |
50978 | qt_noop(); | |
50979 | return data.fragment(index); | |
50980 | } | |
50981 | inline uint position(uint node, uint field = 0) const { return data.position(node, field); } | |
50982 | inline uint next(uint n) const { return data.next(n); } | |
50983 | inline uint previous(uint n) const { return data.previous(n); } | |
50984 | inline uint size(uint node, uint field = 0) const { return data.size(node, field); } | |
50985 | inline void setSize(uint node, int new_size, uint field = 0) | |
50986 | { data.setSize(node, new_size, field); | |
50987 | if (node != 0 && field == 0) { | |
50988 | Fragment *frag = fragment(node); | |
50989 | qt_noop(); | |
50990 | frag->invalidate(); | |
50991 | } | |
50992 | } | |
50993 | ||
50994 | inline int firstNode() const { return data.minimum(data.root()); } | |
50995 | ||
50996 | private: | |
50997 | friend class Iterator; | |
50998 | friend class ConstIterator; | |
50999 | ||
51000 | QFragmentMapData<Fragment> data; | |
51001 | ||
51002 | QFragmentMap(const QFragmentMap& m); | |
51003 | QFragmentMap& operator= (const QFragmentMap& m); | |
51004 | }; | |
51005 | ||
51006 | ||
51007 | # 1 "../../include/QtGui/private/qfragmentmap_p.h" 2 | |
51008 | # 62 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51009 | # 1 "../../include/QtGui/qtextlayout.h" 1 | |
51010 | # 63 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51011 | # 1 "../../include/QtGui/qtextoption.h" 1 | |
51012 | # 64 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51013 | # 1 "../../include/QtGui/private/qtextformat_p.h" 1 | |
51014 | # 65 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51015 | # 1 "../../include/QtGui/qtextdocument.h" 1 | |
51016 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument.h" 1 | |
51017 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument.h" | |
51018 | #define QTEXTDOCUMENT_H | |
51019 | ||
51020 | # 1 "../../include/QtCore/qobject.h" 1 | |
51021 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument.h" 2 | |
51022 | # 1 "../../include/QtCore/qsize.h" 1 | |
51023 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument.h" 2 | |
51024 | # 1 "../../include/QtCore/qrect.h" 1 | |
51025 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument.h" 2 | |
51026 | # 1 "../../include/QtGui/qfont.h" 1 | |
51027 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument.h" 2 | |
51028 | ||
51029 | ||
51030 | ||
51031 | ||
51032 | ||
51033 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
51034 | ||
51035 | class QTextFormatCollection; | |
51036 | class QTextListFormat; | |
51037 | class QRect; | |
51038 | class QPainter; | |
51039 | class QPrinter; | |
51040 | class QAbstractTextDocumentLayout; | |
51041 | class QPoint; | |
51042 | class QTextCursor; | |
51043 | class QTextObject; | |
51044 | class QTextFormat; | |
51045 | class QTextFrame; | |
51046 | class QTextBlock; | |
51047 | class QTextCodec; | |
51048 | class QUrl; | |
51049 | class QVariant; | |
51050 | class QRectF; | |
51051 | class QTextOption; | |
51052 | ||
51053 | template<typename T> class QVector; | |
51054 | ||
51055 | namespace Qt | |
51056 | { | |
51057 | enum HitTestAccuracy { ExactHit, FuzzyHit }; | |
51058 | enum WhiteSpaceMode { | |
51059 | WhiteSpaceNormal, | |
51060 | WhiteSpacePre, | |
51061 | WhiteSpaceNoWrap, | |
51062 | WhiteSpaceModeUndefined = -1 | |
51063 | }; | |
51064 | ||
51065 | __attribute__((visibility("default"))) bool mightBeRichText(const QString&); | |
51066 | __attribute__((visibility("default"))) QString escape(const QString& plain); | |
51067 | __attribute__((visibility("default"))) QString convertFromPlainText(const QString &plain, WhiteSpaceMode mode = WhiteSpacePre); | |
51068 | ||
51069 | ||
51070 | __attribute__((visibility("default"))) QTextCodec *codecForHtml(const QByteArray &ba); | |
51071 | ||
51072 | } | |
51073 | ||
51074 | class __attribute__((visibility("default"))) QAbstractUndoItem | |
51075 | { | |
51076 | public: | |
51077 | virtual ~QAbstractUndoItem() = 0; | |
51078 | virtual void undo() = 0; | |
51079 | virtual void redo() = 0; | |
51080 | }; | |
51081 | ||
51082 | inline QAbstractUndoItem::~QAbstractUndoItem() | |
51083 | { | |
51084 | } | |
51085 | ||
51086 | class QTextDocumentPrivate; | |
51087 | ||
51088 | class __attribute__((visibility("default"))) QTextDocument : public QObject | |
51089 | { | |
51090 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
51091 | ||
51092 | ||
51093 | ||
51094 | ||
51095 | ||
51096 | ||
51097 | ||
51098 | ||
51099 | ||
51100 | ||
51101 | ||
51102 | ||
51103 | ||
51104 | ||
51105 | ||
51106 | ||
51107 | ||
51108 | public: | |
51109 | explicit QTextDocument(QObject *parent = 0); | |
51110 | explicit QTextDocument(const QString &text, QObject *parent = 0); | |
51111 | ~QTextDocument(); | |
51112 | ||
51113 | QTextDocument *clone(QObject *parent = 0) const; | |
51114 | ||
51115 | bool isEmpty() const; | |
51116 | virtual void clear(); | |
51117 | ||
51118 | void setUndoRedoEnabled(bool enable); | |
51119 | bool isUndoRedoEnabled() const; | |
51120 | ||
51121 | bool isUndoAvailable() const; | |
51122 | bool isRedoAvailable() const; | |
51123 | ||
51124 | int revision() const; | |
51125 | ||
51126 | void setDocumentLayout(QAbstractTextDocumentLayout *layout); | |
51127 | QAbstractTextDocumentLayout *documentLayout() const; | |
51128 | ||
51129 | enum MetaInformation { | |
51130 | DocumentTitle, | |
51131 | DocumentUrl | |
51132 | }; | |
51133 | void setMetaInformation(MetaInformation info, const QString &); | |
51134 | QString metaInformation(MetaInformation info) const; | |
51135 | ||
51136 | ||
51137 | QString toHtml(const QByteArray &encoding = QByteArray()) const; | |
51138 | void setHtml(const QString &html); | |
51139 | ||
51140 | ||
51141 | QString toPlainText() const; | |
51142 | void setPlainText(const QString &text); | |
51143 | ||
51144 | QChar characterAt(int pos) const; | |
51145 | ||
51146 | enum FindFlag | |
51147 | { | |
51148 | FindBackward = 0x00001, | |
51149 | FindCaseSensitively = 0x00002, | |
51150 | FindWholeWords = 0x00004 | |
51151 | }; | |
51152 | typedef QFlags<FindFlag> FindFlags; | |
51153 | ||
51154 | QTextCursor find(const QString &subString, int from = 0, FindFlags options = 0) const; | |
51155 | QTextCursor find(const QString &subString, const QTextCursor &from, FindFlags options = 0) const; | |
51156 | ||
51157 | QTextCursor find(const QRegExp &expr, int from = 0, FindFlags options = 0) const; | |
51158 | QTextCursor find(const QRegExp &expr, const QTextCursor &from, FindFlags options = 0) const; | |
51159 | ||
51160 | QTextFrame *frameAt(int pos) const; | |
51161 | QTextFrame *rootFrame() const; | |
51162 | ||
51163 | QTextObject *object(int objectIndex) const; | |
51164 | QTextObject *objectForFormat(const QTextFormat &) const; | |
51165 | ||
51166 | QTextBlock findBlock(int pos) const; | |
51167 | QTextBlock findBlockByNumber(int blockNumber) const; | |
51168 | QTextBlock findBlockByLineNumber(int blockNumber) const; | |
51169 | QTextBlock begin() const; | |
51170 | QTextBlock end() const; | |
51171 | ||
51172 | QTextBlock firstBlock() const; | |
51173 | QTextBlock lastBlock() const; | |
51174 | ||
51175 | void setPageSize(const QSizeF &size); | |
51176 | QSizeF pageSize() const; | |
51177 | ||
51178 | void setDefaultFont(const QFont &font); | |
51179 | QFont defaultFont() const; | |
51180 | ||
51181 | int pageCount() const; | |
51182 | ||
51183 | bool isModified() const; | |
51184 | ||
51185 | ||
51186 | void print(QPrinter *printer) const; | |
51187 | ||
51188 | ||
51189 | enum ResourceType { | |
51190 | HtmlResource = 1, | |
51191 | ImageResource = 2, | |
51192 | StyleSheetResource = 3, | |
51193 | ||
51194 | UserResource = 100 | |
51195 | }; | |
51196 | ||
51197 | QVariant resource(int type, const QUrl &name) const; | |
51198 | void addResource(int type, const QUrl &name, const QVariant &resource); | |
51199 | ||
51200 | QVector<QTextFormat> allFormats() const; | |
51201 | ||
51202 | void markContentsDirty(int from, int length); | |
51203 | ||
51204 | void setUseDesignMetrics(bool b); | |
51205 | bool useDesignMetrics() const; | |
51206 | ||
51207 | void drawContents(QPainter *painter, const QRectF &rect = QRectF()); | |
51208 | ||
51209 | void setTextWidth(qreal width); | |
51210 | qreal textWidth() const; | |
51211 | ||
51212 | qreal idealWidth() const; | |
51213 | ||
51214 | qreal indentWidth() const; | |
51215 | void setIndentWidth(qreal width); | |
51216 | ||
51217 | qreal documentMargin() const; | |
51218 | void setDocumentMargin(qreal margin); | |
51219 | ||
51220 | void adjustSize(); | |
51221 | QSizeF size() const; | |
51222 | ||
51223 | int blockCount() const; | |
51224 | int lineCount() const; | |
51225 | int characterCount() const; | |
51226 | ||
51227 | ||
51228 | void setDefaultStyleSheet(const QString &sheet); | |
51229 | QString defaultStyleSheet() const; | |
51230 | ||
51231 | ||
51232 | void undo(QTextCursor *cursor); | |
51233 | void redo(QTextCursor *cursor); | |
51234 | ||
51235 | int maximumBlockCount() const; | |
51236 | void setMaximumBlockCount(int maximum); | |
51237 | ||
51238 | QTextOption defaultTextOption() const; | |
51239 | void setDefaultTextOption(const QTextOption &option); | |
51240 | ||
51241 | protected: | |
51242 | void contentsChange(int from, int charsRemoves, int charsAdded); | |
51243 | void contentsChanged(); | |
51244 | void undoAvailable(bool); | |
51245 | void redoAvailable(bool); | |
51246 | void undoCommandAdded(); | |
51247 | void modificationChanged(bool m); | |
51248 | void cursorPositionChanged(const QTextCursor &cursor); | |
51249 | void blockCountChanged(int newBlockCount); | |
51250 | ||
51251 | void documentLayoutChanged(); | |
51252 | ||
51253 | public : | |
51254 | void undo(); | |
51255 | void redo(); | |
51256 | void appendUndoItem(QAbstractUndoItem *); | |
51257 | void setModified(bool m = true); | |
51258 | ||
51259 | protected: | |
51260 | virtual QTextObject *createObject(const QTextFormat &f); | |
51261 | virtual QVariant loadResource(int type, const QUrl &name); | |
51262 | ||
51263 | QTextDocument(QTextDocumentPrivate &dd, QObject *parent); | |
51264 | public: | |
51265 | QTextDocumentPrivate *docHandle() const; | |
51266 | private: | |
51267 | QTextDocument(const QTextDocument &); QTextDocument &operator=(const QTextDocument &); | |
51268 | inline QTextDocumentPrivate* d_func() { return reinterpret_cast<QTextDocumentPrivate *>(d_ptr); } inline const QTextDocumentPrivate* d_func() const { return reinterpret_cast<const QTextDocumentPrivate *>(d_ptr); } friend class QTextDocumentPrivate; | |
51269 | friend class QTextObjectPrivate; | |
51270 | }; | |
51271 | ||
51272 | inline QFlags<QTextDocument::FindFlags::enum_type> operator|(QTextDocument::FindFlags::enum_type f1, QTextDocument::FindFlags::enum_type f2) { return QFlags<QTextDocument::FindFlags::enum_type>(f1) | f2; } inline QFlags<QTextDocument::FindFlags::enum_type> operator|(QTextDocument::FindFlags::enum_type f1, QFlags<QTextDocument::FindFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QTextDocument::FindFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
51273 | ||
51274 | ||
51275 | ||
51276 | ||
51277 | # 1 "../../include/QtGui/qtextdocument.h" 2 | |
51278 | # 66 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51279 | # 1 "../../include/QtGui/qtextobject.h" 1 | |
51280 | # 67 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51281 | # 1 "../../include/QtCore/qmap.h" 1 | |
51282 | # 68 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51283 | # 1 "../../include/QtCore/qvariant.h" 1 | |
51284 | # 69 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51285 | # 1 "../../include/QtCore/qurl.h" 1 | |
51286 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qurl.h" 1 | |
51287 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qurl.h" | |
51288 | #define QURL_H | |
51289 | ||
51290 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
51291 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qurl.h" 2 | |
51292 | # 1 "../../include/QtCore/qobjectdefs.h" 1 | |
51293 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qurl.h" 2 | |
51294 | # 1 "../../include/QtCore/qpair.h" 1 | |
51295 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qurl.h" 2 | |
51296 | # 1 "../../include/QtCore/qstring.h" 1 | |
51297 | # 49 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qurl.h" 2 | |
51298 | ||
51299 | ||
51300 | ||
51301 | ||
51302 | ||
51303 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
51304 | ||
51305 | class QUrlPrivate; | |
51306 | class QDataStream; | |
51307 | ||
51308 | class __attribute__((visibility("default"))) QUrl | |
51309 | { | |
51310 | public: | |
51311 | enum ParsingMode { | |
51312 | TolerantMode, | |
51313 | StrictMode | |
51314 | }; | |
51315 | ||
51316 | ||
51317 | enum FormattingOption { | |
51318 | None = 0x0, | |
51319 | RemoveScheme = 0x1, | |
51320 | RemovePassword = 0x2, | |
51321 | RemoveUserInfo = RemovePassword | 0x4, | |
51322 | RemovePort = 0x8, | |
51323 | RemoveAuthority = RemoveUserInfo | RemovePort | 0x10, | |
51324 | RemovePath = 0x20, | |
51325 | RemoveQuery = 0x40, | |
51326 | RemoveFragment = 0x80, | |
51327 | ||
51328 | StripTrailingSlash = 0x10000 | |
51329 | }; | |
51330 | typedef QFlags<FormattingOption> FormattingOptions; | |
51331 | ||
51332 | QUrl(); | |
51333 | QUrl(const QString &url); | |
51334 | QUrl(const QString &url, ParsingMode mode); | |
51335 | ||
51336 | QUrl(const QUrl ©); | |
51337 | QUrl &operator =(const QUrl ©); | |
51338 | QUrl &operator =(const QString &url); | |
51339 | ~QUrl(); | |
51340 | ||
51341 | void setUrl(const QString &url); | |
51342 | void setUrl(const QString &url, ParsingMode mode); | |
51343 | ||
51344 | void setEncodedUrl(const QByteArray &url); | |
51345 | void setEncodedUrl(const QByteArray &url, ParsingMode mode); | |
51346 | ||
51347 | ||
51348 | bool isValid() const; | |
51349 | ||
51350 | bool isEmpty() const; | |
51351 | ||
51352 | void clear(); | |
51353 | ||
51354 | void setScheme(const QString &scheme); | |
51355 | QString scheme() const; | |
51356 | ||
51357 | void setAuthority(const QString &authority); | |
51358 | QString authority() const; | |
51359 | ||
51360 | void setUserInfo(const QString &userInfo); | |
51361 | QString userInfo() const; | |
51362 | ||
51363 | void setUserName(const QString &userName); | |
51364 | QString userName() const; | |
51365 | void setEncodedUserName(const QByteArray &userName); | |
51366 | QByteArray encodedUserName() const; | |
51367 | ||
51368 | void setPassword(const QString &password); | |
51369 | QString password() const; | |
51370 | void setEncodedPassword(const QByteArray &password); | |
51371 | QByteArray encodedPassword() const; | |
51372 | ||
51373 | void setHost(const QString &host); | |
51374 | QString host() const; | |
51375 | void setEncodedHost(const QByteArray &host); | |
51376 | QByteArray encodedHost() const; | |
51377 | ||
51378 | void setPort(int port); | |
51379 | int port() const; | |
51380 | int port(int defaultPort) const; | |
51381 | ||
51382 | ||
51383 | void setPath(const QString &path); | |
51384 | QString path() const; | |
51385 | void setEncodedPath(const QByteArray &path); | |
51386 | QByteArray encodedPath() const; | |
51387 | ||
51388 | bool hasQuery() const; | |
51389 | ||
51390 | void setEncodedQuery(const QByteArray &query); | |
51391 | QByteArray encodedQuery() const; | |
51392 | ||
51393 | void setQueryDelimiters(char valueDelimiter, char pairDelimiter); | |
51394 | char queryValueDelimiter() const; | |
51395 | char queryPairDelimiter() const; | |
51396 | ||
51397 | void setQueryItems(const QList<QPair<QString, QString> > &query); | |
51398 | void addQueryItem(const QString &key, const QString &value); | |
51399 | QList<QPair<QString, QString> > queryItems() const; | |
51400 | bool hasQueryItem(const QString &key) const; | |
51401 | QString queryItemValue(const QString &key) const; | |
51402 | QStringList allQueryItemValues(const QString &key) const; | |
51403 | void removeQueryItem(const QString &key); | |
51404 | void removeAllQueryItems(const QString &key); | |
51405 | ||
51406 | void setEncodedQueryItems(const QList<QPair<QByteArray, QByteArray> > &query); | |
51407 | void addEncodedQueryItem(const QByteArray &key, const QByteArray &value); | |
51408 | QList<QPair<QByteArray, QByteArray> > encodedQueryItems() const; | |
51409 | bool hasEncodedQueryItem(const QByteArray &key) const; | |
51410 | QByteArray encodedQueryItemValue(const QByteArray &key) const; | |
51411 | QList<QByteArray> allEncodedQueryItemValues(const QByteArray &key) const; | |
51412 | void removeEncodedQueryItem(const QByteArray &key); | |
51413 | void removeAllEncodedQueryItems(const QByteArray &key); | |
51414 | ||
51415 | void setFragment(const QString &fragment); | |
51416 | QString fragment() const; | |
51417 | void setEncodedFragment(const QByteArray &fragment); | |
51418 | QByteArray encodedFragment() const; | |
51419 | bool hasFragment() const; | |
51420 | ||
51421 | QUrl resolved(const QUrl &relative) const; | |
51422 | ||
51423 | bool isRelative() const; | |
51424 | bool isParentOf(const QUrl &url) const; | |
51425 | ||
51426 | static QUrl fromLocalFile(const QString &localfile); | |
51427 | QString toLocalFile() const; | |
51428 | ||
51429 | QString toString(FormattingOptions options = None) const; | |
51430 | ||
51431 | QByteArray toEncoded(FormattingOptions options = None) const; | |
51432 | static QUrl fromEncoded(const QByteArray &url); | |
51433 | static QUrl fromEncoded(const QByteArray &url, ParsingMode mode); | |
51434 | ||
51435 | ||
51436 | void detach(); | |
51437 | bool isDetached() const; | |
51438 | ||
51439 | bool operator <(const QUrl &url) const; | |
51440 | bool operator ==(const QUrl &url) const; | |
51441 | bool operator !=(const QUrl &url) const; | |
51442 | ||
51443 | static QString fromPercentEncoding(const QByteArray &); | |
51444 | static QByteArray toPercentEncoding(const QString &, | |
51445 | const QByteArray &exclude = QByteArray(), | |
51446 | const QByteArray &include = QByteArray()); | |
51447 | static QString fromPunycode(const QByteArray &); | |
51448 | static QByteArray toPunycode(const QString &); | |
51449 | static QString fromAce(const QByteArray &); | |
51450 | static QByteArray toAce(const QString &); | |
51451 | static QStringList idnWhitelist(); | |
51452 | static void setIdnWhitelist(const QStringList &); | |
51453 | # 250 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qurl.h" | |
51454 | QString errorString() const; | |
51455 | ||
51456 | protected: | |
51457 | ||
51458 | ||
51459 | ||
51460 | ||
51461 | private: | |
51462 | QUrlPrivate *d; | |
51463 | public: | |
51464 | typedef QUrlPrivate * DataPtr; | |
51465 | inline DataPtr &data_ptr() { return d; } | |
51466 | }; | |
51467 | ||
51468 | template <> class QTypeInfo<QUrl> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QUrl)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QUrl"; } }; | |
51469 | template <> inline bool qIsDetached<QUrl>(QUrl &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QUrl>(QUrl &value1, QUrl &value2) { const QUrl::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
51470 | inline QFlags<QUrl::FormattingOptions::enum_type> operator|(QUrl::FormattingOptions::enum_type f1, QUrl::FormattingOptions::enum_type f2) { return QFlags<QUrl::FormattingOptions::enum_type>(f1) | f2; } inline QFlags<QUrl::FormattingOptions::enum_type> operator|(QUrl::FormattingOptions::enum_type f1, QFlags<QUrl::FormattingOptions::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QUrl::FormattingOptions::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
51471 | ||
51472 | ||
51473 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QUrl &); | |
51474 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QUrl &); | |
51475 | ||
51476 | ||
51477 | ||
51478 | __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QUrl &); | |
51479 | ||
51480 | ||
51481 | ||
51482 | ||
51483 | ||
51484 | # 1 "../../include/QtCore/qurl.h" 2 | |
51485 | # 70 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
51486 | # 1 "../../include/QtGui/private/qcssparser_p.h" 1 | |
51487 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 1 | |
51488 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" | |
51489 | #define QCSSPARSER_P_H | |
51490 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" | |
51491 | # 1 "../../include/QtCore/QStringList" 1 | |
51492 | # 1 "../../include/QtCore/qstringlist.h" 1 | |
51493 | # 1 "../../include/QtCore/QStringList" 2 | |
51494 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51495 | # 1 "../../include/QtCore/QVector" 1 | |
51496 | # 1 "../../include/QtCore/qvector.h" 1 | |
51497 | # 1 "../../include/QtCore/QVector" 2 | |
51498 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51499 | # 1 "../../include/QtCore/QVariant" 1 | |
51500 | # 1 "../../include/QtCore/qvariant.h" 1 | |
51501 | # 1 "../../include/QtCore/QVariant" 2 | |
51502 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51503 | # 1 "../../include/QtCore/QPair" 1 | |
51504 | # 1 "../../include/QtCore/qpair.h" 1 | |
51505 | # 1 "../../include/QtCore/QPair" 2 | |
51506 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51507 | # 1 "../../include/QtCore/QSize" 1 | |
51508 | # 1 "../../include/QtCore/qsize.h" 1 | |
51509 | # 1 "../../include/QtCore/QSize" 2 | |
51510 | # 61 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51511 | # 1 "../../include/QtCore/QMultiHash" 1 | |
51512 | # 1 "../../include/QtCore/qhash.h" 1 | |
51513 | # 1 "../../include/QtCore/QMultiHash" 2 | |
51514 | # 62 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51515 | # 1 "../../include/QtGui/QFont" 1 | |
51516 | # 1 "../../include/QtGui/qfont.h" 1 | |
51517 | # 1 "../../include/QtGui/QFont" 2 | |
51518 | # 63 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51519 | # 1 "../../include/QtGui/QPalette" 1 | |
51520 | # 1 "../../include/QtGui/qpalette.h" 1 | |
51521 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qpalette.h" 1 | |
51522 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qpalette.h" | |
51523 | #define QPALETTE_H | |
51524 | ||
51525 | # 1 "../../include/QtGui/qwindowdefs.h" 1 | |
51526 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qpalette.h" 2 | |
51527 | # 1 "../../include/QtGui/qcolor.h" 1 | |
51528 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qpalette.h" 2 | |
51529 | # 1 "../../include/QtGui/qbrush.h" 1 | |
51530 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qpalette.h" 2 | |
51531 | ||
51532 | ||
51533 | ||
51534 | ||
51535 | ||
51536 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
51537 | ||
51538 | ||
51539 | ||
51540 | ||
51541 | class QPalettePrivate; | |
51542 | class QVariant; | |
51543 | ||
51544 | class __attribute__((visibility("default"))) QPalette | |
51545 | { | |
51546 | public: static const QMetaObject staticMetaObject; private: | |
51547 | ||
51548 | public: | |
51549 | QPalette(); | |
51550 | QPalette(const QColor &button); | |
51551 | QPalette(Qt::GlobalColor button); | |
51552 | QPalette(const QColor &button, const QColor &window); | |
51553 | QPalette(const QBrush &windowText, const QBrush &button, const QBrush &light, | |
51554 | const QBrush &dark, const QBrush &mid, const QBrush &text, | |
51555 | const QBrush &bright_text, const QBrush &base, const QBrush &window); | |
51556 | QPalette(const QColor &windowText, const QColor &window, const QColor &light, | |
51557 | const QColor &dark, const QColor &mid, const QColor &text, const QColor &base); | |
51558 | ||
51559 | ||
51560 | ||
51561 | QPalette(const QPalette &palette); | |
51562 | ~QPalette(); | |
51563 | QPalette &operator=(const QPalette &palette); | |
51564 | operator QVariant() const; | |
51565 | ||
51566 | ||
51567 | enum ColorGroup { Active, Disabled, Inactive, NColorGroups, Current, All, Normal = Active }; | |
51568 | enum ColorRole { WindowText, Button, Light, Midlight, Dark, Mid, | |
51569 | Text, BrightText, ButtonText, Base, Window, Shadow, | |
51570 | Highlight, HighlightedText, | |
51571 | Link, LinkVisited, | |
51572 | AlternateBase, | |
51573 | NoRole, | |
51574 | ToolTipBase, ToolTipText, | |
51575 | NColorRoles = ToolTipText + 1, | |
51576 | Foreground = WindowText, Background = Window | |
51577 | }; | |
51578 | ||
51579 | inline ColorGroup currentColorGroup() const { return static_cast<ColorGroup>(current_group); } | |
51580 | inline void setCurrentColorGroup(ColorGroup cg) { current_group = cg; } | |
51581 | ||
51582 | inline const QColor &color(ColorGroup cg, ColorRole cr) const | |
51583 | { return brush(cg, cr).color(); } | |
51584 | const QBrush &brush(ColorGroup cg, ColorRole cr) const; | |
51585 | inline void setColor(ColorGroup cg, ColorRole cr, const QColor &color); | |
51586 | inline void setColor(ColorRole cr, const QColor &color); | |
51587 | inline void setBrush(ColorRole cr, const QBrush &brush); | |
51588 | bool isBrushSet(ColorGroup cg, ColorRole cr) const; | |
51589 | void setBrush(ColorGroup cg, ColorRole cr, const QBrush &brush); | |
51590 | void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, | |
51591 | const QBrush &light, const QBrush &dark, const QBrush &mid, | |
51592 | const QBrush &text, const QBrush &bright_text, const QBrush &base, | |
51593 | const QBrush &window); | |
51594 | bool isEqual(ColorGroup cr1, ColorGroup cr2) const; | |
51595 | ||
51596 | inline const QColor &color(ColorRole cr) const { return color(Current, cr); } | |
51597 | inline const QBrush &brush(ColorRole cr) const { return brush(Current, cr); } | |
51598 | inline const QBrush &foreground() const { return brush(WindowText); } | |
51599 | inline const QBrush &windowText() const { return brush(WindowText); } | |
51600 | inline const QBrush &button() const { return brush(Button); } | |
51601 | inline const QBrush &light() const { return brush(Light); } | |
51602 | inline const QBrush &dark() const { return brush(Dark); } | |
51603 | inline const QBrush &mid() const { return brush(Mid); } | |
51604 | inline const QBrush &text() const { return brush(Text); } | |
51605 | inline const QBrush &base() const { return brush(Base); } | |
51606 | inline const QBrush &alternateBase() const { return brush(AlternateBase); } | |
51607 | inline const QBrush &toolTipBase() const { return brush(ToolTipBase); } | |
51608 | inline const QBrush &toolTipText() const { return brush(ToolTipText); } | |
51609 | inline const QBrush &background() const { return brush(Window); } | |
51610 | inline const QBrush &window() const { return brush(Window); } | |
51611 | inline const QBrush &midlight() const { return brush(Midlight); } | |
51612 | inline const QBrush &brightText() const { return brush(BrightText); } | |
51613 | inline const QBrush &buttonText() const { return brush(ButtonText); } | |
51614 | inline const QBrush &shadow() const { return brush(Shadow); } | |
51615 | inline const QBrush &highlight() const { return brush(Highlight); } | |
51616 | inline const QBrush &highlightedText() const { return brush(HighlightedText); } | |
51617 | inline const QBrush &link() const { return brush(Link); } | |
51618 | inline const QBrush &linkVisited() const { return brush(LinkVisited); } | |
51619 | # 150 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qpalette.h" | |
51620 | bool operator==(const QPalette &p) const; | |
51621 | inline bool operator!=(const QPalette &p) const { return !(operator==(p)); } | |
51622 | bool isCopyOf(const QPalette &p) const; | |
51623 | ||
51624 | int serialNumber() const; | |
51625 | qint64 cacheKey() const; | |
51626 | ||
51627 | QPalette resolve(const QPalette &) const; | |
51628 | inline uint resolve() const { return resolve_mask; } | |
51629 | inline void resolve(uint mask) { resolve_mask = mask; } | |
51630 | ||
51631 | private: | |
51632 | void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, | |
51633 | const QBrush &light, const QBrush &dark, const QBrush &mid, | |
51634 | const QBrush &text, const QBrush &bright_text, | |
51635 | const QBrush &base, const QBrush &alternate_base, | |
51636 | const QBrush &window, const QBrush &midlight, | |
51637 | const QBrush &button_text, const QBrush &shadow, | |
51638 | const QBrush &highlight, const QBrush &highlighted_text, | |
51639 | const QBrush &link, const QBrush &link_visited); | |
51640 | void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, | |
51641 | const QBrush &light, const QBrush &dark, const QBrush &mid, | |
51642 | const QBrush &text, const QBrush &bright_text, | |
51643 | const QBrush &base, const QBrush &alternate_base, | |
51644 | const QBrush &window, const QBrush &midlight, | |
51645 | const QBrush &button_text, const QBrush &shadow, | |
51646 | const QBrush &highlight, const QBrush &highlighted_text, | |
51647 | const QBrush &link, const QBrush &link_visited, | |
51648 | const QBrush &toolTipBase, const QBrush &toolTipText); | |
51649 | ||
51650 | ||
51651 | ||
51652 | ||
51653 | ||
51654 | void init(); | |
51655 | void detach(); | |
51656 | ||
51657 | QPalettePrivate *d; | |
51658 | uint current_group : 4; | |
51659 | uint resolve_mask : 28; | |
51660 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &s, const QPalette &p); | |
51661 | }; | |
51662 | ||
51663 | inline void QPalette::setColor(ColorGroup acg, ColorRole acr, | |
51664 | const QColor &acolor) | |
51665 | { setBrush(acg, acr, QBrush(acolor)); } | |
51666 | inline void QPalette::setColor(ColorRole acr, const QColor &acolor) | |
51667 | { setColor(All, acr, acolor); } | |
51668 | inline void QPalette::setBrush(ColorRole acr, const QBrush &abrush) | |
51669 | { setBrush(All, acr, abrush); } | |
51670 | # 254 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qpalette.h" | |
51671 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &ds, const QPalette &p); | |
51672 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &ds, QPalette &p); | |
51673 | ||
51674 | ||
51675 | ||
51676 | ||
51677 | ||
51678 | # 1 "../../include/QtGui/qpalette.h" 2 | |
51679 | # 1 "../../include/QtGui/QPalette" 2 | |
51680 | # 64 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51681 | # 1 "../../include/QtGui/QIcon" 1 | |
51682 | # 1 "../../include/QtGui/qicon.h" 1 | |
51683 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qicon.h" 1 | |
51684 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qicon.h" | |
51685 | #define QICON_H | |
51686 | ||
51687 | # 1 "../../include/QtCore/qglobal.h" 1 | |
51688 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qicon.h" 2 | |
51689 | # 1 "../../include/QtCore/qsize.h" 1 | |
51690 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qicon.h" 2 | |
51691 | # 1 "../../include/QtCore/qlist.h" 1 | |
51692 | # 48 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qicon.h" 2 | |
51693 | # 1 "../../include/QtGui/qpixmap.h" 1 | |
51694 | # 49 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qicon.h" 2 | |
51695 | ||
51696 | ||
51697 | ||
51698 | ||
51699 | ||
51700 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
51701 | ||
51702 | class QIconPrivate; | |
51703 | class QIconEngine; | |
51704 | class QIconEngineV2; | |
51705 | ||
51706 | class __attribute__((visibility("default"))) QIcon | |
51707 | { | |
51708 | public: | |
51709 | enum Mode { Normal, Disabled, Active, Selected }; | |
51710 | enum State { On, Off }; | |
51711 | ||
51712 | QIcon(); | |
51713 | QIcon(const QPixmap &pixmap); | |
51714 | QIcon(const QIcon &other); | |
51715 | explicit QIcon(const QString &fileName); | |
51716 | explicit QIcon(QIconEngine *engine); | |
51717 | explicit QIcon(QIconEngineV2 *engine); | |
51718 | ~QIcon(); | |
51719 | QIcon &operator=(const QIcon &other); | |
51720 | operator QVariant() const; | |
51721 | ||
51722 | QPixmap pixmap(const QSize &size, Mode mode = Normal, State state = Off) const; | |
51723 | inline QPixmap pixmap(int w, int h, Mode mode = Normal, State state = Off) const | |
51724 | { return pixmap(QSize(w, h), mode, state); } | |
51725 | inline QPixmap pixmap(int extent, Mode mode = Normal, State state = Off) const | |
51726 | { return pixmap(QSize(extent, extent), mode, state); } | |
51727 | ||
51728 | QSize actualSize(const QSize &size, Mode mode = Normal, State state = Off) const; | |
51729 | ||
51730 | void paint(QPainter *painter, const QRect &rect, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off) const; | |
51731 | inline void paint(QPainter *painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off) const | |
51732 | { paint(painter, QRect(x, y, w, h), alignment, mode, state); } | |
51733 | ||
51734 | bool isNull() const; | |
51735 | bool isDetached() const; | |
51736 | void detach(); | |
51737 | ||
51738 | int serialNumber() const; | |
51739 | qint64 cacheKey() const; | |
51740 | ||
51741 | void addPixmap(const QPixmap &pixmap, Mode mode = Normal, State state = Off); | |
51742 | void addFile(const QString &fileName, const QSize &size = QSize(), Mode mode = Normal, State state = Off); | |
51743 | ||
51744 | QList<QSize> availableSizes(Mode mode = Normal, State state = Off) const; | |
51745 | # 114 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qicon.h" | |
51746 | ||
51747 | ||
51748 | private: | |
51749 | QIconPrivate *d; | |
51750 | ||
51751 | friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QIcon &); | |
51752 | friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QIcon &); | |
51753 | ||
51754 | ||
51755 | public: | |
51756 | typedef QIconPrivate * DataPtr; | |
51757 | inline DataPtr &data_ptr() { return d; } | |
51758 | }; | |
51759 | ||
51760 | template <> inline bool qIsDetached<QIcon>(QIcon &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QIcon>(QIcon &value1, QIcon &value2) { const QIcon::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
51761 | template <> class QTypeInfo<QIcon> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QIcon)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QIcon"; } }; | |
51762 | ||
51763 | ||
51764 | __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QIcon &); | |
51765 | __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QIcon &); | |
51766 | ||
51767 | ||
51768 | ||
51769 | ||
51770 | ||
51771 | ||
51772 | ||
51773 | ||
51774 | ||
51775 | # 1 "../../include/QtGui/qicon.h" 2 | |
51776 | # 1 "../../include/QtGui/QIcon" 2 | |
51777 | # 65 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51778 | # 1 "../../include/QtCore/QSharedData" 1 | |
51779 | # 1 "../../include/QtCore/qshareddata.h" 1 | |
51780 | # 1 "../../include/QtCore/QSharedData" 2 | |
51781 | # 66 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" 2 | |
51782 | ||
51783 | ||
51784 | ||
51785 | ||
51786 | ||
51787 | ||
51788 | namespace QCss | |
51789 | { | |
51790 | ||
51791 | enum Property { | |
51792 | UnknownProperty, | |
51793 | BackgroundColor, | |
51794 | Color, | |
51795 | Float, | |
51796 | Font, | |
51797 | FontFamily, | |
51798 | FontSize, | |
51799 | FontStyle, | |
51800 | FontWeight, | |
51801 | Margin, | |
51802 | MarginBottom, | |
51803 | MarginLeft, | |
51804 | MarginRight, | |
51805 | MarginTop, | |
51806 | QtBlockIndent, | |
51807 | QtListIndent, | |
51808 | QtParagraphType, | |
51809 | QtTableType, | |
51810 | QtUserState, | |
51811 | TextDecoration, | |
51812 | TextIndent, | |
51813 | TextUnderlineStyle, | |
51814 | VerticalAlignment, | |
51815 | Whitespace, | |
51816 | QtSelectionForeground, | |
51817 | QtSelectionBackground, | |
51818 | Border, | |
51819 | BorderLeft, | |
51820 | BorderRight, | |
51821 | BorderTop, | |
51822 | BorderBottom, | |
51823 | Padding, | |
51824 | PaddingLeft, | |
51825 | PaddingRight, | |
51826 | PaddingTop, | |
51827 | PaddingBottom, | |
51828 | PageBreakBefore, | |
51829 | PageBreakAfter, | |
51830 | QtAlternateBackground, | |
51831 | BorderLeftStyle, | |
51832 | BorderRightStyle, | |
51833 | BorderTopStyle, | |
51834 | BorderBottomStyle, | |
51835 | BorderStyles, | |
51836 | BorderLeftColor, | |
51837 | BorderRightColor, | |
51838 | BorderTopColor, | |
51839 | BorderBottomColor, | |
51840 | BorderColor, | |
51841 | BorderLeftWidth, | |
51842 | BorderRightWidth, | |
51843 | BorderTopWidth, | |
51844 | BorderBottomWidth, | |
51845 | BorderWidth, | |
51846 | BorderTopLeftRadius, | |
51847 | BorderTopRightRadius, | |
51848 | BorderBottomLeftRadius, | |
51849 | BorderBottomRightRadius, | |
51850 | BorderRadius, | |
51851 | Background, | |
51852 | BackgroundOrigin, | |
51853 | BackgroundClip, | |
51854 | BackgroundRepeat, | |
51855 | BackgroundPosition, | |
51856 | BackgroundAttachment, | |
51857 | BackgroundImage, | |
51858 | BorderImage, | |
51859 | QtSpacing, | |
51860 | Width, | |
51861 | Height, | |
51862 | MinimumWidth, | |
51863 | MinimumHeight, | |
51864 | MaximumWidth, | |
51865 | MaximumHeight, | |
51866 | QtImage, | |
51867 | Left, | |
51868 | Right, | |
51869 | Top, | |
51870 | Bottom, | |
51871 | QtOrigin, | |
51872 | QtPosition, | |
51873 | Position, | |
51874 | QtStyleFeatures, | |
51875 | QtBackgroundRole, | |
51876 | ListStyleType, | |
51877 | ListStyle, | |
51878 | QtImageAlignment, | |
51879 | TextAlignment, | |
51880 | Outline, | |
51881 | OutlineOffset, | |
51882 | OutlineWidth, | |
51883 | OutlineColor, | |
51884 | OutlineStyle, | |
51885 | OutlineRadius, | |
51886 | OutlineTopLeftRadius, | |
51887 | OutlineTopRightRadius, | |
51888 | OutlineBottomLeftRadius, | |
51889 | OutlineBottomRightRadius, | |
51890 | FontVariant, | |
51891 | TextTransform, | |
51892 | NumProperties | |
51893 | }; | |
51894 | ||
51895 | enum KnownValue { | |
51896 | UnknownValue, | |
51897 | Value_Normal, | |
51898 | Value_Pre, | |
51899 | Value_NoWrap, | |
51900 | Value_PreWrap, | |
51901 | Value_Small, | |
51902 | Value_Medium, | |
51903 | Value_Large, | |
51904 | Value_XLarge, | |
51905 | Value_XXLarge, | |
51906 | Value_Italic, | |
51907 | Value_Oblique, | |
51908 | Value_Bold, | |
51909 | Value_Underline, | |
51910 | Value_Overline, | |
51911 | Value_LineThrough, | |
51912 | Value_Sub, | |
51913 | Value_Super, | |
51914 | Value_Left, | |
51915 | Value_Right, | |
51916 | Value_Top, | |
51917 | Value_Bottom, | |
51918 | Value_Center, | |
51919 | Value_Native, | |
51920 | Value_Solid, | |
51921 | Value_Dotted, | |
51922 | Value_Dashed, | |
51923 | Value_DotDash, | |
51924 | Value_DotDotDash, | |
51925 | Value_Double, | |
51926 | Value_Groove, | |
51927 | Value_Ridge, | |
51928 | Value_Inset, | |
51929 | Value_Outset, | |
51930 | Value_Wave, | |
51931 | Value_Middle, | |
51932 | Value_Auto, | |
51933 | Value_Always, | |
51934 | Value_None, | |
51935 | Value_Transparent, | |
51936 | Value_Disc, | |
51937 | Value_Circle, | |
51938 | Value_Square, | |
51939 | Value_Decimal, | |
51940 | Value_LowerAlpha, | |
51941 | Value_UpperAlpha, | |
51942 | Value_SmallCaps, | |
51943 | Value_Uppercase, | |
51944 | Value_Lowercase, | |
51945 | ||
51946 | ||
51947 | Value_FirstColorRole, | |
51948 | Value_WindowText = Value_FirstColorRole, | |
51949 | Value_Button, | |
51950 | Value_Light, | |
51951 | Value_Midlight, | |
51952 | Value_Dark, | |
51953 | Value_Mid, | |
51954 | Value_Text, | |
51955 | Value_BrightText, | |
51956 | Value_ButtonText, | |
51957 | Value_Base, | |
51958 | Value_Window, | |
51959 | Value_Shadow, | |
51960 | Value_Highlight, | |
51961 | Value_HighlightedText, | |
51962 | Value_Link, | |
51963 | Value_LinkVisited, | |
51964 | Value_AlternateBase, | |
51965 | Value_LastColorRole = Value_AlternateBase, | |
51966 | ||
51967 | Value_Disabled, | |
51968 | Value_Active, | |
51969 | Value_Selected, | |
51970 | Value_On, | |
51971 | Value_Off, | |
51972 | ||
51973 | NumKnownValues | |
51974 | }; | |
51975 | ||
51976 | enum BorderStyle { | |
51977 | BorderStyle_Unknown, | |
51978 | BorderStyle_None, | |
51979 | BorderStyle_Dotted, | |
51980 | BorderStyle_Dashed, | |
51981 | BorderStyle_Solid, | |
51982 | BorderStyle_Double, | |
51983 | BorderStyle_DotDash, | |
51984 | BorderStyle_DotDotDash, | |
51985 | BorderStyle_Groove, | |
51986 | BorderStyle_Ridge, | |
51987 | BorderStyle_Inset, | |
51988 | BorderStyle_Outset, | |
51989 | BorderStyle_Native, | |
51990 | NumKnownBorderStyles | |
51991 | }; | |
51992 | ||
51993 | enum Edge { | |
51994 | TopEdge, | |
51995 | RightEdge, | |
51996 | BottomEdge, | |
51997 | LeftEdge, | |
51998 | NumEdges | |
51999 | }; | |
52000 | ||
52001 | enum Corner { | |
52002 | TopLeftCorner, | |
52003 | TopRightCorner, | |
52004 | BottomLeftCorner, | |
52005 | BottomRightCorner | |
52006 | }; | |
52007 | ||
52008 | enum TileMode { | |
52009 | TileMode_Unknown, | |
52010 | TileMode_Round, | |
52011 | TileMode_Stretch, | |
52012 | TileMode_Repeat, | |
52013 | NumKnownTileModes | |
52014 | }; | |
52015 | ||
52016 | enum Repeat { | |
52017 | Repeat_Unknown, | |
52018 | Repeat_None, | |
52019 | Repeat_X, | |
52020 | Repeat_Y, | |
52021 | Repeat_XY, | |
52022 | NumKnownRepeats | |
52023 | }; | |
52024 | ||
52025 | enum Origin { | |
52026 | Origin_Unknown, | |
52027 | Origin_Padding, | |
52028 | Origin_Border, | |
52029 | Origin_Content, | |
52030 | Origin_Margin, | |
52031 | NumKnownOrigins | |
52032 | }; | |
52033 | ||
52034 | enum PositionMode { | |
52035 | PositionMode_Unknown, | |
52036 | PositionMode_Static, | |
52037 | PositionMode_Relative, | |
52038 | PositionMode_Absolute, | |
52039 | PositionMode_Fixed, | |
52040 | NumKnownPositionModes | |
52041 | }; | |
52042 | ||
52043 | enum Attachment { | |
52044 | Attachment_Unknown, | |
52045 | Attachment_Fixed, | |
52046 | Attachment_Scroll, | |
52047 | NumKnownAttachments | |
52048 | }; | |
52049 | ||
52050 | enum StyleFeature { | |
52051 | StyleFeature_None = 0, | |
52052 | StyleFeature_BackgroundColor = 1, | |
52053 | StyleFeature_BackgroundGradient = 2, | |
52054 | NumKnownStyleFeatures = 4 | |
52055 | }; | |
52056 | ||
52057 | struct __attribute__((visibility("default"))) Value | |
52058 | { | |
52059 | enum Type { | |
52060 | Unknown, | |
52061 | Number, | |
52062 | Percentage, | |
52063 | Length, | |
52064 | String, | |
52065 | Identifier, | |
52066 | KnownIdentifier, | |
52067 | Uri, | |
52068 | Color, | |
52069 | Function, | |
52070 | TermOperatorSlash, | |
52071 | TermOperatorComma | |
52072 | }; | |
52073 | inline Value() : type(Unknown) { } | |
52074 | Type type; | |
52075 | QVariant variant; | |
52076 | QString toString() const; | |
52077 | }; | |
52078 | ||
52079 | struct ColorData { | |
52080 | ColorData() : type(Invalid) {} | |
52081 | ColorData(const QColor &col) : color(col) , type(Color) {} | |
52082 | ColorData(QPalette::ColorRole r) : role(r) , type(Role) {} | |
52083 | QColor color; | |
52084 | QPalette::ColorRole role; | |
52085 | enum { Invalid, Color, Role} type; | |
52086 | }; | |
52087 | ||
52088 | struct BrushData { | |
52089 | BrushData() : type(Invalid) {} | |
52090 | BrushData(const QBrush &br) : brush(br) , type(Brush) {} | |
52091 | BrushData(QPalette::ColorRole r) : role(r) , type(Role) {} | |
52092 | QBrush brush; | |
52093 | QPalette::ColorRole role; | |
52094 | enum { Invalid, Brush, Role, DependsOnThePalette } type; | |
52095 | }; | |
52096 | ||
52097 | struct BackgroundData { | |
52098 | BrushData brush; | |
52099 | QString image; | |
52100 | Repeat repeat; | |
52101 | Qt::Alignment alignment; | |
52102 | }; | |
52103 | ||
52104 | struct LengthData { | |
52105 | qreal number; | |
52106 | enum { None, Px, Ex, Em } unit; | |
52107 | }; | |
52108 | ||
52109 | struct BorderData { | |
52110 | LengthData width; | |
52111 | BorderStyle style; | |
52112 | BrushData color; | |
52113 | }; | |
52114 | # 406 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qcssparser_p.h" | |
52115 | struct __attribute__((visibility("default"))) Declaration | |
52116 | { | |
52117 | struct DeclarationData : public QSharedData | |
52118 | { | |
52119 | inline DeclarationData() : propertyId(UnknownProperty), important(false) {} | |
52120 | QString property; | |
52121 | Property propertyId; | |
52122 | QVector<Value> values; | |
52123 | QVariant parsed; | |
52124 | bool important; | |
52125 | }; | |
52126 | QExplicitlySharedDataPointer<DeclarationData> d; | |
52127 | inline Declaration() : d(new DeclarationData()) {} | |
52128 | inline bool isEmpty() const { return d->property.isEmpty() && d->propertyId == UnknownProperty; } | |
52129 | ||
52130 | ||
52131 | QColor colorValue(const QPalette & = QPalette()) const; | |
52132 | void colorValues(QColor *c, const QPalette & = QPalette()) const; | |
52133 | QBrush brushValue(const QPalette & = QPalette()) const; | |
52134 | void brushValues(QBrush *c, const QPalette & = QPalette()) const; | |
52135 | ||
52136 | BorderStyle styleValue() const; | |
52137 | void styleValues(BorderStyle *s) const; | |
52138 | ||
52139 | Origin originValue() const; | |
52140 | Repeat repeatValue() const; | |
52141 | Qt::Alignment alignmentValue() const; | |
52142 | PositionMode positionValue() const; | |
52143 | Attachment attachmentValue() const; | |
52144 | int styleFeaturesValue() const; | |
52145 | ||
52146 | bool intValue(int *i, const char *unit = 0) const; | |
52147 | bool realValue(qreal *r, const char *unit = 0) const; | |
52148 | ||
52149 | QSize sizeValue() const; | |
52150 | QRect rectValue() const; | |
52151 | QString uriValue() const; | |
52152 | QIcon iconValue() const; | |
52153 | ||
52154 | void borderImageValue(QString *image, int *cuts, TileMode *h, TileMode *v) const; | |
52155 | }; | |
52156 | ||
52157 | const quint64 PseudoClass_Unknown = static_cast<unsigned long long>(0x0000000000000000ULL); | |
52158 | const quint64 PseudoClass_Enabled = static_cast<unsigned long long>(0x0000000000000001ULL); | |
52159 | const quint64 PseudoClass_Disabled = static_cast<unsigned long long>(0x0000000000000002ULL); | |
52160 | const quint64 PseudoClass_Pressed = static_cast<unsigned long long>(0x0000000000000004ULL); | |
52161 | const quint64 PseudoClass_Focus = static_cast<unsigned long long>(0x0000000000000008ULL); | |
52162 | const quint64 PseudoClass_Hover = static_cast<unsigned long long>(0x0000000000000010ULL); | |
52163 | const quint64 PseudoClass_Checked = static_cast<unsigned long long>(0x0000000000000020ULL); | |
52164 | const quint64 PseudoClass_Unchecked = static_cast<unsigned long long>(0x0000000000000040ULL); | |
52165 | const quint64 PseudoClass_Indeterminate = static_cast<unsigned long long>(0x0000000000000080ULL); | |
52166 | const quint64 PseudoClass_Unspecified = static_cast<unsigned long long>(0x0000000000000100ULL); | |
52167 | const quint64 PseudoClass_Selected = static_cast<unsigned long long>(0x0000000000000200ULL); | |
52168 | const quint64 PseudoClass_Horizontal = static_cast<unsigned long long>(0x0000000000000400ULL); | |
52169 | const quint64 PseudoClass_Vertical = static_cast<unsigned long long>(0x0000000000000800ULL); | |
52170 | const quint64 PseudoClass_Window = static_cast<unsigned long long>(0x0000000000001000ULL); | |
52171 | const quint64 PseudoClass_Children = static_cast<unsigned long long>(0x0000000000002000ULL); | |
52172 | const quint64 PseudoClass_Sibling = static_cast<unsigned long long>(0x0000000000004000ULL); | |
52173 | const quint64 PseudoClass_Default = static_cast<unsigned long long>(0x0000000000008000ULL); | |
52174 | const quint64 PseudoClass_First = static_cast<unsigned long long>(0x0000000000010000ULL); | |
52175 | const quint64 PseudoClass_Last = static_cast<unsigned long long>(0x0000000000020000ULL); | |
52176 | const quint64 PseudoClass_Middle = static_cast<unsigned long long>(0x0000000000040000ULL); | |
52177 | const quint64 PseudoClass_OnlyOne = static_cast<unsigned long long>(0x0000000000080000ULL); | |
52178 | const quint64 PseudoClass_PreviousSelected = static_cast<unsigned long long>(0x0000000000100000ULL); | |
52179 | const quint64 PseudoClass_NextSelected = static_cast<unsigned long long>(0x0000000000200000ULL); | |
52180 | const quint64 PseudoClass_Flat = static_cast<unsigned long long>(0x0000000000400000ULL); | |
52181 | const quint64 PseudoClass_Left = static_cast<unsigned long long>(0x0000000000800000ULL); | |
52182 | const quint64 PseudoClass_Right = static_cast<unsigned long long>(0x0000000001000000ULL); | |
52183 | const quint64 PseudoClass_Top = static_cast<unsigned long long>(0x0000000002000000ULL); | |
52184 | const quint64 PseudoClass_Bottom = static_cast<unsigned long long>(0x0000000004000000ULL); | |
52185 | const quint64 PseudoClass_Exclusive = static_cast<unsigned long long>(0x0000000008000000ULL); | |
52186 | const quint64 PseudoClass_NonExclusive = static_cast<unsigned long long>(0x0000000010000000ULL); | |
52187 | const quint64 PseudoClass_Frameless = static_cast<unsigned long long>(0x0000000020000000ULL); | |
52188 | const quint64 PseudoClass_ReadOnly = static_cast<unsigned long long>(0x0000000040000000ULL); | |
52189 | const quint64 PseudoClass_Active = static_cast<unsigned long long>(0x0000000080000000ULL); | |
52190 | const quint64 PseudoClass_Closable = static_cast<unsigned long long>(0x0000000100000000ULL); | |
52191 | const quint64 PseudoClass_Movable = static_cast<unsigned long long>(0x0000000200000000ULL); | |
52192 | const quint64 PseudoClass_Floatable = static_cast<unsigned long long>(0x0000000400000000ULL); | |
52193 | const quint64 PseudoClass_Minimized = static_cast<unsigned long long>(0x0000000800000000ULL); | |
52194 | const quint64 PseudoClass_Maximized = static_cast<unsigned long long>(0x0000001000000000ULL); | |
52195 | const quint64 PseudoClass_On = static_cast<unsigned long long>(0x0000002000000000ULL); | |
52196 | const quint64 PseudoClass_Off = static_cast<unsigned long long>(0x0000004000000000ULL); | |
52197 | const quint64 PseudoClass_Editable = static_cast<unsigned long long>(0x0000008000000000ULL); | |
52198 | const quint64 PseudoClass_Item = static_cast<unsigned long long>(0x0000010000000000ULL); | |
52199 | const quint64 PseudoClass_Closed = static_cast<unsigned long long>(0x0000020000000000ULL); | |
52200 | const quint64 PseudoClass_Open = static_cast<unsigned long long>(0x0000040000000000ULL); | |
52201 | const quint64 PseudoClass_EditFocus = static_cast<unsigned long long>(0x0000080000000000ULL); | |
52202 | const quint64 PseudoClass_Alternate = static_cast<unsigned long long>(0x0000100000000000ULL); | |
52203 | ||
52204 | const quint64 PseudoClass_Any = static_cast<unsigned long long>(0x0000ffffffffffffULL); | |
52205 | const int NumPseudos = 46; | |
52206 | ||
52207 | struct __attribute__((visibility("default"))) Pseudo | |
52208 | { | |
52209 | Pseudo() : negated(false) { } | |
52210 | quint64 type; | |
52211 | QString name; | |
52212 | QString function; | |
52213 | bool negated; | |
52214 | }; | |
52215 | ||
52216 | struct __attribute__((visibility("default"))) AttributeSelector | |
52217 | { | |
52218 | enum ValueMatchType { | |
52219 | NoMatch, | |
52220 | MatchEqual, | |
52221 | MatchContains, | |
52222 | MatchBeginsWith | |
52223 | }; | |
52224 | inline AttributeSelector() : valueMatchCriterium(NoMatch) {} | |
52225 | ||
52226 | QString name; | |
52227 | QString value; | |
52228 | ValueMatchType valueMatchCriterium; | |
52229 | }; | |
52230 | ||
52231 | struct __attribute__((visibility("default"))) BasicSelector | |
52232 | { | |
52233 | inline BasicSelector() : relationToNext(NoRelation) {} | |
52234 | ||
52235 | enum Relation { | |
52236 | NoRelation, | |
52237 | MatchNextSelectorIfAncestor, | |
52238 | MatchNextSelectorIfParent, | |
52239 | MatchNextSelectorIfPreceeds | |
52240 | }; | |
52241 | ||
52242 | QString elementName; | |
52243 | ||
52244 | QStringList ids; | |
52245 | QVector<Pseudo> pseudos; | |
52246 | QVector<AttributeSelector> attributeSelectors; | |
52247 | ||
52248 | Relation relationToNext; | |
52249 | }; | |
52250 | ||
52251 | struct __attribute__((visibility("default"))) Selector | |
52252 | { | |
52253 | QVector<BasicSelector> basicSelectors; | |
52254 | int specificity() const; | |
52255 | quint64 pseudoClass(quint64 *negated = 0) const; | |
52256 | QString pseudoElement() const; | |
52257 | }; | |
52258 | ||
52259 | struct StyleRule; | |
52260 | struct MediaRule; | |
52261 | struct PageRule; | |
52262 | struct ImportRule; | |
52263 | ||
52264 | struct __attribute__((visibility("default"))) ValueExtractor | |
52265 | { | |
52266 | ValueExtractor(const QVector<Declaration> &declarations, const QPalette & = QPalette()); | |
52267 | ||
52268 | bool extractFont(QFont *font, int *fontSizeAdjustment); | |
52269 | bool extractBackground(QBrush *, QString *, Repeat *, Qt::Alignment *, QCss::Origin *, QCss::Attachment *, | |
52270 | QCss::Origin *); | |
52271 | bool extractGeometry(int *w, int *h, int *minw, int *minh, int *maxw, int *maxh); | |
52272 | bool extractPosition(int *l, int *t, int *r, int *b, QCss::Origin *, Qt::Alignment *, | |
52273 | QCss::PositionMode *, Qt::Alignment *); | |
52274 | bool extractBox(int *margins, int *paddings, int *spacing = 0); | |
52275 | bool extractBorder(int *borders, QBrush *colors, BorderStyle *Styles, QSize *radii); | |
52276 | bool extractOutline(int *borders, QBrush *colors, BorderStyle *Styles, QSize *radii, int *offsets); | |
52277 | bool extractPalette(QBrush *fg, QBrush *sfg, QBrush *sbg, QBrush *abg); | |
52278 | int extractStyleFeatures(); | |
52279 | bool extractImage(QIcon *icon, Qt::Alignment *a, QSize *size); | |
52280 | ||
52281 | int lengthValue(const Declaration &decl); | |
52282 | ||
52283 | private: | |
52284 | void extractFont(); | |
52285 | void borderValue(const Declaration &decl, int *width, QCss::BorderStyle *style, QBrush *color); | |
52286 | LengthData lengthValue(const Value& v); | |
52287 | void lengthValues(const Declaration &decl, int *m); | |
52288 | QSize sizeValue(const Declaration &decl); | |
52289 | void sizeValues(const Declaration &decl, QSize *radii); | |
52290 | ||
52291 | QVector<Declaration> declarations; | |
52292 | QFont f; | |
52293 | int adjustment; | |
52294 | int fontExtracted; | |
52295 | QPalette pal; | |
52296 | }; | |
52297 | ||
52298 | struct __attribute__((visibility("default"))) StyleRule | |
52299 | { | |
52300 | StyleRule() : order(0) { } | |
52301 | QVector<Selector> selectors; | |
52302 | QVector<Declaration> declarations; | |
52303 | int order; | |
52304 | }; | |
52305 | ||
52306 | struct __attribute__((visibility("default"))) MediaRule | |
52307 | { | |
52308 | QStringList media; | |
52309 | QVector<StyleRule> styleRules; | |
52310 | }; | |
52311 | ||
52312 | struct __attribute__((visibility("default"))) PageRule | |
52313 | { | |
52314 | QString selector; | |
52315 | QVector<Declaration> declarations; | |
52316 | }; | |
52317 | ||
52318 | struct __attribute__((visibility("default"))) ImportRule | |
52319 | { | |
52320 | QString href; | |
52321 | QStringList media; | |
52322 | }; | |
52323 | ||
52324 | enum StyleSheetOrigin { | |
52325 | StyleSheetOrigin_Unspecified, | |
52326 | StyleSheetOrigin_UserAgent, | |
52327 | StyleSheetOrigin_User, | |
52328 | StyleSheetOrigin_Author, | |
52329 | StyleSheetOrigin_Inline | |
52330 | }; | |
52331 | ||
52332 | struct __attribute__((visibility("default"))) StyleSheet | |
52333 | { | |
52334 | StyleSheet() : origin(StyleSheetOrigin_Unspecified), depth(0) { } | |
52335 | QVector<StyleRule> styleRules; | |
52336 | QVector<MediaRule> mediaRules; | |
52337 | QVector<PageRule> pageRules; | |
52338 | QVector<ImportRule> importRules; | |
52339 | StyleSheetOrigin origin; | |
52340 | int depth; | |
52341 | QMultiHash<QString, StyleRule> nameIndex; | |
52342 | QMultiHash<QString, StyleRule> idIndex; | |
52343 | void buildIndexes(Qt::CaseSensitivity nameCaseSensitivity = Qt::CaseSensitive); | |
52344 | }; | |
52345 | ||
52346 | class __attribute__((visibility("default"))) StyleSelector | |
52347 | { | |
52348 | public: | |
52349 | StyleSelector() : nameCaseSensitivity(Qt::CaseSensitive) {} | |
52350 | virtual ~StyleSelector(); | |
52351 | ||
52352 | union NodePtr { | |
52353 | void *ptr; | |
52354 | int id; | |
52355 | }; | |
52356 | ||
52357 | QVector<StyleRule> styleRulesForNode(NodePtr node); | |
52358 | QVector<Declaration> declarationsForNode(NodePtr node, const char *extraPseudo = 0); | |
52359 | ||
52360 | virtual bool nodeNameEquals(NodePtr node, const QString& nodeName) const; | |
52361 | virtual QString attribute(NodePtr node, const QString &name) const = 0; | |
52362 | virtual bool hasAttributes(NodePtr node) const = 0; | |
52363 | virtual QStringList nodeIds(NodePtr node) const; | |
52364 | virtual QStringList nodeNames(NodePtr node) const = 0; | |
52365 | virtual bool isNullNode(NodePtr node) const = 0; | |
52366 | virtual NodePtr parentNode(NodePtr node) const = 0; | |
52367 | virtual NodePtr previousSiblingNode(NodePtr node) const = 0; | |
52368 | virtual NodePtr duplicateNode(NodePtr node) const = 0; | |
52369 | virtual void freeNode(NodePtr node) const = 0; | |
52370 | ||
52371 | QVector<StyleSheet> styleSheets; | |
52372 | QString medium; | |
52373 | Qt::CaseSensitivity nameCaseSensitivity; | |
52374 | private: | |
52375 | void matchRule(NodePtr node, const StyleRule &rules, StyleSheetOrigin origin, | |
52376 | int depth, QMap<uint, StyleRule> *weightedRules); | |
52377 | bool selectorMatches(const Selector &rule, NodePtr node); | |
52378 | bool basicSelectorMatches(const BasicSelector &rule, NodePtr node); | |
52379 | }; | |
52380 | ||
52381 | enum TokenType { | |
52382 | NONE, | |
52383 | ||
52384 | S, | |
52385 | ||
52386 | CDO, | |
52387 | CDC, | |
52388 | INCLUDES, | |
52389 | DASHMATCH, | |
52390 | ||
52391 | LBRACE, | |
52392 | PLUS, | |
52393 | GREATER, | |
52394 | COMMA, | |
52395 | ||
52396 | STRING, | |
52397 | INVALID, | |
52398 | ||
52399 | IDENT, | |
52400 | ||
52401 | HASH, | |
52402 | ||
52403 | ATKEYWORD_SYM, | |
52404 | ||
52405 | EXCLAMATION_SYM, | |
52406 | ||
52407 | LENGTH, | |
52408 | ||
52409 | PERCENTAGE, | |
52410 | NUMBER, | |
52411 | ||
52412 | FUNCTION, | |
52413 | ||
52414 | COLON, | |
52415 | SEMICOLON, | |
52416 | RBRACE, | |
52417 | SLASH, | |
52418 | MINUS, | |
52419 | DOT, | |
52420 | STAR, | |
52421 | LBRACKET, | |
52422 | RBRACKET, | |
52423 | EQUAL, | |
52424 | LPAREN, | |
52425 | RPAREN, | |
52426 | OR | |
52427 | }; | |
52428 | ||
52429 | struct __attribute__((visibility("default"))) Symbol | |
52430 | { | |
52431 | inline Symbol() : start(0), len(-1) {} | |
52432 | TokenType token; | |
52433 | QString text; | |
52434 | int start, len; | |
52435 | QString lexem() const; | |
52436 | }; | |
52437 | ||
52438 | class Scanner | |
52439 | { | |
52440 | public: | |
52441 | static QString preprocess(const QString &input, bool *hasEscapeSequences = 0); | |
52442 | static void scan(const QString &preprocessedInput, QVector<Symbol> *symbols); | |
52443 | static const char *tokenName(TokenType t); | |
52444 | }; | |
52445 | ||
52446 | class __attribute__((visibility("default"))) Parser | |
52447 | { | |
52448 | public: | |
52449 | Parser(); | |
52450 | Parser(const QString &css, bool file = false); | |
52451 | ||
52452 | void init(const QString &css, bool file = false); | |
52453 | bool parse(StyleSheet *styleSheet, Qt::CaseSensitivity nameCaseSensitivity = Qt::CaseSensitive); | |
52454 | Symbol errorSymbol(); | |
52455 | ||
52456 | bool parseImport(ImportRule *importRule); | |
52457 | bool parseMedia(MediaRule *mediaRule); | |
52458 | bool parseMedium(QStringList *media); | |
52459 | bool parsePage(PageRule *pageRule); | |
52460 | bool parsePseudoPage(QString *selector); | |
52461 | bool parseNextOperator(Value *value); | |
52462 | bool parseCombinator(BasicSelector::Relation *relation); | |
52463 | bool parseProperty(Declaration *decl); | |
52464 | bool parseRuleset(StyleRule *styleRule); | |
52465 | bool parseSelector(Selector *sel); | |
52466 | bool parseSimpleSelector(BasicSelector *basicSel); | |
52467 | bool parseClass(QString *name); | |
52468 | bool parseElementName(QString *name); | |
52469 | bool parseAttrib(AttributeSelector *attr); | |
52470 | bool parsePseudo(Pseudo *pseudo); | |
52471 | bool parseNextDeclaration(Declaration *declaration); | |
52472 | bool parsePrio(Declaration *declaration); | |
52473 | bool parseExpr(QVector<Value> *values); | |
52474 | bool parseTerm(Value *value); | |
52475 | bool parseFunction(QString *name, QString *args); | |
52476 | bool parseHexColor(QColor *col); | |
52477 | bool testAndParseUri(QString *uri); | |
52478 | ||
52479 | inline bool testRuleset() { return testSelector(); } | |
52480 | inline bool testSelector() { return testSimpleSelector(); } | |
52481 | inline bool parseNextSelector(Selector *sel) { if (!testSelector()) return recordError(); return parseSelector(sel); } | |
52482 | bool testSimpleSelector(); | |
52483 | inline bool parseNextSimpleSelector(BasicSelector *basicSel) { if (!testSimpleSelector()) return recordError(); return parseSimpleSelector(basicSel); } | |
52484 | inline bool testElementName() { return test(IDENT) || test(STAR); } | |
52485 | inline bool testClass() { return test(DOT); } | |
52486 | inline bool testAttrib() { return test(LBRACKET); } | |
52487 | inline bool testPseudo() { return test(COLON); } | |
52488 | inline bool testMedium() { return test(IDENT); } | |
52489 | inline bool parseNextMedium(QStringList *media) { if (!testMedium()) return recordError(); return parseMedium(media); } | |
52490 | inline bool testPseudoPage() { return test(COLON); } | |
52491 | inline bool testImport() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1String("import")); } | |
52492 | inline bool testMedia() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1String("media")); } | |
52493 | inline bool testPage() { return testTokenAndEndsWith(ATKEYWORD_SYM, QLatin1String("page")); } | |
52494 | inline bool testCombinator() { return test(PLUS) || test(GREATER) || test(S); } | |
52495 | inline bool testProperty() { return test(IDENT); } | |
52496 | bool testTerm(); | |
52497 | inline bool testExpr() { return testTerm(); } | |
52498 | inline bool parseNextExpr(QVector<Value> *values) { if (!testExpr()) return recordError(); return parseExpr(values); } | |
52499 | bool testPrio(); | |
52500 | inline bool testHexColor() { return test(HASH); } | |
52501 | inline bool testFunction() { return test(FUNCTION); } | |
52502 | inline bool parseNextFunction(QString *name, QString *args) { if (!testFunction()) return recordError(); return parseFunction(name, args); } | |
52503 | ||
52504 | inline bool lookupElementName() const { return lookup() == IDENT || lookup() == STAR; } | |
52505 | ||
52506 | inline void skipSpace() { while (test(S)) {}; } | |
52507 | ||
52508 | inline bool hasNext() const { return index < symbols.count(); } | |
52509 | inline TokenType next() { return symbols.at(index++).token; } | |
52510 | bool next(TokenType t); | |
52511 | bool test(TokenType t); | |
52512 | inline void prev() { index--; } | |
52513 | inline const Symbol &symbol() const { return symbols.at(index - 1); } | |
52514 | inline QString lexem() const { return symbol().lexem(); } | |
52515 | QString unquotedLexem() const; | |
52516 | QString lexemUntil(TokenType t); | |
52517 | bool until(TokenType target, TokenType target2 = NONE); | |
52518 | inline TokenType lookup() const { | |
52519 | return (index - 1) < symbols.count() ? symbols.at(index - 1).token : NONE; | |
52520 | } | |
52521 | ||
52522 | bool testTokenAndEndsWith(TokenType t, const QLatin1String &str); | |
52523 | ||
52524 | inline bool recordError() { errorIndex = index; return false; } | |
52525 | ||
52526 | QVector<Symbol> symbols; | |
52527 | int index; | |
52528 | int errorIndex; | |
52529 | bool hasEscapeSequences; | |
52530 | QString sourcePath; | |
52531 | }; | |
52532 | ||
52533 | } | |
52534 | ||
52535 | ||
52536 | ||
52537 | template <> struct QMetaTypeId< QCss::BackgroundData > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { (0) }; if (!metatype_id) metatype_id = qRegisterMetaType< QCss::BackgroundData >("QCss::BackgroundData"); return metatype_id; } }; | |
52538 | template <> struct QMetaTypeId< QCss::LengthData > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { (0) }; if (!metatype_id) metatype_id = qRegisterMetaType< QCss::LengthData >("QCss::LengthData"); return metatype_id; } }; | |
52539 | template <> struct QMetaTypeId< QCss::BorderData > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { (0) }; if (!metatype_id) metatype_id = qRegisterMetaType< QCss::BorderData >("QCss::BorderData"); return metatype_id; } }; | |
52540 | # 1 "../../include/QtGui/private/qcssparser_p.h" 2 | |
52541 | # 71 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextdocument_p.h" 2 | |
52542 | ||
52543 | ||
52544 | ||
52545 | ||
52546 | ||
52547 | ||
52548 | ||
52549 | ||
52550 | ||
52551 | class QTextFormatCollection; | |
52552 | class QTextFormat; | |
52553 | class QTextBlockFormat; | |
52554 | class QTextCursorPrivate; | |
52555 | class QAbstractTextDocumentLayout; | |
52556 | class QTextDocument; | |
52557 | class QTextFrame; | |
52558 | ||
52559 | #define QTextBeginningOfFrame QChar(0xfdd0) | |
52560 | #define QTextEndOfFrame QChar(0xfdd1) | |
52561 | ||
52562 | class QTextFragmentData : public QFragment<> | |
52563 | { | |
52564 | public: | |
52565 | inline void initialize() {} | |
52566 | inline void invalidate() const {} | |
52567 | inline void free() {} | |
52568 | int stringPosition; | |
52569 | int format; | |
52570 | }; | |
52571 | ||
52572 | class QTextBlockData : public QFragment<3> | |
52573 | { | |
52574 | public: | |
52575 | inline void initialize() | |
52576 | { layout = 0; userData = 0; userState = -1; revision = 0; hidden = 0; } | |
52577 | void invalidate() const; | |
52578 | inline void free() | |
52579 | { delete layout; layout = 0; delete userData; userData = 0; } | |
52580 | ||
52581 | mutable int format; | |
52582 | ||
52583 | mutable QTextLayout *layout; | |
52584 | mutable QTextBlockUserData *userData; | |
52585 | mutable int userState; | |
52586 | mutable int revision : 31; | |
52587 | mutable uint hidden : 1; | |
52588 | }; | |
52589 | ||
52590 | ||
52591 | class QAbstractUndoItem; | |
52592 | ||
52593 | class QTextUndoCommand | |
52594 | { | |
52595 | public: | |
52596 | enum Command { | |
52597 | Inserted = 0, | |
52598 | Removed = 1, | |
52599 | CharFormatChanged = 2, | |
52600 | BlockFormatChanged = 3, | |
52601 | BlockInserted = 4, | |
52602 | BlockRemoved = 5, | |
52603 | BlockAdded = 6, | |
52604 | BlockDeleted = 7, | |
52605 | GroupFormatChange = 8, | |
52606 | Custom = 256 | |
52607 | }; | |
52608 | enum Operation { | |
52609 | KeepCursor = 0, | |
52610 | MoveCursor = 1 | |
52611 | }; | |
52612 | quint16 command; | |
52613 | quint8 block; | |
52614 | quint8 operation; | |
52615 | int format; | |
52616 | quint32 strPos; | |
52617 | quint32 pos; | |
52618 | union { | |
52619 | int blockFormat; | |
52620 | quint32 length; | |
52621 | QAbstractUndoItem *custom; | |
52622 | int objectIndex; | |
52623 | }; | |
52624 | quint32 revision; | |
52625 | ||
52626 | bool tryMerge(const QTextUndoCommand &other); | |
52627 | }; | |
52628 | template <> class QTypeInfo<QTextUndoCommand> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTextUndoCommand)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTextUndoCommand"; } }; | |
52629 | ||
52630 | class QTextDocumentPrivate : public QObjectPrivate | |
52631 | { | |
52632 | inline QTextDocument* q_func() { return static_cast<QTextDocument *>(q_ptr); } inline const QTextDocument* q_func() const { return static_cast<const QTextDocument *>(q_ptr); } friend class QTextDocument; | |
52633 | public: | |
52634 | typedef QFragmentMap<QTextFragmentData> FragmentMap; | |
52635 | typedef FragmentMap::ConstIterator FragmentIterator; | |
52636 | typedef QFragmentMap<QTextBlockData> BlockMap; | |
52637 | ||
52638 | QTextDocumentPrivate(); | |
52639 | ~QTextDocumentPrivate(); | |
52640 | ||
52641 | void init(); | |
52642 | void clear(); | |
52643 | ||
52644 | void setLayout(QAbstractTextDocumentLayout *layout); | |
52645 | ||
52646 | void insert(int pos, const QString &text, int format); | |
52647 | void insert(int pos, int strPos, int strLength, int format); | |
52648 | int insertBlock(int pos, int blockFormat, int charFormat, QTextUndoCommand::Operation = QTextUndoCommand::MoveCursor); | |
52649 | int insertBlock(const QChar &blockSeparator, int pos, int blockFormat, int charFormat, | |
52650 | QTextUndoCommand::Operation op = QTextUndoCommand::MoveCursor); | |
52651 | ||
52652 | void move(int from, int to, int length, QTextUndoCommand::Operation = QTextUndoCommand::MoveCursor); | |
52653 | void remove(int pos, int length, QTextUndoCommand::Operation = QTextUndoCommand::MoveCursor); | |
52654 | ||
52655 | void aboutToRemoveCell(int cursorFrom, int cursorEnd); | |
52656 | ||
52657 | QTextFrame *insertFrame(int start, int end, const QTextFrameFormat &format); | |
52658 | void removeFrame(QTextFrame *frame); | |
52659 | ||
52660 | enum FormatChangeMode { MergeFormat, SetFormat, SetFormatAndPreserveObjectIndices }; | |
52661 | ||
52662 | void setCharFormat(int pos, int length, const QTextCharFormat &newFormat, FormatChangeMode mode = SetFormat); | |
52663 | void setBlockFormat(const QTextBlock &from, const QTextBlock &to, | |
52664 | const QTextBlockFormat &newFormat, FormatChangeMode mode = SetFormat); | |
52665 | ||
52666 | void emitUndoAvailable(bool available); | |
52667 | void emitRedoAvailable(bool available); | |
52668 | ||
52669 | int undoRedo(bool undo); | |
52670 | inline void undo() { undoRedo(true); } | |
52671 | inline void redo() { undoRedo(false); } | |
52672 | void appendUndoItem(QAbstractUndoItem *); | |
52673 | inline void beginEditBlock() { editBlock++; } | |
52674 | void joinPreviousEditBlock(); | |
52675 | void endEditBlock(); | |
52676 | inline bool isInEditBlock() const { return editBlock; } | |
52677 | void enableUndoRedo(bool enable); | |
52678 | inline bool isUndoRedoEnabled() const { return undoEnabled; } | |
52679 | ||
52680 | inline bool isUndoAvailable() const { return undoEnabled && undoState > 0; } | |
52681 | inline bool isRedoAvailable() const { return undoEnabled && undoState < undoStack.size(); } | |
52682 | ||
52683 | inline QString buffer() const { return text; } | |
52684 | QString plainText() const; | |
52685 | inline int length() const { return fragments.length(); } | |
52686 | ||
52687 | inline QTextFormatCollection *formatCollection() { return &formats; } | |
52688 | inline const QTextFormatCollection *formatCollection() const { return &formats; } | |
52689 | inline QAbstractTextDocumentLayout *layout() const { return lout; } | |
52690 | ||
52691 | inline FragmentIterator find(int pos) const { return fragments.find(pos); } | |
52692 | inline FragmentIterator begin() const { return fragments.begin(); } | |
52693 | inline FragmentIterator end() const { return fragments.end(); } | |
52694 | ||
52695 | inline QTextBlock blocksBegin() const { return QTextBlock(const_cast<QTextDocumentPrivate *>(this), blocks.firstNode()); } | |
52696 | inline QTextBlock blocksEnd() const { return QTextBlock(const_cast<QTextDocumentPrivate *>(this), 0); } | |
52697 | inline QTextBlock blocksFind(int pos) const { return QTextBlock(const_cast<QTextDocumentPrivate *>(this), blocks.findNode(pos)); } | |
52698 | int blockCharFormatIndex(int node) const; | |
52699 | ||
52700 | inline int numBlocks() const { return blocks.numNodes(); } | |
52701 | ||
52702 | const BlockMap &blockMap() const { return blocks; } | |
52703 | const FragmentMap &fragmentMap() const { return fragments; } | |
52704 | BlockMap &blockMap() { return blocks; } | |
52705 | FragmentMap &fragmentMap() { return fragments; } | |
52706 | ||
52707 | static const QTextBlockData *block(const QTextBlock &it) { return it.p->blocks.fragment(it.n); } | |
52708 | ||
52709 | int nextCursorPosition(int position, QTextLayout::CursorMode mode) const; | |
52710 | int previousCursorPosition(int position, QTextLayout::CursorMode mode) const; | |
52711 | ||
52712 | void changeObjectFormat(QTextObject *group, int format); | |
52713 | ||
52714 | void setModified(bool m); | |
52715 | inline bool isModified() const { return modified; } | |
52716 | ||
52717 | inline QFont defaultFont() const { return formats.defaultFont(); } | |
52718 | inline void setDefaultFont(const QFont &f) { formats.setDefaultFont(f); } | |
52719 | ||
52720 | private: | |
52721 | bool split(int pos); | |
52722 | bool unite(uint f); | |
52723 | void truncateUndoStack(); | |
52724 | ||
52725 | void insert_string(int pos, uint strPos, uint length, int format, QTextUndoCommand::Operation op); | |
52726 | int insert_block(int pos, uint strPos, int format, int blockformat, QTextUndoCommand::Operation op, int command); | |
52727 | int remove_string(int pos, uint length, QTextUndoCommand::Operation op); | |
52728 | int remove_block(int pos, int *blockformat, int command, QTextUndoCommand::Operation op); | |
52729 | ||
52730 | void insert_frame(QTextFrame *f); | |
52731 | void scan_frames(int pos, int charsRemoved, int charsAdded); | |
52732 | static void clearFrame(QTextFrame *f); | |
52733 | ||
52734 | void adjustDocumentChangesAndCursors(int from, int addedOrRemoved, QTextUndoCommand::Operation op); | |
52735 | ||
52736 | bool wasUndoAvailable; | |
52737 | bool wasRedoAvailable; | |
52738 | ||
52739 | public: | |
52740 | void documentChange(int from, int length); | |
52741 | ||
52742 | inline void addCursor(QTextCursorPrivate *c) { cursors.append(c); } | |
52743 | inline void removeCursor(QTextCursorPrivate *c) { cursors.removeAll(c); changedCursors.removeAll(c); } | |
52744 | ||
52745 | QTextFrame *frameAt(int pos) const; | |
52746 | QTextFrame *rootFrame() const; | |
52747 | ||
52748 | QTextObject *objectForIndex(int objectIndex) const; | |
52749 | QTextObject *objectForFormat(int formatIndex) const; | |
52750 | QTextObject *objectForFormat(const QTextFormat &f) const; | |
52751 | ||
52752 | QTextObject *createObject(const QTextFormat &newFormat, int objectIndex = -1); | |
52753 | void deleteObject(QTextObject *object); | |
52754 | ||
52755 | QTextDocument *document() { return q_func(); } | |
52756 | const QTextDocument *document() const { return q_func(); } | |
52757 | ||
52758 | bool ensureMaximumBlockCount(); | |
52759 | ||
52760 | private: | |
52761 | QTextDocumentPrivate(const QTextDocumentPrivate& m); | |
52762 | QTextDocumentPrivate& operator= (const QTextDocumentPrivate& m); | |
52763 | ||
52764 | void appendUndoItem(const QTextUndoCommand &c); | |
52765 | ||
52766 | void contentsChanged(); | |
52767 | ||
52768 | void compressPieceTable(); | |
52769 | ||
52770 | QString text; | |
52771 | uint unreachableCharacterCount; | |
52772 | ||
52773 | QVector<QTextUndoCommand> undoStack; | |
52774 | bool undoEnabled; | |
52775 | int undoState; | |
52776 | ||
52777 | int modifiedState; | |
52778 | bool modified; | |
52779 | ||
52780 | int editBlock; | |
52781 | int docChangeFrom; | |
52782 | int docChangeOldLength; | |
52783 | int docChangeLength; | |
52784 | bool framesDirty; | |
52785 | ||
52786 | QTextFormatCollection formats; | |
52787 | mutable QTextFrame *rtFrame; | |
52788 | QAbstractTextDocumentLayout *lout; | |
52789 | FragmentMap fragments; | |
52790 | BlockMap blocks; | |
52791 | int initialBlockCharFormatIndex; | |
52792 | ||
52793 | QList<QTextCursorPrivate*> cursors; | |
52794 | QList<QTextCursorPrivate*> changedCursors; | |
52795 | QMap<int, QTextObject *> objects; | |
52796 | QMap<QUrl, QVariant> resources; | |
52797 | QMap<QUrl, QVariant> cachedResources; | |
52798 | QString defaultStyleSheet; | |
52799 | ||
52800 | int lastBlockCount; | |
52801 | ||
52802 | public: | |
52803 | QTextOption defaultTextOption; | |
52804 | ||
52805 | QCss::StyleSheet parsedDefaultStyleSheet; | |
52806 | ||
52807 | int maximumBlockCount; | |
52808 | bool needsEnsureMaximumBlockCount; | |
52809 | bool inContentsChange; | |
52810 | QSizeF pageSize; | |
52811 | QString title; | |
52812 | QString url; | |
52813 | qreal indentWidth; | |
52814 | qreal documentMargin; | |
52815 | ||
52816 | void mergeCachedResources(const QTextDocumentPrivate *priv); | |
52817 | ||
52818 | friend class QTextHtmlExporter; | |
52819 | friend class QTextCursor; | |
52820 | }; | |
52821 | ||
52822 | class QTextTable; | |
52823 | class QTextHtmlExporter | |
52824 | { | |
52825 | public: | |
52826 | QTextHtmlExporter(const QTextDocument *_doc); | |
52827 | ||
52828 | enum ExportMode { | |
52829 | ExportEntireDocument, | |
52830 | ExportFragment | |
52831 | }; | |
52832 | ||
52833 | QString toHtml(const QByteArray &encoding, ExportMode mode = ExportEntireDocument); | |
52834 | ||
52835 | private: | |
52836 | enum StyleMode { EmitStyleTag, OmitStyleTag }; | |
52837 | enum FrameType { TextFrame, TableFrame, RootFrame }; | |
52838 | ||
52839 | void emitFrame(QTextFrame::Iterator frameIt); | |
52840 | void emitTextFrame(const QTextFrame *frame); | |
52841 | void emitBlock(const QTextBlock &block); | |
52842 | void emitTable(const QTextTable *table); | |
52843 | void emitFragment(const QTextFragment &fragment); | |
52844 | ||
52845 | void emitBlockAttributes(const QTextBlock &block); | |
52846 | bool emitCharFormatStyle(const QTextCharFormat &format); | |
52847 | void emitTextLength(const char *attribute, const QTextLength &length); | |
52848 | void emitAlignment(Qt::Alignment alignment); | |
52849 | void emitFloatStyle(QTextFrameFormat::Position pos, StyleMode mode = EmitStyleTag); | |
52850 | void emitMargins(const QString &top, const QString &bottom, const QString &left, const QString &right); | |
52851 | void emitAttribute(const char *attribute, const QString &value); | |
52852 | void emitFrameStyle(const QTextFrameFormat &format, FrameType frameType); | |
52853 | void emitBorderStyle(QTextFrameFormat::BorderStyle style); | |
52854 | void emitPageBreakPolicy(QTextFormat::PageBreakFlags policy); | |
52855 | ||
52856 | void emitFontFamily(const QString &family); | |
52857 | ||
52858 | void emitBackgroundAttribute(const QTextFormat &format); | |
52859 | QString findUrlForImage(const QTextDocument *doc, qint64 cacheKey, bool isPixmap); | |
52860 | ||
52861 | QString html; | |
52862 | QTextCharFormat defaultCharFormat; | |
52863 | const QTextDocument *doc; | |
52864 | bool fragmentMarkers; | |
52865 | }; | |
52866 | ||
52867 | ||
52868 | # 1 "../../include/QtGui/private/qtextdocument_p.h" 2 | |
52869 | # 71 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
52870 | ||
52871 | # 1 "../../include/QtCore/private/qharfbuzz_p.h" 1 | |
52872 | # 1 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qharfbuzz_p.h" 1 | |
52873 | # 54 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qharfbuzz_p.h" | |
52874 | #define QHARFBUZZ_P_H | |
52875 | ||
52876 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" 1 | |
52877 | # 26 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" | |
52878 | #define HARFBUZZ_SHAPER_H | |
52879 | ||
52880 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-global.h" 1 | |
52881 | # 29 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-global.h" | |
52882 | #define HARFBUZZ_GLOBAL_H | |
52883 | ||
52884 | ||
52885 | ||
52886 | ||
52887 | ||
52888 | #define HB_BEGIN_HEADER extern "C" { | |
52889 | #define HB_END_HEADER } | |
52890 | ||
52891 | ||
52892 | ||
52893 | ||
52894 | ||
52895 | extern "C" { | |
52896 | # 52 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-global.h" | |
52897 | #define HB_MAKE_TAG(_x1,_x2,_x3,_x4) ( ( (HB_UInt)_x1 << 24 ) | ( (HB_UInt)_x2 << 16 ) | ( (HB_UInt)_x3 << 8 ) | (HB_UInt)_x4 ) | |
52898 | ||
52899 | ||
52900 | ||
52901 | ||
52902 | ||
52903 | typedef char hb_int8; | |
52904 | typedef unsigned char hb_uint8; | |
52905 | typedef short hb_int16; | |
52906 | typedef unsigned short hb_uint16; | |
52907 | typedef int hb_int32; | |
52908 | typedef unsigned int hb_uint32; | |
52909 | ||
52910 | typedef hb_uint8 HB_Bool; | |
52911 | ||
52912 | typedef hb_uint8 HB_Byte; | |
52913 | typedef hb_uint16 HB_UShort; | |
52914 | typedef hb_uint32 HB_UInt; | |
52915 | typedef hb_int8 HB_Char; | |
52916 | typedef hb_int16 HB_Short; | |
52917 | typedef hb_int32 HB_Int; | |
52918 | ||
52919 | typedef hb_uint16 HB_UChar16; | |
52920 | typedef hb_uint32 HB_UChar32; | |
52921 | typedef hb_uint32 HB_Glyph; | |
52922 | typedef hb_int32 HB_Fixed; | |
52923 | ||
52924 | #define HB_FIXED_CONSTANT(v) ((v) * 64) | |
52925 | #define HB_FIXED_ROUND(v) (((v)+32) & -64) | |
52926 | ||
52927 | typedef hb_int32 HB_16Dot16; | |
52928 | ||
52929 | typedef void * HB_Pointer; | |
52930 | typedef hb_uint32 HB_Tag; | |
52931 | ||
52932 | typedef enum { | |
52933 | ||
52934 | HB_Err_Ok = 0x0000, | |
52935 | HB_Err_Not_Covered = 0xFFFF, | |
52936 | ||
52937 | ||
52938 | ||
52939 | ||
52940 | ||
52941 | HB_Err_Invalid_Argument = 0x1A66, | |
52942 | ||
52943 | ||
52944 | HB_Err_Invalid_SubTable_Format = 0x157F, | |
52945 | HB_Err_Invalid_SubTable = 0x1570, | |
52946 | HB_Err_Read_Error = 0x6EAD, | |
52947 | ||
52948 | ||
52949 | HB_Err_Out_Of_Memory = 0xDEAD | |
52950 | } HB_Error; | |
52951 | ||
52952 | typedef struct { | |
52953 | HB_Fixed x; | |
52954 | HB_Fixed y; | |
52955 | } HB_FixedPoint; | |
52956 | ||
52957 | typedef struct HB_Font_ *HB_Font; | |
52958 | typedef struct HB_StreamRec_ *HB_Stream; | |
52959 | typedef struct HB_FaceRec_ *HB_Face; | |
52960 | ||
52961 | } | |
52962 | # 29 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" 2 | |
52963 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h" 1 | |
52964 | # 27 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h" | |
52965 | #define HARFBUZZ_GDEF_H | |
52966 | ||
52967 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-open.h" 1 | |
52968 | # 27 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-open.h" | |
52969 | #define HARFBUZZ_OPEN_H | |
52970 | ||
52971 | ||
52972 | ||
52973 | extern "C" { | |
52974 | ||
52975 | ||
52976 | #define HB_ALL_GLYPHS 0xFFFF | |
52977 | ||
52978 | #define HB_DEFAULT_LANGUAGE 0xFFFF | |
52979 | ||
52980 | #define HB_MAX_NESTING_LEVEL 100 | |
52981 | ||
52982 | ||
52983 | ||
52984 | ||
52985 | struct HB_LangSys_ | |
52986 | { | |
52987 | HB_UShort LookupOrderOffset; | |
52988 | HB_UShort ReqFeatureIndex; | |
52989 | HB_UShort FeatureCount; | |
52990 | HB_UShort* FeatureIndex; | |
52991 | }; | |
52992 | ||
52993 | typedef struct HB_LangSys_ HB_LangSys; | |
52994 | ||
52995 | ||
52996 | struct HB_LangSysRecord_ | |
52997 | { | |
52998 | HB_UInt LangSysTag; | |
52999 | HB_LangSys LangSys; | |
53000 | }; | |
53001 | ||
53002 | typedef struct HB_LangSysRecord_ HB_LangSysRecord; | |
53003 | ||
53004 | ||
53005 | struct HB_ScriptTable_ | |
53006 | { | |
53007 | HB_LangSys DefaultLangSys; | |
53008 | HB_UShort LangSysCount; | |
53009 | HB_LangSysRecord* LangSysRecord; | |
53010 | }; | |
53011 | ||
53012 | typedef struct HB_ScriptTable_ HB_ScriptTable; | |
53013 | ||
53014 | ||
53015 | struct HB_ScriptRecord_ | |
53016 | { | |
53017 | HB_UInt ScriptTag; | |
53018 | HB_ScriptTable Script; | |
53019 | }; | |
53020 | ||
53021 | typedef struct HB_ScriptRecord_ HB_ScriptRecord; | |
53022 | ||
53023 | ||
53024 | struct HB_ScriptList_ | |
53025 | { | |
53026 | HB_UShort ScriptCount; | |
53027 | HB_ScriptRecord* ScriptRecord; | |
53028 | }; | |
53029 | ||
53030 | typedef struct HB_ScriptList_ HB_ScriptList; | |
53031 | ||
53032 | ||
53033 | ||
53034 | ||
53035 | struct HB_Feature_ | |
53036 | { | |
53037 | HB_UShort FeatureParams; | |
53038 | HB_UShort LookupListCount; | |
53039 | HB_UShort* LookupListIndex; | |
53040 | }; | |
53041 | ||
53042 | typedef struct HB_Feature_ HB_Feature; | |
53043 | ||
53044 | ||
53045 | struct HB_FeatureRecord_ | |
53046 | { | |
53047 | HB_UInt FeatureTag; | |
53048 | HB_Feature Feature; | |
53049 | }; | |
53050 | ||
53051 | typedef struct HB_FeatureRecord_ HB_FeatureRecord; | |
53052 | ||
53053 | ||
53054 | struct HB_FeatureList_ | |
53055 | { | |
53056 | HB_UShort FeatureCount; | |
53057 | HB_FeatureRecord* FeatureRecord; | |
53058 | HB_UShort* ApplyOrder; | |
53059 | HB_UShort ApplyCount; | |
53060 | }; | |
53061 | ||
53062 | typedef struct HB_FeatureList_ HB_FeatureList; | |
53063 | ||
53064 | ||
53065 | ||
53066 | ||
53067 | typedef struct HB_SubTable_ HB_SubTable; | |
53068 | ||
53069 | ||
53070 | struct HB_Lookup_ | |
53071 | { | |
53072 | HB_UShort LookupType; | |
53073 | HB_UShort LookupFlag; | |
53074 | HB_UShort SubTableCount; | |
53075 | HB_SubTable* SubTable; | |
53076 | }; | |
53077 | ||
53078 | typedef struct HB_Lookup_ HB_Lookup; | |
53079 | # 145 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-open.h" | |
53080 | struct HB_LookupList_ | |
53081 | { | |
53082 | HB_UShort LookupCount; | |
53083 | HB_Lookup* Lookup; | |
53084 | HB_UInt* Properties; | |
53085 | }; | |
53086 | ||
53087 | typedef struct HB_LookupList_ HB_LookupList; | |
53088 | # 161 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-open.h" | |
53089 | #define HB_LOOKUP_FLAG_RIGHT_TO_LEFT 0x0001 | |
53090 | #define HB_LOOKUP_FLAG_IGNORE_BASE_GLYPHS 0x0002 | |
53091 | #define HB_LOOKUP_FLAG_IGNORE_LIGATURES 0x0004 | |
53092 | #define HB_LOOKUP_FLAG_IGNORE_MARKS 0x0008 | |
53093 | #define HB_LOOKUP_FLAG_IGNORE_SPECIAL_MARKS 0xFF00 | |
53094 | ||
53095 | ||
53096 | struct HB_CoverageFormat1_ | |
53097 | { | |
53098 | HB_UShort GlyphCount; | |
53099 | HB_UShort* GlyphArray; | |
53100 | }; | |
53101 | ||
53102 | typedef struct HB_CoverageFormat1_ HB_CoverageFormat1; | |
53103 | ||
53104 | ||
53105 | struct HB_RangeRecord_ | |
53106 | { | |
53107 | HB_UShort Start; | |
53108 | HB_UShort End; | |
53109 | HB_UShort StartCoverageIndex; | |
53110 | ||
53111 | }; | |
53112 | ||
53113 | typedef struct HB_RangeRecord_ HB_RangeRecord; | |
53114 | ||
53115 | ||
53116 | struct HB_CoverageFormat2_ | |
53117 | { | |
53118 | HB_UShort RangeCount; | |
53119 | HB_RangeRecord* RangeRecord; | |
53120 | }; | |
53121 | ||
53122 | typedef struct HB_CoverageFormat2_ HB_CoverageFormat2; | |
53123 | ||
53124 | ||
53125 | struct HB_Coverage_ | |
53126 | { | |
53127 | HB_UShort CoverageFormat; | |
53128 | ||
53129 | union | |
53130 | { | |
53131 | HB_CoverageFormat1 cf1; | |
53132 | HB_CoverageFormat2 cf2; | |
53133 | } cf; | |
53134 | }; | |
53135 | ||
53136 | typedef struct HB_Coverage_ HB_Coverage; | |
53137 | ||
53138 | ||
53139 | struct HB_ClassDefFormat1_ | |
53140 | { | |
53141 | HB_UShort StartGlyph; | |
53142 | ||
53143 | HB_UShort GlyphCount; | |
53144 | HB_UShort* ClassValueArray; | |
53145 | }; | |
53146 | ||
53147 | typedef struct HB_ClassDefFormat1_ HB_ClassDefFormat1; | |
53148 | ||
53149 | ||
53150 | struct HB_ClassRangeRecord_ | |
53151 | { | |
53152 | HB_UShort Start; | |
53153 | HB_UShort End; | |
53154 | HB_UShort Class; | |
53155 | }; | |
53156 | ||
53157 | typedef struct HB_ClassRangeRecord_ HB_ClassRangeRecord; | |
53158 | ||
53159 | ||
53160 | struct HB_ClassDefFormat2_ | |
53161 | { | |
53162 | HB_UShort ClassRangeCount; | |
53163 | ||
53164 | HB_ClassRangeRecord* ClassRangeRecord; | |
53165 | ||
53166 | }; | |
53167 | ||
53168 | typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2; | |
53169 | ||
53170 | ||
53171 | struct HB_ClassDefinition_ | |
53172 | { | |
53173 | HB_Bool loaded; | |
53174 | ||
53175 | HB_UShort ClassFormat; | |
53176 | ||
53177 | union | |
53178 | { | |
53179 | HB_ClassDefFormat1 cd1; | |
53180 | HB_ClassDefFormat2 cd2; | |
53181 | } cd; | |
53182 | }; | |
53183 | ||
53184 | typedef struct HB_ClassDefinition_ HB_ClassDefinition; | |
53185 | ||
53186 | ||
53187 | struct HB_Device_ | |
53188 | { | |
53189 | HB_UShort StartSize; | |
53190 | HB_UShort EndSize; | |
53191 | HB_UShort DeltaFormat; | |
53192 | ||
53193 | HB_UShort* DeltaValue; | |
53194 | }; | |
53195 | ||
53196 | typedef struct HB_Device_ HB_Device; | |
53197 | ||
53198 | ||
53199 | enum HB_Type_ | |
53200 | { | |
53201 | HB_Type_GSUB, | |
53202 | HB_Type_GPOS | |
53203 | }; | |
53204 | ||
53205 | typedef enum HB_Type_ HB_Type; | |
53206 | ||
53207 | ||
53208 | } | |
53209 | # 30 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h" 2 | |
53210 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-stream.h" 1 | |
53211 | # 27 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-stream.h" | |
53212 | #define HARFBUZZ_STREAM_H | |
53213 | ||
53214 | ||
53215 | ||
53216 | extern "C" { | |
53217 | ||
53218 | typedef struct HB_StreamRec_ | |
53219 | { | |
53220 | HB_Byte* base; | |
53221 | HB_UInt size; | |
53222 | HB_UInt pos; | |
53223 | ||
53224 | HB_Byte* cursor; | |
53225 | } HB_StreamRec; | |
53226 | ||
53227 | ||
53228 | } | |
53229 | # 31 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h" 2 | |
53230 | ||
53231 | extern "C" { | |
53232 | ||
53233 | ||
53234 | ||
53235 | #define HB_GDEF_BASE_GLYPH 0x0002 | |
53236 | #define HB_GDEF_LIGATURE 0x0004 | |
53237 | #define HB_GDEF_MARK 0x0008 | |
53238 | #define HB_GDEF_COMPONENT 0x0010 | |
53239 | ||
53240 | ||
53241 | typedef struct HB_AttachPoint_ HB_AttachPoint; | |
53242 | ||
53243 | ||
53244 | struct HB_AttachList_ | |
53245 | { | |
53246 | HB_Bool loaded; | |
53247 | ||
53248 | HB_Coverage Coverage; | |
53249 | HB_UShort GlyphCount; | |
53250 | ||
53251 | HB_AttachPoint* AttachPoint; | |
53252 | }; | |
53253 | ||
53254 | typedef struct HB_AttachList_ HB_AttachList; | |
53255 | ||
53256 | typedef struct HB_LigGlyph_ HB_LigGlyph; | |
53257 | ||
53258 | struct HB_LigCaretList_ | |
53259 | { | |
53260 | HB_Bool loaded; | |
53261 | ||
53262 | HB_Coverage Coverage; | |
53263 | HB_UShort LigGlyphCount; | |
53264 | HB_LigGlyph* LigGlyph; | |
53265 | }; | |
53266 | ||
53267 | typedef struct HB_LigCaretList_ HB_LigCaretList; | |
53268 | # 92 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h" | |
53269 | struct HB_GDEFHeader_ | |
53270 | { | |
53271 | HB_UInt offset; | |
53272 | ||
53273 | HB_16Dot16 Version; | |
53274 | ||
53275 | HB_ClassDefinition GlyphClassDef; | |
53276 | HB_AttachList AttachList; | |
53277 | HB_LigCaretList LigCaretList; | |
53278 | HB_UInt MarkAttachClassDef_offset; | |
53279 | HB_ClassDefinition MarkAttachClassDef; | |
53280 | ||
53281 | HB_UShort LastGlyph; | |
53282 | HB_UShort** NewGlyphClasses; | |
53283 | }; | |
53284 | ||
53285 | typedef struct HB_GDEFHeader_ HB_GDEFHeader; | |
53286 | typedef struct HB_GDEFHeader_* HB_GDEF; | |
53287 | ||
53288 | ||
53289 | HB_Error HB_New_GDEF_Table( HB_GDEFHeader** retptr ); | |
53290 | ||
53291 | ||
53292 | HB_Error HB_Load_GDEF_Table( HB_Stream stream, | |
53293 | HB_GDEFHeader** gdef ); | |
53294 | ||
53295 | ||
53296 | HB_Error HB_Done_GDEF_Table ( HB_GDEFHeader* gdef ); | |
53297 | ||
53298 | ||
53299 | HB_Error HB_GDEF_Get_Glyph_Property( HB_GDEFHeader* gdef, | |
53300 | HB_UShort glyphID, | |
53301 | HB_UShort* property ); | |
53302 | ||
53303 | HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef, | |
53304 | HB_UShort num_glyphs, | |
53305 | HB_UShort glyph_count, | |
53306 | HB_UShort* glyph_array, | |
53307 | HB_UShort* class_array ); | |
53308 | ||
53309 | ||
53310 | } | |
53311 | # 30 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" 2 | |
53312 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h" 1 | |
53313 | # 27 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h" | |
53314 | #define HARFBUZZ_GPOS_H | |
53315 | ||
53316 | ||
53317 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h" 1 | |
53318 | # 29 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h" | |
53319 | #define HARFBUZZ_BUFFER_H | |
53320 | ||
53321 | ||
53322 | ||
53323 | extern "C" { | |
53324 | ||
53325 | typedef struct HB_GlyphItemRec_ { | |
53326 | HB_UInt gindex; | |
53327 | HB_UInt properties; | |
53328 | HB_UInt cluster; | |
53329 | HB_UShort component; | |
53330 | HB_UShort ligID; | |
53331 | HB_UShort gproperties; | |
53332 | } HB_GlyphItemRec, *HB_GlyphItem; | |
53333 | ||
53334 | typedef struct HB_PositionRec_ { | |
53335 | HB_Fixed x_pos; | |
53336 | HB_Fixed y_pos; | |
53337 | HB_Fixed x_advance; | |
53338 | HB_Fixed y_advance; | |
53339 | HB_UShort back; | |
53340 | ||
53341 | HB_Bool new_advance; | |
53342 | ||
53343 | ||
53344 | ||
53345 | HB_Short cursive_chain; | |
53346 | ||
53347 | ||
53348 | } HB_PositionRec, *HB_Position; | |
53349 | ||
53350 | ||
53351 | typedef struct HB_BufferRec_{ | |
53352 | HB_UInt allocated; | |
53353 | ||
53354 | HB_UInt in_length; | |
53355 | HB_UInt out_length; | |
53356 | HB_UInt in_pos; | |
53357 | HB_UInt out_pos; | |
53358 | ||
53359 | HB_Bool separate_out; | |
53360 | HB_GlyphItem in_string; | |
53361 | HB_GlyphItem out_string; | |
53362 | HB_GlyphItem alt_string; | |
53363 | HB_Position positions; | |
53364 | HB_UShort max_ligID; | |
53365 | } HB_BufferRec, *HB_Buffer; | |
53366 | ||
53367 | HB_Error | |
53368 | hb_buffer_new( HB_Buffer *buffer ); | |
53369 | ||
53370 | void | |
53371 | hb_buffer_free( HB_Buffer buffer ); | |
53372 | ||
53373 | void | |
53374 | hb_buffer_clear( HB_Buffer buffer ); | |
53375 | ||
53376 | HB_Error | |
53377 | hb_buffer_add_glyph( HB_Buffer buffer, | |
53378 | HB_UInt glyph_index, | |
53379 | HB_UInt properties, | |
53380 | HB_UInt cluster ); | |
53381 | ||
53382 | } | |
53383 | # 31 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h" 2 | |
53384 | ||
53385 | extern "C" { | |
53386 | ||
53387 | ||
53388 | ||
53389 | ||
53390 | #define HB_GPOS_LOOKUP_SINGLE 1 | |
53391 | #define HB_GPOS_LOOKUP_PAIR 2 | |
53392 | #define HB_GPOS_LOOKUP_CURSIVE 3 | |
53393 | #define HB_GPOS_LOOKUP_MARKBASE 4 | |
53394 | #define HB_GPOS_LOOKUP_MARKLIG 5 | |
53395 | #define HB_GPOS_LOOKUP_MARKMARK 6 | |
53396 | #define HB_GPOS_LOOKUP_CONTEXT 7 | |
53397 | #define HB_GPOS_LOOKUP_CHAIN 8 | |
53398 | #define HB_GPOS_LOOKUP_EXTENSION 9 | |
53399 | # 58 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h" | |
53400 | typedef HB_Error (*HB_MMFunction)(HB_Font font, | |
53401 | HB_UShort metric_id, | |
53402 | HB_Fixed* metric_value, | |
53403 | void* data ); | |
53404 | ||
53405 | ||
53406 | struct HB_GPOSHeader_ | |
53407 | { | |
53408 | HB_16Dot16 Version; | |
53409 | ||
53410 | HB_ScriptList ScriptList; | |
53411 | HB_FeatureList FeatureList; | |
53412 | HB_LookupList LookupList; | |
53413 | ||
53414 | HB_GDEFHeader* gdef; | |
53415 | ||
53416 | ||
53417 | ||
53418 | ||
53419 | ||
53420 | HB_MMFunction mmfunc; | |
53421 | void* data; | |
53422 | }; | |
53423 | ||
53424 | typedef struct HB_GPOSHeader_ HB_GPOSHeader; | |
53425 | typedef HB_GPOSHeader* HB_GPOS; | |
53426 | ||
53427 | ||
53428 | HB_Error HB_Load_GPOS_Table( HB_Stream stream, | |
53429 | HB_GPOSHeader** gpos, | |
53430 | HB_GDEFHeader* gdef, | |
53431 | HB_Stream gdefStream ); | |
53432 | ||
53433 | ||
53434 | HB_Error HB_Done_GPOS_Table( HB_GPOSHeader* gpos ); | |
53435 | ||
53436 | ||
53437 | HB_Error HB_GPOS_Select_Script( HB_GPOSHeader* gpos, | |
53438 | HB_UInt script_tag, | |
53439 | HB_UShort* script_index ); | |
53440 | ||
53441 | HB_Error HB_GPOS_Select_Language( HB_GPOSHeader* gpos, | |
53442 | HB_UInt language_tag, | |
53443 | HB_UShort script_index, | |
53444 | HB_UShort* language_index, | |
53445 | HB_UShort* req_feature_index ); | |
53446 | ||
53447 | HB_Error HB_GPOS_Select_Feature( HB_GPOSHeader* gpos, | |
53448 | HB_UInt feature_tag, | |
53449 | HB_UShort script_index, | |
53450 | HB_UShort language_index, | |
53451 | HB_UShort* feature_index ); | |
53452 | ||
53453 | ||
53454 | HB_Error HB_GPOS_Query_Scripts( HB_GPOSHeader* gpos, | |
53455 | HB_UInt** script_tag_list ); | |
53456 | ||
53457 | HB_Error HB_GPOS_Query_Languages( HB_GPOSHeader* gpos, | |
53458 | HB_UShort script_index, | |
53459 | HB_UInt** language_tag_list ); | |
53460 | ||
53461 | HB_Error HB_GPOS_Query_Features( HB_GPOSHeader* gpos, | |
53462 | HB_UShort script_index, | |
53463 | HB_UShort language_index, | |
53464 | HB_UInt** feature_tag_list ); | |
53465 | ||
53466 | ||
53467 | HB_Error HB_GPOS_Add_Feature( HB_GPOSHeader* gpos, | |
53468 | HB_UShort feature_index, | |
53469 | HB_UInt property ); | |
53470 | ||
53471 | HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos ); | |
53472 | ||
53473 | ||
53474 | HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos, | |
53475 | HB_MMFunction mmfunc, | |
53476 | void* data ); | |
53477 | ||
53478 | ||
53479 | ||
53480 | ||
53481 | ||
53482 | HB_Error HB_GPOS_Apply_String( HB_Font font, | |
53483 | HB_GPOSHeader* gpos, | |
53484 | HB_UShort load_flags, | |
53485 | HB_Buffer buffer, | |
53486 | HB_Bool dvi, | |
53487 | HB_Bool r2l ); | |
53488 | ||
53489 | } | |
53490 | # 31 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" 2 | |
53491 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h" 1 | |
53492 | # 27 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h" | |
53493 | #define HARFBUZZ_GSUB_H | |
53494 | ||
53495 | ||
53496 | ||
53497 | ||
53498 | extern "C" { | |
53499 | ||
53500 | ||
53501 | ||
53502 | ||
53503 | #define HB_GSUB_LOOKUP_SINGLE 1 | |
53504 | #define HB_GSUB_LOOKUP_MULTIPLE 2 | |
53505 | #define HB_GSUB_LOOKUP_ALTERNATE 3 | |
53506 | #define HB_GSUB_LOOKUP_LIGATURE 4 | |
53507 | #define HB_GSUB_LOOKUP_CONTEXT 5 | |
53508 | #define HB_GSUB_LOOKUP_CHAIN 6 | |
53509 | #define HB_GSUB_LOOKUP_EXTENSION 7 | |
53510 | #define HB_GSUB_LOOKUP_REVERSE_CHAIN 8 | |
53511 | # 54 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h" | |
53512 | typedef HB_UShort (*HB_AltFunction)(HB_UInt pos, | |
53513 | HB_UShort glyphID, | |
53514 | HB_UShort num_alternates, | |
53515 | HB_UShort* alternates, | |
53516 | void* data ); | |
53517 | ||
53518 | ||
53519 | struct HB_GSUBHeader_ | |
53520 | { | |
53521 | HB_UInt offset; | |
53522 | ||
53523 | HB_16Dot16 Version; | |
53524 | ||
53525 | HB_ScriptList ScriptList; | |
53526 | HB_FeatureList FeatureList; | |
53527 | HB_LookupList LookupList; | |
53528 | ||
53529 | HB_GDEFHeader* gdef; | |
53530 | ||
53531 | ||
53532 | ||
53533 | ||
53534 | HB_AltFunction altfunc; | |
53535 | void* data; | |
53536 | }; | |
53537 | ||
53538 | typedef struct HB_GSUBHeader_ HB_GSUBHeader; | |
53539 | typedef HB_GSUBHeader* HB_GSUB; | |
53540 | ||
53541 | ||
53542 | HB_Error HB_Load_GSUB_Table( HB_Stream stream, | |
53543 | HB_GSUBHeader** gsub, | |
53544 | HB_GDEFHeader* gdef, | |
53545 | HB_Stream gdefStream ); | |
53546 | ||
53547 | ||
53548 | HB_Error HB_Done_GSUB_Table( HB_GSUBHeader* gsub ); | |
53549 | ||
53550 | ||
53551 | HB_Error HB_GSUB_Select_Script( HB_GSUBHeader* gsub, | |
53552 | HB_UInt script_tag, | |
53553 | HB_UShort* script_index ); | |
53554 | ||
53555 | HB_Error HB_GSUB_Select_Language( HB_GSUBHeader* gsub, | |
53556 | HB_UInt language_tag, | |
53557 | HB_UShort script_index, | |
53558 | HB_UShort* language_index, | |
53559 | HB_UShort* req_feature_index ); | |
53560 | ||
53561 | HB_Error HB_GSUB_Select_Feature( HB_GSUBHeader* gsub, | |
53562 | HB_UInt feature_tag, | |
53563 | HB_UShort script_index, | |
53564 | HB_UShort language_index, | |
53565 | HB_UShort* feature_index ); | |
53566 | ||
53567 | ||
53568 | HB_Error HB_GSUB_Query_Scripts( HB_GSUBHeader* gsub, | |
53569 | HB_UInt** script_tag_list ); | |
53570 | ||
53571 | HB_Error HB_GSUB_Query_Languages( HB_GSUBHeader* gsub, | |
53572 | HB_UShort script_index, | |
53573 | HB_UInt** language_tag_list ); | |
53574 | ||
53575 | HB_Error HB_GSUB_Query_Features( HB_GSUBHeader* gsub, | |
53576 | HB_UShort script_index, | |
53577 | HB_UShort language_index, | |
53578 | HB_UInt** feature_tag_list ); | |
53579 | ||
53580 | ||
53581 | HB_Error HB_GSUB_Add_Feature( HB_GSUBHeader* gsub, | |
53582 | HB_UShort feature_index, | |
53583 | HB_UInt property ); | |
53584 | ||
53585 | HB_Error HB_GSUB_Clear_Features( HB_GSUBHeader* gsub ); | |
53586 | ||
53587 | ||
53588 | HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub, | |
53589 | HB_AltFunction altfunc, | |
53590 | void* data ); | |
53591 | ||
53592 | ||
53593 | HB_Error HB_GSUB_Apply_String( HB_GSUBHeader* gsub, | |
53594 | HB_Buffer buffer ); | |
53595 | ||
53596 | ||
53597 | } | |
53598 | # 32 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" 2 | |
53599 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-external.h" 1 | |
53600 | # 26 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-external.h" | |
53601 | #define HARFBUZZ_EXTERNAL_H | |
53602 | ||
53603 | ||
53604 | ||
53605 | extern "C" { | |
53606 | # 43 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-external.h" | |
53607 | typedef enum { | |
53608 | HB_LineBreak_OP, HB_LineBreak_CL, HB_LineBreak_QU, HB_LineBreak_GL, HB_LineBreak_NS, | |
53609 | HB_LineBreak_EX, HB_LineBreak_SY, HB_LineBreak_IS, HB_LineBreak_PR, HB_LineBreak_PO, | |
53610 | HB_LineBreak_NU, HB_LineBreak_AL, HB_LineBreak_ID, HB_LineBreak_IN, HB_LineBreak_HY, | |
53611 | HB_LineBreak_BA, HB_LineBreak_BB, HB_LineBreak_B2, HB_LineBreak_ZW, HB_LineBreak_CM, | |
53612 | HB_LineBreak_WJ, HB_LineBreak_H2, HB_LineBreak_H3, HB_LineBreak_JL, HB_LineBreak_JV, | |
53613 | HB_LineBreak_JT, HB_LineBreak_SA, HB_LineBreak_SG, | |
53614 | HB_LineBreak_SP, HB_LineBreak_CR, HB_LineBreak_LF, HB_LineBreak_BK | |
53615 | } HB_LineBreakClass; | |
53616 | ||
53617 | typedef enum | |
53618 | { | |
53619 | HB_NoCategory, | |
53620 | ||
53621 | HB_Mark_NonSpacing, | |
53622 | HB_Mark_SpacingCombining, | |
53623 | HB_Mark_Enclosing, | |
53624 | ||
53625 | HB_Number_DecimalDigit, | |
53626 | HB_Number_Letter, | |
53627 | HB_Number_Other, | |
53628 | ||
53629 | HB_Separator_Space, | |
53630 | HB_Separator_Line, | |
53631 | HB_Separator_Paragraph, | |
53632 | ||
53633 | HB_Other_Control, | |
53634 | HB_Other_Format, | |
53635 | HB_Other_Surrogate, | |
53636 | HB_Other_PrivateUse, | |
53637 | HB_Other_NotAssigned, | |
53638 | ||
53639 | HB_Letter_Uppercase, | |
53640 | HB_Letter_Lowercase, | |
53641 | HB_Letter_Titlecase, | |
53642 | HB_Letter_Modifier, | |
53643 | HB_Letter_Other, | |
53644 | ||
53645 | HB_Punctuation_Connector, | |
53646 | HB_Punctuation_Dash, | |
53647 | HB_Punctuation_Open, | |
53648 | HB_Punctuation_Close, | |
53649 | HB_Punctuation_InitialQuote, | |
53650 | HB_Punctuation_FinalQuote, | |
53651 | HB_Punctuation_Other, | |
53652 | ||
53653 | HB_Symbol_Math, | |
53654 | HB_Symbol_Currency, | |
53655 | HB_Symbol_Modifier, | |
53656 | HB_Symbol_Other | |
53657 | } HB_CharCategory; | |
53658 | ||
53659 | typedef enum | |
53660 | { | |
53661 | HB_Grapheme_Other, | |
53662 | HB_Grapheme_CR, | |
53663 | HB_Grapheme_LF, | |
53664 | HB_Grapheme_Control, | |
53665 | HB_Grapheme_Extend, | |
53666 | HB_Grapheme_L, | |
53667 | HB_Grapheme_V, | |
53668 | HB_Grapheme_T, | |
53669 | HB_Grapheme_LV, | |
53670 | HB_Grapheme_LVT | |
53671 | } HB_GraphemeClass; | |
53672 | ||
53673 | ||
53674 | typedef enum | |
53675 | { | |
53676 | HB_Word_Other, | |
53677 | HB_Word_Format, | |
53678 | HB_Word_Katakana, | |
53679 | HB_Word_ALetter, | |
53680 | HB_Word_MidLetter, | |
53681 | HB_Word_MidNum, | |
53682 | HB_Word_Numeric, | |
53683 | HB_Word_ExtendNumLet | |
53684 | } HB_WordClass; | |
53685 | ||
53686 | ||
53687 | typedef enum | |
53688 | { | |
53689 | HB_Sentence_Other, | |
53690 | HB_Sentence_Sep, | |
53691 | HB_Sentence_Format, | |
53692 | HB_Sentence_Sp, | |
53693 | HB_Sentence_Lower, | |
53694 | HB_Sentence_Upper, | |
53695 | HB_Sentence_OLetter, | |
53696 | HB_Sentence_Numeric, | |
53697 | HB_Sentence_ATerm, | |
53698 | HB_Sentence_STerm, | |
53699 | HB_Sentence_Close | |
53700 | } HB_SentenceClass; | |
53701 | ||
53702 | HB_GraphemeClass HB_GetGraphemeClass(HB_UChar32 ch); | |
53703 | HB_WordClass HB_GetWordClass(HB_UChar32 ch); | |
53704 | HB_SentenceClass HB_GetSentenceClass(HB_UChar32 ch); | |
53705 | HB_LineBreakClass HB_GetLineBreakClass(HB_UChar32 ch); | |
53706 | ||
53707 | void HB_GetGraphemeAndLineBreakClass(HB_UChar32 ch, HB_GraphemeClass *grapheme, HB_LineBreakClass *lineBreak); | |
53708 | void HB_GetUnicodeCharProperties(HB_UChar32 ch, HB_CharCategory *category, int *combiningClass); | |
53709 | HB_CharCategory HB_GetUnicodeCharCategory(HB_UChar32 ch); | |
53710 | int HB_GetUnicodeCharCombiningClass(HB_UChar32 ch); | |
53711 | HB_UChar16 HB_GetMirroredChar(HB_UChar16 ch); | |
53712 | ||
53713 | void *HB_Library_Resolve(const char *library, const char *symbol); | |
53714 | ||
53715 | void *HB_TextCodecForMib(int mib); | |
53716 | char *HB_TextCodec_ConvertFromUnicode(void *codec, const HB_UChar16 *unicode, hb_uint32 length, hb_uint32 *outputLength); | |
53717 | void HB_TextCodec_FreeResult(char *); | |
53718 | ||
53719 | } | |
53720 | # 33 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" 2 | |
53721 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-stream-private.h" 1 | |
53722 | # 27 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-stream-private.h" | |
53723 | #define HARFBUZZ_STREAM_PRIVATE_H | |
53724 | ||
53725 | # 1 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-impl.h" 1 | |
53726 | # 27 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-impl.h" | |
53727 | #define HARFBUZZ_IMPL_H | |
53728 | ||
53729 | ||
53730 | ||
53731 | ||
53732 | ||
53733 | extern "C" { | |
53734 | ||
53735 | ||
53736 | #define HB_INTERNAL | |
53737 | # 52 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-impl.h" | |
53738 | #define TTAG_GDEF HB_MAKE_TAG( 'G', 'D', 'E', 'F' ) | |
53739 | ||
53740 | ||
53741 | #define TTAG_GPOS HB_MAKE_TAG( 'G', 'P', 'O', 'S' ) | |
53742 | ||
53743 | ||
53744 | #define TTAG_GSUB HB_MAKE_TAG( 'G', 'S', 'U', 'B' ) | |
53745 | ||
53746 | ||
53747 | ||
53748 | #define HB_UNUSED(arg) ((arg) = (arg)) | |
53749 | ||
53750 | ||
53751 | #define HB_LIKELY(cond) (cond) | |
53752 | #define HB_UNLIKELY(cond) (cond) | |
53753 | ||
53754 | #define ARRAY_LEN(Array) ((int)(sizeof (Array) / sizeof (Array)[0])) | |
53755 | ||
53756 | ||
53757 | ||
53758 | #define HB_IsHighSurrogate(ucs) (((ucs) & 0xfc00) == 0xd800) | |
53759 | ||
53760 | ||
53761 | #define HB_IsLowSurrogate(ucs) (((ucs) & 0xfc00) == 0xdc00) | |
53762 | ||
53763 | ||
53764 | #define HB_SurrogateToUcs4(high,low) (((HB_UChar32)(high))<<10) + (low) - 0x35fdc00; | |
53765 | ||
53766 | ||
53767 | ||
53768 | ||
53769 | ||
53770 | ||
53771 | #define ALLOC(_ptr,_size) ( (_ptr) = _hb_alloc( _size, &error ), error != 0 ) | |
53772 | ||
53773 | ||
53774 | #define REALLOC(_ptr,_newsz) ( (_ptr) = _hb_realloc( (_ptr), (_newsz), &error ), error != 0 ) | |
53775 | ||
53776 | ||
53777 | #define FREE(_ptr) do { if ( (_ptr) ) { _hb_free( _ptr ); _ptr = NULL; } } while (0) | |
53778 | # 100 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-impl.h" | |
53779 | #define ALLOC_ARRAY(_ptr,_count,_type) ALLOC(_ptr,(_count)*sizeof(_type)) | |
53780 | ||
53781 | ||
53782 | #define REALLOC_ARRAY(_ptr,_newcnt,_type) REALLOC(_ptr,(_newcnt)*sizeof(_type)) | |
53783 | ||
53784 | ||
53785 | #define MEM_Copy(dest,source,count) memcpy( (char*)(dest), (const char*)(source), (size_t)(count) ) | |
53786 | ||
53787 | #define ERR(err) _hb_err (err) | |
53788 | ||
53789 | ||
53790 | HB_Pointer | |
53791 | _hb_alloc( size_t size, | |
53792 | HB_Error *perror_ ); | |
53793 | ||
53794 | HB_Pointer | |
53795 | _hb_realloc( HB_Pointer block, | |
53796 | size_t new_size, | |
53797 | HB_Error *perror_ ); | |
53798 | ||
53799 | void | |
53800 | _hb_free( HB_Pointer block ); | |
53801 | ||
53802 | ||
53803 | ||
53804 | HB_Error | |
53805 | _hb_err (HB_Error code); | |
53806 | ||
53807 | ||
53808 | } | |
53809 | # 30 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-stream-private.h" 2 | |
53810 | ||
53811 | ||
53812 | extern "C" { | |
53813 | ||
53814 | void | |
53815 | _hb_close_stream( HB_Stream stream ); | |
53816 | ||
53817 | HB_Int | |
53818 | _hb_stream_pos( HB_Stream stream ); | |
53819 | ||
53820 | HB_Error | |
53821 | _hb_stream_seek( HB_Stream stream, | |
53822 | HB_UInt pos ); | |
53823 | ||
53824 | HB_Error | |
53825 | _hb_stream_frame_enter( HB_Stream stream, | |
53826 | HB_UInt size ); | |
53827 | ||
53828 | void | |
53829 | _hb_stream_frame_exit( HB_Stream stream ); | |
53830 | ||
53831 | ||
53832 | ||
53833 | #define SET_ERR(c) ( (error = (c)) != 0 ) | |
53834 | ||
53835 | #define GOTO_Table(tag) (0) | |
53836 | #define FILE_Pos() _hb_stream_pos( stream ) | |
53837 | #define FILE_Seek(pos) SET_ERR( _hb_stream_seek( stream, pos ) ) | |
53838 | #define ACCESS_Frame(size) SET_ERR( _hb_stream_frame_enter( stream, size ) ) | |
53839 | #define FORGET_Frame() _hb_stream_frame_exit( stream ) | |
53840 | ||
53841 | #define GET_Byte() (*stream->cursor++) | |
53842 | #define GET_Short() (stream->cursor += 2, (HB_Short)( (*(((HB_Byte*)stream->cursor)-2) << 8) | *(((HB_Byte*)stream->cursor)-1) )) | |
53843 | ||
53844 | ||
53845 | ||
53846 | #define GET_Long() (stream->cursor += 4, (HB_Int)( (*(((HB_Byte*)stream->cursor)-4) << 24) | (*(((HB_Byte*)stream->cursor)-3) << 16) | (*(((HB_Byte*)stream->cursor)-2) << 8) | *(((HB_Byte*)stream->cursor)-1) )) | |
53847 | ||
53848 | ||
53849 | ||
53850 | ||
53851 | ||
53852 | ||
53853 | ||
53854 | #define GET_Char() ((HB_Char)GET_Byte()) | |
53855 | #define GET_UShort() ((HB_UShort)GET_Short()) | |
53856 | #define GET_ULong() ((HB_UInt)GET_Long()) | |
53857 | #define GET_Tag4() GET_ULong() | |
53858 | ||
53859 | } | |
53860 | # 34 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" 2 | |
53861 | ||
53862 | extern "C" { | |
53863 | ||
53864 | typedef enum { | |
53865 | HB_Script_Common, | |
53866 | HB_Script_Greek, | |
53867 | HB_Script_Cyrillic, | |
53868 | HB_Script_Armenian, | |
53869 | HB_Script_Hebrew, | |
53870 | HB_Script_Arabic, | |
53871 | HB_Script_Syriac, | |
53872 | HB_Script_Thaana, | |
53873 | HB_Script_Devanagari, | |
53874 | HB_Script_Bengali, | |
53875 | HB_Script_Gurmukhi, | |
53876 | HB_Script_Gujarati, | |
53877 | HB_Script_Oriya, | |
53878 | HB_Script_Tamil, | |
53879 | HB_Script_Telugu, | |
53880 | HB_Script_Kannada, | |
53881 | HB_Script_Malayalam, | |
53882 | HB_Script_Sinhala, | |
53883 | HB_Script_Thai, | |
53884 | HB_Script_Lao, | |
53885 | HB_Script_Tibetan, | |
53886 | HB_Script_Myanmar, | |
53887 | HB_Script_Georgian, | |
53888 | HB_Script_Hangul, | |
53889 | HB_Script_Ogham, | |
53890 | HB_Script_Runic, | |
53891 | HB_Script_Khmer, | |
53892 | HB_Script_Inherited, | |
53893 | HB_ScriptCount = HB_Script_Inherited | |
53894 | # 107 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h" | |
53895 | } HB_Script; | |
53896 | ||
53897 | typedef struct | |
53898 | { | |
53899 | hb_uint32 pos; | |
53900 | hb_uint32 length; | |
53901 | HB_Script script; | |
53902 | hb_uint8 bidiLevel; | |
53903 | } HB_ScriptItem; | |
53904 | ||
53905 | typedef enum { | |
53906 | HB_NoBreak, | |
53907 | HB_SoftHyphen, | |
53908 | HB_Break, | |
53909 | HB_ForcedBreak | |
53910 | } HB_LineBreakType; | |
53911 | ||
53912 | ||
53913 | typedef struct { | |
53914 | unsigned lineBreakType :2; | |
53915 | unsigned whiteSpace :1; | |
53916 | unsigned charStop :1; | |
53917 | unsigned wordBoundary :1; | |
53918 | unsigned sentenceBoundary :1; | |
53919 | unsigned unused :2; | |
53920 | } HB_CharAttributes; | |
53921 | ||
53922 | void HB_GetCharAttributes(const HB_UChar16 *string, hb_uint32 stringLength, | |
53923 | const HB_ScriptItem *items, hb_uint32 numItems, | |
53924 | HB_CharAttributes *attributes); | |
53925 | ||
53926 | ||
53927 | void HB_GetWordBoundaries(const HB_UChar16 *string, hb_uint32 stringLength, | |
53928 | const HB_ScriptItem *items, hb_uint32 numItems, | |
53929 | HB_CharAttributes *attributes); | |
53930 | ||
53931 | ||
53932 | void HB_GetSentenceBoundaries(const HB_UChar16 *string, hb_uint32 stringLength, | |
53933 | const HB_ScriptItem *items, hb_uint32 numItems, | |
53934 | HB_CharAttributes *attributes); | |
53935 | ||
53936 | ||
53937 | typedef enum { | |
53938 | HB_LeftToRight = 0, | |
53939 | HB_RightToLeft = 1 | |
53940 | } HB_StringToGlyphsFlags; | |
53941 | ||
53942 | typedef enum { | |
53943 | HB_ShaperFlag_Default = 0, | |
53944 | HB_ShaperFlag_NoKerning = 1, | |
53945 | HB_ShaperFlag_UseDesignMetrics = 2 | |
53946 | } HB_ShaperFlag; | |
53947 | ||
53948 | ||
53949 | ||
53950 | ||
53951 | ||
53952 | ||
53953 | ||
53954 | typedef enum { | |
53955 | HB_NoJustification= 0, | |
53956 | HB_Arabic_Space = 1, | |
53957 | HB_Character = 2, | |
53958 | HB_Space = 4, | |
53959 | HB_Arabic_Normal = 7, | |
53960 | HB_Arabic_Waw = 8, | |
53961 | HB_Arabic_BaRa = 9, | |
53962 | HB_Arabic_Alef = 10, | |
53963 | HB_Arabic_HaaDal = 11, | |
53964 | HB_Arabic_Seen = 12, | |
53965 | HB_Arabic_Kashida = 13 | |
53966 | } HB_JustificationClass; | |
53967 | ||
53968 | ||
53969 | ||
53970 | ||
53971 | typedef struct { | |
53972 | unsigned justification :4; | |
53973 | unsigned clusterStart :1; | |
53974 | unsigned mark :1; | |
53975 | unsigned zeroWidth :1; | |
53976 | unsigned dontPrint :1; | |
53977 | unsigned combiningClass :8; | |
53978 | } HB_GlyphAttributes; | |
53979 | ||
53980 | typedef struct HB_FaceRec_ { | |
53981 | HB_Bool isSymbolFont; | |
53982 | ||
53983 | HB_GDEF gdef; | |
53984 | HB_GSUB gsub; | |
53985 | HB_GPOS gpos; | |
53986 | HB_Bool supported_scripts[HB_ScriptCount]; | |
53987 | HB_Buffer buffer; | |
53988 | HB_Script current_script; | |
53989 | int current_flags; | |
53990 | HB_Bool has_opentype_kerning; | |
53991 | HB_Bool glyphs_substituted; | |
53992 | HB_GlyphAttributes *tmpAttributes; | |
53993 | unsigned int *tmpLogClusters; | |
53994 | int length; | |
53995 | int orig_nglyphs; | |
53996 | } HB_FaceRec; | |
53997 | ||
53998 | typedef HB_Error (*HB_GetFontTableFunc)(void *font, HB_Tag tag, HB_Byte *buffer, HB_UInt *length); | |
53999 | ||
54000 | HB_Face HB_NewFace(void *font, HB_GetFontTableFunc tableFunc); | |
54001 | void HB_FreeFace(HB_Face face); | |
54002 | ||
54003 | typedef struct { | |
54004 | HB_Fixed x, y; | |
54005 | HB_Fixed width, height; | |
54006 | HB_Fixed xOffset, yOffset; | |
54007 | } HB_GlyphMetrics; | |
54008 | ||
54009 | typedef enum { | |
54010 | HB_FontAscent | |
54011 | } HB_FontMetric; | |
54012 | ||
54013 | typedef struct { | |
54014 | HB_Bool (*convertStringToGlyphIndices)(HB_Font font, const HB_UChar16 *string, hb_uint32 length, HB_Glyph *glyphs, hb_uint32 *numGlyphs, HB_Bool rightToLeft); | |
54015 | void (*getGlyphAdvances)(HB_Font font, const HB_Glyph *glyphs, hb_uint32 numGlyphs, HB_Fixed *advances, int flags ); | |
54016 | HB_Bool (*canRender)(HB_Font font, const HB_UChar16 *string, hb_uint32 length); | |
54017 | ||
54018 | HB_Error (*getPointInOutline)(HB_Font font, HB_Glyph glyph, int flags , hb_uint32 point, HB_Fixed *xpos, HB_Fixed *ypos, hb_uint32 *nPoints); | |
54019 | void (*getGlyphMetrics)(HB_Font font, HB_Glyph glyph, HB_GlyphMetrics *metrics); | |
54020 | HB_Fixed (*getFontMetric)(HB_Font font, HB_FontMetric metric); | |
54021 | } HB_FontClass; | |
54022 | ||
54023 | typedef struct HB_Font_ { | |
54024 | const HB_FontClass *klass; | |
54025 | ||
54026 | ||
54027 | HB_UShort x_ppem, y_ppem; | |
54028 | HB_16Dot16 x_scale, y_scale; | |
54029 | ||
54030 | void *userData; | |
54031 | } HB_FontRec; | |
54032 | ||
54033 | typedef struct { | |
54034 | const HB_UChar16 *string; | |
54035 | hb_uint32 stringLength; | |
54036 | HB_ScriptItem item; | |
54037 | HB_Font font; | |
54038 | HB_Face face; | |
54039 | int shaperFlags; | |
54040 | ||
54041 | HB_Bool glyphIndicesPresent; | |
54042 | hb_uint32 initialGlyphCount; | |
54043 | ||
54044 | hb_uint32 num_glyphs; | |
54045 | HB_Glyph *glyphs; | |
54046 | HB_GlyphAttributes *attributes; | |
54047 | HB_Fixed *advances; | |
54048 | HB_FixedPoint *offsets; | |
54049 | unsigned short *log_clusters; | |
54050 | ||
54051 | ||
54052 | HB_Bool kerning_applied; | |
54053 | } HB_ShaperItem; | |
54054 | ||
54055 | HB_Bool HB_ShapeItem(HB_ShaperItem *item); | |
54056 | ||
54057 | } | |
54058 | # 57 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qharfbuzz_p.h" 2 | |
54059 | # 1 "../../include/QtCore/qglobal.h" 1 | |
54060 | # 58 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/tools/qharfbuzz_p.h" 2 | |
54061 | ||
54062 | ||
54063 | ||
54064 | ||
54065 | __attribute__((visibility("default"))) void qGetCharAttributes(const HB_UChar16 *string, hb_uint32 stringLength, | |
54066 | const HB_ScriptItem *items, hb_uint32 numItems, | |
54067 | HB_CharAttributes *attributes); | |
54068 | ||
54069 | __attribute__((visibility("default"))) HB_Bool qShapeItem(HB_ShaperItem *item); | |
54070 | ||
54071 | ||
54072 | __attribute__((visibility("default"))) HB_Face qHBNewFace(void *font, HB_GetFontTableFunc tableFunc); | |
54073 | __attribute__((visibility("default"))) void qHBFreeFace(HB_Face); | |
54074 | ||
54075 | template <> class QTypeInfo<HB_GlyphAttributes> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(HB_GlyphAttributes)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "HB_GlyphAttributes"; } }; | |
54076 | template <> class QTypeInfo<HB_FixedPoint> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(HB_FixedPoint)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "HB_FixedPoint"; } }; | |
54077 | ||
54078 | ||
54079 | # 1 "../../include/QtCore/private/qharfbuzz_p.h" 2 | |
54080 | # 73 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
54081 | # 1 "../../include/QtGui/private/qfixed_p.h" 1 | |
54082 | # 74 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" 2 | |
54083 | ||
54084 | ||
54085 | ||
54086 | ||
54087 | ||
54088 | class QFontPrivate; | |
54089 | class QFontEngine; | |
54090 | ||
54091 | class QString; | |
54092 | class QPainter; | |
54093 | ||
54094 | class QAbstractTextDocumentLayout; | |
54095 | ||
54096 | ||
54097 | ||
54098 | ||
54099 | ||
54100 | ||
54101 | ||
54102 | struct glyph_metrics_t | |
54103 | { | |
54104 | inline glyph_metrics_t() | |
54105 | : x(100000), y(100000) {} | |
54106 | inline glyph_metrics_t(QFixed _x, QFixed _y, QFixed _width, QFixed _height, QFixed _xoff, QFixed _yoff) | |
54107 | : x(_x), | |
54108 | y(_y), | |
54109 | width(_width), | |
54110 | height(_height), | |
54111 | xoff(_xoff), | |
54112 | yoff(_yoff) | |
54113 | {} | |
54114 | QFixed x; | |
54115 | QFixed y; | |
54116 | QFixed width; | |
54117 | QFixed height; | |
54118 | QFixed xoff; | |
54119 | QFixed yoff; | |
54120 | ||
54121 | glyph_metrics_t transformed(const QTransform &xform) const; | |
54122 | }; | |
54123 | template <> class QTypeInfo<glyph_metrics_t> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(glyph_metrics_t)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "glyph_metrics_t"; } }; | |
54124 | ||
54125 | struct QScriptAnalysis | |
54126 | { | |
54127 | enum Flags { | |
54128 | None = 0, | |
54129 | Lowercase = 1, | |
54130 | Uppercase = 2, | |
54131 | SmallCaps = 3, | |
54132 | LineOrParagraphSeparator = 4, | |
54133 | Space = 5, | |
54134 | SpaceTabOrObject = Space, | |
54135 | Tab = 6, | |
54136 | TabOrObject = Tab, | |
54137 | Object = 7 | |
54138 | }; | |
54139 | unsigned short script : 8; | |
54140 | unsigned short bidiLevel : 6; | |
54141 | unsigned short flags : 3; | |
54142 | inline bool operator == (const QScriptAnalysis &other) const { | |
54143 | return script == other.script && bidiLevel == other.bidiLevel && flags == other.flags; | |
54144 | } | |
54145 | }; | |
54146 | template <> class QTypeInfo<QScriptAnalysis> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QScriptAnalysis)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QScriptAnalysis"; } }; | |
54147 | ||
54148 | struct QGlyphJustification | |
54149 | { | |
54150 | inline QGlyphJustification() | |
54151 | : type(0), nKashidas(0), space_18d6(0) | |
54152 | {} | |
54153 | ||
54154 | enum JustificationType { | |
54155 | JustifyNone, | |
54156 | JustifySpace, | |
54157 | JustifyKashida | |
54158 | }; | |
54159 | ||
54160 | uint type :2; | |
54161 | uint nKashidas : 6; | |
54162 | uint space_18d6 : 24; | |
54163 | }; | |
54164 | template <> class QTypeInfo<QGlyphJustification> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QGlyphJustification)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QGlyphJustification"; } }; | |
54165 | ||
54166 | struct QGlyphLayoutInstance | |
54167 | { | |
54168 | QFixedPoint offset; | |
54169 | QFixedPoint advance; | |
54170 | HB_Glyph glyph; | |
54171 | QGlyphJustification justification; | |
54172 | HB_GlyphAttributes attributes; | |
54173 | }; | |
54174 | ||
54175 | struct QGlyphLayout | |
54176 | { | |
54177 | ||
54178 | QFixedPoint *offsets; | |
54179 | HB_Glyph *glyphs; | |
54180 | QFixed *advances_x; | |
54181 | QFixed *advances_y; | |
54182 | QGlyphJustification *justifications; | |
54183 | HB_GlyphAttributes *attributes; | |
54184 | ||
54185 | int numGlyphs; | |
54186 | ||
54187 | inline QGlyphLayout() : numGlyphs(0) {} | |
54188 | ||
54189 | inline explicit QGlyphLayout(char *address, int totalGlyphs) | |
54190 | { | |
54191 | offsets = reinterpret_cast<QFixedPoint *>(address); | |
54192 | int offset = totalGlyphs * sizeof(HB_FixedPoint); | |
54193 | glyphs = reinterpret_cast<HB_Glyph *>(address + offset); | |
54194 | offset += totalGlyphs * sizeof(HB_Glyph); | |
54195 | advances_x = reinterpret_cast<QFixed *>(address + offset); | |
54196 | offset += totalGlyphs * sizeof(QFixed); | |
54197 | advances_y = reinterpret_cast<QFixed *>(address + offset); | |
54198 | offset += totalGlyphs * sizeof(QFixed); | |
54199 | justifications = reinterpret_cast<QGlyphJustification *>(address + offset); | |
54200 | offset += totalGlyphs * sizeof(QGlyphJustification); | |
54201 | attributes = reinterpret_cast<HB_GlyphAttributes *>(address + offset); | |
54202 | numGlyphs = totalGlyphs; | |
54203 | } | |
54204 | ||
54205 | inline QGlyphLayout mid(int position, int n = -1) const { | |
54206 | QGlyphLayout copy = *this; | |
54207 | copy.glyphs += position; | |
54208 | copy.advances_x += position; | |
54209 | copy.advances_y += position; | |
54210 | copy.offsets += position; | |
54211 | copy.justifications += position; | |
54212 | copy.attributes += position; | |
54213 | if (n == -1) | |
54214 | copy.numGlyphs -= position; | |
54215 | else | |
54216 | copy.numGlyphs = n; | |
54217 | return copy; | |
54218 | } | |
54219 | ||
54220 | static inline int spaceNeededForGlyphLayout(int totalGlyphs) { | |
54221 | return totalGlyphs * (sizeof(HB_Glyph) + sizeof(HB_GlyphAttributes) | |
54222 | + sizeof(QFixed) + sizeof(QFixed) + sizeof(QFixedPoint) | |
54223 | + sizeof(QGlyphJustification)); | |
54224 | } | |
54225 | ||
54226 | inline QFixed effectiveAdvance(int item) const | |
54227 | { return (advances_x[item] + QFixed::fromFixed(justifications[item].space_18d6)) * !attributes[item].dontPrint; } | |
54228 | ||
54229 | inline QGlyphLayoutInstance instance(int position) const { | |
54230 | QGlyphLayoutInstance g; | |
54231 | g.offset.x = offsets[position].x; | |
54232 | g.offset.y = offsets[position].y; | |
54233 | g.glyph = glyphs[position]; | |
54234 | g.advance.x = advances_x[position]; | |
54235 | g.advance.y = advances_y[position]; | |
54236 | g.justification = justifications[position]; | |
54237 | g.attributes = attributes[position]; | |
54238 | return g; | |
54239 | } | |
54240 | ||
54241 | inline void setInstance(int position, const QGlyphLayoutInstance &g) { | |
54242 | offsets[position].x = g.offset.x; | |
54243 | offsets[position].y = g.offset.y; | |
54244 | glyphs[position] = g.glyph; | |
54245 | advances_x[position] = g.advance.x; | |
54246 | advances_y[position] = g.advance.y; | |
54247 | justifications[position] = g.justification; | |
54248 | attributes[position] = g.attributes; | |
54249 | } | |
54250 | ||
54251 | inline void clear(int first = 0, int last = -1) { | |
54252 | if (last == -1) | |
54253 | last = numGlyphs; | |
54254 | if (first == 0 && last == numGlyphs | |
54255 | && reinterpret_cast<char *>(offsets + numGlyphs) == reinterpret_cast<char *>(glyphs)) { | |
54256 | memset(offsets, 0, spaceNeededForGlyphLayout(numGlyphs)); | |
54257 | } else { | |
54258 | const int num = last - first; | |
54259 | memset(offsets + first, 0, num * sizeof(QFixedPoint)); | |
54260 | memset(glyphs + first, 0, num * sizeof(HB_Glyph)); | |
54261 | memset(advances_x + first, 0, num * sizeof(QFixed)); | |
54262 | memset(advances_y + first, 0, num * sizeof(QFixed)); | |
54263 | memset(justifications + first, 0, num * sizeof(QGlyphJustification)); | |
54264 | memset(attributes + first, 0, num * sizeof(HB_GlyphAttributes)); | |
54265 | } | |
54266 | } | |
54267 | ||
54268 | inline char *data() { | |
54269 | return reinterpret_cast<char *>(offsets); | |
54270 | } | |
54271 | ||
54272 | void grow(char *address, int totalGlyphs); | |
54273 | }; | |
54274 | ||
54275 | class QVarLengthGlyphLayoutArray : private QVarLengthArray<void *>, public QGlyphLayout | |
54276 | { | |
54277 | private: | |
54278 | typedef QVarLengthArray<void *> Array; | |
54279 | public: | |
54280 | QVarLengthGlyphLayoutArray(int totalGlyphs) | |
54281 | : Array(spaceNeededForGlyphLayout(totalGlyphs) / sizeof(void *) + 1) | |
54282 | , QGlyphLayout(reinterpret_cast<char *>(Array::data()), totalGlyphs) | |
54283 | { | |
54284 | memset(Array::data(), 0, Array::size() * sizeof(void *)); | |
54285 | } | |
54286 | ||
54287 | void resize(int totalGlyphs) | |
54288 | { | |
54289 | Array::resize(spaceNeededForGlyphLayout(totalGlyphs) / sizeof(void *) + 1); | |
54290 | ||
54291 | *((QGlyphLayout *)this) = QGlyphLayout(reinterpret_cast<char *>(Array::data()), totalGlyphs); | |
54292 | memset(Array::data(), 0, Array::size() * sizeof(void *)); | |
54293 | } | |
54294 | }; | |
54295 | ||
54296 | template <int N> struct QGlyphLayoutArray : public QGlyphLayout | |
54297 | { | |
54298 | public: | |
54299 | QGlyphLayoutArray() | |
54300 | : QGlyphLayout(reinterpret_cast<char *>(buffer), N) | |
54301 | { | |
54302 | memset(buffer, 0, sizeof(buffer)); | |
54303 | } | |
54304 | ||
54305 | private: | |
54306 | void *buffer[(N * (sizeof(HB_Glyph) + sizeof(HB_GlyphAttributes) | |
54307 | + sizeof(QFixed) + sizeof(QFixed) + sizeof(QFixedPoint) | |
54308 | + sizeof(QGlyphJustification))) | |
54309 | / sizeof(void *) + 1]; | |
54310 | }; | |
54311 | ||
54312 | struct QScriptItem; | |
54313 | ||
54314 | class QTextItemInt : public QTextItem | |
54315 | { | |
54316 | public: | |
54317 | inline QTextItemInt() | |
54318 | : justified(false), underlineStyle(QTextCharFormat::NoUnderline), num_chars(0), chars(0), | |
54319 | logClusters(0), f(0), fontEngine(0) | |
54320 | {} | |
54321 | QTextItemInt(const QScriptItem &si, QFont *font, const QTextCharFormat &format = QTextCharFormat()); | |
54322 | ||
54323 | ||
54324 | ||
54325 | QTextItemInt midItem(QFontEngine *fontEngine, int firstGlyphIndex, int numGlyphs) const; | |
54326 | ||
54327 | QFixed descent; | |
54328 | QFixed ascent; | |
54329 | QFixed width; | |
54330 | ||
54331 | RenderFlags flags; | |
54332 | bool justified; | |
54333 | QTextCharFormat::UnderlineStyle underlineStyle; | |
54334 | const QTextCharFormat charFormat; | |
54335 | int num_chars; | |
54336 | const QChar *chars; | |
54337 | const unsigned short *logClusters; | |
54338 | const QFont *f; | |
54339 | ||
54340 | QGlyphLayout glyphs; | |
54341 | QFontEngine *fontEngine; | |
54342 | }; | |
54343 | ||
54344 | inline bool qIsControlChar(ushort uc) | |
54345 | { | |
54346 | return uc >= 0x200b && uc <= 0x206f | |
54347 | && (uc <= 0x200f | |
54348 | || (uc >= 0x2028 && uc <= 0x202f ) | |
54349 | || uc >= 0x206a ); | |
54350 | } | |
54351 | ||
54352 | struct QScriptItem | |
54353 | { | |
54354 | inline QScriptItem() | |
54355 | : position(0), | |
54356 | num_glyphs(0), descent(-1), ascent(-1), width(-1), | |
54357 | glyph_data_offset(0) {} | |
54358 | inline QScriptItem(int p, const QScriptAnalysis &a) | |
54359 | : position(p), analysis(a), | |
54360 | num_glyphs(0), descent(-1), ascent(-1), width(-1), | |
54361 | glyph_data_offset(0) {} | |
54362 | ||
54363 | int position; | |
54364 | QScriptAnalysis analysis; | |
54365 | unsigned short num_glyphs; | |
54366 | QFixed descent; | |
54367 | QFixed ascent; | |
54368 | QFixed width; | |
54369 | int glyph_data_offset; | |
54370 | QFixed height() const { return ascent + descent + 1; } | |
54371 | }; | |
54372 | ||
54373 | ||
54374 | template <> class QTypeInfo<QScriptItem> { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QScriptItem)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QScriptItem"; } }; | |
54375 | ||
54376 | typedef QVector<QScriptItem> QScriptItemArray; | |
54377 | ||
54378 | struct QScriptLine | |
54379 | { | |
54380 | ||
54381 | QScriptLine() | |
54382 | : from(0), length(0), | |
54383 | justified(0), gridfitted(0), | |
54384 | hasTrailingSpaces(0) {} | |
54385 | QFixed descent; | |
54386 | QFixed ascent; | |
54387 | QFixed x; | |
54388 | QFixed y; | |
54389 | QFixed width; | |
54390 | QFixed textWidth; | |
54391 | int from; | |
54392 | signed int length : 29; | |
54393 | mutable uint justified : 1; | |
54394 | mutable uint gridfitted : 1; | |
54395 | uint hasTrailingSpaces : 1; | |
54396 | QFixed height() const { return ascent + descent + 1; } | |
54397 | void setDefaultHeight(QTextEngine *eng); | |
54398 | void operator+=(const QScriptLine &other); | |
54399 | }; | |
54400 | template <> class QTypeInfo<QScriptLine> { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QScriptLine)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QScriptLine"; } }; | |
54401 | ||
54402 | ||
54403 | inline void QScriptLine::operator+=(const QScriptLine &other) | |
54404 | { | |
54405 | descent = qMax(descent, other.descent); | |
54406 | ascent = qMax(ascent, other.ascent); | |
54407 | textWidth += other.textWidth; | |
54408 | length += other.length; | |
54409 | } | |
54410 | ||
54411 | typedef QVector<QScriptLine> QScriptLineArray; | |
54412 | ||
54413 | class QFontPrivate; | |
54414 | class QTextFormatCollection; | |
54415 | ||
54416 | class __attribute__((visibility("default"))) QTextEngine { | |
54417 | public: | |
54418 | struct LayoutData { | |
54419 | LayoutData(const QString &str, void **stack_memory, int mem_size); | |
54420 | LayoutData(); | |
54421 | ~LayoutData(); | |
54422 | mutable QScriptItemArray items; | |
54423 | int allocated; | |
54424 | int available_glyphs; | |
54425 | void **memory; | |
54426 | unsigned short *logClustersPtr; | |
54427 | QGlyphLayout glyphLayout; | |
54428 | mutable int used; | |
54429 | uint hasBidi : 1; | |
54430 | uint inLayout : 1; | |
54431 | uint memory_on_stack : 1; | |
54432 | bool haveCharAttributes; | |
54433 | QString string; | |
54434 | void reallocate(int totalGlyphs); | |
54435 | }; | |
54436 | ||
54437 | QTextEngine(LayoutData *data); | |
54438 | QTextEngine(); | |
54439 | QTextEngine(const QString &str, const QFont &f); | |
54440 | ~QTextEngine(); | |
54441 | ||
54442 | enum Mode { | |
54443 | WidthOnly = 0x07 | |
54444 | }; | |
54445 | ||
54446 | ||
54447 | enum ShaperFlag { | |
54448 | RightToLeft = 0x0001, | |
54449 | DesignMetrics = 0x0002, | |
54450 | GlyphIndicesOnly = 0x0004 | |
54451 | }; | |
54452 | typedef QFlags<ShaperFlag> ShaperFlags; | |
54453 | ||
54454 | void invalidate(); | |
54455 | void clearLineData(); | |
54456 | ||
54457 | void validate() const; | |
54458 | void itemize() const; | |
54459 | ||
54460 | static void bidiReorder(int numRuns, const quint8 *levels, int *visualOrder); | |
54461 | ||
54462 | const HB_CharAttributes *attributes() const; | |
54463 | ||
54464 | void shape(int item) const; | |
54465 | ||
54466 | void justify(const QScriptLine &si); | |
54467 | ||
54468 | QFixed width(int charFrom, int numChars) const; | |
54469 | glyph_metrics_t boundingBox(int from, int len) const; | |
54470 | glyph_metrics_t tightBoundingBox(int from, int len) const; | |
54471 | ||
54472 | int length(int item) const { | |
54473 | const QScriptItem &si = layoutData->items[item]; | |
54474 | int from = si.position; | |
54475 | item++; | |
54476 | return (item < layoutData->items.size() ? layoutData->items[item].position : layoutData->string.length()) - from; | |
54477 | } | |
54478 | int length(const QScriptItem *si) const { | |
54479 | int end; | |
54480 | if (si + 1 < layoutData->items.constData()+ layoutData->items.size()) | |
54481 | end = (si+1)->position; | |
54482 | else | |
54483 | end = layoutData->string.length(); | |
54484 | return end - si->position; | |
54485 | } | |
54486 | ||
54487 | QFontEngine *fontEngine(const QScriptItem &si, QFixed *ascent = 0, QFixed *descent = 0) const; | |
54488 | QFont font(const QScriptItem &si) const; | |
54489 | inline QFont font() const { return fnt; } | |
54490 | # 490 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qtextengine_p.h" | |
54491 | inline unsigned short *logClusters(const QScriptItem *si) const | |
54492 | { return layoutData->logClustersPtr+si->position; } | |
54493 | ||
54494 | ||
54495 | ||
54496 | ||
54497 | ||
54498 | ||
54499 | ||
54500 | inline QGlyphLayout availableGlyphs(const QScriptItem *si) const { | |
54501 | return layoutData->glyphLayout.mid(si->glyph_data_offset); | |
54502 | } | |
54503 | ||
54504 | ||
54505 | ||
54506 | ||
54507 | ||
54508 | ||
54509 | inline QGlyphLayout shapedGlyphs(const QScriptItem *si) const { | |
54510 | return layoutData->glyphLayout.mid(si->glyph_data_offset, si->num_glyphs); | |
54511 | } | |
54512 | ||
54513 | inline void ensureSpace(int nGlyphs) const { | |
54514 | if (layoutData->glyphLayout.numGlyphs - layoutData->used < nGlyphs) | |
54515 | layoutData->reallocate((((layoutData->used + nGlyphs)*3/2 + 15) >> 4) << 4); | |
54516 | } | |
54517 | ||
54518 | void freeMemory(); | |
54519 | ||
54520 | int findItem(int strPos) const; | |
54521 | inline QTextFormatCollection *formats() const { | |
54522 | ||
54523 | ||
54524 | ||
54525 | return block.docHandle()->formatCollection(); | |
54526 | ||
54527 | } | |
54528 | QTextCharFormat format(const QScriptItem *si) const; | |
54529 | inline QAbstractTextDocumentLayout *docLayout() const { | |
54530 | ||
54531 | ||
54532 | ||
54533 | return block.docHandle()->document()->documentLayout(); | |
54534 | ||
54535 | } | |
54536 | int formatIndex(const QScriptItem *si) const; | |
54537 | ||
54538 | ||
54539 | QFixed calculateTabWidth(int index, QFixed x) const; | |
54540 | ||
54541 | mutable QScriptLineArray lines; | |
54542 | ||
54543 | QString text; | |
54544 | QFont fnt; | |
54545 | QTextBlock block; | |
54546 | ||
54547 | QTextOption option; | |
54548 | ||
54549 | QFixed minWidth; | |
54550 | QFixed maxWidth; | |
54551 | QPointF position; | |
54552 | uint ignoreBidi : 1; | |
54553 | uint cacheGlyphs : 1; | |
54554 | uint stackEngine : 1; | |
54555 | uint forceJustification : 1; | |
54556 | ||
54557 | int *underlinePositions; | |
54558 | ||
54559 | mutable LayoutData *layoutData; | |
54560 | ||
54561 | inline bool hasFormats() const { return (block.docHandle() || specialData); } | |
54562 | ||
54563 | struct SpecialData { | |
54564 | int preeditPosition; | |
54565 | QString preeditText; | |
54566 | QList<QTextLayout::FormatRange> addFormats; | |
54567 | QVector<int> addFormatIndices; | |
54568 | QVector<int> resolvedFormatIndices; | |
54569 | }; | |
54570 | SpecialData *specialData; | |
54571 | ||
54572 | bool atWordSeparator(int position) const; | |
54573 | bool atSpace(int position) const; | |
54574 | void indexAdditionalFormats(); | |
54575 | ||
54576 | QString elidedText(Qt::TextElideMode mode, const QFixed &width, int flags = 0) const; | |
54577 | ||
54578 | void shapeLine(const QScriptLine &line); | |
54579 | ||
54580 | private: | |
54581 | void setBoundary(int strPos) const; | |
54582 | void addRequiredBoundaries() const; | |
54583 | void shapeText(int item) const; | |
54584 | void shapeTextWithHarfbuzz(int item) const; | |
54585 | ||
54586 | ||
54587 | ||
54588 | ||
54589 | ||
54590 | ||
54591 | void splitItem(int item, int pos) const; | |
54592 | ||
54593 | void resolveAdditionalFormats() const; | |
54594 | }; | |
54595 | ||
54596 | class QStackTextEngine : public QTextEngine { | |
54597 | public: | |
54598 | enum { MemSize = 256*40/sizeof(void *) }; | |
54599 | QStackTextEngine(const QString &string, const QFont &f); | |
54600 | LayoutData _layoutData; | |
54601 | void *_memory[MemSize]; | |
54602 | }; | |
54603 | ||
54604 | ||
54605 | inline QFlags<QTextEngine::ShaperFlags::enum_type> operator|(QTextEngine::ShaperFlags::enum_type f1, QTextEngine::ShaperFlags::enum_type f2) { return QFlags<QTextEngine::ShaperFlags::enum_type>(f1) | f2; } inline QFlags<QTextEngine::ShaperFlags::enum_type> operator|(QTextEngine::ShaperFlags::enum_type f1, QFlags<QTextEngine::ShaperFlags::enum_type> f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QTextEngine::ShaperFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } | |
54606 | ||
54607 | ||
54608 | # 1 "../../include/QtGui/private/qtextengine_p.h" 2 | |
54609 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" 2 | |
54610 | # 1 "../../include/QtGui/private/qfont_p.h" 1 | |
54611 | # 61 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" 2 | |
54612 | # 73 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" | |
54613 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" 1 | |
54614 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" | |
54615 | #define QFONTENGINEGLYPHCACHE_P_H | |
54616 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" | |
54617 | # 1 "../../include/QtCore/qglobal.h" 1 | |
54618 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" 2 | |
54619 | # 1 "../../include/QtCore/qatomic.h" 1 | |
54620 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" 2 | |
54621 | # 1 "../../include/QtCore/qvarlengtharray.h" 1 | |
54622 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" 2 | |
54623 | # 1 "../../include/QtGui/private/qfont_p.h" 1 | |
54624 | # 61 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" 2 | |
54625 | # 73 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengineglyphcache_p.h" | |
54626 | ||
54627 | ||
54628 | class __attribute__((visibility("default"))) QFontEngineGlyphCache | |
54629 | { | |
54630 | public: | |
54631 | QFontEngineGlyphCache(const QTransform &matrix) : m_transform(matrix) { } | |
54632 | ||
54633 | enum Type { | |
54634 | Raster_RGBMask, | |
54635 | Raster_A8, | |
54636 | Raster_Mono | |
54637 | }; | |
54638 | ||
54639 | virtual ~QFontEngineGlyphCache(); | |
54640 | ||
54641 | QTransform m_transform; | |
54642 | }; | |
54643 | typedef QHash<void *, QList<QFontEngineGlyphCache *> > GlyphPointerHash; | |
54644 | typedef QHash<int, QList<QFontEngineGlyphCache *> > GlyphIntHash; | |
54645 | ||
54646 | ||
54647 | # 74 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" 2 | |
54648 | ||
54649 | struct glyph_metrics_t; | |
54650 | typedef unsigned int glyph_t; | |
54651 | ||
54652 | ||
54653 | ||
54654 | class QChar; | |
54655 | class QPainterPath; | |
54656 | ||
54657 | class QTextEngine; | |
54658 | struct QGlyphLayout; | |
54659 | ||
54660 | #define MAKE_TAG(ch1,ch2,ch3,ch4) ( (((quint32)(ch1)) << 24) | (((quint32)(ch2)) << 16) | (((quint32)(ch3)) << 8) | ((quint32)(ch4)) ) | |
54661 | ||
54662 | ||
54663 | ||
54664 | ||
54665 | ||
54666 | ||
54667 | ||
54668 | class __attribute__((visibility("default"))) QFontEngine : public QObject | |
54669 | { | |
54670 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
54671 | public: | |
54672 | enum Type { | |
54673 | Box, | |
54674 | Multi, | |
54675 | ||
54676 | ||
54677 | XLFD, | |
54678 | ||
54679 | ||
54680 | Win, | |
54681 | ||
54682 | ||
54683 | Mac, | |
54684 | ||
54685 | ||
54686 | Freetype, | |
54687 | QPF1, | |
54688 | QPF2, | |
54689 | Proxy, | |
54690 | TestFontEngine = 0x1000 | |
54691 | }; | |
54692 | ||
54693 | QFontEngine(); | |
54694 | virtual ~QFontEngine(); | |
54695 | ||
54696 | ||
54697 | ||
54698 | struct Properties { | |
54699 | QByteArray postscriptName; | |
54700 | QByteArray copyright; | |
54701 | QRectF boundingBox; | |
54702 | QFixed emSquare; | |
54703 | QFixed ascent; | |
54704 | QFixed descent; | |
54705 | QFixed leading; | |
54706 | QFixed italicAngle; | |
54707 | QFixed capHeight; | |
54708 | QFixed lineWidth; | |
54709 | }; | |
54710 | virtual Properties properties() const; | |
54711 | virtual void getUnscaledGlyph(glyph_t glyph, QPainterPath *path, glyph_metrics_t *metrics); | |
54712 | QByteArray getSfntTable(uint ) const; | |
54713 | virtual bool getSfntTableData(uint , uchar * , uint * ) const { return false; } | |
54714 | ||
54715 | struct FaceId { | |
54716 | FaceId() : index(0), encoding(0) {} | |
54717 | QByteArray filename; | |
54718 | int index; | |
54719 | int encoding; | |
54720 | }; | |
54721 | virtual FaceId faceId() const { return FaceId(); } | |
54722 | enum SynthesizedFlags { | |
54723 | SynthesizedItalic = 0x1, | |
54724 | SynthesizedBold = 0x2, | |
54725 | SynthesizedStretch = 0x4 | |
54726 | }; | |
54727 | virtual int synthesized() const { return 0; } | |
54728 | ||
54729 | virtual QFixed emSquareSize() const { return ascent(); } | |
54730 | ||
54731 | ||
54732 | virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const = 0; | |
54733 | ||
54734 | ||
54735 | ||
54736 | ||
54737 | ||
54738 | virtual void recalcAdvances(QGlyphLayout *, QTextEngine::ShaperFlags) const {} | |
54739 | virtual void doKerning(QGlyphLayout *, QTextEngine::ShaperFlags) const; | |
54740 | ||
54741 | ||
54742 | virtual void draw(QPaintEngine *p, qreal x, qreal y, const QTextItemInt &si) = 0; | |
54743 | ||
54744 | virtual void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int nglyphs, | |
54745 | QPainterPath *path, QTextItem::RenderFlags flags); | |
54746 | void getGlyphPositions(const QGlyphLayout &glyphs, const QTransform &matrix, QTextItem::RenderFlags flags, | |
54747 | QVarLengthArray<glyph_t> &glyphs_out, QVarLengthArray<QFixedPoint> &positions); | |
54748 | ||
54749 | virtual void addOutlineToPath(qreal, qreal, const QGlyphLayout &, QPainterPath *, QTextItem::RenderFlags flags); | |
54750 | void addBitmapFontToPath(qreal x, qreal y, const QGlyphLayout &, QPainterPath *, QTextItem::RenderFlags); | |
54751 | ||
54752 | ||
54753 | ||
54754 | ||
54755 | virtual QImage alphaMapForGlyph(glyph_t) = 0; | |
54756 | virtual QImage alphaMapForGlyph(glyph_t, const QTransform &t); | |
54757 | virtual QImage alphaRGBMapForGlyph(glyph_t, int margin, const QTransform &t); | |
54758 | ||
54759 | virtual void removeGlyphFromCache(glyph_t); | |
54760 | ||
54761 | virtual glyph_metrics_t boundingBox(const QGlyphLayout &glyphs) = 0; | |
54762 | virtual glyph_metrics_t boundingBox(glyph_t glyph) = 0; | |
54763 | virtual glyph_metrics_t boundingBox(glyph_t glyph, const QTransform &matrix); | |
54764 | glyph_metrics_t tightBoundingBox(const QGlyphLayout &glyphs); | |
54765 | ||
54766 | virtual QFixed ascent() const = 0; | |
54767 | virtual QFixed descent() const = 0; | |
54768 | virtual QFixed leading() const = 0; | |
54769 | virtual QFixed xHeight() const; | |
54770 | virtual QFixed averageCharWidth() const; | |
54771 | ||
54772 | virtual QFixed lineThickness() const; | |
54773 | virtual QFixed underlinePosition() const; | |
54774 | ||
54775 | virtual qreal maxCharWidth() const = 0; | |
54776 | virtual qreal minLeftBearing() const { return qreal(); } | |
54777 | virtual qreal minRightBearing() const { return qreal(); } | |
54778 | ||
54779 | virtual const char *name() const = 0; | |
54780 | ||
54781 | virtual bool canRender(const QChar *string, int len) = 0; | |
54782 | ||
54783 | virtual Type type() const = 0; | |
54784 | ||
54785 | virtual int glyphCount() const; | |
54786 | ||
54787 | HB_Font harfbuzzFont() const; | |
54788 | HB_Face harfbuzzFace() const; | |
54789 | ||
54790 | virtual HB_Error getPointInOutline(HB_Glyph glyph, int flags, hb_uint32 point, HB_Fixed *xpos, HB_Fixed *ypos, hb_uint32 *nPoints); | |
54791 | ||
54792 | void setGlyphCache(void *key, QFontEngineGlyphCache *data); | |
54793 | void setGlyphCache(QFontEngineGlyphCache::Type key, QFontEngineGlyphCache *data); | |
54794 | QFontEngineGlyphCache *glyphCache(void *key, const QTransform &transform) const; | |
54795 | QFontEngineGlyphCache *glyphCache(QFontEngineGlyphCache::Type key, const QTransform &transform) const; | |
54796 | ||
54797 | static const uchar *getCMap(const uchar *table, uint tableSize, bool *isSymbolFont, int *cmapSize); | |
54798 | static quint32 getTrueTypeGlyphIndex(const uchar *cmap, uint unicode); | |
54799 | ||
54800 | QAtomicInt ref; | |
54801 | QFontDef fontDef; | |
54802 | uint cache_cost; | |
54803 | int cache_count; | |
54804 | uint fsType : 16; | |
54805 | bool symbol; | |
54806 | mutable HB_FontRec hbFont; | |
54807 | mutable HB_Face hbFace; | |
54808 | ||
54809 | struct KernPair { | |
54810 | uint left_right; | |
54811 | QFixed adjust; | |
54812 | ||
54813 | inline bool operator<(const KernPair &other) const | |
54814 | { | |
54815 | return left_right < other.left_right; | |
54816 | } | |
54817 | }; | |
54818 | QVector<KernPair> kerning_pairs; | |
54819 | void loadKerningPairs(QFixed scalingFactor); | |
54820 | ||
54821 | ||
54822 | int glyphFormat; | |
54823 | ||
54824 | private: | |
54825 | ||
54826 | void expireGlyphCache(); | |
54827 | ||
54828 | GlyphPointerHash m_glyphPointerHash; | |
54829 | GlyphIntHash m_glyphIntHash; | |
54830 | mutable QList<QFontEngineGlyphCache*> m_glyphCacheQueue; | |
54831 | }; | |
54832 | ||
54833 | inline bool operator ==(const QFontEngine::FaceId &f1, const QFontEngine::FaceId &f2) | |
54834 | { | |
54835 | return (f1.index == f2.index) && (f1.encoding == f2.encoding) && (f1.filename == f2.filename); | |
54836 | } | |
54837 | ||
54838 | inline uint qHash(const QFontEngine::FaceId &f) | |
54839 | { | |
54840 | return qHash((f.index << 16) + f.encoding) + qHash(f.filename); | |
54841 | } | |
54842 | ||
54843 | ||
54844 | class QGlyph; | |
54845 | ||
54846 | ||
54847 | ||
54848 | ||
54849 | ||
54850 | class QFontEngineQPF1Data; | |
54851 | ||
54852 | class QFontEngineQPF1 : public QFontEngine | |
54853 | { | |
54854 | public: | |
54855 | QFontEngineQPF1(const QFontDef&, const QString &fn); | |
54856 | ~QFontEngineQPF1(); | |
54857 | ||
54858 | virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const; | |
54859 | virtual void recalcAdvances(QGlyphLayout *, QTextEngine::ShaperFlags) const; | |
54860 | ||
54861 | virtual void draw(QPaintEngine *p, qreal x, qreal y, const QTextItemInt &si); | |
54862 | virtual void addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyphs, QPainterPath *path, QTextItem::RenderFlags flags); | |
54863 | ||
54864 | virtual glyph_metrics_t boundingBox(const QGlyphLayout &glyphs); | |
54865 | virtual glyph_metrics_t boundingBox(glyph_t glyph); | |
54866 | ||
54867 | virtual QFixed ascent() const; | |
54868 | virtual QFixed descent() const; | |
54869 | virtual QFixed leading() const; | |
54870 | virtual qreal maxCharWidth() const; | |
54871 | virtual qreal minLeftBearing() const; | |
54872 | virtual qreal minRightBearing() const; | |
54873 | virtual QFixed underlinePosition() const; | |
54874 | virtual QFixed lineThickness() const; | |
54875 | ||
54876 | virtual Type type() const; | |
54877 | ||
54878 | virtual bool canRender(const QChar *string, int len); | |
54879 | inline const char *name() const { return 0; } | |
54880 | virtual QImage alphaMapForGlyph(glyph_t); | |
54881 | ||
54882 | ||
54883 | QFontEngineQPF1Data *d; | |
54884 | }; | |
54885 | ||
54886 | ||
54887 | ||
54888 | ||
54889 | ||
54890 | class QFontEngineBox : public QFontEngine | |
54891 | { | |
54892 | public: | |
54893 | QFontEngineBox(int size); | |
54894 | ~QFontEngineBox(); | |
54895 | ||
54896 | virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const; | |
54897 | virtual void recalcAdvances(QGlyphLayout *, QTextEngine::ShaperFlags) const; | |
54898 | ||
54899 | ||
54900 | void draw(QPaintEngine *p, qreal x, qreal y, const QTextItemInt &si); | |
54901 | ||
54902 | virtual void addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyphs, QPainterPath *path, QTextItem::RenderFlags flags); | |
54903 | ||
54904 | virtual glyph_metrics_t boundingBox(const QGlyphLayout &glyphs); | |
54905 | virtual glyph_metrics_t boundingBox(glyph_t glyph); | |
54906 | ||
54907 | virtual QFixed ascent() const; | |
54908 | virtual QFixed descent() const; | |
54909 | virtual QFixed leading() const; | |
54910 | virtual qreal maxCharWidth() const; | |
54911 | virtual qreal minLeftBearing() const { return 0; } | |
54912 | virtual qreal minRightBearing() const { return 0; } | |
54913 | virtual QImage alphaMapForGlyph(glyph_t); | |
54914 | ||
54915 | ||
54916 | ||
54917 | ||
54918 | virtual const char *name() const; | |
54919 | ||
54920 | virtual bool canRender(const QChar *string, int len); | |
54921 | ||
54922 | virtual Type type() const; | |
54923 | inline int size() const { return _size; } | |
54924 | ||
54925 | private: | |
54926 | friend class QFontPrivate; | |
54927 | int _size; | |
54928 | }; | |
54929 | ||
54930 | class __attribute__((visibility("default"))) QFontEngineMulti : public QFontEngine | |
54931 | { | |
54932 | public: | |
54933 | explicit QFontEngineMulti(int engineCount); | |
54934 | ~QFontEngineMulti(); | |
54935 | ||
54936 | virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, | |
54937 | QTextEngine::ShaperFlags flags) const; | |
54938 | ||
54939 | virtual glyph_metrics_t boundingBox(const QGlyphLayout &glyphs); | |
54940 | virtual glyph_metrics_t boundingBox(glyph_t glyph); | |
54941 | ||
54942 | virtual void recalcAdvances(QGlyphLayout *, QTextEngine::ShaperFlags) const; | |
54943 | virtual void doKerning(QGlyphLayout *, QTextEngine::ShaperFlags) const; | |
54944 | virtual void addOutlineToPath(qreal, qreal, const QGlyphLayout &, QPainterPath *, QTextItem::RenderFlags flags); | |
54945 | ||
54946 | virtual QFixed ascent() const; | |
54947 | virtual QFixed descent() const; | |
54948 | virtual QFixed leading() const; | |
54949 | virtual QFixed xHeight() const; | |
54950 | virtual QFixed averageCharWidth() const; | |
54951 | virtual QImage alphaMapForGlyph(glyph_t); | |
54952 | ||
54953 | virtual QFixed lineThickness() const; | |
54954 | virtual QFixed underlinePosition() const; | |
54955 | virtual qreal maxCharWidth() const; | |
54956 | virtual qreal minLeftBearing() const; | |
54957 | virtual qreal minRightBearing() const; | |
54958 | ||
54959 | virtual inline Type type() const | |
54960 | { return QFontEngine::Multi; } | |
54961 | ||
54962 | virtual bool canRender(const QChar *string, int len); | |
54963 | inline virtual const char *name() const | |
54964 | { return "Multi"; } | |
54965 | ||
54966 | QFontEngine *engine(int at) const; | |
54967 | ||
54968 | protected: | |
54969 | friend class QPSPrintEnginePrivate; | |
54970 | friend class QPSPrintEngineFontMulti; | |
54971 | virtual void loadEngine(int at) = 0; | |
54972 | QVector<QFontEngine *> engines; | |
54973 | }; | |
54974 | # 604 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine_p.h" | |
54975 | class QTestFontEngine : public QFontEngineBox | |
54976 | { | |
54977 | public: | |
54978 | QTestFontEngine(int size) : QFontEngineBox(size) {} | |
54979 | virtual Type type() const { return TestFontEngine; } | |
54980 | }; | |
54981 | ||
54982 | ||
54983 | # 1 "../../include/QtGui/private/qfontengine_p.h" 2 | |
54984 | # 44 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
54985 | ||
54986 | # 1 "../../include/QtGui/qbitmap.h" 1 | |
54987 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qbitmap.h" 1 | |
54988 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qbitmap.h" | |
54989 | #define QBITMAP_H | |
54990 | ||
54991 | # 1 "../../include/QtGui/qpixmap.h" 1 | |
54992 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qbitmap.h" 2 | |
54993 | ||
54994 | ||
54995 | ||
54996 | ||
54997 | ||
54998 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
54999 | ||
55000 | class QVariant; | |
55001 | ||
55002 | class __attribute__((visibility("default"))) QBitmap : public QPixmap | |
55003 | { | |
55004 | public: | |
55005 | QBitmap(); | |
55006 | QBitmap(const QPixmap &); | |
55007 | QBitmap(int w, int h); | |
55008 | explicit QBitmap(const QSize &); | |
55009 | explicit QBitmap(const QString &fileName, const char *format=0); | |
55010 | ~QBitmap(); | |
55011 | ||
55012 | QBitmap &operator=(const QPixmap &); | |
55013 | operator QVariant() const; | |
55014 | ||
55015 | inline void clear() { fill(Qt::color0); } | |
55016 | ||
55017 | static QBitmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); | |
55018 | static QBitmap fromData(const QSize &size, const uchar *bits, | |
55019 | QImage::Format monoFormat = QImage::Format_MonoLSB); | |
55020 | ||
55021 | QBitmap transformed(const QMatrix &) const; | |
55022 | QBitmap transformed(const QTransform &matrix) const; | |
55023 | # 85 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qbitmap.h" | |
55024 | }; | |
55025 | template <> inline bool qIsDetached<QBitmap>(QBitmap &t) { return t.isDetached(); } template <typename T> inline void qSwap(T &, T &); template <> inline void qSwap<QBitmap>(QBitmap &value1, QBitmap &value2) { const QBitmap::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } | |
55026 | # 102 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qbitmap.h" | |
55027 | ||
55028 | ||
55029 | ||
55030 | # 1 "../../include/QtGui/qbitmap.h" 2 | |
55031 | # 46 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
55032 | # 1 "../../include/QtGui/qpainter.h" 1 | |
55033 | # 47 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
55034 | # 1 "../../include/QtGui/qpainterpath.h" 1 | |
55035 | # 48 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
55036 | # 1 "../../include/QtCore/qvarlengtharray.h" 1 | |
55037 | # 49 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
55038 | # 1 "../../include/QtGui/private/qpdf_p.h" 1 | |
55039 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 1 | |
55040 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" | |
55041 | #define QPDF_P_H | |
55042 | # 55 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" | |
55043 | # 1 "../../include/QtGui/qmatrix.h" 1 | |
55044 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55045 | # 1 "../../include/QtCore/qstring.h" 1 | |
55046 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55047 | # 1 "../../include/QtCore/qvector.h" 1 | |
55048 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55049 | # 1 "../../include/QtGui/private/qstroker_p.h" 1 | |
55050 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qstroker_p.h" 1 | |
55051 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qstroker_p.h" | |
55052 | #define QSTROKER_P_H | |
55053 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qstroker_p.h" | |
55054 | # 1 "../../include/QtGui/qpainterpath.h" 1 | |
55055 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qstroker_p.h" 2 | |
55056 | # 1 "../../include/QtGui/private/qdatabuffer_p.h" 1 | |
55057 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdatabuffer_p.h" 1 | |
55058 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdatabuffer_p.h" | |
55059 | #define QDATABUFFER_P_H | |
55060 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdatabuffer_p.h" | |
55061 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
55062 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qdatabuffer_p.h" 2 | |
55063 | ||
55064 | ||
55065 | ||
55066 | template <typename Type> class QDataBuffer | |
55067 | { | |
55068 | public: | |
55069 | QDataBuffer(int res = 64) | |
55070 | { | |
55071 | capacity = res; | |
55072 | buffer = (Type*) qMalloc(capacity * sizeof(Type)); | |
55073 | siz = 0; | |
55074 | } | |
55075 | ||
55076 | ~QDataBuffer() | |
55077 | { | |
55078 | qFree(buffer); | |
55079 | } | |
55080 | ||
55081 | inline void reset() { siz = 0; } | |
55082 | ||
55083 | inline bool isEmpty() const { return siz==0; } | |
55084 | ||
55085 | inline int size() const { return siz; } | |
55086 | inline Type *data() const { return buffer; } | |
55087 | ||
55088 | inline Type &at(int i) { qt_noop(); return buffer[i]; } | |
55089 | inline const Type &at(int i) const { qt_noop(); return buffer[i]; } | |
55090 | inline const Type &last() const { qt_noop(); return buffer[siz-1]; } | |
55091 | inline const Type &first() const { qt_noop(); return buffer[0]; } | |
55092 | ||
55093 | inline void add(const Type &t) { | |
55094 | reserve(siz + 1); | |
55095 | buffer[siz] = t; | |
55096 | ++siz; | |
55097 | } | |
55098 | ||
55099 | inline void resize(int size) { | |
55100 | reserve(size); | |
55101 | siz = size; | |
55102 | } | |
55103 | ||
55104 | inline void reserve(int size) { | |
55105 | if (size > capacity) { | |
55106 | while (capacity < size) | |
55107 | capacity *= 2; | |
55108 | buffer = (Type*) qRealloc(buffer, capacity * sizeof(Type)); | |
55109 | } | |
55110 | } | |
55111 | ||
55112 | inline void shrink(int size) { | |
55113 | capacity = size; | |
55114 | buffer = (Type*) qRealloc(buffer, capacity * sizeof(Type)); | |
55115 | } | |
55116 | ||
55117 | inline void swap(QDataBuffer<Type> &other) { | |
55118 | qSwap(capacity, other.capacity); | |
55119 | qSwap(siz, other.siz); | |
55120 | qSwap(buffer, other.buffer); | |
55121 | } | |
55122 | ||
55123 | inline QDataBuffer &operator<<(const Type &t) { add(t); return *this; } | |
55124 | ||
55125 | private: | |
55126 | int capacity; | |
55127 | int siz; | |
55128 | Type *buffer; | |
55129 | }; | |
55130 | ||
55131 | ||
55132 | # 1 "../../include/QtGui/private/qdatabuffer_p.h" 2 | |
55133 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qstroker_p.h" 2 | |
55134 | # 1 "../../include/QtCore/private/qnumeric_p.h" 1 | |
55135 | # 1 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnumeric_p.h" 1 | |
55136 | # 43 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnumeric_p.h" | |
55137 | #define QNUMERIC_P_H | |
55138 | # 56 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnumeric_p.h" | |
55139 | # 1 "../../include/QtCore/qglobal.h" 1 | |
55140 | # 57 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnumeric_p.h" 2 | |
55141 | ||
55142 | ||
55143 | ||
55144 | ||
55145 | ||
55146 | static const union { unsigned char c[8]; double d; } qt_be_inf_bytes = { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } }; | |
55147 | static const union { unsigned char c[8]; double d; } qt_le_inf_bytes = { { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } }; | |
55148 | static const union { unsigned char c[8]; double d; } qt_armfpa_inf_bytes = { { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 } }; | |
55149 | static inline double qt_inf() | |
55150 | { | |
55151 | ||
55152 | ||
55153 | ||
55154 | return (QSysInfo::ByteOrder == QSysInfo::BigEndian | |
55155 | ? qt_be_inf_bytes.d | |
55156 | : qt_le_inf_bytes.d); | |
55157 | ||
55158 | } | |
55159 | ||
55160 | ||
55161 | static const union { unsigned char c[8]; double d; } qt_be_snan_bytes = { { 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 } }; | |
55162 | static const union { unsigned char c[8]; double d; } qt_le_snan_bytes = { { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f } }; | |
55163 | static const union { unsigned char c[8]; double d; } qt_armfpa_snan_bytes = { { 0, 0, 0xf8, 0x7f, 0, 0, 0, 0 } }; | |
55164 | static inline double qt_snan() | |
55165 | { | |
55166 | ||
55167 | ||
55168 | ||
55169 | return (QSysInfo::ByteOrder == QSysInfo::BigEndian | |
55170 | ? qt_be_snan_bytes.d | |
55171 | : qt_le_snan_bytes.d); | |
55172 | ||
55173 | } | |
55174 | ||
55175 | ||
55176 | static const union { unsigned char c[8]; double d; } qt_be_qnan_bytes = { { 0xff, 0xf8, 0, 0, 0, 0, 0, 0 } }; | |
55177 | static const union { unsigned char c[8]; double d; } qt_le_qnan_bytes = { { 0, 0, 0, 0, 0, 0, 0xf8, 0xff } }; | |
55178 | static const union { unsigned char c[8]; double d; } qt_armfpa_qnan_bytes = { { 0, 0, 0xf8, 0xff, 0, 0, 0, 0 } }; | |
55179 | static inline double qt_qnan() | |
55180 | { | |
55181 | ||
55182 | ||
55183 | ||
55184 | return (QSysInfo::ByteOrder == QSysInfo::BigEndian | |
55185 | ? qt_be_qnan_bytes.d | |
55186 | : qt_le_qnan_bytes.d); | |
55187 | ||
55188 | } | |
55189 | # 169 "../../include/QtCore/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qnumeric_p.h" | |
55190 | static inline bool qt_is_inf(double d) | |
55191 | { | |
55192 | uchar *ch = (uchar *)&d; | |
55193 | ||
55194 | ||
55195 | ||
55196 | if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { | |
55197 | return (ch[0] & 0x7f) == 0x7f && ch[1] == 0xf0; | |
55198 | } else { | |
55199 | return (ch[7] & 0x7f) == 0x7f && ch[6] == 0xf0; | |
55200 | } | |
55201 | ||
55202 | } | |
55203 | ||
55204 | static inline bool qt_is_nan(double d) | |
55205 | { | |
55206 | uchar *ch = (uchar *)&d; | |
55207 | ||
55208 | ||
55209 | ||
55210 | if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { | |
55211 | return (ch[0] & 0x7f) == 0x7f && ch[1] > 0xf0; | |
55212 | } else { | |
55213 | return (ch[7] & 0x7f) == 0x7f && ch[6] > 0xf0; | |
55214 | } | |
55215 | ||
55216 | } | |
55217 | ||
55218 | static inline bool qt_is_finite(double d) | |
55219 | { | |
55220 | uchar *ch = (uchar *)&d; | |
55221 | ||
55222 | ||
55223 | ||
55224 | if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { | |
55225 | return (ch[0] & 0x7f) != 0x7f || (ch[1] & 0xf0) != 0xf0; | |
55226 | } else { | |
55227 | return (ch[7] & 0x7f) != 0x7f || (ch[6] & 0xf0) != 0xf0; | |
55228 | } | |
55229 | ||
55230 | } | |
55231 | ||
55232 | static inline bool qt_is_inf(float d) | |
55233 | { | |
55234 | uchar *ch = (uchar *)&d; | |
55235 | if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { | |
55236 | return (ch[0] & 0x7f) == 0x7f && ch[1] == 0x80; | |
55237 | } else { | |
55238 | return (ch[3] & 0x7f) == 0x7f && ch[2] == 0x80; | |
55239 | } | |
55240 | } | |
55241 | ||
55242 | static inline bool qt_is_nan(float d) | |
55243 | { | |
55244 | uchar *ch = (uchar *)&d; | |
55245 | if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { | |
55246 | return (ch[0] & 0x7f) == 0x7f && ch[1] > 0x80; | |
55247 | } else { | |
55248 | return (ch[3] & 0x7f) == 0x7f && ch[2] > 0x80; | |
55249 | } | |
55250 | } | |
55251 | ||
55252 | static inline bool qt_is_finite(float d) | |
55253 | { | |
55254 | uchar *ch = (uchar *)&d; | |
55255 | if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { | |
55256 | return (ch[0] & 0x7f) != 0x7f || (ch[1] & 0x80) != 0x80; | |
55257 | } else { | |
55258 | return (ch[3] & 0x7f) != 0x7f || (ch[2] & 0x80) != 0x80; | |
55259 | } | |
55260 | } | |
55261 | ||
55262 | ||
55263 | # 1 "../../include/QtCore/private/qnumeric_p.h" 2 | |
55264 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qstroker_p.h" 2 | |
55265 | ||
55266 | ||
55267 | # 100 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qstroker_p.h" | |
55268 | typedef qreal qfixed; | |
55269 | #define qt_real_to_fixed(real) qfixed(real) | |
55270 | #define qt_fixed_to_real(fixed) fixed | |
55271 | struct qfixed2d | |
55272 | { | |
55273 | qfixed x; | |
55274 | qfixed y; | |
55275 | ||
55276 | bool operator==(const qfixed2d &other) const { return qFuzzyCompare(x, other.x) | |
55277 | && qFuzzyCompare(y, other.y); } | |
55278 | }; | |
55279 | ||
55280 | ||
55281 | #define QT_PATH_KAPPA 0.5522847498 | |
55282 | ||
55283 | QPointF qt_curves_for_arc(const QRectF &rect, qreal startAngle, qreal sweepLength, | |
55284 | QPointF *controlPoints, int *point_count); | |
55285 | ||
55286 | qreal qt_t_for_arc_angle(qreal angle); | |
55287 | ||
55288 | typedef void (*qStrokerMoveToHook)(qfixed x, qfixed y, void *data); | |
55289 | typedef void (*qStrokerLineToHook)(qfixed x, qfixed y, void *data); | |
55290 | typedef void (*qStrokerCubicToHook)(qfixed c1x, qfixed c1y, | |
55291 | qfixed c2x, qfixed c2y, | |
55292 | qfixed ex, qfixed ey, | |
55293 | void *data); | |
55294 | ||
55295 | class __attribute__((visibility("default"))) QStrokerOps | |
55296 | { | |
55297 | public: | |
55298 | struct Element { | |
55299 | QPainterPath::ElementType type; | |
55300 | qfixed x; | |
55301 | qfixed y; | |
55302 | ||
55303 | inline bool isMoveTo() const { return type == QPainterPath::MoveToElement; } | |
55304 | inline bool isLineTo() const { return type == QPainterPath::LineToElement; } | |
55305 | inline bool isCurveTo() const { return type == QPainterPath::CurveToElement; } | |
55306 | ||
55307 | operator qfixed2d () { qfixed2d pt = { x, y }; return pt; } | |
55308 | }; | |
55309 | ||
55310 | QStrokerOps(); | |
55311 | virtual ~QStrokerOps(); | |
55312 | ||
55313 | void setMoveToHook(qStrokerMoveToHook moveToHook) { m_moveTo = moveToHook; } | |
55314 | void setLineToHook(qStrokerLineToHook lineToHook) { m_lineTo = lineToHook; } | |
55315 | void setCubicToHook(qStrokerCubicToHook cubicToHook) { m_cubicTo = cubicToHook; } | |
55316 | ||
55317 | virtual void begin(void *customData); | |
55318 | virtual void end(); | |
55319 | ||
55320 | inline void moveTo(qfixed x, qfixed y); | |
55321 | inline void lineTo(qfixed x, qfixed y); | |
55322 | inline void cubicTo(qfixed x1, qfixed y1, qfixed x2, qfixed y2, qfixed ex, qfixed ey); | |
55323 | ||
55324 | void strokePath(const QPainterPath &path, void *data, const QTransform &matrix); | |
55325 | void strokePolygon(const QPointF *points, int pointCount, bool implicit_close, | |
55326 | void *data, const QTransform &matrix); | |
55327 | void strokeEllipse(const QRectF &ellipse, void *data, const QTransform &matrix); | |
55328 | ||
55329 | QRectF clipRect() const { return m_clip_rect; } | |
55330 | void setClipRect(const QRectF &clip) { m_clip_rect = clip; } | |
55331 | ||
55332 | protected: | |
55333 | inline void emitMoveTo(qfixed x, qfixed y); | |
55334 | inline void emitLineTo(qfixed x, qfixed y); | |
55335 | inline void emitCubicTo(qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey); | |
55336 | ||
55337 | virtual void processCurrentSubpath() = 0; | |
55338 | QDataBuffer<Element> m_elements; | |
55339 | ||
55340 | QRectF m_clip_rect; | |
55341 | ||
55342 | private: | |
55343 | void *m_customData; | |
55344 | qStrokerMoveToHook m_moveTo; | |
55345 | qStrokerLineToHook m_lineTo; | |
55346 | qStrokerCubicToHook m_cubicTo; | |
55347 | ||
55348 | }; | |
55349 | ||
55350 | class __attribute__((visibility("default"))) QStroker : public QStrokerOps | |
55351 | { | |
55352 | public: | |
55353 | ||
55354 | enum LineJoinMode { | |
55355 | FlatJoin, | |
55356 | SquareJoin, | |
55357 | MiterJoin, | |
55358 | RoundJoin, | |
55359 | RoundCap, | |
55360 | SvgMiterJoin | |
55361 | }; | |
55362 | ||
55363 | QStroker(); | |
55364 | ~QStroker(); | |
55365 | ||
55366 | void setStrokeWidth(qfixed width) { m_strokeWidth = width; } | |
55367 | qfixed strokeWidth() const { return m_strokeWidth; } | |
55368 | ||
55369 | void setCapStyle(Qt::PenCapStyle capStyle) { m_capStyle = joinModeForCap(capStyle); } | |
55370 | Qt::PenCapStyle capStyle() const { return capForJoinMode(m_capStyle); } | |
55371 | LineJoinMode capStyleMode() const { return m_capStyle; } | |
55372 | ||
55373 | void setJoinStyle(Qt::PenJoinStyle style) { m_joinStyle = joinModeForJoin(style); } | |
55374 | Qt::PenJoinStyle joinStyle() const { return joinForJoinMode(m_joinStyle); } | |
55375 | LineJoinMode joinStyleMode() const { return m_joinStyle; } | |
55376 | ||
55377 | void setMiterLimit(qfixed length) { m_miterLimit = length; } | |
55378 | qfixed miterLimit() const { return m_miterLimit; } | |
55379 | ||
55380 | void setCurveThreshold(qfixed threshold) { m_curveThreshold = threshold; } | |
55381 | qfixed curveThreshold() const { return m_curveThreshold; } | |
55382 | ||
55383 | void joinPoints(qfixed x, qfixed y, const QLineF &nextLine, LineJoinMode join); | |
55384 | inline void emitMoveTo(qfixed x, qfixed y); | |
55385 | inline void emitLineTo(qfixed x, qfixed y); | |
55386 | inline void emitCubicTo(qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey); | |
55387 | ||
55388 | protected: | |
55389 | static Qt::PenCapStyle capForJoinMode(LineJoinMode mode); | |
55390 | static LineJoinMode joinModeForCap(Qt::PenCapStyle); | |
55391 | ||
55392 | static Qt::PenJoinStyle joinForJoinMode(LineJoinMode mode); | |
55393 | static LineJoinMode joinModeForJoin(Qt::PenJoinStyle joinStyle); | |
55394 | ||
55395 | virtual void processCurrentSubpath(); | |
55396 | ||
55397 | qfixed m_strokeWidth; | |
55398 | qfixed m_miterLimit; | |
55399 | qfixed m_curveThreshold; | |
55400 | ||
55401 | LineJoinMode m_capStyle; | |
55402 | LineJoinMode m_joinStyle; | |
55403 | ||
55404 | qfixed m_back1X; | |
55405 | qfixed m_back1Y; | |
55406 | ||
55407 | qfixed m_back2X; | |
55408 | qfixed m_back2Y; | |
55409 | }; | |
55410 | ||
55411 | class __attribute__((visibility("default"))) QDashStroker : public QStrokerOps | |
55412 | { | |
55413 | public: | |
55414 | QDashStroker(QStroker *stroker); | |
55415 | ||
55416 | QStroker *stroker() const { return m_stroker; } | |
55417 | ||
55418 | static QVector<qfixed> patternForStyle(Qt::PenStyle style); | |
55419 | ||
55420 | void setDashPattern(const QVector<qfixed> &dashPattern) { m_dashPattern = dashPattern; } | |
55421 | QVector<qfixed> dashPattern() const { return m_dashPattern; } | |
55422 | ||
55423 | void setDashOffset(qreal offset) { m_dashOffset = offset; } | |
55424 | qreal dashOffset() const { return m_dashOffset; } | |
55425 | ||
55426 | virtual void begin(void *data); | |
55427 | virtual void end(); | |
55428 | ||
55429 | protected: | |
55430 | virtual void processCurrentSubpath(); | |
55431 | ||
55432 | QStroker *m_stroker; | |
55433 | QVector<qfixed> m_dashPattern; | |
55434 | qreal m_dashOffset; | |
55435 | }; | |
55436 | ||
55437 | ||
55438 | ||
55439 | ||
55440 | ||
55441 | ||
55442 | inline void QStrokerOps::emitMoveTo(qfixed x, qfixed y) | |
55443 | { | |
55444 | qt_noop(); | |
55445 | m_moveTo(x, y, m_customData); | |
55446 | } | |
55447 | ||
55448 | inline void QStrokerOps::emitLineTo(qfixed x, qfixed y) | |
55449 | { | |
55450 | qt_noop(); | |
55451 | m_lineTo(x, y, m_customData); | |
55452 | } | |
55453 | ||
55454 | inline void QStrokerOps::emitCubicTo(qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey) | |
55455 | { | |
55456 | qt_noop(); | |
55457 | m_cubicTo(c1x, c1y, c2x, c2y, ex, ey, m_customData); | |
55458 | } | |
55459 | ||
55460 | inline void QStrokerOps::moveTo(qfixed x, qfixed y) | |
55461 | { | |
55462 | if (m_elements.size()>1) | |
55463 | processCurrentSubpath(); | |
55464 | m_elements.reset(); | |
55465 | Element e = { QPainterPath::MoveToElement, x, y }; | |
55466 | m_elements.add(e); | |
55467 | } | |
55468 | ||
55469 | inline void QStrokerOps::lineTo(qfixed x, qfixed y) | |
55470 | { | |
55471 | Element e = { QPainterPath::LineToElement, x, y }; | |
55472 | m_elements.add(e); | |
55473 | } | |
55474 | ||
55475 | inline void QStrokerOps::cubicTo(qfixed x1, qfixed y1, qfixed x2, qfixed y2, qfixed ex, qfixed ey) | |
55476 | { | |
55477 | Element c1 = { QPainterPath::CurveToElement, x1, y1 }; | |
55478 | Element c2 = { QPainterPath::CurveToDataElement, x2, y2 }; | |
55479 | Element e = { QPainterPath::CurveToDataElement, ex, ey }; | |
55480 | m_elements.add(c1); | |
55481 | m_elements.add(c2); | |
55482 | m_elements.add(e); | |
55483 | } | |
55484 | ||
55485 | ||
55486 | ||
55487 | ||
55488 | inline void QStroker::emitMoveTo(qfixed x, qfixed y) | |
55489 | { | |
55490 | m_back2X = m_back1X; | |
55491 | m_back2Y = m_back1Y; | |
55492 | m_back1X = x; | |
55493 | m_back1Y = y; | |
55494 | QStrokerOps::emitMoveTo(x, y); | |
55495 | } | |
55496 | ||
55497 | inline void QStroker::emitLineTo(qfixed x, qfixed y) | |
55498 | { | |
55499 | m_back2X = m_back1X; | |
55500 | m_back2Y = m_back1Y; | |
55501 | m_back1X = x; | |
55502 | m_back1Y = y; | |
55503 | QStrokerOps::emitLineTo(x, y); | |
55504 | } | |
55505 | ||
55506 | inline void QStroker::emitCubicTo(qfixed c1x, qfixed c1y, | |
55507 | qfixed c2x, qfixed c2y, | |
55508 | qfixed ex, qfixed ey) | |
55509 | { | |
55510 | if (c2x == ex && c2y == ey) { | |
55511 | if (c1x == ex && c1y == ey) { | |
55512 | m_back2X = m_back1X; | |
55513 | m_back2Y = m_back1Y; | |
55514 | } else { | |
55515 | m_back2X = c1x; | |
55516 | m_back2Y = c1y; | |
55517 | } | |
55518 | } else { | |
55519 | m_back2X = c2x; | |
55520 | m_back2Y = c2y; | |
55521 | } | |
55522 | m_back1X = ex; | |
55523 | m_back1Y = ey; | |
55524 | QStrokerOps::emitCubicTo(c1x, c1y, c2x, c2y, ex, ey); | |
55525 | } | |
55526 | ||
55527 | ||
55528 | ||
55529 | ||
55530 | inline void QDashStroker::begin(void *data) | |
55531 | { | |
55532 | qt_noop(); | |
55533 | m_stroker->begin(data); | |
55534 | QStrokerOps::begin(data); | |
55535 | } | |
55536 | ||
55537 | inline void QDashStroker::end() | |
55538 | { | |
55539 | qt_noop(); | |
55540 | QStrokerOps::end(); | |
55541 | m_stroker->end(); | |
55542 | } | |
55543 | ||
55544 | ||
55545 | # 1 "../../include/QtGui/private/qstroker_p.h" 2 | |
55546 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55547 | # 1 "../../include/QtGui/private/qfontengine_p.h" 1 | |
55548 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55549 | # 1 "../../include/QtGui/qprinter.h" 1 | |
55550 | # 1 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprinter.h" 1 | |
55551 | # 43 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprinter.h" | |
55552 | #define QPRINTER_H | |
55553 | ||
55554 | # 1 "../../include/QtGui/qpaintdevice.h" 1 | |
55555 | # 46 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprinter.h" 2 | |
55556 | # 1 "../../include/QtCore/qstring.h" 1 | |
55557 | # 47 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprinter.h" 2 | |
55558 | ||
55559 | ||
55560 | ||
55561 | ||
55562 | ||
55563 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
55564 | ||
55565 | ||
55566 | ||
55567 | ||
55568 | ||
55569 | ||
55570 | ||
55571 | class QPrinterPrivate; | |
55572 | class QPaintEngine; | |
55573 | class QPrintEngine; | |
55574 | class QPrinterInfo; | |
55575 | ||
55576 | class __attribute__((visibility("default"))) QPrinter : public QPaintDevice | |
55577 | { | |
55578 | inline QPrinterPrivate* d_func() { return reinterpret_cast<QPrinterPrivate *>(d_ptr); } inline const QPrinterPrivate* d_func() const { return reinterpret_cast<const QPrinterPrivate *>(d_ptr); } friend class QPrinterPrivate; | |
55579 | public: | |
55580 | enum PrinterMode { ScreenResolution, PrinterResolution, HighResolution }; | |
55581 | ||
55582 | explicit QPrinter(PrinterMode mode = ScreenResolution); | |
55583 | explicit QPrinter(const QPrinterInfo& printer, PrinterMode mode = ScreenResolution); | |
55584 | ~QPrinter(); | |
55585 | ||
55586 | int devType() const; | |
55587 | ||
55588 | enum Orientation { Portrait, Landscape }; | |
55589 | ||
55590 | ||
55591 | enum PageSize { A4, B5, Letter, Legal, Executive, | |
55592 | A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1, | |
55593 | B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E, | |
55594 | DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom, NPaperSize = Custom }; | |
55595 | typedef PageSize PaperSize; | |
55596 | # 96 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprinter.h" | |
55597 | enum PageOrder { FirstPageFirst, | |
55598 | LastPageFirst }; | |
55599 | ||
55600 | enum ColorMode { GrayScale, | |
55601 | Color }; | |
55602 | ||
55603 | enum PaperSource { OnlyOne, | |
55604 | Lower, | |
55605 | Middle, | |
55606 | Manual, | |
55607 | Envelope, | |
55608 | EnvelopeManual, | |
55609 | Auto, | |
55610 | Tractor, | |
55611 | SmallFormat, | |
55612 | LargeFormat, | |
55613 | LargeCapacity, | |
55614 | Cassette, | |
55615 | FormSource, | |
55616 | MaxPageSource | |
55617 | }; | |
55618 | ||
55619 | enum PrinterState { Idle, | |
55620 | Active, | |
55621 | Aborted, | |
55622 | Error }; | |
55623 | ||
55624 | enum OutputFormat { NativeFormat, PdfFormat, PostScriptFormat }; | |
55625 | ||
55626 | ||
55627 | enum PrintRange { AllPages, Selection, PageRange }; | |
55628 | ||
55629 | enum Unit { | |
55630 | Millimeter, | |
55631 | Point, | |
55632 | Inch, | |
55633 | Pica, | |
55634 | Didot, | |
55635 | Cicero, | |
55636 | DevicePixel | |
55637 | }; | |
55638 | ||
55639 | enum DuplexMode { | |
55640 | DuplexNone = 0, | |
55641 | DuplexAuto, | |
55642 | DuplexLongSide, | |
55643 | DuplexShortSide | |
55644 | }; | |
55645 | ||
55646 | ||
55647 | ||
55648 | ||
55649 | ||
55650 | void setOutputFormat(OutputFormat format); | |
55651 | OutputFormat outputFormat() const; | |
55652 | ||
55653 | void setPrinterName(const QString &); | |
55654 | QString printerName() const; | |
55655 | ||
55656 | bool isValid() const; | |
55657 | ||
55658 | void setOutputFileName(const QString &); | |
55659 | QString outputFileName()const; | |
55660 | ||
55661 | void setPrintProgram(const QString &); | |
55662 | QString printProgram() const; | |
55663 | ||
55664 | void setDocName(const QString &); | |
55665 | QString docName() const; | |
55666 | ||
55667 | void setCreator(const QString &); | |
55668 | QString creator() const; | |
55669 | ||
55670 | void setOrientation(Orientation); | |
55671 | Orientation orientation() const; | |
55672 | ||
55673 | void setPageSize(PageSize); | |
55674 | PageSize pageSize() const; | |
55675 | ||
55676 | void setPaperSize(PaperSize); | |
55677 | PaperSize paperSize() const; | |
55678 | ||
55679 | void setPaperSize(const QSizeF &paperSize, Unit unit); | |
55680 | QSizeF paperSize(Unit unit) const; | |
55681 | ||
55682 | void setPageOrder(PageOrder); | |
55683 | PageOrder pageOrder() const; | |
55684 | ||
55685 | void setResolution(int); | |
55686 | int resolution() const; | |
55687 | ||
55688 | void setColorMode(ColorMode); | |
55689 | ColorMode colorMode() const; | |
55690 | ||
55691 | void setCollateCopies(bool collate); | |
55692 | bool collateCopies() const; | |
55693 | ||
55694 | void setFullPage(bool); | |
55695 | bool fullPage() const; | |
55696 | ||
55697 | void setNumCopies(int); | |
55698 | int numCopies() const; | |
55699 | ||
55700 | void setPaperSource(PaperSource); | |
55701 | PaperSource paperSource() const; | |
55702 | ||
55703 | void setDuplex(DuplexMode duplex); | |
55704 | DuplexMode duplex() const; | |
55705 | ||
55706 | QList<int> supportedResolutions() const; | |
55707 | ||
55708 | ||
55709 | ||
55710 | ||
55711 | ||
55712 | void setFontEmbeddingEnabled(bool enable); | |
55713 | bool fontEmbeddingEnabled() const; | |
55714 | ||
55715 | void setDoubleSidedPrinting(bool enable); | |
55716 | bool doubleSidedPrinting() const; | |
55717 | ||
55718 | ||
55719 | ||
55720 | ||
55721 | ||
55722 | ||
55723 | QRect paperRect() const; | |
55724 | QRect pageRect() const; | |
55725 | QRectF paperRect(Unit) const; | |
55726 | QRectF pageRect(Unit) const; | |
55727 | ||
55728 | ||
55729 | QString printerSelectionOption() const; | |
55730 | void setPrinterSelectionOption(const QString &); | |
55731 | ||
55732 | ||
55733 | bool newPage(); | |
55734 | bool abort(); | |
55735 | ||
55736 | PrinterState printerState() const; | |
55737 | ||
55738 | QPaintEngine *paintEngine() const; | |
55739 | QPrintEngine *printEngine() const; | |
55740 | ||
55741 | ||
55742 | ||
55743 | ||
55744 | ||
55745 | ||
55746 | void setFromTo(int fromPage, int toPage); | |
55747 | int fromPage() const; | |
55748 | int toPage() const; | |
55749 | ||
55750 | void setPrintRange(PrintRange range); | |
55751 | PrintRange printRange() const; | |
55752 | ||
55753 | void setPageMargins(qreal left, qreal top, qreal right, qreal bottom, Unit unit); | |
55754 | void getPageMargins(qreal *left, qreal *top, qreal *right, qreal *bottom, Unit unit) const; | |
55755 | # 282 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprinter.h" | |
55756 | protected: | |
55757 | int metric(PaintDeviceMetric) const; | |
55758 | void setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine); | |
55759 | ||
55760 | private: | |
55761 | void init(PrinterMode mode); | |
55762 | ||
55763 | QPrinter(const QPrinter &); QPrinter &operator=(const QPrinter &); | |
55764 | ||
55765 | QPrinterPrivate *d_ptr; | |
55766 | ||
55767 | friend class QPrintDialogPrivate; | |
55768 | friend class QAbstractPrintDialog; | |
55769 | friend class QAbstractPrintDialogPrivate; | |
55770 | friend class QPrintPreviewWidgetPrivate; | |
55771 | friend class QTextDocument; | |
55772 | friend class QPageSetupWidget; | |
55773 | }; | |
55774 | # 326 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprinter.h" | |
55775 | ||
55776 | ||
55777 | ||
55778 | # 1 "../../include/QtGui/qprinter.h" 2 | |
55779 | # 61 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55780 | # 1 "../../include/QtGui/private/qfontsubset_p.h" 1 | |
55781 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontsubset_p.h" 1 | |
55782 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontsubset_p.h" | |
55783 | #define QFONTSUBSET_P_H | |
55784 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontsubset_p.h" | |
55785 | # 1 "../../include/QtGui/private/qfontengine_p.h" 1 | |
55786 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontsubset_p.h" 2 | |
55787 | ||
55788 | ||
55789 | ||
55790 | ||
55791 | ||
55792 | class QFontSubset | |
55793 | { | |
55794 | public: | |
55795 | QFontSubset(QFontEngine *fe, int obj_id = 0) | |
55796 | : object_id(obj_id), noEmbed(false), fontEngine(fe), downloaded_glyphs(0), standard_font(false) | |
55797 | { fontEngine->ref.ref(); addGlyph(0); } | |
55798 | ~QFontSubset() { | |
55799 | if (!fontEngine->ref.deref()) | |
55800 | delete fontEngine; | |
55801 | } | |
55802 | ||
55803 | QByteArray toTruetype() const; | |
55804 | QByteArray toType1() const; | |
55805 | QByteArray type1AddedGlyphs() const; | |
55806 | QByteArray widthArray() const; | |
55807 | QByteArray createToUnicodeMap() const; | |
55808 | QVector<int> getReverseMap() const; | |
55809 | QByteArray glyphName(unsigned int glyph, const QVector<int> reverseMap) const; | |
55810 | ||
55811 | static QByteArray glyphName(unsigned short unicode, bool symbol); | |
55812 | ||
55813 | int addGlyph(int index); | |
55814 | const int object_id; | |
55815 | bool noEmbed; | |
55816 | QFontEngine *fontEngine; | |
55817 | QList<int> glyph_indices; | |
55818 | mutable int downloaded_glyphs; | |
55819 | mutable bool standard_font; | |
55820 | int nGlyphs() const { return glyph_indices.size(); } | |
55821 | mutable QFixed emSquare; | |
55822 | mutable QVector<QFixed> widths; | |
55823 | }; | |
55824 | ||
55825 | ||
55826 | # 1 "../../include/QtGui/private/qfontsubset_p.h" 2 | |
55827 | # 62 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55828 | # 1 "../../include/QtGui/private/qpaintengine_alpha_p.h" 1 | |
55829 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_alpha_p.h" 1 | |
55830 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_alpha_p.h" | |
55831 | #define QPAINTENGINE_ALPHA_P_H | |
55832 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_alpha_p.h" | |
55833 | # 1 "../../include/QtGui/private/qpaintengine_p.h" 1 | |
55834 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_p.h" 1 | |
55835 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_p.h" | |
55836 | #define QPAINTENGINE_P_H | |
55837 | # 56 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_p.h" | |
55838 | # 1 "../../include/QtGui/qpainter.h" 1 | |
55839 | # 57 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_p.h" 2 | |
55840 | # 1 "../../include/QtGui/qpaintengine.h" 1 | |
55841 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_p.h" 2 | |
55842 | # 1 "../../include/QtGui/qregion.h" 1 | |
55843 | # 59 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_p.h" 2 | |
55844 | # 1 "../../include/QtCore/private/qobject_p.h" 1 | |
55845 | # 60 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_p.h" 2 | |
55846 | ||
55847 | ||
55848 | ||
55849 | class QPaintDevice; | |
55850 | ||
55851 | class QPaintEnginePrivate | |
55852 | { | |
55853 | inline QPaintEngine* q_func() { return static_cast<QPaintEngine *>(q_ptr); } inline const QPaintEngine* q_func() const { return static_cast<const QPaintEngine *>(q_ptr); } friend class QPaintEngine; | |
55854 | public: | |
55855 | QPaintEnginePrivate() : pdev(0), q_ptr(0), currentClipWidget(0), hasSystemTransform(0), | |
55856 | hasSystemViewport(0) {} | |
55857 | virtual ~QPaintEnginePrivate() { } | |
55858 | QPaintDevice *pdev; | |
55859 | QPaintEngine *q_ptr; | |
55860 | QRegion systemClip; | |
55861 | QRegion systemViewport; | |
55862 | QTransform systemTransform; | |
55863 | QWidget *currentClipWidget; | |
55864 | uint hasSystemTransform : 1; | |
55865 | uint hasSystemViewport : 1; | |
55866 | ||
55867 | inline void transformSystemClip() | |
55868 | { | |
55869 | if (systemClip.isEmpty()) | |
55870 | return; | |
55871 | ||
55872 | if (systemTransform.type() <= QTransform::TxTranslate) | |
55873 | systemClip.translate(qRound(systemTransform.dx()), qRound(systemTransform.dy())); | |
55874 | else | |
55875 | systemClip = systemTransform.map(systemClip); | |
55876 | ||
55877 | ||
55878 | if (hasSystemViewport) { | |
55879 | systemClip &= systemViewport; | |
55880 | if (systemClip.isEmpty()) { | |
55881 | ||
55882 | systemClip = QRect(systemViewport.boundingRect().topLeft(), QSize(1, 1)); | |
55883 | } | |
55884 | } | |
55885 | } | |
55886 | ||
55887 | inline void setSystemTransform(const QTransform &xform) | |
55888 | { | |
55889 | systemTransform = xform; | |
55890 | if ((hasSystemTransform = !xform.isIdentity())) | |
55891 | transformSystemClip(); | |
55892 | systemStateChanged(); | |
55893 | } | |
55894 | ||
55895 | inline void setSystemViewport(const QRegion ®ion) | |
55896 | { | |
55897 | systemViewport = region; | |
55898 | hasSystemViewport = !systemViewport.isEmpty(); | |
55899 | } | |
55900 | ||
55901 | virtual void systemStateChanged() { } | |
55902 | ||
55903 | void drawBoxTextItem(const QPointF &p, const QTextItemInt &ti); | |
55904 | ||
55905 | private: | |
55906 | QRect systemRect; | |
55907 | }; | |
55908 | ||
55909 | ||
55910 | # 1 "../../include/QtGui/private/qpaintengine_p.h" 2 | |
55911 | # 58 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpaintengine_alpha_p.h" 2 | |
55912 | ||
55913 | ||
55914 | ||
55915 | class QAlphaPaintEnginePrivate; | |
55916 | ||
55917 | class QAlphaPaintEngine : public QPaintEngine | |
55918 | { | |
55919 | inline QAlphaPaintEnginePrivate* d_func() { return reinterpret_cast<QAlphaPaintEnginePrivate *>(d_ptr); } inline const QAlphaPaintEnginePrivate* d_func() const { return reinterpret_cast<const QAlphaPaintEnginePrivate *>(d_ptr); } friend class QAlphaPaintEnginePrivate; | |
55920 | public: | |
55921 | ~QAlphaPaintEngine(); | |
55922 | ||
55923 | virtual bool begin(QPaintDevice *pdev); | |
55924 | virtual bool end(); | |
55925 | ||
55926 | virtual void updateState(const QPaintEngineState &state); | |
55927 | ||
55928 | virtual void drawPath(const QPainterPath &path); | |
55929 | ||
55930 | virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); | |
55931 | ||
55932 | virtual void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr); | |
55933 | virtual void drawImage(const QRectF &r, const QImage &image, const QRectF &sr); | |
55934 | virtual void drawTextItem(const QPointF &p, const QTextItem &textItem); | |
55935 | virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s); | |
55936 | ||
55937 | protected: | |
55938 | QAlphaPaintEngine(QAlphaPaintEnginePrivate &data, PaintEngineFeatures devcaps = 0); | |
55939 | QRegion alphaClipping() const; | |
55940 | bool continueCall() const; | |
55941 | void flushAndInit(bool init = true); | |
55942 | void cleanUp(); | |
55943 | }; | |
55944 | ||
55945 | class QAlphaPaintEnginePrivate : public QPaintEnginePrivate | |
55946 | { | |
55947 | inline QAlphaPaintEngine* q_func() { return static_cast<QAlphaPaintEngine *>(q_ptr); } inline const QAlphaPaintEngine* q_func() const { return static_cast<const QAlphaPaintEngine *>(q_ptr); } friend class QAlphaPaintEngine; | |
55948 | public: | |
55949 | QAlphaPaintEnginePrivate(); | |
55950 | ~QAlphaPaintEnginePrivate(); | |
55951 | ||
55952 | int m_pass; | |
55953 | QPicture *m_pic; | |
55954 | QPaintEngine *m_picengine; | |
55955 | QPainter *m_picpainter; | |
55956 | ||
55957 | QPaintEngine::PaintEngineFeatures m_savedcaps; | |
55958 | QPaintDevice *m_pdev; | |
55959 | ||
55960 | QRegion m_alphargn; | |
55961 | QRegion m_cliprgn; | |
55962 | ||
55963 | bool m_hasalpha; | |
55964 | bool m_alphaPen; | |
55965 | bool m_alphaBrush; | |
55966 | bool m_alphaOpacity; | |
55967 | bool m_advancedPen; | |
55968 | bool m_advancedBrush; | |
55969 | bool m_complexTransform; | |
55970 | bool m_emulateProjectiveTransforms; | |
55971 | bool m_continueCall; | |
55972 | ||
55973 | QTransform m_transform; | |
55974 | QPen m_pen; | |
55975 | ||
55976 | void addAlphaRect(const QRectF &rect); | |
55977 | QRectF addPenWidth(const QPainterPath &path); | |
55978 | void drawAlphaImage(const QRectF &rect); | |
55979 | QRect toRect(const QRectF &rect) const; | |
55980 | bool fullyContained(const QRectF &rect) const; | |
55981 | ||
55982 | void resetState(QPainter *p); | |
55983 | }; | |
55984 | ||
55985 | ||
55986 | # 1 "../../include/QtGui/private/qpaintengine_alpha_p.h" 2 | |
55987 | # 63 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
55988 | # 1 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprintengine.h" 1 | |
55989 | # 43 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprintengine.h" | |
55990 | #define QPRINTENGINE_H | |
55991 | ||
55992 | # 1 "../../include/QtCore/qvariant.h" 1 | |
55993 | # 46 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprintengine.h" 2 | |
55994 | # 1 "../../include/QtGui/qprinter.h" 1 | |
55995 | # 47 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qprintengine.h" 2 | |
55996 | ||
55997 | ||
55998 | ||
55999 | ||
56000 | ||
56001 | typedef QtValidLicenseForGuiModule QtGuiModule; | |
56002 | ||
56003 | ||
56004 | ||
56005 | class __attribute__((visibility("default"))) QPrintEngine | |
56006 | { | |
56007 | public: | |
56008 | virtual ~QPrintEngine() {} | |
56009 | enum PrintEnginePropertyKey { | |
56010 | PPK_CollateCopies, | |
56011 | PPK_ColorMode, | |
56012 | PPK_Creator, | |
56013 | PPK_DocumentName, | |
56014 | PPK_FullPage, | |
56015 | PPK_NumberOfCopies, | |
56016 | PPK_Orientation, | |
56017 | PPK_OutputFileName, | |
56018 | PPK_PageOrder, | |
56019 | PPK_PageRect, | |
56020 | PPK_PageSize, | |
56021 | PPK_PaperRect, | |
56022 | PPK_PaperSource, | |
56023 | PPK_PrinterName, | |
56024 | PPK_PrinterProgram, | |
56025 | PPK_Resolution, | |
56026 | PPK_SelectionOption, | |
56027 | PPK_SupportedResolutions, | |
56028 | ||
56029 | PPK_WindowsPageSize, | |
56030 | PPK_FontEmbedding, | |
56031 | PPK_SuppressSystemPrintStatus, | |
56032 | ||
56033 | PPK_Duplex, | |
56034 | ||
56035 | PPK_PaperSources, | |
56036 | PPK_CustomPaperSize, | |
56037 | PPK_PageMargins, | |
56038 | PPK_PaperSize = PPK_PageSize, | |
56039 | ||
56040 | PPK_CustomBase = 0xff00 | |
56041 | }; | |
56042 | ||
56043 | virtual void setProperty(PrintEnginePropertyKey key, const QVariant &value) = 0; | |
56044 | virtual QVariant property(PrintEnginePropertyKey key) const = 0; | |
56045 | ||
56046 | virtual bool newPage() = 0; | |
56047 | virtual bool abort() = 0; | |
56048 | ||
56049 | virtual int metric(QPaintDevice::PaintDeviceMetric) const = 0; | |
56050 | ||
56051 | virtual QPrinter::PrinterState printerState() const = 0; | |
56052 | ||
56053 | ||
56054 | ||
56055 | ||
56056 | ||
56057 | ||
56058 | }; | |
56059 | ||
56060 | ||
56061 | ||
56062 | ||
56063 | ||
56064 | ||
56065 | # 64 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
56066 | # 1 "../../include/QtCore/qbuffer.h" 1 | |
56067 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qbuffer.h" 1 | |
56068 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qbuffer.h" | |
56069 | #define QBUFFER_H | |
56070 | ||
56071 | # 1 "../../include/QtCore/qiodevice.h" 1 | |
56072 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qbuffer.h" 2 | |
56073 | # 1 "../../include/QtCore/qbytearray.h" 1 | |
56074 | # 47 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/io/qbuffer.h" 2 | |
56075 | ||
56076 | ||
56077 | ||
56078 | ||
56079 | ||
56080 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
56081 | ||
56082 | class QObject; | |
56083 | class QBufferPrivate; | |
56084 | ||
56085 | class __attribute__((visibility("default"))) QBuffer : public QIODevice | |
56086 | { | |
56087 | ||
56088 | public: template <typename T> inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: | |
56089 | ||
56090 | ||
56091 | public: | |
56092 | ||
56093 | explicit QBuffer(QObject *parent = 0); | |
56094 | QBuffer(QByteArray *buf, QObject *parent = 0); | |
56095 | ||
56096 | ||
56097 | ||
56098 | ||
56099 | ~QBuffer(); | |
56100 | ||
56101 | QByteArray &buffer(); | |
56102 | const QByteArray &buffer() const; | |
56103 | void setBuffer(QByteArray *a); | |
56104 | ||
56105 | void setData(const QByteArray &data); | |
56106 | inline void setData(const char *data, int len); | |
56107 | const QByteArray &data() const; | |
56108 | ||
56109 | bool open(OpenMode openMode); | |
56110 | ||
56111 | void close(); | |
56112 | qint64 size() const; | |
56113 | qint64 pos() const; | |
56114 | bool seek(qint64 off); | |
56115 | bool atEnd() const; | |
56116 | bool canReadLine() const; | |
56117 | ||
56118 | protected: | |
56119 | ||
56120 | void connectNotify(const char*); | |
56121 | void disconnectNotify(const char*); | |
56122 | ||
56123 | qint64 readData(char *data, qint64 maxlen); | |
56124 | qint64 writeData(const char *data, qint64 len); | |
56125 | ||
56126 | private: | |
56127 | inline QBufferPrivate* d_func() { return reinterpret_cast<QBufferPrivate *>(d_ptr); } inline const QBufferPrivate* d_func() const { return reinterpret_cast<const QBufferPrivate *>(d_ptr); } friend class QBufferPrivate; | |
56128 | QBuffer(const QBuffer &); QBuffer &operator=(const QBuffer &); | |
56129 | ||
56130 | ||
56131 | }; | |
56132 | ||
56133 | inline void QBuffer::setData(const char *adata, int alen) | |
56134 | { setData(QByteArray(adata, alen)); } | |
56135 | ||
56136 | ||
56137 | ||
56138 | ||
56139 | # 1 "../../include/QtCore/qbuffer.h" 2 | |
56140 | # 65 "../../include/QtGui/private/../../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/painting/qpdf_p.h" 2 | |
56141 | ||
56142 | ||
56143 | ||
56144 | ||
56145 | ||
56146 | #define PPK_CupsOptions QPrintEngine::PrintEnginePropertyKey(0xfe00) | |
56147 | #define PPK_CupsPageRect QPrintEngine::PrintEnginePropertyKey(0xfe01) | |
56148 | #define PPK_CupsPaperRect QPrintEngine::PrintEnginePropertyKey(0xfe02) | |
56149 | #define PPK_CupsStringPageSize QPrintEngine::PrintEnginePropertyKey(0xfe03) | |
56150 | ||
56151 | const char *qt_real_to_string(qreal val, char *buf); | |
56152 | const char *qt_int_to_string(int val, char *buf); | |
56153 | ||
56154 | namespace QPdf { | |
56155 | ||
56156 | class ByteStream | |
56157 | { | |
56158 | public: | |
56159 | ||
56160 | ||
56161 | ||
56162 | ||
56163 | explicit ByteStream(bool fileBacking = false); | |
56164 | explicit ByteStream(QByteArray *ba, bool fileBacking = false); | |
56165 | ~ByteStream(); | |
56166 | ByteStream &operator <<(char chr); | |
56167 | ByteStream &operator <<(const char *str); | |
56168 | ByteStream &operator <<(const QByteArray &str); | |
56169 | ByteStream &operator <<(const ByteStream &src); | |
56170 | ByteStream &operator <<(qreal val); | |
56171 | ByteStream &operator <<(int val); | |
56172 | ByteStream &operator <<(const QPointF &p); | |
56173 | ||
56174 | QIODevice *stream(); | |
56175 | void clear(); | |
56176 | ||
56177 | static inline int maxMemorySize() { return 100000000; } | |
56178 | static inline int chunkSize() { return 10000000; } | |
56179 | ||
56180 | protected: | |
56181 | void constructor_helper(QIODevice *dev); | |
56182 | void constructor_helper(QByteArray *ba); | |
56183 | ||
56184 | private: | |
56185 | void prepareBuffer(); | |
56186 | ||
56187 | private: | |
56188 | QIODevice *dev; | |
56189 | QByteArray ba; | |
56190 | bool fileBackingEnabled; | |
56191 | bool fileBackingActive; | |
56192 | bool handleDirty; | |
56193 | }; | |
56194 | ||
56195 | enum PathFlags { | |
56196 | ClipPath, | |
56197 | FillPath, | |
56198 | StrokePath, | |
56199 | FillAndStrokePath | |
56200 | }; | |
56201 | QByteArray generatePath(const QPainterPath &path, const QTransform &matrix, PathFlags flags); | |
56202 | QByteArray generateMatrix(const QTransform &matrix); | |
56203 | QByteArray generateDashes(const QPen &pen); | |
56204 | QByteArray patternForBrush(const QBrush &b); | |
56205 | ||
56206 | ||
56207 | ||
56208 | ||
56209 | struct Stroker { | |
56210 | Stroker(); | |
56211 | void setPen(const QPen &pen); | |
56212 | void strokePath(const QPainterPath &path); | |
56213 | ByteStream *stream; | |
56214 | bool first; | |
56215 | QTransform matrix; | |
56216 | bool cosmeticPen; | |
56217 | private: | |
56218 | QStroker basicStroker; | |
56219 | QDashStroker dashStroker; | |
56220 | QStrokerOps *stroker; | |
56221 | }; | |
56222 | ||
56223 | QByteArray ascii85Encode(const QByteArray &input); | |
56224 | ||
56225 | const char *toHex(ushort u, char *buffer); | |
56226 | const char *toHex(uchar u, char *buffer); | |
56227 | ||
56228 | ||
56229 | struct PaperSize { | |
56230 | int width, height; | |
56231 | }; | |
56232 | PaperSize paperSize(QPrinter::PaperSize paperSize); | |
56233 | const char *paperSizeToString(QPrinter::PaperSize paperSize); | |
56234 | ||
56235 | ||
56236 | QByteArray stripSpecialCharacters(const QByteArray &string); | |
56237 | }; | |
56238 | ||
56239 | ||
56240 | class QPdfPage : public QPdf::ByteStream | |
56241 | { | |
56242 | public: | |
56243 | QPdfPage(); | |
56244 | ||
56245 | QVector<uint> images; | |
56246 | QVector<uint> graphicStates; | |
56247 | QVector<uint> patterns; | |
56248 | QVector<uint> fonts; | |
56249 | QVector<uint> annotations; | |
56250 | ||
56251 | void streamImage(int w, int h, int object); | |
56252 | ||
56253 | QSize pageSize; | |
56254 | private: | |
56255 | }; | |
56256 | ||
56257 | ||
56258 | class QPdfBaseEnginePrivate; | |
56259 | ||
56260 | class QPdfBaseEngine : public QAlphaPaintEngine, public QPrintEngine | |
56261 | { | |
56262 | inline QPdfBaseEnginePrivate* d_func() { return reinterpret_cast<QPdfBaseEnginePrivate *>(d_ptr); } inline const QPdfBaseEnginePrivate* d_func() const { return reinterpret_cast<const QPdfBaseEnginePrivate *>(d_ptr); } friend class QPdfBaseEnginePrivate; | |
56263 | public: | |
56264 | QPdfBaseEngine(QPdfBaseEnginePrivate &d, PaintEngineFeatures f); | |
56265 | ~QPdfBaseEngine() {} | |
56266 | ||
56267 | ||
56268 | bool begin(QPaintDevice *pdev); | |
56269 | bool end(); | |
56270 | ||
56271 | void drawPoints(const QPointF *points, int pointCount); | |
56272 | void drawLines(const QLineF *lines, int lineCount); | |
56273 | void drawRects(const QRectF *rects, int rectCount); | |
56274 | void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); | |
56275 | void drawPath (const QPainterPath & path); | |
56276 | ||
56277 | void drawTextItem(const QPointF &p, const QTextItem &textItem); | |
56278 | ||
56279 | void updateState(const QPaintEngineState &state); | |
56280 | ||
56281 | int metric(QPaintDevice::PaintDeviceMetric metricType) const; | |
56282 | ||
56283 | ||
56284 | ||
56285 | bool newPage(); | |
56286 | void setProperty(PrintEnginePropertyKey key, const QVariant &value); | |
56287 | QVariant property(PrintEnginePropertyKey key) const; | |
56288 | ||
56289 | void setPen(); | |
56290 | virtual void setBrush() = 0; | |
56291 | void setupGraphicsState(QPaintEngine::DirtyFlags flags); | |
56292 | ||
56293 | private: | |
56294 | void updateClipPath(const QPainterPath & path, Qt::ClipOperation op); | |
56295 | ||
56296 | friend int qt_printerRealNumCopies(QPaintEngine *); | |
56297 | }; | |
56298 | ||
56299 | class QPdfBaseEnginePrivate : public QAlphaPaintEnginePrivate | |
56300 | { | |
56301 | inline QPdfBaseEngine* q_func() { return static_cast<QPdfBaseEngine *>(q_ptr); } inline const QPdfBaseEngine* q_func() const { return static_cast<const QPdfBaseEngine *>(q_ptr); } friend class QPdfBaseEngine; | |
56302 | public: | |
56303 | QPdfBaseEnginePrivate(QPrinter::PrinterMode m); | |
56304 | ~QPdfBaseEnginePrivate(); | |
56305 | ||
56306 | bool openPrintDevice(); | |
56307 | void closePrintDevice(); | |
56308 | ||
56309 | ||
56310 | virtual void drawTextItem(const QPointF &p, const QTextItemInt &ti); | |
56311 | inline uint requestObject() { return currentObject++; } | |
56312 | ||
56313 | QRect paperRect() const; | |
56314 | QRect pageRect() const; | |
56315 | ||
56316 | bool postscript; | |
56317 | int currentObject; | |
56318 | ||
56319 | QPdfPage* currentPage; | |
56320 | QPdf::Stroker stroker; | |
56321 | ||
56322 | QPointF brushOrigin; | |
56323 | QBrush brush; | |
56324 | QPen pen; | |
56325 | QList<QPainterPath> clips; | |
56326 | bool clipEnabled; | |
56327 | bool allClipped; | |
56328 | bool hasPen; | |
56329 | bool hasBrush; | |
56330 | bool simplePen; | |
56331 | qreal opacity; | |
56332 | bool useAlphaEngine; | |
56333 | ||
56334 | QHash<QFontEngine::FaceId, QFontSubset *> fonts; | |
56335 | ||
56336 | QPaintDevice *pdev; | |
56337 | ||
56338 | ||
56339 | QIODevice *outDevice; | |
56340 | int fd; | |
56341 | ||
56342 | ||
56343 | QString outputFileName; | |
56344 | QString printerName; | |
56345 | QString printProgram; | |
56346 | QString selectionOption; | |
56347 | QString title; | |
56348 | QString creator; | |
56349 | QPrinter::DuplexMode duplex; | |
56350 | bool collate; | |
56351 | bool fullPage; | |
56352 | bool embedFonts; | |
56353 | int copies; | |
56354 | int resolution; | |
56355 | QPrinter::PageOrder pageOrder; | |
56356 | QPrinter::Orientation orientation; | |
56357 | QPrinter::PaperSize paperSize; | |
56358 | QPrinter::ColorMode colorMode; | |
56359 | QPrinter::PaperSource paperSource; | |
56360 | ||
56361 | QStringList cupsOptions; | |
56362 | QRect cupsPaperRect; | |
56363 | QRect cupsPageRect; | |
56364 | QString cupsStringPageSize; | |
56365 | QSizeF customPaperSize; | |
56366 | bool hasCustomPageMargins; | |
56367 | qreal leftMargin, topMargin, rightMargin, bottomMargin; | |
56368 | ||
56369 | ||
56370 | ||
56371 | ||
56372 | }; | |
56373 | ||
56374 | ||
56375 | # 1 "../../include/QtGui/private/qpdf_p.h" 2 | |
56376 | # 50 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
56377 | # 1 "../../include/QtCore/qmath.h" 1 | |
56378 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmath.h" 1 | |
56379 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmath.h" | |
56380 | #define QMATH_H | |
56381 | ||
56382 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 1 3 4 | |
56383 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
56384 | #define _MATH_H 1 | |
56385 | ||
56386 | ||
56387 | ||
56388 | extern "C" { | |
56389 | ||
56390 | ||
56391 | ||
56392 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/huge_val.h" 1 3 4 | |
56393 | # 30 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/huge_val.h" 3 4 | |
56394 | #define HUGE_VAL (__builtin_huge_val()) | |
56395 | # 35 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
56396 | ||
56397 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/huge_valf.h" 1 3 4 | |
56398 | # 29 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/huge_valf.h" 3 4 | |
56399 | #define HUGE_VALF (__builtin_huge_valf()) | |
56400 | # 37 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
56401 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/huge_vall.h" 1 3 4 | |
56402 | # 26 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/huge_vall.h" 3 4 | |
56403 | #define HUGE_VALL (__builtin_huge_vall()) | |
56404 | # 38 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
56405 | ||
56406 | ||
56407 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/inf.h" 1 3 4 | |
56408 | # 27 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/inf.h" 3 4 | |
56409 | #define INFINITY (__builtin_inff()) | |
56410 | # 41 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
56411 | ||
56412 | ||
56413 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/nan.h" 1 3 4 | |
56414 | # 29 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/nan.h" 3 4 | |
56415 | #define NAN (__builtin_nanf ("")) | |
56416 | # 44 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
56417 | ||
56418 | ||
56419 | ||
56420 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathdef.h" 1 3 4 | |
56421 | # 24 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathdef.h" 3 4 | |
56422 | #define _MATH_H_MATHDEF 1 | |
56423 | ||
56424 | ||
56425 | ||
56426 | typedef double float_t; | |
56427 | ||
56428 | typedef double double_t; | |
56429 | ||
56430 | ||
56431 | ||
56432 | #define FP_ILOGB0 (-2147483647) | |
56433 | #define FP_ILOGBNAN 2147483647 | |
56434 | ||
56435 | ||
56436 | ||
56437 | ||
56438 | ||
56439 | ||
56440 | #define __NO_LONG_DOUBLE_MATH 1 | |
56441 | # 48 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
56442 | ||
56443 | ||
56444 | ||
56445 | ||
56446 | ||
56447 | ||
56448 | #define __MATHCALL(function,suffix,args) __MATHDECL (_Mdouble_,function,suffix, args) | |
56449 | ||
56450 | #define __MATHDECL(type,function,suffix,args) __MATHDECL_1(type, function,suffix, args); __MATHDECL_1(type, __CONCAT(__,function),suffix, args) | |
56451 | ||
56452 | ||
56453 | #define __MATHCALLX(function,suffix,args,attrib) __MATHDECLX (_Mdouble_,function,suffix, args, attrib) | |
56454 | ||
56455 | #define __MATHDECLX(type,function,suffix,args,attrib) __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib) | |
56456 | ||
56457 | ||
56458 | #define __MATHDECL_1(type,function,suffix,args) extern type __MATH_PRECNAME(function,suffix) args __THROW | |
56459 | ||
56460 | ||
56461 | #define _Mdouble_ double | |
56462 | #define __MATH_PRECNAME(name,r) __CONCAT(name,r) | |
56463 | #define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_STD | |
56464 | #define _Mdouble_END_NAMESPACE __END_NAMESPACE_STD | |
56465 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 1 3 4 | |
56466 | # 53 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 3 4 | |
56467 | ||
56468 | ||
56469 | extern double acos (double __x) throw (); extern double __acos (double __x) throw (); | |
56470 | ||
56471 | extern double asin (double __x) throw (); extern double __asin (double __x) throw (); | |
56472 | ||
56473 | extern double atan (double __x) throw (); extern double __atan (double __x) throw (); | |
56474 | ||
56475 | extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw (); | |
56476 | ||
56477 | ||
56478 | extern double cos (double __x) throw (); extern double __cos (double __x) throw (); | |
56479 | ||
56480 | extern double sin (double __x) throw (); extern double __sin (double __x) throw (); | |
56481 | ||
56482 | extern double tan (double __x) throw (); extern double __tan (double __x) throw (); | |
56483 | ||
56484 | ||
56485 | ||
56486 | ||
56487 | extern double cosh (double __x) throw (); extern double __cosh (double __x) throw (); | |
56488 | ||
56489 | extern double sinh (double __x) throw (); extern double __sinh (double __x) throw (); | |
56490 | ||
56491 | extern double tanh (double __x) throw (); extern double __tanh (double __x) throw (); | |
56492 | ||
56493 | # 87 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 3 4 | |
56494 | ||
56495 | ||
56496 | extern double acosh (double __x) throw (); extern double __acosh (double __x) throw (); | |
56497 | ||
56498 | extern double asinh (double __x) throw (); extern double __asinh (double __x) throw (); | |
56499 | ||
56500 | extern double atanh (double __x) throw (); extern double __atanh (double __x) throw (); | |
56501 | ||
56502 | ||
56503 | ||
56504 | ||
56505 | ||
56506 | ||
56507 | ||
56508 | extern double exp (double __x) throw (); extern double __exp (double __x) throw (); | |
56509 | ||
56510 | ||
56511 | extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw (); | |
56512 | ||
56513 | ||
56514 | extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw (); | |
56515 | ||
56516 | ||
56517 | extern double log (double __x) throw (); extern double __log (double __x) throw (); | |
56518 | ||
56519 | ||
56520 | extern double log10 (double __x) throw (); extern double __log10 (double __x) throw (); | |
56521 | ||
56522 | ||
56523 | extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw (); | |
56524 | ||
56525 | # 127 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 3 4 | |
56526 | ||
56527 | ||
56528 | extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw (); | |
56529 | ||
56530 | ||
56531 | extern double log1p (double __x) throw (); extern double __log1p (double __x) throw (); | |
56532 | ||
56533 | ||
56534 | extern double logb (double __x) throw (); extern double __logb (double __x) throw (); | |
56535 | ||
56536 | ||
56537 | ||
56538 | ||
56539 | ||
56540 | ||
56541 | extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw (); | |
56542 | ||
56543 | ||
56544 | extern double log2 (double __x) throw (); extern double __log2 (double __x) throw (); | |
56545 | ||
56546 | ||
56547 | ||
56548 | ||
56549 | ||
56550 | ||
56551 | ||
56552 | ||
56553 | extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw (); | |
56554 | ||
56555 | ||
56556 | extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw (); | |
56557 | ||
56558 | ||
56559 | ||
56560 | ||
56561 | ||
56562 | extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw (); | |
56563 | ||
56564 | ||
56565 | ||
56566 | ||
56567 | ||
56568 | ||
56569 | extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw (); | |
56570 | ||
56571 | ||
56572 | ||
56573 | ||
56574 | ||
56575 | ||
56576 | ||
56577 | ||
56578 | extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__)); | |
56579 | ||
56580 | ||
56581 | extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__)); | |
56582 | ||
56583 | ||
56584 | extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__)); | |
56585 | ||
56586 | ||
56587 | extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw (); | |
56588 | ||
56589 | ||
56590 | ||
56591 | ||
56592 | extern int __isinf (double __value) throw () __attribute__ ((__const__)); | |
56593 | ||
56594 | ||
56595 | extern int __finite (double __value) throw () __attribute__ ((__const__)); | |
56596 | ||
56597 | ||
56598 | ||
56599 | ||
56600 | ||
56601 | extern int isinf (double __value) throw () __attribute__ ((__const__)); | |
56602 | ||
56603 | ||
56604 | extern int finite (double __value) throw () __attribute__ ((__const__)); | |
56605 | ||
56606 | ||
56607 | extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); | |
56608 | ||
56609 | ||
56610 | ||
56611 | extern double significand (double __x) throw (); extern double __significand (double __x) throw (); | |
56612 | ||
56613 | ||
56614 | ||
56615 | ||
56616 | ||
56617 | extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); | |
56618 | ||
56619 | ||
56620 | ||
56621 | ||
56622 | ||
56623 | ||
56624 | extern double nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (__const char *__tagb) throw () __attribute__ ((__const__)); | |
56625 | ||
56626 | ||
56627 | ||
56628 | ||
56629 | ||
56630 | extern int __isnan (double __value) throw () __attribute__ ((__const__)); | |
56631 | ||
56632 | ||
56633 | ||
56634 | extern int isnan (double __value) throw () __attribute__ ((__const__)); | |
56635 | ||
56636 | ||
56637 | extern double j0 (double) throw (); extern double __j0 (double) throw (); | |
56638 | extern double j1 (double) throw (); extern double __j1 (double) throw (); | |
56639 | extern double jn (int, double) throw (); extern double __jn (int, double) throw (); | |
56640 | extern double y0 (double) throw (); extern double __y0 (double) throw (); | |
56641 | extern double y1 (double) throw (); extern double __y1 (double) throw (); | |
56642 | extern double yn (int, double) throw (); extern double __yn (int, double) throw (); | |
56643 | ||
56644 | ||
56645 | ||
56646 | ||
56647 | ||
56648 | ||
56649 | extern double erf (double) throw (); extern double __erf (double) throw (); | |
56650 | extern double erfc (double) throw (); extern double __erfc (double) throw (); | |
56651 | extern double lgamma (double) throw (); extern double __lgamma (double) throw (); | |
56652 | ||
56653 | ||
56654 | ||
56655 | ||
56656 | ||
56657 | ||
56658 | extern double tgamma (double) throw (); extern double __tgamma (double) throw (); | |
56659 | ||
56660 | ||
56661 | ||
56662 | ||
56663 | ||
56664 | extern double gamma (double) throw (); extern double __gamma (double) throw (); | |
56665 | ||
56666 | ||
56667 | ||
56668 | ||
56669 | ||
56670 | ||
56671 | extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); | |
56672 | ||
56673 | ||
56674 | ||
56675 | ||
56676 | ||
56677 | ||
56678 | ||
56679 | extern double rint (double __x) throw (); extern double __rint (double __x) throw (); | |
56680 | ||
56681 | ||
56682 | extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__)); | |
56683 | ||
56684 | extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); | |
56685 | ||
56686 | ||
56687 | ||
56688 | extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw (); | |
56689 | ||
56690 | ||
56691 | ||
56692 | extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw (); | |
56693 | ||
56694 | ||
56695 | ||
56696 | extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw (); | |
56697 | ||
56698 | ||
56699 | ||
56700 | ||
56701 | extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw (); | |
56702 | ||
56703 | ||
56704 | ||
56705 | extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw (); | |
56706 | ||
56707 | ||
56708 | ||
56709 | extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__)); | |
56710 | ||
56711 | ||
56712 | ||
56713 | extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__)); | |
56714 | ||
56715 | ||
56716 | ||
56717 | ||
56718 | extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw (); | |
56719 | ||
56720 | ||
56721 | ||
56722 | ||
56723 | ||
56724 | ||
56725 | extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw (); | |
56726 | extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw (); | |
56727 | ||
56728 | ||
56729 | ||
56730 | extern long int lround (double __x) throw (); extern long int __lround (double __x) throw (); | |
56731 | extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw (); | |
56732 | ||
56733 | ||
56734 | ||
56735 | extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw (); | |
56736 | ||
56737 | ||
56738 | extern double fmax (double __x, double __y) throw (); extern double __fmax (double __x, double __y) throw (); | |
56739 | ||
56740 | ||
56741 | extern double fmin (double __x, double __y) throw (); extern double __fmin (double __x, double __y) throw (); | |
56742 | ||
56743 | ||
56744 | ||
56745 | extern int __fpclassify (double __value) throw () | |
56746 | __attribute__ ((__const__)); | |
56747 | ||
56748 | ||
56749 | extern int __signbit (double __value) throw () | |
56750 | __attribute__ ((__const__)); | |
56751 | ||
56752 | ||
56753 | ||
56754 | extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); | |
56755 | ||
56756 | ||
56757 | ||
56758 | ||
56759 | ||
56760 | ||
56761 | ||
56762 | ||
56763 | extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); | |
56764 | # 72 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
56765 | #undef _Mdouble_ | |
56766 | #undef _Mdouble_BEGIN_NAMESPACE | |
56767 | #undef _Mdouble_END_NAMESPACE | |
56768 | #undef __MATH_PRECNAME | |
56769 | # 84 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
56770 | #define _Mfloat_ float | |
56771 | ||
56772 | #define _Mdouble_ _Mfloat_ | |
56773 | ||
56774 | #define __MATH_PRECNAME(name,r) name ##f ##r | |
56775 | ||
56776 | ||
56777 | ||
56778 | #define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99 | |
56779 | #define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99 | |
56780 | # 1 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 1 3 4 | |
56781 | # 53 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 3 4 | |
56782 | ||
56783 | ||
56784 | extern float acosf (float __x) throw (); extern float __acosf (float __x) throw (); | |
56785 | ||
56786 | extern float asinf (float __x) throw (); extern float __asinf (float __x) throw (); | |
56787 | ||
56788 | extern float atanf (float __x) throw (); extern float __atanf (float __x) throw (); | |
56789 | ||
56790 | extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw (); | |
56791 | ||
56792 | ||
56793 | extern float cosf (float __x) throw (); extern float __cosf (float __x) throw (); | |
56794 | ||
56795 | extern float sinf (float __x) throw (); extern float __sinf (float __x) throw (); | |
56796 | ||
56797 | extern float tanf (float __x) throw (); extern float __tanf (float __x) throw (); | |
56798 | ||
56799 | ||
56800 | ||
56801 | ||
56802 | extern float coshf (float __x) throw (); extern float __coshf (float __x) throw (); | |
56803 | ||
56804 | extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw (); | |
56805 | ||
56806 | extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw (); | |
56807 | ||
56808 | # 87 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 3 4 | |
56809 | ||
56810 | ||
56811 | extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw (); | |
56812 | ||
56813 | extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw (); | |
56814 | ||
56815 | extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw (); | |
56816 | ||
56817 | ||
56818 | ||
56819 | ||
56820 | ||
56821 | ||
56822 | ||
56823 | extern float expf (float __x) throw (); extern float __expf (float __x) throw (); | |
56824 | ||
56825 | ||
56826 | extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw (); | |
56827 | ||
56828 | ||
56829 | extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw (); | |
56830 | ||
56831 | ||
56832 | extern float logf (float __x) throw (); extern float __logf (float __x) throw (); | |
56833 | ||
56834 | ||
56835 | extern float log10f (float __x) throw (); extern float __log10f (float __x) throw (); | |
56836 | ||
56837 | ||
56838 | extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw (); | |
56839 | ||
56840 | # 127 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/mathcalls.h" 3 4 | |
56841 | ||
56842 | ||
56843 | extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw (); | |
56844 | ||
56845 | ||
56846 | extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw (); | |
56847 | ||
56848 | ||
56849 | extern float logbf (float __x) throw (); extern float __logbf (float __x) throw (); | |
56850 | ||
56851 | ||
56852 | ||
56853 | ||
56854 | ||
56855 | ||
56856 | extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw (); | |
56857 | ||
56858 | ||
56859 | extern float log2f (float __x) throw (); extern float __log2f (float __x) throw (); | |
56860 | ||
56861 | ||
56862 | ||
56863 | ||
56864 | ||
56865 | ||
56866 | ||
56867 | ||
56868 | extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw (); | |
56869 | ||
56870 | ||
56871 | extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw (); | |
56872 | ||
56873 | ||
56874 | ||
56875 | ||
56876 | ||
56877 | extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw (); | |
56878 | ||
56879 | ||
56880 | ||
56881 | ||
56882 | ||
56883 | ||
56884 | extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw (); | |
56885 | ||
56886 | ||
56887 | ||
56888 | ||
56889 | ||
56890 | ||
56891 | ||
56892 | ||
56893 | extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__)); | |
56894 | ||
56895 | ||
56896 | extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__)); | |
56897 | ||
56898 | ||
56899 | extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__)); | |
56900 | ||
56901 | ||
56902 | extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw (); | |
56903 | ||
56904 | ||
56905 | ||
56906 | ||
56907 | extern int __isinff (float __value) throw () __attribute__ ((__const__)); | |
56908 | ||
56909 | ||
56910 | extern int __finitef (float __value) throw () __attribute__ ((__const__)); | |
56911 | ||
56912 | ||
56913 | ||
56914 | ||
56915 | ||
56916 | extern int isinff (float __value) throw () __attribute__ ((__const__)); | |
56917 | ||
56918 | ||
56919 | extern int finitef (float __value) throw () __attribute__ ((__const__)); | |
56920 | ||
56921 | ||
56922 | extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw (); | |
56923 | ||
56924 | ||
56925 | ||
56926 | extern float significandf (float __x) throw (); extern float __significandf (float __x) throw (); | |
56927 | ||
56928 | ||
56929 | ||
56930 | ||
56931 | ||
56932 | extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__)); | |
56933 | ||
56934 | ||
56935 | ||
56936 | ||
56937 | ||
56938 | ||
56939 | extern float nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) throw () __attribute__ ((__const__)); | |
56940 | ||
56941 | ||
56942 | ||
56943 | ||
56944 | ||
56945 | extern int __isnanf (float __value) throw () __attribute__ ((__const__)); | |
56946 | ||
56947 | ||
56948 | ||
56949 | extern int isnanf (float __value) throw () __attribute__ ((__const__)); | |
56950 | ||
56951 | ||
56952 | extern float j0f (float) throw (); extern float __j0f (float) throw (); | |
56953 | extern float j1f (float) throw (); extern float __j1f (float) throw (); | |
56954 | extern float jnf (int, float) throw (); extern float __jnf (int, float) throw (); | |
56955 | extern float y0f (float) throw (); extern float __y0f (float) throw (); | |
56956 | extern float y1f (float) throw (); extern float __y1f (float) throw (); | |
56957 | extern float ynf (int, float) throw (); extern float __ynf (int, float) throw (); | |
56958 | ||
56959 | ||
56960 | ||
56961 | ||
56962 | ||
56963 | ||
56964 | extern float erff (float) throw (); extern float __erff (float) throw (); | |
56965 | extern float erfcf (float) throw (); extern float __erfcf (float) throw (); | |
56966 | extern float lgammaf (float) throw (); extern float __lgammaf (float) throw (); | |
56967 | ||
56968 | ||
56969 | ||
56970 | ||
56971 | ||
56972 | ||
56973 | extern float tgammaf (float) throw (); extern float __tgammaf (float) throw (); | |
56974 | ||
56975 | ||
56976 | ||
56977 | ||
56978 | ||
56979 | extern float gammaf (float) throw (); extern float __gammaf (float) throw (); | |
56980 | ||
56981 | ||
56982 | ||
56983 | ||
56984 | ||
56985 | ||
56986 | extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw (); | |
56987 | ||
56988 | ||
56989 | ||
56990 | ||
56991 | ||
56992 | ||
56993 | ||
56994 | extern float rintf (float __x) throw (); extern float __rintf (float __x) throw (); | |
56995 | ||
56996 | ||
56997 | extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); | |
56998 | ||
56999 | extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); | |
57000 | ||
57001 | ||
57002 | ||
57003 | extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw (); | |
57004 | ||
57005 | ||
57006 | ||
57007 | extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw (); | |
57008 | ||
57009 | ||
57010 | ||
57011 | extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw (); | |
57012 | ||
57013 | ||
57014 | ||
57015 | ||
57016 | extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw (); | |
57017 | ||
57018 | ||
57019 | ||
57020 | extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw (); | |
57021 | ||
57022 | ||
57023 | ||
57024 | extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__)); | |
57025 | ||
57026 | ||
57027 | ||
57028 | extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__)); | |
57029 | ||
57030 | ||
57031 | ||
57032 | ||
57033 | extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw (); | |
57034 | ||
57035 | ||
57036 | ||
57037 | ||
57038 | ||
57039 | ||
57040 | extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw (); | |
57041 | extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw (); | |
57042 | ||
57043 | ||
57044 | ||
57045 | extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw (); | |
57046 | extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw (); | |
57047 | ||
57048 | ||
57049 | ||
57050 | extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw (); | |
57051 | ||
57052 | ||
57053 | extern float fmaxf (float __x, float __y) throw (); extern float __fmaxf (float __x, float __y) throw (); | |
57054 | ||
57055 | ||
57056 | extern float fminf (float __x, float __y) throw (); extern float __fminf (float __x, float __y) throw (); | |
57057 | ||
57058 | ||
57059 | ||
57060 | extern int __fpclassifyf (float __value) throw () | |
57061 | __attribute__ ((__const__)); | |
57062 | ||
57063 | ||
57064 | extern int __signbitf (float __value) throw () | |
57065 | __attribute__ ((__const__)); | |
57066 | ||
57067 | ||
57068 | ||
57069 | extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); | |
57070 | ||
57071 | ||
57072 | ||
57073 | ||
57074 | ||
57075 | ||
57076 | ||
57077 | ||
57078 | extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); | |
57079 | # 95 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 2 3 4 | |
57080 | #undef _Mdouble_ | |
57081 | #undef _Mdouble_BEGIN_NAMESPACE | |
57082 | #undef _Mdouble_END_NAMESPACE | |
57083 | #undef __MATH_PRECNAME | |
57084 | # 150 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57085 | #undef __MATHDECL_1 | |
57086 | #undef __MATHDECL | |
57087 | #undef __MATHCALL | |
57088 | ||
57089 | ||
57090 | ||
57091 | ||
57092 | extern int signgam; | |
57093 | # 198 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57094 | enum | |
57095 | { | |
57096 | FP_NAN, | |
57097 | #define FP_NAN FP_NAN | |
57098 | FP_INFINITE, | |
57099 | #define FP_INFINITE FP_INFINITE | |
57100 | FP_ZERO, | |
57101 | #define FP_ZERO FP_ZERO | |
57102 | FP_SUBNORMAL, | |
57103 | #define FP_SUBNORMAL FP_SUBNORMAL | |
57104 | FP_NORMAL | |
57105 | #define FP_NORMAL FP_NORMAL | |
57106 | }; | |
57107 | ||
57108 | ||
57109 | ||
57110 | #define fpclassify(x) (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x)) | |
57111 | # 226 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57112 | #define signbit(x) (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x)) | |
57113 | # 238 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57114 | #define isfinite(x) (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x)) | |
57115 | # 249 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57116 | #define isnormal(x) (fpclassify (x) == FP_NORMAL) | |
57117 | ||
57118 | ||
57119 | ||
57120 | ||
57121 | #define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x)) | |
57122 | # 266 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57123 | #define isinf(x) (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x)) | |
57124 | # 277 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57125 | #define MATH_ERRNO 1 | |
57126 | #define MATH_ERREXCEPT 2 | |
57127 | ||
57128 | ||
57129 | ||
57130 | ||
57131 | ||
57132 | typedef enum | |
57133 | { | |
57134 | _IEEE_ = -1, | |
57135 | _SVID_, | |
57136 | _XOPEN_, | |
57137 | _POSIX_, | |
57138 | _ISOC_ | |
57139 | } _LIB_VERSION_TYPE; | |
57140 | ||
57141 | ||
57142 | ||
57143 | ||
57144 | extern _LIB_VERSION_TYPE _LIB_VERSION; | |
57145 | # 307 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57146 | struct __exception | |
57147 | ||
57148 | ||
57149 | ||
57150 | { | |
57151 | int type; | |
57152 | char *name; | |
57153 | double arg1; | |
57154 | double arg2; | |
57155 | double retval; | |
57156 | }; | |
57157 | ||
57158 | ||
57159 | extern int matherr (struct __exception *__exc) throw (); | |
57160 | ||
57161 | ||
57162 | ||
57163 | ||
57164 | #define X_TLOSS 1.41484755040568800000e+16 | |
57165 | ||
57166 | ||
57167 | #define DOMAIN 1 | |
57168 | #define SING 2 | |
57169 | #define OVERFLOW 3 | |
57170 | #define UNDERFLOW 4 | |
57171 | #define TLOSS 5 | |
57172 | #define PLOSS 6 | |
57173 | ||
57174 | ||
57175 | #define HUGE 3.40282347e+38F | |
57176 | # 350 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57177 | #define M_E 2.7182818284590452354 | |
57178 | #define M_LOG2E 1.4426950408889634074 | |
57179 | #define M_LOG10E 0.43429448190325182765 | |
57180 | #define M_LN2 0.69314718055994530942 | |
57181 | #define M_LN10 2.30258509299404568402 | |
57182 | #define M_PI 3.14159265358979323846 | |
57183 | #define M_PI_2 1.57079632679489661923 | |
57184 | #define M_PI_4 0.78539816339744830962 | |
57185 | #define M_1_PI 0.31830988618379067154 | |
57186 | #define M_2_PI 0.63661977236758134308 | |
57187 | #define M_2_SQRTPI 1.12837916709551257390 | |
57188 | #define M_SQRT2 1.41421356237309504880 | |
57189 | #define M_SQRT1_2 0.70710678118654752440 | |
57190 | ||
57191 | ||
57192 | ||
57193 | ||
57194 | ||
57195 | ||
57196 | #define M_El 2.7182818284590452353602874713526625L | |
57197 | #define M_LOG2El 1.4426950408889634073599246810018921L | |
57198 | #define M_LOG10El 0.4342944819032518276511289189166051L | |
57199 | #define M_LN2l 0.6931471805599453094172321214581766L | |
57200 | #define M_LN10l 2.3025850929940456840179914546843642L | |
57201 | #define M_PIl 3.1415926535897932384626433832795029L | |
57202 | #define M_PI_2l 1.5707963267948966192313216916397514L | |
57203 | #define M_PI_4l 0.7853981633974483096156608458198757L | |
57204 | #define M_1_PIl 0.3183098861837906715377675267450287L | |
57205 | #define M_2_PIl 0.6366197723675813430755350534900574L | |
57206 | #define M_2_SQRTPIl 1.1283791670955125738961589031215452L | |
57207 | #define M_SQRT2l 1.4142135623730950488016887242096981L | |
57208 | #define M_SQRT1_2l 0.7071067811865475244008443621048490L | |
57209 | # 399 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57210 | #define isgreater(x,y) __builtin_isgreater(x, y) | |
57211 | #define isgreaterequal(x,y) __builtin_isgreaterequal(x, y) | |
57212 | #define isless(x,y) __builtin_isless(x, y) | |
57213 | #define islessequal(x,y) __builtin_islessequal(x, y) | |
57214 | #define islessgreater(x,y) __builtin_islessgreater(x, y) | |
57215 | #define isunordered(u,v) __builtin_isunordered(u, v) | |
57216 | # 465 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4 | |
57217 | } | |
57218 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmath.h" 2 | |
57219 | ||
57220 | # 1 "../../include/QtCore/qglobal.h" 1 | |
57221 | # 48 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qmath.h" 2 | |
57222 | ||
57223 | ||
57224 | ||
57225 | ||
57226 | ||
57227 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
57228 | ||
57229 | inline int qCeil(qreal v) | |
57230 | { | |
57231 | ||
57232 | if (sizeof(qreal) == sizeof(float)) | |
57233 | return int(ceilf(v)); | |
57234 | else | |
57235 | ||
57236 | return int(ceil(v)); | |
57237 | } | |
57238 | ||
57239 | inline int qFloor(qreal v) | |
57240 | { | |
57241 | ||
57242 | if (sizeof(qreal) == sizeof(float)) | |
57243 | return int(floorf(v)); | |
57244 | else | |
57245 | ||
57246 | return int(floor(v)); | |
57247 | } | |
57248 | ||
57249 | inline qreal qSin(qreal v) | |
57250 | { | |
57251 | ||
57252 | if (sizeof(qreal) == sizeof(float)) | |
57253 | return sinf(v); | |
57254 | else | |
57255 | ||
57256 | return sin(v); | |
57257 | } | |
57258 | ||
57259 | inline qreal qCos(qreal v) | |
57260 | { | |
57261 | ||
57262 | if (sizeof(qreal) == sizeof(float)) | |
57263 | return cosf(v); | |
57264 | else | |
57265 | ||
57266 | return cos(v); | |
57267 | } | |
57268 | ||
57269 | inline qreal qAcos(qreal v) | |
57270 | { | |
57271 | ||
57272 | if (sizeof(qreal) == sizeof(float)) | |
57273 | return acosf(v); | |
57274 | else | |
57275 | ||
57276 | return acos(v); | |
57277 | } | |
57278 | ||
57279 | inline qreal qSqrt(qreal v) | |
57280 | { | |
57281 | ||
57282 | if (sizeof(qreal) == sizeof(float)) | |
57283 | return sqrtf(v); | |
57284 | else | |
57285 | ||
57286 | return sqrt(v); | |
57287 | } | |
57288 | ||
57289 | inline qreal qLn(qreal v) | |
57290 | { | |
57291 | ||
57292 | if (sizeof(qreal) == sizeof(float)) | |
57293 | return logf(v); | |
57294 | else | |
57295 | ||
57296 | return log(v); | |
57297 | } | |
57298 | ||
57299 | inline qreal qPow(qreal x, qreal y) | |
57300 | { | |
57301 | ||
57302 | if (sizeof(qreal) == sizeof(float)) | |
57303 | return powf(x, y); | |
57304 | else | |
57305 | ||
57306 | return pow(x, y); | |
57307 | } | |
57308 | ||
57309 | ||
57310 | ||
57311 | ||
57312 | # 1 "../../include/QtCore/qmath.h" 2 | |
57313 | # 51 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
57314 | # 1 "../../include/QtCore/qendian.h" 1 | |
57315 | # 1 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qendian.h" 1 | |
57316 | # 43 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qendian.h" | |
57317 | #define QENDIAN_H | |
57318 | ||
57319 | # 1 "../../include/QtCore/qglobal.h" 1 | |
57320 | # 46 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qendian.h" 2 | |
57321 | ||
57322 | ||
57323 | ||
57324 | ||
57325 | ||
57326 | typedef QtValidLicenseForCoreModule QtCoreModule; | |
57327 | ||
57328 | ||
57329 | ||
57330 | ||
57331 | inline void qbswap_helper(const uchar *src, uchar *dest, int size) | |
57332 | { | |
57333 | for (int i = 0; i < size ; ++i) dest[i] = src[size - 1 - i]; | |
57334 | } | |
57335 | ||
57336 | ||
57337 | ||
57338 | ||
57339 | ||
57340 | ||
57341 | ||
57342 | template <typename T> inline void qbswap(const T src, uchar *dest) | |
57343 | { | |
57344 | qbswap_helper(reinterpret_cast<const uchar *>(&src), dest, sizeof(T)); | |
57345 | } | |
57346 | ||
57347 | ||
57348 | ||
57349 | template <typename T> inline void qToUnaligned(const T src, uchar *dest) | |
57350 | { | |
57351 | qMemCopy(dest, &src, sizeof(T)); | |
57352 | } | |
57353 | # 127 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qendian.h" | |
57354 | template <typename T> inline T qFromLittleEndian(const uchar *src); | |
57355 | template <> inline quint64 qFromLittleEndian<quint64>(const uchar *src) | |
57356 | { | |
57357 | return 0 | |
57358 | | src[0] | |
57359 | | src[1] * static_cast<unsigned long long>(0x0000000000000100ULL) | |
57360 | | src[2] * static_cast<unsigned long long>(0x0000000000010000ULL) | |
57361 | | src[3] * static_cast<unsigned long long>(0x0000000001000000ULL) | |
57362 | | src[4] * static_cast<unsigned long long>(0x0000000100000000ULL) | |
57363 | | src[5] * static_cast<unsigned long long>(0x0000010000000000ULL) | |
57364 | | src[6] * static_cast<unsigned long long>(0x0001000000000000ULL) | |
57365 | | src[7] * static_cast<unsigned long long>(0x0100000000000000ULL); | |
57366 | } | |
57367 | ||
57368 | template <> inline quint32 qFromLittleEndian<quint32>(const uchar *src) | |
57369 | { | |
57370 | return 0 | |
57371 | | src[0] | |
57372 | | src[1] * quint32(0x00000100) | |
57373 | | src[2] * quint32(0x00010000) | |
57374 | | src[3] * quint32(0x01000000); | |
57375 | } | |
57376 | ||
57377 | template <> inline quint16 qFromLittleEndian<quint16>(const uchar *src) | |
57378 | { | |
57379 | return 0 | |
57380 | | src[0] | |
57381 | | src[1] * 0x0100; | |
57382 | } | |
57383 | ||
57384 | ||
57385 | template <> inline qint64 qFromLittleEndian<qint64>(const uchar *src) | |
57386 | { return static_cast<qint64>(qFromLittleEndian<quint64>(src)); } | |
57387 | ||
57388 | template <> inline qint32 qFromLittleEndian<qint32>(const uchar *src) | |
57389 | { return static_cast<qint32>(qFromLittleEndian<quint32>(src)); } | |
57390 | ||
57391 | template <> inline qint16 qFromLittleEndian<qint16>(const uchar *src) | |
57392 | { return static_cast<qint16>(qFromLittleEndian<quint16>(src)); } | |
57393 | # 216 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qendian.h" | |
57394 | template <class T> inline T qFromBigEndian(const uchar *src); | |
57395 | template<> | |
57396 | inline quint64 qFromBigEndian<quint64>(const uchar *src) | |
57397 | { | |
57398 | return 0 | |
57399 | | src[7] | |
57400 | | src[6] * static_cast<unsigned long long>(0x0000000000000100ULL) | |
57401 | | src[5] * static_cast<unsigned long long>(0x0000000000010000ULL) | |
57402 | | src[4] * static_cast<unsigned long long>(0x0000000001000000ULL) | |
57403 | | src[3] * static_cast<unsigned long long>(0x0000000100000000ULL) | |
57404 | | src[2] * static_cast<unsigned long long>(0x0000010000000000ULL) | |
57405 | | src[1] * static_cast<unsigned long long>(0x0001000000000000ULL) | |
57406 | | src[0] * static_cast<unsigned long long>(0x0100000000000000ULL); | |
57407 | } | |
57408 | ||
57409 | template<> | |
57410 | inline quint32 qFromBigEndian<quint32>(const uchar *src) | |
57411 | { | |
57412 | return 0 | |
57413 | | src[3] | |
57414 | | src[2] * quint32(0x00000100) | |
57415 | | src[1] * quint32(0x00010000) | |
57416 | | src[0] * quint32(0x01000000); | |
57417 | } | |
57418 | ||
57419 | template<> | |
57420 | inline quint16 qFromBigEndian<quint16>(const uchar *src) | |
57421 | { | |
57422 | return 0 | |
57423 | | src[1] | |
57424 | | src[0] * quint16(0x0100); | |
57425 | } | |
57426 | ||
57427 | ||
57428 | ||
57429 | template <> inline qint64 qFromBigEndian<qint64>(const uchar *src) | |
57430 | { return static_cast<qint64>(qFromBigEndian<quint64>(src)); } | |
57431 | ||
57432 | template <> inline qint32 qFromBigEndian<qint32>(const uchar *src) | |
57433 | { return static_cast<qint32>(qFromBigEndian<quint32>(src)); } | |
57434 | ||
57435 | template <> inline qint16 qFromBigEndian<qint16>(const uchar *src) | |
57436 | { return static_cast<qint16>(qFromBigEndian<quint16>(src)); } | |
57437 | ||
57438 | ||
57439 | ||
57440 | ||
57441 | ||
57442 | ||
57443 | ||
57444 | template <typename T> T qbswap(T source); | |
57445 | template <> inline quint64 qbswap<quint64>(quint64 source) | |
57446 | { | |
57447 | return 0 | |
57448 | | ((source & static_cast<unsigned long long>(0x00000000000000ffULL)) << 56) | |
57449 | | ((source & static_cast<unsigned long long>(0x000000000000ff00ULL)) << 40) | |
57450 | | ((source & static_cast<unsigned long long>(0x0000000000ff0000ULL)) << 24) | |
57451 | | ((source & static_cast<unsigned long long>(0x00000000ff000000ULL)) << 8) | |
57452 | | ((source & static_cast<unsigned long long>(0x000000ff00000000ULL)) >> 8) | |
57453 | | ((source & static_cast<unsigned long long>(0x0000ff0000000000ULL)) >> 24) | |
57454 | | ((source & static_cast<unsigned long long>(0x00ff000000000000ULL)) >> 40) | |
57455 | | ((source & static_cast<unsigned long long>(0xff00000000000000ULL)) >> 56); | |
57456 | } | |
57457 | ||
57458 | template <> inline quint32 qbswap<quint32>(quint32 source) | |
57459 | { | |
57460 | return 0 | |
57461 | | ((source & 0x000000ff) << 24) | |
57462 | | ((source & 0x0000ff00) << 8) | |
57463 | | ((source & 0x00ff0000) >> 8) | |
57464 | | ((source & 0xff000000) >> 24); | |
57465 | } | |
57466 | ||
57467 | template <> inline quint16 qbswap<quint16>(quint16 source) | |
57468 | { | |
57469 | return 0 | |
57470 | | ((source & 0x00ff) << 8) | |
57471 | | ((source & 0xff00) >> 8); | |
57472 | } | |
57473 | ||
57474 | ||
57475 | template <> inline qint64 qbswap<qint64>(qint64 source) | |
57476 | { | |
57477 | return qbswap<quint64>(quint64(source)); | |
57478 | } | |
57479 | ||
57480 | template <> inline qint32 qbswap<qint32>(qint32 source) | |
57481 | { | |
57482 | return qbswap<quint32>(quint32(source)); | |
57483 | } | |
57484 | ||
57485 | template <> inline qint16 qbswap<qint16>(qint16 source) | |
57486 | { | |
57487 | return qbswap<quint16>(quint16(source)); | |
57488 | } | |
57489 | # 328 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qendian.h" | |
57490 | template <typename T> inline T qToBigEndian(T source) | |
57491 | { return qbswap<T>(source); } | |
57492 | template <typename T> inline T qFromBigEndian(T source) | |
57493 | { return qbswap<T>(source); } | |
57494 | template <typename T> inline T qToLittleEndian(T source) | |
57495 | { return source; } | |
57496 | template <typename T> inline T qFromLittleEndian(T source) | |
57497 | { return source; } | |
57498 | template <typename T> inline void qToBigEndian(T src, uchar *dest) | |
57499 | { qbswap<T>(src, dest); } | |
57500 | template <typename T> inline void qToLittleEndian(T src, uchar *dest) | |
57501 | { qToUnaligned<T>(src, dest); } | |
57502 | ||
57503 | ||
57504 | ||
57505 | ||
57506 | ||
57507 | ||
57508 | # 1 "../../include/QtCore/qendian.h" 2 | |
57509 | # 52 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
57510 | # 1 "../../include/QtCore/private/qharfbuzz_p.h" 1 | |
57511 | # 53 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" 2 | |
57512 | ||
57513 | ||
57514 | ||
57515 | static inline bool qtransform_equals_no_translate(const QTransform &a, const QTransform &b) | |
57516 | { | |
57517 | if (a.type() <= QTransform::TxTranslate && b.type() <= QTransform::TxTranslate) { | |
57518 | return true; | |
57519 | } else { | |
57520 | ||
57521 | ||
57522 | qt_noop(); | |
57523 | qt_noop(); | |
57524 | ||
57525 | return a.m11() == b.m11() | |
57526 | && a.m12() == b.m12() | |
57527 | && a.m21() == b.m21() | |
57528 | && a.m22() == b.m22(); | |
57529 | } | |
57530 | } | |
57531 | ||
57532 | ||
57533 | ||
57534 | QFontEngineGlyphCache::~QFontEngineGlyphCache() | |
57535 | { | |
57536 | } | |
57537 | ||
57538 | ||
57539 | ||
57540 | static HB_Bool hb_stringToGlyphs(HB_Font font, const HB_UChar16 *string, hb_uint32 length, HB_Glyph *glyphs, hb_uint32 *numGlyphs, HB_Bool rightToLeft) | |
57541 | { | |
57542 | QFontEngine *fe = (QFontEngine *)font->userData; | |
57543 | ||
57544 | QVarLengthGlyphLayoutArray qglyphs(*numGlyphs); | |
57545 | ||
57546 | QTextEngine::ShaperFlags shaperFlags(QTextEngine::GlyphIndicesOnly); | |
57547 | if (rightToLeft) | |
57548 | shaperFlags |= QTextEngine::RightToLeft; | |
57549 | ||
57550 | int nGlyphs = *numGlyphs; | |
57551 | bool result = fe->stringToCMap(reinterpret_cast<const QChar *>(string), length, &qglyphs, &nGlyphs, shaperFlags); | |
57552 | *numGlyphs = nGlyphs; | |
57553 | if (!result) | |
57554 | return false; | |
57555 | ||
57556 | for (hb_uint32 i = 0; i < *numGlyphs; ++i) | |
57557 | glyphs[i] = qglyphs.glyphs[i]; | |
57558 | ||
57559 | return true; | |
57560 | } | |
57561 | ||
57562 | static void hb_getAdvances(HB_Font font, const HB_Glyph *glyphs, hb_uint32 numGlyphs, HB_Fixed *advances, int flags) | |
57563 | { | |
57564 | QFontEngine *fe = (QFontEngine *)font->userData; | |
57565 | ||
57566 | QVarLengthGlyphLayoutArray qglyphs(numGlyphs); | |
57567 | ||
57568 | for (hb_uint32 i = 0; i < numGlyphs; ++i) | |
57569 | qglyphs.glyphs[i] = glyphs[i]; | |
57570 | ||
57571 | fe->recalcAdvances(&qglyphs, flags & HB_ShaperFlag_UseDesignMetrics ? QFlags<QTextEngine::ShaperFlag>(QTextEngine::DesignMetrics) : QFlags<QTextEngine::ShaperFlag>(0)); | |
57572 | ||
57573 | for (hb_uint32 i = 0; i < numGlyphs; ++i) | |
57574 | advances[i] = qglyphs.advances_x[i].value(); | |
57575 | } | |
57576 | ||
57577 | static HB_Bool hb_canRender(HB_Font font, const HB_UChar16 *string, hb_uint32 length) | |
57578 | { | |
57579 | QFontEngine *fe = (QFontEngine *)font->userData; | |
57580 | return fe->canRender(reinterpret_cast<const QChar *>(string), length); | |
57581 | } | |
57582 | ||
57583 | static void hb_getGlyphMetrics(HB_Font font, HB_Glyph glyph, HB_GlyphMetrics *metrics) | |
57584 | { | |
57585 | QFontEngine *fe = (QFontEngine *)font->userData; | |
57586 | glyph_metrics_t m = fe->boundingBox(glyph); | |
57587 | metrics->x = m.x.value(); | |
57588 | metrics->y = m.y.value(); | |
57589 | metrics->width = m.width.value(); | |
57590 | metrics->height = m.height.value(); | |
57591 | metrics->xOffset = m.xoff.value(); | |
57592 | metrics->yOffset = m.yoff.value(); | |
57593 | } | |
57594 | ||
57595 | static HB_Fixed hb_getFontMetric(HB_Font font, HB_FontMetric metric) | |
57596 | { | |
57597 | if (metric == HB_FontAscent) { | |
57598 | QFontEngine *fe = (QFontEngine *)font->userData; | |
57599 | return fe->ascent().value(); | |
57600 | } | |
57601 | return 0; | |
57602 | } | |
57603 | ||
57604 | HB_Error QFontEngine::getPointInOutline(HB_Glyph glyph, int flags, hb_uint32 point, HB_Fixed *xpos, HB_Fixed *ypos, hb_uint32 *nPoints) | |
57605 | { | |
57606 | (void)glyph; | |
57607 | (void)flags; | |
57608 | (void)point; | |
57609 | (void)xpos; | |
57610 | (void)ypos; | |
57611 | (void)nPoints; | |
57612 | return HB_Err_Not_Covered; | |
57613 | } | |
57614 | ||
57615 | static HB_Error hb_getPointInOutline(HB_Font font, HB_Glyph glyph, int flags, hb_uint32 point, HB_Fixed *xpos, HB_Fixed *ypos, hb_uint32 *nPoints) | |
57616 | { | |
57617 | QFontEngine *fe = (QFontEngine *)font->userData; | |
57618 | return fe->getPointInOutline(glyph, flags, point, xpos, ypos, nPoints); | |
57619 | } | |
57620 | ||
57621 | static const HB_FontClass hb_fontClass = { | |
57622 | hb_stringToGlyphs, hb_getAdvances, hb_canRender, hb_getPointInOutline, | |
57623 | hb_getGlyphMetrics, hb_getFontMetric | |
57624 | }; | |
57625 | ||
57626 | static HB_Error hb_getSFntTable(void *font, HB_Tag tableTag, HB_Byte *buffer, HB_UInt *length) | |
57627 | { | |
57628 | QFontEngine *fe = (QFontEngine *)font; | |
57629 | if (!fe->getSfntTableData(tableTag, buffer, length)) | |
57630 | return HB_Err_Invalid_Argument; | |
57631 | return HB_Err_Ok; | |
57632 | } | |
57633 | ||
57634 | ||
57635 | ||
57636 | QFontEngine::QFontEngine() | |
57637 | : QObject() | |
57638 | { | |
57639 | ref = 0; | |
57640 | cache_count = 0; | |
57641 | fsType = 0; | |
57642 | symbol = false; | |
57643 | memset(&hbFont, 0, sizeof(hbFont)); | |
57644 | hbFont.klass = &hb_fontClass; | |
57645 | hbFont.userData = this; | |
57646 | ||
57647 | hbFace = 0; | |
57648 | glyphFormat = -1; | |
57649 | } | |
57650 | ||
57651 | QFontEngine::~QFontEngine() | |
57652 | { | |
57653 | for (GlyphPointerHash::iterator it = m_glyphPointerHash.begin(), end = m_glyphPointerHash.end(); | |
57654 | it != end; ++it) { | |
57655 | for (QList<QFontEngineGlyphCache*>::iterator it2 = it.value().begin(), end2 = it.value().end(); | |
57656 | it2 != end2; ++it2) | |
57657 | delete *it2; | |
57658 | } | |
57659 | m_glyphPointerHash.clear(); | |
57660 | for (GlyphIntHash::iterator it = m_glyphIntHash.begin(), end = m_glyphIntHash.end(); | |
57661 | it != end; ++it) { | |
57662 | for (QList<QFontEngineGlyphCache*>::iterator it2 = it.value().begin(), end2 = it.value().end(); | |
57663 | it2 != end2; ++it2) | |
57664 | delete *it2; | |
57665 | } | |
57666 | m_glyphIntHash.clear(); | |
57667 | qHBFreeFace(hbFace); | |
57668 | } | |
57669 | ||
57670 | QFixed QFontEngine::lineThickness() const | |
57671 | { | |
57672 | ||
57673 | int score = fontDef.weight * fontDef.pixelSize; | |
57674 | int lw = score / 700; | |
57675 | ||
57676 | ||
57677 | if (lw < 2 && score >= 1050) lw = 2; | |
57678 | if (lw == 0) lw = 1; | |
57679 | ||
57680 | return lw; | |
57681 | } | |
57682 | ||
57683 | QFixed QFontEngine::underlinePosition() const | |
57684 | { | |
57685 | return ((lineThickness() * 2) + 3) / 6; | |
57686 | } | |
57687 | ||
57688 | HB_Font QFontEngine::harfbuzzFont() const | |
57689 | { | |
57690 | if (!hbFont.x_ppem) { | |
57691 | QFixed emSquare = emSquareSize(); | |
57692 | hbFont.x_ppem = fontDef.pixelSize; | |
57693 | hbFont.y_ppem = fontDef.pixelSize * fontDef.stretch / 100; | |
57694 | hbFont.x_scale = (QFixed(hbFont.x_ppem * (1 << 16)) / emSquare).value(); | |
57695 | hbFont.y_scale = (QFixed(hbFont.y_ppem * (1 << 16)) / emSquare).value(); | |
57696 | } | |
57697 | return &hbFont; | |
57698 | } | |
57699 | ||
57700 | HB_Face QFontEngine::harfbuzzFace() const | |
57701 | { | |
57702 | if (!hbFace) | |
57703 | hbFace = qHBNewFace(const_cast<QFontEngine *>(this), hb_getSFntTable); | |
57704 | return hbFace; | |
57705 | } | |
57706 | ||
57707 | glyph_metrics_t QFontEngine::boundingBox(glyph_t glyph, const QTransform &matrix) | |
57708 | { | |
57709 | glyph_metrics_t metrics = boundingBox(glyph); | |
57710 | ||
57711 | if (matrix.type() > QTransform::TxTranslate) { | |
57712 | return metrics.transformed(matrix); | |
57713 | } | |
57714 | return metrics; | |
57715 | } | |
57716 | ||
57717 | QFixed QFontEngine::xHeight() const | |
57718 | { | |
57719 | QGlyphLayoutArray<8> glyphs; | |
57720 | int nglyphs = 7; | |
57721 | QChar x((ushort)'x'); | |
57722 | stringToCMap(&x, 1, &glyphs, &nglyphs, QTextEngine::GlyphIndicesOnly); | |
57723 | ||
57724 | glyph_metrics_t bb = const_cast<QFontEngine *>(this)->boundingBox(glyphs.glyphs[0]); | |
57725 | return bb.height; | |
57726 | } | |
57727 | ||
57728 | QFixed QFontEngine::averageCharWidth() const | |
57729 | { | |
57730 | QGlyphLayoutArray<8> glyphs; | |
57731 | int nglyphs = 7; | |
57732 | QChar x((ushort)'x'); | |
57733 | stringToCMap(&x, 1, &glyphs, &nglyphs, QTextEngine::GlyphIndicesOnly); | |
57734 | ||
57735 | glyph_metrics_t bb = const_cast<QFontEngine *>(this)->boundingBox(glyphs.glyphs[0]); | |
57736 | return bb.xoff; | |
57737 | } | |
57738 | ||
57739 | ||
57740 | void QFontEngine::getGlyphPositions(const QGlyphLayout &glyphs, const QTransform &matrix, QTextItem::RenderFlags flags, | |
57741 | QVarLengthArray<glyph_t> &glyphs_out, QVarLengthArray<QFixedPoint> &positions) | |
57742 | { | |
57743 | QFixed xpos; | |
57744 | QFixed ypos; | |
57745 | ||
57746 | const bool transform = matrix.m11() != 1. | |
57747 | || matrix.m12() != 0. | |
57748 | || matrix.m21() != 0. | |
57749 | || matrix.m22() != 1.; | |
57750 | if (!transform) { | |
57751 | xpos = QFixed::fromReal(matrix.dx()); | |
57752 | ypos = QFixed::fromReal(matrix.dy()); | |
57753 | } | |
57754 | ||
57755 | int current = 0; | |
57756 | if (flags & QTextItem::RightToLeft) { | |
57757 | int i = glyphs.numGlyphs; | |
57758 | int totalKashidas = 0; | |
57759 | while(i--) { | |
57760 | xpos += glyphs.advances_x[i] + QFixed::fromFixed(glyphs.justifications[i].space_18d6); | |
57761 | ypos += glyphs.advances_y[i]; | |
57762 | totalKashidas += glyphs.justifications[i].nKashidas; | |
57763 | } | |
57764 | positions.resize(glyphs.numGlyphs+totalKashidas); | |
57765 | glyphs_out.resize(glyphs.numGlyphs+totalKashidas); | |
57766 | ||
57767 | i = 0; | |
57768 | while(i < glyphs.numGlyphs) { | |
57769 | if (glyphs.attributes[i].dontPrint) { | |
57770 | ++i; | |
57771 | continue; | |
57772 | } | |
57773 | xpos -= glyphs.advances_x[i]; | |
57774 | ypos -= glyphs.advances_y[i]; | |
57775 | ||
57776 | QFixed gpos_x = xpos + glyphs.offsets[i].x; | |
57777 | QFixed gpos_y = ypos + glyphs.offsets[i].y; | |
57778 | if (transform) { | |
57779 | QPointF gpos(gpos_x.toReal(), gpos_y.toReal()); | |
57780 | gpos = gpos * matrix; | |
57781 | gpos_x = QFixed::fromReal(gpos.x()); | |
57782 | gpos_y = QFixed::fromReal(gpos.y()); | |
57783 | } | |
57784 | positions[current].x = gpos_x; | |
57785 | positions[current].y = gpos_y; | |
57786 | glyphs_out[current] = glyphs.glyphs[i]; | |
57787 | ++current; | |
57788 | if (glyphs.justifications[i].nKashidas) { | |
57789 | QChar ch(0x640); | |
57790 | QGlyphLayoutArray<8> g; | |
57791 | int nglyphs = 7; | |
57792 | stringToCMap(&ch, 1, &g, &nglyphs, 0); | |
57793 | for (uint k = 0; k < glyphs.justifications[i].nKashidas; ++k) { | |
57794 | xpos -= g.advances_x[0]; | |
57795 | ypos -= g.advances_y[0]; | |
57796 | ||
57797 | QFixed gpos_x = xpos + glyphs.offsets[i].x; | |
57798 | QFixed gpos_y = ypos + glyphs.offsets[i].y; | |
57799 | if (transform) { | |
57800 | QPointF gpos(gpos_x.toReal(), gpos_y.toReal()); | |
57801 | gpos = gpos * matrix; | |
57802 | gpos_x = QFixed::fromReal(gpos.x()); | |
57803 | gpos_y = QFixed::fromReal(gpos.y()); | |
57804 | } | |
57805 | positions[current].x = gpos_x; | |
57806 | positions[current].y = gpos_y; | |
57807 | glyphs_out[current] = g.glyphs[0]; | |
57808 | ++current; | |
57809 | } | |
57810 | } else { | |
57811 | xpos -= QFixed::fromFixed(glyphs.justifications[i].space_18d6); | |
57812 | } | |
57813 | ++i; | |
57814 | } | |
57815 | } else { | |
57816 | positions.resize(glyphs.numGlyphs); | |
57817 | glyphs_out.resize(glyphs.numGlyphs); | |
57818 | int i = 0; | |
57819 | if (!transform) { | |
57820 | while (i < glyphs.numGlyphs) { | |
57821 | if (!glyphs.attributes[i].dontPrint) { | |
57822 | positions[current].x = xpos + glyphs.offsets[i].x; | |
57823 | positions[current].y = ypos + glyphs.offsets[i].y; | |
57824 | glyphs_out[current] = glyphs.glyphs[i]; | |
57825 | xpos += glyphs.advances_x[i] + QFixed::fromFixed(glyphs.justifications[i].space_18d6); | |
57826 | ypos += glyphs.advances_y[i]; | |
57827 | ++current; | |
57828 | } | |
57829 | ++i; | |
57830 | } | |
57831 | } else { | |
57832 | positions.resize(glyphs.numGlyphs); | |
57833 | glyphs_out.resize(glyphs.numGlyphs); | |
57834 | int i = 0; | |
57835 | while (i < glyphs.numGlyphs) { | |
57836 | if (!glyphs.attributes[i].dontPrint) { | |
57837 | QFixed gpos_x = xpos + glyphs.offsets[i].x; | |
57838 | QFixed gpos_y = ypos + glyphs.offsets[i].y; | |
57839 | QPointF gpos(gpos_x.toReal(), gpos_y.toReal()); | |
57840 | gpos = gpos * matrix; | |
57841 | positions[current].x = QFixed::fromReal(gpos.x()); | |
57842 | positions[current].y = QFixed::fromReal(gpos.y()); | |
57843 | glyphs_out[current] = glyphs.glyphs[i]; | |
57844 | xpos += glyphs.advances_x[i] + QFixed::fromFixed(glyphs.justifications[i].space_18d6); | |
57845 | ypos += glyphs.advances_y[i]; | |
57846 | ++current; | |
57847 | } | |
57848 | ++i; | |
57849 | } | |
57850 | } | |
57851 | } | |
57852 | positions.resize(current); | |
57853 | glyphs_out.resize(current); | |
57854 | qt_noop(); | |
57855 | } | |
57856 | ||
57857 | ||
57858 | glyph_metrics_t QFontEngine::tightBoundingBox(const QGlyphLayout &glyphs) | |
57859 | { | |
57860 | glyph_metrics_t overall; | |
57861 | ||
57862 | QFixed ymax = 0; | |
57863 | QFixed xmax = 0; | |
57864 | for (int i = 0; i < glyphs.numGlyphs; i++) { | |
57865 | glyph_metrics_t bb = boundingBox(glyphs.glyphs[i]); | |
57866 | QFixed x = overall.xoff + glyphs.offsets[i].x + bb.x; | |
57867 | QFixed y = overall.yoff + glyphs.offsets[i].y + bb.y; | |
57868 | overall.x = qMin(overall.x, x); | |
57869 | overall.y = qMin(overall.y, y); | |
57870 | xmax = qMax(xmax, x + bb.width); | |
57871 | ymax = qMax(ymax, y + bb.height); | |
57872 | overall.xoff += bb.xoff; | |
57873 | overall.yoff += bb.yoff; | |
57874 | } | |
57875 | overall.height = qMax(overall.height, ymax - overall.y); | |
57876 | overall.width = xmax - overall.x; | |
57877 | ||
57878 | return overall; | |
57879 | } | |
57880 | ||
57881 | ||
57882 | void QFontEngine::addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyphs, QPainterPath *path, | |
57883 | QTextItem::RenderFlags flags) | |
57884 | { | |
57885 | if (!glyphs.numGlyphs) | |
57886 | return; | |
57887 | ||
57888 | QVarLengthArray<QFixedPoint> positions; | |
57889 | QVarLengthArray<glyph_t> positioned_glyphs; | |
57890 | QTransform matrix; | |
57891 | matrix.translate(x, y); | |
57892 | getGlyphPositions(glyphs, matrix, flags, positioned_glyphs, positions); | |
57893 | addGlyphsToPath(positioned_glyphs.data(), positions.data(), positioned_glyphs.size(), path, flags); | |
57894 | } | |
57895 | ||
57896 | #define GRID(x,y) grid[(y)*(w+1) + (x)] | |
57897 | #define SET(x,y) (*(image_data + (y)*bpl + ((x) >> 3)) & (0x80 >> ((x) & 7))) | |
57898 | ||
57899 | enum { EdgeRight = 0x1, | |
57900 | EdgeDown = 0x2, | |
57901 | EdgeLeft = 0x4, | |
57902 | EdgeUp = 0x8 | |
57903 | }; | |
57904 | ||
57905 | static void collectSingleContour(qreal x0, qreal y0, uint *grid, int x, int y, int w, int h, QPainterPath *path) | |
57906 | { | |
57907 | (void)h;; | |
57908 | ||
57909 | path->moveTo(x + x0, y + y0); | |
57910 | while (grid[(y)*(w+1) + (x)]) { | |
57911 | if (grid[(y)*(w+1) + (x)] & EdgeRight) { | |
57912 | while (grid[(y)*(w+1) + (x)] & EdgeRight) { | |
57913 | grid[(y)*(w+1) + (x)] &= ~EdgeRight; | |
57914 | ++x; | |
57915 | } | |
57916 | qt_noop(); | |
57917 | path->lineTo(x + x0, y + y0); | |
57918 | continue; | |
57919 | } | |
57920 | if (grid[(y)*(w+1) + (x)] & EdgeDown) { | |
57921 | while (grid[(y)*(w+1) + (x)] & EdgeDown) { | |
57922 | grid[(y)*(w+1) + (x)] &= ~EdgeDown; | |
57923 | ++y; | |
57924 | } | |
57925 | qt_noop(); | |
57926 | path->lineTo(x + x0, y + y0); | |
57927 | continue; | |
57928 | } | |
57929 | if (grid[(y)*(w+1) + (x)] & EdgeLeft) { | |
57930 | while (grid[(y)*(w+1) + (x)] & EdgeLeft) { | |
57931 | grid[(y)*(w+1) + (x)] &= ~EdgeLeft; | |
57932 | --x; | |
57933 | } | |
57934 | qt_noop(); | |
57935 | path->lineTo(x + x0, y + y0); | |
57936 | continue; | |
57937 | } | |
57938 | if (grid[(y)*(w+1) + (x)] & EdgeUp) { | |
57939 | while (grid[(y)*(w+1) + (x)] & EdgeUp) { | |
57940 | grid[(y)*(w+1) + (x)] &= ~EdgeUp; | |
57941 | --y; | |
57942 | } | |
57943 | qt_noop(); | |
57944 | path->lineTo(x + x0, y + y0); | |
57945 | continue; | |
57946 | } | |
57947 | } | |
57948 | path->closeSubpath(); | |
57949 | } | |
57950 | ||
57951 | void qt_addBitmapToPath(qreal x0, qreal y0, const uchar *image_data, int bpl, int w, int h, QPainterPath *path) | |
57952 | { | |
57953 | uint *grid = new uint[(w+1)*(h+1)]; | |
57954 | ||
57955 | for (int y = 0; y <= h; ++y) { | |
57956 | for (int x = 0; x <= w; ++x) { | |
57957 | bool topLeft = (x == 0)|(y == 0) ? false : (*(image_data + (y - 1)*bpl + ((x - 1) >> 3)) & (0x80 >> ((x - 1) & 7))); | |
57958 | bool topRight = (x == w)|(y == 0) ? false : (*(image_data + (y - 1)*bpl + ((x) >> 3)) & (0x80 >> ((x) & 7))); | |
57959 | bool bottomLeft = (x == 0)|(y == h) ? false : (*(image_data + (y)*bpl + ((x - 1) >> 3)) & (0x80 >> ((x - 1) & 7))); | |
57960 | bool bottomRight = (x == w)|(y == h) ? false : (*(image_data + (y)*bpl + ((x) >> 3)) & (0x80 >> ((x) & 7))); | |
57961 | ||
57962 | grid[(y)*(w+1) + (x)] = 0; | |
57963 | if ((!topRight) & bottomRight) | |
57964 | grid[(y)*(w+1) + (x)] |= EdgeRight; | |
57965 | if ((!bottomRight) & bottomLeft) | |
57966 | grid[(y)*(w+1) + (x)] |= EdgeDown; | |
57967 | if ((!bottomLeft) & topLeft) | |
57968 | grid[(y)*(w+1) + (x)] |= EdgeLeft; | |
57969 | if ((!topLeft) & topRight) | |
57970 | grid[(y)*(w+1) + (x)] |= EdgeUp; | |
57971 | } | |
57972 | } | |
57973 | ||
57974 | ||
57975 | for (int y = 0; y < h; ++y) { | |
57976 | for (int x = 0; x < w; ++x) { | |
57977 | if (!grid[(y)*(w+1) + (x)]) | |
57978 | continue; | |
57979 | ||
57980 | collectSingleContour(x0, y0, grid, x, y, w, h, path); | |
57981 | } | |
57982 | } | |
57983 | delete [] grid; | |
57984 | } | |
57985 | ||
57986 | #undef GRID | |
57987 | #undef SET | |
57988 | ||
57989 | ||
57990 | void QFontEngine::addBitmapFontToPath(qreal x, qreal y, const QGlyphLayout &glyphs, | |
57991 | QPainterPath *path, QTextItem::RenderFlags flags) | |
57992 | { | |
57993 | ||
57994 | (void)flags;; | |
57995 | QFixed advanceX = QFixed::fromReal(x); | |
57996 | QFixed advanceY = QFixed::fromReal(y); | |
57997 | for (int i=0; i < glyphs.numGlyphs; ++i) { | |
57998 | glyph_metrics_t metrics = boundingBox(glyphs.glyphs[i]); | |
57999 | if (metrics.width.value() == 0 || metrics.height.value() == 0) { | |
58000 | advanceX += glyphs.advances_x[i]; | |
58001 | advanceY += glyphs.advances_y[i]; | |
58002 | continue; | |
58003 | } | |
58004 | const QImage alphaMask = alphaMapForGlyph(glyphs.glyphs[i]); | |
58005 | ||
58006 | const int w = alphaMask.width(); | |
58007 | const int h = alphaMask.height(); | |
58008 | const int srcBpl = alphaMask.bytesPerLine(); | |
58009 | QImage bitmap; | |
58010 | if (alphaMask.depth() == 1) { | |
58011 | bitmap = alphaMask; | |
58012 | } else { | |
58013 | bitmap = QImage(w, h, QImage::Format_Mono); | |
58014 | const uchar *imageData = alphaMask.bits(); | |
58015 | const int destBpl = bitmap.bytesPerLine(); | |
58016 | uchar *bitmapData = bitmap.bits(); | |
58017 | ||
58018 | for (int yi = 0; yi < h; ++yi) { | |
58019 | const uchar *src = imageData + yi*srcBpl; | |
58020 | uchar *dst = bitmapData + yi*destBpl; | |
58021 | for (int xi = 0; xi < w; ++xi) { | |
58022 | const int byte = xi / 8; | |
58023 | const int bit = xi % 8; | |
58024 | if (bit == 0) | |
58025 | dst[byte] = 0; | |
58026 | if (src[xi]) | |
58027 | dst[byte] |= 128 >> bit; | |
58028 | } | |
58029 | } | |
58030 | } | |
58031 | const uchar *bitmap_data = bitmap.bits(); | |
58032 | QFixedPoint offset = glyphs.offsets[i]; | |
58033 | advanceX += offset.x; | |
58034 | advanceY += offset.y; | |
58035 | qt_addBitmapToPath((advanceX + metrics.x).toReal(), (advanceY + metrics.y).toReal(), bitmap_data, bitmap.bytesPerLine(), w, h, path); | |
58036 | advanceX += glyphs.advances_x[i]; | |
58037 | advanceY += glyphs.advances_y[i]; | |
58038 | } | |
58039 | } | |
58040 | ||
58041 | void QFontEngine::addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int nGlyphs, | |
58042 | QPainterPath *path, QTextItem::RenderFlags flags) | |
58043 | { | |
58044 | qreal x = positions[0].x.toReal(); | |
58045 | qreal y = positions[0].y.toReal(); | |
58046 | QVarLengthGlyphLayoutArray g(nGlyphs); | |
58047 | ||
58048 | for (int i = 0; i < nGlyphs; ++i) { | |
58049 | g.glyphs[i] = glyphs[i]; | |
58050 | if (i < nGlyphs - 1) { | |
58051 | g.advances_x[i] = positions[i+1].x - positions[i].x; | |
58052 | g.advances_y[i] = positions[i+1].y - positions[i].y; | |
58053 | } else { | |
58054 | g.advances_x[i] = QFixed::fromReal(maxCharWidth()); | |
58055 | g.advances_y[i] = 0; | |
58056 | } | |
58057 | } | |
58058 | ||
58059 | addBitmapFontToPath(x, y, g, path, flags); | |
58060 | } | |
58061 | ||
58062 | QImage QFontEngine::alphaMapForGlyph(glyph_t glyph, const QTransform &t) | |
58063 | { | |
58064 | QImage i = alphaMapForGlyph(glyph); | |
58065 | if (t.type() > QTransform::TxTranslate) | |
58066 | i = i.transformed(t); | |
58067 | qt_noop(); | |
58068 | return i; | |
58069 | } | |
58070 | ||
58071 | QImage QFontEngine::alphaRGBMapForGlyph(glyph_t glyph, int , const QTransform &t) | |
58072 | { | |
58073 | QImage alphaMask = alphaMapForGlyph(glyph, t); | |
58074 | QImage rgbMask(alphaMask.width(), alphaMask.height(), QImage::Format_RGB32); | |
58075 | ||
58076 | for (int y=0; y<alphaMask.height(); ++y) { | |
58077 | uint *dst = (uint *) rgbMask.scanLine(y); | |
58078 | uchar *src = (uchar *) alphaMask.scanLine(y); | |
58079 | for (int x=0; x<alphaMask.width(); ++x) | |
58080 | dst[x] = qRgb(src[x], src[x], src[x]); | |
58081 | } | |
58082 | ||
58083 | return rgbMask; | |
58084 | } | |
58085 | ||
58086 | ||
58087 | void QFontEngine::removeGlyphFromCache(glyph_t) | |
58088 | { | |
58089 | } | |
58090 | ||
58091 | QFontEngine::Properties QFontEngine::properties() const | |
58092 | { | |
58093 | Properties p; | |
58094 | ||
58095 | QByteArray psname = QPdf::stripSpecialCharacters(fontDef.family.toUtf8()); | |
58096 | ||
58097 | ||
58098 | ||
58099 | psname += '-'; | |
58100 | psname += QByteArray::number(fontDef.style); | |
58101 | psname += '-'; | |
58102 | psname += QByteArray::number(fontDef.weight); | |
58103 | ||
58104 | p.postscriptName = psname; | |
58105 | p.ascent = ascent(); | |
58106 | p.descent = descent(); | |
58107 | p.leading = leading(); | |
58108 | p.emSquare = p.ascent; | |
58109 | p.boundingBox = QRectF(0, -p.ascent.toReal(), maxCharWidth(), (p.ascent + p.descent).toReal()); | |
58110 | p.italicAngle = 0; | |
58111 | p.capHeight = p.ascent; | |
58112 | p.lineWidth = lineThickness(); | |
58113 | return p; | |
58114 | } | |
58115 | ||
58116 | void QFontEngine::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, glyph_metrics_t *metrics) | |
58117 | { | |
58118 | *metrics = boundingBox(glyph); | |
58119 | QFixedPoint p; | |
58120 | p.x = 0; | |
58121 | p.y = 0; | |
58122 | addGlyphsToPath(&glyph, &p, 1, path, QFlag(0)); | |
58123 | } | |
58124 | ||
58125 | QByteArray QFontEngine::getSfntTable(uint tag) const | |
58126 | { | |
58127 | QByteArray table; | |
58128 | uint len = 0; | |
58129 | if (!getSfntTableData(tag, 0, &len)) | |
58130 | return table; | |
58131 | if (!len) | |
58132 | return table; | |
58133 | table.resize(len); | |
58134 | if (!getSfntTableData(tag, reinterpret_cast<uchar *>(table.data()), &len)) | |
58135 | return QByteArray(); | |
58136 | return table; | |
58137 | } | |
58138 | ||
58139 | void QFontEngine::expireGlyphCache() | |
58140 | { | |
58141 | if (m_glyphCacheQueue.count() > 10) { | |
58142 | QFontEngineGlyphCache *old = m_glyphCacheQueue.takeFirst(); | |
58143 | ||
58144 | for (GlyphPointerHash::iterator i = m_glyphPointerHash.begin(); i != m_glyphPointerHash.end(); ++i) { | |
58145 | QList<QFontEngineGlyphCache *> list = i.value(); | |
58146 | if (list.removeAll(old)) { | |
58147 | if (list.isEmpty()) | |
58148 | m_glyphPointerHash.remove(i.key()); | |
58149 | else | |
58150 | m_glyphPointerHash.insert(i.key(), list); | |
58151 | break; | |
58152 | } | |
58153 | } | |
58154 | for (GlyphIntHash::iterator i = m_glyphIntHash.begin(); i != m_glyphIntHash.end(); ++i) { | |
58155 | QList<QFontEngineGlyphCache *> list = i.value(); | |
58156 | if (list.removeAll(old)) { | |
58157 | if (list.isEmpty()) | |
58158 | m_glyphIntHash.remove(i.key()); | |
58159 | else | |
58160 | m_glyphIntHash.insert(i.key(), list); | |
58161 | break; | |
58162 | } | |
58163 | } | |
58164 | delete old; | |
58165 | } | |
58166 | } | |
58167 | ||
58168 | void QFontEngine::setGlyphCache(void *key, QFontEngineGlyphCache *data) | |
58169 | { | |
58170 | qt_noop(); | |
58171 | QList<QFontEngineGlyphCache*> items = m_glyphPointerHash.value(key); | |
58172 | ||
58173 | for (QList<QFontEngineGlyphCache*>::iterator it = items.begin(), end = items.end(); it != end; ++it) { | |
58174 | QFontEngineGlyphCache *c = *it; | |
58175 | if (qtransform_equals_no_translate(c->m_transform, data->m_transform)) { | |
58176 | if (c == data) | |
58177 | return; | |
58178 | items.removeAll(c); | |
58179 | delete c; | |
58180 | break; | |
58181 | } | |
58182 | } | |
58183 | items.append(data); | |
58184 | m_glyphPointerHash.insert(key, items); | |
58185 | ||
58186 | m_glyphCacheQueue.append(data); | |
58187 | expireGlyphCache(); | |
58188 | } | |
58189 | ||
58190 | void QFontEngine::setGlyphCache(QFontEngineGlyphCache::Type key, QFontEngineGlyphCache *data) | |
58191 | { | |
58192 | qt_noop(); | |
58193 | QList<QFontEngineGlyphCache*> items = m_glyphIntHash.value(key); | |
58194 | ||
58195 | for (QList<QFontEngineGlyphCache*>::iterator it = items.begin(), end = items.end(); it != end; ++it) { | |
58196 | QFontEngineGlyphCache *c = *it; | |
58197 | if (qtransform_equals_no_translate(c->m_transform, data->m_transform)) { | |
58198 | if (c == data) | |
58199 | return; | |
58200 | items.removeAll(c); | |
58201 | delete c; | |
58202 | break; | |
58203 | } | |
58204 | } | |
58205 | items.append(data); | |
58206 | m_glyphIntHash.insert(key, items); | |
58207 | ||
58208 | m_glyphCacheQueue.append(data); | |
58209 | expireGlyphCache(); | |
58210 | } | |
58211 | ||
58212 | QFontEngineGlyphCache *QFontEngine::glyphCache(void *key, const QTransform &transform) const | |
58213 | { | |
58214 | QList<QFontEngineGlyphCache*> items = m_glyphPointerHash.value(key); | |
58215 | ||
58216 | for (QList<QFontEngineGlyphCache*>::iterator it = items.begin(), end = items.end(); it != end; ++it) { | |
58217 | QFontEngineGlyphCache *c = *it; | |
58218 | if (qtransform_equals_no_translate(c->m_transform, transform)) { | |
58219 | m_glyphCacheQueue.removeAll(c); | |
58220 | m_glyphCacheQueue.append(c); | |
58221 | return c; | |
58222 | } | |
58223 | } | |
58224 | return 0; | |
58225 | } | |
58226 | ||
58227 | QFontEngineGlyphCache *QFontEngine::glyphCache(QFontEngineGlyphCache::Type key, const QTransform &transform) const | |
58228 | { | |
58229 | QList<QFontEngineGlyphCache*> items = m_glyphIntHash.value(key); | |
58230 | ||
58231 | for (QList<QFontEngineGlyphCache*>::iterator it = items.begin(), end = items.end(); it != end; ++it) { | |
58232 | QFontEngineGlyphCache *c = *it; | |
58233 | if (qtransform_equals_no_translate(c->m_transform, transform)) { | |
58234 | m_glyphCacheQueue.removeAll(c); | |
58235 | m_glyphCacheQueue.append(c); | |
58236 | return c; | |
58237 | } | |
58238 | } | |
58239 | return 0; | |
58240 | } | |
58241 | ||
58242 | ||
58243 | static inline QFixed kerning(int left, int right, const QFontEngine::KernPair *pairs, int numPairs) | |
58244 | { | |
58245 | uint left_right = (left << 16) + right; | |
58246 | ||
58247 | left = 0, right = numPairs - 1; | |
58248 | while (left <= right) { | |
58249 | int middle = left + ( ( right - left ) >> 1 ); | |
58250 | ||
58251 | if(pairs[middle].left_right == left_right) | |
58252 | return pairs[middle].adjust; | |
58253 | ||
58254 | if (pairs[middle].left_right < left_right) | |
58255 | left = middle + 1; | |
58256 | else | |
58257 | right = middle - 1; | |
58258 | } | |
58259 | return 0; | |
58260 | } | |
58261 | ||
58262 | void QFontEngine::doKerning(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const | |
58263 | { | |
58264 | int numPairs = kerning_pairs.size(); | |
58265 | if(!numPairs) | |
58266 | return; | |
58267 | ||
58268 | const KernPair *pairs = kerning_pairs.constData(); | |
58269 | ||
58270 | if(flags & QTextEngine::DesignMetrics) { | |
58271 | for(int i = 0; i < glyphs->numGlyphs - 1; ++i) | |
58272 | glyphs->advances_x[i] += kerning(glyphs->glyphs[i], glyphs->glyphs[i+1] , pairs, numPairs); | |
58273 | } else { | |
58274 | for(int i = 0; i < glyphs->numGlyphs - 1; ++i) | |
58275 | glyphs->advances_x[i] += qRound(kerning(glyphs->glyphs[i], glyphs->glyphs[i+1] , pairs, numPairs)); | |
58276 | } | |
58277 | } | |
58278 | ||
58279 | void QFontEngine::loadKerningPairs(QFixed scalingFactor) | |
58280 | { | |
58281 | kerning_pairs.clear(); | |
58282 | ||
58283 | QByteArray tab = getSfntTable(( (((quint32)('k')) << 24) | (((quint32)('e')) << 16) | (((quint32)('r')) << 8) | ((quint32)('n')) )); | |
58284 | if (tab.isEmpty()) | |
58285 | return; | |
58286 | ||
58287 | const uchar *table = reinterpret_cast<const uchar *>(tab.constData()); | |
58288 | ||
58289 | unsigned short version = qFromBigEndian<quint16>(table); | |
58290 | if (version != 0) { | |
58291 | ||
58292 | return; | |
58293 | } | |
58294 | ||
58295 | unsigned short numTables = qFromBigEndian<quint16>(table + 2); | |
58296 | { | |
58297 | int offset = 4; | |
58298 | for(int i = 0; i < numTables; ++i) { | |
58299 | if (offset + 6 > tab.size()) { | |
58300 | ||
58301 | goto end; | |
58302 | } | |
58303 | const uchar *header = table + offset; | |
58304 | ||
58305 | ushort version = qFromBigEndian<quint16>(header); | |
58306 | ushort length = qFromBigEndian<quint16>(header+2); | |
58307 | ushort coverage = qFromBigEndian<quint16>(header+4); | |
58308 | ||
58309 | if(version == 0 && coverage == 0x0001) { | |
58310 | if (offset + length > tab.size()) { | |
58311 | ||
58312 | goto end; | |
58313 | } | |
58314 | const uchar *data = table + offset + 6; | |
58315 | ||
58316 | ushort nPairs = qFromBigEndian<quint16>(data); | |
58317 | if(nPairs * 6 + 8 > length - 6) { | |
58318 | ||
58319 | ||
58320 | goto end; | |
58321 | } | |
58322 | ||
58323 | int off = 8; | |
58324 | for(int i = 0; i < nPairs; ++i) { | |
58325 | QFontEngine::KernPair p; | |
58326 | p.left_right = (((uint)qFromBigEndian<quint16>(data+off)) << 16) + qFromBigEndian<quint16>(data+off+2); | |
58327 | p.adjust = QFixed(((int)(short)qFromBigEndian<quint16>(data+off+4))) / scalingFactor; | |
58328 | kerning_pairs.append(p); | |
58329 | off += 6; | |
58330 | } | |
58331 | } | |
58332 | offset += length; | |
58333 | } | |
58334 | } | |
58335 | end: | |
58336 | qSort(kerning_pairs); | |
58337 | ||
58338 | ||
58339 | } | |
58340 | ||
58341 | ||
58342 | ||
58343 | ||
58344 | ||
58345 | ||
58346 | ||
58347 | int QFontEngine::glyphCount() const | |
58348 | { | |
58349 | QByteArray maxpTable = getSfntTable(( (((quint32)('m')) << 24) | (((quint32)('a')) << 16) | (((quint32)('x')) << 8) | ((quint32)('p')) )); | |
58350 | if (maxpTable.size() < 6) | |
58351 | return 0; | |
58352 | return qFromBigEndian<quint16>(reinterpret_cast<const uchar *>(maxpTable.constData() + 4)); | |
58353 | } | |
58354 | ||
58355 | const uchar *QFontEngine::getCMap(const uchar *table, uint tableSize, bool *isSymbolFont, int *cmapSize) | |
58356 | { | |
58357 | const uchar *header = table; | |
58358 | if (tableSize < 4) | |
58359 | return 0; | |
58360 | ||
58361 | const uchar *endPtr = table + tableSize; | |
58362 | ||
58363 | ||
58364 | if (qFromBigEndian<quint16>(header) != 0) | |
58365 | return 0; | |
58366 | ||
58367 | unsigned short numTables = qFromBigEndian<quint16>(header + 2); | |
58368 | const uchar *maps = table + 4; | |
58369 | if (maps + 8 * numTables > endPtr) | |
58370 | return 0; | |
58371 | ||
58372 | int tableToUse = -1; | |
58373 | int score = 0; | |
58374 | for (int n = 0; n < numTables; ++n) { | |
58375 | const quint16 platformId = qFromBigEndian<quint16>(maps + 8 * n); | |
58376 | const quint16 platformSpecificId = qFromBigEndian<quint16>(maps + 8 * n + 2); | |
58377 | switch (platformId) { | |
58378 | case 0: | |
58379 | if (score < 4 && | |
58380 | (platformSpecificId == 0 || | |
58381 | platformSpecificId == 2 || | |
58382 | platformSpecificId == 3)) { | |
58383 | tableToUse = n; | |
58384 | score = 4; | |
58385 | } else if (score < 3 && platformSpecificId == 1) { | |
58386 | tableToUse = n; | |
58387 | score = 3; | |
58388 | } | |
58389 | break; | |
58390 | case 1: | |
58391 | if (score < 2 && platformSpecificId == 0) { | |
58392 | tableToUse = n; | |
58393 | score = 2; | |
58394 | } | |
58395 | break; | |
58396 | case 3: | |
58397 | switch (platformSpecificId) { | |
58398 | case 0: | |
58399 | if (score < 1) { | |
58400 | tableToUse = n; | |
58401 | score = 1; | |
58402 | } | |
58403 | break; | |
58404 | case 1: | |
58405 | if (score < 5) { | |
58406 | tableToUse = n; | |
58407 | score = 5; | |
58408 | } | |
58409 | break; | |
58410 | case 0xa: | |
58411 | if (score < 6) { | |
58412 | tableToUse = n; | |
58413 | score = 6; | |
58414 | } | |
58415 | break; | |
58416 | default: | |
58417 | break; | |
58418 | } | |
58419 | default: | |
58420 | break; | |
58421 | } | |
58422 | } | |
58423 | if(tableToUse < 0) | |
58424 | return 0; | |
58425 | *isSymbolFont = (score == 1); | |
58426 | ||
58427 | unsigned int unicode_table = qFromBigEndian<quint32>(maps + 8*tableToUse + 4); | |
58428 | ||
58429 | if (!unicode_table || unicode_table + 8 > tableSize) | |
58430 | return 0; | |
58431 | ||
58432 | ||
58433 | header = table + unicode_table; | |
58434 | ||
58435 | unsigned short format = qFromBigEndian<quint16>(header); | |
58436 | unsigned int length; | |
58437 | if(format < 8) | |
58438 | length = qFromBigEndian<quint16>(header + 2); | |
58439 | else | |
58440 | length = qFromBigEndian<quint32>(header + 4); | |
58441 | ||
58442 | if (table + unicode_table + length > endPtr) | |
58443 | return 0; | |
58444 | *cmapSize = length; | |
58445 | return table + unicode_table; | |
58446 | } | |
58447 | ||
58448 | quint32 QFontEngine::getTrueTypeGlyphIndex(const uchar *cmap, uint unicode) | |
58449 | { | |
58450 | unsigned short format = qFromBigEndian<quint16>(cmap); | |
58451 | if (format == 0) { | |
58452 | if (unicode < 256) | |
58453 | return (int) *(cmap+6+unicode); | |
58454 | } else if (format == 4) { | |
58455 | ||
58456 | ||
58457 | ||
58458 | ||
58459 | ||
58460 | if(unicode >= 0xffff) | |
58461 | return 0; | |
58462 | quint16 segCountX2 = qFromBigEndian<quint16>(cmap + 6); | |
58463 | const unsigned char *ends = cmap + 14; | |
58464 | quint16 endIndex = 0; | |
58465 | int i = 0; | |
58466 | for (; i < segCountX2/2 && (endIndex = qFromBigEndian<quint16>(ends + 2*i)) < unicode; i++) {} | |
58467 | ||
58468 | const unsigned char *idx = ends + segCountX2 + 2 + 2*i; | |
58469 | quint16 startIndex = qFromBigEndian<quint16>(idx); | |
58470 | ||
58471 | if (startIndex > unicode) | |
58472 | return 0; | |
58473 | ||
58474 | idx += segCountX2; | |
58475 | qint16 idDelta = (qint16)qFromBigEndian<quint16>(idx); | |
58476 | idx += segCountX2; | |
58477 | quint16 idRangeoffset_t = (quint16)qFromBigEndian<quint16>(idx); | |
58478 | ||
58479 | quint16 glyphIndex; | |
58480 | if (idRangeoffset_t) { | |
58481 | quint16 id = qFromBigEndian<quint16>(idRangeoffset_t + 2*(unicode - startIndex) + idx); | |
58482 | if (id) | |
58483 | glyphIndex = (idDelta + id) % 0x10000; | |
58484 | else | |
58485 | glyphIndex = 0; | |
58486 | } else { | |
58487 | glyphIndex = (idDelta + unicode) % 0x10000; | |
58488 | } | |
58489 | return glyphIndex; | |
58490 | } else if (format == 6) { | |
58491 | quint16 tableSize = qFromBigEndian<quint16>(cmap + 2); | |
58492 | ||
58493 | quint16 firstCode6 = qFromBigEndian<quint16>(cmap + 6); | |
58494 | if (unicode < firstCode6) | |
58495 | return 0; | |
58496 | ||
58497 | quint16 entryCount6 = qFromBigEndian<quint16>(cmap + 8); | |
58498 | if (entryCount6 * 2 + 10 > tableSize) | |
58499 | return 0; | |
58500 | ||
58501 | quint16 sentinel6 = firstCode6 + entryCount6; | |
58502 | if (unicode >= sentinel6) | |
58503 | return 0; | |
58504 | ||
58505 | quint16 entryIndex6 = unicode - firstCode6; | |
58506 | return qFromBigEndian<quint16>(cmap + 10 + (entryIndex6 * 2)); | |
58507 | } else if (format == 12) { | |
58508 | quint32 nGroups = qFromBigEndian<quint32>(cmap + 12); | |
58509 | ||
58510 | cmap += 16; | |
58511 | ||
58512 | int left = 0, right = nGroups - 1; | |
58513 | while (left <= right) { | |
58514 | int middle = left + ( ( right - left ) >> 1 ); | |
58515 | ||
58516 | quint32 startCharCode = qFromBigEndian<quint32>(cmap + 12*middle); | |
58517 | if(unicode < startCharCode) | |
58518 | right = middle - 1; | |
58519 | else { | |
58520 | quint32 endCharCode = qFromBigEndian<quint32>(cmap + 12*middle + 4); | |
58521 | if(unicode <= endCharCode) | |
58522 | return qFromBigEndian<quint32>(cmap + 12*middle + 8) + unicode - startCharCode; | |
58523 | left = middle + 1; | |
58524 | } | |
58525 | } | |
58526 | } else { | |
58527 | qDebug("cmap table of format %d not implemented", format); | |
58528 | } | |
58529 | ||
58530 | return 0; | |
58531 | } | |
58532 | ||
58533 | ||
58534 | ||
58535 | ||
58536 | ||
58537 | QFontEngineBox::QFontEngineBox(int size) | |
58538 | : _size(size) | |
58539 | { | |
58540 | cache_cost = sizeof(QFontEngineBox); | |
58541 | } | |
58542 | ||
58543 | QFontEngineBox::~QFontEngineBox() | |
58544 | { | |
58545 | } | |
58546 | ||
58547 | bool QFontEngineBox::stringToCMap(const QChar *, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags) const | |
58548 | { | |
58549 | if (*nglyphs < len) { | |
58550 | *nglyphs = len; | |
58551 | return false; | |
58552 | } | |
58553 | ||
58554 | for (int i = 0; i < len; i++) { | |
58555 | glyphs->glyphs[i] = 0; | |
58556 | glyphs->advances_x[i] = _size; | |
58557 | glyphs->advances_y[i] = 0; | |
58558 | } | |
58559 | ||
58560 | *nglyphs = len; | |
58561 | glyphs->numGlyphs = len; | |
58562 | return true; | |
58563 | } | |
58564 | ||
58565 | void QFontEngineBox::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags) const | |
58566 | { | |
58567 | for (int i = 0; i < glyphs->numGlyphs; i++) { | |
58568 | glyphs->advances_x[i] = _size; | |
58569 | glyphs->advances_y[i] = 0; | |
58570 | } | |
58571 | } | |
58572 | ||
58573 | void QFontEngineBox::addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyphs, QPainterPath *path, QTextItem::RenderFlags flags) | |
58574 | { | |
58575 | if (!glyphs.numGlyphs) | |
58576 | return; | |
58577 | ||
58578 | QVarLengthArray<QFixedPoint> positions; | |
58579 | QVarLengthArray<glyph_t> positioned_glyphs; | |
58580 | QTransform matrix; | |
58581 | matrix.translate(x, y - _size); | |
58582 | getGlyphPositions(glyphs, matrix, flags, positioned_glyphs, positions); | |
58583 | ||
58584 | QSize s(_size - 3, _size - 3); | |
58585 | for (int k = 0; k < positions.size(); k++) | |
58586 | path->addRect(QRectF(positions[k].toPointF(), s)); | |
58587 | } | |
58588 | ||
58589 | glyph_metrics_t QFontEngineBox::boundingBox(const QGlyphLayout &glyphs) | |
58590 | { | |
58591 | glyph_metrics_t overall; | |
58592 | overall.width = _size*glyphs.numGlyphs; | |
58593 | overall.height = _size; | |
58594 | overall.xoff = overall.width; | |
58595 | return overall; | |
58596 | } | |
58597 | ||
58598 | ||
58599 | void QFontEngineBox::draw(QPaintEngine *p, qreal x, qreal y, const QTextItemInt &ti) | |
58600 | { | |
58601 | if (!ti.glyphs.numGlyphs) | |
58602 | return; | |
58603 | ||
58604 | ||
58605 | QSize s(_size - 3, _size - 3); | |
58606 | ||
58607 | QVarLengthArray<QFixedPoint> positions; | |
58608 | QVarLengthArray<glyph_t> glyphs; | |
58609 | QTransform matrix; | |
58610 | matrix.translate(x, y - _size); | |
58611 | ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags, glyphs, positions); | |
58612 | if (glyphs.size() == 0) | |
58613 | return; | |
58614 | ||
58615 | ||
58616 | QPainter *painter = p->painter(); | |
58617 | painter->save(); | |
58618 | painter->setBrush(Qt::NoBrush); | |
58619 | QPen pen = painter->pen(); | |
58620 | pen.setWidthF(lineThickness().toReal()); | |
58621 | painter->setPen(pen); | |
58622 | for (int k = 0; k < positions.size(); k++) | |
58623 | painter->drawRect(QRectF(positions[k].toPointF(), s)); | |
58624 | painter->restore(); | |
58625 | } | |
58626 | ||
58627 | ||
58628 | glyph_metrics_t QFontEngineBox::boundingBox(glyph_t) | |
58629 | { | |
58630 | return glyph_metrics_t(0, -_size, _size, _size, _size, 0); | |
58631 | } | |
58632 | ||
58633 | ||
58634 | ||
58635 | QFixed QFontEngineBox::ascent() const | |
58636 | { | |
58637 | return _size; | |
58638 | } | |
58639 | ||
58640 | QFixed QFontEngineBox::descent() const | |
58641 | { | |
58642 | return 0; | |
58643 | } | |
58644 | ||
58645 | QFixed QFontEngineBox::leading() const | |
58646 | { | |
58647 | QFixed l = _size * QFixed::fromReal(qreal(0.15)); | |
58648 | return l.ceil(); | |
58649 | } | |
58650 | ||
58651 | qreal QFontEngineBox::maxCharWidth() const | |
58652 | { | |
58653 | return _size; | |
58654 | } | |
58655 | # 1204 "/home/test/work/cruise/checkouts/uclinux-dist/lib/qt-embedded/qt-embedded-linux-opensource-src-4.5.1/src/gui/text/qfontengine.cpp" | |
58656 | const char *QFontEngineBox::name() const | |
58657 | { | |
58658 | return "null"; | |
58659 | } | |
58660 | ||
58661 | bool QFontEngineBox::canRender(const QChar *, int) | |
58662 | { | |
58663 | return true; | |
58664 | } | |
58665 | ||
58666 | QFontEngine::Type QFontEngineBox::type() const | |
58667 | { | |
58668 | return Box; | |
58669 | } | |
58670 | ||
58671 | QImage QFontEngineBox::alphaMapForGlyph(glyph_t) | |
58672 | { | |
58673 | QImage image(_size, _size, QImage::Format_Indexed8); | |
58674 | QVector<QRgb> colors(256); | |
58675 | for (int i=0; i<256; ++i) | |
58676 | colors[i] = qRgba(0, 0, 0, i); | |
58677 | image.setColorTable(colors); | |
58678 | image.fill(0); | |
58679 | ||
58680 | ||
58681 | for (int i=2; i <= _size-3; ++i) { | |
58682 | image.setPixel(i, 2, 255); | |
58683 | image.setPixel(i, _size-3, 255); | |
58684 | image.setPixel(2, i, 255); | |
58685 | image.setPixel(_size-3, i, 255); | |
58686 | } | |
58687 | return image; | |
58688 | } | |
58689 | ||
58690 | ||
58691 | ||
58692 | ||
58693 | ||
58694 | static inline uchar highByte(glyph_t glyph) | |
58695 | { return glyph >> 24; } | |
58696 | ||
58697 | ||
58698 | static inline glyph_t stripped(glyph_t glyph) | |
58699 | { return glyph & 0x00ffffff; } | |
58700 | ||
58701 | QFontEngineMulti::QFontEngineMulti(int engineCount) | |
58702 | { | |
58703 | engines.fill(0, engineCount); | |
58704 | cache_cost = 0; | |
58705 | } | |
58706 | ||
58707 | QFontEngineMulti::~QFontEngineMulti() | |
58708 | { | |
58709 | for (int i = 0; i < engines.size(); ++i) { | |
58710 | QFontEngine *fontEngine = engines.at(i); | |
58711 | if (fontEngine) { | |
58712 | fontEngine->ref.deref(); | |
58713 | if (fontEngine->cache_count == 0 && fontEngine->ref == 0) | |
58714 | delete fontEngine; | |
58715 | } | |
58716 | } | |
58717 | } | |
58718 | ||
58719 | bool QFontEngineMulti::stringToCMap(const QChar *str, int len, | |
58720 | QGlyphLayout *glyphs, int *nglyphs, | |
58721 | QTextEngine::ShaperFlags flags) const | |
58722 | { | |
58723 | int ng = *nglyphs; | |
58724 | if (!engine(0)->stringToCMap(str, len, glyphs, &ng, flags)) | |
58725 | return false; | |
58726 | ||
58727 | int glyph_pos = 0; | |
58728 | for (int i = 0; i < len; ++i) { | |
58729 | bool surrogate = (str[i].unicode() >= 0xd800 && str[i].unicode() < 0xdc00 && i < len-1 | |
58730 | && str[i+1].unicode() >= 0xdc00 && str[i+1].unicode() < 0xe000); | |
58731 | if (glyphs->glyphs[glyph_pos] == 0) { | |
58732 | ||
58733 | QGlyphLayoutInstance tmp = glyphs->instance(glyph_pos); | |
58734 | for (int x = 1; x < engines.size(); ++x) { | |
58735 | QFontEngine *engine = engines.at(x); | |
58736 | if (!engine) { | |
58737 | const_cast<QFontEngineMulti *>(this)->loadEngine(x); | |
58738 | engine = engines.at(x); | |
58739 | } | |
58740 | qt_noop(); | |
58741 | if (engine->type() == Box) | |
58742 | continue; | |
58743 | glyphs->advances_x[glyph_pos] = glyphs->advances_y[glyph_pos] = 0; | |
58744 | glyphs->offsets[glyph_pos] = QFixedPoint(); | |
58745 | int num = 2; | |
58746 | QGlyphLayout offs = glyphs->mid(glyph_pos, num); | |
58747 | engine->stringToCMap(str + i, surrogate ? 2 : 1, &offs, &num, flags); | |
58748 | qt_noop(); | |
58749 | if (glyphs->glyphs[glyph_pos]) { | |
58750 | ||
58751 | glyphs->glyphs[glyph_pos] |= (x << 24); | |
58752 | break; | |
58753 | } | |
58754 | } | |
58755 | ||
58756 | if (!glyphs->glyphs[glyph_pos]) { | |
58757 | glyphs->setInstance(glyph_pos, tmp); | |
58758 | } | |
58759 | } | |
58760 | if (surrogate) | |
58761 | ++i; | |
58762 | ++glyph_pos; | |
58763 | } | |
58764 | ||
58765 | *nglyphs = ng; | |
58766 | glyphs->numGlyphs = ng; | |
58767 | return true; | |
58768 | } | |
58769 | ||
58770 | glyph_metrics_t QFontEngineMulti::boundingBox(const QGlyphLayout &glyphs) | |
58771 | { | |
58772 | if (glyphs.numGlyphs <= 0) | |
58773 | return glyph_metrics_t(); | |
58774 | ||
58775 | glyph_metrics_t overall; | |
58776 | ||
58777 | int which = highByte(glyphs.glyphs[0]); | |
58778 | int start = 0; | |
58779 | int end, i; | |
58780 | for (end = 0; end < glyphs.numGlyphs; ++end) { | |
58781 | const int e = highByte(glyphs.glyphs[end]); | |
58782 | if (e == which) | |
58783 | continue; | |
58784 | ||
58785 | ||
58786 | for (i = start; i < end; ++i) | |
58787 | glyphs.glyphs[i] = stripped(glyphs.glyphs[i]); | |
58788 | ||
58789 | ||
58790 | const glyph_metrics_t gm = engine(which)->boundingBox(glyphs.mid(start, end - start)); | |
58791 | ||
58792 | overall.x = qMin(overall.x, gm.x); | |
58793 | overall.y = qMin(overall.y, gm.y); | |
58794 | overall.width = overall.xoff + gm.width; | |
58795 | overall.height = qMax(overall.height + overall.y, gm.height + gm.y) - | |
58796 | qMin(overall.y, gm.y); | |
58797 | overall.xoff += gm.xoff; | |
58798 | overall.yoff += gm.yoff; | |
58799 | ||
58800 | ||
58801 | const int hi = which << 24; | |
58802 | for (i = start; i < end; ++i) | |
58803 | glyphs.glyphs[i] = hi | glyphs.glyphs[i]; | |
58804 | ||
58805 | ||
58806 | start = end; | |
58807 | which = e; | |
58808 | } | |
58809 | ||
58810 | ||
58811 | for (i = start; i < end; ++i) | |
58812 | glyphs.glyphs[i] = stripped(glyphs.glyphs[i]); | |
58813 | ||
58814 | ||
58815 | const glyph_metrics_t gm = engine(which)->boundingBox(glyphs.mid(start, end - start)); | |
58816 | ||
58817 | overall.x = qMin(overall.x, gm.x); | |
58818 | overall.y = qMin(overall.y, gm.y); | |
58819 | overall.width = overall.xoff + gm.width; | |
58820 | overall.height = qMax(overall.height + overall.y, gm.height + gm.y) - | |
58821 | qMin(overall.y, gm.y); | |
58822 | overall.xoff += gm.xoff; | |
58823 | overall.yoff += gm.yoff; | |
58824 | ||
58825 | ||
58826 | const int hi = which << 24; | |
58827 | for (i = start; i < end; ++i) | |
58828 | glyphs.glyphs[i] = hi | glyphs.glyphs[i]; | |
58829 | ||
58830 | return overall; | |
58831 | } | |
58832 | ||
58833 | void QFontEngineMulti::addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyphs, | |
58834 | QPainterPath *path, QTextItem::RenderFlags flags) | |
58835 | { | |
58836 | if (glyphs.numGlyphs <= 0) | |
58837 | return; | |
58838 | ||
58839 | int which = highByte(glyphs.glyphs[0]); | |
58840 | int start = 0; | |
58841 | int end, i; | |
58842 | if (flags & QTextItem::RightToLeft) { | |
58843 | for (int gl = 0; gl < glyphs.numGlyphs; gl++) { | |
58844 | x += glyphs.advances_x[gl].toReal(); | |
58845 | y += glyphs.advances_y[gl].toReal(); | |
58846 | } | |
58847 | } | |
58848 | for (end = 0; end < glyphs.numGlyphs; ++end) { | |
58849 | const int e = highByte(glyphs.glyphs[end]); | |
58850 | if (e == which) | |
58851 | continue; | |
58852 | ||
58853 | if (flags & QTextItem::RightToLeft) { | |
58854 | for (i = start; i < end; ++i) { | |
58855 | x -= glyphs.advances_x[i].toReal(); | |
58856 | y -= glyphs.advances_y[i].toReal(); | |
58857 | } | |
58858 | } | |
58859 | ||
58860 | ||
58861 | for (i = start; i < end; ++i) | |
58862 | glyphs.glyphs[i] = stripped(glyphs.glyphs[i]); | |
58863 | engine(which)->addOutlineToPath(x, y, glyphs.mid(start, end - start), path, flags); | |
58864 | ||
58865 | const int hi = which << 24; | |
58866 | for (i = start; i < end; ++i) | |
58867 | glyphs.glyphs[i] = hi | glyphs.glyphs[i]; | |
58868 | ||
58869 | if (!(flags & QTextItem::RightToLeft)) { | |
58870 | for (i = start; i < end; ++i) { | |
58871 | x += glyphs.advances_x[i].toReal(); | |
58872 | y += glyphs.advances_y[i].toReal(); | |
58873 | } | |
58874 | } | |
58875 | ||
58876 | ||
58877 | start = end; | |
58878 | which = e; | |
58879 | } | |
58880 | ||
58881 | if (flags & QTextItem::RightToLeft) { | |
58882 | for (i = start; i < end; ++i) { | |
58883 | x -= glyphs.advances_x[i].toReal(); | |
58884 | y -= glyphs.advances_y[i].toReal(); | |
58885 | } | |
58886 | } | |
58887 | ||
58888 | ||
58889 | for (i = start; i < end; ++i) | |
58890 | glyphs.glyphs[i] = stripped(glyphs.glyphs[i]); | |
58891 | ||
58892 | engine(which)->addOutlineToPath(x, y, glyphs.mid(start, end - start), path, flags); | |
58893 | ||
58894 | ||
58895 | const int hi = which << 24; | |
58896 | for (i = start; i < end; ++i) | |
58897 | glyphs.glyphs[i] = hi | glyphs.glyphs[i]; | |
58898 | } | |
58899 | ||
58900 | void QFontEngineMulti::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const | |
58901 | { | |
58902 | if (glyphs->numGlyphs <= 0) | |
58903 | return; | |
58904 | ||
58905 | int which = highByte(glyphs->glyphs[0]); | |
58906 | int start = 0; | |
58907 | int end, i; | |
58908 | for (end = 0; end < glyphs->numGlyphs; ++end) { | |
58909 | const int e = highByte(glyphs->glyphs[end]); | |
58910 | if (e == which) | |
58911 | continue; | |
58912 | ||
58913 | ||
58914 | for (i = start; i < end; ++i) | |
58915 | glyphs->glyphs[i] = stripped(glyphs->glyphs[i]); | |
58916 | ||
58917 | QGlyphLayout offs = glyphs->mid(start, end - start); | |
58918 | engine(which)->recalcAdvances(&offs, flags); | |
58919 | ||
58920 | ||
58921 | const int hi = which << 24; | |
58922 | for (i = start; i < end; ++i) | |
58923 | glyphs->glyphs[i] = hi | glyphs->glyphs[i]; | |
58924 | ||
58925 | ||
58926 | start = end; | |
58927 | which = e; | |
58928 | } | |
58929 | ||
58930 | ||
58931 | for (i = start; i < end; ++i) | |
58932 | glyphs->glyphs[i] = stripped(glyphs->glyphs[i]); | |
58933 | ||
58934 | QGlyphLayout offs = glyphs->mid(start, end - start); | |
58935 | engine(which)->recalcAdvances(&offs, flags); | |
58936 | ||
58937 | ||
58938 | const int hi = which << 24; | |
58939 | for (i = start; i < end; ++i) | |
58940 | glyphs->glyphs[i] = hi | glyphs->glyphs[i]; | |
58941 | } | |
58942 | ||
58943 | void QFontEngineMulti::doKerning(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const | |
58944 | { | |
58945 | if (glyphs->numGlyphs <= 0) | |
58946 | return; | |
58947 | ||
58948 | int which = highByte(glyphs->glyphs[0]); | |
58949 | int start = 0; | |
58950 | int end, i; | |
58951 | for (end = 0; end < glyphs->numGlyphs; ++end) { | |
58952 | const int e = highByte(glyphs->glyphs[end]); | |
58953 | if (e == which) | |
58954 | continue; | |
58955 | ||
58956 | ||
58957 | for (i = start; i < end; ++i) | |
58958 | glyphs->glyphs[i] = stripped(glyphs->glyphs[i]); | |
58959 | ||
58960 | QGlyphLayout offs = glyphs->mid(start, end - start); | |
58961 | engine(which)->doKerning(&offs, flags); | |
58962 | ||
58963 | ||
58964 | const int hi = which << 24; | |
58965 | for (i = start; i < end; ++i) | |
58966 | glyphs->glyphs[i] = hi | glyphs->glyphs[i]; | |
58967 | ||
58968 | ||
58969 | start = end; | |
58970 | which = e; | |
58971 | } | |
58972 | ||
58973 | ||
58974 | for (i = start; i < end; ++i) | |
58975 | glyphs->glyphs[i] = stripped(glyphs->glyphs[i]); | |
58976 | ||
58977 | QGlyphLayout offs = glyphs->mid(start, end - start); | |
58978 | engine(which)->doKerning(&offs, flags); | |
58979 | ||
58980 | ||
58981 | const int hi = which << 24; | |
58982 | for (i = start; i < end; ++i) | |
58983 | glyphs->glyphs[i] = hi | glyphs->glyphs[i]; | |
58984 | } | |
58985 | ||
58986 | glyph_metrics_t QFontEngineMulti::boundingBox(glyph_t glyph) | |
58987 | { | |
58988 | const int which = highByte(glyph); | |
58989 | qt_noop(); | |
58990 | return engine(which)->boundingBox(stripped(glyph)); | |
58991 | } | |
58992 | ||
58993 | QFixed QFontEngineMulti::ascent() const | |
58994 | { return engine(0)->ascent(); } | |
58995 | ||
58996 | QFixed QFontEngineMulti::descent() const | |
58997 | { return engine(0)->descent(); } | |
58998 | ||
58999 | QFixed QFontEngineMulti::leading() const | |
59000 | { | |
59001 | return engine(0)->leading(); | |
59002 | } | |
59003 | ||
59004 | QFixed QFontEngineMulti::xHeight() const | |
59005 | { | |
59006 | return engine(0)->xHeight(); | |
59007 | } | |
59008 | ||
59009 | QFixed QFontEngineMulti::averageCharWidth() const | |
59010 | { | |
59011 | return engine(0)->averageCharWidth(); | |
59012 | } | |
59013 | ||
59014 | QFixed QFontEngineMulti::lineThickness() const | |
59015 | { | |
59016 | return engine(0)->lineThickness(); | |
59017 | } | |
59018 | ||
59019 | QFixed QFontEngineMulti::underlinePosition() const | |
59020 | { | |
59021 | return engine(0)->underlinePosition(); | |
59022 | } | |
59023 | ||
59024 | qreal QFontEngineMulti::maxCharWidth() const | |
59025 | { | |
59026 | return engine(0)->maxCharWidth(); | |
59027 | } | |
59028 | ||
59029 | qreal QFontEngineMulti::minLeftBearing() const | |
59030 | { | |
59031 | return engine(0)->minLeftBearing(); | |
59032 | } | |
59033 | ||
59034 | qreal QFontEngineMulti::minRightBearing() const | |
59035 | { | |
59036 | return engine(0)->minRightBearing(); | |
59037 | } | |
59038 | ||
59039 | bool QFontEngineMulti::canRender(const QChar *string, int len) | |
59040 | { | |
59041 | if (engine(0)->canRender(string, len)) | |
59042 | return true; | |
59043 | ||
59044 | QVarLengthGlyphLayoutArray glyphs(len); | |
59045 | int nglyphs = len; | |
59046 | if (stringToCMap(string, len, &glyphs, &nglyphs, QTextEngine::GlyphIndicesOnly) == false) { | |
59047 | glyphs.resize(nglyphs); | |
59048 | stringToCMap(string, len, &glyphs, &nglyphs, QTextEngine::GlyphIndicesOnly); | |
59049 | } | |
59050 | ||
59051 | bool allExist = true; | |
59052 | for (int i = 0; i < nglyphs; i++) { | |
59053 | if (!glyphs.glyphs[i]) { | |
59054 | allExist = false; | |
59055 | break; | |
59056 | } | |
59057 | } | |
59058 | ||
59059 | return allExist; | |
59060 | } | |
59061 | ||
59062 | QFontEngine *QFontEngineMulti::engine(int at) const | |
59063 | { | |
59064 | qt_noop(); | |
59065 | return engines.at(at); | |
59066 | } | |
59067 | ||
59068 | QImage QFontEngineMulti::alphaMapForGlyph(glyph_t) | |
59069 | { | |
59070 | qt_noop(); | |
59071 | return QImage(); | |
59072 | } | |
59073 | ||
59074 | ||
59075 |