]> git.wh0rd.org - ICEs.git/blame - bfin-5624/qfontengine.i.0
more ices
[ICEs.git] / bfin-5624 / qfontengine.i.0
CommitLineData
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
201typedef 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
230typedef 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
656typedef signed char qint8;
657typedef unsigned char quint8;
658typedef short qint16;
659typedef unsigned short quint16;
660typedef int qint32;
661typedef 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)
670typedef long long qint64;
671typedef unsigned long long quint64;
672
673
674typedef qint64 qlonglong;
675typedef 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"
682template <int> class QUintForSize { private: typedef void Type; };
683template <> class QUintForSize<4> { public: typedef quint32 Type; };
684template <> class QUintForSize<8> { public: typedef quint64 Type; };
685template <typename T> class QUintForType : public QUintForSize<sizeof(T)> { };
686typedef QUintForType<void *>::Type quintptr;
687
688template <int> class QIntForSize { private: typedef void Type; };
689template <> class QIntForSize<4> { public: typedef qint32 Type; };
690template <> class QIntForSize<8> { public: typedef qint64 Type; };
691template <typename T> class QIntForType : public QIntForSize<sizeof(T)> { };
692typedef QIntForType<void *>::Type qptrdiff;
693
694
695
696
697
698
699typedef unsigned char uchar;
700typedef unsigned short ushort;
701typedef unsigned int uint;
702typedef 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
745typedef int QNoImplicitBoolCast;
746# 1012 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/global/qglobal.h"
747typedef double qreal;
748
749
750
751
752
753
754template <typename T>
755inline T qAbs(const T &t) { return t >= 0 ? t : -t; }
756
757inline int qRound(qreal d)
758{ return d >= 0.0 ? int(d + 0.5) : int(d - int(d-1) + 0.5) + int(d-1); }
759
760inline qint64 qRound64(qreal d)
761{ return d >= 0.0 ? qint64(d + 0.5) : qint64(d - qint64(d-1) + 0.5) + qint64(d-1); }
762
763template <typename T>
764inline const T &qMin(const T &a, const T &b) { if (a < b) return a; return b; }
765template <typename T>
766inline const T &qMax(const T &a, const T &b) { if (a < b) return b; return a; }
767template <typename T>
768inline 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"
771class 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
816class QString;
817class __attribute__((visibility("default"))) QSysInfo {
818public:
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
869class 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"
888class QDebug;
889class 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
908inline 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"
945enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtSystemMsg = QtCriticalMsg };
946
947__attribute__((visibility("default"))) void qt_message_output(QtMsgType, const char *buf);
948
949typedef 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"
952template <typename T> class QBasicAtomicPointer;
953
954
955template <typename T>
956class QGlobalStatic
957{
958public:
959 QBasicAtomicPointer<T> pointer;
960 bool destroyed;
961};
962
963
964template <typename T>
965class QGlobalStaticDeleter
966{
967public:
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"
990class QBool
991{
992 bool b;
993
994public:
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
1000inline bool operator==(QBool b1, bool b2) { return !b1 == !b2; }
1001inline bool operator==(bool b1, QBool b2) { return !b1 == !b2; }
1002inline bool operator==(QBool b1, QBool b2) { return !b1 == !b2; }
1003inline bool operator!=(QBool b1, bool b2) { return !b1 != !b2; }
1004inline bool operator!=(bool b1, QBool b2) { return !b1 != !b2; }
1005inline bool operator!=(QBool b1, QBool b2) { return !b1 != !b2; }
1006
1007static inline bool qFuzzyCompare(double p1, double p2)
1008{
1009 return (qAbs(p1 - p2) <= 0.000000000001 * qMin(qAbs(p1), qAbs(p2)));
1010}
1011
1012static 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
1022static 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
1038static 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"
1051template <typename T> inline bool qIsDetached(T &) { return true; }
1052
1053template <typename T>
1054class QTypeInfo
1055{
1056public:
1057 enum {
1058 isPointer = false,
1059 isComplex = true,
1060 isStatic = true,
1061 isLarge = (sizeof(T)>sizeof(void*)),
1062 isDummy = false
1063 };
1064};
1065
1066template <typename T>
1067class QTypeInfo<T*>
1068{
1069public:
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"
1079enum {
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"
1091template <> 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"; } };
1092template <> 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"; } };
1093template <> 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"; } };
1094template <> 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"; } };
1095template <> 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"; } };
1096template <> 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"; } };
1097template <> 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"; } };
1098template <> 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"; } };
1099template <> 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"; } };
1100template <> 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"; } };
1101template <> 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"; } };
1102template <> 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"; } };
1103template <> 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"; } };
1104template <> 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
1106template <> 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"
1121class __attribute__((visibility("default"))) QFlag
1122{
1123 int i;
1124public:
1125 inline QFlag(int i);
1126 inline operator int() const { return i; }
1127};
1128
1129inline QFlag::QFlag(int ai) : i(ai) {}
1130
1131class __attribute__((visibility("default"))) QIncompatibleFlag
1132{
1133 int i;
1134public:
1135 inline explicit QIncompatibleFlag(int i);
1136 inline operator int() const { return i; }
1137};
1138
1139inline QIncompatibleFlag::QIncompatibleFlag(int ai) : i(ai) {}
1140
1141
1142
1143
1144template<typename Enum>
1145class QFlags
1146{
1147 typedef void **Zero;
1148 int i;
1149public:
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"
1193template <typename T>
1194class QForeachContainer {
1195public:
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
1245class QByteArray;
1246__attribute__((visibility("default"))) QByteArray qgetenv(const char *varName);
1247__attribute__((visibility("default"))) bool qputenv(const char *varName, const QByteArray& value);
1248
1249inline int qIntCast(double f) { return int(f); }
1250inline 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
1303enum QtValidLicenseForCoreModule { LicensedCore = true };
1304
1305
1306enum QtValidLicenseForGuiModule { LicensedGui = true };
1307
1308
1309enum QtValidLicenseForNetworkModule { LicensedNetwork = true };
1310
1311
1312enum QtValidLicenseForOpenGLModule { LicensedOpenGL = true };
1313
1314
1315enum QtValidLicenseForSqlModule { LicensedSql = true };
1316
1317
1318enum QtValidLicenseForXmlModule { LicensedXml = true };
1319
1320
1321enum QtValidLicenseForXmlPatternsModule { LicensedXmlPatterns = true };
1322
1323
1324enum QtValidLicenseForHelpModule { LicensedHelp = true };
1325
1326
1327enum QtValidLicenseForScriptModule { LicensedScript = true };
1328
1329
1330enum QtValidLicenseForScriptToolsModule { LicensedScriptTools = true };
1331
1332
1333enum QtValidLicenseForQt3SupportLightModule { LicensedQt3SupportLight = true };
1334
1335
1336enum QtValidLicenseForQt3SupportModule { LicensedQt3Support = true };
1337
1338
1339enum QtValidLicenseForSvgModule { LicensedSvg = true };
1340
1341
1342
1343
1344
1345enum QtValidLicenseForTestModule { LicensedTest = true };
1346
1347
1348enum 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
1362typedef QtValidLicenseForCoreModule QtCoreModule;
1363
1364
1365
1366
1367
1368namespace QAlgorithmsPrivate {
1369
1370template <typename RandomAccessIterator, typename T, typename LessThan>
1371 void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan);
1372template <typename RandomAccessIterator, typename T>
1373inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy);
1374
1375template <typename RandomAccessIterator, typename T, typename LessThan>
1376 void qStableSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan);
1377template <typename RandomAccessIterator, typename T>
1378inline void qStableSortHelper(RandomAccessIterator, RandomAccessIterator, const T &);
1379
1380template <typename RandomAccessIterator, typename T, typename LessThan>
1381 RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan);
1382template <typename RandomAccessIterator, typename T, typename LessThan>
1383 RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan);
1384template <typename RandomAccessIterator, typename T, typename LessThan>
1385 RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan);
1386
1387}
1388
1389template <typename InputIterator, typename OutputIterator>
1390inline OutputIterator qCopy(InputIterator begin, InputIterator end, OutputIterator dest)
1391{
1392 while (begin != end)
1393 *dest++ = *begin++;
1394 return dest;
1395}
1396
1397template <typename BiIterator1, typename BiIterator2>
1398inline BiIterator2 qCopyBackward(BiIterator1 begin, BiIterator1 end, BiIterator2 dest)
1399{
1400 while (begin != end)
1401 *--dest = *--end;
1402 return dest;
1403}
1404
1405template <typename InputIterator1, typename InputIterator2>
1406inline 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
1414template <typename ForwardIterator, typename T>
1415inline void qFill(ForwardIterator first, ForwardIterator last, const T &val)
1416{
1417 for (; first != last; ++first)
1418 *first = val;
1419}
1420
1421template <typename Container, typename T>
1422inline void qFill(Container &container, const T &val)
1423{
1424 qFill(container.begin(), container.end(), val);
1425}
1426
1427template <typename InputIterator, typename T>
1428inline InputIterator qFind(InputIterator first, InputIterator last, const T &val)
1429{
1430 while (first != last && !(*first == val))
1431 ++first;
1432 return first;
1433}
1434
1435template <typename Container, typename T>
1436inline typename Container::const_iterator qFind(const Container &container, const T &val)
1437{
1438 return qFind(container.constBegin(), container.constEnd(), val);
1439}
1440
1441template <typename InputIterator, typename T, typename Size>
1442inline 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
1449template <typename Container, typename T, typename Size>
1450inline 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"
1455template <typename T>
1456inline 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"
1463template <typename T>
1464class qLess
1465{
1466public:
1467 inline bool operator()(const T &t1, const T &t2) const
1468 {
1469 return (t1 < t2);
1470 }
1471};
1472
1473template <typename T>
1474class qGreater
1475{
1476public:
1477 inline bool operator()(const T &t1, const T &t2) const
1478 {
1479 return (t2 < t1);
1480 }
1481};
1482
1483
1484template <typename RandomAccessIterator>
1485inline void qSort(RandomAccessIterator start, RandomAccessIterator end)
1486{
1487 if (start != end)
1488 QAlgorithmsPrivate::qSortHelper(start, end, *start);
1489}
1490
1491template <typename RandomAccessIterator, typename LessThan>
1492inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
1493{
1494 if (start != end)
1495 QAlgorithmsPrivate::qSortHelper(start, end, *start, lessThan);
1496}
1497
1498template<typename Container>
1499inline void qSort(Container &c)
1500{
1501
1502
1503
1504
1505 if (!c.empty())
1506 QAlgorithmsPrivate::qSortHelper(c.begin(), c.end(), *c.begin());
1507}
1508
1509template <typename RandomAccessIterator>
1510inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end)
1511{
1512 if (start != end)
1513 QAlgorithmsPrivate::qStableSortHelper(start, end, *start);
1514}
1515
1516template <typename RandomAccessIterator, typename LessThan>
1517inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
1518{
1519 if (start != end)
1520 QAlgorithmsPrivate::qStableSortHelper(start, end, *start, lessThan);
1521}
1522
1523template<typename Container>
1524inline void qStableSort(Container &c)
1525{
1526
1527
1528
1529
1530 if (!c.empty())
1531 QAlgorithmsPrivate::qStableSortHelper(c.begin(), c.end(), *c.begin());
1532}
1533
1534template <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
1557template <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
1563template <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
1569template <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
1590template <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
1596template <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
1602template <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
1625template <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
1631template <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
1637template <typename ForwardIterator>
1638 void qDeleteAll(ForwardIterator begin, ForwardIterator end)
1639{
1640 while (begin != end) {
1641 delete *begin;
1642 ++begin;
1643 }
1644}
1645
1646template <typename Container>
1647inline void qDeleteAll(const Container &c)
1648{
1649 qDeleteAll(c.begin(), c.end());
1650}
1651
1652
1653
1654
1655
1656namespace QAlgorithmsPrivate {
1657
1658template <typename RandomAccessIterator, typename T, typename LessThan>
1659 void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan)
1660{
1661top:
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
1711template <typename RandomAccessIterator, typename T>
1712inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy)
1713{
1714 qSortHelper(begin, end, dummy, qLess<T>());
1715}
1716
1717template <typename RandomAccessIterator>
1718 void qReverse(RandomAccessIterator begin, RandomAccessIterator end)
1719{
1720 --end;
1721 while (begin < end)
1722 qSwap(*begin++, *end--);
1723}
1724
1725template <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
1733template <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
1768template <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
1781template <typename RandomAccessIterator, typename T>
1782inline void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy)
1783{
1784 qStableSortHelper(begin, end, dummy, qLess<T>());
1785}
1786
1787template <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
1808template <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
1828template <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
1881typedef QtValidLicenseForCoreModule QtCoreModule;
1882
1883class __attribute__((visibility("default"))) QBasicAtomicInt
1884{
1885public:
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
1954template <typename T>
1955class QBasicAtomicPointer
1956{
1957public:
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
2059inline bool QBasicAtomicInt::isReferenceCountingNative()
2060{ return false; }
2061inline bool QBasicAtomicInt::isReferenceCountingWaitFree()
2062{ return false; }
2063
2064#define Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE
2065
2066inline bool QBasicAtomicInt::isTestAndSetNative()
2067{ return false; }
2068inline bool QBasicAtomicInt::isTestAndSetWaitFree()
2069{ return false; }
2070
2071#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE
2072
2073inline bool QBasicAtomicInt::isFetchAndStoreNative()
2074{ return false; }
2075inline bool QBasicAtomicInt::isFetchAndStoreWaitFree()
2076{ return false; }
2077
2078#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE
2079
2080inline bool QBasicAtomicInt::isFetchAndAddNative()
2081{ return false; }
2082inline bool QBasicAtomicInt::isFetchAndAddWaitFree()
2083{ return false; }
2084
2085#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_NOT_NATIVE
2086
2087template <typename T>
2088inline bool QBasicAtomicPointer<T>::isTestAndSetNative()
2089{ return false; }
2090template <typename T>
2091inline bool QBasicAtomicPointer<T>::isTestAndSetWaitFree()
2092{ return false; }
2093
2094#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_NOT_NATIVE
2095
2096template <typename T>
2097inline bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
2098{ return false; }
2099template <typename T>
2100inline bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
2101{ return false; }
2102
2103#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_NOT_NATIVE
2104
2105template <typename T>
2106inline bool QBasicAtomicPointer<T>::isFetchAndAddNative()
2107{ return false; }
2108template <typename T>
2109inline 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
2122inline bool QBasicAtomicInt::ref()
2123{
2124 return QBasicAtomicInt_fetchAndAddOrdered(&_q_value, 1) != -1;
2125}
2126
2127inline bool QBasicAtomicInt::deref()
2128{
2129 return QBasicAtomicInt_fetchAndAddOrdered(&_q_value, -1) != 1;
2130}
2131
2132
2133
2134inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue)
2135{
2136 return QBasicAtomicInt_testAndSetOrdered(&_q_value, expectedValue, newValue);
2137}
2138
2139inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
2140{
2141 return testAndSetOrdered(expectedValue, newValue);
2142}
2143
2144inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
2145{
2146 return testAndSetOrdered(expectedValue, newValue);
2147}
2148
2149inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
2150{
2151 return testAndSetOrdered(expectedValue, newValue);
2152}
2153
2154
2155
2156inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue)
2157{
2158 return QBasicAtomicInt_fetchAndStoreOrdered(&_q_value, newValue);
2159}
2160
2161inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
2162{
2163 return fetchAndStoreOrdered(newValue);
2164}
2165
2166inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
2167{
2168 return fetchAndStoreOrdered(newValue);
2169}
2170
2171inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
2172{
2173 return fetchAndStoreOrdered(newValue);
2174}
2175
2176
2177
2178inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd)
2179{
2180 return QBasicAtomicInt_fetchAndAddOrdered(&_q_value, valueToAdd);
2181}
2182
2183inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
2184{
2185 return fetchAndAddOrdered(valueToAdd);
2186}
2187
2188inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
2189{
2190 return fetchAndAddOrdered(valueToAdd);
2191}
2192
2193inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
2194{
2195 return fetchAndAddOrdered(valueToAdd);
2196}
2197
2198
2199
2200template <typename T>
2201inline 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
2208template <typename T>
2209inline bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue)
2210{
2211 return testAndSetOrdered(expectedValue, newValue);
2212}
2213
2214template <typename T>
2215inline bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
2216{
2217 return testAndSetOrdered(expectedValue, newValue);
2218}
2219
2220template <typename T>
2221inline bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
2222{
2223 return testAndSetOrdered(expectedValue, newValue);
2224}
2225
2226
2227
2228template <typename T>
2229inline 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
2238template <typename T>
2239inline T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
2240{
2241 return fetchAndStoreOrdered(newValue);
2242}
2243
2244template <typename T>
2245inline T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
2246{
2247 return fetchAndStoreOrdered(newValue);
2248}
2249
2250template <typename T>
2251inline T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
2252{
2253 return fetchAndStoreOrdered(newValue);
2254}
2255
2256
2257
2258template <typename T>
2259inline 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
2268template <typename T>
2269inline T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
2270{
2271 return fetchAndAddOrdered(valueToAdd);
2272}
2273
2274template <typename T>
2275inline T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
2276{
2277 return fetchAndAddOrdered(valueToAdd);
2278}
2279
2280template <typename T>
2281inline 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
2303typedef QtValidLicenseForCoreModule QtCoreModule;
2304
2305
2306class __attribute__((visibility("default"))) QAtomicInt : public QBasicAtomicInt
2307{
2308public:
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
2339template <typename T>
2340class QAtomicPointer : public QBasicAtomicPointer<T>
2341{
2342public:
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
2378template <typename T>
2379inline 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"
2389template <typename T>
2390inline 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
2416typedef QtValidLicenseForCoreModule QtCoreModule;
2417
2418class QString;
2419
2420struct QLatin1Char
2421{
2422public:
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
2432private:
2433 char ch;
2434};
2435
2436
2437class __attribute__((visibility("default"))) QChar {
2438public:
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"
2695private:
2696
2697
2698
2699
2700 ushort ucs;
2701}
2702
2703
2704
2705 ;
2706
2707template <> 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
2709inline QChar::QChar() : ucs(0) {}
2710
2711
2712
2713
2714inline char QChar::toLatin1() const { return ucs > 0xff ? '\0' : char(ucs); }
2715
2716inline QChar QChar::fromLatin1(char c) { return QChar(ushort(uchar(c))); }
2717
2718inline QChar::QChar(uchar c, uchar r) : ucs((r << 8) | c){}
2719inline QChar::QChar(short rc) : ucs(ushort(rc)){}
2720inline QChar::QChar(uint rc) : ucs(ushort(rc & 0xffff)){}
2721inline QChar::QChar(int rc) : ucs(ushort(rc & 0xffff)){}
2722inline QChar::QChar(SpecialCharacter s) : ucs(ushort(s)) {}
2723inline QChar::QChar(QLatin1Char ch) : ucs(ch.unicode()) {}
2724
2725inline void QChar::setCell(uchar acell)
2726{ ucs = (ucs & 0xff00) + acell; }
2727inline void QChar::setRow(uchar arow)
2728{ ucs = (ushort(arow)<<8) + (ucs&0xff); }
2729
2730inline bool operator==(QChar c1, QChar c2) { return c1.unicode() == c2.unicode(); }
2731inline bool operator!=(QChar c1, QChar c2) { return c1.unicode() != c2.unicode(); }
2732inline bool operator<=(QChar c1, QChar c2) { return c1.unicode() <= c2.unicode(); }
2733inline bool operator>=(QChar c1, QChar c2) { return c1.unicode() >= c2.unicode(); }
2734inline bool operator<(QChar c1, QChar c2) { return c1.unicode() < c2.unicode(); }
2735inline 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
2757namespace std {
2758 struct bidirectional_iterator_tag;
2759 struct random_access_iterator_tag;
2760}
2761
2762
2763
2764typedef 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
3387namespace 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
3779namespace 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
3804namespace 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
3901namespace 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
3999namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
4000
4001 template<typename _Iterator, typename _Container>
4002 class __normal_iterator;
4003
4004}
4005
4006namespace 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
4322namespace __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
4496namespace 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
4519namespace 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
4925namespace __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
5146namespace 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
5203extern "C"
5204{
5205 typedef struct
5206 {
5207 int __fill[6];
5208 } mbstate_t;
5209}
5210
5211
5212namespace 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
5306typedef signed char int8_t;
5307typedef short int int16_t;
5308typedef int int32_t;
5309
5310
5311
5312__extension__
5313typedef long long int int64_t;
5314
5315
5316
5317
5318typedef unsigned char uint8_t;
5319typedef unsigned short int uint16_t;
5320
5321typedef unsigned int uint32_t;
5322#define __uint32_t_defined
5323
5324
5325
5326
5327__extension__
5328typedef unsigned long long int uint64_t;
5329
5330
5331
5332
5333
5334
5335typedef signed char int_least8_t;
5336typedef short int int_least16_t;
5337typedef int int_least32_t;
5338
5339
5340
5341__extension__
5342typedef long long int int_least64_t;
5343
5344
5345
5346typedef unsigned char uint_least8_t;
5347typedef unsigned short int uint_least16_t;
5348typedef unsigned int uint_least32_t;
5349
5350
5351
5352__extension__
5353typedef unsigned long long int uint_least64_t;
5354
5355
5356
5357
5358
5359
5360typedef signed char int_fast8_t;
5361
5362
5363
5364
5365
5366typedef int int_fast16_t;
5367typedef int int_fast32_t;
5368__extension__
5369typedef long long int int_fast64_t;
5370
5371
5372
5373typedef unsigned char uint_fast8_t;
5374
5375
5376
5377
5378
5379typedef unsigned int uint_fast16_t;
5380typedef unsigned int uint_fast32_t;
5381__extension__
5382typedef 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
5384typedef int intptr_t;
5385#define __intptr_t_defined
5386
5387typedef unsigned int uintptr_t;
5388# 140 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdint.h" 3 4
5389__extension__
5390typedef long long int intmax_t;
5391__extension__
5392typedef 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
5396namespace 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
5523namespace 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
5602extern "C++" {
5603
5604namespace 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
5656namespace __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
5699namespace 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
5762namespace __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
5867namespace 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
5949namespace std
5950{
5951 namespace __debug { }
5952}
5953
5954
5955
5956
5957namespace __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
5986namespace 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
6584namespace 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
6731extern "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
6788typedef unsigned short __kernel_dev_t;
6789typedef unsigned long __kernel_ino_t;
6790typedef unsigned short __kernel_mode_t;
6791typedef unsigned short __kernel_nlink_t;
6792typedef long __kernel_off_t;
6793typedef int __kernel_pid_t;
6794typedef unsigned int __kernel_ipc_pid_t;
6795typedef unsigned int __kernel_uid_t;
6796typedef unsigned int __kernel_gid_t;
6797typedef unsigned int __kernel_size_t;
6798typedef int __kernel_ssize_t;
6799typedef int __kernel_ptrdiff_t;
6800typedef long __kernel_time_t;
6801typedef long __kernel_suseconds_t;
6802typedef long __kernel_clock_t;
6803typedef int __kernel_daddr_t;
6804typedef char * __kernel_caddr_t;
6805typedef unsigned short __kernel_uid16_t;
6806typedef unsigned short __kernel_gid16_t;
6807typedef unsigned int __kernel_uid32_t;
6808typedef unsigned int __kernel_gid32_t;
6809typedef unsigned short __kernel_old_uid_t;
6810typedef unsigned short __kernel_old_gid_t;
6811typedef long long __kernel_loff_t;
6812typedef __kernel_dev_t __kernel_old_dev_t;
6813
6814typedef 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
6824typedef unsigned char __u_char;
6825typedef unsigned short int __u_short;
6826typedef unsigned int __u_int;
6827typedef unsigned long int __u_long;
6828
6829
6830typedef signed char __int8_t;
6831typedef unsigned char __uint8_t;
6832typedef signed short int __int16_t;
6833typedef unsigned short int __uint16_t;
6834typedef signed int __int32_t;
6835typedef 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
6965typedef __off64_t __loff_t;
6966typedef __quad_t *__qaddr_t;
6967typedef 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
6979typedef __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
6992struct __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
7000struct _pthread_fastlock
7001{
7002 long int __status;
7003 int __spinlock;
7004
7005};
7006
7007
7008
7009typedef struct _pthread_descr_struct *_pthread_descr;
7010#define _PTHREAD_DESCR_DEFINED
7011
7012
7013
7014
7015typedef 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
7030typedef struct
7031{
7032 struct _pthread_fastlock __c_lock;
7033 _pthread_descr __c_waiting;
7034} pthread_cond_t;
7035
7036
7037
7038typedef struct
7039{
7040 int __dummy;
7041} pthread_condattr_t;
7042
7043
7044typedef unsigned int pthread_key_t;
7045
7046
7047
7048
7049
7050typedef 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
7061typedef struct
7062{
7063 int __mutexkind;
7064} pthread_mutexattr_t;
7065
7066
7067
7068typedef int pthread_once_t;
7069
7070
7071
7072
7073typedef 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
7086typedef struct
7087{
7088 int __lockkind;
7089 int __pshared;
7090} pthread_rwlockattr_t;
7091
7092
7093
7094
7095typedef volatile int pthread_spinlock_t;
7096
7097
7098typedef 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
7106typedef struct {
7107 int __pshared;
7108} pthread_barrierattr_t;
7109
7110
7111
7112
7113
7114typedef 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
7126typedef 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
7142typedef 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
7218struct 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
7267struct sched_param
7268 {
7269 int __sched_priority;
7270 };
7271
7272extern "C" {
7273
7274
7275
7276extern 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
7293typedef unsigned long int __cpu_mask;
7294
7295
7296#define __CPUELT(cpu) ((cpu) / __NCPUBITS)
7297#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
7298
7299
7300typedef 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
7323extern "C" {
7324
7325
7326extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
7327 throw ();
7328
7329
7330extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
7331
7332
7333extern int sched_setscheduler (__pid_t __pid, int __policy,
7334 __const struct sched_param *__param) throw ();
7335
7336
7337extern int sched_getscheduler (__pid_t __pid) throw ();
7338
7339
7340extern int sched_yield (void) throw ();
7341
7342
7343extern int sched_get_priority_max (int __algorithm) throw ();
7344
7345
7346extern int sched_get_priority_min (int __algorithm) throw ();
7347
7348
7349extern 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
7362extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
7363 __const cpu_set_t *__cpuset) throw ();
7364
7365
7366extern 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
7377extern "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
7450typedef __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
7466typedef __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
7482typedef __clockid_t clockid_t;
7483
7484
7485#undef __clockid_time_t
7486
7487
7488
7489#define __timer_t_defined 1
7490
7491
7492
7493
7494typedef __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
7505struct 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
7535struct itimerspec
7536 {
7537 struct timespec it_interval;
7538 struct timespec it_value;
7539 };
7540
7541
7542struct sigevent;
7543
7544
7545
7546
7547
7548typedef __pid_t pid_t;
7549#define __pid_t_defined
7550
7551
7552
7553
7554
7555
7556
7557extern clock_t clock (void) throw ();
7558
7559
7560extern time_t time (time_t *__timer) throw ();
7561
7562
7563
7564extern double difftime (time_t __time1, time_t __time0)
7565 throw () __attribute__ ((__const__));
7566
7567
7568
7569extern time_t mktime (struct tm *__tp) throw ();
7570
7571
7572
7573
7574
7575extern 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
7583extern 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
7590extern struct tm *gmtime (__const time_t *__timer) throw ();
7591
7592
7593
7594extern struct tm *localtime (__const time_t *__timer) throw ();
7595
7596
7597
7598
7599
7600extern struct tm *gmtime_r (__const time_t *__restrict __timer,
7601 struct tm *__restrict __tp) throw ();
7602
7603
7604
7605extern struct tm *localtime_r (__const time_t *__restrict __timer,
7606 struct tm *__restrict __tp) throw ();
7607
7608
7609
7610
7611
7612extern char *asctime (__const struct tm *__tp) throw ();
7613
7614
7615extern char *ctime (__const time_t *__timer) throw ();
7616
7617
7618
7619
7620
7621
7622
7623extern char *asctime_r (__const struct tm *__restrict __tp,
7624 char *__restrict __buf) throw ();
7625
7626
7627extern 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
7630extern char *tzname[2];
7631
7632
7633
7634extern void tzset (void) throw ();
7635
7636
7637
7638extern int daylight;
7639extern long int timezone;
7640
7641
7642
7643
7644
7645extern 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
7653extern time_t timegm (struct tm *__tp) throw ();
7654
7655
7656extern time_t timelocal (struct tm *__tp) throw ();
7657
7658
7659extern 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
7661extern int nanosleep (__const struct timespec *__requested_time,
7662 struct timespec *__remaining);
7663
7664
7665
7666extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw ();
7667
7668
7669extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw ();
7670
7671
7672extern 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
7675extern int timer_create (clockid_t __clock_id,
7676 struct sigevent *__restrict __evp,
7677 timer_t *__restrict __timerid) throw ();
7678
7679
7680extern int timer_delete (timer_t __timerid) throw ();
7681
7682
7683extern int timer_settime (timer_t __timerid, int __flags,
7684 __const struct itimerspec *__restrict __value,
7685 struct itimerspec *__restrict __ovalue) throw ();
7686
7687
7688extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
7689 throw ();
7690
7691
7692extern 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
7700extern "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
7706typedef int __sig_atomic_t;
7707
7708
7709
7710#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
7711typedef 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
7718typedef __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
7737extern "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
7767enum
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
7775enum
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
7783enum
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
7791enum
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
7810enum
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
7819enum
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
7839struct _pthread_cleanup_buffer
7840{
7841 void (*__routine) (void *);
7842 void *__arg;
7843 int __canceltype;
7844 struct _pthread_cleanup_buffer *__prev;
7845};
7846
7847
7848
7849enum
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};
7856enum
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
7871extern 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
7877extern pthread_t pthread_self (void) throw ();
7878
7879
7880extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ();
7881
7882
7883extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
7884
7885
7886
7887
7888extern int pthread_join (pthread_t __th, void **__thread_return);
7889
7890
7891
7892
7893
7894extern int pthread_detach (pthread_t __th) throw ();
7895
7896
7897
7898
7899
7900
7901
7902extern int pthread_attr_init (pthread_attr_t *__attr) throw ();
7903
7904
7905extern int pthread_attr_destroy (pthread_attr_t *__attr) throw ();
7906
7907
7908extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
7909 int __detachstate) throw ();
7910
7911
7912extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
7913 int *__detachstate) throw ();
7914
7915
7916extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
7917 __const struct sched_param *__restrict
7918 __param) throw ();
7919
7920
7921extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
7922 __attr,
7923 struct sched_param *__restrict __param)
7924 throw ();
7925
7926
7927extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
7928 throw ();
7929
7930
7931extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
7932 __attr, int *__restrict __policy)
7933 throw ();
7934
7935
7936extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
7937 int __inherit) throw ();
7938
7939
7940extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
7941 __attr, int *__restrict __inherit)
7942 throw ();
7943
7944
7945extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
7946 throw ();
7947
7948
7949extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
7950 int *__restrict __scope) throw ();
7951
7952
7953
7954extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
7955 size_t __guardsize) throw ();
7956
7957
7958extern int pthread_attr_getguardsize (__const pthread_attr_t *__restrict
7959 __attr, size_t *__restrict __guardsize)
7960 throw ();
7961
7962
7963
7964
7965
7966
7967extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
7968 void *__stackaddr) throw ();
7969
7970
7971extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
7972 __attr, void **__restrict __stackaddr)
7973 throw ();
7974
7975
7976
7977
7978
7979extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
7980 size_t __stacksize) throw ();
7981
7982
7983extern 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
7991extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
7992 size_t __stacksize) throw ();
7993
7994
7995extern 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
7999extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
8000 __const struct sched_param *__param)
8001 throw ();
8002
8003
8004extern int pthread_getschedparam (pthread_t __target_thread,
8005 int *__restrict __policy,
8006 struct sched_param *__restrict __param)
8007 throw ();
8008
8009
8010
8011extern int pthread_getconcurrency (void) throw ();
8012
8013
8014extern int pthread_setconcurrency (int __level) throw ();
8015
8016
8017
8018
8019
8020
8021extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex,
8022 __const pthread_mutexattr_t *__restrict
8023 __mutex_attr) throw ();
8024
8025
8026extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw ();
8027
8028
8029extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw ();
8030
8031
8032extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw ();
8033
8034
8035
8036extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
8037 __const struct timespec *__restrict
8038 __abstime) throw ();
8039
8040
8041
8042extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw ();
8043
8044
8045
8046
8047
8048
8049extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw ();
8050
8051
8052extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw ();
8053
8054
8055extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
8056 __restrict __attr,
8057 int *__restrict __pshared) throw ();
8058
8059
8060extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
8061 int __pshared) throw ();
8062
8063
8064
8065
8066
8067extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
8068 throw ();
8069
8070
8071extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
8072 __attr, int *__restrict __kind) throw ();
8073
8074
8075
8076
8077
8078
8079
8080extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
8081 __const pthread_condattr_t *__restrict
8082 __cond_attr) throw ();
8083
8084
8085extern int pthread_cond_destroy (pthread_cond_t *__cond) throw ();
8086
8087
8088extern int pthread_cond_signal (pthread_cond_t *__cond) throw ();
8089
8090
8091extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw ();
8092
8093
8094
8095extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
8096 pthread_mutex_t *__restrict __mutex);
8097
8098
8099
8100
8101
8102extern 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
8110extern int pthread_condattr_init (pthread_condattr_t *__attr) throw ();
8111
8112
8113extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw ();
8114
8115
8116extern int pthread_condattr_getpshared (__const pthread_condattr_t *
8117 __restrict __attr,
8118 int *__restrict __pshared) throw ();
8119
8120
8121extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
8122 int __pshared) throw ();
8123
8124
8125
8126
8127
8128
8129
8130extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
8131 __const pthread_rwlockattr_t *__restrict
8132 __attr) throw ();
8133
8134
8135extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw ();
8136
8137
8138extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw ();
8139
8140
8141extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw ();
8142
8143
8144
8145extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
8146 __const struct timespec *__restrict
8147 __abstime) throw ();
8148
8149
8150
8151extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw ();
8152
8153
8154extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw ();
8155
8156
8157
8158extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
8159 __const struct timespec *__restrict
8160 __abstime) throw ();
8161
8162
8163
8164extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw ();
8165
8166
8167
8168
8169
8170extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw ();
8171
8172
8173extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw ();
8174
8175
8176extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
8177 __restrict __attr,
8178 int *__restrict __pshared) throw ();
8179
8180
8181extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
8182 int __pshared) throw ();
8183
8184
8185extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *__attr,
8186 int *__pref) throw ();
8187
8188
8189extern 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
8192extern int pthread_key_create (pthread_key_t *__key,
8193 void (*__destr_function) (void *)) throw ();
8194
8195
8196extern int pthread_key_delete (pthread_key_t __key) throw ();
8197
8198
8199extern int pthread_setspecific (pthread_key_t __key,
8200 __const void *__pointer) throw ();
8201
8202
8203extern 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
8205extern int pthread_once (pthread_once_t *__once_control,
8206 void (*__init_routine) (void));
8207
8208
8209
8210
8211
8212
8213extern int pthread_setcancelstate (int __state, int *__oldstate);
8214
8215
8216
8217extern int pthread_setcanceltype (int __type, int *__oldtype);
8218
8219
8220extern int pthread_cancel (pthread_t __cancelthread);
8221
8222
8223
8224
8225extern 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
8231extern 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
8241extern 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
8252extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer,
8253 void (*__routine) (void *),
8254 void *__arg) throw ();
8255extern 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
8266extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer,
8267 int __execute) throw ();
8268extern 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
8275extern int pthread_sigmask (int __how,
8276 __const __sigset_t *__restrict __newmask,
8277 __sigset_t *__restrict __oldmask)throw ();
8278
8279
8280extern 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
8283extern int pthread_atfork (void (*__prepare) (void),
8284 void (*__parent) (void),
8285 void (*__child) (void)) throw ();
8286
8287
8288
8289
8290extern 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
8374typedef struct {
8375 __off_t __pos;
8376
8377
8378
8379
8380
8381
8382} __STDIO_fpos_t;
8383
8384
8385typedef struct {
8386 __off64_t __pos;
8387
8388
8389
8390
8391
8392
8393} __STDIO_fpos64_t;
8394
8395
8396
8397
8398typedef __off64_t __offmax_t;
8399# 221 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/uClibc_stdio.h" 3 4
8400struct __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
8476extern int __fgetc_unlocked(FILE *__stream);
8477extern 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
8496extern 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
8524extern 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
8563typedef __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
8569typedef __STDIO_fpos_t fpos_t;
8570
8571
8572
8573
8574
8575typedef __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
8627extern FILE *stdin;
8628extern FILE *stdout;
8629extern FILE *stderr;
8630
8631#define stdin stdin
8632#define stdout stdout
8633#define stderr stderr
8634
8635
8636
8637extern int remove (__const char *__filename) throw ();
8638
8639extern int rename (__const char *__old, __const char *__new) throw ();
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649extern FILE *tmpfile (void) ;
8650# 167 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
8651extern FILE *tmpfile64 (void) ;
8652
8653
8654
8655extern char *tmpnam (char *__s) throw () ;
8656
8657
8658
8659
8660
8661extern char *tmpnam_r (char *__s) throw () ;
8662# 189 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
8663extern char *tempnam (__const char *__dir, __const char *__pfx)
8664 throw () __attribute__ ((__malloc__)) ;
8665
8666
8667
8668
8669
8670
8671
8672
8673extern int fclose (FILE *__stream);
8674
8675
8676
8677
8678extern int fflush (FILE *__stream);
8679
8680# 214 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
8681extern int fflush_unlocked (FILE *__stream);
8682# 224 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
8683extern int fcloseall (void);
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693extern FILE *fopen (__const char *__restrict __filename,
8694 __const char *__restrict __modes) ;
8695
8696
8697
8698
8699extern 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
8705extern FILE *fopen64 (__const char *__restrict __filename,
8706 __const char *__restrict __modes) ;
8707extern FILE *freopen64 (__const char *__restrict __filename,
8708 __const char *__restrict __modes,
8709 FILE *__restrict __stream) ;
8710
8711
8712
8713
8714extern 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
8719extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
8720
8721
8722
8723extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
8724 int __modes, size_t __n) throw ();
8725
8726
8727
8728
8729
8730extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
8731 size_t __size) throw ();
8732
8733
8734extern void setlinebuf (FILE *__stream) throw ();
8735
8736
8737
8738
8739
8740
8741
8742
8743extern int fprintf (FILE *__restrict __stream,
8744 __const char *__restrict __format, ...);
8745
8746
8747
8748
8749extern int printf (__const char *__restrict __format, ...);
8750
8751extern int sprintf (char *__restrict __s,
8752 __const char *__restrict __format, ...) throw ();
8753
8754
8755
8756
8757
8758extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
8759 __gnuc_va_list __arg);
8760
8761
8762
8763
8764extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
8765
8766extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
8767 __gnuc_va_list __arg) throw ();
8768
8769
8770
8771
8772
8773extern int snprintf (char *__restrict __s, size_t __maxlen,
8774 __const char *__restrict __format, ...)
8775 throw () __attribute__ ((__format__ (__printf__, 3, 4)));
8776
8777extern 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
8786extern 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
8794extern int asprintf (char **__restrict __ptr,
8795 __const char *__restrict __fmt, ...)
8796 throw () __attribute__ ((__format__ (__printf__, 2, 3))) ;
8797
8798
8799
8800
8801
8802
8803
8804extern int vdprintf (int __fd, __const char *__restrict __fmt,
8805 __gnuc_va_list __arg)
8806 __attribute__ ((__format__ (__printf__, 2, 0)));
8807extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
8808 __attribute__ ((__format__ (__printf__, 2, 3)));
8809
8810
8811
8812
8813
8814
8815
8816
8817extern int fscanf (FILE *__restrict __stream,
8818 __const char *__restrict __format, ...) ;
8819
8820
8821
8822
8823extern int scanf (__const char *__restrict __format, ...) ;
8824
8825extern int sscanf (__const char *__restrict __s,
8826 __const char *__restrict __format, ...) throw ();
8827
8828
8829
8830
8831
8832
8833
8834
8835extern 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
8843extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
8844 __attribute__ ((__format__ (__scanf__, 1, 0))) ;
8845
8846
8847extern 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
8859extern int fgetc (FILE *__stream);
8860extern int getc (FILE *__stream);
8861
8862
8863
8864
8865
8866extern int getchar (void);
8867
8868
8869
8870
8871#define getc(_fp) __GETC(_fp)
8872
8873
8874
8875
8876
8877
8878extern int getc_unlocked (FILE *__stream);
8879extern 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
8884extern int fgetc_unlocked (FILE *__stream);
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896extern int fputc (int __c, FILE *__stream);
8897extern int putc (int __c, FILE *__stream);
8898
8899
8900
8901
8902
8903extern 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
8910extern int fputc_unlocked (int __c, FILE *__stream);
8911
8912
8913
8914
8915
8916
8917
8918extern int putc_unlocked (int __c, FILE *__stream);
8919extern int putchar_unlocked (int __c);
8920
8921
8922#define putc_unlocked(_ch,_fp) __PUTC_UNLOCKED(_ch, _fp)
8923
8924
8925
8926
8927
8928
8929extern int getw (FILE *__stream);
8930
8931
8932extern int putw (int __w, FILE *__stream);
8933
8934
8935
8936
8937
8938
8939
8940
8941extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
8942 ;
8943
8944
8945
8946
8947
8948
8949extern char *gets (char *__s) ;
8950
8951# 550 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
8952extern 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
8955extern __ssize_t getdelim (char **__restrict __lineptr,
8956 size_t *__restrict __n, int __delimiter,
8957 FILE *__restrict __stream) ;
8958
8959
8960
8961
8962
8963
8964
8965extern __ssize_t getline (char **__restrict __lineptr,
8966 size_t *__restrict __n,
8967 FILE *__restrict __stream) ;
8968
8969
8970
8971
8972
8973
8974
8975
8976extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
8977
8978
8979
8980
8981
8982extern int puts (__const char *__s);
8983
8984
8985
8986
8987
8988
8989extern int ungetc (int __c, FILE *__stream);
8990
8991
8992
8993
8994
8995
8996extern size_t fread (void *__restrict __ptr, size_t __size,
8997 size_t __n, FILE *__restrict __stream) ;
8998
8999
9000
9001
9002extern 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
9006extern 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
9009extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
9010 size_t __n, FILE *__restrict __stream) ;
9011extern 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
9021extern int fseek (FILE *__stream, long int __off, int __whence);
9022
9023
9024
9025
9026extern long int ftell (FILE *__stream) ;
9027
9028
9029
9030
9031extern void rewind (FILE *__stream);
9032
9033# 676 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
9034extern int fseeko (FILE *__stream, __off_t __off, int __whence);
9035
9036
9037
9038
9039extern __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
9047extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
9048
9049
9050
9051
9052extern 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
9057extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
9058extern __off64_t ftello64 (FILE *__stream) ;
9059extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
9060extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);
9061
9062
9063
9064
9065extern void clearerr (FILE *__stream) throw ();
9066
9067extern int feof (FILE *__stream) throw () ;
9068
9069extern int ferror (FILE *__stream) throw () ;
9070
9071
9072
9073
9074extern void clearerr_unlocked (FILE *__stream) throw ();
9075extern int feof_unlocked (FILE *__stream) throw () ;
9076extern int ferror_unlocked (FILE *__stream) throw () ;
9077
9078
9079
9080
9081
9082
9083
9084
9085extern void perror (__const char *__s);
9086
9087# 764 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
9088extern int fileno (FILE *__stream) throw () ;
9089
9090
9091
9092
9093extern int fileno_unlocked (FILE *__stream) throw () ;
9094# 779 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
9095extern FILE *popen (__const char *__command, __const char *__modes) ;
9096
9097
9098
9099
9100
9101extern int pclose (FILE *__stream);
9102
9103
9104
9105
9106
9107extern char *ctermid (char *__s) throw ();
9108
9109
9110
9111
9112
9113extern char *cuserid (char *__s);
9114# 819 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdio.h" 3 4
9115extern void flockfile (FILE *__stream) throw ();
9116
9117
9118
9119extern int ftrylockfile (FILE *__stream) throw () ;
9120
9121
9122extern 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
9207namespace 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
9273namespace __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
9410namespace 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
9562extern "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
9577struct 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
9643extern char *setlocale (int __category, __const char *__locale) throw ();
9644
9645
9646extern 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
9660namespace 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
9680namespace 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
9740extern "C" {
9741
9742
9743
9744
9745
9746
9747#define _ISbit(bit) (1 << (bit))
9748
9749enum
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
9777typedef __uint16_t __ctype_mask_t;
9778
9779
9780
9781typedef __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
9789extern const __ctype_mask_t *__C_ctype_b;
9790extern const __ctype_touplow_t *__C_ctype_toupper;
9791extern 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
9793extern const __ctype_mask_t *__ctype_b;
9794extern const __ctype_touplow_t *__ctype_toupper;
9795extern 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
9817extern int isalnum (int) throw ();
9818extern int isalpha (int) throw ();
9819extern int iscntrl (int) throw ();
9820extern int isdigit (int) throw ();
9821extern int islower (int) throw ();
9822extern int isgraph (int) throw ();
9823extern int isprint (int) throw ();
9824extern int ispunct (int) throw ();
9825extern int isspace (int) throw ();
9826extern int isupper (int) throw ();
9827extern int isxdigit (int) throw ();
9828
9829
9830
9831extern int tolower (int __c) throw ();
9832
9833
9834extern int toupper (int __c) throw ();
9835
9836
9837
9838
9839
9840
9841
9842
9843extern int isblank (int) throw ();
9844
9845
9846
9847
9848
9849
9850extern int isctype (int __c, int __mask) throw ();
9851
9852
9853
9854
9855
9856
9857extern int isascii (int __c) throw ();
9858
9859
9860
9861extern int toascii (int __c) throw ();
9862
9863
9864
9865extern int _toupper (int) throw ();
9866extern 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
9893namespace 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
9912namespace 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
10092extern "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
10344typedef __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
10374typedef __gid_t gid_t;
10375#define __gid_t_defined
10376
10377
10378
10379typedef __uid_t uid_t;
10380#define __uid_t_defined
10381
10382
10383
10384
10385typedef __off_t off_t;
10386
10387
10388
10389#define __off_t_defined
10390
10391
10392typedef __off64_t off64_t;
10393#define __off64_t_defined
10394
10395
10396
10397typedef __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
10400typedef __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
10413extern 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
10419extern __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
10421extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
10422 throw ();
10423
10424
10425
10426
10427
10428
10429extern int close (int __fd);
10430
10431
10432
10433
10434
10435
10436extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
10437
10438
10439
10440
10441
10442extern 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
10444extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
10445 __off_t __offset) ;
10446
10447
10448
10449
10450
10451
10452extern 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
10455extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
10456 __off64_t __offset) ;
10457
10458
10459extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
10460 __off64_t __offset) ;
10461
10462
10463
10464
10465
10466
10467
10468extern int pipe (int __pipedes[2]) throw () ;
10469# 391 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
10470extern 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
10472extern unsigned int sleep (unsigned int __seconds);
10473
10474
10475
10476
10477
10478
10479extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
10480 throw ();
10481
10482
10483
10484
10485
10486
10487extern int usleep (__useconds_t __useconds);
10488# 427 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
10489extern int pause (void);
10490
10491
10492
10493extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
10494 throw () __attribute__ ((__nonnull__ (1))) ;
10495
10496
10497
10498extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ;
10499
10500
10501
10502
10503extern 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
10506extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
10507
10508
10509
10510extern int fchdir (int __fd) throw () ;
10511# 469 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
10512extern char *getcwd (char *__buf, size_t __size) throw () ;
10513
10514
10515
10516
10517
10518extern 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
10520extern int dup (int __fd) throw () ;
10521
10522
10523extern int dup2 (int __fd, int __fd2) throw ();
10524
10525
10526extern char **__environ;
10527
10528extern char **environ;
10529
10530
10531
10532
10533
10534extern 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
10537extern int execv (__const char *__path, char *__const __argv[])
10538 throw () __attribute__ ((__nonnull__ (1)));
10539
10540
10541
10542extern int execle (__const char *__path, __const char *__arg, ...)
10543 throw () __attribute__ ((__nonnull__ (1)));
10544
10545
10546
10547extern int execl (__const char *__path, __const char *__arg, ...)
10548 throw () __attribute__ ((__nonnull__ (1)));
10549
10550
10551
10552extern int execvp (__const char *__file, char *__const __argv[])
10553 throw () __attribute__ ((__nonnull__ (1)));
10554
10555
10556
10557
10558extern int execlp (__const char *__file, __const char *__arg, ...)
10559 throw () __attribute__ ((__nonnull__ (1)));
10560
10561
10562
10563
10564extern int nice (int __inc) throw () ;
10565
10566
10567
10568
10569extern 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
10577enum
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
10624enum
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
11060enum
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
11160extern long int pathconf (__const char *__path, int __name)
11161 throw () __attribute__ ((__nonnull__ (1)));
11162
11163
11164extern long int fpathconf (int __fd, int __name) throw ();
11165
11166
11167extern long int sysconf (int __name) throw ();
11168
11169
11170
11171extern size_t confstr (int __name, char *__buf, size_t __len) throw ();
11172
11173
11174
11175
11176extern __pid_t getpid (void) throw ();
11177
11178
11179extern __pid_t getppid (void) throw ();
11180
11181
11182
11183
11184extern __pid_t getpgrp (void) throw ();
11185# 589 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
11186extern __pid_t __getpgid (__pid_t __pid) throw ();
11187
11188extern __pid_t getpgid (__pid_t __pid) throw ();
11189
11190
11191
11192
11193
11194
11195extern 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
11197extern int setpgrp (void) throw ();
11198# 632 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
11199extern __pid_t setsid (void) throw ();
11200
11201
11202
11203extern __pid_t getsid (__pid_t __pid) throw ();
11204
11205
11206
11207extern __uid_t getuid (void) throw ();
11208
11209
11210extern __uid_t geteuid (void) throw ();
11211
11212
11213extern __gid_t getgid (void) throw ();
11214
11215
11216extern __gid_t getegid (void) throw ();
11217
11218
11219
11220
11221extern 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
11223extern int setuid (__uid_t __uid) throw ();
11224
11225
11226
11227
11228extern int setreuid (__uid_t __ruid, __uid_t __euid) throw ();
11229
11230
11231
11232
11233extern int seteuid (__uid_t __uid) throw ();
11234
11235
11236
11237
11238
11239
11240extern int setgid (__gid_t __gid) throw ();
11241
11242
11243
11244
11245extern int setregid (__gid_t __rgid, __gid_t __egid) throw ();
11246
11247
11248
11249
11250extern int setegid (__gid_t __gid) throw ();
11251
11252
11253
11254
11255
11256extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
11257 throw ();
11258
11259
11260
11261extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
11262 throw ();
11263
11264
11265
11266
11267extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
11268 throw ();
11269
11270
11271
11272
11273extern 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
11276extern __pid_t vfork (void) throw ();
11277
11278
11279
11280
11281
11282extern char *ttyname (int __fd) throw ();
11283
11284
11285
11286extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
11287 throw () __attribute__ ((__nonnull__ (2))) ;
11288
11289
11290
11291extern int isatty (int __fd) throw ();
11292# 758 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
11293extern 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
11296extern int symlink (__const char *__from, __const char *__to)
11297 throw () __attribute__ ((__nonnull__ (1, 2))) ;
11298
11299
11300
11301
11302extern 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
11306extern 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
11308extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1)));
11309
11310
11311
11312extern __pid_t tcgetpgrp (int __fd) throw ();
11313
11314
11315extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw ();
11316
11317
11318
11319
11320
11321
11322extern char *getlogin (void);
11323
11324
11325
11326
11327
11328
11329
11330extern 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
11336extern "C" {
11337# 61 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4
11338extern char *optarg;
11339# 75 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4
11340extern int optind;
11341
11342
11343
11344
11345extern int opterr;
11346
11347
11348
11349extern int optopt;
11350# 154 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/bits/getopt.h" 3 4
11351extern 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
11367extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1)));
11368
11369
11370
11371
11372
11373
11374extern int sethostname (__const char *__name, size_t __len)
11375 throw () __attribute__ ((__nonnull__ (1))) ;
11376
11377
11378
11379extern int sethostid (long int __id) throw () ;
11380
11381
11382
11383
11384
11385extern int getdomainname (char *__name, size_t __len)
11386 throw () __attribute__ ((__nonnull__ (1))) ;
11387extern int setdomainname (__const char *__name, size_t __len)
11388 throw () __attribute__ ((__nonnull__ (1))) ;
11389
11390
11391
11392
11393
11394extern int vhangup (void) throw ();
11395# 896 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
11396extern int acct (__const char *__name) throw ();
11397
11398
11399
11400extern char *getusershell (void) throw ();
11401extern void endusershell (void) throw ();
11402extern void setusershell (void) throw ();
11403
11404
11405
11406
11407
11408extern int daemon (int __nochdir, int __noclose) throw () ;
11409
11410
11411
11412
11413
11414
11415extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
11416
11417
11418
11419extern 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
11421extern int fsync (int __fd);
11422
11423
11424
11425
11426
11427
11428extern long int gethostid (void);
11429
11430
11431extern void sync (void) throw ();
11432
11433
11434
11435
11436extern int getpagesize (void) throw () __attribute__ ((__const__));
11437
11438
11439
11440
11441extern int getdtablesize (void) throw ();
11442
11443
11444
11445
11446extern 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
11449extern 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
11452extern 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
11454extern 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
11456extern int brk (void *__addr) throw () ;
11457
11458
11459
11460
11461
11462extern void *sbrk (intptr_t __delta) throw ();
11463# 1016 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
11464extern 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
11472extern 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
11474extern 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
11478extern int fdatasync (int __fildes) throw ();
11479# 1080 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/unistd.h" 3 4
11480extern char *crypt (__const char *__key, __const char *__salt)
11481 throw () __attribute__ ((__nonnull__ (1, 2)));
11482
11483
11484
11485extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1)));
11486
11487
11488
11489
11490
11491
11492
11493extern 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
11502extern 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
11507typedef pthread_key_t __gthread_key_t;
11508typedef pthread_once_t __gthread_once_t;
11509typedef pthread_mutex_t __gthread_mutex_t;
11510typedef pthread_mutex_t __gthread_recursive_mutex_t;
11511typedef 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
11544static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once")));
11545static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific")));
11546static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific")));
11547static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create")));
11548static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel")));
11549static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock")));
11550static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock")));
11551static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock")));
11552static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init")));
11553static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast")));
11554static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait")));
11555
11556
11557static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create")));
11558static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete")));
11559static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init")));
11560static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype")));
11561static __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
11563static 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
11571static 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
11580static inline int
11581__gthread_key_create (__gthread_key_t *key, void (*dtor) (void *))
11582{
11583 return __gthrw_pthread_key_create (key, dtor);
11584}
11585
11586static inline int
11587__gthread_key_delete (__gthread_key_t key)
11588{
11589 return __gthrw_pthread_key_delete (key);
11590}
11591
11592static inline void *
11593__gthread_getspecific (__gthread_key_t key)
11594{
11595 return __gthrw_pthread_getspecific (key);
11596}
11597
11598static inline int
11599__gthread_setspecific (__gthread_key_t key, const void *ptr)
11600{
11601 return __gthrw_pthread_setspecific (key, ptr);
11602}
11603
11604static 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
11613static 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
11622static 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
11631static inline int
11632__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex)
11633{
11634 return __gthread_mutex_lock (mutex);
11635}
11636
11637static inline int
11638__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex)
11639{
11640 return __gthread_mutex_trylock (mutex);
11641}
11642
11643static inline int
11644__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex)
11645{
11646 return __gthread_mutex_unlock (mutex);
11647}
11648
11649static inline int
11650__gthread_cond_broadcast (__gthread_cond_t *cond)
11651{
11652 return __gthrw_pthread_cond_broadcast (cond);
11653}
11654
11655static 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
11661static 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
11681typedef 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
11684namespace __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
11800extern "C++" {
11801
11802namespace 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
11835void* operator new(std::size_t) throw (std::bad_alloc);
11836void* operator new[](std::size_t) throw (std::bad_alloc);
11837void operator delete(void*) throw();
11838void operator delete[](void*) throw();
11839void* operator new(std::size_t, const std::nothrow_t&) throw();
11840void* operator new[](std::size_t, const std::nothrow_t&) throw();
11841void operator delete(void*, const std::nothrow_t&) throw();
11842void operator delete[](void*, const std::nothrow_t&) throw();
11843
11844
11845inline void* operator new(std::size_t, void* __p) throw() { return __p; }
11846inline void* operator new[](std::size_t, void* __p) throw() { return __p; }
11847
11848
11849inline void operator delete (void*, void*) throw() { }
11850inline 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
11859namespace __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
11940namespace 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
12080namespace __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
12095namespace 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
12191namespace 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
12703namespace 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
12790namespace 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
14179namespace 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
15232namespace 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
15694namespace 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
15930namespace 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
16642namespace 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
17002namespace 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
17176namespace 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
17220namespace 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
17573namespace 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
18059namespace 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
18098namespace 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
18736namespace 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
19947namespace 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
20211namespace 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
20354namespace 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
20655namespace 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
21007namespace 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
21333namespace 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
22291namespace 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
22460namespace 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
23312namespace 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
23659typedef QtValidLicenseForCoreModule QtCoreModule;
23660
23661template <typename T> class QVector;
23662template <typename T> class QSet;
23663
23664struct __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
23693template <typename T>
23694class 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
23708public:
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
23905private:
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
23921template <typename T>
23922inline 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
23929template <typename T>
23930inline 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
23936template <typename T>
23937inline 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
23947template <typename T>
23948inline 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
23956template <typename T>
23957inline 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}
23969template <typename T>
23970inline 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; }
23973template <typename T>
23974inline 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))); }
23977template <typename T>
23978inline const T &QList<T>::at(int i) const
23979{ qt_noop();
23980 return reinterpret_cast<Node *>(p.at(i))->t(); }
23981template <typename T>
23982inline const T &QList<T>::operator[](int i) const
23983{ qt_noop();
23984 return reinterpret_cast<Node *>(p.at(i))->t(); }
23985template <typename T>
23986inline T &QList<T>::operator[](int i)
23987{ qt_noop();
23988 detach(); return reinterpret_cast<Node *>(p.at(i))->t(); }
23989template <typename T>
23990inline 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); } }
23993template <typename T>
23994inline 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; }
23998template <typename T>
23999inline T QList<T>::takeFirst()
24000{ T t = first(); removeFirst(); return t; }
24001template <typename T>
24002inline T QList<T>::takeLast()
24003{ T t = last(); removeLast(); return t; }
24004
24005template <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
24017template <typename T>
24018inline 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
24029template <typename T>
24030inline 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
24041template <typename T>
24042inline 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
24054template <typename T>
24055inline 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
24065template <typename T>
24066inline void QList<T>::move(int from, int to)
24067{
24068 qt_noop();
24069
24070 detach();
24071 p.move(from, to);
24072}
24073
24074template<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
24089template<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
24098template<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
24104template <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
24114template <typename T>
24115 QList<T>::~QList()
24116{
24117 if (d && !d->ref.deref())
24118 free(d);
24119}
24120
24121template <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
24140template <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
24150template <typename T>
24151 void QList<T>::clear()
24152{
24153 *this = QList<T>();
24154}
24155
24156template <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
24174template <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
24186template <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
24197template <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
24206template <typename T>
24207inline void QList<T>::append(const QList<T> &t)
24208{
24209 *this += t;
24210}
24211
24212template <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
24227template <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
24245template <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
24256template <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
24268template <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; } };
24269template <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
24316typedef QtValidLicenseForCoreModule QtCoreModule;
24317
24318
24319namespace
24320
24321
24322
24323Qt {
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
25505inline 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); }
25506inline 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); }
25507inline 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); }
25508inline 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); }
25509inline 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); }
25510inline 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); }
25511inline 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); }
25512inline 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); }
25513inline 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); }
25514inline 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); }
25515inline 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); }
25516inline 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); }
25517inline 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
25519typedef bool (*qInternalCallback)(void **);
25520
25521class __attribute__((visibility("default"))) QInternal {
25522public:
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
25586typedef QtValidLicenseForCoreModule QtCoreModule;
25587
25588class QByteArray;
25589
25590class 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
25629template <typename T>
25630inline int qYouForgotTheQ_OBJECT_Macro(T, T) { return 0; }
25631
25632template <typename T1, typename T2>
25633inline 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
25664class QObject;
25665class QMetaMethod;
25666class QMetaEnum;
25667class QMetaProperty;
25668class QMetaClassInfo;
25669
25670
25671class __attribute__((visibility("default"))) QGenericArgument
25672{
25673public:
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
25679private:
25680 const void *_data;
25681 const char *_name;
25682};
25683
25684class __attribute__((visibility("default"))) QGenericReturnArgument: public QGenericArgument
25685{
25686public:
25687 inline QGenericReturnArgument(const char *aName = 0, void *aData = 0)
25688 : QGenericArgument(aName, aData)
25689 {}
25690};
25691
25692template <class T>
25693class QArgument: public QGenericArgument
25694{
25695public:
25696 inline QArgument(const char *aName, const T &aData)
25697 : QGenericArgument(aName, static_cast<const void *>(&aData))
25698 {}
25699};
25700
25701
25702template <typename T>
25703class QReturnArgument: public QGenericReturnArgument
25704{
25705public:
25706 inline QReturnArgument(const char *aName, T &aData)
25707 : QGenericReturnArgument(aName, static_cast<void *>(&aData))
25708 {}
25709};
25710
25711struct __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
25878struct QMetaObjectExtraData
25879{
25880 const QMetaObject **objects;
25881 int (*static_metacall)(QMetaObject::Call, int, void **);
25882};
25883
25884inline const char *QMetaObject::className() const
25885{ return d.stringdata; }
25886
25887inline 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
25923extern "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
25951extern void *memcpy (void *__restrict __dest,
25952 __const void *__restrict __src, size_t __n)
25953 throw () __attribute__ ((__nonnull__ (1, 2)));
25954
25955
25956extern void *memmove (void *__dest, __const void *__src, size_t __n)
25957 throw () __attribute__ ((__nonnull__ (1, 2)));
25958
25959
25960
25961
25962
25963
25964extern 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
25972extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
25973
25974
25975extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
25976 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
25977
25978
25979extern void *memchr (__const void *__s, int __c, size_t __n)
25980 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
25981
25982
25983
25984
25985
25986extern void *rawmemchr (__const void *__s, int __c)
25987 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
25988
25989
25990extern void *memrchr (__const void *__s, int __c, size_t __n)
25991 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
25992
25993
25994
25995
25996
25997extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
25998 throw () __attribute__ ((__nonnull__ (1, 2)));
25999
26000extern char *strncpy (char *__restrict __dest,
26001 __const char *__restrict __src, size_t __n)
26002 throw () __attribute__ ((__nonnull__ (1, 2)));
26003
26004
26005extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
26006 throw () __attribute__ ((__nonnull__ (1, 2)));
26007
26008extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
26009 size_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
26010
26011
26012extern int strcmp (__const char *__s1, __const char *__s2)
26013 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26014
26015extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
26016 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26017
26018
26019extern int strcoll (__const char *__s1, __const char *__s2)
26020 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26021
26022extern 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
26027extern char *strdup (__const char *__s)
26028 throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
26029
26030
26031
26032
26033
26034
26035extern 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
26047extern char *strchr (__const char *__s, int __c)
26048 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
26049
26050extern char *strrchr (__const char *__s, int __c)
26051 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
26052
26053
26054
26055
26056
26057extern char *strchrnul (__const char *__s, int __c)
26058 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
26059
26060
26061
26062
26063
26064extern size_t strcspn (__const char *__s, __const char *__reject)
26065 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26066
26067
26068extern size_t strspn (__const char *__s, __const char *__accept)
26069 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26070
26071extern char *strpbrk (__const char *__s, __const char *__accept)
26072 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26073
26074extern char *strstr (__const char *__haystack, __const char *__needle)
26075 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26076
26077
26078
26079extern 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
26083extern 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
26090extern char *strcasestr (__const char *__haystack, __const char *__needle)
26091 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26092
26093
26094
26095
26096
26097
26098extern 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
26102extern void *mempcpy (void *__restrict __dest,
26103 __const void *__restrict __src, size_t __n)
26104 throw () __attribute__ ((__nonnull__ (1, 2)));
26105
26106
26107
26108
26109
26110extern size_t strlen (__const char *__s)
26111 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
26112
26113
26114
26115
26116
26117extern size_t strnlen (__const char *__string, size_t __maxlen)
26118 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
26119
26120
26121
26122
26123
26124extern char *strerror (int __errnum) throw ();
26125
26126# 285 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/string.h" 3 4
26127extern char *__glibc_strerror_r (int __errnum, char *__buf, size_t __buflen)
26128 throw () __attribute__ ((__nonnull__ (2)));
26129
26130extern 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
26132extern void bcopy (__const void *__src, void *__dest, size_t __n)
26133 throw () __attribute__ ((__nonnull__ (1, 2)));
26134
26135
26136extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
26137
26138
26139extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
26140 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26141
26142
26143extern char *index (__const char *__s, int __c)
26144 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
26145
26146
26147extern 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
26150extern 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
26152extern int strcasecmp (__const char *__s1, __const char *__s2)
26153 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26154
26155
26156extern 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
26159extern 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
26163extern char *strsignal (int __sig) throw ();
26164
26165
26166
26167
26168
26169
26170extern 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
26173extern 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
26177extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1)));
26178
26179
26180
26181
26182
26183
26184extern size_t strlcat(char *__restrict dst, const char *__restrict src,
26185 size_t n) throw () __attribute__ ((__nonnull__ (1, 2)));
26186extern 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
26207typedef __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
26236typedef QtValidLicenseForCoreModule QtCoreModule;
26237
26238
26239
26240
26241
26242__attribute__((visibility("default"))) char *qstrdup(const char *);
26243
26244inline uint qstrlen(const char *str)
26245{ return str ? uint(strlen(str)) : 0; }
26246
26247inline 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);
26263static inline int qstrcmp(const char *str1, const QByteArray &str2)
26264{ return -qstrcmp(str2, str1); }
26265
26266inline 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
26280class QByteRef;
26281class QString;
26282class QDataStream;
26283template <typename T> class QList;
26284
26285class __attribute__((visibility("default"))) QByteArray
26286{
26287public:
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"
26466private:
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;
26487public:
26488 typedef Data * DataPtr;
26489 inline DataPtr &data_ptr() { return d; }
26490};
26491
26492inline QByteArray::QByteArray(): d(&shared_null) { d->ref.ref(); }
26493inline QByteArray::~QByteArray() { if (!d->ref.deref()) qFree(d); }
26494inline 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"
26497inline char QByteArray::at(int i) const
26498{ qt_noop(); return d->data[i]; }
26499inline char QByteArray::operator[](int i) const
26500{ qt_noop(); return d->data[i]; }
26501inline char QByteArray::operator[](uint i) const
26502{ qt_noop(); return d->data[i]; }
26503
26504
26505inline bool QByteArray::isEmpty() const
26506{ return d->size == 0; }
26507
26508inline QByteArray::operator const char *() const
26509{ return d->data; }
26510inline QByteArray::operator const void *() const
26511{ return d->data; }
26512
26513inline char *QByteArray::data()
26514{ detach(); return d->data; }
26515inline const char *QByteArray::data() const
26516{ return d->data; }
26517inline const char *QByteArray::constData() const
26518{ return d->data; }
26519inline void QByteArray::detach()
26520{ if (d->ref != 1 || d->data != d->array) realloc(d->size); }
26521inline bool QByteArray::isDetached() const
26522{ return d->ref == 1; }
26523inline QByteArray::QByteArray(const QByteArray &a) : d(a.d)
26524{ d->ref.ref(); }
26525
26526
26527
26528
26529
26530inline int QByteArray::capacity() const
26531{ return d->alloc; }
26532
26533inline void QByteArray::reserve(int asize)
26534{ if (d->ref != 1 || asize > d->alloc) realloc(asize); }
26535
26536inline void QByteArray::squeeze()
26537{ if (d->size < d->alloc) realloc(d->size); }
26538
26539class __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;
26545public:
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
26573inline QByteRef QByteArray::operator[](int i)
26574{ qt_noop(); return QByteRef(*this, i); }
26575inline QByteRef QByteArray::operator[](uint i)
26576{ return QByteRef(*this, i); }
26577inline QByteArray::iterator QByteArray::begin()
26578{ detach(); return d->data; }
26579inline QByteArray::const_iterator QByteArray::begin() const
26580{ return d->data; }
26581inline QByteArray::const_iterator QByteArray::constBegin() const
26582{ return d->data; }
26583inline QByteArray::iterator QByteArray::end()
26584{ detach(); return d->data + d->size; }
26585inline QByteArray::const_iterator QByteArray::end() const
26586{ return d->data + d->size; }
26587inline QByteArray::const_iterator QByteArray::constEnd() const
26588{ return d->data + d->size; }
26589inline QByteArray &QByteArray::operator+=(char c)
26590{ return append(c); }
26591inline QByteArray &QByteArray::operator+=(const char *s)
26592{ return append(s); }
26593inline QByteArray &QByteArray::operator+=(const QByteArray &a)
26594{ return append(a); }
26595inline void QByteArray::push_back(char c)
26596{ append(c); }
26597inline void QByteArray::push_back(const char *c)
26598{ append(c); }
26599inline void QByteArray::push_back(const QByteArray &a)
26600{ append(a); }
26601inline void QByteArray::push_front(char c)
26602{ prepend(c); }
26603inline void QByteArray::push_front(const char *c)
26604{ prepend(c); }
26605inline void QByteArray::push_front(const QByteArray &a)
26606{ prepend(a); }
26607inline QBool QByteArray::contains(const QByteArray &a) const
26608{ return QBool(indexOf(a) != -1); }
26609inline QBool QByteArray::contains(char c) const
26610{ return QBool(indexOf(c) != -1); }
26611inline bool operator==(const QByteArray &a1, const QByteArray &a2)
26612{ return (a1.size() == a2.size()) && (memcmp(a1.constData(), a2.constData(), a1.size())==0); }
26613inline bool operator==(const QByteArray &a1, const char *a2)
26614{ return a2 ? qstrcmp(a1,a2) == 0 : a1.isEmpty(); }
26615inline bool operator==(const char *a1, const QByteArray &a2)
26616{ return a1 ? qstrcmp(a1,a2) == 0 : a2.isEmpty(); }
26617inline bool operator!=(const QByteArray &a1, const QByteArray &a2)
26618{ return !(a1==a2); }
26619inline bool operator!=(const QByteArray &a1, const char *a2)
26620{ return a2 ? qstrcmp(a1,a2) != 0 : !a1.isEmpty(); }
26621inline bool operator!=(const char *a1, const QByteArray &a2)
26622{ return a1 ? qstrcmp(a1,a2) != 0 : !a2.isEmpty(); }
26623inline 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; }
26627inline bool operator<(const char *a1, const QByteArray &a2)
26628{ return qstrcmp(a1, a2) < 0; }
26629inline bool operator<=(const QByteArray &a1, const QByteArray &a2)
26630{ return qstrcmp(a1, a2) <= 0; }
26631inline bool operator<=(const QByteArray &a1, const char *a2)
26632{ return qstrcmp(a1, a2) <= 0; }
26633inline bool operator<=(const char *a1, const QByteArray &a2)
26634{ return qstrcmp(a1, a2) <= 0; }
26635inline bool operator>(const QByteArray &a1, const QByteArray &a2)
26636{ return qstrcmp(a1, a2) > 0; }
26637inline bool operator>(const QByteArray &a1, const char *a2)
26638{ return qstrcmp(a1, a2) > 0; }
26639inline bool operator>(const char *a1, const QByteArray &a2)
26640{ return qstrcmp(a1, a2) > 0; }
26641inline bool operator>=(const QByteArray &a1, const QByteArray &a2)
26642{ return qstrcmp(a1, a2) >= 0; }
26643inline bool operator>=(const QByteArray &a1, const char *a2)
26644{ return qstrcmp(a1, a2) >= 0; }
26645inline bool operator>=(const char *a1, const QByteArray &a2)
26646{ return qstrcmp(a1, a2) >= 0; }
26647inline const QByteArray operator+(const QByteArray &a1, const QByteArray &a2)
26648{ return QByteArray(a1) += a2; }
26649inline const QByteArray operator+(const QByteArray &a1, const char *a2)
26650{ return QByteArray(a1) += a2; }
26651inline const QByteArray operator+(const QByteArray &a1, char a2)
26652{ return QByteArray(a1) += a2; }
26653inline const QByteArray operator+(const char *a1, const QByteArray &a2)
26654{ return QByteArray(a1) += a2; }
26655inline const QByteArray operator+(char a1, const QByteArray &a2)
26656{ return QByteArray(&a1, 1) += a2; }
26657inline QBool QByteArray::contains(const char *c) const
26658{ return QBool(indexOf(c) != -1); }
26659inline QByteArray &QByteArray::replace(char before, const char *c)
26660{ return replace(&before, 1, c, qstrlen(c)); }
26661inline QByteArray &QByteArray::replace(const QByteArray &before, const char *c)
26662{ return replace(before.constData(), before.size(), c, qstrlen(c)); }
26663inline QByteArray &QByteArray::replace(const char *before, const char *after)
26664{ return replace(before, qstrlen(before), after, qstrlen(after)); }
26665
26666inline QByteArray &QByteArray::setNum(short n, int base)
26667{ return setNum(qlonglong(n), base); }
26668inline QByteArray &QByteArray::setNum(ushort n, int base)
26669{ return setNum(qulonglong(n), base); }
26670inline QByteArray &QByteArray::setNum(int n, int base)
26671{ return setNum(qlonglong(n), base); }
26672inline QByteArray &QByteArray::setNum(uint n, int base)
26673{ return setNum(qulonglong(n), base); }
26674inline 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);
26686inline QByteArray qCompress(const QByteArray& data, int compressionLevel = -1)
26687{ return qCompress(reinterpret_cast<const uchar *>(data.constData()), data.size(), compressionLevel); }
26688inline QByteArray qUncompress(const QByteArray& data)
26689{ return qUncompress(reinterpret_cast<const uchar*>(data.constData()), data.size()); }
26690
26691
26692template <> 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"; } };
26693template <> 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"
26705typedef 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
26711typedef QtValidLicenseForCoreModule QtCoreModule;
26712
26713class QCharRef;
26714class QRegExp;
26715class QStringList;
26716class QTextCodec;
26717class QLatin1String;
26718class QStringRef;
26719template <typename T> class QVector;
26720
26721class __attribute__((visibility("default"))) QString
26722{
26723public:
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 &reg, 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
27132private:
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);
27176public:
27177 typedef Data * DataPtr;
27178 inline DataPtr &data_ptr() { return d; }
27179};
27180
27181
27182class __attribute__((visibility("default"))) QLatin1String
27183{
27184public:
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; }
27216private:
27217 const char *chars;
27218};
27219
27220
27221
27222inline QString::QString(const QLatin1String &aLatin1) : d(fromLatin1_helper(aLatin1.latin1()))
27223{ }
27224inline int QString::length() const
27225{ return d->size; }
27226inline const QChar QString::at(int i) const
27227{ qt_noop(); return d->data[i]; }
27228inline const QChar QString::operator[](int i) const
27229{ qt_noop(); return d->data[i]; }
27230inline const QChar QString::operator[](uint i) const
27231{ qt_noop(); return d->data[i]; }
27232inline bool QString::isEmpty() const
27233{ return d->size == 0; }
27234inline const QChar *QString::unicode() const
27235{ return reinterpret_cast<const QChar*>(d->data); }
27236inline const QChar *QString::data() const
27237{ return reinterpret_cast<const QChar*>(d->data); }
27238inline QChar *QString::data()
27239{ detach(); return reinterpret_cast<QChar*>(d->data); }
27240inline const QChar *QString::constData() const
27241{ return reinterpret_cast<const QChar*>(d->data); }
27242inline void QString::detach()
27243{ if (d->ref != 1 || d->data != d->array) realloc(); }
27244inline bool QString::isDetached() const
27245{ return d->ref == 1; }
27246inline QString &QString::operator=(const QLatin1String &s)
27247{
27248 *this = fromLatin1(s.latin1());
27249 return *this;
27250}
27251inline void QString::clear()
27252{ if (!isNull()) *this = QString(); }
27253inline QString::QString(const QString &other) : d(other.d)
27254{ qt_noop(); d->ref.ref(); }
27255inline int QString::capacity() const
27256{ return d->alloc; }
27257inline QString &QString::setNum(short n, int base)
27258{ return setNum(qlonglong(n), base); }
27259inline QString &QString::setNum(ushort n, int base)
27260{ return setNum(qulonglong(n), base); }
27261inline QString &QString::setNum(int n, int base)
27262{ return setNum(qlonglong(n), base); }
27263inline QString &QString::setNum(uint n, int base)
27264{ return setNum(qulonglong(n), base); }
27265inline QString &QString::setNum(long n, int base)
27266{ return setNum(qlonglong(n), base); }
27267inline QString &QString::setNum(ulong n, int base)
27268{ return setNum(qulonglong(n), base); }
27269inline QString &QString::setNum(float n, char f, int prec)
27270{ return setNum(double(n),f,prec); }
27271inline QString QString::arg(int a, int fieldWidth, int base, const QChar &fillChar) const
27272{ return arg(qlonglong(a), fieldWidth, base, fillChar); }
27273inline QString QString::arg(uint a, int fieldWidth, int base, const QChar &fillChar) const
27274{ return arg(qulonglong(a), fieldWidth, base, fillChar); }
27275inline QString QString::arg(long a, int fieldWidth, int base, const QChar &fillChar) const
27276{ return arg(qlonglong(a), fieldWidth, base, fillChar); }
27277inline QString QString::arg(ulong a, int fieldWidth, int base, const QChar &fillChar) const
27278{ return arg(qulonglong(a), fieldWidth, base, fillChar); }
27279inline QString QString::arg(short a, int fieldWidth, int base, const QChar &fillChar) const
27280{ return arg(qlonglong(a), fieldWidth, base, fillChar); }
27281inline QString QString::arg(ushort a, int fieldWidth, int base, const QChar &fillChar) const
27282{ return arg(qulonglong(a), fieldWidth, base, fillChar); }
27283inline QString QString::arg(const QString &a1, const QString &a2) const
27284{ const QString *args[2] = { &a1, &a2 }; return multiArg(2, args); }
27285inline 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); }
27287inline 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); }
27290inline 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); }
27293inline 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); }
27296inline 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); }
27300inline 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); }
27304inline 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
27309inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const
27310{ return section(QString(asep), astart, aend, aflags); }
27311
27312
27313class __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;
27319public:
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
27391inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); }
27392inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); }
27393
27394
27395inline QString::QString() : d(&shared_null) { d->ref.ref(); }
27396inline QString::~QString() { if (!d->ref.deref()) free(d); }
27397inline void QString::reserve(int asize) { if (d->ref != 1 || asize > d->alloc) realloc(asize); d->capacity = 1;}
27398inline QString &QString::setUtf16(const ushort *autf16, int asize)
27399{ return setUnicode(reinterpret_cast<const QChar *>(autf16), asize); }
27400inline QCharRef QString::operator[](int i)
27401{ qt_noop(); return QCharRef(*this, i); }
27402inline QCharRef QString::operator[](uint i)
27403{ return QCharRef(*this, i); }
27404inline QString::iterator QString::begin()
27405{ detach(); return reinterpret_cast<QChar*>(d->data); }
27406inline QString::const_iterator QString::begin() const
27407{ return reinterpret_cast<const QChar*>(d->data); }
27408inline QString::const_iterator QString::constBegin() const
27409{ return reinterpret_cast<const QChar*>(d->data); }
27410inline QString::iterator QString::end()
27411{ detach(); return reinterpret_cast<QChar*>(d->data + d->size); }
27412inline QString::const_iterator QString::end() const
27413{ return reinterpret_cast<const QChar*>(d->data + d->size); }
27414inline QString::const_iterator QString::constEnd() const
27415{ return reinterpret_cast<const QChar*>(d->data + d->size); }
27416inline QBool QString::contains(const QString &s, Qt::CaseSensitivity cs) const
27417{ return QBool(indexOf(s, 0, cs) != -1); }
27418inline QBool QString::contains(QChar c, Qt::CaseSensitivity cs) const
27419{ return QBool(indexOf(c, 0, cs) != -1); }
27420
27421
27422inline bool operator==(QString::Null, QString::Null) { return true; }
27423inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
27424inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
27425inline bool operator!=(QString::Null, QString::Null) { return false; }
27426inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); }
27427inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); }
27428
27429
27430inline 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}
27437inline bool QString::operator==(const char *s) const
27438{ return qStringComparisonHelper(*this, s); }
27439inline bool QString::operator!=(const char *s) const
27440{ return !qStringComparisonHelper(*this, s); }
27441inline bool QString::operator<(const char *s) const
27442{ return *this < QString::fromAscii(s); }
27443inline bool QString::operator>(const char *s) const
27444{ return *this > QString::fromAscii(s); }
27445inline bool QString::operator<=(const char *s) const
27446{ return *this <= QString::fromAscii(s); }
27447inline bool QString::operator>=(const char *s) const
27448{ return *this >= QString::fromAscii(s); }
27449
27450inline __attribute__ ((__deprecated__)) bool operator==(const char *s1, const QString &s2)
27451{ return qStringComparisonHelper(s2, s1); }
27452inline __attribute__ ((__deprecated__)) bool operator!=(const char *s1, const QString &s2)
27453{ return !qStringComparisonHelper(s2, s1); }
27454inline __attribute__ ((__deprecated__)) bool operator<(const char *s1, const QString &s2)
27455{ return (QString::fromAscii(s1) < s2); }
27456inline __attribute__ ((__deprecated__)) bool operator>(const char *s1, const QString &s2)
27457{ return (QString::fromAscii(s1) > s2); }
27458inline __attribute__ ((__deprecated__)) bool operator<=(const char *s1, const QString &s2)
27459{ return (QString::fromAscii(s1) <= s2); }
27460inline __attribute__ ((__deprecated__)) bool operator>=(const char *s1, const QString &s2)
27461{ return (QString::fromAscii(s1) >= s2); }
27462
27463inline __attribute__ ((__deprecated__)) bool operator==(const char *s1, const QLatin1String &s2)
27464{ return QString::fromAscii(s1) == s2; }
27465inline __attribute__ ((__deprecated__)) bool operator!=(const char *s1, const QLatin1String &s2)
27466{ return QString::fromAscii(s1) != s2; }
27467inline __attribute__ ((__deprecated__)) bool operator<(const char *s1, const QLatin1String &s2)
27468{ return (QString::fromAscii(s1) < s2); }
27469inline __attribute__ ((__deprecated__)) bool operator>(const char *s1, const QLatin1String &s2)
27470{ return (QString::fromAscii(s1) > s2); }
27471inline __attribute__ ((__deprecated__)) bool operator<=(const char *s1, const QLatin1String &s2)
27472{ return (QString::fromAscii(s1) <= s2); }
27473inline __attribute__ ((__deprecated__)) bool operator>=(const char *s1, const QLatin1String &s2)
27474{ return (QString::fromAscii(s1) >= s2); }
27475
27476inline bool operator==(const QLatin1String &s1, const QLatin1String &s2)
27477{ return (qstrcmp(s1.latin1(), s2.latin1()) == 0); }
27478inline bool operator!=(const QLatin1String &s1, const QLatin1String &s2)
27479{ return (qstrcmp(s1.latin1(), s2.latin1()) != 0); }
27480inline bool operator<(const QLatin1String &s1, const QLatin1String &s2)
27481{ return (qstrcmp(s1.latin1(), s2.latin1()) < 0); }
27482inline bool operator<=(const QLatin1String &s1, const QLatin1String &s2)
27483{ return (qstrcmp(s1.latin1(), s2.latin1()) <= 0); }
27484inline bool operator>(const QLatin1String &s1, const QLatin1String &s2)
27485{ return (qstrcmp(s1.latin1(), s2.latin1()) > 0); }
27486inline bool operator>=(const QLatin1String &s1, const QLatin1String &s2)
27487{ return (qstrcmp(s1.latin1(), s2.latin1()) >= 0); }
27488
27489
27490inline bool QString::operator==(const QByteArray &s) const
27491{ return qStringComparisonHelper(*this, s.constData()); }
27492inline bool QString::operator!=(const QByteArray &s) const
27493{ return !qStringComparisonHelper(*this, s.constData()); }
27494
27495inline bool QByteArray::operator==(const QString &s) const
27496{ return qStringComparisonHelper(s, constData()); }
27497inline bool QByteArray::operator!=(const QString &s) const
27498{ return !qStringComparisonHelper(s, constData()); }
27499inline bool QByteArray::operator<(const QString &s) const
27500{ return QString::fromAscii(constData(), size()) < s; }
27501inline bool QByteArray::operator>(const QString &s) const
27502{ return QString::fromAscii(constData(), size()) > s; }
27503inline bool QByteArray::operator<=(const QString &s) const
27504{ return QString::fromAscii(constData(), size()) <= s; }
27505inline 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"
27508inline const QString operator+(const QString &s1, const QString &s2)
27509{ QString t(s1); t += s2; return t; }
27510inline const QString operator+(const QString &s1, QChar s2)
27511{ QString t(s1); t += s2; return t; }
27512inline const QString operator+(QChar s1, const QString &s2)
27513{ QString t(s1); t += s2; return t; }
27514
27515inline __attribute__ ((__deprecated__)) const QString operator+(const QString &s1, const char *s2)
27516{ QString t(s1); t += QString::fromAscii(s2); return t; }
27517inline __attribute__ ((__deprecated__)) const QString operator+(const char *s1, const QString &s2)
27518{ QString t = QString::fromAscii(s1); t += s2; return t; }
27519inline __attribute__ ((__deprecated__)) const QString operator+(char c, const QString &s)
27520{ QString t = s; t.prepend(QChar::fromAscii(c)); return t; }
27521inline __attribute__ ((__deprecated__)) const QString operator+(const QString &s, char c)
27522{ QString t = s; t += QChar::fromAscii(c); return t; }
27523inline __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; }
27525inline __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
27530inline std::string QString::toStdString() const
27531{ const QByteArray asc = toAscii(); return std::string(asc.constData(), asc.length()); }
27532
27533inline QString QString::fromStdString(const std::string &s)
27534{ return fromAscii(s.data(), int(s.size())); }
27535
27536
27537inline 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}
27551inline 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"
27557template <> 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"; } };
27558template <> 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; }
27559inline 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"
27561class __attribute__((visibility("default"))) QStringRef {
27562 const QString *m_string;
27563 int m_position;
27564 int m_size;
27565public:
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
27621inline QStringRef &QStringRef::operator=(const QString *aString)
27622{ m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; }
27623
27624inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize)
27625 :m_string(aString), m_position(aPosition), m_size(aSize){}
27626
27627inline 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);
27631inline bool operator!=(const QStringRef &s1,const QStringRef &s2)
27632{ return !(s1 == s2); }
27633__attribute__((visibility("default"))) bool operator==(const QString &s1,const QStringRef &s2);
27634inline bool operator!=(const QString &s1,const QStringRef &s2)
27635{ return !(s1 == s2); }
27636inline bool operator==(const QStringRef &s1,const QString &s2)
27637{ return s2 == s1; }
27638inline bool operator!=(const QStringRef &s1,const QString &s2)
27639{ return s2 != s1; }
27640__attribute__((visibility("default"))) bool operator==(const QLatin1String &s1, const QStringRef &s2);
27641inline bool operator!=(const QLatin1String &s1,const QStringRef &s2)
27642{ return !(s1 == s2); }
27643inline bool operator==(const QStringRef &s1,const QLatin1String &s2)
27644{ return s2 == s1; }
27645inline 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);
27649inline bool operator>(const QStringRef &s1, const QStringRef &s2)
27650{ return s2 < s1; }
27651inline bool operator<=(const QStringRef &s1, const QStringRef &s2)
27652{ return !(s1 > s2); }
27653inline bool operator>=(const QStringRef &s1, const QStringRef &s2)
27654{ return !(s1 < s2); }
27655
27656inline 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
27664inline __attribute__ ((__deprecated__)) bool operator==(const char *s1, const QStringRef &s2)
27665{ return qStringComparisonHelper(s2, s1); }
27666inline __attribute__ ((__deprecated__)) bool operator==(const QStringRef &s1, const char *s2)
27667{ return qStringComparisonHelper(s1, s2); }
27668inline __attribute__ ((__deprecated__)) bool operator!=(const char *s1, const QStringRef &s2)
27669{ return !qStringComparisonHelper(s2, s1); }
27670inline __attribute__ ((__deprecated__)) bool operator!=(const QStringRef &s1, const char *s2)
27671{ return !qStringComparisonHelper(s1, s2); }
27672
27673inline int QString::compare(const QStringRef &s, Qt::CaseSensitivity cs) const
27674{ return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); }
27675inline 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); }
27677inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const
27678{ return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); }
27679inline int QStringRef::compare(const QStringRef &s, Qt::CaseSensitivity cs) const
27680{ return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); }
27681inline int QStringRef::compare(QLatin1String s, Qt::CaseSensitivity cs) const
27682{ return QString::compare_helper(constData(), length(), s, cs); }
27683inline 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); }
27685inline 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); }
27687inline int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs)
27688{ return QString::compare_helper(s1.constData(), s1.length(), s2, cs); }
27689
27690inline int QString::localeAwareCompare(const QStringRef &s) const
27691{ return localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); }
27692inline int QString::localeAwareCompare(const QString& s1, const QStringRef& s2)
27693{ return localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); }
27694inline int QStringRef::localeAwareCompare(const QString &s) const
27695{ return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); }
27696inline int QStringRef::localeAwareCompare(const QStringRef &s) const
27697{ return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); }
27698inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2)
27699{ return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); }
27700inline 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
27721typedef QtValidLicenseForCoreModule QtCoreModule;
27722
27723class QEvent;
27724class QTimerEvent;
27725class QChildEvent;
27726struct QMetaObject;
27727class QVariant;
27728class QObjectPrivate;
27729class QObject;
27730class QThread;
27731class QWidget;
27732
27733class QRegExp;
27734
27735
27736class QObjectUserData;
27737
27738
27739typedef QList<QObject*> QObjectList;
27740# 86 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qobject.h"
27741template<typename T> inline T qFindChild(const QObject *, const QString & = QString());
27742template<typename T> inline QList<T> qFindChildren(const QObject *, const QString & = QString());
27743
27744template<typename T> inline QList<T> qFindChildren(const QObject *, const QRegExp &);
27745
27746
27747
27748class QObjectData {
27749public:
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
27769class __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
27775public:
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
27865protected:
27866 void destroyed(QObject * = 0);
27867
27868public:
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
27874public :
27875 void deleteLater();
27876
27877protected:
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"
27888protected:
27889 QObject(QObjectPrivate &dd, QObject *parent = 0);
27890
27891protected:
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
27904private:
27905 QObject(const QObject &); QObject &operator=(const QObject &);
27906
27907};
27908
27909inline 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
27914class __attribute__((visibility("default"))) QObjectUserData {
27915public:
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"
27924template<typename T>
27925inline T qFindChild(const QObject *o, const QString &name)
27926{ return static_cast<T>(qt_qFindChild_helper(o, name, reinterpret_cast<T>(0)->staticMetaObject)); }
27927
27928template<typename T>
27929inline 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
27942template<typename T>
27943inline 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
27956template <class T>
27957inline 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
27965template <class T>
27966inline 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
28004typedef QtValidLicenseForCoreModule QtCoreModule;
28005
28006class QByteArray;
28007class QIODevicePrivate;
28008
28009class __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
28017public:
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
28085protected:
28086 void readyRead();
28087 void bytesWritten(qint64 bytes);
28088 void aboutToClose();
28089 void readChannelFinished();
28090
28091
28092protected:
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
28110private:
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
28116inline 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"
28118class 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
28138typedef QtValidLicenseForCoreModule QtCoreModule;
28139
28140class QByteArray;
28141class QIODevice;
28142
28143template <typename T> class QList;
28144template <typename T> class QLinkedList;
28145template <typename T> class QVector;
28146template <typename T> class QSet;
28147template <class Key, class T> class QHash;
28148template <class Key, class T> class QMap;
28149
28150class QDataStreamPrivate;
28151
28152
28153class __attribute__((visibility("default"))) QDataStream
28154{
28155public:
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"
28249private:
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
28267inline QIODevice *QDataStream::device() const
28268{ return dev; }
28269
28270inline QDataStream::ByteOrder QDataStream::byteOrder() const
28271{ return byteorder; }
28272
28273inline int QDataStream::version() const
28274{ return ver; }
28275
28276inline void QDataStream::setVersion(int v)
28277{ ver = v; }
28278
28279inline QDataStream &QDataStream::operator>>(quint8 &i)
28280{ return *this >> reinterpret_cast<qint8&>(i); }
28281
28282inline QDataStream &QDataStream::operator>>(quint16 &i)
28283{ return *this >> reinterpret_cast<qint16&>(i); }
28284
28285inline QDataStream &QDataStream::operator>>(quint32 &i)
28286{ return *this >> reinterpret_cast<qint32&>(i); }
28287
28288inline QDataStream &QDataStream::operator>>(quint64 &i)
28289{ return *this >> reinterpret_cast<qint64&>(i); }
28290
28291inline QDataStream &QDataStream::operator<<(quint8 i)
28292{ return *this << qint8(i); }
28293
28294inline QDataStream &QDataStream::operator<<(quint16 i)
28295{ return *this << qint16(i); }
28296
28297inline QDataStream &QDataStream::operator<<(quint32 i)
28298{ return *this << qint32(i); }
28299
28300inline QDataStream &QDataStream::operator<<(quint64 i)
28301{ return *this << qint64(i); }
28302
28303template <typename T>
28304QDataStream& 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
28320template <typename T>
28321QDataStream& 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
28329template <typename T>
28330QDataStream& 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
28346template <typename T>
28347QDataStream& 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
28356template<typename T>
28357QDataStream& 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
28371template<typename T>
28372QDataStream& 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
28380template <typename T>
28381QDataStream &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
28396template <typename T>
28397QDataStream& 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
28408template <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
28435template <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
28451template <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
28481template <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
28506typedef QtValidLicenseForCoreModule QtCoreModule;
28507
28508template <class T1, class T2>
28509struct 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
28524template <class T1, class T2>
28525inline bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
28526{ return p1.first == p2.first && p1.second == p2.second; }
28527
28528template <class T1, class T2>
28529inline bool operator!=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
28530{ return !(p1 == p2); }
28531
28532template <class T1, class T2>
28533inline 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
28538template <class T1, class T2>
28539inline bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
28540{
28541 return p2 < p1;
28542}
28543
28544template <class T1, class T2>
28545inline bool operator<=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
28546{
28547 return !(p2 < p1);
28548}
28549
28550template <class T1, class T2>
28551inline bool operator>=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
28552{
28553 return !(p1 < p2);
28554}
28555
28556template <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
28563template <class T1, class T2>
28564inline QDataStream& operator>>(QDataStream& s, QPair<T1, T2>& p)
28565{
28566 s >> p.first >> p.second;
28567 return s;
28568}
28569
28570template <class T1, class T2>
28571inline 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
28589typedef QtValidLicenseForCoreModule QtCoreModule;
28590
28591class QBitArray;
28592class QByteArray;
28593class QString;
28594class QStringRef;
28595
28596inline uint qHash(char key) { return uint(key); }
28597inline uint qHash(uchar key) { return uint(key); }
28598inline uint qHash(signed char key) { return uint(key); }
28599inline uint qHash(ushort key) { return uint(key); }
28600inline uint qHash(short key) { return uint(key); }
28601inline uint qHash(uint key) { return key; }
28602inline uint qHash(int key) { return uint(key); }
28603inline 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}
28611inline uint qHash(long key) { return qHash(ulong(key)); }
28612inline 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}
28620inline uint qHash(qint64 key) { return qHash(quint64(key)); }
28621inline 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
28631template <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
28642template <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
28649struct __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
28685inline void QHashData::mightGrow()
28686{
28687 if (size >= numBuckets)
28688 rehash(numBits + 1);
28689}
28690
28691inline bool QHashData::willGrow()
28692{
28693 if (size >= numBuckets) {
28694 rehash(numBits + 1);
28695 return true;
28696 } else {
28697 return false;
28698 }
28699}
28700
28701inline void QHashData::hasShrunk()
28702{
28703 if (size <= (numBuckets >> 3) && numBits > userNumBits)
28704 rehash(qMax(int(numBits) - 2, int(userNumBits)));
28705}
28706
28707inline 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
28720struct QHashDummyValue
28721{
28722};
28723
28724inline bool operator==(const QHashDummyValue & , const QHashDummyValue & )
28725{
28726 return true;
28727}
28728
28729template <> 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
28731template <class Key, class T>
28732struct QHashDummyNode
28733{
28734 QHashDummyNode *next;
28735 uint h;
28736 Key key;
28737
28738 inline QHashDummyNode(const Key &key0) : key(key0) {}
28739};
28740
28741template <class Key, class T>
28742struct 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"
28757template <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; } };
28758template <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
28760template <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; } };
28761template <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
28765template <class Key, class T>
28766class 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
28780public:
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
28983private:
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
28993template <class Key, class T>
28994inline void QHash<Key, T>::deleteNode(Node *node)
28995{
28996
28997
28998
28999
29000
29001 node->~Node();
29002
29003 d->freeNode(node);
29004}
29005
29006template <class Key, class T>
29007inline 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
29017template <class Key, class T>
29018inline typename QHash<Key, T>::Node *
29019QHash<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
29036template <class Key, class T>
29037inline 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
29048template <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
29065template <class Key, class T>
29066inline void QHash<Key, T>::clear()
29067{
29068 *this = QHash<Key,T>();
29069}
29070
29071template <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
29081template <class Key, class T>
29082inline 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
29095template <class Key, class T>
29096inline 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
29106template <class Key, class T>
29107inline 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
29117template <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 }
29132break_out_of_outer_loop:
29133 return res;
29134}
29135
29136template <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
29148template <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
29161template <class Key, class T>
29162 const Key QHash<Key, T>::key(const T &avalue) const
29163{
29164 return key(avalue, Key());
29165}
29166
29167template <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
29180template <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
29192template <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
29205template <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
29218template <class Key, class T>
29219inline const T QHash<Key, T>::operator[](const Key &akey) const
29220{
29221 return value(akey);
29222}
29223
29224template <class Key, class T>
29225inline 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
29239template <class Key, class T>
29240inline 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
29258template <class Key, class T>
29259inline 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
29270template <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
29291template <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
29309template <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
29328template <class Key, class T>
29329inline void QHash<Key, T>::reserve(int asize)
29330{
29331 detach();
29332 d->rehash(-qMax(asize, 1));
29333}
29334
29335template <class Key, class T>
29336inline typename QHash<Key, T>::const_iterator QHash<Key, T>::find(const Key &akey) const
29337{
29338 return const_iterator(*findNode(akey));
29339}
29340
29341template <class Key, class T>
29342inline typename QHash<Key, T>::const_iterator QHash<Key, T>::constFind(const Key &akey) const
29343{
29344 return const_iterator(*findNode(akey));
29345}
29346
29347template <class Key, class T>
29348inline typename QHash<Key, T>::iterator QHash<Key, T>::find(const Key &akey)
29349{
29350 detach();
29351 return iterator(*findNode(akey));
29352}
29353
29354template <class Key, class T>
29355inline bool QHash<Key, T>::contains(const Key &akey) const
29356{
29357 return *findNode(akey) != e;
29358}
29359
29360template <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
29380template <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
29406template <class Key, class T>
29407class QMultiHash : public QHash<Key, T>
29408{
29409public:
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); }
29459private:
29460 T &operator[](const Key &key);
29461 const T operator[](const Key &key) const;
29462};
29463
29464template <class Key, class T>
29465inline bool QMultiHash<Key, T>::contains(const Key &key, const T &value) const
29466{
29467 return constFind(key, value) != QHash<Key, T>::constEnd();
29468}
29469
29470template <class Key, class T>
29471inline 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
29487template <class Key, class T>
29488inline 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
29501template <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; } };
29502template <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
29540namespace 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
30901namespace 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
31300namespace 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
31676typedef QtValidLicenseForCoreModule QtCoreModule;
31677
31678struct __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"
31707template <class Key> inline bool qMapLessThanKey(const Key &key1, const Key &key2)
31708{
31709 return key1 < key2;
31710}
31711
31712
31713template <class Ptr> inline bool qMapLessThanKey(Ptr *key1, Ptr *key2)
31714{
31715 qt_noop();
31716 return quintptr(key1) < quintptr(key2);
31717}
31718
31719template <class Ptr> inline bool qMapLessThanKey(const Ptr *key1, const Ptr *key2)
31720{
31721 qt_noop();
31722 return quintptr(key1) < quintptr(key2);
31723}
31724
31725
31726template <class Key, class T>
31727struct QMapNode {
31728 Key key;
31729 T value;
31730 QMapData::Node *backward;
31731 QMapData::Node *forward[1];
31732};
31733
31734template <class Key, class T>
31735struct QMapPayloadNode
31736{
31737 Key key;
31738 T value;
31739 QMapData::Node *backward;
31740};
31741
31742template <class Key, class T>
31743class 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
31758public:
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
31983private:
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
31992template <class Key, class T>
31993inline 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
32006template <class Key, class T>
32007inline void QMap<Key, T>::clear()
32008{
32009 *this = QMap<Key, T>();
32010}
32011
32012template <class Key, class T>
32013inline typename QMapData::Node *
32014QMap<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
32023template <class Key, class T>
32024inline 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
32041template <class Key, class T>
32042inline 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
32052template <class Key, class T>
32053inline 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
32063template <class Key, class T>
32064inline const T QMap<Key, T>::operator[](const Key &akey) const
32065{
32066 return value(akey);
32067}
32068
32069template <class Key, class T>
32070inline 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
32081template <class Key, class T>
32082inline 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
32095template <class Key, class T>
32096inline bool QMap<Key, T>::contains(const Key &akey) const
32097{
32098 return findNode(akey) != e;
32099}
32100
32101template <class Key, class T>
32102inline 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"
32117template <class Key, class T>
32118inline 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
32128template <class Key, class T>
32129inline typename QMap<Key, T>::const_iterator QMap<Key, T>::find(const Key &akey) const
32130{
32131 return const_iterator(findNode(akey));
32132}
32133
32134template <class Key, class T>
32135inline typename QMap<Key, T>::const_iterator QMap<Key, T>::constFind(const Key &akey) const
32136{
32137 return const_iterator(findNode(akey));
32138}
32139
32140template <class Key, class T>
32141inline typename QMap<Key, T>::iterator QMap<Key, T>::find(const Key &akey)
32142{
32143 detach();
32144 return iterator(findNode(akey));
32145}
32146
32147template <class Key, class T>
32148inline 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
32160template <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
32184template <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
32214template <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
32239template <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
32274template <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
32296template <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
32315template <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 }
32330break_out_of_outer_loop:
32331 return res;
32332}
32333
32334template <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
32346template <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
32359template <class Key, class T>
32360 const Key QMap<Key, T>::key(const T &avalue) const
32361{
32362 return key(avalue, Key());
32363}
32364
32365template <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
32378template <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
32390template <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
32404template <class Key, class T>
32405inline typename QMap<Key, T>::const_iterator
32406QMap<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
32413template <class Key, class T>
32414inline 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
32420template <class Key, class T>
32421inline typename QMap<Key, T>::const_iterator
32422QMap<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
32432template <class Key, class T>
32433inline 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
32439template <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
32460template <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
32473template <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
32487template <class Key, class T>
32488class QMultiMap : public QMap<Key, T>
32489{
32490public:
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); }
32539private:
32540 T &operator[](const Key &key);
32541 const T operator[](const Key &key) const;
32542};
32543
32544template <class Key, class T>
32545inline bool QMultiMap<Key, T>::contains(const Key &key, const T &value) const
32546{
32547 return constFind(key, value) != QMap<Key, T>::constEnd();
32548}
32549
32550template <class Key, class T>
32551inline 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
32567template <class Key, class T>
32568inline 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
32581template <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; } };
32582template <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
32616typedef QtValidLicenseForCoreModule QtCoreModule;
32617
32618class QDataStream;
32619class QDate;
32620class QDateTime;
32621class QTime;
32622class QVariant;
32623class QTextStream;
32624class QTextStreamPrivate;
32625
32626class QLocale;
32627
32628
32629class __attribute__((visibility("default"))) QSystemLocale
32630{
32631public:
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
32674struct QLocalePrivate;
32675class __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
32687public:
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 ;
33205private:
33206 friend struct QLocalePrivate;
33207
33208
33209 union {
33210 void *v;
33211 Data p;
33212 };
33213 const QLocalePrivate *d() const;
33214};
33215template <> 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"; } };
33216inline 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
33218inline QString QLocale::toString(short i) const
33219 { return toString(qlonglong(i)); }
33220inline QString QLocale::toString(ushort i) const
33221 { return toString(qulonglong(i)); }
33222inline QString QLocale::toString(int i) const
33223 { return toString(qlonglong(i)); }
33224inline QString QLocale::toString(uint i) const
33225 { return toString(qulonglong(i)); }
33226inline QString QLocale::toString(float i, char f, int prec) const
33227 { return toString(double(i), f, prec); }
33228inline bool QLocale::operator==(const QLocale &other) const
33229 { return d() == other.d() && numberOptions() == other.numberOptions(); }
33230inline 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
33248typedef QtValidLicenseForCoreModule QtCoreModule;
33249
33250class QTextCodec;
33251class QTextDecoder;
33252
33253class QTextStreamPrivate;
33254class __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
33258public:
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"
33382private:
33383
33384
33385
33386
33387
33388 QTextStream(const QTextStream &); QTextStream &operator=(const QTextStream &);
33389
33390 QTextStreamPrivate *d_ptr;
33391};
33392
33393inline 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
33399typedef QTextStream & (*QTextStreamFunction)(QTextStream &);
33400typedef void (QTextStream::*QTSMFI)(int);
33401typedef void (QTextStream::*QTSMFC)(QChar);
33402
33403class __attribute__((visibility("default"))) QTextStreamManipulator
33404{
33405public:
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
33410private:
33411 QTSMFI mf;
33412 QTSMFC mc;
33413 int arg;
33414 QChar ch;
33415};
33416
33417inline QTextStream &operator>>(QTextStream &s, QTextStreamFunction f)
33418{ return (*f)(s); }
33419
33420inline QTextStream &operator<<(QTextStream &s, QTextStreamFunction f)
33421{ return (*f)(s); }
33422
33423inline 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 &center(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
33458inline QTextStreamManipulator qSetFieldWidth(int width)
33459{
33460 QTSMFI func = &QTextStream::setFieldWidth;
33461 return QTextStreamManipulator(func,width);
33462}
33463
33464inline QTextStreamManipulator qSetPadChar(QChar ch)
33465{
33466 QTSMFC func = &QTextStream::setPadChar;
33467 return QTextStreamManipulator(func, ch);
33468}
33469
33470inline 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
33514namespace 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
33584namespace 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
33926namespace 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
34583namespace 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
34962namespace 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
34964template<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
35462namespace 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
36051extern "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
36148union 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
36206typedef struct
36207 {
36208 int quot;
36209 int rem;
36210 } div_t;
36211
36212
36213
36214typedef 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
36248extern double atof (__const char *__nptr)
36249 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
36250
36251
36252extern int atoi (__const char *__nptr)
36253 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
36254
36255extern 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
36270extern double strtod (__const char *__restrict __nptr,
36271 char **__restrict __endptr)
36272 throw () __attribute__ ((__nonnull__ (1))) ;
36273
36274
36275
36276
36277
36278extern float strtof (__const char *__restrict __nptr,
36279 char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ;
36280
36281extern long double strtold (__const char *__restrict __nptr,
36282 char **__restrict __endptr)
36283 throw () __attribute__ ((__nonnull__ (1))) ;
36284
36285
36286
36287
36288
36289
36290extern long int strtol (__const char *__restrict __nptr,
36291 char **__restrict __endptr, int __base)
36292 throw () __attribute__ ((__nonnull__ (1))) ;
36293
36294extern 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__
36302extern long long int strtoq (__const char *__restrict __nptr,
36303 char **__restrict __endptr, int __base)
36304 throw () __attribute__ ((__nonnull__ (1))) ;
36305
36306__extension__
36307extern 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__
36316extern long long int strtoll (__const char *__restrict __nptr,
36317 char **__restrict __endptr, int __base)
36318 throw () __attribute__ ((__nonnull__ (1))) ;
36319
36320__extension__
36321extern 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
36326extern char *l64a (long int __n) throw () ;
36327
36328
36329extern 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
36341extern "C" {
36342
36343
36344
36345
36346
36347typedef __u_char u_char;
36348typedef __u_short u_short;
36349typedef __u_int u_int;
36350typedef __u_long u_long;
36351typedef __quad_t quad_t;
36352typedef __u_quad_t u_quad_t;
36353typedef __fsid_t fsid_t;
36354#define __u_char_defined
36355
36356
36357
36358typedef __loff_t loff_t;
36359
36360
36361
36362typedef __ino_t ino_t;
36363
36364
36365
36366#define __ino_t_defined
36367
36368
36369typedef __ino64_t ino64_t;
36370#define __ino64_t_defined
36371
36372
36373
36374typedef __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
36377typedef __mode_t mode_t;
36378#define __mode_t_defined
36379
36380
36381
36382typedef __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
36385typedef __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
36388typedef __daddr_t daddr_t;
36389typedef __caddr_t caddr_t;
36390#define __daddr_t_defined
36391
36392
36393
36394
36395typedef __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
36406typedef __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
36434typedef unsigned long int ulong;
36435typedef unsigned short int ushort;
36436typedef 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
36442typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
36443typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
36444typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
36445typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
36446
36447typedef 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
36508struct 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
36515typedef 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
36527typedef 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
36545typedef __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
36559extern "C" {
36560# 109 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/sys/select.h" 3 4
36561extern 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
36566extern 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__
36588static __inline unsigned int gnu_dev_major (unsigned long long int __dev)
36589 throw ();
36590__extension__
36591static __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
36592 throw ();
36593__extension__
36594static __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
36600gnu_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
36606gnu_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
36612gnu_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
36630typedef __blksize_t blksize_t;
36631#define __blksize_t_defined
36632
36633
36634
36635
36636
36637typedef __blkcnt_t blkcnt_t;
36638#define __blkcnt_t_defined
36639
36640
36641typedef __fsblkcnt_t fsblkcnt_t;
36642#define __fsblkcnt_t_defined
36643
36644
36645typedef __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
36648typedef __blkcnt64_t blkcnt64_t;
36649typedef __fsblkcnt64_t fsblkcnt64_t;
36650typedef __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
36668extern long int random (void) throw ();
36669
36670
36671extern void srandom (unsigned int __seed) throw ();
36672
36673
36674
36675
36676
36677extern char *initstate (unsigned int __seed, char *__statebuf,
36678 size_t __statelen) throw () __attribute__ ((__nonnull__ (2)));
36679
36680
36681
36682extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1)));
36683
36684
36685
36686
36687
36688
36689
36690struct 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
36701extern int random_r (struct random_data *__restrict __buf,
36702 int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
36703
36704extern int srandom_r (unsigned int __seed, struct random_data *__buf)
36705 throw () __attribute__ ((__nonnull__ (2)));
36706
36707extern 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
36712extern int setstate_r (char *__restrict __statebuf,
36713 struct random_data *__restrict __buf)
36714 throw () __attribute__ ((__nonnull__ (1, 2)));
36715
36716
36717
36718
36719
36720
36721extern int rand (void) throw ();
36722
36723extern void srand (unsigned int __seed) throw ();
36724
36725
36726
36727
36728extern 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
36730extern double drand48 (void) throw ();
36731extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1)));
36732
36733
36734
36735extern long int lrand48 (void) throw ();
36736extern long int nrand48 (unsigned short int __xsubi[3])
36737 throw () __attribute__ ((__nonnull__ (1)));
36738
36739
36740extern long int mrand48 (void) throw ();
36741extern long int jrand48 (unsigned short int __xsubi[3])
36742 throw () __attribute__ ((__nonnull__ (1)));
36743
36744
36745extern void srand48 (long int __seedval) throw ();
36746extern unsigned short int *seed48 (unsigned short int __seed16v[3])
36747 throw () __attribute__ ((__nonnull__ (1)));
36748extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1)));
36749
36750
36751
36752
36753
36754struct 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
36765extern int drand48_r (struct drand48_data *__restrict __buffer,
36766 double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
36767extern 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
36773extern int lrand48_r (struct drand48_data *__restrict __buffer,
36774 long int *__restrict __result)
36775 throw () __attribute__ ((__nonnull__ (1, 2)));
36776extern 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
36782extern int mrand48_r (struct drand48_data *__restrict __buffer,
36783 long int *__restrict __result)
36784 throw () __attribute__ ((__nonnull__ (1, 2)));
36785extern 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
36791extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
36792 throw () __attribute__ ((__nonnull__ (2)));
36793
36794extern int seed48_r (unsigned short int __seed16v[3],
36795 struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2)));
36796
36797extern 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
36809extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
36810
36811extern void *calloc (size_t __nmemb, size_t __size)
36812 throw () __attribute__ ((__malloc__)) ;
36813
36814
36815
36816
36817
36818
36819
36820extern void *realloc (void *__ptr, size_t __size)
36821 throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
36822
36823extern void free (void *__ptr) throw ();
36824
36825
36826
36827
36828extern 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
36859extern "C" {
36860
36861
36862#undef alloca
36863
36864
36865extern 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
36879extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
36880
36881
36882
36883
36884extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
36885 throw () __attribute__ ((__nonnull__ (1))) ;
36886
36887
36888
36889
36890extern void abort (void) throw () __attribute__ ((__noreturn__));
36891
36892
36893
36894extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1)));
36895
36896
36897
36898
36899
36900extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
36901 throw () __attribute__ ((__nonnull__ (1)));
36902
36903
36904
36905
36906
36907
36908extern void exit (int __status) throw () __attribute__ ((__noreturn__));
36909
36910
36911
36912
36913
36914
36915extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
36916
36917
36918
36919
36920
36921
36922extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ;
36923
36924
36925
36926
36927extern char *__secure_getenv (__const char *__name)
36928 throw () __attribute__ ((__nonnull__ (1))) ;
36929
36930
36931
36932
36933
36934extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1)));
36935
36936
36937
36938
36939
36940extern int setenv (__const char *__name, __const char *__value, int __replace)
36941 throw () __attribute__ ((__nonnull__ (2)));
36942
36943
36944extern 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
36952extern int clearenv (void) throw ();
36953# 579 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4
36954extern 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
36956extern 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
36958extern 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
36960extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ;
36961
36962
36963
36964
36965
36966
36967
36968
36969extern int system (__const char *__command) ;
36970
36971# 639 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4
36972extern char *realpath (__const char *__restrict __name,
36973 char *__restrict __resolved) throw () __attribute__ ((__nonnull__ (2)));
36974
36975
36976
36977
36978
36979#define __COMPAR_FN_T
36980typedef int (*__compar_fn_t) (__const void *, __const void *);
36981
36982
36983typedef __compar_fn_t comparison_fn_t;
36984
36985
36986
36987
36988
36989
36990extern 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
36996extern void qsort (void *__base, size_t __nmemb, size_t __size,
36997 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
36998
36999
37000
37001extern int abs (int __x) throw () __attribute__ ((__const__)) ;
37002extern 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
37015extern div_t div (int __numer, int __denom)
37016 throw () __attribute__ ((__const__)) ;
37017extern 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
37028extern 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
37031extern 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
37033extern 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
37043extern 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
37045extern int posix_openpt (int __oflag) ;
37046
37047
37048
37049
37050
37051
37052
37053extern int grantpt (int __fd) throw ();
37054
37055
37056
37057extern int unlockpt (int __fd) throw ();
37058
37059
37060
37061
37062extern char *ptsname (int __fd) throw () ;
37063# 842 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/stdlib.h" 3 4
37064extern 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
37077typedef QtValidLicenseForCoreModule QtCoreModule;
37078
37079struct __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
37100template <typename T>
37101struct 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
37117class QRegion;
37118
37119template <typename T>
37120class QVector
37121{
37122 typedef QVectorTypedData<T> Data;
37123 union { QVectorData *p; QVectorTypedData<T> *d; };
37124
37125public:
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
37246private:
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
37260template <typename T>
37261void QVector<T>::detach_helper()
37262{ realloc(d->size, d->alloc); }
37263template <typename T>
37264void QVector<T>::reserve(int asize)
37265{ if (asize > d->alloc) realloc(d->size, asize); d->capacity = 1; }
37266template <typename T>
37267void 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); }
37271template <typename T>
37272inline void QVector<T>::clear()
37273{ *this = QVector<T>(); }
37274template <typename T>
37275inline const T &QVector<T>::at(int i) const
37276{ qt_noop();
37277 return d->array[i]; }
37278template <typename T>
37279inline const T &QVector<T>::operator[](int i) const
37280{ qt_noop();
37281 return d->array[i]; }
37282template <typename T>
37283inline T &QVector<T>::operator[](int i)
37284{ qt_noop();
37285 return data()[i]; }
37286template <typename T>
37287inline void QVector<T>::insert(int i, const T &t)
37288{ qt_noop();
37289 insert(begin() + i, 1, t); }
37290template <typename T>
37291inline void QVector<T>::insert(int i, int n, const T &t)
37292{ qt_noop();
37293 insert(begin() + i, n, t); }
37294template <typename T>
37295inline void QVector<T>::remove(int i, int n)
37296{ qt_noop();
37297 erase(begin() + i, begin() + i + n); }
37298template <typename T>
37299inline void QVector<T>::remove(int i)
37300{ qt_noop();
37301 erase(begin() + i, begin() + i + 1); }
37302template <typename T>
37303inline void QVector<T>::prepend(const T &t)
37304{ insert(begin(), 1, t); }
37305
37306template <typename T>
37307inline void QVector<T>::replace(int i, const T &t)
37308{
37309 qt_noop();
37310 const T copy(t);
37311 data()[i] = copy;
37312}
37313
37314template <typename T>
37315QVector<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
37326template <typename T>
37327inline QVectorData *QVector<T>::malloc(int aalloc)
37328{
37329 return static_cast<QVectorData *>(qMalloc(sizeOfTypedData() + (aalloc - 1) * sizeof(T)));
37330}
37331
37332template <typename T>
37333QVector<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
37350template <typename T>
37351QVector<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
37363template <typename T>
37364void 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
37375template <typename T>
37376void 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
37453template<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}
37461template<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
37467template <typename T>
37468void 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
37487template <typename T>
37488typename 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
37521template <typename T>
37522typename 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
37543template <typename T>
37544bool 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
37559template <typename T>
37560QVector<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
37573template <typename T>
37574QVector<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
37592template <typename T>
37593int 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
37607template <typename T>
37608int 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
37625template <typename T>
37626bool 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
37636template <typename T>
37637int 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
37648template <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
37663template <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
37672template <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
37681template <typename T>
37682QVector<T> QVector<T>::fromList(const QList<T> &list)
37683{
37684 return list.toVector();
37685}
37686
37687template <typename T>
37688QList<T> QList<T>::fromVector(const QVector<T> &vector)
37689{
37690 return vector.toList();
37691}
37692
37693template <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; } };
37694template <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
37713typedef QtValidLicenseForCoreModule QtCoreModule;
37714
37715template <class T>
37716class QSet
37717{
37718 typedef QHash<T, QHashDummyValue> Hash;
37719
37720public:
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
37892private:
37893 Hash q_hash;
37894};
37895
37896template <class T>
37897inline void QSet<T>::reserve(int asize) { q_hash.reserve(asize); }
37898
37899template <class T>
37900inline 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
37911template <class T>
37912inline 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
37925template <class T>
37926inline 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
37939template <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
37951template <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
37961template <typename T>
37962QSet<T> QSet<T>::fromList(const QList<T> &list)
37963{
37964 return list.toSet();
37965}
37966
37967template <typename T>
37968QList<T> QList<T>::fromSet(const QSet<T> &set)
37969{
37970 return set.toList();
37971}
37972
37973template <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
37975template <typename T>
37976class 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
37983public:
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
38020typedef QtValidLicenseForCoreModule QtCoreModule;
38021
38022class __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;
38035public:
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
38083class QNoDebug
38084{
38085public:
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
38105inline 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
38118template <class T>
38119inline 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
38136template <typename T>
38137inline 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
38148template <class aKey, class aT>
38149inline 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
38165template <class aKey, class aT>
38166inline 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
38181template <class T1, class T2>
38182inline 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
38189template <typename T>
38190inline 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
38237typedef QtValidLicenseForCoreModule QtCoreModule;
38238
38239template <class Key, class T> class QCache;
38240template <class Key, class T> class QHash;
38241template <class T> class QLinkedList;
38242template <class T> class QList;
38243template <class Key, class T> class QMap;
38244template <class Key, class T> class QMultiHash;
38245template <class Key, class T> class QMultiMap;
38246template <class T1, class T2> struct QPair;
38247template <class T> class QQueue;
38248template <class T> class QSet;
38249template <class T> class QStack;
38250template<class T, int Prealloc = 256> class QVarLengthArray;
38251template <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
38266typedef QtValidLicenseForCoreModule QtCoreModule;
38267
38268
38269template<class T, int Prealloc>
38270class QVarLengthArray
38271{
38272public:
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
38337private:
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
38351template <class T, int Prealloc>
38352inline 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
38368template <class T, int Prealloc>
38369inline void QVarLengthArray<T, Prealloc>::resize(int asize)
38370{ realloc(asize, qMax(asize, a)); }
38371
38372template <class T, int Prealloc>
38373inline void QVarLengthArray<T, Prealloc>::reserve(int asize)
38374{ if (asize > a) realloc(s, asize); }
38375
38376template <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
38399template <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
38491typedef QtValidLicenseForCoreModule QtCoreModule;
38492
38493class __attribute__((visibility("default"))) QSize
38494{
38495public:
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
38531private:
38532 int wd;
38533 int ht;
38534};
38535template <> 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
38549inline QSize::QSize()
38550{ wd = ht = -1; }
38551
38552inline QSize::QSize(int w, int h)
38553{ wd = w; ht = h; }
38554
38555inline bool QSize::isNull() const
38556{ return wd==0 && ht==0; }
38557
38558inline bool QSize::isEmpty() const
38559{ return wd<1 || ht<1; }
38560
38561inline bool QSize::isValid() const
38562{ return wd>=0 && ht>=0; }
38563
38564inline int QSize::width() const
38565{ return wd; }
38566
38567inline int QSize::height() const
38568{ return ht; }
38569
38570inline void QSize::setWidth(int w)
38571{ wd = w; }
38572
38573inline void QSize::setHeight(int h)
38574{ ht = h; }
38575
38576inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode)
38577{ scale(QSize(w, h), mode); }
38578
38579inline int &QSize::rwidth()
38580{ return wd; }
38581
38582inline int &QSize::rheight()
38583{ return ht; }
38584
38585inline QSize &QSize::operator+=(const QSize &s)
38586{ wd+=s.wd; ht+=s.ht; return *this; }
38587
38588inline QSize &QSize::operator-=(const QSize &s)
38589{ wd-=s.wd; ht-=s.ht; return *this; }
38590
38591inline QSize &QSize::operator*=(qreal c)
38592{ wd = qRound(wd*c); ht = qRound(ht*c); return *this; }
38593
38594inline bool operator==(const QSize &s1, const QSize &s2)
38595{ return s1.wd == s2.wd && s1.ht == s2.ht; }
38596
38597inline bool operator!=(const QSize &s1, const QSize &s2)
38598{ return s1.wd != s2.wd || s1.ht != s2.ht; }
38599
38600inline const QSize operator+(const QSize & s1, const QSize & s2)
38601{ return QSize(s1.wd+s2.wd, s1.ht+s2.ht); }
38602
38603inline const QSize operator-(const QSize &s1, const QSize &s2)
38604{ return QSize(s1.wd-s2.wd, s1.ht-s2.ht); }
38605
38606inline const QSize operator*(const QSize &s, qreal c)
38607{ return QSize(qRound(s.wd*c), qRound(s.ht*c)); }
38608
38609inline const QSize operator*(qreal c, const QSize &s)
38610{ return QSize(qRound(s.wd*c), qRound(s.ht*c)); }
38611
38612inline QSize &QSize::operator/=(qreal c)
38613{
38614 qt_noop();
38615 wd = qRound(wd/c); ht = qRound(ht/c);
38616 return *this;
38617}
38618
38619inline 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
38625inline QSize QSize::expandedTo(const QSize & otherSize) const
38626{
38627 return QSize(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht));
38628}
38629
38630inline 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
38640class __attribute__((visibility("default"))) QSizeF
38641{
38642public:
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
38681private:
38682 qreal wd;
38683 qreal ht;
38684};
38685template <> 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
38700inline QSizeF::QSizeF()
38701{ wd = ht = -1.; }
38702
38703inline QSizeF::QSizeF(const QSize &sz)
38704 : wd(sz.width()), ht(sz.height())
38705{
38706}
38707
38708inline QSizeF::QSizeF(qreal w, qreal h)
38709{ wd = w; ht = h; }
38710
38711inline bool QSizeF::isNull() const
38712{ return qIsNull(wd) && qIsNull(ht); }
38713
38714inline bool QSizeF::isEmpty() const
38715{ return wd <= 0. || ht <= 0.; }
38716
38717inline bool QSizeF::isValid() const
38718{ return wd >= 0. && ht >= 0.; }
38719
38720inline qreal QSizeF::width() const
38721{ return wd; }
38722
38723inline qreal QSizeF::height() const
38724{ return ht; }
38725
38726inline void QSizeF::setWidth(qreal w)
38727{ wd = w; }
38728
38729inline void QSizeF::setHeight(qreal h)
38730{ ht = h; }
38731
38732inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode)
38733{ scale(QSizeF(w, h), mode); }
38734
38735inline qreal &QSizeF::rwidth()
38736{ return wd; }
38737
38738inline qreal &QSizeF::rheight()
38739{ return ht; }
38740
38741inline QSizeF &QSizeF::operator+=(const QSizeF &s)
38742{ wd += s.wd; ht += s.ht; return *this; }
38743
38744inline QSizeF &QSizeF::operator-=(const QSizeF &s)
38745{ wd -= s.wd; ht -= s.ht; return *this; }
38746
38747inline QSizeF &QSizeF::operator*=(qreal c)
38748{ wd *= c; ht *= c; return *this; }
38749
38750inline bool operator==(const QSizeF &s1, const QSizeF &s2)
38751{ return qFuzzyCompare(s1.wd, s2.wd) && qFuzzyCompare(s1.ht, s2.ht); }
38752
38753inline bool operator!=(const QSizeF &s1, const QSizeF &s2)
38754{ return !qFuzzyCompare(s1.wd, s2.wd) || !qFuzzyCompare(s1.ht, s2.ht); }
38755
38756inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2)
38757{ return QSizeF(s1.wd+s2.wd, s1.ht+s2.ht); }
38758
38759inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2)
38760{ return QSizeF(s1.wd-s2.wd, s1.ht-s2.ht); }
38761
38762inline const QSizeF operator*(const QSizeF &s, qreal c)
38763{ return QSizeF(s.wd*c, s.ht*c); }
38764
38765inline const QSizeF operator*(qreal c, const QSizeF &s)
38766{ return QSizeF(s.wd*c, s.ht*c); }
38767
38768inline QSizeF &QSizeF::operator/=(qreal c)
38769{
38770 qt_noop();
38771 wd = wd/c; ht = ht/c;
38772 return *this;
38773}
38774
38775inline const QSizeF operator/(const QSizeF &s, qreal c)
38776{
38777 qt_noop();
38778 return QSizeF(s.wd/c, s.ht/c);
38779}
38780
38781inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const
38782{
38783 return QSizeF(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht));
38784}
38785
38786inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const
38787{
38788 return QSizeF(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht));
38789}
38790
38791inline 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
38817typedef QtValidLicenseForCoreModule QtCoreModule;
38818
38819class __attribute__((visibility("default"))) QPoint
38820{
38821public:
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
38851private:
38852 friend class QTransform;
38853
38854
38855
38856
38857
38858 int xp;
38859 int yp;
38860
38861};
38862
38863template <> 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
38877inline QPoint::QPoint()
38878{ xp=0; yp=0; }
38879
38880inline QPoint::QPoint(int xpos, int ypos)
38881{ xp = xpos; yp = ypos; }
38882
38883inline bool QPoint::isNull() const
38884{ return xp == 0 && yp == 0; }
38885
38886inline int QPoint::x() const
38887{ return xp; }
38888
38889inline int QPoint::y() const
38890{ return yp; }
38891
38892inline void QPoint::setX(int xpos)
38893{ xp = xpos; }
38894
38895inline void QPoint::setY(int ypos)
38896{ yp = ypos; }
38897
38898inline int &QPoint::rx()
38899{ return xp; }
38900
38901inline int &QPoint::ry()
38902{ return yp; }
38903
38904inline QPoint &QPoint::operator+=(const QPoint &p)
38905{ xp+=p.xp; yp+=p.yp; return *this; }
38906
38907inline QPoint &QPoint::operator-=(const QPoint &p)
38908{ xp-=p.xp; yp-=p.yp; return *this; }
38909
38910inline QPoint &QPoint::operator*=(qreal c)
38911{ xp = qRound(xp*c); yp = qRound(yp*c); return *this; }
38912
38913inline bool operator==(const QPoint &p1, const QPoint &p2)
38914{ return p1.xp == p2.xp && p1.yp == p2.yp; }
38915
38916inline bool operator!=(const QPoint &p1, const QPoint &p2)
38917{ return p1.xp != p2.xp || p1.yp != p2.yp; }
38918
38919inline const QPoint operator+(const QPoint &p1, const QPoint &p2)
38920{ return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); }
38921
38922inline const QPoint operator-(const QPoint &p1, const QPoint &p2)
38923{ return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); }
38924
38925inline const QPoint operator*(const QPoint &p, qreal c)
38926{ return QPoint(qRound(p.xp*c), qRound(p.yp*c)); }
38927
38928inline const QPoint operator*(qreal c, const QPoint &p)
38929{ return QPoint(qRound(p.xp*c), qRound(p.yp*c)); }
38930
38931inline const QPoint operator-(const QPoint &p)
38932{ return QPoint(-p.xp, -p.yp); }
38933
38934inline QPoint &QPoint::operator/=(qreal c)
38935{
38936 xp = qRound(xp/c);
38937 yp = qRound(yp/c);
38938 return *this;
38939}
38940
38941inline 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
38954class __attribute__((visibility("default"))) QPointF
38955{
38956public:
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
38987private:
38988 friend class QMatrix;
38989 friend class QTransform;
38990
38991 qreal xp;
38992 qreal yp;
38993};
38994
38995template <> 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
39009inline QPointF::QPointF() : xp(0), yp(0) { }
39010
39011inline QPointF::QPointF(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) { }
39012
39013inline QPointF::QPointF(const QPoint &p) : xp(p.x()), yp(p.y()) { }
39014
39015inline bool QPointF::isNull() const
39016{
39017 return qIsNull(xp) && qIsNull(yp);
39018}
39019
39020inline qreal QPointF::x() const
39021{
39022 return xp;
39023}
39024
39025inline qreal QPointF::y() const
39026{
39027 return yp;
39028}
39029
39030inline void QPointF::setX(qreal xpos)
39031{
39032 xp = xpos;
39033}
39034
39035inline void QPointF::setY(qreal ypos)
39036{
39037 yp = ypos;
39038}
39039
39040inline qreal &QPointF::rx()
39041{
39042 return xp;
39043}
39044
39045inline qreal &QPointF::ry()
39046{
39047 return yp;
39048}
39049
39050inline QPointF &QPointF::operator+=(const QPointF &p)
39051{
39052 xp+=p.xp;
39053 yp+=p.yp;
39054 return *this;
39055}
39056
39057inline QPointF &QPointF::operator-=(const QPointF &p)
39058{
39059 xp-=p.xp; yp-=p.yp; return *this;
39060}
39061
39062inline QPointF &QPointF::operator*=(qreal c)
39063{
39064 xp*=c; yp*=c; return *this;
39065}
39066
39067inline bool operator==(const QPointF &p1, const QPointF &p2)
39068{
39069 return qFuzzyCompare(p1.xp, p2.xp) && qFuzzyCompare(p1.yp, p2.yp);
39070}
39071
39072inline bool operator!=(const QPointF &p1, const QPointF &p2)
39073{
39074 return !qFuzzyCompare(p1.xp, p2.xp) || !qFuzzyCompare(p1.yp, p2.yp);
39075}
39076
39077inline const QPointF operator+(const QPointF &p1, const QPointF &p2)
39078{
39079 return QPointF(p1.xp+p2.xp, p1.yp+p2.yp);
39080}
39081
39082inline const QPointF operator-(const QPointF &p1, const QPointF &p2)
39083{
39084 return QPointF(p1.xp-p2.xp, p1.yp-p2.yp);
39085}
39086
39087inline const QPointF operator*(const QPointF &p, qreal c)
39088{
39089 return QPointF(p.xp*c, p.yp*c);
39090}
39091
39092inline const QPointF operator*(qreal c, const QPointF &p)
39093{
39094 return QPointF(p.xp*c, p.yp*c);
39095}
39096
39097inline const QPointF operator-(const QPointF &p)
39098{
39099 return QPointF(-p.xp, -p.yp);
39100}
39101
39102inline QPointF &QPointF::operator/=(qreal c)
39103{
39104 xp/=c;
39105 yp/=c;
39106 return *this;
39107}
39108
39109inline const QPointF operator/(const QPointF &p, qreal c)
39110{
39111 return QPointF(p.xp/c, p.yp/c);
39112}
39113
39114inline 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
39137typedef QtValidLicenseForCoreModule QtCoreModule;
39138
39139class __attribute__((visibility("default"))) QRect
39140{
39141public:
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
39243private:
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};
39252template <> 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
39270inline 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
39278inline 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
39286inline 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
39294inline bool QRect::isNull() const
39295{ return x2 == x1 - 1 && y2 == y1 - 1; }
39296
39297inline bool QRect::isEmpty() const
39298{ return x1 > x2 || y1 > y2; }
39299
39300inline bool QRect::isValid() const
39301{ return x1 <= x2 && y1 <= y2; }
39302
39303inline int QRect::left() const
39304{ return x1; }
39305
39306inline int QRect::top() const
39307{ return y1; }
39308
39309inline int QRect::right() const
39310{ return x2; }
39311
39312inline int QRect::bottom() const
39313{ return y2; }
39314
39315inline int QRect::x() const
39316{ return x1; }
39317
39318inline int QRect::y() const
39319{ return y1; }
39320
39321inline void QRect::setLeft(int pos)
39322{ x1 = pos; }
39323
39324inline void QRect::setTop(int pos)
39325{ y1 = pos; }
39326
39327inline void QRect::setRight(int pos)
39328{ x2 = pos; }
39329
39330inline void QRect::setBottom(int pos)
39331{ y2 = pos; }
39332
39333inline void QRect::setTopLeft(const QPoint &p)
39334{ x1 = p.x(); y1 = p.y(); }
39335
39336inline void QRect::setBottomRight(const QPoint &p)
39337{ x2 = p.x(); y2 = p.y(); }
39338
39339inline void QRect::setTopRight(const QPoint &p)
39340{ x2 = p.x(); y1 = p.y(); }
39341
39342inline void QRect::setBottomLeft(const QPoint &p)
39343{ x1 = p.x(); y2 = p.y(); }
39344
39345inline void QRect::setX(int ax)
39346{ x1 = ax; }
39347
39348inline void QRect::setY(int ay)
39349{ y1 = ay; }
39350
39351inline QPoint QRect::topLeft() const
39352{ return QPoint(x1, y1); }
39353
39354inline QPoint QRect::bottomRight() const
39355{ return QPoint(x2, y2); }
39356
39357inline QPoint QRect::topRight() const
39358{ return QPoint(x2, y1); }
39359
39360inline QPoint QRect::bottomLeft() const
39361{ return QPoint(x1, y2); }
39362
39363inline QPoint QRect::center() const
39364{ return QPoint((x1+x2)/2, (y1+y2)/2); }
39365
39366inline int QRect::width() const
39367{ return x2 - x1 + 1; }
39368
39369inline int QRect::height() const
39370{ return y2 - y1 + 1; }
39371
39372inline QSize QRect::size() const
39373{ return QSize(width(), height()); }
39374
39375inline void QRect::translate(int dx, int dy)
39376{
39377 x1 += dx;
39378 y1 += dy;
39379 x2 += dx;
39380 y2 += dy;
39381}
39382
39383inline 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
39391inline QRect QRect::translated(int dx, int dy) const
39392{ return QRect(QPoint(x1 + dx, y1 + dy), QPoint(x2 + dx, y2 + dy)); }
39393
39394inline 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
39397inline void QRect::moveTo(int ax, int ay)
39398{
39399 x2 += ax - x1;
39400 y2 += ay - y1;
39401 x1 = ax;
39402 y1 = ay;
39403}
39404
39405inline 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
39413inline void QRect::moveLeft(int pos)
39414{ x2 += (pos - x1); x1 = pos; }
39415
39416inline void QRect::moveTop(int pos)
39417{ y2 += (pos - y1); y1 = pos; }
39418
39419inline void QRect::moveRight(int pos)
39420{
39421 x1 += (pos - x2);
39422 x2 = pos;
39423}
39424
39425inline void QRect::moveBottom(int pos)
39426{
39427 y1 += (pos - y2);
39428 y2 = pos;
39429}
39430
39431inline void QRect::moveTopLeft(const QPoint &p)
39432{
39433 moveLeft(p.x());
39434 moveTop(p.y());
39435}
39436
39437inline void QRect::moveBottomRight(const QPoint &p)
39438{
39439 moveRight(p.x());
39440 moveBottom(p.y());
39441}
39442
39443inline void QRect::moveTopRight(const QPoint &p)
39444{
39445 moveRight(p.x());
39446 moveTop(p.y());
39447}
39448
39449inline void QRect::moveBottomLeft(const QPoint &p)
39450{
39451 moveLeft(p.x());
39452 moveBottom(p.y());
39453}
39454
39455inline 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
39463inline 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
39471inline 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
39479inline 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"
39487inline 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
39490inline 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
39498inline void QRect::setWidth(int w)
39499{ x2 = (x1 + w - 1); }
39500
39501inline void QRect::setHeight(int h)
39502{ y2 = (y1 + h - 1); }
39503
39504inline void QRect::setSize(const QSize &s)
39505{
39506 x2 = (s.width() + x1 - 1);
39507 y2 = (s.height() + y1 - 1);
39508}
39509
39510inline bool QRect::contains(int ax, int ay, bool aproper) const
39511{
39512 return contains(QPoint(ax, ay), aproper);
39513}
39514
39515inline bool QRect::contains(int ax, int ay) const
39516{
39517 return contains(QPoint(ax, ay), false);
39518}
39519
39520inline QRect& QRect::operator|=(const QRect &r)
39521{
39522 *this = *this | r;
39523 return *this;
39524}
39525
39526inline QRect& QRect::operator&=(const QRect &r)
39527{
39528 *this = *this & r;
39529 return *this;
39530}
39531
39532inline QRect QRect::intersect(const QRect &r) const
39533{
39534 return *this & r;
39535}
39536
39537inline QRect QRect::intersected(const QRect &other) const
39538{
39539 return intersect(other);
39540}
39541
39542inline QRect QRect::unite(const QRect &r) const
39543{
39544 return *this | r;
39545}
39546
39547inline QRect QRect::united(const QRect &r) const
39548{
39549 return unite(r);
39550}
39551
39552inline 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
39557inline 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
39567class __attribute__((visibility("default"))) QRectF
39568{
39569public:
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
39661private:
39662 qreal xp;
39663 qreal yp;
39664 qreal w;
39665 qreal h;
39666};
39667template <> 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
39685inline QRectF::QRectF(qreal aleft, qreal atop, qreal awidth, qreal aheight)
39686 : xp(aleft), yp(atop), w(awidth), h(aheight)
39687{
39688}
39689
39690inline 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
39698inline 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
39706inline QRectF::QRectF(const QRect &r)
39707 : xp(r.x()), yp(r.y()), w(r.width()), h(r.height())
39708{
39709}
39710
39711inline bool QRectF::isNull() const
39712{ return qIsNull(w) && qIsNull(h); }
39713
39714inline bool QRectF::isEmpty() const
39715{ return w <= 0. || h <= 0.; }
39716
39717inline bool QRectF::isValid() const
39718{ return w > 0. && h > 0.; }
39719
39720inline qreal QRectF::x() const
39721{ return xp; }
39722
39723inline qreal QRectF::y() const
39724{ return yp; }
39725
39726inline void QRectF::setLeft(qreal pos) { qreal diff = pos - xp; xp += diff; w -= diff; }
39727
39728inline void QRectF::setRight(qreal pos) { w = pos - xp; }
39729
39730inline void QRectF::setTop(qreal pos) { qreal diff = pos - yp; yp += diff; h -= diff; }
39731
39732inline void QRectF::setBottom(qreal pos) { h = pos - yp; }
39733
39734inline void QRectF::setTopLeft(const QPointF &p) { setLeft(p.x()); setTop(p.y()); }
39735
39736inline void QRectF::setTopRight(const QPointF &p) { setRight(p.x()); setTop(p.y()); }
39737
39738inline void QRectF::setBottomLeft(const QPointF &p) { setLeft(p.x()); setBottom(p.y()); }
39739
39740inline void QRectF::setBottomRight(const QPointF &p) { setRight(p.x()); setBottom(p.y()); }
39741
39742inline QPointF QRectF::center() const
39743{ return QPointF(xp + w/2, yp + h/2); }
39744
39745inline void QRectF::moveLeft(qreal pos) { xp = pos; }
39746
39747inline void QRectF::moveTop(qreal pos) { yp = pos; }
39748
39749inline void QRectF::moveRight(qreal pos) { xp = pos - w; }
39750
39751inline void QRectF::moveBottom(qreal pos) { yp = pos - h; }
39752
39753inline void QRectF::moveTopLeft(const QPointF &p) { moveLeft(p.x()); moveTop(p.y()); }
39754
39755inline void QRectF::moveTopRight(const QPointF &p) { moveRight(p.x()); moveTop(p.y()); }
39756
39757inline void QRectF::moveBottomLeft(const QPointF &p) { moveLeft(p.x()); moveBottom(p.y()); }
39758
39759inline void QRectF::moveBottomRight(const QPointF &p) { moveRight(p.x()); moveBottom(p.y()); }
39760
39761inline void QRectF::moveCenter(const QPointF &p) { xp = p.x() - w/2; yp = p.y() - h/2; }
39762
39763inline qreal QRectF::width() const
39764{ return w; }
39765
39766inline qreal QRectF::height() const
39767{ return h; }
39768
39769inline QSizeF QRectF::size() const
39770{ return QSizeF(w, h); }
39771
39772inline void QRectF::translate(qreal dx, qreal dy)
39773{
39774 xp += dx;
39775 yp += dy;
39776}
39777
39778inline void QRectF::translate(const QPointF &p)
39779{
39780 xp += p.x();
39781 yp += p.y();
39782}
39783
39784inline void QRectF::moveTo(qreal ax, qreal ay)
39785{
39786 xp = ax;
39787 yp = ay;
39788}
39789
39790inline void QRectF::moveTo(const QPointF &p)
39791{
39792 xp = p.x();
39793 yp = p.y();
39794}
39795
39796inline QRectF QRectF::translated(qreal dx, qreal dy) const
39797{ return QRectF(xp + dx, yp + dy, w, h); }
39798
39799inline QRectF QRectF::translated(const QPointF &p) const
39800{ return QRectF(xp + p.x(), yp + p.y(), w, h); }
39801
39802inline 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
39810inline 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
39818inline 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
39826inline 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
39834inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2)
39835{ xp += xp1; yp += yp1; w += xp2 - xp1; h += yp2 - yp1; }
39836
39837inline 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
39840inline void QRectF::setWidth(qreal aw)
39841{ this->w = aw; }
39842
39843inline void QRectF::setHeight(qreal ah)
39844{ this->h = ah; }
39845
39846inline void QRectF::setSize(const QSizeF &s)
39847{
39848 w = s.width();
39849 h = s.height();
39850}
39851
39852inline bool QRectF::contains(qreal ax, qreal ay) const
39853{
39854 return contains(QPointF(ax, ay));
39855}
39856
39857inline QRectF& QRectF::operator|=(const QRectF &r)
39858{
39859 *this = *this | r;
39860 return *this;
39861}
39862
39863inline QRectF& QRectF::operator&=(const QRectF &r)
39864{
39865 *this = *this & r;
39866 return *this;
39867}
39868
39869inline QRectF QRectF::intersect(const QRectF &r) const
39870{
39871 return *this & r;
39872}
39873
39874inline QRectF QRectF::intersected(const QRectF &r) const
39875{
39876 return intersect(r);
39877}
39878
39879inline QRectF QRectF::unite(const QRectF &r) const
39880{
39881 return *this | r;
39882}
39883
39884inline QRectF QRectF::united(const QRectF &r) const
39885{
39886 return unite(r);
39887}
39888
39889inline 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
39895inline 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
39901inline 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
39934typedef QtValidLicenseForGuiModule QtGuiModule;
39935
39936typedef unsigned int QRgb;
39937
39938const 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
40002typedef QtValidLicenseForCoreModule QtCoreModule;
40003
40004struct QRegExpPrivate;
40005class QStringList;
40006
40007class __attribute__((visibility("default"))) QRegExp
40008{
40009public:
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"
40068private:
40069 QRegExpPrivate *priv;
40070};
40071
40072template <> 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 &regExp);
40076__attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QRegExp &regExp);
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
40098typedef QtValidLicenseForCoreModule QtCoreModule;
40099
40100class QStringMatcherPrivate;
40101
40102class __attribute__((visibility("default"))) QStringMatcher
40103{
40104public:
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
40123private:
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
40154typedef QtValidLicenseForCoreModule QtCoreModule;
40155
40156class QRegExp;
40157
40158typedef QListIterator<QString> QStringListIterator;
40159typedef QMutableListIterator<QString> QMutableStringListIterator;
40160
40161class QStringList : public QList<QString>
40162{
40163public:
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
40200namespace 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
40221inline void QStringList::sort()
40222{
40223 QtPrivate::QStringList_sort(this);
40224}
40225
40226inline int QStringList::removeDuplicates()
40227{
40228 return QtPrivate::QStringList_removeDuplicates(this);
40229}
40230
40231inline QString QStringList::join(const QString &sep) const
40232{
40233 return QtPrivate::QStringList_join(this, sep);
40234}
40235
40236inline QStringList QStringList::filter(const QString &str, Qt::CaseSensitivity cs) const
40237{
40238 return QtPrivate::QStringList_filter(this, str, cs);
40239}
40240
40241inline QBool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const
40242{
40243 return QtPrivate::QStringList_contains(this, str, cs);
40244}
40245
40246inline 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
40253inline QStringList &QStringList::replaceInStrings(const QRegExp &rx, const QString &after)
40254{
40255 QtPrivate::QStringList_replaceInStrings(this, rx, after);
40256 return *this;
40257}
40258
40259inline QStringList QStringList::filter(const QRegExp &rx) const
40260{
40261 return QtPrivate::QStringList_filter(this, rx);
40262}
40263
40264inline int QStringList::indexOf(const QRegExp &rx, int from) const
40265{
40266 return QtPrivate::QStringList_indexOf(this, rx, from);
40267}
40268
40269inline int QStringList::lastIndexOf(const QRegExp &rx, int from) const
40270{
40271 return QtPrivate::QStringList_lastIndexOf(this, rx, from);
40272}
40273
40274inline int QStringList::indexOf(QRegExp &rx, int from) const
40275{
40276 return QtPrivate::QStringList_indexOf(this, rx, from);
40277}
40278
40279inline 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"
40284inline QDataStream &operator>>(QDataStream &in, QStringList &list)
40285{
40286 return operator>>(in, static_cast<QList<QString> &>(list));
40287}
40288inline 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
40304typedef QtValidLicenseForGuiModule QtGuiModule;
40305
40306class QColor;
40307class QColormap;
40308class 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
40318class __attribute__((visibility("default"))) QColor
40319{
40320public:
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"
40435private:
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
40475inline QColor::QColor()
40476{ invalidate(); }
40477
40478inline QColor::QColor(int r, int g, int b, int a)
40479{ setRgb(r, g, b, a); }
40480
40481inline QColor::QColor(const char *aname)
40482{ setNamedColor(QLatin1String(aname)); }
40483
40484inline QColor::QColor(const QString& aname)
40485{ setNamedColor(aname); }
40486
40487inline QColor::QColor(const QColor &acolor)
40488 : cspec(acolor.cspec)
40489{ ct.argb = acolor.ct.argb; }
40490
40491inline bool QColor::isValid() const
40492{ return cspec != Invalid; }
40493
40494inline QColor QColor::lighter(int f) const
40495{ return light(f); }
40496
40497inline 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
40525typedef QtValidLicenseForGuiModule QtGuiModule;
40526
40527
40528
40529class QPaintDevice;
40530class QWidget;
40531class QDialog;
40532class QColor;
40533class QPalette;
40534
40535
40536
40537class QCursor;
40538class QPoint;
40539class QSize;
40540class QRect;
40541class QPolygon;
40542class QPainter;
40543class QRegion;
40544class QFont;
40545class QFontMetrics;
40546class QFontInfo;
40547class QPen;
40548class QBrush;
40549class QMatrix;
40550class QPixmap;
40551class QBitmap;
40552class QMovie;
40553class QImage;
40554class QPicture;
40555class QPrinter;
40556class QTimer;
40557class QTime;
40558class QClipboard;
40559class QString;
40560class QByteArray;
40561class QApplication;
40562
40563template<typename T> class QList;
40564typedef QList<QWidget *> QWidgetList;
40565
40566
40567
40568# 125 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/kernel/qwindowdefs.h"
40569typedef unsigned long WId;
40570
40571
40572struct QWSEvent;
40573
40574
40575
40576
40577
40578
40579
40580
40581template<class K, class V> class QHash;
40582typedef QHash<WId, QWidget *> QWidgetMapper;
40583
40584template<class V> class QSet;
40585typedef 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
40614typedef QtValidLicenseForGuiModule QtGuiModule;
40615
40616template <class T> class QVector;
40617class QVariant;
40618
40619
40620struct QRegionPrivate;
40621
40622
40623class QBitmap;
40624
40625class __attribute__((visibility("default"))) QRegion
40626{
40627public:
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 &region);
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
40705private:
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 &region,
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
40766typedef QtValidLicenseForGuiModule QtGuiModule;
40767
40768
40769
40770
40771
40772
40773
40774class 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
40783class QVariant;
40784class QKeySequencePrivate;
40785
40786class __attribute__((visibility("default"))) QKeySequence
40787{
40788public:
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;
40905private:
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
40919public:
40920 typedef QKeySequencePrivate * DataPtr;
40921 inline DataPtr &data_ptr() { return d; }
40922};
40923template <> 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"; } };
40924template <> 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
40948typedef QtValidLicenseForCoreModule QtCoreModule;
40949
40950class QEventPrivate;
40951class __attribute__((visibility("default"))) QEvent
40952{
40953
40954public:
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
41185protected:
41186 QEventPrivate *d;
41187 ushort t;
41188
41189private:
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
41205class __attribute__((visibility("default"))) QTimerEvent : public QEvent
41206{
41207public:
41208 QTimerEvent( int timerId );
41209 ~QTimerEvent();
41210 int timerId() const { return id; }
41211protected:
41212 int id;
41213};
41214
41215class QObject;
41216
41217class __attribute__((visibility("default"))) QChildEvent : public QEvent
41218{
41219public:
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; }
41229protected:
41230 QObject *c;
41231};
41232# 348 "../../include/QtCore/../../../qt-embedded-linux-opensource-src-4.5.1/src/corelib/kernel/qcoreevent.h"
41233class __attribute__((visibility("default"))) QDynamicPropertyChangeEvent : public QEvent
41234{
41235public:
41236 QDynamicPropertyChangeEvent(const QByteArray &name);
41237 ~QDynamicPropertyChangeEvent();
41238
41239 inline QByteArray propertyName() const { return n; }
41240
41241private:
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
41294typedef QtValidLicenseForCoreModule QtCoreModule;
41295
41296class __attribute__((visibility("default"))) QMetaType {
41297public:
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
41350template <typename T>
41351void qMetaTypeDeleteHelper(T *t)
41352{
41353 delete t;
41354}
41355
41356template <typename T>
41357void *qMetaTypeConstructHelper(const T *t)
41358{
41359 if (!t)
41360 return new T;
41361 return new T(*static_cast<const T*>(t));
41362}
41363
41364
41365template <typename T>
41366void qMetaTypeSaveHelper(QDataStream &stream, const T *t)
41367{
41368 stream << *t;
41369}
41370
41371template <typename T>
41372void qMetaTypeLoadHelper(QDataStream &stream, T *t)
41373{
41374 stream >> *t;
41375}
41376
41377
41378template <typename T>
41379int 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
41395template <typename T>
41396void 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
41413template <typename T>
41414struct QMetaTypeId
41415{
41416 enum { Defined = 0 };
41417};
41418
41419template <typename T>
41420struct QMetaTypeId2
41421{
41422 enum { Defined = QMetaTypeId<T>::Defined };
41423 static inline int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); }
41424};
41425
41426template <typename T>
41427inline int qMetaTypeId(
41428
41429 T * = 0
41430
41431)
41432{
41433 return QMetaTypeId2<T>::qt_metatype_id();
41434}
41435
41436template <typename T>
41437inline 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"
41454class QString;
41455class QByteArray;
41456class QChar;
41457class QStringList;
41458class QBitArray;
41459class QDate;
41460class QTime;
41461class QDateTime;
41462class QUrl;
41463class QLocale;
41464class QRect;
41465class QRectF;
41466class QSize;
41467class QSizeF;
41468class QLine;
41469class QLineF;
41470class QPoint;
41471class QPointF;
41472
41473class QRegExp;
41474
41475class QWidget;
41476class QObject;
41477
41478
41479
41480
41481class QFont;
41482class QPixmap;
41483class QBrush;
41484class QColor;
41485class QPalette;
41486class QIcon;
41487class QImage;
41488class QPolygon;
41489class QRegion;
41490class QBitmap;
41491class QCursor;
41492class QSizePolicy;
41493class QKeySequence;
41494class QPen;
41495class QTextLength;
41496class QTextFormat;
41497class QMatrix;
41498class 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
41576typedef QtValidLicenseForCoreModule QtCoreModule;
41577
41578class QBitArray;
41579class QDataStream;
41580class QDate;
41581class QDateTime;
41582class QLine;
41583class QLineF;
41584class QLocale;
41585class QMatrix;
41586class QTransform;
41587class QStringList;
41588class QTime;
41589class QPoint;
41590class QPointF;
41591class QSize;
41592class QSizeF;
41593class QRect;
41594class QRectF;
41595
41596class QRegExp;
41597
41598class QTextFormat;
41599class QTextLength;
41600class QUrl;
41601class QVariant;
41602class QVariantComparisonHelper;
41603
41604
41605template <typename T>
41606inline QVariant qVariantFromValue(const T &);
41607
41608template <typename T>
41609inline void qVariantSetValue(QVariant &, const T &);
41610
41611template<typename T>
41612inline T qVariantValue(const QVariant &);
41613
41614template<typename T>
41615inline bool qVariantCanConvert(const QVariant &);
41616
41617
41618class __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 &regExp);
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
41882protected:
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
41900private:
41901
41902 inline QVariant(void *) { qt_noop(); }
41903
41904
41905
41906
41907
41908
41909 inline QVariant(bool, int) { qt_noop(); }
41910
41911public:
41912 typedef Private DataPtr;
41913 inline DataPtr &data_ptr() { return d; }
41914};
41915
41916typedef QList<QVariant> QVariantList;
41917typedef QMap<QString, QVariant> QVariantMap;
41918typedef QHash<QString, QVariant> QVariantHash;
41919
41920inline bool qvariant_cast_helper(const QVariant &v, QVariant::Type tp, void *ptr)
41921{ return QVariant::handler->convert(&v.d, tp, ptr, 0); }
41922
41923template <typename T>
41924inline QVariant qVariantFromValue(const T &t)
41925{
41926 return QVariant(qMetaTypeId<T>(reinterpret_cast<T *>(0)), &t);
41927}
41928
41929template <>
41930inline QVariant qVariantFromValue(const QVariant &t) { return t; }
41931
41932template <typename T>
41933inline void qVariantSetValue(QVariant &v, const T &t)
41934{
41935 v = QVariant(qMetaTypeId<T>(reinterpret_cast<T *>(0)), &t);
41936}
41937
41938inline QVariant::QVariant() {}
41939inline 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"
41941template<typename T>
41942inline 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
41953inline 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"
41956class QVariantComparisonHelper
41957{
41958public:
41959 inline QVariantComparisonHelper(const QVariant &var)
41960 : v(&var) {}
41961private:
41962 friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &);
41963 const QVariant *v;
41964};
41965
41966inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
41967{
41968 return v1.cmp(*v2.v);
41969}
41970
41971inline 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"
41976template<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
41989template<typename T>
41990inline T qVariantValue(const QVariant &variant)
41991{ return qvariant_cast<T>(variant); }
41992
41993template<typename T>
41994inline bool qVariantCanConvert(const QVariant &variant)
41995{
41996 return variant.canConvert(static_cast<QVariant::Type>(
41997 qMetaTypeId<T>(static_cast<T *>(0))));
41998}
41999
42000
42001template <> 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; }
42002template <> 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
42025typedef QtValidLicenseForCoreModule QtCoreModule;
42026
42027class QUrl;
42028class QMimeDataPrivate;
42029
42030class __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:
42033public:
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();
42065protected:
42066 virtual QVariant retrieveData(const QString &mimetype,
42067 QVariant::Type preferredType) const;
42068private:
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
42083typedef QtValidLicenseForGuiModule QtGuiModule;
42084
42085class __attribute__((visibility("default"))) QMimeSource
42086{
42087public:
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
42111typedef QtValidLicenseForGuiModule QtGuiModule;
42112
42113
42114class QMimeData;
42115class QDragPrivate;
42116class QWidget;
42117class QPixmap;
42118class QPoint;
42119class QDragManager;
42120
42121class __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;
42125public:
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
42147protected:
42148 void actionChanged(Qt::DropAction action);
42149 void targetChanged(QWidget *newTarget);
42150
42151private:
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
42173typedef QtValidLicenseForGuiModule QtGuiModule;
42174
42175class QAction;
42176
42177class __attribute__((visibility("default"))) QInputEvent : public QEvent
42178{
42179public:
42180 QInputEvent(Type type, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
42181 ~QInputEvent();
42182 inline Qt::KeyboardModifiers modifiers() const { return modState; }
42183protected:
42184 Qt::KeyboardModifiers modState;
42185};
42186
42187class __attribute__((visibility("default"))) QMouseEvent : public QInputEvent
42188{
42189public:
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"
42212protected:
42213 QPoint p, g;
42214 Qt::MouseButton b;
42215 Qt::MouseButtons mouseState;
42216};
42217
42218class __attribute__((visibility("default"))) QHoverEvent : public QEvent
42219{
42220public:
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
42227protected:
42228 QPoint p, op;
42229};
42230
42231
42232class __attribute__((visibility("default"))) QWheelEvent : public QInputEvent
42233{
42234public:
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"
42254protected:
42255 QPoint p;
42256 QPoint g;
42257 int d;
42258 Qt::MouseButtons mouseState;
42259 Qt::Orientation o;
42260};
42261
42262
42263
42264class __attribute__((visibility("default"))) QTabletEvent : public QInputEvent
42265{
42266public:
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
42295protected:
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
42309class __attribute__((visibility("default"))) QKeyEvent : public QInputEvent
42310{
42311public:
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"
42336protected:
42337 QString txt;
42338 int k;
42339 ushort c;
42340 uint autor:1;
42341};
42342
42343
42344class __attribute__((visibility("default"))) QFocusEvent : public QEvent
42345{
42346public:
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
42362private:
42363 Qt::FocusReason m_reason;
42364};
42365
42366
42367class __attribute__((visibility("default"))) QPaintEvent : public QEvent
42368{
42369public:
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 &region() const { return m_region; }
42376
42377
42378
42379
42380
42381
42382
42383protected:
42384 friend class QApplication;
42385 friend class QCoreApplication;
42386 QRect m_rect;
42387 QRegion m_region;
42388 bool m_erased;
42389};
42390
42391class QUpdateLaterEvent : public QEvent
42392{
42393public:
42394 QUpdateLaterEvent(const QRegion& paintRegion);
42395 ~QUpdateLaterEvent();
42396
42397 inline const QRegion &region() const { return m_region; }
42398
42399protected:
42400 QRegion m_region;
42401};
42402
42403class __attribute__((visibility("default"))) QMoveEvent : public QEvent
42404{
42405public:
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;}
42411protected:
42412 QPoint p, oldp;
42413 friend class QApplication;
42414 friend class QCoreApplication;
42415};
42416
42417
42418class __attribute__((visibility("default"))) QResizeEvent : public QEvent
42419{
42420public:
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;}
42426protected:
42427 QSize s, olds;
42428 friend class QApplication;
42429 friend class QCoreApplication;
42430};
42431
42432
42433class __attribute__((visibility("default"))) QCloseEvent : public QEvent
42434{
42435public:
42436 QCloseEvent();
42437 ~QCloseEvent();
42438};
42439
42440
42441class __attribute__((visibility("default"))) QIconDragEvent : public QEvent
42442{
42443public:
42444 QIconDragEvent();
42445 ~QIconDragEvent();
42446};
42447
42448
42449class __attribute__((visibility("default"))) QShowEvent : public QEvent
42450{
42451public:
42452 QShowEvent();
42453 ~QShowEvent();
42454};
42455
42456
42457class __attribute__((visibility("default"))) QHideEvent : public QEvent
42458{
42459public:
42460 QHideEvent();
42461 ~QHideEvent();
42462};
42463
42464
42465class __attribute__((visibility("default"))) QContextMenuEvent : public QInputEvent
42466{
42467public:
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
42492protected:
42493 QPoint p;
42494 QPoint gp;
42495 uint reas : 8;
42496};
42497
42498
42499
42500class __attribute__((visibility("default"))) QInputMethodEvent : public QEvent
42501{
42502public:
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
42531private:
42532 QString preedit;
42533 QList<Attribute> attrs;
42534 QString commit;
42535 int replace_from;
42536 int replace_length;
42537};
42538
42539
42540
42541
42542class QMimeData;
42543
42544class __attribute__((visibility("default"))) QDropEvent : public QEvent
42545
42546 , public QMimeSource
42547
42548{
42549public:
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"
42573protected:
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
42586class __attribute__((visibility("default"))) QDragMoveEvent : public QDropEvent
42587{
42588public:
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
42605protected:
42606 friend class QApplication;
42607 QRect rect;
42608};
42609
42610
42611class __attribute__((visibility("default"))) QDragEnterEvent : public QDragMoveEvent
42612{
42613public:
42614 QDragEnterEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data,
42615 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
42616 ~QDragEnterEvent();
42617};
42618
42619
42620
42621class __attribute__((visibility("default"))) QDragResponseEvent : public QEvent
42622{
42623public:
42624 QDragResponseEvent(bool accepted);
42625 ~QDragResponseEvent();
42626
42627 inline bool dragAccepted() const { return a; }
42628protected:
42629 bool a;
42630};
42631
42632
42633class __attribute__((visibility("default"))) QDragLeaveEvent : public QEvent
42634{
42635public:
42636 QDragLeaveEvent();
42637 ~QDragLeaveEvent();
42638};
42639
42640
42641
42642class __attribute__((visibility("default"))) QHelpEvent : public QEvent
42643{
42644public:
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
42656private:
42657 QPoint p;
42658 QPoint gp;
42659};
42660
42661
42662class __attribute__((visibility("default"))) QStatusTipEvent : public QEvent
42663{
42664public:
42665 QStatusTipEvent(const QString &tip);
42666 ~QStatusTipEvent();
42667
42668 inline QString tip() const { return s; }
42669private:
42670 QString s;
42671};
42672
42673
42674
42675class __attribute__((visibility("default"))) QWhatsThisClickedEvent : public QEvent
42676{
42677public:
42678 QWhatsThisClickedEvent(const QString &href);
42679 ~QWhatsThisClickedEvent();
42680
42681 inline QString href() const { return s; }
42682private:
42683 QString s;
42684};
42685
42686
42687
42688class __attribute__((visibility("default"))) QActionEvent : public QEvent
42689{
42690 QAction *act, *bef;
42691public:
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
42700class __attribute__((visibility("default"))) QFileOpenEvent : public QEvent
42701{
42702public:
42703 QFileOpenEvent(const QString &file);
42704 ~QFileOpenEvent();
42705
42706 inline QString file() const { return f; }
42707private:
42708 QString f;
42709};
42710
42711
42712class __attribute__((visibility("default"))) QToolBarChangeEvent : public QEvent
42713{
42714public:
42715 QToolBarChangeEvent(bool t);
42716 ~QToolBarChangeEvent();
42717
42718 inline bool toggle() const { return tog; }
42719private:
42720 uint tog : 1;
42721};
42722
42723
42724
42725class __attribute__((visibility("default"))) QShortcutEvent : public QEvent
42726{
42727public:
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; }
42737protected:
42738 QKeySequence sequence;
42739 bool ambig;
42740 int sid;
42741};
42742
42743
42744
42745class __attribute__((visibility("default"))) QClipboardEvent : public QEvent
42746{
42747public:
42748 QClipboardEvent(QEventPrivate *data);
42749 ~QClipboardEvent();
42750
42751 QEventPrivate *data() { return d; };
42752};
42753
42754
42755class __attribute__((visibility("default"))) QWindowStateChangeEvent: public QEvent
42756{
42757public:
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
42765private:
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
42773inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
42774inline 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
42800typedef struct FT_FaceRec_* FT_Face;
42801
42802
42803
42804
42805
42806
42807typedef QtValidLicenseForGuiModule QtGuiModule;
42808
42809class QFontPrivate;
42810class QStringList;
42811class QVariant;
42812class Q3TextFormatCollection;
42813
42814class __attribute__((visibility("default"))) QFont
42815{
42816 public: static const QMetaObject staticMetaObject; private:
42817
42818public:
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"
43018private:
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
43056inline bool QFont::bold() const
43057{ return weight() > Normal; }
43058
43059
43060inline void QFont::setBold(bool enable)
43061{ setWeight(enable ? Bold : Normal); }
43062
43063inline bool QFont::italic() const
43064{
43065 return (style() != StyleNormal);
43066}
43067
43068inline 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
43105typedef QtValidLicenseForCoreModule QtCoreModule;
43106
43107template <class T> class QSharedDataPointer;
43108
43109class __attribute__((visibility("default"))) QSharedData
43110{
43111public:
43112 mutable QAtomicInt ref;
43113
43114 inline QSharedData() : ref(0) { }
43115 inline QSharedData(const QSharedData &) : ref(0) { }
43116
43117private:
43118
43119 QSharedData &operator=(const QSharedData &);
43120};
43121
43122template <class T> class QSharedDataPointer
43123{
43124public:
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
43167protected:
43168 T *clone();
43169
43170private:
43171 void detach_helper();
43172
43173 T *d;
43174};
43175
43176template <class T> class QExplicitlySharedDataPointer
43177{
43178public:
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
43242protected:
43243 T *clone();
43244
43245private:
43246 void detach_helper();
43247
43248 T *d;
43249};
43250
43251template <class T>
43252inline QSharedDataPointer<T>::QSharedDataPointer(T *adata) : d(adata)
43253{ if (d) d->ref.ref(); }
43254
43255template <class T>
43256inline T *QSharedDataPointer<T>::clone()
43257{
43258 return new T(*d);
43259}
43260
43261template <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
43271template <class T>
43272inline T *QExplicitlySharedDataPointer<T>::clone()
43273{
43274 return new T(*d);
43275}
43276
43277template <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
43287template <class T>
43288inline 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
43341typedef QtValidLicenseForGuiModule QtGuiModule;
43342
43343class QMatrix;
43344class QTransform;
43345class QRect;
43346class QVariant;
43347
43348class __attribute__((visibility("default"))) QPolygon : public QVector<QPoint>
43349{
43350public:
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
43381inline 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
43399inline void QPolygon::setPoint(int index, const QPoint &pt)
43400{ (*this)[index] = pt; }
43401
43402inline void QPolygon::setPoint(int index, int x, int y)
43403{ (*this)[index] = QPoint(x, y); }
43404
43405inline QPoint QPolygon::point(int index) const
43406{ return at(index); }
43407
43408inline void QPolygon::translate(const QPoint &offset)
43409{ translate(offset.x(), offset.y()); }
43410
43411class QRectF;
43412
43413class __attribute__((visibility("default"))) QPolygonF : public QVector<QPointF>
43414{
43415public:
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
43440inline 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
43454inline 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
43478typedef QtValidLicenseForCoreModule QtCoreModule;
43479
43480
43481
43482
43483
43484class __attribute__((visibility("default"))) QLine
43485{
43486public:
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
43519private:
43520 QPoint pt1, pt2;
43521};
43522template <> 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
43528inline QLine::QLine() { }
43529
43530inline QLine::QLine(const QPoint &pt1_, const QPoint &pt2_) : pt1(pt1_), pt2(pt2_) { }
43531
43532inline QLine::QLine(int x1pos, int y1pos, int x2pos, int y2pos) : pt1(QPoint(x1pos, y1pos)), pt2(QPoint(x2pos, y2pos)) { }
43533
43534inline bool QLine::isNull() const
43535{
43536 return pt1 == pt2;
43537}
43538
43539inline int QLine::x1() const
43540{
43541 return pt1.x();
43542}
43543
43544inline int QLine::y1() const
43545{
43546 return pt1.y();
43547}
43548
43549inline int QLine::x2() const
43550{
43551 return pt2.x();
43552}
43553
43554inline int QLine::y2() const
43555{
43556 return pt2.y();
43557}
43558
43559inline QPoint QLine::p1() const
43560{
43561 return pt1;
43562}
43563
43564inline QPoint QLine::p2() const
43565{
43566 return pt2;
43567}
43568
43569inline int QLine::dx() const
43570{
43571 return pt2.x() - pt1.x();
43572}
43573
43574inline int QLine::dy() const
43575{
43576 return pt2.y() - pt1.y();
43577}
43578
43579inline void QLine::translate(const QPoint &point)
43580{
43581 pt1 += point;
43582 pt2 += point;
43583}
43584
43585inline void QLine::translate(int adx, int ady)
43586{
43587 this->translate(QPoint(adx, ady));
43588}
43589
43590inline QLine QLine::translated(const QPoint &p) const
43591{
43592 return QLine(pt1 + p, pt2 + p);
43593}
43594
43595inline QLine QLine::translated(int adx, int ady) const
43596{
43597 return translated(QPoint(adx, ady));
43598}
43599
43600inline void QLine::setP1(const QPoint &aP1)
43601{
43602 pt1 = aP1;
43603}
43604
43605inline void QLine::setP2(const QPoint &aP2)
43606{
43607 pt2 = aP2;
43608}
43609
43610inline void QLine::setPoints(const QPoint &aP1, const QPoint &aP2)
43611{
43612 pt1 = aP1;
43613 pt2 = aP2;
43614}
43615
43616inline void QLine::setLine(int aX1, int aY1, int aX2, int aY2)
43617{
43618 pt1 = QPoint(aX1, aY1);
43619 pt2 = QPoint(aX2, aY2);
43620}
43621
43622inline 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
43639class __attribute__((visibility("default"))) QLineF {
43640public:
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
43698private:
43699 QPointF pt1, pt2;
43700};
43701template <> 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
43707inline QLineF::QLineF()
43708{
43709}
43710
43711inline QLineF::QLineF(const QPointF &apt1, const QPointF &apt2)
43712 : pt1(apt1), pt2(apt2)
43713{
43714}
43715
43716inline QLineF::QLineF(qreal x1pos, qreal y1pos, qreal x2pos, qreal y2pos)
43717 : pt1(x1pos, y1pos), pt2(x2pos, y2pos)
43718{
43719}
43720
43721inline qreal QLineF::x1() const
43722{
43723 return pt1.x();
43724}
43725
43726inline qreal QLineF::y1() const
43727{
43728 return pt1.y();
43729}
43730
43731inline qreal QLineF::x2() const
43732{
43733 return pt2.x();
43734}
43735
43736inline qreal QLineF::y2() const
43737{
43738 return pt2.y();
43739}
43740
43741inline QPointF QLineF::p1() const
43742{
43743 return pt1;
43744}
43745
43746inline QPointF QLineF::p2() const
43747{
43748 return pt2;
43749}
43750
43751inline qreal QLineF::dx() const
43752{
43753 return pt2.x() - pt1.x();
43754}
43755
43756inline qreal QLineF::dy() const
43757{
43758 return pt2.y() - pt1.y();
43759}
43760
43761inline QLineF QLineF::normalVector() const
43762{
43763 return QLineF(p1(), p1() + QPointF(dy(), -dx()));
43764}
43765
43766inline void QLineF::translate(const QPointF &point)
43767{
43768 pt1 += point;
43769 pt2 += point;
43770}
43771
43772inline void QLineF::translate(qreal adx, qreal ady)
43773{
43774 this->translate(QPointF(adx, ady));
43775}
43776
43777inline QLineF QLineF::translated(const QPointF &p) const
43778{
43779 return QLineF(pt1 + p, pt2 + p);
43780}
43781
43782inline QLineF QLineF::translated(qreal adx, qreal ady) const
43783{
43784 return translated(QPointF(adx, ady));
43785}
43786
43787inline 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
43795inline 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
43802inline QLine QLineF::toLine() const
43803{
43804 return QLine(pt1.toPoint(), pt2.toPoint());
43805}
43806
43807
43808inline void QLineF::setP1(const QPointF &aP1)
43809{
43810 pt1 = aP1;
43811}
43812
43813inline void QLineF::setP2(const QPointF &aP2)
43814{
43815 pt2 = aP2;
43816}
43817
43818inline void QLineF::setPoints(const QPointF &aP1, const QPointF &aP2)
43819{
43820 pt1 = aP1;
43821 pt2 = aP2;
43822}
43823
43824inline 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
43831inline 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
43861typedef QtValidLicenseForGuiModule QtGuiModule;
43862
43863class QPainterPath;
43864class QVariant;
43865
43866class __attribute__((visibility("default"))) QMatrix
43867{
43868public:
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
43928private:
43929 friend class QTransform;
43930 qreal _m11, _m12;
43931 qreal _m21, _m22;
43932 qreal _dx, _dy;
43933};
43934template <> 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
43953inline 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
44001typedef QtValidLicenseForGuiModule QtGuiModule;
44002
44003class QFont;
44004class QPainterPathPrivate;
44005class QPainterPathData;
44006class QPainterPathStrokerPrivate;
44007class QPolygonF;
44008class QRegion;
44009class QVectorPath;
44010
44011class __attribute__((visibility("default"))) QPainterPath
44012{
44013public:
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 &center, 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 &region);
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
44143private:
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
44169class QPainterPathPrivate
44170{
44171public:
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
44182private:
44183 QAtomicInt ref;
44184 QVector<QPainterPath::Element> elements;
44185};
44186
44187template <> 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
44194class __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;
44197public:
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
44225private:
44226 friend class QX11PaintEngine;
44227
44228 QPainterPathStrokerPrivate *d_ptr;
44229};
44230
44231inline void QPainterPath::moveTo(qreal x, qreal y)
44232{
44233 moveTo(QPointF(x, y));
44234}
44235
44236inline void QPainterPath::lineTo(qreal x, qreal y)
44237{
44238 lineTo(QPointF(x, y));
44239}
44240
44241inline 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
44246inline void QPainterPath::arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle)
44247{
44248 arcMoveTo(QRectF(x, y, w, h), angle);
44249}
44250
44251inline 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
44258inline void QPainterPath::quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty)
44259{
44260 quadTo(QPointF(ctrlPtx, ctrlPty), QPointF(endPtx, endPty));
44261}
44262
44263inline void QPainterPath::addEllipse(qreal x, qreal y, qreal w, qreal h)
44264{
44265 addEllipse(QRectF(x, y, w, h));
44266}
44267
44268inline void QPainterPath::addEllipse(const QPointF &center, qreal rx, qreal ry)
44269{
44270 addEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry));
44271}
44272
44273inline void QPainterPath::addRect(qreal x, qreal y, qreal w, qreal h)
44274{
44275 addRect(QRectF(x, y, w, h));
44276}
44277
44278inline 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
44285inline 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
44291inline 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
44303inline 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
44309inline void QPainterPath::addText(qreal x, qreal y, const QFont &f, const QString &text)
44310{
44311 addText(QPointF(x, y), f, text);
44312}
44313
44314inline bool QPainterPath::isEmpty() const
44315{
44316 return !d_ptr || (d_ptr->elements.size() == 1 && d_ptr->elements.first().type == MoveToElement);
44317}
44318
44319inline int QPainterPath::elementCount() const
44320{
44321 return d_ptr ? d_ptr->elements.size() : 0;
44322}
44323
44324inline const QPainterPath::Element &QPainterPath::elementAt(int i) const
44325{
44326 qt_noop();
44327 qt_noop();
44328 return d_ptr->elements.at(i);
44329}
44330
44331inline 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
44342inline 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
44375typedef QtValidLicenseForGuiModule QtGuiModule;
44376
44377class QVariant;
44378
44379class __attribute__((visibility("default"))) QTransform
44380{
44381
44382public:
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
44479private:
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};
44491template <> 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
44494inline bool QTransform::isAffine() const
44495{
44496 return type() < TxProject;
44497}
44498inline bool QTransform::isIdentity() const
44499{
44500 return type() == TxNone;
44501}
44502
44503inline bool QTransform::isInvertible() const
44504{
44505 return !qFuzzyCompare(determinant() + 1, 1);
44506}
44507
44508inline bool QTransform::isScaling() const
44509{
44510 return type() >= TxScale;
44511}
44512inline bool QTransform::isRotating() const
44513{
44514 return type() >= TxRotate;
44515}
44516
44517inline bool QTransform::isTranslating() const
44518{
44519 return type() >= TxTranslate;
44520}
44521
44522inline 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}
44527inline qreal QTransform::det() const
44528{
44529 return determinant();
44530}
44531inline qreal QTransform::m11() const
44532{
44533 return affine._m11;
44534}
44535inline qreal QTransform::m12() const
44536{
44537 return affine._m12;
44538}
44539inline qreal QTransform::m13() const
44540{
44541 return m_13;
44542}
44543inline qreal QTransform::m21() const
44544{
44545 return affine._m21;
44546}
44547inline qreal QTransform::m22() const
44548{
44549 return affine._m22;
44550}
44551inline qreal QTransform::m23() const
44552{
44553 return m_23;
44554}
44555inline qreal QTransform::m31() const
44556{
44557 return affine._dx;
44558}
44559inline qreal QTransform::m32() const
44560{
44561 return affine._dy;
44562}
44563inline qreal QTransform::m33() const
44564{
44565 return m_33;
44566}
44567inline qreal QTransform::dx() const
44568{
44569 return affine._dx;
44570}
44571inline qreal QTransform::dy() const
44572{
44573 return affine._dy;
44574}
44575
44576inline 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}
44592inline QTransform &QTransform::operator/=(qreal div)
44593{
44594 if (div == 0)
44595 return *this;
44596 div = 1/div;
44597 return operator*=(div);
44598}
44599inline 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}
44615inline 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
44694typedef QtValidLicenseForGuiModule QtGuiModule;
44695
44696
44697class QWSDisplay;
44698
44699
44700class QPaintEngine;
44701
44702class __attribute__((visibility("default"))) QPaintDevice
44703{
44704public:
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
44744protected:
44745 QPaintDevice();
44746 virtual int metric(PaintDeviceMetric metric) const;
44747
44748 ushort painters;
44749
44750private:
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"
44758inline int QPaintDevice::devType() const
44759{ return QInternal::UnknownDevice; }
44760
44761inline 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
44782typedef QtValidLicenseForGuiModule QtGuiModule;
44783
44784class QIODevice;
44785class QStringList;
44786class QMatrix;
44787class QTransform;
44788class QVariant;
44789template <class T> class QList;
44790template <class T> class QVector;
44791
44792struct QImageData;
44793class QImageDataMisc;
44794
44795class __attribute__((visibility("default"))) QImageTextKeyLang {
44796public:
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
44813class __attribute__((visibility("default"))) QImage : public QPaintDevice
44814{
44815public:
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"
44980protected:
44981 virtual int metric(PaintDeviceMetric metric) const;
44982
44983private:
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
44992public:
44993 typedef QImageData * DataPtr;
44994 inline DataPtr &data_ptr() { return d; }
44995};
44996
44997template <> 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; }
44998template <> 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
45046typedef QtValidLicenseForGuiModule QtGuiModule;
45047
45048class QImageWriter;
45049class QColor;
45050class QVariant;
45051class QX11Info;
45052
45053class QPixmapData;
45054
45055class __attribute__((visibility("default"))) QPixmap : public QPaintDevice
45056{
45057public:
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
45153protected:
45154 int metric(PaintDeviceMetric) const;
45155# 218 "../../include/QtGui/../../../qt-embedded-linux-opensource-src-4.5.1/src/gui/image/qpixmap.h"
45156private:
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
45200public:
45201 QPixmapData* pixmapData() const;
45202
45203public:
45204 typedef QPixmapData * DataPtr;
45205 inline DataPtr &data_ptr() { return data; }
45206};
45207
45208template <> 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
45210inline QPixmap QPixmap::copy(int ax, int ay, int awidth, int aheight) const
45211{
45212 return copy(QRect(ax, ay, awidth, aheight));
45213}
45214
45215inline 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
45239typedef QtValidLicenseForGuiModule QtGuiModule;
45240
45241struct QBrushData;
45242class QPixmap;
45243class QGradient;
45244class QVariant;
45245
45246class __attribute__((visibility("default"))) QBrush
45247{
45248public:
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
45299private:
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
45313public:
45314 inline bool isDetached() const;
45315 typedef QBrushData * DataPtr;
45316 inline DataPtr &data_ptr() { return d; }
45317};
45318
45319inline void QBrush::setColor(Qt::GlobalColor acolor)
45320{ setColor(QColor(acolor)); }
45321
45322template <> 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"; } };
45323template <> 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
45338struct QBrushData
45339{
45340 QAtomicInt ref;
45341 Qt::BrushStyle style;
45342 QColor color;
45343 QTransform transform;
45344};
45345
45346inline Qt::BrushStyle QBrush::style() const { return d->style; }
45347inline const QColor &QBrush::color() const { return d->color; }
45348inline const QMatrix &QBrush::matrix() const { return d->transform.toAffine(); }
45349inline QTransform QBrush::transform() const { return d->transform; }
45350inline 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"
45352class QGradientPrivate;
45353
45354typedef QPair<qreal, QColor> QGradientStop;
45355typedef QVector<QGradientStop> QGradientStops;
45356
45357class __attribute__((visibility("default"))) QGradient
45358{
45359 public: static const QMetaObject staticMetaObject; private:
45360
45361public:
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
45410private:
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
45432inline void QGradient::setSpread(Spread aspread)
45433{ m_spread = aspread; }
45434
45435class __attribute__((visibility("default"))) QLinearGradient : public QGradient
45436{
45437public:
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
45452class __attribute__((visibility("default"))) QRadialGradient : public QGradient
45453{
45454public:
45455 QRadialGradient();
45456 QRadialGradient(const QPointF &center, qreal radius, const QPointF &focalPoint);
45457 QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy);
45458
45459 QRadialGradient(const QPointF &center, qreal radius);
45460 QRadialGradient(qreal cx, qreal cy, qreal radius);
45461
45462 QPointF center() const;
45463 void setCenter(const QPointF &center);
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
45475class __attribute__((visibility("default"))) QConicalGradient : public QGradient
45476{
45477public:
45478 QConicalGradient();
45479 QConicalGradient(const QPointF &center, qreal startAngle);
45480 QConicalGradient(qreal cx, qreal cy, qreal startAngle);
45481
45482 QPointF center() const;
45483 void setCenter(const QPointF &center);
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
45500typedef QtValidLicenseForGuiModule QtGuiModule;
45501
45502class QVariant;
45503class QPenPrivate;
45504class QBrush;
45505class QPen;
45506
45507
45508__attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPen &);
45509__attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPen &);
45510
45511
45512class __attribute__((visibility("default"))) QPen
45513{
45514public:
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();
45566private:
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
45573public:
45574 typedef QPenPrivate * DataPtr;
45575 inline DataPtr &data_ptr() { return d; }
45576};
45577template <> 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"; } };
45578template <> 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
45608typedef QtValidLicenseForGuiModule QtGuiModule;
45609
45610template <typename T> class QList;
45611struct QTextOptionPrivate;
45612
45613class __attribute__((visibility("default"))) QTextOption
45614{
45615public:
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
45687private:
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
45698inline 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
45700inline void QTextOption::setAlignment(Qt::Alignment aalignment)
45701{ align = aalignment; }
45702
45703inline void QTextOption::setFlags(Flags aflags)
45704{ f = aflags; }
45705
45706inline 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
45721typedef QtValidLicenseForGuiModule QtGuiModule;
45722
45723class QString;
45724class QVariant;
45725class QFont;
45726
45727class QTextFormatCollection;
45728class QTextFormatPrivate;
45729class QTextBlockFormat;
45730class QTextCharFormat;
45731class QTextListFormat;
45732class QTextTableFormat;
45733class QTextFrameFormat;
45734class QTextImageFormat;
45735class QTextTableCellFormat;
45736class QTextFormat;
45737class QTextObject;
45738class QTextCursor;
45739class QTextDocument;
45740class QTextLength;
45741
45742__attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextLength &);
45743__attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextLength &);
45744
45745class __attribute__((visibility("default"))) QTextLength
45746{
45747public:
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
45775private:
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
45782inline 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
45788class __attribute__((visibility("default"))) QTextFormat
45789{
45790 public: static const QMetaObject staticMetaObject; private:
45791
45792public:
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
46005private:
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
46015inline void QTextFormat::setObjectType(int atype)
46016{ setProperty(ObjectType, atype); }
46017
46018inline 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
46020class __attribute__((visibility("default"))) QTextCharFormat : public QTextFormat
46021{
46022public:
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
46161protected:
46162 explicit QTextCharFormat(const QTextFormat &fmt);
46163 friend class QTextFormat;
46164};
46165
46166inline void QTextCharFormat::setTableCellRowSpan(int _tableCellRowSpan)
46167{
46168 if (_tableCellRowSpan <= 1)
46169 clearProperty(TableCellRowSpan);
46170 else
46171 setProperty(TableCellRowSpan, _tableCellRowSpan);
46172}
46173
46174inline void QTextCharFormat::setTableCellColumnSpan(int _tableCellColumnSpan)
46175{
46176 if (_tableCellColumnSpan <= 1)
46177 clearProperty(TableCellColumnSpan);
46178 else
46179 setProperty(TableCellColumnSpan, _tableCellColumnSpan);
46180}
46181
46182class __attribute__((visibility("default"))) QTextBlockFormat : public QTextFormat
46183{
46184public:
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
46235protected:
46236 explicit QTextBlockFormat(const QTextFormat &fmt);
46237 friend class QTextFormat;
46238};
46239
46240inline void QTextBlockFormat::setAlignment(Qt::Alignment aalignment)
46241{ setProperty(BlockAlignment, int(aalignment)); }
46242
46243inline void QTextBlockFormat::setIndent(int aindent)
46244{ setProperty(BlockIndent, aindent); }
46245
46246class __attribute__((visibility("default"))) QTextListFormat : public QTextFormat
46247{
46248public:
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
46271protected:
46272 explicit QTextListFormat(const QTextFormat &fmt);
46273 friend class QTextFormat;
46274};
46275
46276inline void QTextListFormat::setStyle(Style astyle)
46277{ setProperty(ListStyle, astyle); }
46278
46279inline void QTextListFormat::setIndent(int aindent)
46280{ setProperty(ListIndent, aindent); }
46281
46282class __attribute__((visibility("default"))) QTextImageFormat : public QTextCharFormat
46283{
46284public:
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
46301protected:
46302 explicit QTextImageFormat(const QTextFormat &format);
46303 friend class QTextFormat;
46304};
46305
46306inline void QTextImageFormat::setName(const QString &aname)
46307{ setProperty(ImageName, aname); }
46308
46309inline void QTextImageFormat::setWidth(qreal awidth)
46310{ setProperty(ImageWidth, awidth); }
46311
46312inline void QTextImageFormat::setHeight(qreal aheight)
46313{ setProperty(ImageHeight, aheight); }
46314
46315class __attribute__((visibility("default"))) QTextFrameFormat : public QTextFormat
46316{
46317public:
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
46399protected:
46400 explicit QTextFrameFormat(const QTextFormat &fmt);
46401 friend class QTextFormat;
46402};
46403
46404inline void QTextFrameFormat::setBorder(qreal aborder)
46405{ setProperty(FrameBorder, aborder); }
46406
46407inline void QTextFrameFormat::setPadding(qreal apadding)
46408{ setProperty(FramePadding, apadding); }
46409
46410inline void QTextFrameFormat::setWidth(qreal awidth)
46411{ setProperty(FrameWidth, QTextLength(QTextLength::FixedLength, awidth)); }
46412
46413inline void QTextFrameFormat::setHeight(qreal aheight)
46414{ setProperty(FrameHeight, QTextLength(QTextLength::FixedLength, aheight)); }
46415inline void QTextFrameFormat::setHeight(const QTextLength &aheight)
46416{ setProperty(FrameHeight, aheight); }
46417
46418inline void QTextFrameFormat::setTopMargin(qreal amargin)
46419{ setProperty(FrameTopMargin, amargin); }
46420
46421inline void QTextFrameFormat::setBottomMargin(qreal amargin)
46422{ setProperty(FrameBottomMargin, amargin); }
46423
46424inline void QTextFrameFormat::setLeftMargin(qreal amargin)
46425{ setProperty(FrameLeftMargin, amargin); }
46426
46427inline void QTextFrameFormat::setRightMargin(qreal amargin)
46428{ setProperty(FrameRightMargin, amargin); }
46429
46430class __attribute__((visibility("default"))) QTextTableFormat : public QTextFrameFormat
46431{
46432public:
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
46468protected:
46469 explicit QTextTableFormat(const QTextFormat &fmt);
46470 friend class QTextFormat;
46471};
46472
46473inline void QTextTableFormat::setColumns(int acolumns)
46474{
46475 if (acolumns == 1)
46476 acolumns = 0;
46477 setProperty(TableColumns, acolumns);
46478}
46479
46480inline void QTextTableFormat::setCellPadding(qreal apadding)
46481{ setProperty(TableCellPadding, apadding); }
46482
46483inline void QTextTableFormat::setAlignment(Qt::Alignment aalignment)
46484{ setProperty(BlockAlignment, int(aalignment)); }
46485
46486class __attribute__((visibility("default"))) QTextTableCellFormat : public QTextCharFormat
46487{
46488public:
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
46507protected:
46508 explicit QTextTableCellFormat(const QTextFormat &fmt);
46509 friend class QTextFormat;
46510};
46511
46512inline void QTextTableCellFormat::setTopPadding(qreal padding)
46513{
46514 setProperty(TableCellTopPadding, padding);
46515}
46516
46517inline qreal QTextTableCellFormat::topPadding() const
46518{
46519 return doubleProperty(TableCellTopPadding);
46520}
46521
46522inline void QTextTableCellFormat::setBottomPadding(qreal padding)
46523{
46524 setProperty(TableCellBottomPadding, padding);
46525}
46526
46527inline qreal QTextTableCellFormat::bottomPadding() const
46528{
46529 return doubleProperty(TableCellBottomPadding);
46530}
46531
46532inline void QTextTableCellFormat::setLeftPadding(qreal padding)
46533{
46534 setProperty(TableCellLeftPadding, padding);
46535}
46536
46537inline qreal QTextTableCellFormat::leftPadding() const
46538{
46539 return doubleProperty(TableCellLeftPadding);
46540}
46541
46542inline void QTextTableCellFormat::setRightPadding(qreal padding)
46543{
46544 setProperty(TableCellRightPadding, padding);
46545}
46546
46547inline qreal QTextTableCellFormat::rightPadding() const
46548{
46549 return doubleProperty(TableCellRightPadding);
46550}
46551
46552inline 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
46571typedef QtValidLicenseForGuiModule QtGuiModule;
46572
46573class QTextEngine;
46574class QFont;
46575class QRect;
46576class QRegion;
46577class QTextFormat;
46578class QPalette;
46579class QPainter;
46580
46581class __attribute__((visibility("default"))) QTextInlineObject
46582{
46583public:
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
46605private:
46606 friend class QTextLayout;
46607 int itm;
46608 QTextEngine *eng;
46609};
46610
46611class QPaintDevice;
46612class QTextFormat;
46613class QTextLine;
46614class QTextBlock;
46615class QTextOption;
46616
46617class __attribute__((visibility("default"))) QTextLayout
46618{
46619public:
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);
46685private:
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
46700class __attribute__((visibility("default"))) QTextLine
46701{
46702public:
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
46745private:
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
46772class __attribute__((visibility("default"))) QTextFormatCollection
46773{
46774public:
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
46815private:
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
46843namespace 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
47033typedef QtValidLicenseForGuiModule QtGuiModule;
47034
47035class QStringList;
47036template <class T> class QList;
47037struct QFontDef;
47038class QFontEngine;
47039
47040class QFontDatabasePrivate;
47041
47042class __attribute__((visibility("default"))) QFontDatabase
47043{
47044 public: static const QMetaObject staticMetaObject; private:
47045
47046public:
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
47127private:
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
47167struct QFixed {
47168public:
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
47248private:
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};
47261template <> 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
47265inline int qRound(const QFixed &f) { return f.toInt(); }
47266inline int qFloor(const QFixed &f) { return f.floor().truncate(); }
47267
47268inline QFixed operator*(int i, const QFixed &d) { return d*i; }
47269inline QFixed operator+(int i, const QFixed &d) { return d+i; }
47270inline QFixed operator-(int i, const QFixed &d) { return -(d-i); }
47271inline QFixed operator*(uint i, const QFixed &d) { return d*i; }
47272inline QFixed operator+(uint i, const QFixed &d) { return d+i; }
47273inline QFixed operator-(uint i, const QFixed &d) { return -(d-i); }
47274
47275
47276inline bool operator==(const QFixed &f, int i) { return f.value() == (i<<6); }
47277inline bool operator==(int i, const QFixed &f) { return f.value() == (i<<6); }
47278inline bool operator!=(const QFixed &f, int i) { return f.value() != (i<<6); }
47279inline bool operator!=(int i, const QFixed &f) { return f.value() != (i<<6); }
47280inline bool operator<=(const QFixed &f, int i) { return f.value() <= (i<<6); }
47281inline bool operator<=(int i, const QFixed &f) { return (i<<6) <= f.value(); }
47282inline bool operator>=(const QFixed &f, int i) { return f.value() >= (i<<6); }
47283inline bool operator>=(int i, const QFixed &f) { return (i<<6) >= f.value(); }
47284inline bool operator<(const QFixed &f, int i) { return f.value() < (i<<6); }
47285inline bool operator<(int i, const QFixed &f) { return (i<<6) < f.value(); }
47286inline bool operator>(const QFixed &f, int i) { return f.value() > (i<<6); }
47287inline bool operator>(int i, const QFixed &f) { return (i<<6) > f.value(); }
47288
47289inline QDebug &operator<<(QDebug &dbg, const QFixed &f)
47290{ return dbg << f.toReal(); }
47291
47292struct 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};
47302template <> 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
47304inline QFixedPoint operator-(const QFixedPoint &p1, const QFixedPoint &p2)
47305{ return QFixedPoint(p1.x - p2.x, p1.y - p2.y); }
47306inline QFixedPoint operator+(const QFixedPoint &p1, const QFixedPoint &p2)
47307{ return QFixedPoint(p1.x + p2.x, p1.y + p2.y); }
47308
47309struct 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};
47320template <> 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
47329class QFontCache;
47330class QFontEngine;
47331
47332struct 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
47402class QFontEngineData
47403{
47404public:
47405 QFontEngineData();
47406 ~QFontEngineData();
47407
47408 QAtomicInt ref;
47409 QFontCache *fontCache;
47410
47411
47412 QFontEngine *engines[QUnicodeTables::ScriptCount];
47413
47414
47415
47416};
47417
47418
47419class __attribute__((visibility("default"))) QFontPrivate
47420{
47421public:
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);
47459private:
47460 QFontPrivate &operator=(const QFontPrivate &) { return *this; }
47461};
47462
47463
47464class 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:
47467public:
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
47584typedef QtValidLicenseForGuiModule QtGuiModule;
47585
47586class QPainter;
47587
47588class QColorGroup;
47589
47590class QPalette;
47591class QPoint;
47592class QColor;
47593class QBrush;
47594class QRect;
47595class 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
47678typedef QtValidLicenseForGuiModule QtGuiModule;
47679
47680class __attribute__((visibility("default"))) QFontInfo
47681{
47682public:
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
47706private:
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
47731typedef QtValidLicenseForGuiModule QtGuiModule;
47732
47733
47734class QFontEngine;
47735
47736
47737class QTextCodec;
47738class QRect;
47739
47740
47741class __attribute__((visibility("default"))) QFontMetrics
47742{
47743public:
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"
47795private:
47796
47797
47798
47799 friend class QFontMetricsF;
47800 friend class QStackTextEngine;
47801
47802 QFontPrivate *d;
47803};
47804
47805
47806class __attribute__((visibility("default"))) QFontMetricsF
47807{
47808public:
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
47857private:
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
47872typedef QtValidLicenseForGuiModule QtGuiModule;
47873
47874class QBrush;
47875class QFontInfo;
47876class QFontMetrics;
47877class QPaintDevice;
47878class QPainterPath;
47879class QPainterPrivate;
47880class QPen;
47881class QPolygon;
47882class QTextItem;
47883class QMatrix;
47884class QTransform;
47885
47886class __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
47892public:
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 &center, qreal rx, qreal ry);
48093 inline void drawEllipse(const QPoint &center, 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"
48228private:
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
48252inline 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
48257inline void QPainter::drawLine(const QLineF &l)
48258{
48259 drawLines(&l, 1);
48260}
48261
48262inline void QPainter::drawLine(const QLine &line)
48263{
48264 drawLines(&line, 1);
48265}
48266
48267inline 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
48273inline void QPainter::drawLine(const QPoint &p1, const QPoint &p2)
48274{
48275 QLine l(p1, p2);
48276 drawLines(&l, 1);
48277}
48278
48279inline void QPainter::drawLine(const QPointF &p1, const QPointF &p2)
48280{
48281 drawLine(QLineF(p1, p2));
48282}
48283
48284inline void QPainter::drawLines(const QVector<QLineF> &lines)
48285{
48286 drawLines(lines.constData(), lines.size());
48287}
48288
48289inline void QPainter::drawLines(const QVector<QLine> &lines)
48290{
48291 drawLines(lines.constData(), lines.size());
48292}
48293
48294inline void QPainter::drawLines(const QVector<QPointF> &pointPairs)
48295{
48296 drawLines(pointPairs.constData(), pointPairs.size() / 2);
48297}
48298
48299inline void QPainter::drawLines(const QVector<QPoint> &pointPairs)
48300{
48301 drawLines(pointPairs.constData(), pointPairs.size() / 2);
48302}
48303
48304inline void QPainter::drawPolyline(const QPolygonF &polyline)
48305{
48306 drawPolyline(polyline.constData(), polyline.size());
48307}
48308
48309inline void QPainter::drawPolyline(const QPolygon &polyline)
48310{
48311 drawPolyline(polyline.constData(), polyline.size());
48312}
48313
48314inline void QPainter::drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule)
48315{
48316 drawPolygon(polygon.constData(), polygon.size(), fillRule);
48317}
48318
48319inline void QPainter::drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule)
48320{
48321 drawPolygon(polygon.constData(), polygon.size(), fillRule);
48322}
48323
48324inline void QPainter::drawConvexPolygon(const QPolygonF &poly)
48325{
48326 drawConvexPolygon(poly.constData(), poly.size());
48327}
48328
48329inline void QPainter::drawConvexPolygon(const QPolygon &poly)
48330{
48331 drawConvexPolygon(poly.constData(), poly.size());
48332}
48333
48334inline void QPainter::drawRect(const QRectF &rect)
48335{
48336 drawRects(&rect, 1);
48337}
48338
48339inline 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
48345inline void QPainter::drawRect(const QRect &r)
48346{
48347 drawRects(&r, 1);
48348}
48349
48350inline void QPainter::drawRects(const QVector<QRectF> &rects)
48351{
48352 drawRects(rects.constData(), rects.size());
48353}
48354
48355inline void QPainter::drawRects(const QVector<QRect> &rects)
48356{
48357 drawRects(rects.constData(), rects.size());
48358}
48359
48360inline void QPainter::drawPoint(const QPointF &p)
48361{
48362 drawPoints(&p, 1);
48363}
48364
48365inline void QPainter::drawPoint(int x, int y)
48366{
48367 QPoint p(x, y);
48368 drawPoints(&p, 1);
48369}
48370
48371inline void QPainter::drawPoint(const QPoint &p)
48372{
48373 drawPoints(&p, 1);
48374}
48375
48376inline void QPainter::drawPoints(const QPolygonF &points)
48377{
48378 drawPoints(points.constData(), points.size());
48379}
48380
48381inline void QPainter::drawPoints(const QPolygon &points)
48382{
48383 drawPoints(points.constData(), points.size());
48384}
48385
48386inline 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
48391inline void QPainter::drawRoundRect(const QRect &rect, int xRnd, int yRnd)
48392{
48393 drawRoundRect(QRectF(rect), xRnd, yRnd);
48394}
48395
48396inline 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
48402inline void QPainter::drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius,
48403 Qt::SizeMode mode)
48404{
48405 drawRoundedRect(QRectF(rect), xRadius, yRadius, mode);
48406}
48407
48408inline void QPainter::drawEllipse(int x, int y, int w, int h)
48409{
48410 drawEllipse(QRect(x, y, w, h));
48411}
48412
48413inline void QPainter::drawEllipse(const QPointF &center, qreal rx, qreal ry)
48414{
48415 drawEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry));
48416}
48417
48418inline void QPainter::drawEllipse(const QPoint &center, int rx, int ry)
48419{
48420 drawEllipse(QRect(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry));
48421}
48422
48423inline void QPainter::drawArc(const QRect &r, int a, int alen)
48424{
48425 drawArc(QRectF(r), a, alen);
48426}
48427
48428inline 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
48433inline void QPainter::drawPie(const QRect &rect, int a, int alen)
48434{
48435 drawPie(QRectF(rect), a, alen);
48436}
48437
48438inline 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
48443inline void QPainter::drawChord(const QRect &rect, int a, int alen)
48444{
48445 drawChord(QRectF(rect), a, alen);
48446}
48447
48448inline 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
48453inline 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
48458inline void QPainter::eraseRect(const QRect &rect)
48459{
48460 eraseRect(QRectF(rect));
48461}
48462
48463inline void QPainter::eraseRect(int x, int y, int w, int h)
48464{
48465 eraseRect(QRectF(x, y, w, h));
48466}
48467
48468inline 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
48473inline 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
48478inline 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
48483inline void QPainter::fillRect(const QRect &r, Qt::GlobalColor c)
48484{
48485 fillRect(r, QColor(c));
48486}
48487
48488inline void QPainter::fillRect(const QRectF &r, Qt::GlobalColor c)
48489{
48490 fillRect(r, QColor(c));
48491}
48492
48493inline 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
48498inline void QPainter::fillRect(const QRect &r, Qt::BrushStyle style)
48499{
48500 fillRect(QRectF(r), QBrush(style));
48501}
48502
48503inline void QPainter::fillRect(const QRectF &r, Qt::BrushStyle style)
48504{
48505 fillRect(r, QBrush(style));
48506}
48507
48508
48509inline void QPainter::setBrushOrigin(int x, int y)
48510{
48511 setBrushOrigin(QPoint(x, y));
48512}
48513
48514inline void QPainter::setBrushOrigin(const QPoint &p)
48515{
48516 setBrushOrigin(QPointF(p));
48517}
48518
48519inline void QPainter::drawTiledPixmap(const QRect &rect, const QPixmap &pm, const QPoint &offset)
48520{
48521 drawTiledPixmap(QRectF(rect), pm, QPointF(offset));
48522}
48523
48524inline 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
48529inline void QPainter::drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect)
48530{
48531 drawPixmap(QRectF(targetRect), pixmap, QRectF(sourceRect));
48532}
48533
48534inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm)
48535{
48536 drawPixmap(QPointF(p), pm);
48537}
48538
48539inline void QPainter::drawPixmap(const QRect &r, const QPixmap &pm)
48540{
48541 drawPixmap(QRectF(r), pm, QRectF());
48542}
48543
48544inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm)
48545{
48546 drawPixmap(QPointF(x, y), pm);
48547}
48548
48549inline 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
48554inline 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
48560inline 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
48566inline 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
48571inline 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
48576inline void QPainter::drawTextItem(int x, int y, const QTextItem &ti)
48577{
48578 drawTextItem(QPointF(x, y), ti);
48579}
48580
48581inline 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
48587inline 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
48593inline 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
48600inline void QPainter::drawImage(const QRectF &r, const QImage &image)
48601{
48602 drawImage(r, image, QRect(0, 0, image.width(), image.height()));
48603}
48604
48605inline void QPainter::drawImage(const QRect &r, const QImage &image)
48606{
48607 drawImage(r, image, QRectF(0, 0, image.width(), image.height()));
48608}
48609
48610inline void QPainter::drawImage(const QPoint &p, const QImage &image)
48611{
48612 drawImage(QPointF(p), image);
48613}
48614
48615inline 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
48624inline void QPainter::drawTextItem(const QPoint &p, const QTextItem &ti)
48625{
48626 drawTextItem(QPointF(p), ti);
48627}
48628
48629inline void QPainter::drawText(const QPoint &p, const QString &s)
48630{
48631 drawText(QPointF(p), s);
48632}
48633
48634inline 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
48639inline void QPainter::drawText(int x, int y, const QString &s)
48640{
48641 drawText(QPointF(x, y), s);
48642}
48643
48644inline 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
48649inline void QPainter::translate(qreal dx, qreal dy)
48650{
48651 translate(QPointF(dx, dy));
48652}
48653
48654inline void QPainter::translate(const QPoint &offset)
48655{
48656 translate(offset.x(), offset.y());
48657}
48658
48659inline void QPainter::setViewport(int x, int y, int w, int h)
48660{
48661 setViewport(QRect(x, y, w, h));
48662}
48663
48664inline void QPainter::setWindow(int x, int y, int w, int h)
48665{
48666 setWindow(QRect(x, y, w, h));
48667}
48668
48669
48670inline void QPainter::drawPicture(int x, int y, const QPicture &p)
48671{
48672 drawPicture(QPoint(x, y), p);
48673}
48674
48675inline 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
48691typedef QtValidLicenseForGuiModule QtGuiModule;
48692
48693class QFontEngine;
48694class QLineF;
48695class QPaintDevice;
48696class QPaintEnginePrivate;
48697class QPainterPath;
48698class QPointF;
48699class QPolygonF;
48700class QRectF;
48701struct QGlyphLayout;
48702class QTextItemInt;
48703class QPaintEngineState;
48704
48705class __attribute__((visibility("default"))) QTextItem {
48706public:
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};
48724template <> 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
48727class __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;
48730public:
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
48870protected:
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
48882private:
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
48918class __attribute__((visibility("default"))) QPaintEngineState
48919{
48920public:
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
48946protected:
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
48961inline 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
48973inline bool QPaintEngine::testDirty(DirtyFlags df) {
48974 qt_noop();
48975 return ((state->dirtyFlags & df) != 0);
48976}
48977
48978inline void QPaintEngine::setDirty(DirtyFlags df) {
48979 qt_noop();
48980 state->dirtyFlags |= df;
48981}
48982
48983inline void QPaintEngine::clearDirty(DirtyFlags df)
48984{
48985 qt_noop();
48986 state->dirtyFlags &= ~static_cast<uint>(df);
48987}
48988
48989inline 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); }
48990inline 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); }
48991inline 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
49012typedef QtValidLicenseForGuiModule QtGuiModule;
49013
49014class QTextObjectPrivate;
49015class QTextDocument;
49016class QTextDocumentPrivate;
49017class QTextCursor;
49018class QTextBlock;
49019class QTextFragment;
49020class QTextLayout;
49021class QTextList;
49022
49023class __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
49027protected:
49028 explicit QTextObject(QTextDocument *doc);
49029 ~QTextObject();
49030
49031 void setFormat(const QTextFormat &format);
49032
49033public:
49034 QTextFormat format() const;
49035 int formatIndex() const;
49036
49037 QTextDocument *document() const;
49038
49039 int objectIndex() const;
49040
49041 QTextDocumentPrivate *docHandle() const;
49042
49043protected:
49044 QTextObject(QTextObjectPrivate &p, QTextDocument *doc);
49045
49046private:
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
49052class QTextBlockGroupPrivate;
49053class __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
49057protected:
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
49067protected:
49068 QTextBlockGroup(QTextBlockGroupPrivate &p, QTextDocument *doc);
49069private:
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
49075class __attribute__((visibility("default"))) QTextFrameLayoutData {
49076public:
49077 virtual ~QTextFrameLayoutData();
49078};
49079
49080class QTextFramePrivate;
49081class __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
49085public:
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
49141protected:
49142 QTextFrame(QTextFramePrivate &p, QTextDocument *doc);
49143private:
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};
49148template <> 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
49150inline void QTextFrame::setFrameFormat(const QTextFrameFormat &aformat)
49151{ QTextObject::setFormat(aformat); }
49152
49153class __attribute__((visibility("default"))) QTextBlockUserData {
49154public:
49155 virtual ~QTextBlockUserData();
49156};
49157
49158class __attribute__((visibility("default"))) QTextBlock
49159{
49160 friend class QSyntaxHighlighter;
49161public:
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
49243private:
49244 QTextDocumentPrivate *p;
49245 int n;
49246 friend class QTextDocumentPrivate;
49247 friend class QTextLayout;
49248};
49249
49250template <> 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"; } };
49251template <> 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
49254class __attribute__((visibility("default"))) QTextFragment
49255{
49256public:
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
49276private:
49277 const QTextDocumentPrivate *p;
49278 int n;
49279 int ne;
49280};
49281
49282template <> 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
49328typedef QtValidLicenseForCoreModule QtCoreModule;
49329
49330template <class T>
49331class QPointer
49332{
49333 QObject *o;
49334public:
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
49363template <class T>
49364inline bool operator==(const T *o, const QPointer<T> &p)
49365{ return o == p.operator->(); }
49366
49367template<class T>
49368inline 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"
49371template <class T>
49372inline bool operator==(T *o, const QPointer<T> &p)
49373{ return o == p.operator->(); }
49374
49375template<class T>
49376inline bool operator==(const QPointer<T> &p, T *o)
49377{ return p.operator->() == o; }
49378
49379template<class T>
49380inline bool operator==(const QPointer<T> &p1, const QPointer<T> &p2)
49381{ return p1.operator->() == p2.operator->(); }
49382
49383
49384
49385
49386template <class T>
49387inline bool operator!=(const T *o, const QPointer<T> &p)
49388{ return o != p.operator->(); }
49389
49390template<class T>
49391inline 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"
49394template <class T>
49395inline bool operator!=(T *o, const QPointer<T> &p)
49396{ return o != p.operator->(); }
49397
49398template<class T>
49399inline bool operator!= (const QPointer<T> &p, T *o)
49400{ return p.operator->() != o; }
49401
49402template<class T>
49403inline 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
49895typedef QtValidLicenseForCoreModule QtCoreModule;
49896
49897
49898
49899struct QReadWriteLockPrivate;
49900
49901class __attribute__((visibility("default"))) QReadWriteLock
49902{
49903public:
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
49920private:
49921 QReadWriteLock(const QReadWriteLock &); QReadWriteLock &operator=(const QReadWriteLock &);
49922 QReadWriteLockPrivate *d;
49923
49924 friend class QWaitCondition;
49925};
49926
49927
49928
49929
49930
49931
49932class __attribute__((visibility("default"))) QReadLocker
49933{
49934public:
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
49963private:
49964 QReadLocker(const QReadLocker &); QReadLocker &operator=(const QReadLocker &);
49965 union {
49966 QReadWriteLock *q_lock;
49967 quintptr q_val;
49968 };
49969};
49970
49971inline QReadLocker::QReadLocker(QReadWriteLock *areadWriteLock)
49972 : q_lock(areadWriteLock)
49973{
49974 qt_noop();
49975
49976 relock();
49977}
49978
49979class __attribute__((visibility("default"))) QWriteLocker
49980{
49981public:
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
50011private:
50012 QWriteLocker(const QWriteLocker &); QWriteLocker &operator=(const QWriteLocker &);
50013 union{
50014 QReadWriteLock *q_lock;
50015 quintptr q_val;
50016 };
50017};
50018
50019inline 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
50037class QVariant;
50038class QThreadData;
50039class QObjectConnectionListVector;
50040
50041
50042struct 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};
50051void __attribute__((visibility("default"))) qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet &callback_set);
50052
50053extern QSignalSpyCallbackSet __attribute__((visibility("default"))) qt_signal_spy_callback_set;
50054
50055inline QObjectData::~QObjectData() {}
50056
50057enum { QObjectPrivateVersion = 0x040501 };
50058
50059class __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
50063public:
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
50154template <> 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"; } };
50155template <> 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
50157class QSemaphore;
50158class __attribute__((visibility("default"))) QMetaCallEvent : public QEvent
50159{
50160public:
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
50172private:
50173 int id_;
50174 const QObject *sender_;
50175 int signalId_;
50176 int nargs_;
50177 int *types_;
50178 void **args_;
50179 QSemaphore *semaphore_;
50180};
50181
50182class __attribute__((visibility("default"))) QBoolBlocker
50183{
50184public:
50185 inline QBoolBlocker(bool &b, bool value=true):block(b), reset(b){block = value;}
50186 inline ~QBoolBlocker(){block = reset; }
50187private:
50188 bool &block;
50189 bool reset;
50190};
50191
50192void __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
50216int __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
50225template <int N = 1>
50226class QFragment
50227{
50228public:
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
50238template <class Fragment>
50239class QFragmentMapData
50240{
50241 enum Color { Red, Black };
50242public:
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
50365private:
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
50377template <class Fragment>
50378QFragmentMapData<Fragment>::QFragmentMapData()
50379{
50380 init();
50381}
50382
50383template <class Fragment>
50384void 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
50396template <class Fragment>
50397QFragmentMapData<Fragment>::~QFragmentMapData()
50398{
50399 free(head);
50400}
50401
50402template <class Fragment>
50403uint 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
50431template <class Fragment>
50432void QFragmentMapData<Fragment>::freeFragment(uint i)
50433{
50434 F(i).right = head->freelist;
50435 head->freelist = i;
50436
50437 --head->node_count;
50438}
50439
50440
50441template <class Fragment>
50442uint 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
50459template <class Fragment>
50460uint 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"
50479template <class Fragment>
50480void 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"
50508template <class Fragment>
50509void 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
50537template <class Fragment>
50538void 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
50592template <class Fragment>
50593uint 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
50759template <class Fragment>
50760uint 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
50779template <class Fragment>
50780uint 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
50837template <class Fragment>
50838int 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
50844template <class Fragment>
50845class QFragmentMap
50846{
50847public:
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
50996private:
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
51033typedef QtValidLicenseForGuiModule QtGuiModule;
51034
51035class QTextFormatCollection;
51036class QTextListFormat;
51037class QRect;
51038class QPainter;
51039class QPrinter;
51040class QAbstractTextDocumentLayout;
51041class QPoint;
51042class QTextCursor;
51043class QTextObject;
51044class QTextFormat;
51045class QTextFrame;
51046class QTextBlock;
51047class QTextCodec;
51048class QUrl;
51049class QVariant;
51050class QRectF;
51051class QTextOption;
51052
51053template<typename T> class QVector;
51054
51055namespace 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
51074class __attribute__((visibility("default"))) QAbstractUndoItem
51075{
51076public:
51077 virtual ~QAbstractUndoItem() = 0;
51078 virtual void undo() = 0;
51079 virtual void redo() = 0;
51080};
51081
51082inline QAbstractUndoItem::~QAbstractUndoItem()
51083{
51084}
51085
51086class QTextDocumentPrivate;
51087
51088class __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
51108public:
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
51241protected:
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
51253public :
51254 void undo();
51255 void redo();
51256 void appendUndoItem(QAbstractUndoItem *);
51257 void setModified(bool m = true);
51258
51259protected:
51260 virtual QTextObject *createObject(const QTextFormat &f);
51261 virtual QVariant loadResource(int type, const QUrl &name);
51262
51263 QTextDocument(QTextDocumentPrivate &dd, QObject *parent);
51264public:
51265 QTextDocumentPrivate *docHandle() const;
51266private:
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
51272inline 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
51303typedef QtValidLicenseForCoreModule QtCoreModule;
51304
51305class QUrlPrivate;
51306class QDataStream;
51307
51308class __attribute__((visibility("default"))) QUrl
51309{
51310public:
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 &copy);
51337 QUrl &operator =(const QUrl &copy);
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
51456protected:
51457
51458
51459
51460
51461private:
51462 QUrlPrivate *d;
51463public:
51464 typedef QUrlPrivate * DataPtr;
51465 inline DataPtr &data_ptr() { return d; }
51466};
51467
51468template <> 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"; } };
51469template <> 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; }
51470inline 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
51536typedef QtValidLicenseForGuiModule QtGuiModule;
51537
51538
51539
51540
51541class QPalettePrivate;
51542class QVariant;
51543
51544class __attribute__((visibility("default"))) QPalette
51545{
51546 public: static const QMetaObject staticMetaObject; private:
51547
51548public:
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
51631private:
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
51663inline void QPalette::setColor(ColorGroup acg, ColorRole acr,
51664 const QColor &acolor)
51665{ setBrush(acg, acr, QBrush(acolor)); }
51666inline void QPalette::setColor(ColorRole acr, const QColor &acolor)
51667{ setColor(All, acr, acolor); }
51668inline 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
51700typedef QtValidLicenseForGuiModule QtGuiModule;
51701
51702class QIconPrivate;
51703class QIconEngine;
51704class QIconEngineV2;
51705
51706class __attribute__((visibility("default"))) QIcon
51707{
51708public:
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
51748private:
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
51755public:
51756 typedef QIconPrivate * DataPtr;
51757 inline DataPtr &data_ptr() { return d; }
51758};
51759
51760template <> 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; }
51761template <> 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
51788namespace QCss
51789{
51790
51791enum 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
51895enum 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
51976enum 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
51993enum Edge {
51994 TopEdge,
51995 RightEdge,
51996 BottomEdge,
51997 LeftEdge,
51998 NumEdges
51999};
52000
52001enum Corner {
52002 TopLeftCorner,
52003 TopRightCorner,
52004 BottomLeftCorner,
52005 BottomRightCorner
52006};
52007
52008enum TileMode {
52009 TileMode_Unknown,
52010 TileMode_Round,
52011 TileMode_Stretch,
52012 TileMode_Repeat,
52013 NumKnownTileModes
52014};
52015
52016enum Repeat {
52017 Repeat_Unknown,
52018 Repeat_None,
52019 Repeat_X,
52020 Repeat_Y,
52021 Repeat_XY,
52022 NumKnownRepeats
52023};
52024
52025enum Origin {
52026 Origin_Unknown,
52027 Origin_Padding,
52028 Origin_Border,
52029 Origin_Content,
52030 Origin_Margin,
52031 NumKnownOrigins
52032};
52033
52034enum PositionMode {
52035 PositionMode_Unknown,
52036 PositionMode_Static,
52037 PositionMode_Relative,
52038 PositionMode_Absolute,
52039 PositionMode_Fixed,
52040 NumKnownPositionModes
52041};
52042
52043enum Attachment {
52044 Attachment_Unknown,
52045 Attachment_Fixed,
52046 Attachment_Scroll,
52047 NumKnownAttachments
52048};
52049
52050enum StyleFeature {
52051 StyleFeature_None = 0,
52052 StyleFeature_BackgroundColor = 1,
52053 StyleFeature_BackgroundGradient = 2,
52054 NumKnownStyleFeatures = 4
52055};
52056
52057struct __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
52079struct 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
52088struct 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
52097struct BackgroundData {
52098 BrushData brush;
52099 QString image;
52100 Repeat repeat;
52101 Qt::Alignment alignment;
52102};
52103
52104struct LengthData {
52105 qreal number;
52106 enum { None, Px, Ex, Em } unit;
52107};
52108
52109struct 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"
52115struct __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
52157const quint64 PseudoClass_Unknown = static_cast<unsigned long long>(0x0000000000000000ULL);
52158const quint64 PseudoClass_Enabled = static_cast<unsigned long long>(0x0000000000000001ULL);
52159const quint64 PseudoClass_Disabled = static_cast<unsigned long long>(0x0000000000000002ULL);
52160const quint64 PseudoClass_Pressed = static_cast<unsigned long long>(0x0000000000000004ULL);
52161const quint64 PseudoClass_Focus = static_cast<unsigned long long>(0x0000000000000008ULL);
52162const quint64 PseudoClass_Hover = static_cast<unsigned long long>(0x0000000000000010ULL);
52163const quint64 PseudoClass_Checked = static_cast<unsigned long long>(0x0000000000000020ULL);
52164const quint64 PseudoClass_Unchecked = static_cast<unsigned long long>(0x0000000000000040ULL);
52165const quint64 PseudoClass_Indeterminate = static_cast<unsigned long long>(0x0000000000000080ULL);
52166const quint64 PseudoClass_Unspecified = static_cast<unsigned long long>(0x0000000000000100ULL);
52167const quint64 PseudoClass_Selected = static_cast<unsigned long long>(0x0000000000000200ULL);
52168const quint64 PseudoClass_Horizontal = static_cast<unsigned long long>(0x0000000000000400ULL);
52169const quint64 PseudoClass_Vertical = static_cast<unsigned long long>(0x0000000000000800ULL);
52170const quint64 PseudoClass_Window = static_cast<unsigned long long>(0x0000000000001000ULL);
52171const quint64 PseudoClass_Children = static_cast<unsigned long long>(0x0000000000002000ULL);
52172const quint64 PseudoClass_Sibling = static_cast<unsigned long long>(0x0000000000004000ULL);
52173const quint64 PseudoClass_Default = static_cast<unsigned long long>(0x0000000000008000ULL);
52174const quint64 PseudoClass_First = static_cast<unsigned long long>(0x0000000000010000ULL);
52175const quint64 PseudoClass_Last = static_cast<unsigned long long>(0x0000000000020000ULL);
52176const quint64 PseudoClass_Middle = static_cast<unsigned long long>(0x0000000000040000ULL);
52177const quint64 PseudoClass_OnlyOne = static_cast<unsigned long long>(0x0000000000080000ULL);
52178const quint64 PseudoClass_PreviousSelected = static_cast<unsigned long long>(0x0000000000100000ULL);
52179const quint64 PseudoClass_NextSelected = static_cast<unsigned long long>(0x0000000000200000ULL);
52180const quint64 PseudoClass_Flat = static_cast<unsigned long long>(0x0000000000400000ULL);
52181const quint64 PseudoClass_Left = static_cast<unsigned long long>(0x0000000000800000ULL);
52182const quint64 PseudoClass_Right = static_cast<unsigned long long>(0x0000000001000000ULL);
52183const quint64 PseudoClass_Top = static_cast<unsigned long long>(0x0000000002000000ULL);
52184const quint64 PseudoClass_Bottom = static_cast<unsigned long long>(0x0000000004000000ULL);
52185const quint64 PseudoClass_Exclusive = static_cast<unsigned long long>(0x0000000008000000ULL);
52186const quint64 PseudoClass_NonExclusive = static_cast<unsigned long long>(0x0000000010000000ULL);
52187const quint64 PseudoClass_Frameless = static_cast<unsigned long long>(0x0000000020000000ULL);
52188const quint64 PseudoClass_ReadOnly = static_cast<unsigned long long>(0x0000000040000000ULL);
52189const quint64 PseudoClass_Active = static_cast<unsigned long long>(0x0000000080000000ULL);
52190const quint64 PseudoClass_Closable = static_cast<unsigned long long>(0x0000000100000000ULL);
52191const quint64 PseudoClass_Movable = static_cast<unsigned long long>(0x0000000200000000ULL);
52192const quint64 PseudoClass_Floatable = static_cast<unsigned long long>(0x0000000400000000ULL);
52193const quint64 PseudoClass_Minimized = static_cast<unsigned long long>(0x0000000800000000ULL);
52194const quint64 PseudoClass_Maximized = static_cast<unsigned long long>(0x0000001000000000ULL);
52195const quint64 PseudoClass_On = static_cast<unsigned long long>(0x0000002000000000ULL);
52196const quint64 PseudoClass_Off = static_cast<unsigned long long>(0x0000004000000000ULL);
52197const quint64 PseudoClass_Editable = static_cast<unsigned long long>(0x0000008000000000ULL);
52198const quint64 PseudoClass_Item = static_cast<unsigned long long>(0x0000010000000000ULL);
52199const quint64 PseudoClass_Closed = static_cast<unsigned long long>(0x0000020000000000ULL);
52200const quint64 PseudoClass_Open = static_cast<unsigned long long>(0x0000040000000000ULL);
52201const quint64 PseudoClass_EditFocus = static_cast<unsigned long long>(0x0000080000000000ULL);
52202const quint64 PseudoClass_Alternate = static_cast<unsigned long long>(0x0000100000000000ULL);
52203
52204const quint64 PseudoClass_Any = static_cast<unsigned long long>(0x0000ffffffffffffULL);
52205const int NumPseudos = 46;
52206
52207struct __attribute__((visibility("default"))) Pseudo
52208{
52209 Pseudo() : negated(false) { }
52210 quint64 type;
52211 QString name;
52212 QString function;
52213 bool negated;
52214};
52215
52216struct __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
52231struct __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
52251struct __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
52259struct StyleRule;
52260struct MediaRule;
52261struct PageRule;
52262struct ImportRule;
52263
52264struct __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
52283private:
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
52298struct __attribute__((visibility("default"))) StyleRule
52299{
52300 StyleRule() : order(0) { }
52301 QVector<Selector> selectors;
52302 QVector<Declaration> declarations;
52303 int order;
52304};
52305
52306struct __attribute__((visibility("default"))) MediaRule
52307{
52308 QStringList media;
52309 QVector<StyleRule> styleRules;
52310};
52311
52312struct __attribute__((visibility("default"))) PageRule
52313{
52314 QString selector;
52315 QVector<Declaration> declarations;
52316};
52317
52318struct __attribute__((visibility("default"))) ImportRule
52319{
52320 QString href;
52321 QStringList media;
52322};
52323
52324enum StyleSheetOrigin {
52325 StyleSheetOrigin_Unspecified,
52326 StyleSheetOrigin_UserAgent,
52327 StyleSheetOrigin_User,
52328 StyleSheetOrigin_Author,
52329 StyleSheetOrigin_Inline
52330};
52331
52332struct __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
52346class __attribute__((visibility("default"))) StyleSelector
52347{
52348public:
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;
52374private:
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
52381enum 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
52429struct __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
52438class Scanner
52439{
52440public:
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
52446class __attribute__((visibility("default"))) Parser
52447{
52448public:
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
52551class QTextFormatCollection;
52552class QTextFormat;
52553class QTextBlockFormat;
52554class QTextCursorPrivate;
52555class QAbstractTextDocumentLayout;
52556class QTextDocument;
52557class QTextFrame;
52558
52559#define QTextBeginningOfFrame QChar(0xfdd0)
52560#define QTextEndOfFrame QChar(0xfdd1)
52561
52562class QTextFragmentData : public QFragment<>
52563{
52564public:
52565 inline void initialize() {}
52566 inline void invalidate() const {}
52567 inline void free() {}
52568 int stringPosition;
52569 int format;
52570};
52571
52572class QTextBlockData : public QFragment<3>
52573{
52574public:
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
52591class QAbstractUndoItem;
52592
52593class QTextUndoCommand
52594{
52595public:
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};
52628template <> 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
52630class 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;
52633public:
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
52720private:
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
52739public:
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
52760private:
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
52802public:
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
52822class QTextTable;
52823class QTextHtmlExporter
52824{
52825public:
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
52835private:
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
52895extern "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
52903typedef char hb_int8;
52904typedef unsigned char hb_uint8;
52905typedef short hb_int16;
52906typedef unsigned short hb_uint16;
52907typedef int hb_int32;
52908typedef unsigned int hb_uint32;
52909
52910typedef hb_uint8 HB_Bool;
52911
52912typedef hb_uint8 HB_Byte;
52913typedef hb_uint16 HB_UShort;
52914typedef hb_uint32 HB_UInt;
52915typedef hb_int8 HB_Char;
52916typedef hb_int16 HB_Short;
52917typedef hb_int32 HB_Int;
52918
52919typedef hb_uint16 HB_UChar16;
52920typedef hb_uint32 HB_UChar32;
52921typedef hb_uint32 HB_Glyph;
52922typedef hb_int32 HB_Fixed;
52923
52924#define HB_FIXED_CONSTANT(v) ((v) * 64)
52925#define HB_FIXED_ROUND(v) (((v)+32) & -64)
52926
52927typedef hb_int32 HB_16Dot16;
52928
52929typedef void * HB_Pointer;
52930typedef hb_uint32 HB_Tag;
52931
52932typedef 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
52952typedef struct {
52953 HB_Fixed x;
52954 HB_Fixed y;
52955} HB_FixedPoint;
52956
52957typedef struct HB_Font_ *HB_Font;
52958typedef struct HB_StreamRec_ *HB_Stream;
52959typedef 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
52973extern "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
52985struct HB_LangSys_
52986{
52987 HB_UShort LookupOrderOffset;
52988 HB_UShort ReqFeatureIndex;
52989 HB_UShort FeatureCount;
52990 HB_UShort* FeatureIndex;
52991};
52992
52993typedef struct HB_LangSys_ HB_LangSys;
52994
52995
52996struct HB_LangSysRecord_
52997{
52998 HB_UInt LangSysTag;
52999 HB_LangSys LangSys;
53000};
53001
53002typedef struct HB_LangSysRecord_ HB_LangSysRecord;
53003
53004
53005struct HB_ScriptTable_
53006{
53007 HB_LangSys DefaultLangSys;
53008 HB_UShort LangSysCount;
53009 HB_LangSysRecord* LangSysRecord;
53010};
53011
53012typedef struct HB_ScriptTable_ HB_ScriptTable;
53013
53014
53015struct HB_ScriptRecord_
53016{
53017 HB_UInt ScriptTag;
53018 HB_ScriptTable Script;
53019};
53020
53021typedef struct HB_ScriptRecord_ HB_ScriptRecord;
53022
53023
53024struct HB_ScriptList_
53025{
53026 HB_UShort ScriptCount;
53027 HB_ScriptRecord* ScriptRecord;
53028};
53029
53030typedef struct HB_ScriptList_ HB_ScriptList;
53031
53032
53033
53034
53035struct HB_Feature_
53036{
53037 HB_UShort FeatureParams;
53038 HB_UShort LookupListCount;
53039 HB_UShort* LookupListIndex;
53040};
53041
53042typedef struct HB_Feature_ HB_Feature;
53043
53044
53045struct HB_FeatureRecord_
53046{
53047 HB_UInt FeatureTag;
53048 HB_Feature Feature;
53049};
53050
53051typedef struct HB_FeatureRecord_ HB_FeatureRecord;
53052
53053
53054struct HB_FeatureList_
53055{
53056 HB_UShort FeatureCount;
53057 HB_FeatureRecord* FeatureRecord;
53058 HB_UShort* ApplyOrder;
53059 HB_UShort ApplyCount;
53060};
53061
53062typedef struct HB_FeatureList_ HB_FeatureList;
53063
53064
53065
53066
53067typedef struct HB_SubTable_ HB_SubTable;
53068
53069
53070struct HB_Lookup_
53071{
53072 HB_UShort LookupType;
53073 HB_UShort LookupFlag;
53074 HB_UShort SubTableCount;
53075 HB_SubTable* SubTable;
53076};
53077
53078typedef 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"
53080struct HB_LookupList_
53081{
53082 HB_UShort LookupCount;
53083 HB_Lookup* Lookup;
53084 HB_UInt* Properties;
53085};
53086
53087typedef 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
53096struct HB_CoverageFormat1_
53097{
53098 HB_UShort GlyphCount;
53099 HB_UShort* GlyphArray;
53100};
53101
53102typedef struct HB_CoverageFormat1_ HB_CoverageFormat1;
53103
53104
53105struct HB_RangeRecord_
53106{
53107 HB_UShort Start;
53108 HB_UShort End;
53109 HB_UShort StartCoverageIndex;
53110
53111};
53112
53113typedef struct HB_RangeRecord_ HB_RangeRecord;
53114
53115
53116struct HB_CoverageFormat2_
53117{
53118 HB_UShort RangeCount;
53119 HB_RangeRecord* RangeRecord;
53120};
53121
53122typedef struct HB_CoverageFormat2_ HB_CoverageFormat2;
53123
53124
53125struct HB_Coverage_
53126{
53127 HB_UShort CoverageFormat;
53128
53129 union
53130 {
53131 HB_CoverageFormat1 cf1;
53132 HB_CoverageFormat2 cf2;
53133 } cf;
53134};
53135
53136typedef struct HB_Coverage_ HB_Coverage;
53137
53138
53139struct HB_ClassDefFormat1_
53140{
53141 HB_UShort StartGlyph;
53142
53143 HB_UShort GlyphCount;
53144 HB_UShort* ClassValueArray;
53145};
53146
53147typedef struct HB_ClassDefFormat1_ HB_ClassDefFormat1;
53148
53149
53150struct HB_ClassRangeRecord_
53151{
53152 HB_UShort Start;
53153 HB_UShort End;
53154 HB_UShort Class;
53155};
53156
53157typedef struct HB_ClassRangeRecord_ HB_ClassRangeRecord;
53158
53159
53160struct HB_ClassDefFormat2_
53161{
53162 HB_UShort ClassRangeCount;
53163
53164 HB_ClassRangeRecord* ClassRangeRecord;
53165
53166};
53167
53168typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2;
53169
53170
53171struct 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
53184typedef struct HB_ClassDefinition_ HB_ClassDefinition;
53185
53186
53187struct HB_Device_
53188{
53189 HB_UShort StartSize;
53190 HB_UShort EndSize;
53191 HB_UShort DeltaFormat;
53192
53193 HB_UShort* DeltaValue;
53194};
53195
53196typedef struct HB_Device_ HB_Device;
53197
53198
53199enum HB_Type_
53200{
53201 HB_Type_GSUB,
53202 HB_Type_GPOS
53203};
53204
53205typedef 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
53216extern "C" {
53217
53218typedef 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
53231extern "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
53241typedef struct HB_AttachPoint_ HB_AttachPoint;
53242
53243
53244struct HB_AttachList_
53245{
53246 HB_Bool loaded;
53247
53248 HB_Coverage Coverage;
53249 HB_UShort GlyphCount;
53250
53251 HB_AttachPoint* AttachPoint;
53252};
53253
53254typedef struct HB_AttachList_ HB_AttachList;
53255
53256typedef struct HB_LigGlyph_ HB_LigGlyph;
53257
53258struct HB_LigCaretList_
53259{
53260 HB_Bool loaded;
53261
53262 HB_Coverage Coverage;
53263 HB_UShort LigGlyphCount;
53264 HB_LigGlyph* LigGlyph;
53265};
53266
53267typedef 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"
53269struct 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
53285typedef struct HB_GDEFHeader_ HB_GDEFHeader;
53286typedef struct HB_GDEFHeader_* HB_GDEF;
53287
53288
53289HB_Error HB_New_GDEF_Table( HB_GDEFHeader** retptr );
53290
53291
53292HB_Error HB_Load_GDEF_Table( HB_Stream stream,
53293 HB_GDEFHeader** gdef );
53294
53295
53296HB_Error HB_Done_GDEF_Table ( HB_GDEFHeader* gdef );
53297
53298
53299HB_Error HB_GDEF_Get_Glyph_Property( HB_GDEFHeader* gdef,
53300 HB_UShort glyphID,
53301 HB_UShort* property );
53302
53303HB_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
53323extern "C" {
53324
53325typedef 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
53334typedef 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
53351typedef 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
53367HB_Error
53368hb_buffer_new( HB_Buffer *buffer );
53369
53370void
53371hb_buffer_free( HB_Buffer buffer );
53372
53373void
53374hb_buffer_clear( HB_Buffer buffer );
53375
53376HB_Error
53377hb_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
53385extern "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"
53400typedef HB_Error (*HB_MMFunction)(HB_Font font,
53401 HB_UShort metric_id,
53402 HB_Fixed* metric_value,
53403 void* data );
53404
53405
53406struct 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
53424typedef struct HB_GPOSHeader_ HB_GPOSHeader;
53425typedef HB_GPOSHeader* HB_GPOS;
53426
53427
53428HB_Error HB_Load_GPOS_Table( HB_Stream stream,
53429 HB_GPOSHeader** gpos,
53430 HB_GDEFHeader* gdef,
53431 HB_Stream gdefStream );
53432
53433
53434HB_Error HB_Done_GPOS_Table( HB_GPOSHeader* gpos );
53435
53436
53437HB_Error HB_GPOS_Select_Script( HB_GPOSHeader* gpos,
53438 HB_UInt script_tag,
53439 HB_UShort* script_index );
53440
53441HB_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
53447HB_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
53454HB_Error HB_GPOS_Query_Scripts( HB_GPOSHeader* gpos,
53455 HB_UInt** script_tag_list );
53456
53457HB_Error HB_GPOS_Query_Languages( HB_GPOSHeader* gpos,
53458 HB_UShort script_index,
53459 HB_UInt** language_tag_list );
53460
53461HB_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
53467HB_Error HB_GPOS_Add_Feature( HB_GPOSHeader* gpos,
53468 HB_UShort feature_index,
53469 HB_UInt property );
53470
53471HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos );
53472
53473
53474HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos,
53475 HB_MMFunction mmfunc,
53476 void* data );
53477
53478
53479
53480
53481
53482HB_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
53498extern "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"
53512typedef 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
53519struct 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
53538typedef struct HB_GSUBHeader_ HB_GSUBHeader;
53539typedef HB_GSUBHeader* HB_GSUB;
53540
53541
53542HB_Error HB_Load_GSUB_Table( HB_Stream stream,
53543 HB_GSUBHeader** gsub,
53544 HB_GDEFHeader* gdef,
53545 HB_Stream gdefStream );
53546
53547
53548HB_Error HB_Done_GSUB_Table( HB_GSUBHeader* gsub );
53549
53550
53551HB_Error HB_GSUB_Select_Script( HB_GSUBHeader* gsub,
53552 HB_UInt script_tag,
53553 HB_UShort* script_index );
53554
53555HB_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
53561HB_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
53568HB_Error HB_GSUB_Query_Scripts( HB_GSUBHeader* gsub,
53569 HB_UInt** script_tag_list );
53570
53571HB_Error HB_GSUB_Query_Languages( HB_GSUBHeader* gsub,
53572 HB_UShort script_index,
53573 HB_UInt** language_tag_list );
53574
53575HB_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
53581HB_Error HB_GSUB_Add_Feature( HB_GSUBHeader* gsub,
53582 HB_UShort feature_index,
53583 HB_UInt property );
53584
53585HB_Error HB_GSUB_Clear_Features( HB_GSUBHeader* gsub );
53586
53587
53588HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub,
53589 HB_AltFunction altfunc,
53590 void* data );
53591
53592
53593HB_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
53605extern "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"
53607typedef 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
53617typedef 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
53659typedef 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
53674typedef 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
53687typedef 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
53702HB_GraphemeClass HB_GetGraphemeClass(HB_UChar32 ch);
53703HB_WordClass HB_GetWordClass(HB_UChar32 ch);
53704HB_SentenceClass HB_GetSentenceClass(HB_UChar32 ch);
53705HB_LineBreakClass HB_GetLineBreakClass(HB_UChar32 ch);
53706
53707void HB_GetGraphemeAndLineBreakClass(HB_UChar32 ch, HB_GraphemeClass *grapheme, HB_LineBreakClass *lineBreak);
53708void HB_GetUnicodeCharProperties(HB_UChar32 ch, HB_CharCategory *category, int *combiningClass);
53709HB_CharCategory HB_GetUnicodeCharCategory(HB_UChar32 ch);
53710int HB_GetUnicodeCharCombiningClass(HB_UChar32 ch);
53711HB_UChar16 HB_GetMirroredChar(HB_UChar16 ch);
53712
53713void *HB_Library_Resolve(const char *library, const char *symbol);
53714
53715void *HB_TextCodecForMib(int mib);
53716char *HB_TextCodec_ConvertFromUnicode(void *codec, const HB_UChar16 *unicode, hb_uint32 length, hb_uint32 *outputLength);
53717void 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
53733extern "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
53812extern "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
53862extern "C" {
53863
53864typedef 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
53897typedef struct
53898{
53899 hb_uint32 pos;
53900 hb_uint32 length;
53901 HB_Script script;
53902 hb_uint8 bidiLevel;
53903} HB_ScriptItem;
53904
53905typedef enum {
53906 HB_NoBreak,
53907 HB_SoftHyphen,
53908 HB_Break,
53909 HB_ForcedBreak
53910} HB_LineBreakType;
53911
53912
53913typedef 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
53922void HB_GetCharAttributes(const HB_UChar16 *string, hb_uint32 stringLength,
53923 const HB_ScriptItem *items, hb_uint32 numItems,
53924 HB_CharAttributes *attributes);
53925
53926
53927void HB_GetWordBoundaries(const HB_UChar16 *string, hb_uint32 stringLength,
53928 const HB_ScriptItem *items, hb_uint32 numItems,
53929 HB_CharAttributes *attributes);
53930
53931
53932void HB_GetSentenceBoundaries(const HB_UChar16 *string, hb_uint32 stringLength,
53933 const HB_ScriptItem *items, hb_uint32 numItems,
53934 HB_CharAttributes *attributes);
53935
53936
53937typedef enum {
53938 HB_LeftToRight = 0,
53939 HB_RightToLeft = 1
53940} HB_StringToGlyphsFlags;
53941
53942typedef 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
53954typedef 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
53971typedef 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
53980typedef 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
53998typedef HB_Error (*HB_GetFontTableFunc)(void *font, HB_Tag tag, HB_Byte *buffer, HB_UInt *length);
53999
54000HB_Face HB_NewFace(void *font, HB_GetFontTableFunc tableFunc);
54001void HB_FreeFace(HB_Face face);
54002
54003typedef struct {
54004 HB_Fixed x, y;
54005 HB_Fixed width, height;
54006 HB_Fixed xOffset, yOffset;
54007} HB_GlyphMetrics;
54008
54009typedef enum {
54010 HB_FontAscent
54011} HB_FontMetric;
54012
54013typedef 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
54023typedef 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
54033typedef 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
54055HB_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
54075template <> 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"; } };
54076template <> 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
54088class QFontPrivate;
54089class QFontEngine;
54090
54091class QString;
54092class QPainter;
54093
54094class QAbstractTextDocumentLayout;
54095
54096
54097
54098
54099
54100
54101
54102struct 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};
54123template <> 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
54125struct 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};
54146template <> 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
54148struct 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};
54164template <> 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
54166struct QGlyphLayoutInstance
54167{
54168 QFixedPoint offset;
54169 QFixedPoint advance;
54170 HB_Glyph glyph;
54171 QGlyphJustification justification;
54172 HB_GlyphAttributes attributes;
54173};
54174
54175struct 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
54275class QVarLengthGlyphLayoutArray : private QVarLengthArray<void *>, public QGlyphLayout
54276{
54277private:
54278 typedef QVarLengthArray<void *> Array;
54279public:
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
54296template <int N> struct QGlyphLayoutArray : public QGlyphLayout
54297{
54298public:
54299 QGlyphLayoutArray()
54300 : QGlyphLayout(reinterpret_cast<char *>(buffer), N)
54301 {
54302 memset(buffer, 0, sizeof(buffer));
54303 }
54304
54305private:
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
54312struct QScriptItem;
54313
54314class QTextItemInt : public QTextItem
54315{
54316public:
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
54344inline bool qIsControlChar(ushort uc)
54345{
54346 return uc >= 0x200b && uc <= 0x206f
54347 && (uc <= 0x200f
54348 || (uc >= 0x2028 && uc <= 0x202f )
54349 || uc >= 0x206a );
54350}
54351
54352struct 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
54374template <> 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
54376typedef QVector<QScriptItem> QScriptItemArray;
54377
54378struct 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};
54400template <> 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
54403inline 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
54411typedef QVector<QScriptLine> QScriptLineArray;
54412
54413class QFontPrivate;
54414class QTextFormatCollection;
54415
54416class __attribute__((visibility("default"))) QTextEngine {
54417public:
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
54580private:
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
54596class QStackTextEngine : public QTextEngine {
54597public:
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
54605inline 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
54628class __attribute__((visibility("default"))) QFontEngineGlyphCache
54629{
54630public:
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};
54643typedef QHash<void *, QList<QFontEngineGlyphCache *> > GlyphPointerHash;
54644typedef 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
54649struct glyph_metrics_t;
54650typedef unsigned int glyph_t;
54651
54652
54653
54654class QChar;
54655class QPainterPath;
54656
54657class QTextEngine;
54658struct 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
54668class __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:
54671public:
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
54824private:
54825
54826 void expireGlyphCache();
54827
54828 GlyphPointerHash m_glyphPointerHash;
54829 GlyphIntHash m_glyphIntHash;
54830 mutable QList<QFontEngineGlyphCache*> m_glyphCacheQueue;
54831};
54832
54833inline 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
54838inline uint qHash(const QFontEngine::FaceId &f)
54839{
54840 return qHash((f.index << 16) + f.encoding) + qHash(f.filename);
54841}
54842
54843
54844class QGlyph;
54845
54846
54847
54848
54849
54850class QFontEngineQPF1Data;
54851
54852class QFontEngineQPF1 : public QFontEngine
54853{
54854public:
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
54890class QFontEngineBox : public QFontEngine
54891{
54892public:
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
54925private:
54926 friend class QFontPrivate;
54927 int _size;
54928};
54929
54930class __attribute__((visibility("default"))) QFontEngineMulti : public QFontEngine
54931{
54932public:
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
54968protected:
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"
54975class QTestFontEngine : public QFontEngineBox
54976{
54977public:
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
54998typedef QtValidLicenseForGuiModule QtGuiModule;
54999
55000class QVariant;
55001
55002class __attribute__((visibility("default"))) QBitmap : public QPixmap
55003{
55004public:
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};
55025template <> 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
55066template <typename Type> class QDataBuffer
55067{
55068public:
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
55125private:
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
55146static const union { unsigned char c[8]; double d; } qt_be_inf_bytes = { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } };
55147static const union { unsigned char c[8]; double d; } qt_le_inf_bytes = { { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } };
55148static const union { unsigned char c[8]; double d; } qt_armfpa_inf_bytes = { { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 } };
55149static 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
55161static const union { unsigned char c[8]; double d; } qt_be_snan_bytes = { { 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 } };
55162static const union { unsigned char c[8]; double d; } qt_le_snan_bytes = { { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f } };
55163static const union { unsigned char c[8]; double d; } qt_armfpa_snan_bytes = { { 0, 0, 0xf8, 0x7f, 0, 0, 0, 0 } };
55164static 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
55176static const union { unsigned char c[8]; double d; } qt_be_qnan_bytes = { { 0xff, 0xf8, 0, 0, 0, 0, 0, 0 } };
55177static const union { unsigned char c[8]; double d; } qt_le_qnan_bytes = { { 0, 0, 0, 0, 0, 0, 0xf8, 0xff } };
55178static const union { unsigned char c[8]; double d; } qt_armfpa_qnan_bytes = { { 0, 0, 0xf8, 0xff, 0, 0, 0, 0 } };
55179static 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"
55190static 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
55204static 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
55218static 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
55232static 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
55242static 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
55252static 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"
55268typedef qreal qfixed;
55269#define qt_real_to_fixed(real) qfixed(real)
55270#define qt_fixed_to_real(fixed) fixed
55271struct 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
55283QPointF qt_curves_for_arc(const QRectF &rect, qreal startAngle, qreal sweepLength,
55284 QPointF *controlPoints, int *point_count);
55285
55286qreal qt_t_for_arc_angle(qreal angle);
55287
55288typedef void (*qStrokerMoveToHook)(qfixed x, qfixed y, void *data);
55289typedef void (*qStrokerLineToHook)(qfixed x, qfixed y, void *data);
55290typedef void (*qStrokerCubicToHook)(qfixed c1x, qfixed c1y,
55291 qfixed c2x, qfixed c2y,
55292 qfixed ex, qfixed ey,
55293 void *data);
55294
55295class __attribute__((visibility("default"))) QStrokerOps
55296{
55297public:
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
55332protected:
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
55342private:
55343 void *m_customData;
55344 qStrokerMoveToHook m_moveTo;
55345 qStrokerLineToHook m_lineTo;
55346 qStrokerCubicToHook m_cubicTo;
55347
55348};
55349
55350class __attribute__((visibility("default"))) QStroker : public QStrokerOps
55351{
55352public:
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
55388protected:
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
55411class __attribute__((visibility("default"))) QDashStroker : public QStrokerOps
55412{
55413public:
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
55429protected:
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
55442inline void QStrokerOps::emitMoveTo(qfixed x, qfixed y)
55443{
55444 qt_noop();
55445 m_moveTo(x, y, m_customData);
55446}
55447
55448inline void QStrokerOps::emitLineTo(qfixed x, qfixed y)
55449{
55450 qt_noop();
55451 m_lineTo(x, y, m_customData);
55452}
55453
55454inline 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
55460inline 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
55469inline void QStrokerOps::lineTo(qfixed x, qfixed y)
55470{
55471 Element e = { QPainterPath::LineToElement, x, y };
55472 m_elements.add(e);
55473}
55474
55475inline 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
55488inline 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
55497inline 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
55506inline 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
55530inline void QDashStroker::begin(void *data)
55531{
55532 qt_noop();
55533 m_stroker->begin(data);
55534 QStrokerOps::begin(data);
55535}
55536
55537inline 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
55563typedef QtValidLicenseForGuiModule QtGuiModule;
55564
55565
55566
55567
55568
55569
55570
55571class QPrinterPrivate;
55572class QPaintEngine;
55573class QPrintEngine;
55574class QPrinterInfo;
55575
55576class __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;
55579public:
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"
55756protected:
55757 int metric(PaintDeviceMetric) const;
55758 void setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine);
55759
55760private:
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
55792class QFontSubset
55793{
55794public:
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
55849class QPaintDevice;
55850
55851class 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;
55854public:
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 &region)
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
55905private:
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
55915class QAlphaPaintEnginePrivate;
55916
55917class 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;
55920public:
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
55937protected:
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
55945class 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;
55948public:
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
56001typedef QtValidLicenseForGuiModule QtGuiModule;
56002
56003
56004
56005class __attribute__((visibility("default"))) QPrintEngine
56006{
56007public:
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
56080typedef QtValidLicenseForCoreModule QtCoreModule;
56081
56082class QObject;
56083class QBufferPrivate;
56084
56085class __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
56091public:
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
56118protected:
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
56126private:
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
56133inline 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
56151const char *qt_real_to_string(qreal val, char *buf);
56152const char *qt_int_to_string(int val, char *buf);
56153
56154namespace 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
56240class QPdfPage : public QPdf::ByteStream
56241{
56242public:
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;
56254private:
56255};
56256
56257
56258class QPdfBaseEnginePrivate;
56259
56260class 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;
56263public:
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
56293private:
56294 void updateClipPath(const QPainterPath & path, Qt::ClipOperation op);
56295
56296 friend int qt_printerRealNumCopies(QPaintEngine *);
56297};
56298
56299class 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;
56302public:
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
56388extern "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
56426typedef double float_t;
56427
56428typedef 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
56469extern double acos (double __x) throw (); extern double __acos (double __x) throw ();
56470
56471extern double asin (double __x) throw (); extern double __asin (double __x) throw ();
56472
56473extern double atan (double __x) throw (); extern double __atan (double __x) throw ();
56474
56475extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw ();
56476
56477
56478extern double cos (double __x) throw (); extern double __cos (double __x) throw ();
56479
56480extern double sin (double __x) throw (); extern double __sin (double __x) throw ();
56481
56482extern double tan (double __x) throw (); extern double __tan (double __x) throw ();
56483
56484
56485
56486
56487extern double cosh (double __x) throw (); extern double __cosh (double __x) throw ();
56488
56489extern double sinh (double __x) throw (); extern double __sinh (double __x) throw ();
56490
56491extern 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
56496extern double acosh (double __x) throw (); extern double __acosh (double __x) throw ();
56497
56498extern double asinh (double __x) throw (); extern double __asinh (double __x) throw ();
56499
56500extern double atanh (double __x) throw (); extern double __atanh (double __x) throw ();
56501
56502
56503
56504
56505
56506
56507
56508extern double exp (double __x) throw (); extern double __exp (double __x) throw ();
56509
56510
56511extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw ();
56512
56513
56514extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw ();
56515
56516
56517extern double log (double __x) throw (); extern double __log (double __x) throw ();
56518
56519
56520extern double log10 (double __x) throw (); extern double __log10 (double __x) throw ();
56521
56522
56523extern 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
56528extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw ();
56529
56530
56531extern double log1p (double __x) throw (); extern double __log1p (double __x) throw ();
56532
56533
56534extern double logb (double __x) throw (); extern double __logb (double __x) throw ();
56535
56536
56537
56538
56539
56540
56541extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw ();
56542
56543
56544extern double log2 (double __x) throw (); extern double __log2 (double __x) throw ();
56545
56546
56547
56548
56549
56550
56551
56552
56553extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw ();
56554
56555
56556extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw ();
56557
56558
56559
56560
56561
56562extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw ();
56563
56564
56565
56566
56567
56568
56569extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw ();
56570
56571
56572
56573
56574
56575
56576
56577
56578extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__));
56579
56580
56581extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__));
56582
56583
56584extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__));
56585
56586
56587extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw ();
56588
56589
56590
56591
56592extern int __isinf (double __value) throw () __attribute__ ((__const__));
56593
56594
56595extern int __finite (double __value) throw () __attribute__ ((__const__));
56596
56597
56598
56599
56600
56601extern int isinf (double __value) throw () __attribute__ ((__const__));
56602
56603
56604extern int finite (double __value) throw () __attribute__ ((__const__));
56605
56606
56607extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw ();
56608
56609
56610
56611extern double significand (double __x) throw (); extern double __significand (double __x) throw ();
56612
56613
56614
56615
56616
56617extern 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
56624extern double nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (__const char *__tagb) throw () __attribute__ ((__const__));
56625
56626
56627
56628
56629
56630extern int __isnan (double __value) throw () __attribute__ ((__const__));
56631
56632
56633
56634extern int isnan (double __value) throw () __attribute__ ((__const__));
56635
56636
56637extern double j0 (double) throw (); extern double __j0 (double) throw ();
56638extern double j1 (double) throw (); extern double __j1 (double) throw ();
56639extern double jn (int, double) throw (); extern double __jn (int, double) throw ();
56640extern double y0 (double) throw (); extern double __y0 (double) throw ();
56641extern double y1 (double) throw (); extern double __y1 (double) throw ();
56642extern double yn (int, double) throw (); extern double __yn (int, double) throw ();
56643
56644
56645
56646
56647
56648
56649extern double erf (double) throw (); extern double __erf (double) throw ();
56650extern double erfc (double) throw (); extern double __erfc (double) throw ();
56651extern double lgamma (double) throw (); extern double __lgamma (double) throw ();
56652
56653
56654
56655
56656
56657
56658extern double tgamma (double) throw (); extern double __tgamma (double) throw ();
56659
56660
56661
56662
56663
56664extern double gamma (double) throw (); extern double __gamma (double) throw ();
56665
56666
56667
56668
56669
56670
56671extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw ();
56672
56673
56674
56675
56676
56677
56678
56679extern double rint (double __x) throw (); extern double __rint (double __x) throw ();
56680
56681
56682extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__));
56683
56684extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__));
56685
56686
56687
56688extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw ();
56689
56690
56691
56692extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw ();
56693
56694
56695
56696extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw ();
56697
56698
56699
56700
56701extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw ();
56702
56703
56704
56705extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw ();
56706
56707
56708
56709extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__));
56710
56711
56712
56713extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__));
56714
56715
56716
56717
56718extern 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
56725extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw ();
56726extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw ();
56727
56728
56729
56730extern long int lround (double __x) throw (); extern long int __lround (double __x) throw ();
56731extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw ();
56732
56733
56734
56735extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw ();
56736
56737
56738extern double fmax (double __x, double __y) throw (); extern double __fmax (double __x, double __y) throw ();
56739
56740
56741extern double fmin (double __x, double __y) throw (); extern double __fmin (double __x, double __y) throw ();
56742
56743
56744
56745extern int __fpclassify (double __value) throw ()
56746 __attribute__ ((__const__));
56747
56748
56749extern int __signbit (double __value) throw ()
56750 __attribute__ ((__const__));
56751
56752
56753
56754extern 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
56763extern 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
56784extern float acosf (float __x) throw (); extern float __acosf (float __x) throw ();
56785
56786extern float asinf (float __x) throw (); extern float __asinf (float __x) throw ();
56787
56788extern float atanf (float __x) throw (); extern float __atanf (float __x) throw ();
56789
56790extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw ();
56791
56792
56793extern float cosf (float __x) throw (); extern float __cosf (float __x) throw ();
56794
56795extern float sinf (float __x) throw (); extern float __sinf (float __x) throw ();
56796
56797extern float tanf (float __x) throw (); extern float __tanf (float __x) throw ();
56798
56799
56800
56801
56802extern float coshf (float __x) throw (); extern float __coshf (float __x) throw ();
56803
56804extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw ();
56805
56806extern 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
56811extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw ();
56812
56813extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw ();
56814
56815extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw ();
56816
56817
56818
56819
56820
56821
56822
56823extern float expf (float __x) throw (); extern float __expf (float __x) throw ();
56824
56825
56826extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw ();
56827
56828
56829extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw ();
56830
56831
56832extern float logf (float __x) throw (); extern float __logf (float __x) throw ();
56833
56834
56835extern float log10f (float __x) throw (); extern float __log10f (float __x) throw ();
56836
56837
56838extern 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
56843extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw ();
56844
56845
56846extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw ();
56847
56848
56849extern float logbf (float __x) throw (); extern float __logbf (float __x) throw ();
56850
56851
56852
56853
56854
56855
56856extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw ();
56857
56858
56859extern float log2f (float __x) throw (); extern float __log2f (float __x) throw ();
56860
56861
56862
56863
56864
56865
56866
56867
56868extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw ();
56869
56870
56871extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw ();
56872
56873
56874
56875
56876
56877extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw ();
56878
56879
56880
56881
56882
56883
56884extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw ();
56885
56886
56887
56888
56889
56890
56891
56892
56893extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__));
56894
56895
56896extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__));
56897
56898
56899extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__));
56900
56901
56902extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw ();
56903
56904
56905
56906
56907extern int __isinff (float __value) throw () __attribute__ ((__const__));
56908
56909
56910extern int __finitef (float __value) throw () __attribute__ ((__const__));
56911
56912
56913
56914
56915
56916extern int isinff (float __value) throw () __attribute__ ((__const__));
56917
56918
56919extern int finitef (float __value) throw () __attribute__ ((__const__));
56920
56921
56922extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw ();
56923
56924
56925
56926extern float significandf (float __x) throw (); extern float __significandf (float __x) throw ();
56927
56928
56929
56930
56931
56932extern 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
56939extern float nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) throw () __attribute__ ((__const__));
56940
56941
56942
56943
56944
56945extern int __isnanf (float __value) throw () __attribute__ ((__const__));
56946
56947
56948
56949extern int isnanf (float __value) throw () __attribute__ ((__const__));
56950
56951
56952extern float j0f (float) throw (); extern float __j0f (float) throw ();
56953extern float j1f (float) throw (); extern float __j1f (float) throw ();
56954extern float jnf (int, float) throw (); extern float __jnf (int, float) throw ();
56955extern float y0f (float) throw (); extern float __y0f (float) throw ();
56956extern float y1f (float) throw (); extern float __y1f (float) throw ();
56957extern float ynf (int, float) throw (); extern float __ynf (int, float) throw ();
56958
56959
56960
56961
56962
56963
56964extern float erff (float) throw (); extern float __erff (float) throw ();
56965extern float erfcf (float) throw (); extern float __erfcf (float) throw ();
56966extern float lgammaf (float) throw (); extern float __lgammaf (float) throw ();
56967
56968
56969
56970
56971
56972
56973extern float tgammaf (float) throw (); extern float __tgammaf (float) throw ();
56974
56975
56976
56977
56978
56979extern float gammaf (float) throw (); extern float __gammaf (float) throw ();
56980
56981
56982
56983
56984
56985
56986extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw ();
56987
56988
56989
56990
56991
56992
56993
56994extern float rintf (float __x) throw (); extern float __rintf (float __x) throw ();
56995
56996
56997extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__));
56998
56999extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__));
57000
57001
57002
57003extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw ();
57004
57005
57006
57007extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw ();
57008
57009
57010
57011extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw ();
57012
57013
57014
57015
57016extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw ();
57017
57018
57019
57020extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw ();
57021
57022
57023
57024extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__));
57025
57026
57027
57028extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__));
57029
57030
57031
57032
57033extern 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
57040extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw ();
57041extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw ();
57042
57043
57044
57045extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw ();
57046extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw ();
57047
57048
57049
57050extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw ();
57051
57052
57053extern float fmaxf (float __x, float __y) throw (); extern float __fmaxf (float __x, float __y) throw ();
57054
57055
57056extern float fminf (float __x, float __y) throw (); extern float __fminf (float __x, float __y) throw ();
57057
57058
57059
57060extern int __fpclassifyf (float __value) throw ()
57061 __attribute__ ((__const__));
57062
57063
57064extern int __signbitf (float __value) throw ()
57065 __attribute__ ((__const__));
57066
57067
57068
57069extern 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
57078extern 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
57092extern int signgam;
57093# 198 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4
57094enum
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
57132typedef enum
57133{
57134 _IEEE_ = -1,
57135 _SVID_,
57136 _XOPEN_,
57137 _POSIX_,
57138 _ISOC_
57139} _LIB_VERSION_TYPE;
57140
57141
57142
57143
57144extern _LIB_VERSION_TYPE _LIB_VERSION;
57145# 307 "/opt/uClinux/bfin-linux-uclibc/bin/../bfin-linux-uclibc/runtime/usr/include/math.h" 3 4
57146struct __exception
57147
57148
57149
57150 {
57151 int type;
57152 char *name;
57153 double arg1;
57154 double arg2;
57155 double retval;
57156 };
57157
57158
57159extern 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
57227typedef QtValidLicenseForCoreModule QtCoreModule;
57228
57229inline 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
57239inline 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
57249inline 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
57259inline 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
57269inline 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
57279inline 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
57289inline 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
57299inline 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
57326typedef QtValidLicenseForCoreModule QtCoreModule;
57327
57328
57329
57330
57331inline 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
57342template <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
57349template <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"
57354template <typename T> inline T qFromLittleEndian(const uchar *src);
57355template <> 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
57368template <> 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
57377template <> inline quint16 qFromLittleEndian<quint16>(const uchar *src)
57378{
57379 return 0
57380 | src[0]
57381 | src[1] * 0x0100;
57382}
57383
57384
57385template <> inline qint64 qFromLittleEndian<qint64>(const uchar *src)
57386{ return static_cast<qint64>(qFromLittleEndian<quint64>(src)); }
57387
57388template <> inline qint32 qFromLittleEndian<qint32>(const uchar *src)
57389{ return static_cast<qint32>(qFromLittleEndian<quint32>(src)); }
57390
57391template <> 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"
57394template <class T> inline T qFromBigEndian(const uchar *src);
57395template<>
57396inline 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
57409template<>
57410inline 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
57419template<>
57420inline quint16 qFromBigEndian<quint16>(const uchar *src)
57421{
57422 return 0
57423 | src[1]
57424 | src[0] * quint16(0x0100);
57425}
57426
57427
57428
57429template <> inline qint64 qFromBigEndian<qint64>(const uchar *src)
57430{ return static_cast<qint64>(qFromBigEndian<quint64>(src)); }
57431
57432template <> inline qint32 qFromBigEndian<qint32>(const uchar *src)
57433{ return static_cast<qint32>(qFromBigEndian<quint32>(src)); }
57434
57435template <> inline qint16 qFromBigEndian<qint16>(const uchar *src)
57436{ return static_cast<qint16>(qFromBigEndian<quint16>(src)); }
57437
57438
57439
57440
57441
57442
57443
57444template <typename T> T qbswap(T source);
57445template <> 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
57458template <> 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
57467template <> inline quint16 qbswap<quint16>(quint16 source)
57468{
57469 return 0
57470 | ((source & 0x00ff) << 8)
57471 | ((source & 0xff00) >> 8);
57472}
57473
57474
57475template <> inline qint64 qbswap<qint64>(qint64 source)
57476{
57477 return qbswap<quint64>(quint64(source));
57478}
57479
57480template <> inline qint32 qbswap<qint32>(qint32 source)
57481{
57482 return qbswap<quint32>(quint32(source));
57483}
57484
57485template <> 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"
57490template <typename T> inline T qToBigEndian(T source)
57491{ return qbswap<T>(source); }
57492template <typename T> inline T qFromBigEndian(T source)
57493{ return qbswap<T>(source); }
57494template <typename T> inline T qToLittleEndian(T source)
57495{ return source; }
57496template <typename T> inline T qFromLittleEndian(T source)
57497{ return source; }
57498template <typename T> inline void qToBigEndian(T src, uchar *dest)
57499{ qbswap<T>(src, dest); }
57500template <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
57515static 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
57534QFontEngineGlyphCache::~QFontEngineGlyphCache()
57535{
57536}
57537
57538
57539
57540static 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
57562static 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
57577static 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
57583static 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
57595static 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
57604HB_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
57615static 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
57621static const HB_FontClass hb_fontClass = {
57622 hb_stringToGlyphs, hb_getAdvances, hb_canRender, hb_getPointInOutline,
57623 hb_getGlyphMetrics, hb_getFontMetric
57624};
57625
57626static 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
57636QFontEngine::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
57651QFontEngine::~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
57670QFixed 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
57683QFixed QFontEngine::underlinePosition() const
57684{
57685 return ((lineThickness() * 2) + 3) / 6;
57686}
57687
57688HB_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
57700HB_Face QFontEngine::harfbuzzFace() const
57701{
57702 if (!hbFace)
57703 hbFace = qHBNewFace(const_cast<QFontEngine *>(this), hb_getSFntTable);
57704 return hbFace;
57705}
57706
57707glyph_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
57717QFixed 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
57728QFixed 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
57740void 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
57858glyph_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
57882void 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
57899enum { EdgeRight = 0x1,
57900 EdgeDown = 0x2,
57901 EdgeLeft = 0x4,
57902 EdgeUp = 0x8
57903};
57904
57905static 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
57951void 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
57990void 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
58041void 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
58062QImage 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
58071QImage 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
58087void QFontEngine::removeGlyphFromCache(glyph_t)
58088{
58089}
58090
58091QFontEngine::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
58116void 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
58125QByteArray 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
58139void 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
58168void 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
58190void 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
58212QFontEngineGlyphCache *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
58227QFontEngineGlyphCache *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
58243static 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
58262void 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
58279void 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 }
58335end:
58336 qSort(kerning_pairs);
58337
58338
58339}
58340
58341
58342
58343
58344
58345
58346
58347int 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
58355const 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
58448quint32 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
58537QFontEngineBox::QFontEngineBox(int size)
58538 : _size(size)
58539{
58540 cache_cost = sizeof(QFontEngineBox);
58541}
58542
58543QFontEngineBox::~QFontEngineBox()
58544{
58545}
58546
58547bool 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
58565void 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
58573void 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
58589glyph_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
58599void 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
58628glyph_metrics_t QFontEngineBox::boundingBox(glyph_t)
58629{
58630 return glyph_metrics_t(0, -_size, _size, _size, _size, 0);
58631}
58632
58633
58634
58635QFixed QFontEngineBox::ascent() const
58636{
58637 return _size;
58638}
58639
58640QFixed QFontEngineBox::descent() const
58641{
58642 return 0;
58643}
58644
58645QFixed QFontEngineBox::leading() const
58646{
58647 QFixed l = _size * QFixed::fromReal(qreal(0.15));
58648 return l.ceil();
58649}
58650
58651qreal 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"
58656const char *QFontEngineBox::name() const
58657{
58658 return "null";
58659}
58660
58661bool QFontEngineBox::canRender(const QChar *, int)
58662{
58663 return true;
58664}
58665
58666QFontEngine::Type QFontEngineBox::type() const
58667{
58668 return Box;
58669}
58670
58671QImage 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
58694static inline uchar highByte(glyph_t glyph)
58695{ return glyph >> 24; }
58696
58697
58698static inline glyph_t stripped(glyph_t glyph)
58699{ return glyph & 0x00ffffff; }
58700
58701QFontEngineMulti::QFontEngineMulti(int engineCount)
58702{
58703 engines.fill(0, engineCount);
58704 cache_cost = 0;
58705}
58706
58707QFontEngineMulti::~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
58719bool 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
58770glyph_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
58833void 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
58900void 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
58943void 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
58986glyph_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
58993QFixed QFontEngineMulti::ascent() const
58994{ return engine(0)->ascent(); }
58995
58996QFixed QFontEngineMulti::descent() const
58997{ return engine(0)->descent(); }
58998
58999QFixed QFontEngineMulti::leading() const
59000{
59001 return engine(0)->leading();
59002}
59003
59004QFixed QFontEngineMulti::xHeight() const
59005{
59006 return engine(0)->xHeight();
59007}
59008
59009QFixed QFontEngineMulti::averageCharWidth() const
59010{
59011 return engine(0)->averageCharWidth();
59012}
59013
59014QFixed QFontEngineMulti::lineThickness() const
59015{
59016 return engine(0)->lineThickness();
59017}
59018
59019QFixed QFontEngineMulti::underlinePosition() const
59020{
59021 return engine(0)->underlinePosition();
59022}
59023
59024qreal QFontEngineMulti::maxCharWidth() const
59025{
59026 return engine(0)->maxCharWidth();
59027}
59028
59029qreal QFontEngineMulti::minLeftBearing() const
59030{
59031 return engine(0)->minLeftBearing();
59032}
59033
59034qreal QFontEngineMulti::minRightBearing() const
59035{
59036 return engine(0)->minRightBearing();
59037}
59038
59039bool 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
59062QFontEngine *QFontEngineMulti::engine(int at) const
59063{
59064 qt_noop();
59065 return engines.at(at);
59066}
59067
59068QImage QFontEngineMulti::alphaMapForGlyph(glyph_t)
59069{
59070 qt_noop();
59071 return QImage();
59072}
59073
59074
59075