// /usr/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1plus -quiet -I. -I. -I.. -I../dcop -I../kio/kssl -I../kdefx -I../interfaces -I../dcop -I../libltdl -I../kdefx -I../kdecore -I../kdeui -I../kio -I../kio/kio -I../kio/kfile -I.. -I/usr/qt/3/include -I/usr/X11R6/include -I/usr/kde/3.2/include -D_GNU_SOURCE -DHAVE_CONFIG_H -DQT_THREAD_SUPPORT -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DNDEBUG -DNO_DEBUG -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DPIC knuminput.cpp -quiet -dumpbase knuminput.cpp -march=athlon-xp -ansi -auxbase-strip .libs/knuminput.o -O2 -O2 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -ansi -frename-registers -fomit-frame-pointer -fno-exceptions -fno-check-new -fno-common -fPIC -o - -frandom-seed=0 # 1 "knuminput.cpp" # 1 "" # 1 "" # 1 "knuminput.cpp" # 31 "knuminput.cpp" # 1 "../config.h" 1 # 810 "../config.h" extern "C" { int mkstemps(char *, int); } # 858 "../config.h" extern "C" { unsigned long strlcat(char*, const char*, unsigned long); } extern "C" { unsigned long strlcpy(char*, const char*, unsigned long); } # 32 "knuminput.cpp" 2 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 # 11 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 # 122 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 26 "/usr/include/limits.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 295 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 296 "/usr/include/features.h" 2 3 4 # 318 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 319 "/usr/include/features.h" 2 3 4 # 27 "/usr/include/limits.h" 2 3 4 # 144 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 130 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 36 "/usr/include/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 37 "/usr/include/bits/local_lim.h" 2 3 4 # 131 "/usr/include/bits/posix1_lim.h" 2 3 4 # 145 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 149 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 34 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 35 "/usr/include/bits/xopen_lim.h" 2 3 4 # 153 "/usr/include/limits.h" 2 3 4 # 123 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 2 3 4 # 34 "knuminput.cpp" 2 # 1 "/usr/include/assert.h" 1 3 4 # 36 "knuminput.cpp" 2 # 1 "/usr/include/math.h" 1 3 4 # 29 "/usr/include/math.h" 3 4 extern "C" { # 1 "/usr/include/bits/huge_val.h" 1 3 4 # 34 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_valf.h" 1 3 4 # 36 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_vall.h" 1 3 4 # 37 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/inf.h" 1 3 4 # 40 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/nan.h" 1 3 4 # 43 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathdef.h" 1 3 4 # 29 "/usr/include/bits/mathdef.h" 3 4 typedef long double float_t; typedef long double double_t; # 47 "/usr/include/math.h" 2 3 4 # 70 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern double acos (double __x) throw (); extern double __acos (double __x) throw (); extern double asin (double __x) throw (); extern double __asin (double __x) throw (); extern double atan (double __x) throw (); extern double __atan (double __x) throw (); extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw (); extern double cos (double __x) throw (); extern double __cos (double __x) throw (); extern double sin (double __x) throw (); extern double __sin (double __x) throw (); extern double tan (double __x) throw (); extern double __tan (double __x) throw (); extern double cosh (double __x) throw (); extern double __cosh (double __x) throw (); extern double sinh (double __x) throw (); extern double __sinh (double __x) throw (); extern double tanh (double __x) throw (); extern double __tanh (double __x) throw (); extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw (); extern double acosh (double __x) throw (); extern double __acosh (double __x) throw (); extern double asinh (double __x) throw (); extern double __asinh (double __x) throw (); extern double atanh (double __x) throw (); extern double __atanh (double __x) throw (); extern double exp (double __x) throw (); extern double __exp (double __x) throw (); extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw (); extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw (); extern double log (double __x) throw (); extern double __log (double __x) throw (); extern double log10 (double __x) throw (); extern double __log10 (double __x) throw (); extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw (); extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw (); extern double pow10 (double __x) throw (); extern double __pow10 (double __x) throw (); extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw (); extern double log1p (double __x) throw (); extern double __log1p (double __x) throw (); extern double logb (double __x) throw (); extern double __logb (double __x) throw (); extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw (); extern double log2 (double __x) throw (); extern double __log2 (double __x) throw (); extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw (); extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw (); extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw (); extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw (); extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__)); extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__)); extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__)); extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw (); extern int __isinf (double __value) throw () __attribute__ ((__const__)); extern int __finite (double __value) throw () __attribute__ ((__const__)); extern int isinf (double __value) throw () __attribute__ ((__const__)); extern int finite (double __value) throw () __attribute__ ((__const__)); extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); extern double significand (double __x) throw (); extern double __significand (double __x) throw (); extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnan (double __value) throw () __attribute__ ((__const__)); extern int isnan (double __value) throw () __attribute__ ((__const__)); extern double j0 (double) throw (); extern double __j0 (double) throw (); extern double j1 (double) throw (); extern double __j1 (double) throw (); extern double jn (int, double) throw (); extern double __jn (int, double) throw (); extern double y0 (double) throw (); extern double __y0 (double) throw (); extern double y1 (double) throw (); extern double __y1 (double) throw (); extern double yn (int, double) throw (); extern double __yn (int, double) throw (); extern double erf (double) throw (); extern double __erf (double) throw (); extern double erfc (double) throw (); extern double __erfc (double) throw (); extern double lgamma (double) throw (); extern double __lgamma (double) throw (); extern double tgamma (double) throw (); extern double __tgamma (double) throw (); extern double gamma (double) throw (); extern double __gamma (double) throw (); extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); extern double rint (double __x) throw (); extern double __rint (double __x) throw (); extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw (); extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw (); extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw (); extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw (); extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw (); extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__)); extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw (); extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw (); extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw (); extern long int lround (double __x) throw (); extern long int __lround (double __x) throw (); extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw (); extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw (); extern double fmax (double __x, double __y) throw (); extern double __fmax (double __x, double __y) throw (); extern double fmin (double __x, double __y) throw (); extern double __fmin (double __x, double __y) throw (); extern int __fpclassify (double __value) throw () __attribute__ ((__const__)); extern int __signbit (double __value) throw () __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); # 71 "/usr/include/math.h" 2 3 4 # 93 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) throw (); extern float __acosf (float __x) throw (); extern float asinf (float __x) throw (); extern float __asinf (float __x) throw (); extern float atanf (float __x) throw (); extern float __atanf (float __x) throw (); extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw (); extern float cosf (float __x) throw (); extern float __cosf (float __x) throw (); extern float sinf (float __x) throw (); extern float __sinf (float __x) throw (); extern float tanf (float __x) throw (); extern float __tanf (float __x) throw (); extern float coshf (float __x) throw (); extern float __coshf (float __x) throw (); extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw (); extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw (); extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw (); extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw (); extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw (); extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw (); extern float expf (float __x) throw (); extern float __expf (float __x) throw (); extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw (); extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw (); extern float logf (float __x) throw (); extern float __logf (float __x) throw (); extern float log10f (float __x) throw (); extern float __log10f (float __x) throw (); extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw (); extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw (); extern float pow10f (float __x) throw (); extern float __pow10f (float __x) throw (); extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw (); extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw (); extern float logbf (float __x) throw (); extern float __logbf (float __x) throw (); extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw (); extern float log2f (float __x) throw (); extern float __log2f (float __x) throw (); extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw (); extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw (); extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw (); extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw (); extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__)); extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__)); extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__)); extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw (); extern int __isinff (float __value) throw () __attribute__ ((__const__)); extern int __finitef (float __value) throw () __attribute__ ((__const__)); extern int isinff (float __value) throw () __attribute__ ((__const__)); extern int finitef (float __value) throw () __attribute__ ((__const__)); extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw (); extern float significandf (float __x) throw (); extern float __significandf (float __x) throw (); extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanf (float __value) throw () __attribute__ ((__const__)); extern int isnanf (float __value) throw () __attribute__ ((__const__)); extern float j0f (float) throw (); extern float __j0f (float) throw (); extern float j1f (float) throw (); extern float __j1f (float) throw (); extern float jnf (int, float) throw (); extern float __jnf (int, float) throw (); extern float y0f (float) throw (); extern float __y0f (float) throw (); extern float y1f (float) throw (); extern float __y1f (float) throw (); extern float ynf (int, float) throw (); extern float __ynf (int, float) throw (); extern float erff (float) throw (); extern float __erff (float) throw (); extern float erfcf (float) throw (); extern float __erfcf (float) throw (); extern float lgammaf (float) throw (); extern float __lgammaf (float) throw (); extern float tgammaf (float) throw (); extern float __tgammaf (float) throw (); extern float gammaf (float) throw (); extern float __gammaf (float) throw (); extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw (); extern float rintf (float __x) throw (); extern float __rintf (float __x) throw (); extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw (); extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw (); extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw (); extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw (); extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw (); extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__)); extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw (); extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw (); extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw (); extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw (); extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw (); extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw (); extern float fmaxf (float __x, float __y) throw (); extern float __fmaxf (float __x, float __y) throw (); extern float fminf (float __x, float __y) throw (); extern float __fminf (float __x, float __y) throw (); extern int __fpclassifyf (float __value) throw () __attribute__ ((__const__)); extern int __signbitf (float __value) throw () __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); # 94 "/usr/include/math.h" 2 3 4 # 114 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw (); extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw (); extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw (); extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw (); extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw (); extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw (); extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw (); extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw (); extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw (); extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw (); extern void sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw (); extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw (); extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw (); extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw (); extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw (); extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw (); extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw (); extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw (); extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw (); extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw (); extern long double pow10l (long double __x) throw (); extern long double __pow10l (long double __x) throw (); extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw (); extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw (); extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw (); extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw (); extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw (); extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw (); extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw (); extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw (); extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw (); extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__)); extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw (); extern int __isinfl (long double __value) throw () __attribute__ ((__const__)); extern int __finitel (long double __value) throw () __attribute__ ((__const__)); extern int isinfl (long double __value) throw () __attribute__ ((__const__)); extern int finitel (long double __value) throw () __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw (); extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw (); extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanl (long double __value) throw () __attribute__ ((__const__)); extern int isnanl (long double __value) throw () __attribute__ ((__const__)); extern long double j0l (long double) throw (); extern long double __j0l (long double) throw (); extern long double j1l (long double) throw (); extern long double __j1l (long double) throw (); extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw (); extern long double y0l (long double) throw (); extern long double __y0l (long double) throw (); extern long double y1l (long double) throw (); extern long double __y1l (long double) throw (); extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw (); extern long double erfl (long double) throw (); extern long double __erfl (long double) throw (); extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw (); extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw (); extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw (); extern long double gammal (long double) throw (); extern long double __gammal (long double) throw (); extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw (); extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw (); extern long double nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw (); extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw (); extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw (); extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw (); extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw (); extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__)); extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw (); extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw (); extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw (); extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw (); extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw (); extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw (); extern long double fmaxl (long double __x, long double __y) throw (); extern long double __fmaxl (long double __x, long double __y) throw (); extern long double fminl (long double __x, long double __y) throw (); extern long double __fminl (long double __x, long double __y) throw (); extern int __fpclassifyl (long double __value) throw () __attribute__ ((__const__)); extern int __signbitl (long double __value) throw () __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw (); extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw (); # 115 "/usr/include/math.h" 2 3 4 # 130 "/usr/include/math.h" 3 4 extern int signgam; # 171 "/usr/include/math.h" 3 4 enum { FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL }; # 257 "/usr/include/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 280 "/usr/include/math.h" 3 4 struct __exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct __exception *__exc) throw (); # 382 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathinline.h" 1 3 4 # 126 "/usr/include/bits/mathinline.h" 3 4 __inline int __signbitf (float __x) throw () { __extension__ union { float __f; int __i; } __u = { __f: __x }; return __u.__i < 0; } __inline int __signbit (double __x) throw () { __extension__ union { double __d; int __i[2]; } __u = { __d: __x }; return __u.__i[1] < 0; } __inline int __signbitl (long double __x) throw () { __extension__ union { long double __l; int __i[3]; } __u = { __l: __x }; return (__u.__i[2] & 0x8000) != 0; } # 383 "/usr/include/math.h" 2 3 4 # 438 "/usr/include/math.h" 3 4 } # 37 "knuminput.cpp" 2 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/algorithm" 1 3 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/algorithm" 3 # 65 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/algorithm" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 1 3 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3 # 35 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/os_defines.h" 1 3 # 36 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 2 3 # 57 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 3 namespace __gnu_debug_def { } namespace __gnu_debug { using namespace __gnu_debug_def; } # 65 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstring" 1 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstring" 3 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstring" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstddef" 1 3 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstddef" 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstddef" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 151 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 3 4 typedef int ptrdiff_t; # 213 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 3 4 typedef unsigned int size_t; # 49 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstddef" 2 3 namespace std { using ::ptrdiff_t; using ::size_t; } # 50 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstring" 2 3 # 1 "/usr/include/string.h" 1 3 4 # 28 "/usr/include/string.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw (); extern void *memmove (void *__dest, __const void *__src, size_t __n) throw (); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) throw (); extern void *memset (void *__s, int __c, size_t __n) throw (); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern void *memchr (__const void *__s, int __c, size_t __n) throw () __attribute__ ((__pure__)); extern void *rawmemchr (__const void *__s, int __c) throw () __attribute__ ((__pure__)); extern void *memrchr (__const void *__s, int __c, size_t __n) throw () __attribute__ ((__pure__)); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) throw (); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw (); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) throw (); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw (); extern int strcmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern int strcoll (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw (); # 1 "/usr/include/xlocale.h" 1 3 4 # 28 "/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; # 115 "/usr/include/string.h" 2 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) throw () __attribute__ ((__pure__)); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) throw (); extern char *strdup (__const char *__s) throw () __attribute__ ((__malloc__)); extern char *strndup (__const char *__string, size_t __n) throw () __attribute__ ((__malloc__)); # 160 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) throw () __attribute__ ((__pure__)); extern char *strrchr (__const char *__s, int __c) throw () __attribute__ ((__pure__)); extern char *strchrnul (__const char *__s, int __c) throw () __attribute__ ((__pure__)); extern size_t strcspn (__const char *__s, __const char *__reject) throw () __attribute__ ((__pure__)); extern size_t strspn (__const char *__s, __const char *__accept) throw () __attribute__ ((__pure__)); extern char *strpbrk (__const char *__s, __const char *__accept) throw () __attribute__ ((__pure__)); extern char *strstr (__const char *__haystack, __const char *__needle) throw () __attribute__ ((__pure__)); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) throw (); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw (); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw (); extern char *strcasestr (__const char *__haystack, __const char *__needle) throw () __attribute__ ((__pure__)); extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) throw () __attribute__ ((__pure__)); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw (); extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw (); extern size_t strlen (__const char *__s) throw () __attribute__ ((__pure__)); extern size_t strnlen (__const char *__string, size_t __maxlen) throw () __attribute__ ((__pure__)); extern char *strerror (int __errnum) throw (); # 268 "/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw (); extern void __bzero (void *__s, size_t __n) throw (); extern void bcopy (__const void *__src, void *__dest, size_t __n) throw (); extern void bzero (void *__s, size_t __n) throw (); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern char *index (__const char *__s, int __c) throw () __attribute__ ((__pure__)); extern char *rindex (__const char *__s, int __c) throw () __attribute__ ((__pure__)); extern int ffs (int __i) throw () __attribute__ ((__const__)); extern int ffsl (long int __l) throw () __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) throw () __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern int strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) throw () __attribute__ ((__pure__)); extern int strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) throw () __attribute__ ((__pure__)); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) throw (); extern int strverscmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)); extern char *strsignal (int __sig) throw (); extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) throw (); extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) throw (); extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw (); extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw (); extern char *strfry (char *__string) throw (); extern void *memfrob (void *__s, size_t __n) throw (); extern char *basename (__const char *__filename) throw (); # 400 "/usr/include/string.h" 3 4 } # 52 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstring" 2 3 # 77 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstring" 3 namespace std { using ::memcpy; using ::memmove; using ::strcpy; using ::strncpy; using ::strcat; using ::strncat; using ::memcmp; using ::strcmp; using ::strcoll; using ::strncmp; using ::strxfrm; using ::strcspn; using ::strspn; using ::strtok; using ::memset; using ::strerror; using ::strlen; using ::memchr; inline void* memchr(void* __p, int __c, size_t __n) { return memchr(const_cast(__p), __c, __n); } using ::strchr; inline char* strchr(char* __s1, int __n) { return __builtin_strchr(const_cast(__s1), __n); } using ::strpbrk; inline char* strpbrk(char* __s1, const char* __s2) { return __builtin_strpbrk(const_cast(__s1), __s2); } using ::strrchr; inline char* strrchr(char* __s1, int __n) { return __builtin_strrchr(const_cast(__s1), __n); } using ::strstr; inline char* strstr(char* __s1, const char* __s2) { return __builtin_strstr(const_cast(__s1), __s2); } } # 66 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/climits" 1 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/climits" 3 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/climits" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 # 50 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/climits" 2 3 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdlib" 1 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdlib" 3 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdlib" 3 # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 43 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 63 "/usr/include/bits/waitstatus.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/include/endian.h" 2 3 4 # 64 "/usr/include/bits/waitstatus.h" 2 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 44 "/usr/include/stdlib.h" 2 3 4 # 93 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 137 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) throw (); extern double atof (__const char *__nptr) throw () __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) throw () __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) throw () __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) throw () __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw (); extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw (); extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw (); extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw (); extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw (); __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw (); __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw (); # 229 "/usr/include/stdlib.h" 3 4 extern long int strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw (); extern unsigned long int strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern long long int strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern unsigned long long int strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw (); extern double strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw (); extern float strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw (); extern long double strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw (); extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw (); extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw (); extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw (); extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw (); extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw (); __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw (); __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) throw (); extern __inline double strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw () { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoul_internal (__nptr, __endptr, __base, 0); } extern __inline float strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw () { return __strtof_internal (__nptr, __endptr, 0); } extern __inline long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw () { return __strtold_internal (__nptr, __endptr, 0); } __extension__ extern __inline long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double atof (__const char *__nptr) throw () { return strtod (__nptr, (char **) __null); } extern __inline int atoi (__const char *__nptr) throw () { return (int) strtol (__nptr, (char **) __null, 10); } extern __inline long int atol (__const char *__nptr) throw () { return strtol (__nptr, (char **) __null, 10); } __extension__ extern __inline long long int atoll (__const char *__nptr) throw () { return strtoll (__nptr, (char **) __null, 10); } # 408 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) throw (); extern long int a64l (__const char *__s) throw () __attribute__ ((__pure__)); # 1 "/usr/include/sys/types.h" 1 3 4 # 29 "/usr/include/sys/types.h" 3 4 extern "C" { # 1 "/usr/include/bits/types.h" 1 3 4 # 28 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 32 "/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 129 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 130 "/usr/include/bits/types.h" 2 3 4 __extension__ typedef unsigned long long int __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef unsigned long long int __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef long long int __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef unsigned long long int __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef long long int __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef unsigned long long int __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef unsigned long long int __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 32 "/usr/include/sys/types.h" 2 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 58 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 74 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 134 "/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 148 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 191 "/usr/include/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 216 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 31 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 32 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 23 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 118 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 69 "/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 4 # 55 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/sys/select.h" 3 4 extern "C" { # 109 "/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); } # 217 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 29 "/usr/include/sys/sysmacros.h" 3 4 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) throw (); __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) throw (); __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw (); __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) throw () { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) throw () { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 220 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 258 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 36 "/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[36]; long int __align; } pthread_attr_t; typedef union { struct { int __lock; unsigned int __count; int __owner; int __kind; unsigned int __nusers; int __spins; } __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; long int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; int __clock; unsigned long long int __total_seq; unsigned long long int __wakeup_seq; unsigned long long int __woken_seq; void *__mutex; } __data; char __size[48]; long long int __align; } pthread_cond_t; typedef union { char __size[4]; long int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; unsigned int __flags; int __writer; } __data; char __size[32]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 267 "/usr/include/sys/types.h" 2 3 4 } # 417 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) throw (); extern void srandom (unsigned int __seed) throw (); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) throw (); extern char *setstate (char *__statebuf) throw (); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) throw (); extern int srandom_r (unsigned int __seed, struct random_data *__buf) throw (); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) throw (); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) throw (); extern int rand (void) throw (); extern void srand (unsigned int __seed) throw (); extern int rand_r (unsigned int *__seed) throw (); extern double drand48 (void) throw (); extern double erand48 (unsigned short int __xsubi[3]) throw (); extern long int lrand48 (void) throw (); extern long int nrand48 (unsigned short int __xsubi[3]) throw (); extern long int mrand48 (void) throw (); extern long int jrand48 (unsigned short int __xsubi[3]) throw (); extern void srand48 (long int __seedval) throw (); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) throw (); extern void lcong48 (unsigned short int __param[7]) throw (); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) throw (); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) throw (); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw (); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw (); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw (); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw (); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) throw (); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) throw (); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) throw (); extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__malloc__)); extern void free (void *__ptr) throw (); extern void cfree (void *__ptr) throw (); # 1 "/usr/include/alloca.h" 1 3 4 # 25 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 3 4 extern "C" { extern void *alloca (size_t __size) throw (); } # 579 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) throw () __attribute__ ((__malloc__)); extern void abort (void) throw () __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) throw (); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) throw (); extern void exit (int __status) throw () __attribute__ ((__noreturn__)); extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) throw (); extern char *__secure_getenv (__const char *__name) throw (); extern int putenv (char *__string) throw (); extern int setenv (__const char *__name, __const char *__value, int __replace) throw (); extern int unsetenv (__const char *__name) throw (); extern int clearenv (void) throw (); # 663 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) throw (); # 674 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template); # 683 "/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template); # 693 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) throw (); extern int system (__const char *__command); extern char *canonicalize_file_name (__const char *__name) throw (); # 720 "/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) throw (); typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) throw () __attribute__ ((__const__)); extern long int labs (long int __x) throw () __attribute__ ((__const__)); __extension__ extern long long int llabs (long long int __x) throw () __attribute__ ((__const__)); extern div_t div (int __numer, int __denom) throw () __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) throw () __attribute__ ((__const__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) throw () __attribute__ ((__const__)); # 784 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw (); extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw (); extern char *gcvt (double __value, int __ndigit, char *__buf) throw (); extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw (); extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw (); extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw (); extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw (); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw (); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw (); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw (); extern int mblen (__const char *__s, size_t __n) throw (); extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) throw (); extern int wctomb (char *__s, wchar_t __wchar) throw (); extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) throw (); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) throw (); extern int rpmatch (__const char *__response) throw (); # 866 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) throw (); extern void setkey (__const char *__key) throw (); extern int posix_openpt (int __oflag); extern int grantpt (int __fd) throw (); extern int unlockpt (int __fd) throw (); extern char *ptsname (int __fd) throw (); extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw (); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) throw (); } # 53 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdlib" 2 3 # 84 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdlib" 3 namespace std { using ::div_t; using ::ldiv_t; using ::abort; using ::abs; using ::atexit; using ::atof; using ::atoi; using ::atol; using ::bsearch; using ::calloc; using ::div; using ::exit; using ::free; using ::getenv; using ::labs; using ::ldiv; using ::malloc; using ::mblen; using ::mbstowcs; using ::mbtowc; using ::qsort; using ::rand; using ::realloc; using ::srand; using ::strtod; using ::strtol; using ::strtoul; using ::system; using ::wcstombs; using ::wctomb; inline long abs(long __i) { return labs(__i); } inline ldiv_t div(long __i, long __j) { return ldiv(__i, __j); } } # 140 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdlib" 3 namespace __gnu_cxx { using ::lldiv_t; using ::_Exit; inline long long abs(long long __x) { return __x >= 0 ? __x : -__x; } inline long long llabs(long long __x) { return __x >= 0 ? __x : -__x; } inline lldiv_t div(long long __n, long long __d) { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } inline lldiv_t lldiv(long long __n, long long __d) { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } # 176 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdlib" 3 using ::atoll; using ::strtoll; using ::strtoull; using ::strtof; using ::strtold; } namespace std { using __gnu_cxx::lldiv_t; using __gnu_cxx::_Exit; using __gnu_cxx::abs; using __gnu_cxx::llabs; using __gnu_cxx::div; using __gnu_cxx::lldiv; using __gnu_cxx::atoll; using __gnu_cxx::strtof; using __gnu_cxx::strtoll; using __gnu_cxx::strtoull; using __gnu_cxx::strtold; } # 68 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/new" 1 3 # 42 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/new" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/exception" 1 3 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/exception" 3 extern "C++" { namespace std { # 52 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/exception" 3 class exception { public: exception() throw() { } virtual ~exception() throw(); virtual const char* what() const throw(); }; class bad_exception : public exception { public: bad_exception() throw() { } virtual ~bad_exception() throw(); }; typedef void (*terminate_handler) (); typedef void (*unexpected_handler) (); terminate_handler set_terminate(terminate_handler) throw(); void terminate() __attribute__ ((__noreturn__)); unexpected_handler set_unexpected(unexpected_handler) throw(); void unexpected() __attribute__ ((__noreturn__)); # 100 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/exception" 3 bool uncaught_exception() throw(); } namespace __gnu_cxx { # 115 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/exception" 3 void __verbose_terminate_handler (); } } # 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/new" 2 3 extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } virtual ~bad_alloc() throw(); }; struct nothrow_t { }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); } # 82 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/new" 3 void* operator new(std::size_t) throw (std::bad_alloc); void* operator new[](std::size_t) throw (std::bad_alloc); void operator delete(void*) throw(); void operator delete[](void*) throw(); void* operator new(std::size_t, const std::nothrow_t&) throw(); void* operator new[](std::size_t, const std::nothrow_t&) throw(); void operator delete(void*, const std::nothrow_t&) throw(); void operator delete[](void*, const std::nothrow_t&) throw(); inline void* operator new(std::size_t, void* __p) throw() { return __p; } inline void* operator new[](std::size_t, void* __p) throw() { return __p; } inline void operator delete (void*, void*) throw() { } inline void operator delete[](void*, void*) throw() { } } # 70 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 1 3 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 3 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 1 3 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 3 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdio" 1 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdio" 3 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdio" 3 # 1 "/usr/include/stdio.h" 1 3 4 # 30 "/usr/include/stdio.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 35 "/usr/include/stdio.h" 2 3 4 # 44 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE FILE; # 62 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 72 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 32 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 14 "/usr/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 354 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 4 # 24 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 51 "/usr/include/wchar.h" 2 3 4 # 76 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 28 "/usr/include/gconv.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gconv.h" 2 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 32 "/usr/include/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 4 # 53 "/usr/include/libio.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 4 # 163 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 173 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 196 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 264 "/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 312 "/usr/include/libio.h" 3 4 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 351 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern "C" { extern int __underflow (_IO_FILE *) throw (); extern int __uflow (_IO_FILE *) throw (); extern int __overflow (_IO_FILE *, int) throw (); extern wint_t __wunderflow (_IO_FILE *) throw (); extern wint_t __wuflow (_IO_FILE *) throw (); extern wint_t __woverflow (_IO_FILE *, wint_t) throw (); # 441 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp) throw (); extern int _IO_putc (int __c, _IO_FILE *__fp) throw (); extern int _IO_feof (_IO_FILE *__fp) throw (); extern int _IO_ferror (_IO_FILE *__fp) throw (); extern int _IO_peekc_locked (_IO_FILE *__fp) throw (); extern void _IO_flockfile (_IO_FILE *) throw (); extern void _IO_funlockfile (_IO_FILE *) throw (); extern int _IO_ftrylockfile (_IO_FILE *) throw (); # 471 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) throw (); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) throw (); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) throw (); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) throw (); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) throw (); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) throw (); extern void _IO_free_backup_area (_IO_FILE *) throw (); # 529 "/usr/include/libio.h" 3 4 } # 73 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 86 "/usr/include/stdio.h" 3 4 typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 138 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 139 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) throw (); extern int rename (__const char *__old, __const char *__new) throw (); extern FILE *tmpfile (void); # 174 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void); extern char *tmpnam (char *__s) throw (); extern char *tmpnam_r (char *__s) throw (); # 196 "/usr/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) throw () __attribute__ ((__malloc__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 221 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 231 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); # 262 "/usr/include/stdio.h" 3 4 extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); extern FILE *fdopen (int __fd, __const char *__modes) throw (); extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) throw (); extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw (); extern FILE *open_memstream (char **__restrict __bufloc, size_t *__restrict __sizeloc) throw (); extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) throw (); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) throw (); extern void setlinebuf (FILE *__stream) throw (); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) throw (); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw (); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 2, 0))); extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))); extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))); extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int scanf (__const char *__restrict __format, ...); extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) throw (); extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))); extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__scanf__, 2, 0))); extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 454 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 465 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 498 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); extern char *gets (char *__s); # 543 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream); # 559 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream); extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream); extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream); extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 620 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream); # 631 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream); extern void rewind (FILE *__stream); # 667 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream); # 686 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 709 "/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream); extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); extern void clearerr (FILE *__stream) throw (); extern int feof (FILE *__stream) throw (); extern int ferror (FILE *__stream) throw (); extern void clearerr_unlocked (FILE *__stream) throw (); extern int feof_unlocked (FILE *__stream) throw (); extern int ferror_unlocked (FILE *__stream) throw (); extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; extern int _sys_nerr; extern __const char *__const _sys_errlist[]; # 748 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) throw (); extern int fileno_unlocked (FILE *__stream) throw (); # 767 "/usr/include/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes); extern int pclose (FILE *__stream); extern char *ctermid (char *__s) throw (); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) throw () __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) throw (); extern int ftrylockfile (FILE *__stream) throw (); extern void funlockfile (FILE *__stream) throw (); # 828 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio.h" 1 3 4 # 33 "/usr/include/bits/stdio.h" 3 4 inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } inline int getchar (void) { return _IO_getc (stdin); } inline int getc_unlocked (FILE *__fp) { return (__builtin_expect ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end, 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } inline int getchar_unlocked (void) { return (__builtin_expect ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end, 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } inline int putchar (int __c) { return _IO_putc (__c, stdout); } inline int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } inline int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } inline int putchar_unlocked (int __c) { return (__builtin_expect ((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end, 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } inline __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } inline int feof_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x10) != 0); } inline int ferror_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x20) != 0); } # 829 "/usr/include/stdio.h" 2 3 4 } # 53 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdio" 2 3 # 97 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdio" 3 namespace std { using ::FILE; using ::fpos_t; using ::clearerr; using ::fclose; using ::feof; using ::ferror; using ::fflush; using ::fgetc; using ::fgetpos; using ::fgets; using ::fopen; using ::fprintf; using ::fputc; using ::fputs; using ::fread; using ::freopen; using ::fscanf; using ::fseek; using ::fsetpos; using ::ftell; using ::fwrite; using ::getc; using ::getchar; using ::gets; using ::perror; using ::printf; using ::putc; using ::putchar; using ::puts; using ::remove; using ::rename; using ::rewind; using ::scanf; using ::setbuf; using ::setvbuf; using ::sprintf; using ::sscanf; using ::tmpfile; using ::tmpnam; using ::ungetc; using ::vfprintf; using ::vprintf; using ::vsprintf; } # 153 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdio" 3 namespace __gnu_cxx { # 167 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cstdio" 3 using ::snprintf; using ::vfscanf; using ::vscanf; using ::vsnprintf; using ::vsscanf; } namespace std { using __gnu_cxx::snprintf; using __gnu_cxx::vfscanf; using __gnu_cxx::vscanf; using __gnu_cxx::vsnprintf; using __gnu_cxx::vsscanf; } # 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/clocale" 1 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/clocale" 3 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/clocale" 3 # 1 "/usr/include/locale.h" 1 3 4 # 29 "/usr/include/locale.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 30 "/usr/include/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 27 "/usr/include/bits/locale.h" 3 4 enum { __LC_CTYPE = 0, __LC_NUMERIC = 1, __LC_TIME = 2, __LC_COLLATE = 3, __LC_MONETARY = 4, __LC_MESSAGES = 5, __LC_ALL = 6, __LC_PAPER = 7, __LC_NAME = 8, __LC_ADDRESS = 9, __LC_TELEPHONE = 10, __LC_MEASUREMENT = 11, __LC_IDENTIFICATION = 12 }; # 31 "/usr/include/locale.h" 2 3 4 extern "C" { # 52 "/usr/include/locale.h" 3 4 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; # 119 "/usr/include/locale.h" 3 4 }; extern char *setlocale (int __category, __const char *__locale) throw (); extern struct lconv *localeconv (void) throw (); # 148 "/usr/include/locale.h" 3 4 typedef __locale_t locale_t; extern __locale_t newlocale (int __category_mask, __const char *__locale, __locale_t __base) throw (); # 189 "/usr/include/locale.h" 3 4 extern __locale_t duplocale (__locale_t __dataset) throw (); extern void freelocale (__locale_t __dataset) throw (); extern __locale_t uselocale (__locale_t __dataset) throw (); } # 50 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/clocale" 2 3 namespace std { using ::lconv; using ::setlocale; using ::localeconv; } # 44 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 2 3 # 1 "/usr/include/langinfo.h" 1 3 4 # 24 "/usr/include/langinfo.h" 3 4 # 1 "/usr/include/nl_types.h" 1 3 4 # 31 "/usr/include/nl_types.h" 3 4 extern "C" { typedef void *nl_catd; typedef int nl_item; extern nl_catd catopen (__const char *__cat_name, int __flag); extern char *catgets (nl_catd __catalog, int __set, int __number, __const char *__string) throw (); extern int catclose (nl_catd __catalog) throw (); } # 25 "/usr/include/langinfo.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 27 "/usr/include/langinfo.h" 2 3 4 extern "C" { # 43 "/usr/include/langinfo.h" 3 4 enum { ABDAY_1 = (((__LC_TIME) << 16) | (0)), ABDAY_2, ABDAY_3, ABDAY_4, ABDAY_5, ABDAY_6, ABDAY_7, DAY_1, DAY_2, DAY_3, DAY_4, DAY_5, DAY_6, DAY_7, ABMON_1, ABMON_2, ABMON_3, ABMON_4, ABMON_5, ABMON_6, ABMON_7, ABMON_8, ABMON_9, ABMON_10, ABMON_11, ABMON_12, MON_1, MON_2, MON_3, MON_4, MON_5, MON_6, MON_7, MON_8, MON_9, MON_10, MON_11, MON_12, AM_STR, PM_STR, D_T_FMT, D_FMT, T_FMT, T_FMT_AMPM, ERA, __ERA_YEAR, ERA_D_FMT, ALT_DIGITS, ERA_D_T_FMT, ERA_T_FMT, _NL_TIME_ERA_NUM_ENTRIES, _NL_TIME_ERA_ENTRIES, _NL_WABDAY_1, _NL_WABDAY_2, _NL_WABDAY_3, _NL_WABDAY_4, _NL_WABDAY_5, _NL_WABDAY_6, _NL_WABDAY_7, _NL_WDAY_1, _NL_WDAY_2, _NL_WDAY_3, _NL_WDAY_4, _NL_WDAY_5, _NL_WDAY_6, _NL_WDAY_7, _NL_WABMON_1, _NL_WABMON_2, _NL_WABMON_3, _NL_WABMON_4, _NL_WABMON_5, _NL_WABMON_6, _NL_WABMON_7, _NL_WABMON_8, _NL_WABMON_9, _NL_WABMON_10, _NL_WABMON_11, _NL_WABMON_12, _NL_WMON_1, _NL_WMON_2, _NL_WMON_3, _NL_WMON_4, _NL_WMON_5, _NL_WMON_6, _NL_WMON_7, _NL_WMON_8, _NL_WMON_9, _NL_WMON_10, _NL_WMON_11, _NL_WMON_12, _NL_WAM_STR, _NL_WPM_STR, _NL_WD_T_FMT, _NL_WD_FMT, _NL_WT_FMT, _NL_WT_FMT_AMPM, _NL_WERA_YEAR, _NL_WERA_D_FMT, _NL_WALT_DIGITS, _NL_WERA_D_T_FMT, _NL_WERA_T_FMT, _NL_TIME_WEEK_NDAYS, _NL_TIME_WEEK_1STDAY, _NL_TIME_WEEK_1STWEEK, _NL_TIME_FIRST_WEEKDAY, _NL_TIME_FIRST_WORKDAY, _NL_TIME_CAL_DIRECTION, _NL_TIME_TIMEZONE, _DATE_FMT, _NL_W_DATE_FMT, _NL_TIME_CODESET, _NL_NUM_LC_TIME, _NL_COLLATE_NRULES = (((__LC_COLLATE) << 16) | (0)), _NL_COLLATE_RULESETS, _NL_COLLATE_TABLEMB, _NL_COLLATE_WEIGHTMB, _NL_COLLATE_EXTRAMB, _NL_COLLATE_INDIRECTMB, _NL_COLLATE_GAP1, _NL_COLLATE_GAP2, _NL_COLLATE_GAP3, _NL_COLLATE_TABLEWC, _NL_COLLATE_WEIGHTWC, _NL_COLLATE_EXTRAWC, _NL_COLLATE_INDIRECTWC, _NL_COLLATE_SYMB_HASH_SIZEMB, _NL_COLLATE_SYMB_TABLEMB, _NL_COLLATE_SYMB_EXTRAMB, _NL_COLLATE_COLLSEQMB, _NL_COLLATE_COLLSEQWC, _NL_COLLATE_CODESET, _NL_NUM_LC_COLLATE, _NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)), _NL_CTYPE_TOUPPER, _NL_CTYPE_GAP1, _NL_CTYPE_TOLOWER, _NL_CTYPE_GAP2, _NL_CTYPE_CLASS32, _NL_CTYPE_GAP3, _NL_CTYPE_GAP4, _NL_CTYPE_GAP5, _NL_CTYPE_GAP6, _NL_CTYPE_CLASS_NAMES, _NL_CTYPE_MAP_NAMES, _NL_CTYPE_WIDTH, _NL_CTYPE_MB_CUR_MAX, _NL_CTYPE_CODESET_NAME, CODESET = _NL_CTYPE_CODESET_NAME, _NL_CTYPE_TOUPPER32, _NL_CTYPE_TOLOWER32, _NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET, _NL_CTYPE_INDIGITS_MB_LEN, _NL_CTYPE_INDIGITS0_MB, _NL_CTYPE_INDIGITS1_MB, _NL_CTYPE_INDIGITS2_MB, _NL_CTYPE_INDIGITS3_MB, _NL_CTYPE_INDIGITS4_MB, _NL_CTYPE_INDIGITS5_MB, _NL_CTYPE_INDIGITS6_MB, _NL_CTYPE_INDIGITS7_MB, _NL_CTYPE_INDIGITS8_MB, _NL_CTYPE_INDIGITS9_MB, _NL_CTYPE_INDIGITS_WC_LEN, _NL_CTYPE_INDIGITS0_WC, _NL_CTYPE_INDIGITS1_WC, _NL_CTYPE_INDIGITS2_WC, _NL_CTYPE_INDIGITS3_WC, _NL_CTYPE_INDIGITS4_WC, _NL_CTYPE_INDIGITS5_WC, _NL_CTYPE_INDIGITS6_WC, _NL_CTYPE_INDIGITS7_WC, _NL_CTYPE_INDIGITS8_WC, _NL_CTYPE_INDIGITS9_WC, _NL_CTYPE_OUTDIGIT0_MB, _NL_CTYPE_OUTDIGIT1_MB, _NL_CTYPE_OUTDIGIT2_MB, _NL_CTYPE_OUTDIGIT3_MB, _NL_CTYPE_OUTDIGIT4_MB, _NL_CTYPE_OUTDIGIT5_MB, _NL_CTYPE_OUTDIGIT6_MB, _NL_CTYPE_OUTDIGIT7_MB, _NL_CTYPE_OUTDIGIT8_MB, _NL_CTYPE_OUTDIGIT9_MB, _NL_CTYPE_OUTDIGIT0_WC, _NL_CTYPE_OUTDIGIT1_WC, _NL_CTYPE_OUTDIGIT2_WC, _NL_CTYPE_OUTDIGIT3_WC, _NL_CTYPE_OUTDIGIT4_WC, _NL_CTYPE_OUTDIGIT5_WC, _NL_CTYPE_OUTDIGIT6_WC, _NL_CTYPE_OUTDIGIT7_WC, _NL_CTYPE_OUTDIGIT8_WC, _NL_CTYPE_OUTDIGIT9_WC, _NL_CTYPE_TRANSLIT_TAB_SIZE, _NL_CTYPE_TRANSLIT_FROM_IDX, _NL_CTYPE_TRANSLIT_FROM_TBL, _NL_CTYPE_TRANSLIT_TO_IDX, _NL_CTYPE_TRANSLIT_TO_TBL, _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN, _NL_CTYPE_TRANSLIT_DEFAULT_MISSING, _NL_CTYPE_TRANSLIT_IGNORE_LEN, _NL_CTYPE_TRANSLIT_IGNORE, _NL_CTYPE_MAP_TO_NONASCII, _NL_CTYPE_EXTRA_MAP_1, _NL_CTYPE_EXTRA_MAP_2, _NL_CTYPE_EXTRA_MAP_3, _NL_CTYPE_EXTRA_MAP_4, _NL_CTYPE_EXTRA_MAP_5, _NL_CTYPE_EXTRA_MAP_6, _NL_CTYPE_EXTRA_MAP_7, _NL_CTYPE_EXTRA_MAP_8, _NL_CTYPE_EXTRA_MAP_9, _NL_CTYPE_EXTRA_MAP_10, _NL_CTYPE_EXTRA_MAP_11, _NL_CTYPE_EXTRA_MAP_12, _NL_CTYPE_EXTRA_MAP_13, _NL_CTYPE_EXTRA_MAP_14, _NL_NUM_LC_CTYPE, __INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)), __CURRENCY_SYMBOL, __MON_DECIMAL_POINT, __MON_THOUSANDS_SEP, __MON_GROUPING, __POSITIVE_SIGN, __NEGATIVE_SIGN, __INT_FRAC_DIGITS, __FRAC_DIGITS, __P_CS_PRECEDES, __P_SEP_BY_SPACE, __N_CS_PRECEDES, __N_SEP_BY_SPACE, __P_SIGN_POSN, __N_SIGN_POSN, _NL_MONETARY_CRNCYSTR, __INT_P_CS_PRECEDES, __INT_P_SEP_BY_SPACE, __INT_N_CS_PRECEDES, __INT_N_SEP_BY_SPACE, __INT_P_SIGN_POSN, __INT_N_SIGN_POSN, _NL_MONETARY_DUO_INT_CURR_SYMBOL, _NL_MONETARY_DUO_CURRENCY_SYMBOL, _NL_MONETARY_DUO_INT_FRAC_DIGITS, _NL_MONETARY_DUO_FRAC_DIGITS, _NL_MONETARY_DUO_P_CS_PRECEDES, _NL_MONETARY_DUO_P_SEP_BY_SPACE, _NL_MONETARY_DUO_N_CS_PRECEDES, _NL_MONETARY_DUO_N_SEP_BY_SPACE, _NL_MONETARY_DUO_INT_P_CS_PRECEDES, _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, _NL_MONETARY_DUO_INT_N_CS_PRECEDES, _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, _NL_MONETARY_DUO_P_SIGN_POSN, _NL_MONETARY_DUO_N_SIGN_POSN, _NL_MONETARY_DUO_INT_P_SIGN_POSN, _NL_MONETARY_DUO_INT_N_SIGN_POSN, _NL_MONETARY_UNO_VALID_FROM, _NL_MONETARY_UNO_VALID_TO, _NL_MONETARY_DUO_VALID_FROM, _NL_MONETARY_DUO_VALID_TO, _NL_MONETARY_CONVERSION_RATE, _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC, _NL_MONETARY_CODESET, _NL_NUM_LC_MONETARY, __DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)), RADIXCHAR = __DECIMAL_POINT, __THOUSANDS_SEP, THOUSEP = __THOUSANDS_SEP, __GROUPING, _NL_NUMERIC_DECIMAL_POINT_WC, _NL_NUMERIC_THOUSANDS_SEP_WC, _NL_NUMERIC_CODESET, _NL_NUM_LC_NUMERIC, __YESEXPR = (((__LC_MESSAGES) << 16) | (0)), __NOEXPR, __YESSTR, __NOSTR, _NL_MESSAGES_CODESET, _NL_NUM_LC_MESSAGES, _NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)), _NL_PAPER_WIDTH, _NL_PAPER_CODESET, _NL_NUM_LC_PAPER, _NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)), _NL_NAME_NAME_GEN, _NL_NAME_NAME_MR, _NL_NAME_NAME_MRS, _NL_NAME_NAME_MISS, _NL_NAME_NAME_MS, _NL_NAME_CODESET, _NL_NUM_LC_NAME, _NL_ADDRESS_POSTAL_FMT = (((__LC_ADDRESS) << 16) | (0)), _NL_ADDRESS_COUNTRY_NAME, _NL_ADDRESS_COUNTRY_POST, _NL_ADDRESS_COUNTRY_AB2, _NL_ADDRESS_COUNTRY_AB3, _NL_ADDRESS_COUNTRY_CAR, _NL_ADDRESS_COUNTRY_NUM, _NL_ADDRESS_COUNTRY_ISBN, _NL_ADDRESS_LANG_NAME, _NL_ADDRESS_LANG_AB, _NL_ADDRESS_LANG_TERM, _NL_ADDRESS_LANG_LIB, _NL_ADDRESS_CODESET, _NL_NUM_LC_ADDRESS, _NL_TELEPHONE_TEL_INT_FMT = (((__LC_TELEPHONE) << 16) | (0)), _NL_TELEPHONE_TEL_DOM_FMT, _NL_TELEPHONE_INT_SELECT, _NL_TELEPHONE_INT_PREFIX, _NL_TELEPHONE_CODESET, _NL_NUM_LC_TELEPHONE, _NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)), _NL_MEASUREMENT_CODESET, _NL_NUM_LC_MEASUREMENT, _NL_IDENTIFICATION_TITLE = (((__LC_IDENTIFICATION) << 16) | (0)), _NL_IDENTIFICATION_SOURCE, _NL_IDENTIFICATION_ADDRESS, _NL_IDENTIFICATION_CONTACT, _NL_IDENTIFICATION_EMAIL, _NL_IDENTIFICATION_TEL, _NL_IDENTIFICATION_FAX, _NL_IDENTIFICATION_LANGUAGE, _NL_IDENTIFICATION_TERRITORY, _NL_IDENTIFICATION_AUDIENCE, _NL_IDENTIFICATION_APPLICATION, _NL_IDENTIFICATION_ABBREVIATION, _NL_IDENTIFICATION_REVISION, _NL_IDENTIFICATION_DATE, _NL_IDENTIFICATION_CATEGORY, _NL_IDENTIFICATION_CODESET, _NL_NUM_LC_IDENTIFICATION, _NL_NUM }; # 576 "/usr/include/langinfo.h" 3 4 extern char *nl_langinfo (nl_item __item) throw (); # 587 "/usr/include/langinfo.h" 3 4 extern char *nl_langinfo_l (nl_item __item, __locale_t l); } # 45 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 2 3 # 1 "/usr/include/iconv.h" 1 3 4 # 24 "/usr/include/iconv.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 25 "/usr/include/iconv.h" 2 3 4 extern "C" { typedef void *iconv_t; extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, size_t *__restrict __inbytesleft, char **__restrict __outbuf, size_t *__restrict __outbytesleft); extern int iconv_close (iconv_t __cd); } # 46 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 2 3 # 1 "/usr/include/libintl.h" 1 3 4 # 35 "/usr/include/libintl.h" 3 4 extern "C" { extern char *gettext (__const char *__msgid) throw (); extern char *dgettext (__const char *__domainname, __const char *__msgid) throw (); extern char *__dgettext (__const char *__domainname, __const char *__msgid) throw () __attribute__ ((__format_arg__ (2))); extern char *dcgettext (__const char *__domainname, __const char *__msgid, int __category) throw (); extern char *__dcgettext (__const char *__domainname, __const char *__msgid, int __category) throw () __attribute__ ((__format_arg__ (2))); extern char *ngettext (__const char *__msgid1, __const char *__msgid2, unsigned long int __n) throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); extern char *dngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n) throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *dcngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n, int __category) throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *textdomain (__const char *__domainname) throw (); extern char *bindtextdomain (__const char *__domainname, __const char *__dirname) throw (); extern char *bind_textdomain_codeset (__const char *__domainname, __const char *__codeset) throw (); # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 100 "/usr/include/libintl.h" 2 3 4 # 120 "/usr/include/libintl.h" 3 4 } # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 2 3 namespace __gnu_cxx { extern "C" __typeof(uselocale) __uselocale; } namespace std { typedef __locale_t __c_locale; template int __convert_from_v(char* __out, const int __size, const char* __fmt, _Tv __v, const __c_locale& __cloc, int __prec = -1) { __c_locale __old = __gnu_cxx::__uselocale(__cloc); # 83 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 3 int __ret; if (__prec >= 0) __ret = std::snprintf(__out, __size, __fmt, __prec, __v); else __ret = std::snprintf(__out, __size, __fmt, __v); # 97 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 3 __gnu_cxx::__uselocale(__old); return __ret; } } # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 1 3 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr.h" 1 3 # 96 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 1 3 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 3 # 1 "/usr/include/pthread.h" 1 3 4 # 23 "/usr/include/pthread.h" 3 4 # 1 "/usr/include/sched.h" 1 3 4 # 29 "/usr/include/sched.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 30 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/bits/sched.h" 1 3 4 # 62 "/usr/include/bits/sched.h" 3 4 struct sched_param { int __sched_priority; }; extern "C" { extern int clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg) throw (); } struct __sched_param { int __sched_priority; }; # 98 "/usr/include/bits/sched.h" 3 4 typedef unsigned long int __cpu_mask; typedef struct { __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; } cpu_set_t; # 33 "/usr/include/sched.h" 2 3 4 extern "C" { extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) throw (); extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); extern int sched_setscheduler (__pid_t __pid, int __policy, __const struct sched_param *__param) throw (); extern int sched_getscheduler (__pid_t __pid) throw (); extern int sched_yield (void) throw (); extern int sched_get_priority_max (int __algorithm) throw (); extern int sched_get_priority_min (int __algorithm) throw (); extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); # 76 "/usr/include/sched.h" 3 4 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw (); extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, cpu_set_t *__cpuset) throw (); } # 24 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/time.h" 1 3 4 # 30 "/usr/include/time.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 39 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 43 "/usr/include/time.h" 2 3 4 # 129 "/usr/include/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; __const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 178 "/usr/include/time.h" 3 4 extern clock_t clock (void) throw (); extern time_t time (time_t *__timer) throw (); extern double difftime (time_t __time1, time_t __time0) throw () __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) throw (); extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) throw (); extern char *strptime (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp) throw (); extern size_t strftime_l (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) throw (); extern char *strptime_l (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) throw (); extern struct tm *gmtime (__const time_t *__timer) throw (); extern struct tm *localtime (__const time_t *__timer) throw (); extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern char *asctime (__const struct tm *__tp) throw (); extern char *ctime (__const time_t *__timer) throw (); extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) throw (); extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) throw (); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) throw (); extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) throw (); # 309 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) throw (); extern time_t timelocal (struct tm *__tp) throw (); extern int dysize (int __year) throw () __attribute__ ((__const__)); # 324 "/usr/include/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) throw (); extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) throw (); extern int timer_delete (timer_t __timerid) throw (); extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) throw (); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) throw (); extern int timer_getoverrun (timer_t __timerid) throw (); # 386 "/usr/include/time.h" 3 4 extern int getdate_err; # 395 "/usr/include/time.h" 3 4 extern struct tm *getdate (__const char *__string); # 409 "/usr/include/time.h" 3 4 extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp); } # 25 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 extern "C" { # 1 "/usr/include/bits/sigset.h" 1 3 4 # 34 "/usr/include/signal.h" 2 3 4 # 392 "/usr/include/signal.h" 3 4 } # 28 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/setjmp.h" 1 3 4 # 38 "/usr/include/bits/setjmp.h" 3 4 typedef int __jmp_buf[6]; # 30 "/usr/include/pthread.h" 2 3 4 enum { PTHREAD_CREATE_JOINABLE, PTHREAD_CREATE_DETACHED }; enum { PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_ADAPTIVE_NP , PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP }; # 77 "/usr/include/pthread.h" 3 4 enum { PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP }; # 96 "/usr/include/pthread.h" 3 4 enum { PTHREAD_INHERIT_SCHED, PTHREAD_EXPLICIT_SCHED }; enum { PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS }; enum { PTHREAD_PROCESS_PRIVATE, PTHREAD_PROCESS_SHARED }; # 131 "/usr/include/pthread.h" 3 4 struct _pthread_cleanup_buffer { void (*__routine) (void *); void *__arg; int __canceltype; struct _pthread_cleanup_buffer *__prev; }; enum { PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE }; enum { PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ASYNCHRONOUS }; # 169 "/usr/include/pthread.h" 3 4 extern "C" { extern int pthread_create (pthread_t *__restrict __newthread, __const pthread_attr_t *__restrict __attr, void *(*__start_routine) (void *), void *__restrict __arg) throw (); extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); extern int pthread_join (pthread_t __th, void **__thread_return); extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, __const struct timespec *__abstime); extern int pthread_detach (pthread_t __th) throw (); extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw (); extern int pthread_attr_init (pthread_attr_t *__attr) throw (); extern int pthread_attr_destroy (pthread_attr_t *__attr) throw (); extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, int *__detachstate) throw (); extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) throw (); extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr, size_t *__guardsize) throw (); extern int pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) throw (); extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict __attr, struct sched_param *__restrict __param) throw (); extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, __const struct sched_param *__restrict __param) throw (); extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict __attr, int *__restrict __policy) throw (); extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) throw (); extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict __attr, int *__restrict __inherit) throw (); extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, int __inherit) throw (); extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr, int *__restrict __scope) throw (); extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) throw (); extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr) throw () __attribute__ ((__deprecated__)); extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) throw () __attribute__ ((__deprecated__)); extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict __attr, size_t *__restrict __stacksize) throw (); extern int pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) throw (); extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr, size_t *__restrict __stacksize) throw (); extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, size_t __stacksize) throw (); extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw (); extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, size_t __cpusetsize, cpu_set_t *__cpuset) throw (); extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) throw (); extern int pthread_setschedparam (pthread_t __target_thread, int __policy, __const struct sched_param *__param) throw (); extern int pthread_getschedparam (pthread_t __target_thread, int *__restrict __policy, struct sched_param *__restrict __param) throw (); extern int pthread_getconcurrency (void) throw (); extern int pthread_setconcurrency (int __level) throw (); extern int pthread_yield (void) throw (); extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw (); extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, cpu_set_t *__cpuset) throw (); # 394 "/usr/include/pthread.h" 3 4 extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) throw (); # 406 "/usr/include/pthread.h" 3 4 extern int pthread_setcancelstate (int __state, int *__oldstate); extern int pthread_setcanceltype (int __type, int *__oldtype); extern int pthread_cancel (pthread_t __th); extern void pthread_testcancel (void); typedef struct { struct { __jmp_buf __cancel_jmp_buf; int __mask_was_saved; } __cancel_jmp_buf[1]; void *__pad[4]; } __pthread_unwind_buf_t __attribute__ ((__aligned__)); # 440 "/usr/include/pthread.h" 3 4 struct __pthread_cleanup_frame { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; }; # 580 "/usr/include/pthread.h" 3 4 extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) __attribute ((regparm (1))); # 591 "/usr/include/pthread.h" 3 4 extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) __attribute ((regparm (1))); # 614 "/usr/include/pthread.h" 3 4 extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf) __attribute ((regparm (1))); # 626 "/usr/include/pthread.h" 3 4 extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf) __attribute ((regparm (1))); extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) __attribute ((regparm (1))) __attribute ((__noreturn__)) __attribute ((__weak__)) ; struct __jmp_buf_tag; extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) throw (); extern int pthread_mutex_init (pthread_mutex_t *__mutex, __const pthread_mutexattr_t *__mutexattr) throw (); extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw (); extern int pthread_mutex_trylock (pthread_mutex_t *_mutex) throw (); extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw (); extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime) throw (); extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw (); extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw (); extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw (); extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t * __restrict __attr, int *__restrict __pshared) throw (); extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) throw (); extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict __attr, int *__restrict __kind) throw (); extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) throw (); # 707 "/usr/include/pthread.h" 3 4 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, __const pthread_rwlockattr_t *__restrict __attr) throw (); extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw (); extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw (); extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw (); extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict __abstime) throw (); extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw (); extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw (); extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict __abstime) throw (); extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw (); extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw (); extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw (); extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pshared) throw (); extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) throw (); extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pref) throw (); extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, int __pref) throw (); extern int pthread_cond_init (pthread_cond_t *__restrict __cond, __const pthread_condattr_t *__restrict __cond_attr) throw (); extern int pthread_cond_destroy (pthread_cond_t *__cond) throw (); extern int pthread_cond_signal (pthread_cond_t *__cond) throw (); extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw (); extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex); # 804 "/usr/include/pthread.h" 3 4 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime); extern int pthread_condattr_init (pthread_condattr_t *__attr) throw (); extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw (); extern int pthread_condattr_getpshared (__const pthread_condattr_t * __restrict __attr, int *__restrict __pshared) throw (); extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) throw (); extern int pthread_condattr_getclock (__const pthread_condattr_t * __restrict __attr, __clockid_t *__restrict __clock_id) throw (); extern int pthread_condattr_setclock (pthread_condattr_t *__attr, __clockid_t __clock_id) throw (); # 845 "/usr/include/pthread.h" 3 4 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) throw (); extern int pthread_spin_destroy (pthread_spinlock_t *__lock) throw (); extern int pthread_spin_lock (pthread_spinlock_t *__lock) throw (); extern int pthread_spin_trylock (pthread_spinlock_t *__lock) throw (); extern int pthread_spin_unlock (pthread_spinlock_t *__lock) throw (); extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, __const pthread_barrierattr_t *__restrict __attr, unsigned int __count) throw (); extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) throw (); extern int pthread_barrier_wait (pthread_barrier_t *__barrier) throw (); extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) throw (); extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) throw (); extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t * __restrict __attr, int *__restrict __pshared) throw (); extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) throw (); # 901 "/usr/include/pthread.h" 3 4 extern int pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)) throw (); extern int pthread_key_delete (pthread_key_t __key) throw (); extern void *pthread_getspecific (pthread_key_t __key) throw (); extern int pthread_setspecific (pthread_key_t __key, __const void *__pointer) throw (); extern int pthread_getcpuclockid (pthread_t __thread_id, clockid_t *__clock_id) throw (); # 933 "/usr/include/pthread.h" 3 4 extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) throw (); } # 44 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 2 3 # 1 "/usr/include/unistd.h" 1 3 4 # 28 "/usr/include/unistd.h" 3 4 extern "C" { # 171 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 172 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/bits/environments.h" 1 3 4 # 23 "/usr/include/bits/environments.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/environments.h" 2 3 4 # 176 "/usr/include/unistd.h" 2 3 4 # 195 "/usr/include/unistd.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 196 "/usr/include/unistd.h" 2 3 4 # 236 "/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 256 "/usr/include/unistd.h" 3 4 extern int access (__const char *__name, int __type) throw (); extern int euidaccess (__const char *__name, int __type) throw (); # 286 "/usr/include/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw (); # 298 "/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) throw (); extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes); extern ssize_t write (int __fd, __const void *__buf, size_t __n); # 328 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset); extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset); # 356 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset); extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset); extern int pipe (int __pipedes[2]) throw (); # 378 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) throw (); # 390 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) throw (); extern int usleep (__useconds_t __useconds); # 414 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) throw (); extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw (); extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) throw (); extern int chdir (__const char *__path) throw (); extern int fchdir (int __fd) throw (); # 448 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) throw (); extern char *get_current_dir_name (void) throw (); extern char *getwd (char *__buf) throw (); extern int dup (int __fd) throw (); extern int dup2 (int __fd, int __fd2) throw (); extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) throw (); extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) throw (); extern int execv (__const char *__path, char *__const __argv[]) throw (); extern int execle (__const char *__path, __const char *__arg, ...) throw (); extern int execl (__const char *__path, __const char *__arg, ...) throw (); extern int execvp (__const char *__file, char *__const __argv[]) throw (); extern int execlp (__const char *__file, __const char *__arg, ...) throw (); extern int nice (int __inc) throw (); extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 26 "/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS }; # 526 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) throw (); extern long int fpathconf (int __fd, int __name) throw (); extern long int sysconf (int __name) throw () __attribute__ ((__const__)); extern size_t confstr (int __name, char *__buf, size_t __len) throw (); extern __pid_t getpid (void) throw (); extern __pid_t getppid (void) throw (); extern __pid_t getpgrp (void) throw (); # 561 "/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) throw (); extern __pid_t getpgid (__pid_t __pid) throw (); extern int setpgid (__pid_t __pid, __pid_t __pgid) throw (); # 587 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) throw (); # 605 "/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) throw (); extern __pid_t getsid (__pid_t __pid) throw (); extern __uid_t getuid (void) throw (); extern __uid_t geteuid (void) throw (); extern __gid_t getgid (void) throw (); extern __gid_t getegid (void) throw (); extern int getgroups (int __size, __gid_t __list[]) throw (); extern int group_member (__gid_t __gid) throw (); extern int setuid (__uid_t __uid) throw (); extern int setreuid (__uid_t __ruid, __uid_t __euid) throw (); extern int seteuid (__uid_t __uid) throw (); extern int setgid (__gid_t __gid) throw (); extern int setregid (__gid_t __rgid, __gid_t __egid) throw (); extern int setegid (__gid_t __gid) throw (); extern int getresuid (__uid_t *__euid, __uid_t *__ruid, __uid_t *__suid); extern int getresgid (__gid_t *__egid, __gid_t *__rgid, __gid_t *__sgid); extern int setresuid (__uid_t __euid, __uid_t __ruid, __uid_t __suid); extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid); extern __pid_t fork (void) throw (); extern __pid_t vfork (void) throw (); extern char *ttyname (int __fd) throw (); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) throw (); extern int isatty (int __fd) throw (); extern int ttyslot (void) throw (); extern int link (__const char *__from, __const char *__to) throw (); extern int symlink (__const char *__from, __const char *__to) throw (); extern int readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) throw (); extern int unlink (__const char *__name) throw (); extern int rmdir (__const char *__path) throw (); extern __pid_t tcgetpgrp (int __fd) throw (); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw (); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len); extern int setlogin (__const char *__name) throw (); # 775 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/getopt.h" 1 3 4 # 50 "/usr/include/getopt.h" 3 4 extern "C" { # 59 "/usr/include/getopt.h" 3 4 extern char *optarg; # 73 "/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 152 "/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) throw (); # 171 "/usr/include/getopt.h" 3 4 } # 776 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) throw (); extern int sethostname (__const char *__name, size_t __len) throw (); extern int sethostid (long int __id) throw (); extern int getdomainname (char *__name, size_t __len) throw (); extern int setdomainname (__const char *__name, size_t __len) throw (); extern int vhangup (void) throw (); extern int revoke (__const char *__file) throw (); extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) throw (); extern int acct (__const char *__name) throw (); extern char *getusershell (void) throw (); extern void endusershell (void) throw (); extern void setusershell (void) throw (); extern int daemon (int __nochdir, int __noclose) throw (); extern int chroot (__const char *__path) throw (); extern char *getpass (__const char *__prompt); # 857 "/usr/include/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) throw (); extern int getpagesize (void) throw () __attribute__ ((__const__)); extern int truncate (__const char *__file, __off_t __length) throw (); # 888 "/usr/include/unistd.h" 3 4 extern int truncate64 (__const char *__file, __off64_t __length) throw (); extern int ftruncate (int __fd, __off_t __length) throw (); # 903 "/usr/include/unistd.h" 3 4 extern int ftruncate64 (int __fd, __off64_t __length) throw (); extern int getdtablesize (void) throw (); # 918 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) throw (); extern void *sbrk (intptr_t __delta) throw (); # 939 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) throw (); # 962 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off_t __len); # 972 "/usr/include/unistd.h" 3 4 extern int lockf64 (int __fd, int __cmd, __off64_t __len); # 993 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes) throw (); extern char *crypt (__const char *__key, __const char *__salt) throw (); extern void encrypt (char *__block, int __edflag) throw (); extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) throw (); extern char *ctermid (char *__s) throw (); } # 45 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 2 3 typedef pthread_key_t __gthread_key_t; typedef pthread_once_t __gthread_once_t; typedef pthread_mutex_t __gthread_mutex_t; #pragma weak pthread_once #pragma weak pthread_key_create #pragma weak pthread_key_delete #pragma weak pthread_getspecific #pragma weak pthread_setspecific #pragma weak pthread_create #pragma weak pthread_mutex_lock #pragma weak pthread_mutex_trylock #pragma weak pthread_mutex_unlock # 93 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_active_p (void) { static void *const __gthread_active_ptr = (void *) &pthread_create; return __gthread_active_ptr != 0; } # 455 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_once (__gthread_once_t *once, void (*func) (void)) { if (__gthread_active_p ()) return pthread_once (once, func); else return -1; } static inline int __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *)) { return pthread_key_create (key, dtor); } static inline int __gthread_key_delete (__gthread_key_t key) { return pthread_key_delete (key); } static inline void * __gthread_getspecific (__gthread_key_t key) { return pthread_getspecific (key); } static inline int __gthread_setspecific (__gthread_key_t key, const void *ptr) { return pthread_setspecific (key, ptr); } static inline int __gthread_mutex_lock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return pthread_mutex_lock (mutex); else return 0; } static inline int __gthread_mutex_trylock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return pthread_mutex_trylock (mutex); else return 0; } static inline int __gthread_mutex_unlock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return pthread_mutex_unlock (mutex); else return 0; } # 97 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/gthr.h" 2 3 # 38 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 2 3 namespace std { typedef __gthread_mutex_t __c_lock; typedef FILE __c_file; struct __ios_flags { typedef short __int_type; static const __int_type _S_boolalpha = 0x0001; static const __int_type _S_dec = 0x0002; static const __int_type _S_fixed = 0x0004; static const __int_type _S_hex = 0x0008; static const __int_type _S_internal = 0x0010; static const __int_type _S_left = 0x0020; static const __int_type _S_oct = 0x0040; static const __int_type _S_right = 0x0080; static const __int_type _S_scientific = 0x0100; static const __int_type _S_showbase = 0x0200; static const __int_type _S_showpoint = 0x0400; static const __int_type _S_showpos = 0x0800; static const __int_type _S_skipws = 0x1000; static const __int_type _S_unitbuf = 0x2000; static const __int_type _S_uppercase = 0x4000; static const __int_type _S_adjustfield = 0x0020 | 0x0080 | 0x0010; static const __int_type _S_basefield = 0x0002 | 0x0040 | 0x0008; static const __int_type _S_floatfield = 0x0100 | 0x0004; static const __int_type _S_badbit = 0x01; static const __int_type _S_eofbit = 0x02; static const __int_type _S_failbit = 0x04; static const __int_type _S_app = 0x01; static const __int_type _S_ate = 0x02; static const __int_type _S_bin = 0x04; static const __int_type _S_in = 0x08; static const __int_type _S_out = 0x10; static const __int_type _S_trunc = 0x20; }; } # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cctype" 1 3 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cctype" 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cctype" 3 # 1 "/usr/include/ctype.h" 1 3 4 # 30 "/usr/include/ctype.h" 3 4 extern "C" { # 48 "/usr/include/ctype.h" 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__const)); # 96 "/usr/include/ctype.h" 3 4 extern int isalnum (int) throw (); extern int isalpha (int) throw (); extern int iscntrl (int) throw (); extern int isdigit (int) throw (); extern int islower (int) throw (); extern int isgraph (int) throw (); extern int isprint (int) throw (); extern int ispunct (int) throw (); extern int isspace (int) throw (); extern int isupper (int) throw (); extern int isxdigit (int) throw (); extern int tolower (int __c) throw (); extern int toupper (int __c) throw (); extern int isblank (int) throw (); extern int isctype (int __c, int __mask) throw (); extern int isascii (int __c) throw (); extern int toascii (int __c) throw (); extern int _toupper (int) throw (); extern int _tolower (int) throw (); # 247 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) throw (); extern int isalpha_l (int, __locale_t) throw (); extern int iscntrl_l (int, __locale_t) throw (); extern int isdigit_l (int, __locale_t) throw (); extern int islower_l (int, __locale_t) throw (); extern int isgraph_l (int, __locale_t) throw (); extern int isprint_l (int, __locale_t) throw (); extern int ispunct_l (int, __locale_t) throw (); extern int isspace_l (int, __locale_t) throw (); extern int isupper_l (int, __locale_t) throw (); extern int isxdigit_l (int, __locale_t) throw (); extern int isblank_l (int, __locale_t) throw (); extern int __tolower_l (int __c, __locale_t __l) throw (); extern int tolower_l (int __c, __locale_t __l) throw (); extern int __toupper_l (int __c, __locale_t __l) throw (); extern int toupper_l (int __c, __locale_t __l) throw (); # 323 "/usr/include/ctype.h" 3 4 } # 50 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cctype" 2 3 # 66 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cctype" 3 namespace std { using ::isalnum; using ::isalpha; using ::iscntrl; using ::isdigit; using ::isgraph; using ::islower; using ::isprint; using ::ispunct; using ::isspace; using ::isupper; using ::isxdigit; using ::tolower; using ::toupper; } # 49 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stringfwd.h" 1 3 # 42 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stringfwd.h" 3 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stringfwd.h" 3 namespace std { template class allocator; template struct char_traits; template, typename _Alloc = allocator<_CharT> > class basic_string; template<> struct char_traits; typedef basic_string string; template<> struct char_traits; typedef basic_string wstring; } # 50 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 1 3 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 3 # 45 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 1 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 3 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/ctime" 1 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/ctime" 3 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/ctime" 3 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/ctime" 3 namespace std { using ::clock_t; using ::time_t; using ::tm; using ::clock; using ::difftime; using ::mktime; using ::time; using ::asctime; using ::ctime; using ::gmtime; using ::localtime; using ::strftime; } # 52 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 2 3 # 1 "/usr/include/wchar.h" 1 3 4 # 40 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h" 1 3 4 # 41 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 93 "/usr/include/wchar.h" 3 4 typedef __mbstate_t mbstate_t; # 118 "/usr/include/wchar.h" 3 4 extern "C" { struct tm; extern wchar_t *wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw (); extern wchar_t *wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw (); extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) throw () __attribute__ ((__pure__)); extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw (); extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw (); extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw (); extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw (); extern size_t wcsxfrm (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw (); extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__)); extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) throw () __attribute__ ((__pure__)); extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) throw () __attribute__ ((__pure__)); extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) throw () __attribute__ ((__pure__)); extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) throw () __attribute__ ((__pure__)); extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) throw () __attribute__ ((__pure__)); extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) throw () __attribute__ ((__pure__)); extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) throw () __attribute__ ((__pure__)); extern wchar_t *wcstok (wchar_t *__restrict __s, __const wchar_t *__restrict __delim, wchar_t **__restrict __ptr) throw (); extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__)); extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle) throw () __attribute__ ((__pure__)); extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) throw () __attribute__ ((__pure__)); extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) throw () __attribute__ ((__pure__)); extern int wmemcmp (__const wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () __attribute__ ((__pure__)); extern wchar_t *wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw (); extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); extern wchar_t *wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern wint_t btowc (int __c) throw (); extern int wctob (wint_t __c) throw (); extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__)); extern size_t mbrtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n, mbstate_t *__p) throw (); extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, mbstate_t *__restrict __ps) throw (); extern size_t __mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); extern size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () { return (__ps != __null ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } extern size_t mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw (); extern int wcwidth (wchar_t __c) throw (); extern int wcswidth (__const wchar_t *__s, size_t __n) throw (); extern double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long double wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long int wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoll (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); # 448 "/usr/include/wchar.h" 3 4 extern long int wcstol_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern long long int wcstoll_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern double wcstod_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern float wcstof_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern long double wcstold_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern double __wcstod_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) throw (); extern float __wcstof_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) throw (); extern long double __wcstold_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) throw (); extern long int __wcstol_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, int __group) throw (); extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt, wchar_t **__restrict __endptr, int __base, int __group) throw (); __extension__ extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, int __group) throw (); __extension__ extern unsigned long long int __wcstoull_internal (__const wchar_t * __restrict __nptr, wchar_t ** __restrict __endptr, int __base, int __group) throw (); extern __inline double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw () { return __wcstod_internal (__nptr, __endptr, 0); } extern __inline long int wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw () { return __wcstol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw () { return __wcstoul_internal (__nptr, __endptr, __base, 0); } extern __inline float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw () { return __wcstof_internal (__nptr, __endptr, 0); } extern __inline long double wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw () { return __wcstold_internal (__nptr, __endptr, 0); } __extension__ extern __inline long long int wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw () { return __wcstoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int wcstouq (__const wchar_t * __restrict __nptr, wchar_t **__restrict __endptr, int __base) throw () { return __wcstoull_internal (__nptr, __endptr, __base, 0); } extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw (); extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) throw (); extern int fwide (__FILE *__fp, int __mode) throw (); extern int fwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wprintf (__const wchar_t *__restrict __format, ...) ; extern int swprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, ...) throw () ; extern int vfwprintf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwprintf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; extern int fwscanf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wscanf (__const wchar_t *__restrict __format, ...) ; extern int swscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, ...) throw () ; extern int vfwscanf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwscanf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; extern wint_t fgetwc (__FILE *__stream); extern wint_t getwc (__FILE *__stream); extern wint_t getwchar (void); extern wint_t fputwc (wchar_t __wc, __FILE *__stream); extern wint_t putwc (wchar_t __wc, __FILE *__stream); extern wint_t putwchar (wchar_t __wc); extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern wint_t ungetwc (wint_t __wc, __FILE *__stream); # 736 "/usr/include/wchar.h" 3 4 extern wint_t getwc_unlocked (__FILE *__stream); extern wint_t getwchar_unlocked (void); extern wint_t fgetwc_unlocked (__FILE *__stream); extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); # 762 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 772 "/usr/include/wchar.h" 3 4 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws_unlocked (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp) throw (); extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) throw (); # 817 "/usr/include/wchar.h" 3 4 } # 55 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 2 3 # 69 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 3 namespace std { using ::mbstate_t; } # 141 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 3 namespace std { using ::wint_t; using ::btowc; using ::fgetwc; using ::fgetws; using ::fputwc; using ::fputws; using ::fwide; using ::fwprintf; using ::fwscanf; using ::getwc; using ::getwchar; using ::mbrlen; using ::mbrtowc; using ::mbsinit; using ::mbsrtowcs; using ::putwc; using ::putwchar; using ::swprintf; using ::swscanf; using ::ungetwc; using ::vfwprintf; using ::vfwscanf; using ::vswprintf; using ::vswscanf; using ::vwprintf; using ::vwscanf; using ::wcrtomb; using ::wcscat; using ::wcscmp; using ::wcscoll; using ::wcscpy; using ::wcscspn; using ::wcslen; using ::wcsncat; using ::wcsncmp; using ::wcsncpy; using ::wcsrtombs; using ::wcsspn; using ::wcstod; using ::wcstof; using ::wcstok; using ::wcstol; using ::wcstoul; using ::wcsxfrm; using ::wctob; using ::wmemcmp; using ::wmemcpy; using ::wmemmove; using ::wmemset; using ::wprintf; using ::wscanf; using ::wcschr; inline wchar_t* wcschr(wchar_t* __p, wchar_t __c) { return wcschr(const_cast(__p), __c); } using ::wcspbrk; inline wchar_t* wcspbrk(wchar_t* __s1, wchar_t* __s2) { return wcspbrk(const_cast(__s1), __s2); } using ::wcsrchr; inline wchar_t* wcsrchr(wchar_t* __p, wchar_t __c) { return wcsrchr(const_cast(__p), __c); } using ::wcsstr; inline wchar_t* wcsstr(wchar_t* __s1, const wchar_t* __s2) { return wcsstr(const_cast(__s1), __s2); } using ::wmemchr; inline wchar_t* wmemchr(wchar_t* __p, wchar_t __c, size_t __n) { return wmemchr(const_cast(__p), __c, __n); } } namespace __gnu_cxx { using ::wcstold; # 260 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cwchar" 3 using ::wcstoll; using ::wcstoull; } namespace std { using __gnu_cxx::wcstold; using __gnu_cxx::wcstoll; using __gnu_cxx::wcstoull; } # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 2 3 # 1 "/usr/include/stdint.h" 1 3 4 # 28 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/stdint.h" 2 3 4 # 49 "/usr/include/stdint.h" 3 4 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 129 "/usr/include/stdint.h" 3 4 typedef unsigned int uintptr_t; # 138 "/usr/include/stdint.h" 3 4 __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 50 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 2 3 namespace std { # 72 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 3 typedef int64_t streamoff; typedef ptrdiff_t streamsize; template class fpos; # 94 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 3 template class fpos { private: streamoff _M_off; _StateT _M_state; public: fpos() : _M_off(0), _M_state() { } # 116 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/postypes.h" 3 fpos(streamoff __off) : _M_off(__off), _M_state() { } operator streamoff() const { return _M_off; } void state(_StateT __st) { _M_state = __st; } _StateT state() const { return _M_state; } bool operator==(const fpos& __other) const { return _M_off == __other._M_off; } bool operator!=(const fpos& __other) const { return _M_off != __other._M_off; } fpos& operator+=(streamoff __off) { _M_off += __off; return *this; } fpos& operator-=(streamoff __off) { _M_off -= __off; return *this; } fpos operator+(streamoff __off) const { fpos __pos(*this); __pos += __off; return __pos; } fpos operator-(streamoff __off) const { fpos __pos(*this); __pos -= __off; return __pos; } streamoff operator-(const fpos& __other) const { return _M_off - __other._M_off; } }; typedef fpos streampos; typedef fpos wstreampos; } # 51 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/functexcept.h" 1 3 # 34 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/functexcept.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/exception_defines.h" 1 3 # 35 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/functexcept.h" 2 3 namespace std { void __throw_bad_exception(void); void __throw_bad_alloc(void); void __throw_bad_cast(void); void __throw_bad_typeid(void); void __throw_logic_error(const char* __s); void __throw_domain_error(const char* __s); void __throw_invalid_argument(const char* __s); void __throw_length_error(const char* __s); void __throw_out_of_range(const char* __s); void __throw_runtime_error(const char* __s); void __throw_range_error(const char* __s); void __throw_overflow_error(const char* __s); void __throw_underflow_error(const char* __s); void __throw_ios_failure(const char* __s); } # 52 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 2 3 namespace std { template > class basic_ios; template > class basic_streambuf; template > class basic_istream; template > class basic_ostream; template > class basic_iostream; template, typename _Alloc = allocator<_CharT> > class basic_stringbuf; template, typename _Alloc = allocator<_CharT> > class basic_istringstream; template, typename _Alloc = allocator<_CharT> > class basic_ostringstream; template, typename _Alloc = allocator<_CharT> > class basic_stringstream; template > class basic_filebuf; template > class basic_ifstream; template > class basic_ofstream; template > class basic_fstream; template > class istreambuf_iterator; template > class ostreambuf_iterator; class ios_base; # 136 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/iosfwd" 3 typedef basic_ios ios; typedef basic_streambuf streambuf; typedef basic_istream istream; typedef basic_ostream ostream; typedef basic_iostream iostream; typedef basic_stringbuf stringbuf; typedef basic_istringstream istringstream; typedef basic_ostringstream ostringstream; typedef basic_stringstream stringstream; typedef basic_filebuf filebuf; typedef basic_ifstream ifstream; typedef basic_ofstream ofstream; typedef basic_fstream fstream; typedef basic_ios wios; typedef basic_streambuf wstreambuf; typedef basic_istream wistream; typedef basic_ostream wostream; typedef basic_iostream wiostream; typedef basic_stringbuf wstringbuf; typedef basic_istringstream wistringstream; typedef basic_ostringstream wostringstream; typedef basic_stringstream wstringstream; typedef basic_filebuf wfilebuf; typedef basic_ifstream wifstream; typedef basic_ofstream wofstream; typedef basic_fstream wfstream; } # 71 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_pair.h" 1 3 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_pair.h" 3 namespace std { template struct pair { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; pair() : first(), second() { } pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) { } template pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) { } }; template inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first == __y.first && __x.second == __y.second; } template inline bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); } template inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x == __y); } template inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __y < __x; } template inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__y < __x); } template inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x < __y); } # 142 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_pair.h" 3 template inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } } # 72 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/type_traits.h" 1 3 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/type_traits.h" 3 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/type_traits.h" 3 # 90 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/type_traits.h" 3 struct __true_type {}; struct __false_type {}; template struct __type_traits { typedef __true_type this_dummy_member_must_be_first; # 114 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/type_traits.h" 3 typedef __false_type has_trivial_default_constructor; typedef __false_type has_trivial_copy_constructor; typedef __false_type has_trivial_assignment_operator; typedef __false_type has_trivial_destructor; typedef __false_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template struct __type_traits<_Tp*> { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template struct _Is_integer { typedef __false_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template struct _Is_normal_iterator { typedef __false_type _Normal; }; namespace __gnu_cxx { template class __normal_iterator; } template struct _Is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, _Container> > { typedef __true_type _Normal; }; # 73 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_types.h" 1 3 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_types.h" 3 # 68 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_types.h" 3 namespace std { # 80 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_types.h" 3 struct input_iterator_tag {}; struct output_iterator_tag {}; struct forward_iterator_tag : public input_iterator_tag {}; struct bidirectional_iterator_tag : public forward_iterator_tag {}; struct random_access_iterator_tag : public bidirectional_iterator_tag {}; # 104 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_types.h" 3 template struct iterator { typedef _Category iterator_category; typedef _Tp value_type; typedef _Distance difference_type; typedef _Pointer pointer; typedef _Reference reference; }; template struct iterator_traits { typedef typename _Iterator::iterator_category iterator_category; typedef typename _Iterator::value_type value_type; typedef typename _Iterator::difference_type difference_type; typedef typename _Iterator::pointer pointer; typedef typename _Iterator::reference reference; }; template struct iterator_traits<_Tp*> { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef _Tp& reference; }; template struct iterator_traits { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef const _Tp* pointer; typedef const _Tp& reference; }; template inline typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { return typename iterator_traits<_Iter>::iterator_category(); } } # 74 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_funcs.h" 1 3 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_funcs.h" 3 # 68 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_funcs.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/concept_check.h" 1 3 # 38 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/concept_check.h" 3 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/concept_check.h" 3 # 69 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_funcs.h" 2 3 namespace std { template inline typename iterator_traits<_InputIterator>::difference_type __distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) { typename iterator_traits<_InputIterator>::difference_type __n = 0; while (__first != __last) { ++__first; ++__n; } return __n; } template inline typename iterator_traits<_RandomAccessIterator>::difference_type __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { return __last - __first; } # 112 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_funcs.h" 3 template inline typename iterator_traits<_InputIterator>::difference_type distance(_InputIterator __first, _InputIterator __last) { return std::__distance(__first, __last, std::__iterator_category(__first)); } template inline void __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) { while (__n--) ++__i; } template inline void __advance(_BidirectionalIterator& __i, _Distance __n, bidirectional_iterator_tag) { if (__n > 0) while (__n--) ++__i; else while (__n++) --__i; } template inline void __advance(_RandomAccessIterator& __i, _Distance __n, random_access_iterator_tag) { __i += __n; } # 170 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator_base_funcs.h" 3 template inline void advance(_InputIterator& __i, _Distance __n) { std::__advance(__i, __n, std::__iterator_category(__i)); } } # 75 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 1 3 # 68 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 namespace std { # 89 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template class reverse_iterator : public iterator::iterator_category, typename iterator_traits<_Iterator>::value_type, typename iterator_traits<_Iterator>::difference_type, typename iterator_traits<_Iterator>::pointer, typename iterator_traits<_Iterator>::reference> { protected: _Iterator current; public: typedef _Iterator iterator_type; typedef typename iterator_traits<_Iterator>::difference_type difference_type; typedef typename iterator_traits<_Iterator>::reference reference; typedef typename iterator_traits<_Iterator>::pointer pointer; public: reverse_iterator() : current() { } explicit reverse_iterator(iterator_type __x) : current(__x) { } reverse_iterator(const reverse_iterator& __x) : current(__x.current) { } template reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.base()) { } iterator_type base() const { return current; } reference operator*() const { _Iterator __tmp = current; return *--__tmp; } pointer operator->() const { return &(operator*()); } reverse_iterator& operator++() { --current; return *this; } reverse_iterator operator++(int) { reverse_iterator __tmp = *this; --current; return __tmp; } reverse_iterator& operator--() { ++current; return *this; } reverse_iterator operator--(int) { reverse_iterator __tmp = *this; ++current; return __tmp; } reverse_iterator operator+(difference_type __n) const { return reverse_iterator(current - __n); } reverse_iterator& operator+=(difference_type __n) { current -= __n; return *this; } reverse_iterator operator-(difference_type __n) const { return reverse_iterator(current + __n); } reverse_iterator& operator-=(difference_type __n) { current += __n; return *this; } reference operator[](difference_type __n) const { return *(*this + __n); } }; # 275 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template inline bool operator==(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x < __y); } template inline typename reverse_iterator<_Iterator>::difference_type operator-(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() - __x.base(); } template inline reverse_iterator<_Iterator> operator+(typename reverse_iterator<_Iterator>::difference_type __n, const reverse_iterator<_Iterator>& __x) { return reverse_iterator<_Iterator>(__x.base() - __n); } # 335 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template class back_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit back_insert_iterator(_Container& __x) : container(&__x) { } # 361 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 back_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_back(__value); return *this; } back_insert_iterator& operator*() { return *this; } back_insert_iterator& operator++() { return *this; } back_insert_iterator operator++(int) { return *this; } }; # 395 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template inline back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } # 410 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template class front_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit front_insert_iterator(_Container& __x) : container(&__x) { } # 435 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 front_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_front(__value); return *this; } front_insert_iterator& operator*() { return *this; } front_insert_iterator& operator++() { return *this; } front_insert_iterator operator++(int) { return *this; } }; # 469 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template inline front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } # 488 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template class insert_iterator : public iterator { protected: _Container* container; typename _Container::iterator iter; public: typedef _Container container_type; insert_iterator(_Container& __x, typename _Container::iterator __i) : container(&__x), iter(__i) {} # 530 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 insert_iterator& operator=(const typename _Container::const_reference __value) { iter = container->insert(iter, __value); ++iter; return *this; } insert_iterator& operator*() { return *this; } insert_iterator& operator++() { return *this; } insert_iterator& operator++(int) { return *this; } }; # 565 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template inline insert_iterator<_Container> inserter(_Container& __x, _Iterator __i) { return insert_iterator<_Container>(__x, typename _Container::iterator(__i)); } } namespace __gnu_cxx { using std::iterator_traits; using std::iterator; template class __normal_iterator { protected: _Iterator _M_current; public: typedef typename iterator_traits<_Iterator>::iterator_category iterator_category; typedef typename iterator_traits<_Iterator>::value_type value_type; typedef typename iterator_traits<_Iterator>::difference_type difference_type; typedef typename iterator_traits<_Iterator>::reference reference; typedef typename iterator_traits<_Iterator>::pointer pointer; __normal_iterator() : _M_current(_Iterator()) { } explicit __normal_iterator(const _Iterator& __i) : _M_current(__i) { } template inline __normal_iterator(const __normal_iterator<_Iter, _Container>& __i) : _M_current(__i.base()) { } reference operator*() const { return *_M_current; } pointer operator->() const { return _M_current; } __normal_iterator& operator++() { ++_M_current; return *this; } __normal_iterator operator++(int) { return __normal_iterator(_M_current++); } __normal_iterator& operator--() { --_M_current; return *this; } __normal_iterator operator--(int) { return __normal_iterator(_M_current--); } reference operator[](const difference_type& __n) const { return _M_current[__n]; } __normal_iterator& operator+=(const difference_type& __n) { _M_current += __n; return *this; } __normal_iterator operator+(const difference_type& __n) const { return __normal_iterator(_M_current + __n); } __normal_iterator& operator-=(const difference_type& __n) { _M_current -= __n; return *this; } __normal_iterator operator-(const difference_type& __n) const { return __normal_iterator(_M_current - __n); } const _Iterator& base() const { return _M_current; } }; # 678 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_iterator.h" 3 template inline bool operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator==(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator<(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator>(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template inline typename __normal_iterator<_IteratorL, _Container>::difference_type operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() - __rhs.base(); } template inline __normal_iterator<_Iterator, _Container> operator+(typename __normal_iterator<_Iterator, _Container>::difference_type __n, const __normal_iterator<_Iterator, _Container>& __i) { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } } # 76 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/debug/debug.h" 1 3 # 272 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/debug/debug.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cassert" 1 3 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cassert" 3 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cassert" 3 # 1 "/usr/include/assert.h" 1 3 4 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/cassert" 2 3 # 273 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/debug/debug.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h" 1 3 4 # 275 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/debug/debug.h" 2 3 namespace __gnu_debug { template class _Safe_iterator; inline bool __check_singular_aux(const void*) { return false; } template inline bool __check_singular(_Iterator& __x) { return __gnu_debug::__check_singular_aux(&__x); } template inline bool __check_singular(const _Tp* __ptr) { return __ptr == 0; } template inline bool __check_singular(const _Safe_iterator<_Iterator, _Sequence>& __x) { return __x._M_singular(); } template inline bool __check_dereferenceable(_Iterator&) { return true; } template inline bool __check_dereferenceable(const _Tp* __ptr) { return __ptr; } template inline bool __check_dereferenceable(const _Safe_iterator<_Iterator, _Sequence>& __x) { return __x._M_dereferenceable(); } template inline bool __valid_range_aux2(const _RandomAccessIterator& __first, const _RandomAccessIterator& __last, std::random_access_iterator_tag) { return __last - __first >= 0; } template inline bool __valid_range_aux2(const _InputIterator&, const _InputIterator&, std::input_iterator_tag) { return true; } template inline bool __valid_range_aux(const _Integral&, const _Integral&, __true_type) { return true; } template inline bool __valid_range_aux(const _InputIterator& __first, const _InputIterator& __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>::iterator_category _Category; return __gnu_debug::__valid_range_aux2(__first, __last, _Category()); } template inline bool __valid_range(const _InputIterator& __first, const _InputIterator& __last) { typedef typename _Is_integer<_InputIterator>::_Integral _Integral; return __gnu_debug::__valid_range_aux(__first, __last, _Integral()); } template inline bool __valid_range(const _Safe_iterator<_Iterator, _Sequence>& __first, const _Safe_iterator<_Iterator, _Sequence>& __last) { return __first._M_valid_range(__last); } template inline _InputIterator __check_valid_range(const _InputIterator& __first, const _InputIterator& __last) { ; return __first; } template inline const _CharT* __check_string(const _CharT* __s, const _Integer& __n) { return __s; } template inline const _CharT* __check_string(const _CharT* __s) { return __s; } template inline bool __check_sorted_aux(const _InputIterator&, const _InputIterator&, std::input_iterator_tag) { return true; } template inline bool __check_sorted_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { if (__first == __last) return true; _ForwardIterator __next = __first; for (++__next; __next != __last; __first = __next, ++__next) { if (*__next < *__first) return false; } return true; } template inline bool __check_sorted_aux(const _InputIterator&, const _InputIterator&, _Predicate, std::input_iterator_tag) { return true; } template inline bool __check_sorted_aux(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, std::forward_iterator_tag) { if (__first == __last) return true; _ForwardIterator __next = __first; for (++__next; __next != __last; __first = __next, ++__next) { if (__pred(*__next, *__first)) return false; } return true; } template inline bool __check_sorted(const _InputIterator& __first, const _InputIterator& __last) { typedef typename std::iterator_traits<_InputIterator>::iterator_category _Category; return __gnu_debug::__check_sorted_aux(__first, __last, _Category()); } template inline bool __check_sorted(const _InputIterator& __first, const _InputIterator& __last, _Predicate __pred) { typedef typename std::iterator_traits<_InputIterator>::iterator_category _Category; return __gnu_debug::__check_sorted_aux(__first, __last, __pred, _Category()); } template inline bool __check_partitioned(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { while (__first != __last && *__first < __value) ++__first; while (__first != __last && !(*__first < __value)) ++__first; return __first == __last; } template inline bool __check_partitioned(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Pred __pred) { while (__first != __last && __pred(*__first, __value)) ++__first; while (__first != __last && !__pred(*__first, __value)) ++__first; return __first == __last; } } # 78 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 2 3 namespace std { # 90 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { typedef typename iterator_traits<_ForwardIterator1>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIterator2>::value_type _ValueType2; const _ValueType1 __tmp = *__a; *__a = *__b; *__b = __tmp; } # 123 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline void swap(_Tp& __a, _Tp& __b) { const _Tp __tmp = __a; __a = __b; __b = __tmp; } # 148 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b) { if (__b < __a) return __b; return __a; } # 170 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b) { if (__a < __b) return __b; return __a; } # 192 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__b, __a)) return __b; return __a; } # 212 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__a, __b)) return __b; return __a; } template inline _OutputIterator __copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, input_iterator_tag) { for (; __first != __last; ++__result, ++__first) *__result = *__first; return __result; } template inline _OutputIterator __copy(_RandomAccessIterator __first, _RandomAccessIterator __last, _OutputIterator __result, random_access_iterator_tag) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; for (_Distance __n = __last - __first; __n > 0; --__n) { *__result = *__first; ++__first; ++__result; } return __result; } template inline _Tp* __copy_trivial(const _Tp* __first, const _Tp* __last, _Tp* __result) { std::memmove(__result, __first, sizeof(_Tp) * (__last - __first)); return __result + (__last - __first); } template inline _OutputIterator __copy_aux2(_InputIterator __first, _InputIterator __last, _OutputIterator __result, __false_type) { return std::__copy(__first, __last, __result, std::__iterator_category(__first)); } template inline _OutputIterator __copy_aux2(_InputIterator __first, _InputIterator __last, _OutputIterator __result, __true_type) { return std::__copy(__first, __last, __result, std::__iterator_category(__first)); } template inline _Tp* __copy_aux2(_Tp* __first, _Tp* __last, _Tp* __result, __true_type) { return std::__copy_trivial(__first, __last, __result); } template inline _Tp* __copy_aux2(const _Tp* __first, const _Tp* __last, _Tp* __result, __true_type) { return std::__copy_trivial(__first, __last, __result); } template inline _OutputIterator __copy_ni2(_InputIterator __first, _InputIterator __last, _OutputIterator __result, __true_type) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType; typedef typename __type_traits< _ValueType>::has_trivial_assignment_operator _Trivial; return _OutputIterator(std::__copy_aux2(__first, __last, __result.base(), _Trivial())); } template inline _OutputIterator __copy_ni2(_InputIterator __first, _InputIterator __last, _OutputIterator __result, __false_type) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType; typedef typename __type_traits< _ValueType>::has_trivial_assignment_operator _Trivial; return std::__copy_aux2(__first, __last, __result, _Trivial()); } template inline _OutputIterator __copy_ni1(_InputIterator __first, _InputIterator __last, _OutputIterator __result, __true_type) { typedef typename _Is_normal_iterator<_OutputIterator>::_Normal __Normal; return std::__copy_ni2(__first.base(), __last.base(), __result, __Normal()); } template inline _OutputIterator __copy_ni1(_InputIterator __first, _InputIterator __last, _OutputIterator __result, __false_type) { typedef typename _Is_normal_iterator<_OutputIterator>::_Normal __Normal; return std::__copy_ni2(__first, __last, __result, __Normal()); } # 346 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline _OutputIterator copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { ; typedef typename _Is_normal_iterator<_InputIterator>::_Normal __Normal; return std::__copy_ni1(__first, __last, __result, __Normal()); } template inline _BidirectionalIterator2 __copy_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last, _BidirectionalIterator2 __result, bidirectional_iterator_tag) { while (__first != __last) *--__result = *--__last; return __result; } template inline _BidirectionalIterator __copy_backward(_RandomAccessIterator __first, _RandomAccessIterator __last, _BidirectionalIterator __result, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __n; for (__n = __last - __first; __n > 0; --__n) *--__result = *--__last; return __result; } template struct __copy_backward_dispatch { static _BidirectionalIterator2 copy(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last, _BidirectionalIterator2 __result) { return std::__copy_backward(__first, __last, __result, std::__iterator_category(__first)); } }; template struct __copy_backward_dispatch<_Tp*, _Tp*, __true_type> { static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { const ptrdiff_t _Num = __last - __first; std::memmove(__result - _Num, __first, sizeof(_Tp) * _Num); return __result - _Num; } }; template struct __copy_backward_dispatch { static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { return std::__copy_backward_dispatch<_Tp*, _Tp*, __true_type> ::copy(__first, __last, __result); } }; template inline _BI2 __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result) { typedef typename __type_traits::value_type> ::has_trivial_assignment_operator _Trivial; return std::__copy_backward_dispatch<_BI1, _BI2, _Trivial>::copy(__first, __last, __result); } template inline _BI2 __copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __true_type) { return _BI2(std::__copy_backward_aux(__first, __last, __result.base())); } template inline _BI2 __copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __false_type) { return std::__copy_backward_aux(__first, __last, __result); } template inline _BI2 __copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __true_type) { typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal; return std::__copy_backward_output_normal_iterator(__first.base(), __last.base(), __result, __Normal()); } template inline _BI2 __copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __false_type) { typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal; return std::__copy_backward_output_normal_iterator(__first, __last, __result, __Normal()); } # 485 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { ; typedef typename _Is_normal_iterator<_BI1>::_Normal __Normal; return std::__copy_backward_input_normal_iterator(__first, __last, __result, __Normal()); } # 514 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template void fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; for ( ; __first != __last; ++__first) *__first = __value; } # 538 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template _OutputIterator fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) { for ( ; __n > 0; --__n, ++__first) *__first = __value; return __first; } inline void fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c) { ; const unsigned char __tmp = __c; std::memset(__first, __tmp, __last - __first); } inline void fill(signed char* __first, signed char* __last, const signed char& __c) { ; const signed char __tmp = __c; std::memset(__first, static_cast(__tmp), __last - __first); } inline void fill(char* __first, char* __last, const char& __c) { ; const char __tmp = __c; std::memset(__first, static_cast(__tmp), __last - __first); } template inline unsigned char* fill_n(unsigned char* __first, _Size __n, const unsigned char& __c) { std::fill(__first, __first + __n, __c); return __first + __n; } template inline signed char* fill_n(char* __first, _Size __n, const signed char& __c) { std::fill(__first, __first + __n, __c); return __first + __n; } template inline char* fill_n(char* __first, _Size __n, const char& __c) { std::fill(__first, __first + __n, __c); return __first + __n; } # 612 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { ; while (__first1 != __last1 && *__first1 == *__first2) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } # 648 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) { ; while (__first1 != __last1 && __binary_pred(*__first1, *__first2)) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } # 678 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline bool equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { ; for ( ; __first1 != __last1; ++__first1, ++__first2) if (!(*__first1 == *__first2)) return false; return true; } # 710 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template inline bool equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) { ; for ( ; __first1 != __last1; ++__first1, ++__first2) if (!__binary_pred(*__first1, *__first2)) return false; return true; } # 742 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template bool lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { ; ; for (;__first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) { if (*__first1 < *__first2) return true; if (*__first2 < *__first1) return false; } return __first1 == __last1 && __first2 != __last2; } # 779 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algobase.h" 3 template bool lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { ; ; for ( ; __first1 != __last1 && __first2 != __last2 ; ++__first1, ++__first2) { if (__comp(*__first1, *__first2)) return true; if (__comp(*__first2, *__first1)) return false; } return __first1 == __last1 && __first2 != __last2; } inline bool lexicographical_compare(const unsigned char* __first1, const unsigned char* __last1, const unsigned char* __first2, const unsigned char* __last2) { ; ; const size_t __len1 = __last1 - __first1; const size_t __len2 = __last2 - __first2; const int __result = std::memcmp(__first1, __first2, std::min(__len1, __len2)); return __result != 0 ? __result < 0 : __len1 < __len2; } inline bool lexicographical_compare(const char* __first1, const char* __last1, const char* __first2, const char* __last2) { ; ; return std::lexicographical_compare((const signed char*) __first1, (const signed char*) __last1, (const signed char*) __first2, (const signed char*) __last2); } } # 67 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/algorithm" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_construct.h" 1 3 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_construct.h" 3 namespace std { template inline void _Construct(_T1* __p, const _T2& __value) { ::new(static_cast(__p)) _T1(__value); } template inline void _Construct(_T1* __p) { ::new(static_cast(__p)) _T1(); } template inline void _Destroy(_Tp* __pointer) { __pointer->~_Tp(); } # 116 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_construct.h" 3 template inline void __destroy_aux(_ForwardIterator __first, _ForwardIterator __last, __false_type) { for ( ; __first != __last; ++__first) std::_Destroy(&*__first); } # 131 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_construct.h" 3 template inline void __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type) { } # 143 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_construct.h" 3 template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _Value_type; typedef typename __type_traits<_Value_type>::has_trivial_destructor _Has_trivial_destructor; std::__destroy_aux(__first, __last, _Has_trivial_destructor()); } } # 68 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/algorithm" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_uninitialized.h" 1 3 # 66 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_uninitialized.h" 3 namespace std { template inline _ForwardIterator __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, __true_type) { return std::copy(__first, __last, __result); } template inline _ForwardIterator __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, __false_type) { _ForwardIterator __cur = __result; if (true) { for ( ; __first != __last; ++__first, ++__cur) std::_Construct(&*__cur, *__first); return __cur; } if (false) { std::_Destroy(__result, __cur); ; } } # 105 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_uninitialized.h" 3 template inline _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename __type_traits<_ValueType>::is_POD_type _Is_POD; return std::__uninitialized_copy_aux(__first, __last, __result, _Is_POD()); } inline char* uninitialized_copy(const char* __first, const char* __last, char* __result) { std::memmove(__result, __first, __last - __first); return __result + (__last - __first); } inline wchar_t* uninitialized_copy(const wchar_t* __first, const wchar_t* __last, wchar_t* __result) { std::memmove(__result, __first, sizeof(wchar_t) * (__last - __first)); return __result + (__last - __first); } template inline void __uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, __true_type) { std::fill(__first, __last, __x); } template void __uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, __false_type) { _ForwardIterator __cur = __first; if (true) { for ( ; __cur != __last; ++__cur) std::_Construct(&*__cur, __x); } if (false) { std::_Destroy(__first, __cur); ; } } # 167 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_uninitialized.h" 3 template inline void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename __type_traits<_ValueType>::is_POD_type _Is_POD; std::__uninitialized_fill_aux(__first, __last, __x, _Is_POD()); } template inline _ForwardIterator __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n, const _Tp& __x, __true_type) { return std::fill_n(__first, __n, __x); } template _ForwardIterator __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n, const _Tp& __x, __false_type) { _ForwardIterator __cur = __first; if (true) { for ( ; __n > 0; --__n, ++__cur) std::_Construct(&*__cur, __x); return __cur; } if (false) { std::_Destroy(__first, __cur); ; } } # 213 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_uninitialized.h" 3 template inline _ForwardIterator uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename __type_traits<_ValueType>::is_POD_type _Is_POD; return std::__uninitialized_fill_n_aux(__first, __n, __x, _Is_POD()); } # 230 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_uninitialized.h" 3 template inline _ForwardIterator __uninitialized_copy_copy(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result) { _ForwardIterator __mid = std::uninitialized_copy(__first1, __last1, __result); if (true) { return std::uninitialized_copy(__first2, __last2, __mid); } if (false) { std::_Destroy(__result, __mid); ; } } template inline _ForwardIterator __uninitialized_fill_copy(_ForwardIterator __result, _ForwardIterator __mid, const _Tp& __x, _InputIterator __first, _InputIterator __last) { std::uninitialized_fill(__result, __mid, __x); if (true) { return std::uninitialized_copy(__first, __last, __mid); } if (false) { std::_Destroy(__result, __mid); ; } } template inline void __uninitialized_copy_fill(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, const _Tp& __x) { _ForwardIterator __mid2 = std::uninitialized_copy(__first1, __last1, __first2); if (true) { std::uninitialized_fill(__mid2, __last2, __x); } if (false) { std::_Destroy(__first2, __mid2); ; } } } # 69 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/algorithm" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 1 3 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 1 3 # 65 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 namespace std { template bool __is_heap(_RandomAccessIterator __first, _Distance __n) { _Distance __parent = 0; for (_Distance __child = 1; __child < __n; ++__child) { if (__first[__parent] < __first[__child]) return false; if ((__child & 1) == 0) ++__parent; } return true; } template bool __is_heap(_RandomAccessIterator __first, _StrictWeakOrdering __comp, _Distance __n) { _Distance __parent = 0; for (_Distance __child = 1; __child < __n; ++__child) { if (__comp(__first[__parent], __first[__child])) return false; if ((__child & 1) == 0) ++__parent; } return true; } template bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::__is_heap(__first, std::distance(__first, __last)); } template bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _StrictWeakOrdering __comp) { return std::__is_heap(__first, __comp, std::distance(__first, __last)); } template void __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value) { _Distance __parent = (__holeIndex - 1) / 2; while (__holeIndex > __topIndex && *(__first + __parent) < __value) { *(__first + __holeIndex) = *(__first + __parent); __holeIndex = __parent; __parent = (__holeIndex - 1) / 2; } *(__first + __holeIndex) = __value; } # 139 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), _ValueType(*(__last - 1))); } template void __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value, _Compare __comp) { _Distance __parent = (__holeIndex - 1) / 2; while (__holeIndex > __topIndex && __comp(*(__first + __parent), __value)) { *(__first + __holeIndex) = *(__first + __parent); __holeIndex = __parent; __parent = (__holeIndex - 1) / 2; } *(__first + __holeIndex) = __value; } # 187 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), _ValueType(*(__last - 1)), __comp); } template void __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value) { const _Distance __topIndex = __holeIndex; _Distance __secondChild = 2 * __holeIndex + 2; while (__secondChild < __len) { if (*(__first + __secondChild) < *(__first + (__secondChild - 1))) __secondChild--; *(__first + __holeIndex) = *(__first + __secondChild); __holeIndex = __secondChild; __secondChild = 2 * (__secondChild + 1); } if (__secondChild == __len) { *(__first + __holeIndex) = *(__first + (__secondChild - 1)); __holeIndex = __secondChild - 1; } std::__push_heap(__first, __holeIndex, __topIndex, __value); } template inline void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result, _Tp __value) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; *__result = *__first; std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first), __value); } # 251 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::__pop_heap(__first, __last - 1, __last - 1, _ValueType(*(__last - 1))); } template void __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value, _Compare __comp) { const _Distance __topIndex = __holeIndex; _Distance __secondChild = 2 * __holeIndex + 2; while (__secondChild < __len) { if (__comp(*(__first + __secondChild), *(__first + (__secondChild - 1)))) __secondChild--; *(__first + __holeIndex) = *(__first + __secondChild); __holeIndex = __secondChild; __secondChild = 2 * (__secondChild + 1); } if (__secondChild == __len) { *(__first + __holeIndex) = *(__first + (__secondChild - 1)); __holeIndex = __secondChild - 1; } std::__push_heap(__first, __holeIndex, __topIndex, __value, __comp); } template inline void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result, _Tp __value, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; *__result = *__first; std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first), __value, __comp); } # 317 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; std::__pop_heap(__first, __last - 1, __last - 1, _ValueType(*(__last - 1)), __comp); } # 342 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; if (__last - __first < 2) return; const _DistanceType __len = __last - __first; _DistanceType __parent = (__len - 2) / 2; while (true) { std::__adjust_heap(__first, __parent, __len, _ValueType(*(__first + __parent))); if (__parent == 0) return; __parent--; } } # 382 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template inline void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; if (__last - __first < 2) return; const _DistanceType __len = __last - __first; _DistanceType __parent = (__len - 2) / 2; while (true) { std::__adjust_heap(__first, __parent, __len, _ValueType(*(__first + __parent)), __comp); if (__parent == 0) return; __parent--; } } # 420 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; while (__last - __first > 1) std::pop_heap(__first, __last--); } # 446 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_heap.h" 3 template void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; while (__last - __first > 1) std::pop_heap(__first, __last--, __comp); } } # 65 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_tempbuf.h" 1 3 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_tempbuf.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 1 3 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/allocator.h" 1 3 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/allocator.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++allocator.h" 1 3 # 34 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++allocator.h" 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/ext/new_allocator.h" 1 3 # 35 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/ext/new_allocator.h" 3 namespace __gnu_cxx { # 46 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/ext/new_allocator.h" 3 template class new_allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef new_allocator<_Tp1> other; }; new_allocator() throw() { } new_allocator(const new_allocator&) throw() { } template new_allocator(const new_allocator<_Tp1>&) throw() { } ~new_allocator() throw() { } pointer address(reference __x) const { return &__x; } const_pointer address(const_reference __x) const { return &__x; } pointer allocate(size_type __n, const void* = 0) { return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } void deallocate(pointer __p, size_type) { ::operator delete(__p); } size_type max_size() const throw() { return size_t(-1) / sizeof(_Tp); } void construct(pointer __p, const _Tp& __val) { ::new(__p) _Tp(__val); } void destroy(pointer __p) { __p->~_Tp(); } }; template inline bool operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return true; } template inline bool operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return false; } } # 35 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/i686-pc-linux-gnu/bits/c++allocator.h" 2 3 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/allocator.h" 2 3 namespace std { template class allocator; template<> class allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef void* pointer; typedef const void* const_pointer; typedef void value_type; template struct rebind { typedef allocator<_Tp1> other; }; }; template class allocator: public __gnu_cxx::new_allocator<_Tp> { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef allocator<_Tp1> other; }; allocator() throw() { } allocator(const allocator& a) throw() : __gnu_cxx::new_allocator<_Tp>(a) { } template allocator(const allocator<_Tp1>&) throw() { } ~allocator() throw() { } }; template inline bool operator==(const allocator<_T1>&, const allocator<_T2>&) { return true; } template inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&) { return false; } extern template class allocator; extern template class allocator; } # 56 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 2 3 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_raw_storage_iter.h" 1 3 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_raw_storage_iter.h" 3 namespace std { template class raw_storage_iterator : public iterator { protected: _ForwardIterator _M_iter; public: explicit raw_storage_iterator(_ForwardIterator __x) : _M_iter(__x) {} raw_storage_iterator& operator*() { return *this; } raw_storage_iterator& operator=(const _Tp& __element) { std::_Construct(&*_M_iter, __element); return *this; } raw_storage_iterator<_ForwardIterator, _Tp>& operator++() { ++_M_iter; return *this; } raw_storage_iterator<_ForwardIterator, _Tp> operator++(int) { raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this; ++_M_iter; return __tmp; } }; } # 60 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 2 3 namespace std { # 72 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 template pair<_Tp*, ptrdiff_t> __get_temporary_buffer(ptrdiff_t __len, _Tp*) { if (__len > ptrdiff_t(2147483647 / sizeof(_Tp))) __len = 2147483647 / sizeof(_Tp); while (__len > 0) { _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), nothrow)); if (__tmp != 0) return pair<_Tp*, ptrdiff_t>(__tmp, __len); __len /= 2; } return pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); } # 107 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 template inline pair<_Tp*,ptrdiff_t> get_temporary_buffer(ptrdiff_t __len) { return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); } # 119 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 template void return_temporary_buffer(_Tp* __p) { ::operator delete(__p, nothrow); } # 131 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 template struct auto_ptr_ref { _Tp1* _M_ptr; explicit auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } }; # 172 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 template class auto_ptr { private: _Tp* _M_ptr; public: typedef _Tp element_type; explicit auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } # 198 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } # 210 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 template auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } # 221 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 auto_ptr& operator=(auto_ptr& __a) throw() { reset(__a.release()); return *this; } # 238 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 template auto_ptr& operator=(auto_ptr<_Tp1>& __a) throw() { reset(__a.release()); return *this; } # 258 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 ~auto_ptr() { delete _M_ptr; } # 268 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 element_type& operator*() const throw() { ; return *_M_ptr; } element_type* operator->() const throw() { ; return _M_ptr; } # 298 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 element_type* get() const throw() { return _M_ptr; } # 312 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 element_type* release() throw() { element_type* __tmp = _M_ptr; _M_ptr = 0; return __tmp; } # 327 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 void reset(element_type* __p = 0) throw() { if (__p != _M_ptr) { delete _M_ptr; _M_ptr = __p; } } # 348 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/memory" 3 auto_ptr(auto_ptr_ref __ref) throw() : _M_ptr(__ref._M_ptr) { } auto_ptr& operator=(auto_ptr_ref __ref) throw() { if (__ref._M_ptr != this->get()) { delete _M_ptr; _M_ptr = __ref._M_ptr; } return *this; } template operator auto_ptr_ref<_Tp1>() throw() { return auto_ptr_ref<_Tp1>(this->release()); } template operator auto_ptr<_Tp1>() throw() { return auto_ptr<_Tp1>(this->release()); } }; } # 65 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_tempbuf.h" 2 3 namespace std { template class _Temporary_buffer { public: typedef _Tp value_type; typedef value_type* pointer; typedef pointer iterator; typedef ptrdiff_t size_type; protected: size_type _M_original_len; size_type _M_len; pointer _M_buffer; void _M_initialize_buffer(const _Tp&, __true_type) { } void _M_initialize_buffer(const _Tp& val, __false_type) { std::uninitialized_fill_n(_M_buffer, _M_len, val); } public: size_type size() const { return _M_len; } size_type requested_size() const { return _M_original_len; } iterator begin() { return _M_buffer; } iterator end() { return _M_buffer + _M_len; } _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); ~_Temporary_buffer() { std::_Destroy(_M_buffer, _M_buffer + _M_len); std::return_temporary_buffer(_M_buffer); } private: _Temporary_buffer(const _Temporary_buffer&); void operator=(const _Temporary_buffer&); }; template _Temporary_buffer<_ForwardIterator, _Tp>:: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) : _M_original_len(std::distance(__first, __last)), _M_len(0), _M_buffer(0) { typedef typename __type_traits<_Tp>::has_trivial_default_constructor _Trivial; if (true) { pair __p(get_temporary_buffer< value_type>(_M_original_len)); _M_buffer = __p.first; _M_len = __p.second; if (_M_len > 0) _M_initialize_buffer(*__first, _Trivial()); } if (false) { std::return_temporary_buffer(_M_buffer); _M_buffer = 0; _M_len = 0; ; } } } # 66 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 2 3 namespace std { # 84 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline const _Tp& __median(const _Tp& __a, const _Tp& __b, const _Tp& __c) { if (__a < __b) if (__b < __c) return __b; else if (__a < __c) return __c; else return __a; else if (__a < __c) return __a; else if (__b < __c) return __c; else return __b; } # 118 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline const _Tp& __median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp) { if (__comp(__a, __b)) if (__comp(__b, __c)) return __b; else if (__comp(__a, __c)) return __c; else return __a; else if (__comp(__a, __c)) return __a; else if (__comp(__b, __c)) return __c; else return __b; } # 150 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _Function for_each(_InputIterator __first, _InputIterator __last, _Function __f) { ; for ( ; __first != __last; ++__first) __f(*__first); return __f; } template inline _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp& __val, input_iterator_tag) { while (__first != __last && !(*__first == __val)) ++__first; return __first; } template inline _InputIterator find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag) { while (__first != __last && !__pred(*__first)) ++__first; return __first; } template _RandomAccessIterator find(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __val, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __trip_count = (__last - __first) >> 2; for ( ; __trip_count > 0 ; --__trip_count) { if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; } switch (__last - __first) { case 3: if (*__first == __val) return __first; ++__first; case 2: if (*__first == __val) return __first; ++__first; case 1: if (*__first == __val) return __first; ++__first; case 0: default: return __last; } } template _RandomAccessIterator find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __trip_count = (__last - __first) >> 2; for ( ; __trip_count > 0 ; --__trip_count) { if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; } switch (__last - __first) { case 3: if (__pred(*__first)) return __first; ++__first; case 2: if (__pred(*__first)) return __first; ++__first; case 1: if (__pred(*__first)) return __first; ++__first; case 0: default: return __last; } } # 304 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp& __val) { ; return std::find(__first, __last, __val, std::__iterator_category(__first)); } # 326 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline _InputIterator find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; return std::find_if(__first, __last, __pred, std::__iterator_category(__first)); } # 348 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __last; _ForwardIterator __next = __first; while(++__next != __last) { if (*__first == *__next) return __first; __first = __next; } return __last; } # 379 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; if (__first == __last) return __last; _ForwardIterator __next = __first; while(++__next != __last) { if (__binary_pred(*__first, *__next)) return __first; __first = __next; } return __last; } # 410 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template typename iterator_traits<_InputIterator>::difference_type count(_InputIterator __first, _InputIterator __last, const _Tp& __value) { ; typename iterator_traits<_InputIterator>::difference_type __n = 0; for ( ; __first != __last; ++__first) if (*__first == __value) ++__n; return __n; } # 435 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template typename iterator_traits<_InputIterator>::difference_type count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; typename iterator_traits<_InputIterator>::difference_type __n = 0; for ( ; __first != __last; ++__first) if (__pred(*__first)) ++__n; return __n; } # 474 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; if (__first1 == __last1 || __first2 == __last2) return __first1; _ForwardIterator2 __tmp(__first2); ++__tmp; if (__tmp == __last2) return std::find(__first1, __last1, *__first2); _ForwardIterator2 __p1, __p; __p1 = __first2; ++__p1; _ForwardIterator1 __current = __first1; while (__first1 != __last1) { __first1 = std::find(__first1, __last1, *__first2); if (__first1 == __last1) return __last1; __p = __p1; __current = __first1; if (++__current == __last1) return __last1; while (*__current == *__p) { if (++__p == __last2) return __first1; if (++__current == __last1) return __last1; } ++__first1; } return __first1; } # 545 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate) { ; ; if (__first1 == __last1 || __first2 == __last2) return __first1; _ForwardIterator2 __tmp(__first2); ++__tmp; if (__tmp == __last2) { while (__first1 != __last1 && !__predicate(*__first1, *__first2)) ++__first1; return __first1; } _ForwardIterator2 __p1, __p; __p1 = __first2; ++__p1; _ForwardIterator1 __current = __first1; while (__first1 != __last1) { while (__first1 != __last1) { if (__predicate(*__first1, *__first2)) break; ++__first1; } while (__first1 != __last1 && !__predicate(*__first1, *__first2)) ++__first1; if (__first1 == __last1) return __last1; __p = __p1; __current = __first1; if (++__current == __last1) return __last1; while (__predicate(*__current, *__p)) { if (++__p == __last2) return __first1; if (++__current == __last1) return __last1; } ++__first1; } return __first1; } # 623 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val) { ; if (__count <= 0) return __first; else { __first = std::find(__first, __last, __val); while (__first != __last) { typename iterator_traits<_ForwardIterator>::difference_type __n = __count; _ForwardIterator __i = __first; ++__i; while (__i != __last && __n != 1 && *__i == __val) { ++__i; --__n; } if (__n == 1) return __first; else __first = std::find(__i, __last, __val); } return __last; } } # 675 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred) { ; if (__count <= 0) return __first; else { while (__first != __last) { if (__binary_pred(*__first, __val)) break; ++__first; } while (__first != __last) { typename iterator_traits<_ForwardIterator>::difference_type __n = __count; _ForwardIterator __i = __first; ++__i; while (__i != __last && __n != 1 && __binary_pred(*__i, __val)) { ++__i; --__n; } if (__n == 1) return __first; else { while (__i != __last) { if (__binary_pred(*__i, __val)) break; ++__i; } __first = __i; } } return __last; } } # 737 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator2 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { ; for ( ; __first1 != __last1; ++__first1, ++__first2) std::iter_swap(__first1, __first2); return __first2; } # 775 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op) { ; for ( ; __first != __last; ++__first, ++__result) *__result = __unary_op(*__first); return __result; } # 810 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) { ; for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) *__result = __binary_op(*__first1, *__first2); return __result; } # 842 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value) { ; for ( ; __first != __last; ++__first) if (*__first == __old_value) *__first = __new_value; } # 873 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_value) { ; for ( ; __first != __last; ++__first) if (__pred(*__first)) *__first = __new_value; } # 906 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator replace_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __old_value, const _Tp& __new_value) { ; for ( ; __first != __last; ++__first, ++__result) *__result = *__first == __old_value ? __new_value : *__first; return __result; } # 939 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator replace_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp& __new_value) { ; for ( ; __first != __last; ++__first, ++__result) *__result = __pred(*__first) ? __new_value : *__first; return __result; } # 970 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) { ; for ( ; __first != __last; ++__first) *__first = __gen(); } # 996 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator generate_n(_OutputIterator __first, _Size __n, _Generator __gen) { for ( ; __n > 0; --__n, ++__first) *__first = __gen(); return __first; } # 1023 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __value) { ; for ( ; __first != __last; ++__first) if (!(*__first == __value)) { *__result = *__first; ++__result; } return __result; } # 1059 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { ; for ( ; __first != __last; ++__first) if (!__pred(*__first)) { *__result = *__first; ++__result; } return __result; } # 1098 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; __first = std::find(__first, __last, __value); _ForwardIterator __i = __first; return __first == __last ? __first : std::remove_copy(++__i, __last, __first, __value); } # 1135 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; __first = std::find_if(__first, __last, __pred); _ForwardIterator __i = __first; return __first == __last ? __first : std::remove_copy_if(++__i, __last, __first, __pred); } # 1161 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, output_iterator_tag) { typename iterator_traits<_InputIterator>::value_type __value = *__first; *__result = __value; while (++__first != __last) if (!(__value == *__first)) { __value = *__first; *++__result = __value; } return ++__result; } # 1186 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, forward_iterator_tag) { *__result = *__first; while (++__first != __last) if (!(*__result == *__first)) *++__result = *__first; return ++__result; } # 1208 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, output_iterator_tag) { typename iterator_traits<_InputIterator>::value_type __value = *__first; *__result = __value; while (++__first != __last) if (!__binary_pred(__value, *__first)) { __value = *__first; *++__result = __value; } return ++__result; } # 1240 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag) { *__result = *__first; while (++__first != __last) if (!__binary_pred(*__result, *__first)) *++__result = *__first; return ++__result; } # 1272 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { ; typedef typename iterator_traits<_OutputIterator>::iterator_category _IterType; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, _IterType()); } # 1307 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred) { ; typedef typename iterator_traits<_OutputIterator>::iterator_category _IterType; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, __binary_pred, _IterType()); } # 1341 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last) { ; __first = std::adjacent_find(__first, __last); if (__first == __last) return __last; _ForwardIterator __dest = __first; ++__first; while (++__first != __last) if (!(*__dest == *__first)) *++__dest = *__first; return ++__dest; } # 1380 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; __first = std::adjacent_find(__first, __last, __binary_pred); if (__first == __last) return __last; _ForwardIterator __dest = __first; ++__first; while (++__first != __last) if (!__binary_pred(*__dest, *__first)) *++__dest = *__first; return ++__dest; } # 1414 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag) { while (true) if (__first == __last || __first == --__last) return; else std::iter_swap(__first++, __last); } # 1433 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { while (__first < __last) std::iter_swap(__first++, --__last); } # 1453 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline void reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; std::__reverse(__first, __last, std::__iterator_category(__first)); } # 1479 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result) { ; while (__first != __last) { --__last; *__result = *__last; ++__result; } return __result; } # 1507 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _EuclideanRingElement __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) { while (__n != 0) { _EuclideanRingElement __t = __m % __n; __m = __n; __n = __t; } return __m; } template void __rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag) { if ((__first == __middle) || (__last == __middle)) return; _ForwardIterator __first2 = __middle; do { swap(*__first++, *__first2++); if (__first == __middle) __middle = __first2; } while (__first2 != __last); __first2 = __middle; while (__first2 != __last) { swap(*__first++, *__first2++); if (__first == __middle) __middle = __first2; else if (__first2 == __last) __first2 = __middle; } } template void __rotate(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag) { if ((__first == __middle) || (__last == __middle)) return; std::__reverse(__first, __middle, bidirectional_iterator_tag()); std::__reverse(__middle, __last, bidirectional_iterator_tag()); while (__first != __middle && __middle != __last) swap(*__first++, *--__last); if (__first == __middle) std::__reverse(__middle, __last, bidirectional_iterator_tag()); else std::__reverse(__first, __middle, bidirectional_iterator_tag()); } template void __rotate(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag) { if ((__first == __middle) || (__last == __middle)) return; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; const _Distance __n = __last - __first; const _Distance __k = __middle - __first; const _Distance __l = __n - __k; if (__k == __l) { std::swap_ranges(__first, __middle, __middle); return; } const _Distance __d = __gcd(__n, __k); for (_Distance __i = 0; __i < __d; __i++) { const _ValueType __tmp = *__first; _RandomAccessIterator __p = __first; if (__k < __l) { for (_Distance __j = 0; __j < __l / __d; __j++) { if (__p > __first + __l) { *__p = *(__p - __l); __p -= __l; } *__p = *(__p + __k); __p += __k; } } else { for (_Distance __j = 0; __j < __k / __d - 1; __j ++) { if (__p < __last - __k) { *__p = *(__p + __k); __p += __k; } *__p = * (__p - __l); __p -= __l; } } *__p = __tmp; ++__first; } } # 1679 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline void rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last) { ; ; typedef typename iterator_traits<_ForwardIterator>::iterator_category _IterType; std::__rotate(__first, __middle, __last, _IterType()); } # 1712 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result) { ; ; return std::copy(__first, __middle, copy(__middle, __last, __result)); } # 1737 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; if (__first != __last) for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1))); } # 1764 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator& __rand) { ; if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + __rand((__i - __first) + 1)); } template _ForwardIterator __partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag) { if (__first == __last) return __first; while (__pred(*__first)) if (++__first == __last) return __first; _ForwardIterator __next = __first; while (++__next != __last) if (__pred(*__next)) { swap(*__first, *__next); ++__first; } return __first; } template _BidirectionalIterator __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag) { while (true) { while (true) if (__first == __last) return __first; else if (__pred(*__first)) ++__first; else break; --__last; while (true) if (__first == __last) return __first; else if (!__pred(*__last)) --__last; else break; std::iter_swap(__first, __last); ++__first; } } # 1858 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline _ForwardIterator partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; return std::__partition(__first, __last, __pred, std::__iterator_category(__first)); } template _ForwardIterator __inplace_stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len) { if (__len == 1) return __pred(*__first) ? __last : __first; _ForwardIterator __middle = __first; std::advance(__middle, __len / 2); _ForwardIterator __begin = std::__inplace_stable_partition(__first, __middle, __pred, __len / 2); _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last, __pred, __len - __len / 2); std::rotate(__begin, __middle, __end); std::advance(__begin, std::distance(__middle, __end)); return __begin; } template _ForwardIterator __stable_partition_adaptive(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size) { if (__len <= __buffer_size) { _ForwardIterator __result1 = __first; _Pointer __result2 = __buffer; for ( ; __first != __last ; ++__first) if (__pred(*__first)) { *__result1 = *__first; ++__result1; } else { *__result2 = *__first; ++__result2; } std::copy(__buffer, __result2, __result1); return __result1; } else { _ForwardIterator __middle = __first; std::advance(__middle, __len / 2); _ForwardIterator __begin = std::__stable_partition_adaptive(__first, __middle, __pred, __len / 2, __buffer, __buffer_size); _ForwardIterator __end = std::__stable_partition_adaptive(__middle, __last, __pred, __len - __len / 2, __buffer, __buffer_size); std::rotate(__begin, __middle, __end); std::advance(__begin, std::distance(__middle, __end)); return __begin; } } # 1969 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; if (__first == __last) return __first; else { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, __last); if (__buf.size() > 0) return std::__stable_partition_adaptive(__first, __last, __pred, _DistanceType(__buf.requested_size()), __buf.begin(), __buf.size()); else return std::__inplace_stable_partition(__first, __last, __pred, _DistanceType(__buf.requested_size())); } } template _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot) { while (true) { while (*__first < __pivot) ++__first; --__last; while (__pivot < *__last) --__last; if (!(__first < __last)) return __first; std::iter_swap(__first, __last); ++__first; } } template _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot, _Compare __comp) { while (true) { while (__comp(*__first, __pivot)) ++__first; --__last; while (__comp(__pivot, *__last)) --__last; if (!(__first < __last)) return __first; std::iter_swap(__first, __last); ++__first; } } enum { _S_threshold = 16 }; template void __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val) { _RandomAccessIterator __next = __last; --__next; while (__val < *__next) { *__last = *__next; __last = __next; --__next; } *__last = __val; } template void __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val, _Compare __comp) { _RandomAccessIterator __next = __last; --__next; while (__comp(__val, *__next)) { *__last = *__next; __last = __next; --__next; } *__last = __val; } template void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { typename iterator_traits<_RandomAccessIterator>::value_type __val = *__i; if (__val < *__first) { std::copy_backward(__first, __i, __i + 1); *__first = __val; } else std::__unguarded_linear_insert(__i, __val); } } template void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { typename iterator_traits<_RandomAccessIterator>::value_type __val = *__i; if (__comp(__val, *__first)) { std::copy_backward(__first, __i, __i + 1); *__first = __val; } else std::__unguarded_linear_insert(__i, __val, __comp); } } template inline void __unguarded_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; for (_RandomAccessIterator __i = __first; __i != __last; ++__i) std::__unguarded_linear_insert(__i, _ValueType(*__i)); } template inline void __unguarded_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; for (_RandomAccessIterator __i = __first; __i != __last; ++__i) std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp); } template void __final_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__last - __first > _S_threshold) { std::__insertion_sort(__first, __first + _S_threshold); std::__unguarded_insertion_sort(__first + _S_threshold, __last); } else std::__insertion_sort(__first, __last); } template void __final_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first > _S_threshold) { std::__insertion_sort(__first, __first + _S_threshold, __comp); std::__unguarded_insertion_sort(__first + _S_threshold, __last, __comp); } else std::__insertion_sort(__first, __last, __comp); } template inline _Size __lg(_Size __n) { _Size __k; for (__k = 0; __n != 1; __n >>= 1) ++__k; return __k; } # 2258 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::make_heap(__first, __middle); for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) if (*__i < *__first) std::__pop_heap(__first, __middle, __i, _ValueType(*__i)); std::sort_heap(__first, __middle); } # 2299 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::make_heap(__first, __middle, __comp); for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) if (__comp(*__i, *__first)) std::__pop_heap(__first, __middle, __i, _ValueType(*__i), __comp); std::sort_heap(__first, __middle, __comp); } # 2341 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; if (__result_first == __result_last) return __result_last; _RandomAccessIterator __result_real_last = __result_first; while(__first != __last && __result_real_last != __result_last) { *__result_real_last = *__first; ++__result_real_last; ++__first; } std::make_heap(__result_first, __result_real_last); while (__first != __last) { if (*__first < *__result_first) std::__adjust_heap(__result_first, _DistanceType(0), _DistanceType(__result_real_last - __result_first), _InputValueType(*__first)); ++__first; } std::sort_heap(__result_first, __result_real_last); return __result_real_last; } # 2405 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; if (__result_first == __result_last) return __result_last; _RandomAccessIterator __result_real_last = __result_first; while(__first != __last && __result_real_last != __result_last) { *__result_real_last = *__first; ++__result_real_last; ++__first; } std::make_heap(__result_first, __result_real_last, __comp); while (__first != __last) { if (__comp(*__first, *__result_first)) std::__adjust_heap(__result_first, _DistanceType(0), _DistanceType(__result_real_last - __result_first), _InputValueType(*__first), __comp); ++__first; } std::sort_heap(__result_first, __result_real_last, __comp); return __result_real_last; } template void __introsort_loop(_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > _S_threshold) { if (__depth_limit == 0) { std::partial_sort(__first, __last, __last); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1)))); std::__introsort_loop(__cut, __last, __depth_limit); __last = __cut; } } template void __introsort_loop(_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > _S_threshold) { if (__depth_limit == 0) { std::partial_sort(__first, __last, __last, __comp); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1), __comp)), __comp); std::__introsort_loop(__cut, __last, __depth_limit, __comp); __last = __cut; } } # 2540 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; if (__first != __last) { std::__introsort_loop(__first, __last, __lg(__last - __first) * 2); std::__final_insertion_sort(__first, __last); } } # 2574 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; if (__first != __last) { std::__introsort_loop(__first, __last, __lg(__last - __first) * 2, __comp); std::__final_insertion_sort(__first, __last, __comp); } } # 2607 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (*__middle < __val) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } # 2662 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(*__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } # 2709 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__val < *__middle) __len = __half; else { __first = __middle; ++__first; __len = __len - __half - 1; } } return __first; } # 2761 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(__val, *__middle)) __len = __half; else { __first = __middle; ++__first; __len = __len - __half - 1; } } return __first; } template void __merge_without_buffer(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2) { if (__len1 == 0 || __len2 == 0) return; if (__len1 + __len2 == 2) { if (*__middle < *__first) std::iter_swap(__first, __middle); return; } _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut); __len11 = std::distance(__first, __first_cut); } std::rotate(__first_cut, __middle, __second_cut); _BidirectionalIterator __new_middle = __first_cut; std::advance(__new_middle, std::distance(__middle, __second_cut)); std::__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22); std::__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22); } template void __merge_without_buffer(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp) { if (__len1 == 0 || __len2 == 0) return; if (__len1 + __len2 == 2) { if (__comp(*__middle, *__first)) std::iter_swap(__first, __middle); return; } _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut, __comp); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut, __comp); __len11 = std::distance(__first, __first_cut); } std::rotate(__first_cut, __middle, __second_cut); _BidirectionalIterator __new_middle = __first_cut; std::advance(__new_middle, std::distance(__middle, __second_cut)); std::__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22, __comp); std::__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __comp); } template void __inplace_stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__last - __first < 15) { std::__insertion_sort(__first, __last); return; } _RandomAccessIterator __middle = __first + (__last - __first) / 2; std::__inplace_stable_sort(__first, __middle); std::__inplace_stable_sort(__middle, __last); std::__merge_without_buffer(__first, __middle, __last, __middle - __first, __last - __middle); } template void __inplace_stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first < 15) { std::__insertion_sort(__first, __last, __comp); return; } _RandomAccessIterator __middle = __first + (__last - __first) / 2; std::__inplace_stable_sort(__first, __middle, __comp); std::__inplace_stable_sort(__middle, __last, __comp); std::__merge_without_buffer(__first, __middle, __last, __middle - __first, __last - __middle, __comp); } # 2959 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; while (__first1 != __last1 && __first2 != __last2) { if (*__first2 < *__first1) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 3017 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } template void __merge_sort_loop(_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size) { const _Distance __two_step = 2 * __step_size; while (__last - __first >= __two_step) { __result = std::merge(__first, __first + __step_size, __first + __step_size, __first + __two_step, __result); __first += __two_step; } __step_size = std::min(_Distance(__last - __first), __step_size); std::merge(__first, __first + __step_size, __first + __step_size, __last, __result); } template void __merge_sort_loop(_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size, _Compare __comp) { const _Distance __two_step = 2 * __step_size; while (__last - __first >= __two_step) { __result = std::merge(__first, __first + __step_size, __first + __step_size, __first + __two_step, __result, __comp); __first += __two_step; } __step_size = std::min(_Distance(__last - __first), __step_size); std::merge(__first, __first + __step_size, __first + __step_size, __last, __result, __comp); } enum { _S_chunk_size = 7 }; template void __chunk_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size) { while (__last - __first >= __chunk_size) { std::__insertion_sort(__first, __first + __chunk_size); __first += __chunk_size; } std::__insertion_sort(__first, __last); } template void __chunk_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size, _Compare __comp) { while (__last - __first >= __chunk_size) { std::__insertion_sort(__first, __first + __chunk_size, __comp); __first += __chunk_size; } std::__insertion_sort(__first, __last, __comp); } template void __merge_sort_with_buffer(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; const _Distance __len = __last - __first; const _Pointer __buffer_last = __buffer + __len; _Distance __step_size = _S_chunk_size; std::__chunk_insertion_sort(__first, __last, __step_size); while (__step_size < __len) { std::__merge_sort_loop(__first, __last, __buffer, __step_size); __step_size *= 2; std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size); __step_size *= 2; } } template void __merge_sort_with_buffer(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; const _Distance __len = __last - __first; const _Pointer __buffer_last = __buffer + __len; _Distance __step_size = _S_chunk_size; std::__chunk_insertion_sort(__first, __last, __step_size, __comp); while (__step_size < __len) { std::__merge_sort_loop(__first, __last, __buffer, __step_size, __comp); __step_size *= 2; std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size, __comp); __step_size *= 2; } } template _BidirectionalIterator3 __merge_backward(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result) { if (__first1 == __last1) return std::copy_backward(__first2, __last2, __result); if (__first2 == __last2) return std::copy_backward(__first1, __last1, __result); --__last1; --__last2; while (true) { if (*__last2 < *__last1) { *--__result = *__last1; if (__first1 == __last1) return std::copy_backward(__first2, ++__last2, __result); --__last1; } else { *--__result = *__last2; if (__first2 == __last2) return std::copy_backward(__first1, ++__last1, __result); --__last2; } } } template _BidirectionalIterator3 __merge_backward(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp) { if (__first1 == __last1) return std::copy_backward(__first2, __last2, __result); if (__first2 == __last2) return std::copy_backward(__first1, __last1, __result); --__last1; --__last2; while (true) { if (__comp(*__last2, *__last1)) { *--__result = *__last1; if (__first1 == __last1) return std::copy_backward(__first2, ++__last2, __result); --__last1; } else { *--__result = *__last2; if (__first2 == __last2) return std::copy_backward(__first1, ++__last1, __result); --__last2; } } } template _BidirectionalIterator1 __rotate_adaptive(_BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size) { _BidirectionalIterator2 __buffer_end; if (__len1 > __len2 && __len2 <= __buffer_size) { __buffer_end = std::copy(__middle, __last, __buffer); std::copy_backward(__first, __middle, __last); return std::copy(__buffer, __buffer_end, __first); } else if (__len1 <= __buffer_size) { __buffer_end = std::copy(__first, __middle, __buffer); std::copy(__middle, __last, __first); return std::copy_backward(__buffer, __buffer_end, __last); } else { std::rotate(__first, __middle, __last); std::advance(__first, std::distance(__middle, __last)); return __first; } } template void __merge_adaptive(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size) { if (__len1 <= __len2 && __len1 <= __buffer_size) { _Pointer __buffer_end = std::copy(__first, __middle, __buffer); std::merge(__buffer, __buffer_end, __middle, __last, __first); } else if (__len2 <= __buffer_size) { _Pointer __buffer_end = std::copy(__middle, __last, __buffer); std::__merge_backward(__first, __middle, __buffer, __buffer_end, __last); } else { _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut); __len11 = std::distance(__first, __first_cut); } _BidirectionalIterator __new_middle = std::__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __buffer, __buffer_size); } } template void __merge_adaptive(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { if (__len1 <= __len2 && __len1 <= __buffer_size) { _Pointer __buffer_end = std::copy(__first, __middle, __buffer); std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp); } else if (__len2 <= __buffer_size) { _Pointer __buffer_end = std::copy(__middle, __last, __buffer); std::__merge_backward(__first, __middle, __buffer, __buffer_end, __last, __comp); } else { _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut, __comp); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut, __comp); __len11 = std::distance(__first, __first_cut); } _BidirectionalIterator __new_middle = std::__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, __len22, __buffer, __buffer_size, __comp); std::__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __buffer, __buffer_size, __comp); } } # 3437 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) { typedef typename iterator_traits<_BidirectionalIterator>::value_type _ValueType; typedef typename iterator_traits<_BidirectionalIterator>::difference_type _DistanceType; ; ; if (__first == __middle || __middle == __last) return; _DistanceType __len1 = std::distance(__first, __middle); _DistanceType __len2 = std::distance(__middle, __last); _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__merge_without_buffer(__first, __middle, __last, __len1, __len2); else std::__merge_adaptive(__first, __middle, __last, __len1, __len2, __buf.begin(), _DistanceType(__buf.size())); } # 3491 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) { typedef typename iterator_traits<_BidirectionalIterator>::value_type _ValueType; typedef typename iterator_traits<_BidirectionalIterator>::difference_type _DistanceType; ; ; if (__first == __middle || __middle == __last) return; const _DistanceType __len1 = std::distance(__first, __middle); const _DistanceType __len2 = std::distance(__middle, __last); _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__merge_without_buffer(__first, __middle, __last, __len1, __len2, __comp); else std::__merge_adaptive(__first, __middle, __last, __len1, __len2, __buf.begin(), _DistanceType(__buf.size()), __comp); } template void __stable_sort_adaptive(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size) { const _Distance __len = (__last - __first + 1) / 2; const _RandomAccessIterator __middle = __first + __len; if (__len > __buffer_size) { std::__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size); std::__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size); } else { std::__merge_sort_with_buffer(__first, __middle, __buffer); std::__merge_sort_with_buffer(__middle, __last, __buffer); } std::__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), _Distance(__last - __middle), __buffer, __buffer_size); } template void __stable_sort_adaptive(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { const _Distance __len = (__last - __first + 1) / 2; const _RandomAccessIterator __middle = __first + __len; if (__len > __buffer_size) { std::__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size, __comp); std::__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size, __comp); } else { std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); } std::__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), _Distance(__last - __middle), __buffer, __buffer_size, __comp); } # 3600 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; _Temporary_buffer<_RandomAccessIterator, _ValueType> buf(__first, __last); if (buf.begin() == 0) std::__inplace_stable_sort(__first, __last); else std::__stable_sort_adaptive(__first, __last, buf.begin(), _DistanceType(buf.size())); } # 3641 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; _Temporary_buffer<_RandomAccessIterator, _ValueType> buf(__first, __last); if (buf.begin() == 0) std::__inplace_stable_sort(__first, __last, __comp); else std::__stable_sort_adaptive(__first, __last, buf.begin(), _DistanceType(buf.size()), __comp); } # 3682 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; while (__last - __first > 3) { _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1)))); if (__cut <= __nth) __first = __cut; else __last = __cut; } std::__insertion_sort(__first, __last); } # 3733 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; while (__last - __first > 3) { _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1), __comp)), __comp); if (__cut <= __nth) __first = __cut; else __last = __cut; } std::__insertion_sort(__first, __last, __comp); } # 3786 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle, __left, __right; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (*__middle < __val) { __first = __middle; ++__first; __len = __len - __half - 1; } else if (__val < *__middle) __len = __half; else { __left = std::lower_bound(__first, __middle, __val); std::advance(__first, __len); __right = std::upper_bound(++__middle, __first, __val); return pair<_ForwardIterator, _ForwardIterator>(__left, __right); } } return pair<_ForwardIterator, _ForwardIterator>(__first, __first); } # 3848 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle, __left, __right; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(*__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else if (__comp(__val, *__middle)) __len = __half; else { __left = std::lower_bound(__first, __middle, __val, __comp); std::advance(__first, __len); __right = std::upper_bound(++__middle, __first, __val, __comp); return pair<_ForwardIterator, _ForwardIterator>(__left, __right); } } return pair<_ForwardIterator, _ForwardIterator>(__first, __first); } # 3906 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { ; _ForwardIterator __i = std::lower_bound(__first, __last, __val); return __i != __last && !(__val < *__i); } # 3938 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { ; _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp); return __i != __last && !__comp(__val, *__i); } # 3976 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first2 < *__first1) return false; else if(*__first1 < *__first2) ++__first1; else ++__first1, ++__first2; return __first2 == __last2; } # 4022 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first2, *__first1)) return false; else if(__comp(*__first1, *__first2)) ++__first1; else ++__first1, ++__first2; return __first2 == __last2; } # 4068 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; while (__first1 != __last1 && __first2 != __last2) { if (*__first1 < *__first2) { *__result = *__first1; ++__first1; } else if (*__first2 < *__first1) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; ++__first2; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4130 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; } else if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; ++__first2; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4191 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) ++__first1; else if (*__first2 < *__first1) ++__first2; else { *__result = *__first1; ++__first1; ++__first2; ++__result; } return __result; } # 4245 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) ++__first1; else if (__comp(*__first2, *__first1)) ++__first2; else { *__result = *__first1; ++__first1; ++__first2; ++__result; } return __result; } # 4299 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) { *__result = *__first1; ++__first1; ++__result; } else if (*__first2 < *__first1) ++__first2; else { ++__first1; ++__first2; } return std::copy(__first1, __last1, __result); } # 4357 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(*__first2, *__first1)) ++__first2; else { ++__first1; ++__first2; } return std::copy(__first1, __last1, __result); } # 4411 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) { *__result = *__first1; ++__first1; ++__result; } else if (*__first2 < *__first1) { *__result = *__first2; ++__first2; ++__result; } else { ++__first1; ++__first2; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4472 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; ++__result; } else { ++__first1; ++__first2; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4525 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (*__result < *__first) __result = __first; return __result; } # 4552 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(*__result, *__first)) __result = __first; return __result; } template _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (*__first < *__result) __result = __first; return __result; } # 4604 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(*__first, *__result)) __result = __first; return __result; } # 4639 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (*__i < *__ii) { _BidirectionalIterator __j = __last; while (!(*__i < *--__j)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 4695 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(*__i, *__ii)) { _BidirectionalIterator __j = __last; while (!__comp(*__i, *--__j)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 4750 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (*__ii < *__i) { _BidirectionalIterator __j = __last; while (!(*--__j < *__i)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 4806 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(*__ii, *__i)) { _BidirectionalIterator __j = __last; while (!__comp(*--__j, *__i)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 4865 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2) { ; ; for ( ; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (*__first1 == *__iter) return __first1; return __last1; } # 4901 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp) { ; ; for ( ; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (__comp(*__first1, *__iter)) return __first1; return __last1; } # 4934 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template _ForwardIterator1 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag) { if (__first2 == __last2) return __last1; else { _ForwardIterator1 __result = __last1; while (1) { _ForwardIterator1 __new_result = std::search(__first1, __last1, __first2, __last2); if (__new_result == __last1) return __result; else { __result = __new_result; __first1 = __new_result; ++__first1; } } } } template _ForwardIterator1 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag, _BinaryPredicate __comp) { if (__first2 == __last2) return __last1; else { _ForwardIterator1 __result = __last1; while (1) { _ForwardIterator1 __new_result = std::search(__first1, __last1, __first2, __last2, __comp); if (__new_result == __last1) return __result; else { __result = __new_result; __first1 = __new_result; ++__first1; } } } } template _BidirectionalIterator1 __find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag) { typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; _RevIterator1 __rlast1(__first1); _RevIterator2 __rlast2(__first2); _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, _RevIterator2(__last2), __rlast2); if (__rresult == __rlast1) return __last1; else { _BidirectionalIterator1 __result = __rresult.base(); std::advance(__result, -std::distance(__first2, __last2)); return __result; } } template _BidirectionalIterator1 __find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag, _BinaryPredicate __comp) { typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; _RevIterator1 __rlast1(__first1); _RevIterator2 __rlast2(__first2); _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, _RevIterator2(__last2), __rlast2, __comp); if (__rresult == __rlast1) return __last1; else { _BidirectionalIterator1 __result = __rresult.base(); std::advance(__result, -std::distance(__first2, __last2)); return __result; } } # 5084 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2)); } # 5129 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2), __comp); } } # 70 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3/algorithm" 2 3 # 38 "knuminput.cpp" 2 # 1 "/usr/qt/3/include/qapplication.h" 1 # 42 "/usr/qt/3/include/qapplication.h" # 1 "/usr/qt/3/include/qdesktopwidget.h" 1 # 40 "/usr/qt/3/include/qdesktopwidget.h" # 1 "/usr/qt/3/include/qwidget.h" 1 # 42 "/usr/qt/3/include/qwidget.h" # 1 "/usr/qt/3/include/qwindowdefs.h" 1 # 43 "/usr/qt/3/include/qwindowdefs.h" # 1 "/usr/qt/3/include/qobjectdefs.h" 1 # 42 "/usr/qt/3/include/qobjectdefs.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 609 "/usr/qt/3/include/qglobal.h" typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned uint; typedef unsigned long ulong; typedef char *pchar; typedef uchar *puchar; typedef const char *pcchar; const bool FALSE = 0; const bool TRUE = !0; # 673 "/usr/qt/3/include/qglobal.h" inline int qRound( double d ) { return d >= 0.0 ? int(d + 0.5) : int( d - ((int)d-1) + 0.5 ) + ((int)d-1); } # 693 "/usr/qt/3/include/qglobal.h" typedef signed char Q_INT8; typedef unsigned char Q_UINT8; typedef short Q_INT16; typedef unsigned short Q_UINT16; typedef int Q_INT32; typedef unsigned int Q_UINT32; typedef long Q_LONG; typedef unsigned long Q_ULONG; # 714 "/usr/qt/3/include/qglobal.h" typedef long long Q_INT64; typedef unsigned long long Q_UINT64; typedef Q_INT64 Q_LLONG; typedef Q_UINT64 Q_ULLONG; typedef Q_ULONG QtOffset; class QDataStream; # 758 "/usr/qt/3/include/qglobal.h" # 1 "/usr/qt/3/include/qconfig.h" 1 # 759 "/usr/qt/3/include/qglobal.h" 2 # 768 "/usr/qt/3/include/qglobal.h" # 1 "/usr/qt/3/include/qmodules.h" 1 # 769 "/usr/qt/3/include/qglobal.h" 2 # 824 "/usr/qt/3/include/qglobal.h" # 1 "/usr/qt/3/include/qfeatures.h" 1 # 825 "/usr/qt/3/include/qglobal.h" 2 # 891 "/usr/qt/3/include/qglobal.h" const char *qVersion(); bool qSysInfo( int *wordSize, bool *bigEndian ); bool qSharedBuild(); # 952 "/usr/qt/3/include/qglobal.h" void qDebug( const char *, ... ) __attribute__ ((format (printf, 1, 2))) ; void qWarning( const char *, ... ) __attribute__ ((format (printf, 1, 2))) ; void qFatal( const char *, ... ) __attribute__ ((format (printf, 1, 2))) ; void qSystemWarning( const char *, int code = -1 ); # 1016 "/usr/qt/3/include/qglobal.h" bool qt_check_pointer( bool c, const char *, int ); # 1030 "/usr/qt/3/include/qglobal.h" enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg }; typedef void (*QtMsgHandler)(QtMsgType, const char *); QtMsgHandler qInstallMsgHandler( QtMsgHandler ); void qSuppressObsoleteWarnings( bool = TRUE ); void qObsolete( const char *obj, const char *oldfunc, const char *newfunc ); void qObsolete( const char *obj, const char *oldfunc ); void qObsolete( const char *message ); const char *qInstallPath(); const char *qInstallPathDocs(); const char *qInstallPathHeaders(); const char *qInstallPathLibs(); const char *qInstallPathBins(); const char *qInstallPathPlugins(); const char *qInstallPathData(); const char *qInstallPathTranslations(); const char *qInstallPathSysconf(); # 43 "/usr/qt/3/include/qobjectdefs.h" 2 # 72 "/usr/qt/3/include/qobjectdefs.h" struct QUObject; # 152 "/usr/qt/3/include/qobjectdefs.h" class QObject; class QMetaObject; class QSignal; class QConnection; class QEvent; struct QMetaData; class QConnectionList; class QConnectionListIt; class QSignalVec; class QObjectList; class QObjectListIt; class QMemberDict; void *qt_find_obj_child( QObject *, const char *, const char * ); void *qt_inheritedBy( QMetaObject *super, const QObject *cls ); template T qt_cast(const QObject *object) { return (T)qt_inheritedBy( ((T)0)->staticMetaObject(), object ); } # 44 "/usr/qt/3/include/qwindowdefs.h" 2 # 1 "/usr/qt/3/include/qstring.h" 1 # 42 "/usr/qt/3/include/qstring.h" # 1 "/usr/qt/3/include/qcstring.h" 1 # 43 "/usr/qt/3/include/qcstring.h" # 1 "/usr/qt/3/include/qmemarray.h" 1 # 42 "/usr/qt/3/include/qmemarray.h" # 1 "/usr/qt/3/include/qgarray.h" 1 # 42 "/usr/qt/3/include/qgarray.h" # 1 "/usr/qt/3/include/qshared.h" 1 # 42 "/usr/qt/3/include/qshared.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 43 "/usr/qt/3/include/qshared.h" 2 struct QShared { QShared() : count( 1 ) { } void ref() { count++; } bool deref() { return !--count; } uint count; }; # 43 "/usr/qt/3/include/qgarray.h" 2 class QGArray { friend class QBuffer; public: struct array_data : public QShared { array_data():data(0),len(0) {} char *data; uint len; }; QGArray(); enum Optimization { MemOptim, SpeedOptim }; protected: QGArray( int, int ); QGArray( int size ); QGArray( const QGArray &a ); virtual ~QGArray(); QGArray &operator=( const QGArray &a ) { return assign( a ); } virtual void detach() { duplicate(*this); } char *data() const { return shd->data; } uint nrefs() const { return shd->count; } uint size() const { return shd->len; } bool isEqual( const QGArray &a ) const; bool resize( uint newsize, Optimization optim ); bool resize( uint newsize ); bool fill( const char *d, int len, uint sz ); QGArray &assign( const QGArray &a ); QGArray &assign( const char *d, uint len ); QGArray &duplicate( const QGArray &a ); QGArray &duplicate( const char *d, uint len ); void store( const char *d, uint len ); array_data *sharedBlock() const { return shd; } void setSharedBlock( array_data *p ) { shd=(array_data*)p; } QGArray &setRawData( const char *d, uint len ); void resetRawData( const char *d, uint len ); int find( const char *d, uint index, uint sz ) const; int contains( const char *d, uint sz ) const; void sort( uint sz ); int bsearch( const char *d, uint sz ) const; char *at( uint index ) const; bool setExpand( uint index, const char *d, uint sz ); protected: virtual array_data *newData(); virtual void deleteData( array_data *p ); private: static void msg_index( uint ); array_data *shd; }; inline char *QGArray::at( uint index ) const { if ( index >= size() ) { msg_index( index ); index = 0; } return &shd->data[index]; } # 43 "/usr/qt/3/include/qmemarray.h" 2 template class QMemArray : public QGArray { public: typedef type* Iterator; typedef const type* ConstIterator; typedef type ValueType; protected: QMemArray( int, int ) : QGArray( 0, 0 ) {} public: QMemArray() {} QMemArray( int size ) : QGArray(size*sizeof(type)) {} QMemArray( const QMemArray &a ) : QGArray(a) {} ~QMemArray() {} QMemArray &operator=(const QMemArray &a) { return (QMemArray&)QGArray::assign(a); } type *data() const { return (type *)QGArray::data(); } uint nrefs() const { return QGArray::nrefs(); } uint size() const { return QGArray::size()/sizeof(type); } uint count() const { return size(); } bool isEmpty() const { return QGArray::size() == 0; } bool isNull() const { return QGArray::data() == 0; } bool resize( uint size ) { return QGArray::resize(size*sizeof(type)); } bool resize( uint size, Optimization optim ) { return QGArray::resize(size*sizeof(type), optim); } bool truncate( uint pos ) { return QGArray::resize(pos*sizeof(type)); } bool fill( const type &d, int size = -1 ) { return QGArray::fill((char*)&d,size,sizeof(type) ); } void detach() { QGArray::detach(); } QMemArray copy() const { QMemArray tmp; return tmp.duplicate(*this); } QMemArray& assign( const QMemArray& a ) { return (QMemArray&)QGArray::assign(a); } QMemArray& assign( const type *a, uint n ) { return (QMemArray&)QGArray::assign((char*)a,n*sizeof(type)); } QMemArray& duplicate( const QMemArray& a ) { return (QMemArray&)QGArray::duplicate(a); } QMemArray& duplicate( const type *a, uint n ) { return (QMemArray&)QGArray::duplicate((char*)a,n*sizeof(type)); } QMemArray& setRawData( const type *a, uint n ) { return (QMemArray&)QGArray::setRawData((char*)a, n*sizeof(type)); } void resetRawData( const type *a, uint n ) { QGArray::resetRawData((char*)a,n*sizeof(type)); } int find( const type &d, uint i=0 ) const { return QGArray::find((char*)&d,i,sizeof(type)); } int contains( const type &d ) const { return QGArray::contains((char*)&d,sizeof(type)); } void sort() { QGArray::sort(sizeof(type)); } int bsearch( const type &d ) const { return QGArray::bsearch((const char*)&d,sizeof(type)); } type& operator[]( int i ) const { return (type &)(*(type *)QGArray::at(i*sizeof(type))); } type& at( uint i ) const { return (type &)(*(type *)QGArray::at(i*sizeof(type))); } operator const type*() const { return (const type *)QGArray::data(); } bool operator==( const QMemArray &a ) const { return isEqual(a); } bool operator!=( const QMemArray &a ) const { return !isEqual(a); } Iterator begin() { return data(); } Iterator end() { return data() + size(); } ConstIterator begin() const { return data(); } ConstIterator end() const { return data() + size(); } }; # 1 "/usr/qt/3/include/qwinexport.h" 1 # 118 "/usr/qt/3/include/qmemarray.h" 2 # 44 "/usr/qt/3/include/qcstring.h" 2 # 53 "/usr/qt/3/include/qcstring.h" void *qmemmove( void *dst, const void *src, uint len ); char *qstrdup( const char * ); inline uint qstrlen( const char *str ) { return str ? (uint)strlen(str) : 0u; } inline char *qstrcpy( char *dst, const char *src ) { return src ? strcpy(dst, src) : 0; } char *qstrncpy( char *dst, const char *src, uint len ); inline int qstrcmp( const char *str1, const char *str2 ) { return ( str1 && str2 ) ? strcmp( str1, str2 ) : ( str1 ? 1 : ( str2 ? -1 : 0 ) ); } inline int qstrncmp( const char *str1, const char *str2, uint len ) { return ( str1 && str2 ) ? strncmp( str1, str2, len ) : ( str1 ? 1 : ( str2 ? -1 : 0 ) ); } int qstricmp( const char *, const char * ); int qstrnicmp( const char *, const char *, uint len ); # 98 "/usr/qt/3/include/qcstring.h" Q_UINT16 qChecksum( const char *s, uint len ); # 116 "/usr/qt/3/include/qcstring.h" typedef QMemArray QByteArray; QByteArray qCompress( const uchar* data, int nbytes ); QByteArray qUncompress( const uchar* data, int nbytes ); inline QByteArray qCompress( const QByteArray& data) { return qCompress( (const uchar*)data.data(), data.size() ); } inline QByteArray qUncompress( const QByteArray& data ) { return qUncompress( (const uchar*)data.data(), data.size() ); } QDataStream &operator<<( QDataStream &, const QByteArray & ); QDataStream &operator>>( QDataStream &, QByteArray & ); class QRegExp; class QCString : public QByteArray { public: QCString() {} QCString( int size ); QCString( const QCString &s ) : QByteArray( s ) {} QCString( const char *str ); QCString( const char *str, uint maxlen ); ~QCString(); QCString &operator=( const QCString &s ); QCString &operator=( const char *str ); bool isNull() const; bool isEmpty() const; uint length() const; bool resize( uint newlen ); bool truncate( uint pos ); bool fill( char c, int len = -1 ); QCString copy() const; QCString &sprintf( const char *format, ... ); int find( char c, int index=0, bool cs=TRUE ) const; int find( const char *str, int index=0, bool cs=TRUE ) const; int find( const QRegExp &, int index=0 ) const; int findRev( char c, int index=-1, bool cs=TRUE) const; int findRev( const char *str, int index=-1, bool cs=TRUE) const; int findRev( const QRegExp &, int index=-1 ) const; int contains( char c, bool cs=TRUE ) const; int contains( const char *str, bool cs=TRUE ) const; int contains( const QRegExp & ) const; QCString left( uint len ) const; QCString right( uint len ) const; QCString mid( uint index, uint len=0xffffffff) const; QCString leftJustify( uint width, char fill=' ', bool trunc=FALSE)const; QCString rightJustify( uint width, char fill=' ',bool trunc=FALSE)const; QCString lower() const; QCString upper() const; QCString stripWhiteSpace() const; QCString simplifyWhiteSpace() const; QCString &insert( uint index, const char * ); QCString &insert( uint index, char ); QCString &append( const char * ); QCString &prepend( const char * ); QCString &remove( uint index, uint len ); QCString &replace( uint index, uint len, const char * ); QCString &replace( const QRegExp &, const char * ); QCString &replace( char c, const char *after ); QCString &replace( const char *, const char * ); QCString &replace( char, char ); short toShort( bool *ok=0 ) const; ushort toUShort( bool *ok=0 ) const; int toInt( bool *ok=0 ) const; uint toUInt( bool *ok=0 ) const; long toLong( bool *ok=0 ) const; ulong toULong( bool *ok=0 ) const; float toFloat( bool *ok=0 ) const; double toDouble( bool *ok=0 ) const; QCString &setStr( const char *s ); QCString &setNum( short ); QCString &setNum( ushort ); QCString &setNum( int ); QCString &setNum( uint ); QCString &setNum( long ); QCString &setNum( ulong ); QCString &setNum( float, char f='g', int prec=6 ); QCString &setNum( double, char f='g', int prec=6 ); bool setExpand( uint index, char c ); operator const char *() const; QCString &operator+=( const char *str ); QCString &operator+=( char c ); private: int find( const char *str, int index, bool cs, uint l ) const; }; QDataStream &operator<<( QDataStream &, const QCString & ); QDataStream &operator>>( QDataStream &, QCString & ); inline QCString &QCString::operator=( const QCString &s ) { return (QCString&)assign( s ); } inline QCString &QCString::operator=( const char *str ) { return (QCString&)duplicate( str, qstrlen(str)+1 ); } inline bool QCString::isNull() const { return data() == 0; } inline bool QCString::isEmpty() const { return data() == 0 || *data() == '\0'; } inline uint QCString::length() const { return qstrlen( data() ); } inline bool QCString::truncate( uint pos ) { return resize(pos+1); } inline QCString QCString::copy() const { return QCString( data() ); } inline QCString &QCString::prepend( const char *s ) { return insert(0,s); } inline QCString &QCString::append( const char *s ) { return operator+=(s); } inline QCString &QCString::setNum( short n ) { return setNum((long)n); } inline QCString &QCString::setNum( ushort n ) { return setNum((ulong)n); } inline QCString &QCString::setNum( int n ) { return setNum((long)n); } inline QCString &QCString::setNum( uint n ) { return setNum((ulong)n); } inline QCString &QCString::setNum( float n, char f, int prec ) { return setNum((double)n,f,prec); } inline QCString::operator const char *() const { return (const char *)data(); } inline bool operator==( const QCString &s1, const QCString &s2 ) { return qstrcmp( s1.data(), s2.data() ) == 0; } inline bool operator==( const QCString &s1, const char *s2 ) { return qstrcmp( s1.data(), s2 ) == 0; } inline bool operator==( const char *s1, const QCString &s2 ) { return qstrcmp( s1, s2.data() ) == 0; } inline bool operator!=( const QCString &s1, const QCString &s2 ) { return qstrcmp( s1.data(), s2.data() ) != 0; } inline bool operator!=( const QCString &s1, const char *s2 ) { return qstrcmp( s1.data(), s2 ) != 0; } inline bool operator!=( const char *s1, const QCString &s2 ) { return qstrcmp( s1, s2.data() ) != 0; } inline bool operator<( const QCString &s1, const QCString& s2 ) { return qstrcmp( s1.data(), s2.data() ) < 0; } inline bool operator<( const QCString &s1, const char *s2 ) { return qstrcmp( s1.data(), s2 ) < 0; } inline bool operator<( const char *s1, const QCString &s2 ) { return qstrcmp( s1, s2.data() ) < 0; } inline bool operator<=( const QCString &s1, const QCString &s2 ) { return qstrcmp( s1.data(), s2.data() ) <= 0; } inline bool operator<=( const QCString &s1, const char *s2 ) { return qstrcmp( s1.data(), s2 ) <= 0; } inline bool operator<=( const char *s1, const QCString &s2 ) { return qstrcmp( s1, s2.data() ) <= 0; } inline bool operator>( const QCString &s1, const QCString &s2 ) { return qstrcmp( s1.data(), s2.data() ) > 0; } inline bool operator>( const QCString &s1, const char *s2 ) { return qstrcmp( s1.data(), s2 ) > 0; } inline bool operator>( const char *s1, const QCString &s2 ) { return qstrcmp( s1, s2.data() ) > 0; } inline bool operator>=( const QCString &s1, const QCString& s2 ) { return qstrcmp( s1.data(), s2.data() ) >= 0; } inline bool operator>=( const QCString &s1, const char *s2 ) { return qstrcmp( s1.data(), s2 ) >= 0; } inline bool operator>=( const char *s1, const QCString &s2 ) { return qstrcmp( s1, s2.data() ) >= 0; } inline const QCString operator+( const QCString &s1, const QCString &s2 ) { QCString tmp( s1.data() ); tmp += s2; return tmp; } inline const QCString operator+( const QCString &s1, const char *s2 ) { QCString tmp( s1.data() ); tmp += s2; return tmp; } inline const QCString operator+( const char *s1, const QCString &s2 ) { QCString tmp( s1 ); tmp += s2; return tmp; } inline const QCString operator+( const QCString &s1, char c2 ) { QCString tmp( s1.data() ); tmp += c2; return tmp; } inline const QCString operator+( char c1, const QCString &s2 ) { QCString tmp; tmp += c1; tmp += s2; return tmp; } # 1 "/usr/qt/3/include/qwinexport.h" 1 # 389 "/usr/qt/3/include/qcstring.h" 2 # 43 "/usr/qt/3/include/qstring.h" 2 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h" 1 3 4 # 47 "/usr/qt/3/include/qstring.h" 2 # 68 "/usr/qt/3/include/qstring.h" class QRegExp; class QString; class QCharRef; template class QDeepCopy; class QChar { public: QChar(); QChar( char c ); QChar( uchar c ); QChar( uchar c, uchar r ); QChar( const QChar& c ); QChar( ushort rc ); QChar( short rc ); QChar( uint rc ); QChar( int rc ); static const QChar null; static const QChar replacement; static const QChar byteOrderMark; static const QChar byteOrderSwapped; static const QChar nbsp; enum Category { NoCategory, Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, Number_Letter, Number_Other, Separator_Space, Separator_Line, Separator_Paragraph, Other_Control, Other_Format, Other_Surrogate, Other_PrivateUse, Other_NotAssigned, Letter_Uppercase, Letter_Lowercase, Letter_Titlecase, Letter_Modifier, Letter_Other, Punctuation_Connector, Punctuation_Dash, Punctuation_Dask = Punctuation_Dash, Punctuation_Open, Punctuation_Close, Punctuation_InitialQuote, Punctuation_FinalQuote, Punctuation_Other, Symbol_Math, Symbol_Currency, Symbol_Modifier, Symbol_Other }; enum Direction { DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN }; enum Decomposition { Single, Canonical, Font, NoBreak, Initial, Medial, Final, Isolated, Circle, Super, Sub, Vertical, Wide, Narrow, Small, Square, Compat, Fraction }; enum Joining { OtherJoining, Dual, Right, Center }; enum CombiningClass { Combining_BelowLeftAttached = 200, Combining_BelowAttached = 202, Combining_BelowRightAttached = 204, Combining_LeftAttached = 208, Combining_RightAttached = 210, Combining_AboveLeftAttached = 212, Combining_AboveAttached = 214, Combining_AboveRightAttached = 216, Combining_BelowLeft = 218, Combining_Below = 220, Combining_BelowRight = 222, Combining_Left = 224, Combining_Right = 226, Combining_AboveLeft = 228, Combining_Above = 230, Combining_AboveRight = 232, Combining_DoubleBelow = 233, Combining_DoubleAbove = 234, Combining_IotaSubscript = 240 }; int digitValue() const; QChar lower() const; QChar upper() const; Category category() const; Direction direction() const; Joining joining() const; bool mirrored() const; QChar mirroredChar() const; const QString &decomposition() const; Decomposition decompositionTag() const; unsigned char combiningClass() const; char latin1() const { return ucs > 0xff ? 0 : (char) ucs; } ushort unicode() const { return ucs; } ushort &unicode() { return ucs; } operator char() const { return latin1(); } bool isNull() const { return unicode()==0; } bool isPrint() const; bool isPunct() const; bool isSpace() const; bool isMark() const; bool isLetter() const; bool isNumber() const; bool isLetterOrNumber() const; bool isDigit() const; bool isSymbol() const; uchar cell() const { return ((uchar) ucs & 0xff); } uchar row() const { return ((uchar) (ucs>>8)&0xff); } void setCell( uchar cell ) { ucs = (ucs & 0xff00) + cell; } void setRow( uchar row ) { ucs = (((ushort) row)<<8) + (ucs&0xff); } static bool networkOrdered() { int wordSize; bool bigEndian = FALSE; qSysInfo( &wordSize, &bigEndian ); return bigEndian; } friend inline bool operator==( char ch, QChar c ); friend inline bool operator==( QChar c, char ch ); friend inline bool operator==( QChar c1, QChar c2 ); friend inline bool operator!=( QChar c1, QChar c2 ); friend inline bool operator!=( char ch, QChar c ); friend inline bool operator!=( QChar c, char ch ); friend inline bool operator<=( QChar c, char ch ); friend inline bool operator<=( char ch, QChar c ); friend inline bool operator<=( QChar c1, QChar c2 ); private: ushort ucs; } ; inline QChar::QChar() : ucs( 0 ) { } inline QChar::QChar( char c ) : ucs( (uchar)c ) { } inline QChar::QChar( uchar c ) : ucs( c ) { } inline QChar::QChar( uchar c, uchar r ) : ucs( (r << 8) | c ) { } inline QChar::QChar( const QChar& c ) : ucs( c.ucs ) { } inline QChar::QChar( ushort rc ) : ucs( rc ) { } inline QChar::QChar( short rc ) : ucs( (ushort) rc ) { } inline QChar::QChar( uint rc ) : ucs( (ushort ) (rc & 0xffff) ) { } inline QChar::QChar( int rc ) : ucs( (ushort) (rc & 0xffff) ) { } inline bool operator==( char ch, QChar c ) { return ((uchar) ch) == c.ucs; } inline bool operator==( QChar c, char ch ) { return ((uchar) ch) == c.ucs; } inline bool operator==( QChar c1, QChar c2 ) { return c1.ucs == c2.ucs; } inline bool operator!=( QChar c1, QChar c2 ) { return c1.ucs != c2.ucs; } inline bool operator!=( char ch, QChar c ) { return ((uchar)ch) != c.ucs; } inline bool operator!=( QChar c, char ch ) { return ((uchar) ch) != c.ucs; } inline bool operator<=( QChar c, char ch ) { return c.ucs <= ((uchar) ch); } inline bool operator<=( char ch, QChar c ) { return ((uchar) ch) <= c.ucs; } inline bool operator<=( QChar c1, QChar c2 ) { return c1.ucs <= c2.ucs; } inline bool operator>=( QChar c, char ch ) { return ch <= c; } inline bool operator>=( char ch, QChar c ) { return c <= ch; } inline bool operator>=( QChar c1, QChar c2 ) { return c2 <= c1; } inline bool operator<( QChar c, char ch ) { return !(ch<=c); } inline bool operator<( char ch, QChar c ) { return !(c<=ch); } inline bool operator<( QChar c1, QChar c2 ) { return !(c2<=c1); } inline bool operator>( QChar c, char ch ) { return !(ch>=c); } inline bool operator>( char ch, QChar c ) { return !(c>=ch); } inline bool operator>( QChar c1, QChar c2 ) { return !(c2>=c1); } struct QStringData : public QShared { QStringData() : QShared(), unicode(0), ascii(0), len(0), issimpletext(TRUE), maxl(0), islatin1(FALSE) { ref(); } QStringData(QChar *u, uint l, uint m) : QShared(), unicode(u), ascii(0), len(l), issimpletext(FALSE), maxl(m), islatin1(FALSE) { } ~QStringData() { if ( unicode ) delete[] ((char*)unicode); if ( ascii ) delete[] ascii; } void deleteSelf(); QChar *unicode; char *ascii; void setDirty() { if ( ascii ) { delete [] ascii; ascii = 0; } issimpletext = FALSE; } uint len : 30; uint issimpletext : 1; uint maxl : 30; uint islatin1 : 1; private: QStringData( const QStringData& ); QStringData& operator=( const QStringData& ); }; class QString { public: QString(); QString( QChar ); QString( const QString & ); QString( const QByteArray& ); QString( const QChar* unicode, uint length ); QString( const char *str ); ~QString(); QString &operator=( const QString & ); QString &operator=( const char * ); QString &operator=( const QCString& ); QString &operator=( QChar c ); QString &operator=( char c ); static const QString null; bool isNull() const; bool isEmpty() const; uint length() const; void truncate( uint pos ); QString & fill( QChar c, int len = -1 ); QString copy() const; QString arg( long a, int fieldWidth = 0, int base = 10 ) const; QString arg( ulong a, int fieldWidth = 0, int base = 10 ) const; QString arg( Q_LLONG a, int fieldwidth=0, int base=10 ) const; QString arg( Q_ULLONG a, int fieldwidth=0, int base=10 ) const; QString arg( int a, int fieldWidth = 0, int base = 10 ) const; QString arg( uint a, int fieldWidth = 0, int base = 10 ) const; QString arg( short a, int fieldWidth = 0, int base = 10 ) const; QString arg( ushort a, int fieldWidth = 0, int base = 10 ) const; QString arg( double a, int fieldWidth = 0, char fmt = 'g', int prec = -1 ) const; QString arg( char a, int fieldWidth = 0 ) const; QString arg( QChar a, int fieldWidth = 0 ) const; QString arg( const QString& a, int fieldWidth = 0 ) const; QString arg( const QString& a1, const QString& a2 ) const; QString arg( const QString& a1, const QString& a2, const QString& a3 ) const; QString arg( const QString& a1, const QString& a2, const QString& a3, const QString& a4 ) const; QString &sprintf( const char* format, ... ) __attribute__ ((format (printf, 2, 3))) ; int find( QChar c, int index=0, bool cs=TRUE ) const; int find( char c, int index=0, bool cs=TRUE ) const; int find( const QString &str, int index=0, bool cs=TRUE ) const; int find( const QRegExp &, int index=0 ) const; int find( const char* str, int index=0 ) const; int findRev( QChar c, int index=-1, bool cs=TRUE) const; int findRev( char c, int index=-1, bool cs=TRUE) const; int findRev( const QString &str, int index=-1, bool cs=TRUE) const; int findRev( const QRegExp &, int index=-1 ) const; int findRev( const char* str, int index=-1 ) const; int contains( QChar c, bool cs=TRUE ) const; int contains( char c, bool cs=TRUE ) const { return contains(QChar(c), cs); } int contains( const char* str, bool cs=TRUE ) const; int contains( const QString &str, bool cs=TRUE ) const; int contains( const QRegExp & ) const; enum SectionFlags { SectionDefault = 0x00, SectionSkipEmpty = 0x01, SectionIncludeLeadingSep = 0x02, SectionIncludeTrailingSep = 0x04, SectionCaseInsensitiveSeps = 0x08 }; QString section( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const; QString section( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const; QString section( const char *in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const; QString section( const QString &in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const; QString section( const QRegExp ®, int start, int end = 0xffffffff, int flags = SectionDefault ) const; QString left( uint len ) const; QString right( uint len ) const; QString mid( uint index, uint len=0xffffffff) const; QString leftJustify( uint width, QChar fill=' ', bool trunc=FALSE)const; QString rightJustify( uint width, QChar fill=' ',bool trunc=FALSE)const; QString lower() const; QString upper() const; QString stripWhiteSpace() const; QString simplifyWhiteSpace() const; QString &insert( uint index, const QString & ); QString &insert( uint index, const QByteArray & ); QString &insert( uint index, const char * ); QString &insert( uint index, const QChar*, uint len ); QString &insert( uint index, QChar ); QString &insert( uint index, char c ) { return insert(index,QChar(c)); } QString &append( char ); QString &append( QChar ); QString &append( const QString & ); QString &append( const QByteArray & ); QString &append( const char * ); QString &prepend( char ); QString &prepend( QChar ); QString &prepend( const QString & ); QString &prepend( const QByteArray & ); QString &prepend( const char * ); QString &remove( uint index, uint len ); QString &remove( const QString & ); QString &remove( const QString &, bool cs ); QString &remove( QChar c ); QString &remove( char c ) { return remove( QChar(c) ); } QString &remove( const char * ); QString &remove( const QRegExp & ); QString &replace( uint index, uint len, const QString & ); QString &replace( uint index, uint len, const QChar*, uint clen ); QString &replace( uint index, uint len, QChar ); QString &replace( uint index, uint len, char c ) { return replace( index, len, QChar(c) ); } QString &replace( QChar c, const QString & ); QString &replace( QChar c, const QString &, bool ); QString &replace( char c, const QString & after ) { return replace( QChar(c), after, TRUE ); } QString &replace( char c, const QString & after, bool cs ) { return replace( QChar(c), after, cs ); } QString &replace( const QString &, const QString & ); QString &replace( const QString &, const QString &, bool ); QString &replace( const QRegExp &, const QString & ); QString &replace( QChar, QChar ); short toShort( bool *ok=0, int base=10 ) const; ushort toUShort( bool *ok=0, int base=10 ) const; int toInt( bool *ok=0, int base=10 ) const; uint toUInt( bool *ok=0, int base=10 ) const; long toLong( bool *ok=0, int base=10 ) const; ulong toULong( bool *ok=0, int base=10 ) const; Q_LLONG toLongLong( bool *ok=0, int base=10 ) const; Q_ULLONG toULongLong( bool *ok=0, int base=10 ) const; float toFloat( bool *ok=0 ) const; double toDouble( bool *ok=0 ) const; QString &setNum( short, int base=10 ); QString &setNum( ushort, int base=10 ); QString &setNum( int, int base=10 ); QString &setNum( uint, int base=10 ); QString &setNum( long, int base=10 ); QString &setNum( ulong, int base=10 ); QString &setNum( Q_LLONG, int base=10 ); QString &setNum( Q_ULLONG, int base=10 ); QString &setNum( float, char f='g', int prec=6 ); QString &setNum( double, char f='g', int prec=6 ); static QString number( long, int base=10 ); static QString number( ulong, int base=10); static QString number( Q_LLONG, int base=10 ); static QString number( Q_ULLONG, int base=10); static QString number( int, int base=10 ); static QString number( uint, int base=10); static QString number( double, char f='g', int prec=6 ); void setExpand( uint index, QChar c ); QString &operator+=( const QString &str ); QString &operator+=( const QByteArray &str ); QString &operator+=( const char *str ); QString &operator+=( QChar c ); QString &operator+=( char c ); QChar at( uint i ) const { return i < d->len ? d->unicode[i] : QChar::null; } QChar operator[]( int i ) const { return at((uint)i); } QCharRef at( uint i ); QCharRef operator[]( int i ); QChar constref(uint i) const { return at(i); } QChar& ref(uint i) { if ( d->count != 1 || i >= d->len ) subat( i ); d->setDirty(); return d->unicode[i]; } const QChar* unicode() const { return d->unicode; } const char* ascii() const; static QString fromAscii(const char*, int len=-1); const char* latin1() const; static QString fromLatin1(const char*, int len=-1); QCString utf8() const; static QString fromUtf8(const char*, int len=-1); QCString local8Bit() const; static QString fromLocal8Bit(const char*, int len=-1); bool operator!() const; static QString fromUcs2( const unsigned short *ucs2 ); const unsigned short *ucs2() const; QString &setUnicode( const QChar* unicode, uint len ); QString &setUnicodeCodes( const ushort* unicode_as_ushorts, uint len ); QString &setAscii( const char*, int len=-1 ); QString &setLatin1( const char*, int len=-1 ); int compare( const QString& s ) const; static int compare( const QString& s1, const QString& s2 ) { return s1.compare( s2 ); } int localeAwareCompare( const QString& s ) const; static int localeAwareCompare( const QString& s1, const QString& s2 ) { return s1.localeAwareCompare( s2 ); } friend QDataStream &operator>>( QDataStream &, QString & ); void compose(); # 701 "/usr/qt/3/include/qstring.h" bool startsWith( const QString& str ) const; bool startsWith( const QString& str, bool cs ) const; bool endsWith( const QString& str ) const; bool endsWith( const QString& str, bool cs ) const; void setLength( uint newLength ); uint capacity() const; void reserve( uint minCapacity ); void squeeze(); bool simpleText() const { if ( !d->issimpletext ) checkSimpleText(); return (bool)d->issimpletext; } bool isRightToLeft() const; private: QString( int size, bool ); void deref(); void real_detach(); void subat( uint ); QString multiArg( int numArgs, const QString& a1, const QString& a2, const QString& a3 = QString::null, const QString& a4 = QString::null ) const; void checkSimpleText() const; void grow( uint newLength ); QString &insertHelper( uint index, const char *s, uint len=(2147483647 * 2U + 1U) ); QString &operatorPlusEqHelper( const char *s, uint len2=(2147483647 * 2U + 1U) ); static QChar* latin1ToUnicode( const char*, uint * len, uint maxlen=(uint)-1 ); static QChar* latin1ToUnicode( const QByteArray&, uint * len ); static char* unicodeToLatin1( const QChar*, uint len ); QStringData *d; static QStringData* shared_null; static QStringData* makeSharedNull(); friend class QConstString; friend class QTextStream; QString( QStringData* dd, bool ) : d(dd) { } void detach(); friend class QDeepCopy; }; class QCharRef { friend class QString; QString& s; uint p; QCharRef(QString* str, uint pos) : s(*str), p(pos) { } public: ushort unicode() const { return s.constref(p).unicode(); } char latin1() const { return s.constref(p).latin1(); } QCharRef operator=(char c ) { s.ref(p)=c; return *this; } QCharRef operator=(uchar c ) { s.ref(p)=c; return *this; } QCharRef operator=(QChar c ) { s.ref(p)=c; return *this; } QCharRef operator=(const QCharRef& c ) { s.ref(p)=c.unicode(); return *this; } QCharRef operator=(ushort rc ) { s.ref(p)=rc; return *this; } QCharRef operator=(short rc ) { s.ref(p)=rc; return *this; } QCharRef operator=(uint rc ) { s.ref(p)=rc; return *this; } QCharRef operator=(int rc ) { s.ref(p)=rc; return *this; } operator QChar () const { return s.constref(p); } bool isNull() const { return unicode()==0; } bool isPrint() const { return s.constref(p).isPrint(); } bool isPunct() const { return s.constref(p).isPunct(); } bool isSpace() const { return s.constref(p).isSpace(); } bool isMark() const { return s.constref(p).isMark(); } bool isLetter() const { return s.constref(p).isLetter(); } bool isNumber() const { return s.constref(p).isNumber(); } bool isLetterOrNumber() { return s.constref(p).isLetterOrNumber(); } bool isDigit() const { return s.constref(p).isDigit(); } int digitValue() const { return s.constref(p).digitValue(); } QChar lower() const { return s.constref(p).lower(); } QChar upper() const { return s.constref(p).upper(); } QChar::Category category() const { return s.constref(p).category(); } QChar::Direction direction() const { return s.constref(p).direction(); } QChar::Joining joining() const { return s.constref(p).joining(); } bool mirrored() const { return s.constref(p).mirrored(); } QChar mirroredChar() const { return s.constref(p).mirroredChar(); } const QString &decomposition() const { return s.constref(p).decomposition(); } QChar::Decomposition decompositionTag() const { return s.constref(p).decompositionTag(); } unsigned char combiningClass() const { return s.constref(p).combiningClass(); } uchar cell() const { return s.constref(p).cell(); } uchar row() const { return s.constref(p).row(); } }; inline QCharRef QString::at( uint i ) { return QCharRef(this,i); } inline QCharRef QString::operator[]( int i ) { return at((uint)i); } class QConstString : private QString { public: QConstString( const QChar* unicode, uint length ); ~QConstString(); const QString& string() const { return *this; } }; QDataStream &operator<<( QDataStream &, const QString & ); QDataStream &operator>>( QDataStream &, QString & ); # 838 "/usr/qt/3/include/qstring.h" inline QString::QString() : d(shared_null ? shared_null : makeSharedNull()) { d->ref(); } inline QString::~QString() { if ( d->deref() ) { if ( d != shared_null ) d->deleteSelf(); } } inline void QString::detach() { real_detach(); } inline QString QString::section( QChar sep, int start, int end, int flags ) const { return section(QString(sep), start, end, flags); } inline QString QString::section( char sep, int start, int end, int flags ) const { return section(QChar(sep), start, end, flags); } inline QString QString::section( const char *in_sep, int start, int end, int flags ) const { return section(QString(in_sep), start, end, flags); } inline QString &QString::operator=( QChar c ) { *this = QString(c); return *this; } inline QString &QString::operator=( char c ) { *this = QString(QChar(c)); return *this; } inline bool QString::isNull() const { return unicode() == 0; } inline bool QString::operator!() const { return isNull(); } inline uint QString::length() const { return d->len; } inline uint QString::capacity() const { return d->maxl; } inline bool QString::isEmpty() const { return length() == 0; } inline QString QString::copy() const { return QString( *this ); } inline QString &QString::insert( uint index, const char *s ) { return insertHelper( index, s ); } inline QString &QString::insert( uint index, const QByteArray &s ) { int pos = s.find( 0 ); return insertHelper( index, s, pos==-1 ? s.size() : pos ); } inline QString &QString::prepend( const QString & s ) { return insert(0,s); } inline QString &QString::prepend( QChar c ) { return insert(0,c); } inline QString &QString::prepend( char c ) { return insert(0,c); } inline QString &QString::prepend( const QByteArray & s ) { return insert(0,s); } inline QString &QString::operator+=( const QByteArray &s ) { int pos = s.find( 0 ); return operatorPlusEqHelper( s, pos==-1 ? s.size() : pos ); } inline QString &QString::append( const QString & s ) { return operator+=(s); } inline QString &QString::append( const QByteArray &s ) { return operator+=(s); } inline QString &QString::append( const char * s ) { return operator+=(s); } inline QString &QString::append( QChar c ) { return operator+=(c); } inline QString &QString::append( char c ) { return operator+=(c); } # 952 "/usr/qt/3/include/qstring.h" inline QString &QString::setNum( short n, int base ) { return setNum((Q_LLONG)n, base); } inline QString &QString::setNum( ushort n, int base ) { return setNum((Q_ULLONG)n, base); } inline QString &QString::setNum( int n, int base ) { return setNum((Q_LLONG)n, base); } inline QString &QString::setNum( uint n, int base ) { return setNum((Q_ULLONG)n, base); } inline QString &QString::setNum( float n, char f, int prec ) { return setNum((double)n,f,prec); } inline QString QString::arg( int a, int fieldWidth, int base ) const { return arg( (Q_LLONG)a, fieldWidth, base ); } inline QString QString::arg( uint a, int fieldWidth, int base ) const { return arg( (Q_ULLONG)a, fieldWidth, base ); } inline QString QString::arg( short a, int fieldWidth, int base ) const { return arg( (Q_LLONG)a, fieldWidth, base ); } inline QString QString::arg( ushort a, int fieldWidth, int base ) const { return arg( (Q_ULLONG)a, fieldWidth, base ); } inline QString QString::arg( const QString& a1, const QString& a2 ) const { return multiArg( 2, a1, a2 ); } inline QString QString::arg( const QString& a1, const QString& a2, const QString& a3 ) const { return multiArg( 3, a1, a2, a3 ); } inline QString QString::arg( const QString& a1, const QString& a2, const QString& a3, const QString& a4 ) const { return multiArg( 4, a1, a2, a3, a4 ); } inline int QString::find( char c, int index, bool cs ) const { return find(QChar(c), index, cs); } inline int QString::findRev( char c, int index, bool cs ) const { return findRev( QChar(c), index, cs ); } inline int QString::find( const char* str, int index ) const { return find(QString::fromAscii(str), index); } inline int QString::findRev( const char* str, int index ) const { return findRev(QString::fromAscii(str), index); } bool operator!=( const QString &s1, const QString &s2 ); bool operator<( const QString &s1, const QString &s2 ); bool operator<=( const QString &s1, const QString &s2 ); bool operator==( const QString &s1, const QString &s2 ); bool operator>( const QString &s1, const QString &s2 ); bool operator>=( const QString &s1, const QString &s2 ); bool operator!=( const QString &s1, const char *s2 ); bool operator<( const QString &s1, const char *s2 ); bool operator<=( const QString &s1, const char *s2 ); bool operator==( const QString &s1, const char *s2 ); bool operator>( const QString &s1, const char *s2 ); bool operator>=( const QString &s1, const char *s2 ); bool operator!=( const char *s1, const QString &s2 ); bool operator<( const char *s1, const QString &s2 ); bool operator<=( const char *s1, const QString &s2 ); bool operator==( const char *s1, const QString &s2 ); bool operator>=( const char *s1, const QString &s2 ); inline const QString operator+( const QString &s1, const QString &s2 ) { QString tmp( s1 ); tmp += s2; return tmp; } inline const QString operator+( const QString &s1, const char *s2 ) { QString tmp( s1 ); tmp += QString::fromAscii(s2); return tmp; } inline const QString operator+( const char *s1, const QString &s2 ) { QString tmp = QString::fromAscii( s1 ); tmp += s2; return tmp; } inline const QString operator+( const QString &s1, QChar c2 ) { QString tmp( s1 ); tmp += c2; return tmp; } inline const QString operator+( const QString &s1, char c2 ) { QString tmp( s1 ); tmp += c2; return tmp; } inline const QString operator+( QChar c1, const QString &s2 ) { QString tmp; tmp += c1; tmp += s2; return tmp; } inline const QString operator+( char c1, const QString &s2 ) { QString tmp; tmp += c1; tmp += s2; return tmp; } # 1109 "/usr/qt/3/include/qstring.h" # 1 "/usr/qt/3/include/qwinexport.h" 1 # 1110 "/usr/qt/3/include/qstring.h" 2 # 45 "/usr/qt/3/include/qwindowdefs.h" 2 # 1 "/usr/qt/3/include/qnamespace.h" 1 # 42 "/usr/qt/3/include/qnamespace.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 43 "/usr/qt/3/include/qnamespace.h" 2 class QColor; class QCursor; class Qt { public: static const QColor & color0; static const QColor & color1; static const QColor & black; static const QColor & white; static const QColor & darkGray; static const QColor & gray; static const QColor & lightGray; static const QColor & red; static const QColor & green; static const QColor & blue; static const QColor & cyan; static const QColor & magenta; static const QColor & yellow; static const QColor & darkRed; static const QColor & darkGreen; static const QColor & darkBlue; static const QColor & darkCyan; static const QColor & darkMagenta; static const QColor & darkYellow; enum ButtonState { NoButton = 0x0000, LeftButton = 0x0001, RightButton = 0x0002, MidButton = 0x0004, MouseButtonMask = 0x0007, ShiftButton = 0x0100, ControlButton = 0x0200, AltButton = 0x0400, MetaButton = 0x0800, KeyButtonMask = 0x0f00, Keypad = 0x4000 }; enum Orientation { Horizontal = 0, Vertical }; enum SortOrder { Ascending, Descending }; enum AlignmentFlags { AlignAuto = 0x0000, AlignLeft = 0x0001, AlignRight = 0x0002, AlignHCenter = 0x0004, AlignJustify = 0x0008, AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify, AlignTop = 0x0010, AlignBottom = 0x0020, AlignVCenter = 0x0040, AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter, AlignCenter = AlignVCenter | AlignHCenter }; enum TextFlags { SingleLine = 0x0080, DontClip = 0x0100, ExpandTabs = 0x0200, ShowPrefix = 0x0400, WordBreak = 0x0800, BreakAnywhere = 0x1000, DontPrint = 0x2000, Underline = 0x01000000, Overline = 0x02000000, StrikeOut = 0x04000000, IncludeTrailingSpaces = 0x08000000, NoAccel = 0x4000 }; typedef uint WState; enum WidgetState { WState_Created = 0x00000001, WState_Disabled = 0x00000002, WState_Visible = 0x00000004, WState_ForceHide = 0x00000008, WState_OwnCursor = 0x00000010, WState_MouseTracking = 0x00000020, WState_CompressKeys = 0x00000040, WState_BlockUpdates = 0x00000080, WState_InPaintEvent = 0x00000100, WState_Reparented = 0x00000200, WState_ConfigPending = 0x00000400, WState_Resized = 0x00000800, WState_AutoMask = 0x00001000, WState_Polished = 0x00002000, WState_DND = 0x00004000, WState_Reserved0 = 0x00008000, WState_FullScreen = 0x00010000, WState_OwnSizePolicy = 0x00020000, WState_CreatedHidden = 0x00040000, WState_Maximized = 0x00080000, WState_Minimized = 0x00100000, WState_ForceDisabled = 0x00200000, WState_Exposed = 0x00400000, WState_HasMouse = 0x00800000 }; typedef uint WFlags; enum WidgetFlags { WType_TopLevel = 0x00000001, WType_Dialog = 0x00000002, WType_Popup = 0x00000004, WType_Desktop = 0x00000008, WType_Mask = 0x0000000f, WStyle_Customize = 0x00000010, WStyle_NormalBorder = 0x00000020, WStyle_DialogBorder = 0x00000040, WStyle_NoBorder = 0x00002000, WStyle_Title = 0x00000080, WStyle_SysMenu = 0x00000100, WStyle_Minimize = 0x00000200, WStyle_Maximize = 0x00000400, WStyle_MinMax = WStyle_Minimize | WStyle_Maximize, WStyle_Tool = 0x00000800, WStyle_StaysOnTop = 0x00001000, WStyle_ContextHelp = 0x00004000, WStyle_Reserved = 0x00008000, WStyle_Mask = 0x0000fff0, WDestructiveClose = 0x00010000, WPaintDesktop = 0x00020000, WPaintUnclipped = 0x00040000, WPaintClever = 0x00080000, WResizeNoErase = 0x00100000, WMouseNoMask = 0x00200000, WStaticContents = 0x00400000, WRepaintNoErase = 0x00800000, WX11BypassWM = 0x01000000, WWinOwnDC = 0x00000000, WMacNoSheet = 0x00000000, WMacDrawer = 0x00000000, # 218 "/usr/qt/3/include/qnamespace.h" WGroupLeader = 0x02000000, WShowModal = 0x04000000, WNoMousePropagation = 0x08000000, WSubWindow = 0x10000000, WStyle_Splash = 0x20000000, WNoAutoErase = WRepaintNoErase | WResizeNoErase }; enum WindowState { WindowNoState = 0x00000000, WindowMinimized = 0x00000001, WindowMaximized = 0x00000002, WindowFullScreen = 0x00000004, WindowActive = 0x00000008 }; enum ImageConversionFlags { ColorMode_Mask = 0x00000003, AutoColor = 0x00000000, ColorOnly = 0x00000003, MonoOnly = 0x00000002, AlphaDither_Mask = 0x0000000c, ThresholdAlphaDither = 0x00000000, OrderedAlphaDither = 0x00000004, DiffuseAlphaDither = 0x00000008, NoAlpha = 0x0000000c, Dither_Mask = 0x00000030, DiffuseDither = 0x00000000, OrderedDither = 0x00000010, ThresholdDither = 0x00000020, DitherMode_Mask = 0x000000c0, AutoDither = 0x00000000, PreferDither = 0x00000040, AvoidDither = 0x00000080 }; enum BGMode { TransparentMode, OpaqueMode }; # 295 "/usr/qt/3/include/qnamespace.h" enum GUIStyle { WindowsStyle = 1, MotifStyle = 4 }; # 310 "/usr/qt/3/include/qnamespace.h" enum SequenceMatch { NoMatch, PartialMatch, Identical }; enum Modifier { META = 0x00100000, SHIFT = 0x00200000, CTRL = 0x00400000, ALT = 0x00800000, MODIFIER_MASK = 0x00f00000, UNICODE_ACCEL = 0x10000000, ASCII_ACCEL = UNICODE_ACCEL }; enum Key { Key_Escape = 0x1000, Key_Tab = 0x1001, Key_Backtab = 0x1002, Key_BackTab = Key_Backtab, Key_Backspace = 0x1003, Key_BackSpace = Key_Backspace, Key_Return = 0x1004, Key_Enter = 0x1005, Key_Insert = 0x1006, Key_Delete = 0x1007, Key_Pause = 0x1008, Key_Print = 0x1009, Key_SysReq = 0x100a, Key_Clear = 0x100b, Key_Home = 0x1010, Key_End = 0x1011, Key_Left = 0x1012, Key_Up = 0x1013, Key_Right = 0x1014, Key_Down = 0x1015, Key_Prior = 0x1016, Key_PageUp = Key_Prior, Key_Next = 0x1017, Key_PageDown = Key_Next, Key_Shift = 0x1020, Key_Control = 0x1021, Key_Meta = 0x1022, Key_Alt = 0x1023, Key_CapsLock = 0x1024, Key_NumLock = 0x1025, Key_ScrollLock = 0x1026, Key_F1 = 0x1030, Key_F2 = 0x1031, Key_F3 = 0x1032, Key_F4 = 0x1033, Key_F5 = 0x1034, Key_F6 = 0x1035, Key_F7 = 0x1036, Key_F8 = 0x1037, Key_F9 = 0x1038, Key_F10 = 0x1039, Key_F11 = 0x103a, Key_F12 = 0x103b, Key_F13 = 0x103c, Key_F14 = 0x103d, Key_F15 = 0x103e, Key_F16 = 0x103f, Key_F17 = 0x1040, Key_F18 = 0x1041, Key_F19 = 0x1042, Key_F20 = 0x1043, Key_F21 = 0x1044, Key_F22 = 0x1045, Key_F23 = 0x1046, Key_F24 = 0x1047, Key_F25 = 0x1048, Key_F26 = 0x1049, Key_F27 = 0x104a, Key_F28 = 0x104b, Key_F29 = 0x104c, Key_F30 = 0x104d, Key_F31 = 0x104e, Key_F32 = 0x104f, Key_F33 = 0x1050, Key_F34 = 0x1051, Key_F35 = 0x1052, Key_Super_L = 0x1053, Key_Super_R = 0x1054, Key_Menu = 0x1055, Key_Hyper_L = 0x1056, Key_Hyper_R = 0x1057, Key_Help = 0x1058, Key_Direction_L = 0x1059, Key_Direction_R = 0x1060, Key_Space = 0x20, Key_Any = Key_Space, Key_Exclam = 0x21, Key_QuoteDbl = 0x22, Key_NumberSign = 0x23, Key_Dollar = 0x24, Key_Percent = 0x25, Key_Ampersand = 0x26, Key_Apostrophe = 0x27, Key_ParenLeft = 0x28, Key_ParenRight = 0x29, Key_Asterisk = 0x2a, Key_Plus = 0x2b, Key_Comma = 0x2c, Key_Minus = 0x2d, Key_Period = 0x2e, Key_Slash = 0x2f, Key_0 = 0x30, Key_1 = 0x31, Key_2 = 0x32, Key_3 = 0x33, Key_4 = 0x34, Key_5 = 0x35, Key_6 = 0x36, Key_7 = 0x37, Key_8 = 0x38, Key_9 = 0x39, Key_Colon = 0x3a, Key_Semicolon = 0x3b, Key_Less = 0x3c, Key_Equal = 0x3d, Key_Greater = 0x3e, Key_Question = 0x3f, Key_At = 0x40, Key_A = 0x41, Key_B = 0x42, Key_C = 0x43, Key_D = 0x44, Key_E = 0x45, Key_F = 0x46, Key_G = 0x47, Key_H = 0x48, Key_I = 0x49, Key_J = 0x4a, Key_K = 0x4b, Key_L = 0x4c, Key_M = 0x4d, Key_N = 0x4e, Key_O = 0x4f, Key_P = 0x50, Key_Q = 0x51, Key_R = 0x52, Key_S = 0x53, Key_T = 0x54, Key_U = 0x55, Key_V = 0x56, Key_W = 0x57, Key_X = 0x58, Key_Y = 0x59, Key_Z = 0x5a, Key_BracketLeft = 0x5b, Key_Backslash = 0x5c, Key_BracketRight = 0x5d, Key_AsciiCircum = 0x5e, Key_Underscore = 0x5f, Key_QuoteLeft = 0x60, Key_BraceLeft = 0x7b, Key_Bar = 0x7c, Key_BraceRight = 0x7d, Key_AsciiTilde = 0x7e, Key_nobreakspace = 0x0a0, Key_exclamdown = 0x0a1, Key_cent = 0x0a2, Key_sterling = 0x0a3, Key_currency = 0x0a4, Key_yen = 0x0a5, Key_brokenbar = 0x0a6, Key_section = 0x0a7, Key_diaeresis = 0x0a8, Key_copyright = 0x0a9, Key_ordfeminine = 0x0aa, Key_guillemotleft = 0x0ab, Key_notsign = 0x0ac, Key_hyphen = 0x0ad, Key_registered = 0x0ae, Key_macron = 0x0af, Key_degree = 0x0b0, Key_plusminus = 0x0b1, Key_twosuperior = 0x0b2, Key_threesuperior = 0x0b3, Key_acute = 0x0b4, Key_mu = 0x0b5, Key_paragraph = 0x0b6, Key_periodcentered = 0x0b7, Key_cedilla = 0x0b8, Key_onesuperior = 0x0b9, Key_masculine = 0x0ba, Key_guillemotright = 0x0bb, Key_onequarter = 0x0bc, Key_onehalf = 0x0bd, Key_threequarters = 0x0be, Key_questiondown = 0x0bf, Key_Agrave = 0x0c0, Key_Aacute = 0x0c1, Key_Acircumflex = 0x0c2, Key_Atilde = 0x0c3, Key_Adiaeresis = 0x0c4, Key_Aring = 0x0c5, Key_AE = 0x0c6, Key_Ccedilla = 0x0c7, Key_Egrave = 0x0c8, Key_Eacute = 0x0c9, Key_Ecircumflex = 0x0ca, Key_Ediaeresis = 0x0cb, Key_Igrave = 0x0cc, Key_Iacute = 0x0cd, Key_Icircumflex = 0x0ce, Key_Idiaeresis = 0x0cf, Key_ETH = 0x0d0, Key_Ntilde = 0x0d1, Key_Ograve = 0x0d2, Key_Oacute = 0x0d3, Key_Ocircumflex = 0x0d4, Key_Otilde = 0x0d5, Key_Odiaeresis = 0x0d6, Key_multiply = 0x0d7, Key_Ooblique = 0x0d8, Key_Ugrave = 0x0d9, Key_Uacute = 0x0da, Key_Ucircumflex = 0x0db, Key_Udiaeresis = 0x0dc, Key_Yacute = 0x0dd, Key_THORN = 0x0de, Key_ssharp = 0x0df, Key_agrave = 0x0e0, Key_aacute = 0x0e1, Key_acircumflex = 0x0e2, Key_atilde = 0x0e3, Key_adiaeresis = 0x0e4, Key_aring = 0x0e5, Key_ae = 0x0e6, Key_ccedilla = 0x0e7, Key_egrave = 0x0e8, Key_eacute = 0x0e9, Key_ecircumflex = 0x0ea, Key_ediaeresis = 0x0eb, Key_igrave = 0x0ec, Key_iacute = 0x0ed, Key_icircumflex = 0x0ee, Key_idiaeresis = 0x0ef, Key_eth = 0x0f0, Key_ntilde = 0x0f1, Key_ograve = 0x0f2, Key_oacute = 0x0f3, Key_ocircumflex = 0x0f4, Key_otilde = 0x0f5, Key_odiaeresis = 0x0f6, Key_division = 0x0f7, Key_oslash = 0x0f8, Key_ugrave = 0x0f9, Key_uacute = 0x0fa, Key_ucircumflex = 0x0fb, Key_udiaeresis = 0x0fc, Key_yacute = 0x0fd, Key_thorn = 0x0fe, Key_ydiaeresis = 0x0ff, Key_Back = 0x1061, Key_Forward = 0x1062, Key_Stop = 0x1063, Key_Refresh = 0x1064, Key_VolumeDown = 0x1070, Key_VolumeMute = 0x1071, Key_VolumeUp = 0x1072, Key_BassBoost = 0x1073, Key_BassUp = 0x1074, Key_BassDown = 0x1075, Key_TrebleUp = 0x1076, Key_TrebleDown = 0x1077, Key_MediaPlay = 0x1080, Key_MediaStop = 0x1081, Key_MediaPrev = 0x1082, Key_MediaNext = 0x1083, Key_MediaRecord = 0x1084, Key_HomePage = 0x1090, Key_Favorites = 0x1091, Key_Search = 0x1092, Key_Standby = 0x1093, Key_OpenUrl = 0x1094, Key_LaunchMail = 0x10a0, Key_LaunchMedia = 0x10a1, Key_Launch0 = 0x10a2, Key_Launch1 = 0x10a3, Key_Launch2 = 0x10a4, Key_Launch3 = 0x10a5, Key_Launch4 = 0x10a6, Key_Launch5 = 0x10a7, Key_Launch6 = 0x10a8, Key_Launch7 = 0x10a9, Key_Launch8 = 0x10aa, Key_Launch9 = 0x10ab, Key_LaunchA = 0x10ac, Key_LaunchB = 0x10ad, Key_LaunchC = 0x10ae, Key_LaunchD = 0x10af, Key_LaunchE = 0x10b0, Key_LaunchF = 0x10b1, Key_MediaLast = 0x1fff, Key_unknown = 0xffff }; enum ArrowType { UpArrow, DownArrow, LeftArrow, RightArrow }; enum RasterOp { CopyROP, OrROP, XorROP, NotAndROP, EraseROP=NotAndROP, NotCopyROP, NotOrROP, NotXorROP, AndROP, NotEraseROP=AndROP, NotROP, ClearROP, SetROP, NopROP, AndNotROP, OrNotROP, NandROP, NorROP, LastROP=NorROP }; enum PenStyle { NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine, MPenStyle = 0x0f }; enum PenCapStyle { FlatCap = 0x00, SquareCap = 0x10, RoundCap = 0x20, MPenCapStyle = 0x30 }; enum PenJoinStyle { MiterJoin = 0x00, BevelJoin = 0x40, RoundJoin = 0x80, MPenJoinStyle = 0xc0 }; enum BrushStyle { NoBrush, SolidPattern, Dense1Pattern, Dense2Pattern, Dense3Pattern, Dense4Pattern, Dense5Pattern, Dense6Pattern, Dense7Pattern, HorPattern, VerPattern, CrossPattern, BDiagPattern, FDiagPattern, DiagCrossPattern, CustomPattern=24 }; enum MacintoshVersion { MV_Unknown = 0x0000, MV_9 = 0x0001, MV_10_DOT_0 = 0x0002, MV_10_DOT_1 = 0x0003, MV_10_DOT_2 = 0x0004, MV_10_DOT_3 = 0x0005, MV_CHEETAH = MV_10_DOT_0, MV_PUMA = MV_10_DOT_1, MV_JAGUAR = MV_10_DOT_2, MV_PANTHER = MV_10_DOT_3 }; enum WindowsVersion { WV_32s = 0x0001, WV_95 = 0x0002, WV_98 = 0x0003, WV_Me = 0x0004, WV_DOS_based = 0x000f, WV_NT = 0x0010, WV_2000 = 0x0020, WV_XP = 0x0030, WV_2003 = 0x0040, WV_NT_based = 0x00f0, WV_CE = 0x0100, WV_CENET = 0x0200, WV_CE_based = 0x0f00 }; enum UIEffect { UI_General, UI_AnimateMenu, UI_FadeMenu, UI_AnimateCombo, UI_AnimateTooltip, UI_FadeTooltip, UI_AnimateToolBox }; enum CursorShape { ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IbeamCursor, SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor, ForbiddenCursor, WhatsThisCursor, BusyCursor, LastCursor = BusyCursor, BitmapCursor = 24 }; static const QCursor & arrowCursor; static const QCursor & upArrowCursor; static const QCursor & crossCursor; static const QCursor & waitCursor; static const QCursor & ibeamCursor; static const QCursor & sizeVerCursor; static const QCursor & sizeHorCursor; static const QCursor & sizeBDiagCursor; static const QCursor & sizeFDiagCursor; static const QCursor & sizeAllCursor; static const QCursor & blankCursor; static const QCursor & splitVCursor; static const QCursor & splitHCursor; static const QCursor & pointingHandCursor; static const QCursor & forbiddenCursor; static const QCursor & whatsThisCursor; static const QCursor & busyCursor; enum TextFormat { PlainText, RichText, AutoText, LogText }; enum AnchorAttribute { AnchorName, AnchorHref }; enum Dock { DockUnmanaged, DockTornOff, DockTop, DockBottom, DockRight, DockLeft, DockMinimized # 824 "/usr/qt/3/include/qnamespace.h" }; typedef Dock ToolBarDock; enum DateFormat { TextDate, ISODate, LocalDate }; enum TimeSpec { LocalTime, UTC }; enum BackgroundMode { FixedColor, FixedPixmap, NoBackground, PaletteForeground, PaletteButton, PaletteLight, PaletteMidlight, PaletteDark, PaletteMid, PaletteText, PaletteBrightText, PaletteBase, PaletteBackground, PaletteShadow, PaletteHighlight, PaletteHighlightedText, PaletteButtonText, PaletteLink, PaletteLinkVisited, X11ParentRelative }; typedef uint ComparisonFlags; enum StringComparisonMode { CaseSensitive = 0x00001, BeginsWith = 0x00002, EndsWith = 0x00004, Contains = 0x00008, ExactMatch = 0x00010 }; enum Corner { TopLeft = 0x00000, TopRight = 0x00001, BottomLeft = 0x00002, BottomRight = 0x00003 }; # 891 "/usr/qt/3/include/qnamespace.h" typedef unsigned long HANDLE; }; class QInternal { public: enum PaintDeviceFlags { UndefinedDevice = 0x00, Widget = 0x01, Pixmap = 0x02, Printer = 0x03, Picture = 0x04, System = 0x05, DeviceTypeMask = 0x0f, ExternalDevice = 0x10, CompatibilityMode = 0x20 }; }; # 46 "/usr/qt/3/include/qwindowdefs.h" 2 class QPaintDevice; class QPaintDeviceMetrics; class QWidget; class QWidgetMapper; class QDialog; class QColor; class QColorGroup; class QPalette; class QCursor; class QPoint; class QSize; class QRect; class QPointArray; class QPainter; class QRegion; class QFont; class QFontMetrics; class QFontInfo; class QPen; class QBrush; class QWMatrix; class QPixmap; class QBitmap; class QMovie; class QImage; class QImageIO; class QPicture; class QPrinter; class QAccel; class QTimer; class QTime; class QClipboard; class QWidgetList; class QWidgetListIt; # 141 "/usr/qt/3/include/qwindowdefs.h" typedef struct _XDisplay Display; typedef union _XEvent XEvent; typedef struct _XGC *GC; typedef struct _XRegion *Region; typedef unsigned long WId; Display *qt_xdisplay(); int qt_xscreen(); WId qt_xrootwin(); WId qt_xrootwin( int scrn ); GC qt_xget_readonly_gc( int scrn, bool monochrome ); GC qt_xget_temp_gc( int scrn, bool monochrome ); const char *qAppClass(); # 166 "/usr/qt/3/include/qwindowdefs.h" class QApplication; typedef Q_INT32 QCOORD; const QCOORD QCOORD_MAX = 2147483647; const QCOORD QCOORD_MIN = -QCOORD_MAX - 1; typedef unsigned int QRgb; const char *qAppName(); typedef void (*QtCleanUpFunction)(); void qAddPostRoutine( QtCleanUpFunction ); void qRemovePostRoutine( QtCleanUpFunction ); # 43 "/usr/qt/3/include/qwidget.h" 2 # 1 "/usr/qt/3/include/qobject.h" 1 # 45 "/usr/qt/3/include/qobject.h" # 1 "/usr/qt/3/include/qevent.h" 1 # 43 "/usr/qt/3/include/qevent.h" # 1 "/usr/qt/3/include/qregion.h" 1 # 43 "/usr/qt/3/include/qregion.h" # 1 "/usr/qt/3/include/qrect.h" 1 # 42 "/usr/qt/3/include/qrect.h" # 1 "/usr/qt/3/include/qsize.h" 1 # 42 "/usr/qt/3/include/qsize.h" # 1 "/usr/qt/3/include/qpoint.h" 1 # 46 "/usr/qt/3/include/qpoint.h" class QPoint { public: QPoint(); QPoint( int xpos, int ypos ); bool isNull() const; int x() const; int y() const; void setX( int x ); void setY( int y ); int manhattanLength() const; QCOORD &rx(); QCOORD &ry(); QPoint &operator+=( const QPoint &p ); QPoint &operator-=( const QPoint &p ); QPoint &operator*=( int c ); QPoint &operator*=( double c ); QPoint &operator/=( int c ); QPoint &operator/=( double c ); friend inline bool operator==( const QPoint &, const QPoint & ); friend inline bool operator!=( const QPoint &, const QPoint & ); friend inline const QPoint operator+( const QPoint &, const QPoint & ); friend inline const QPoint operator-( const QPoint &, const QPoint & ); friend inline const QPoint operator*( const QPoint &, int ); friend inline const QPoint operator*( int, const QPoint & ); friend inline const QPoint operator*( const QPoint &, double ); friend inline const QPoint operator*( double, const QPoint & ); friend inline const QPoint operator-( const QPoint & ); friend inline const QPoint operator/( const QPoint &, int ); friend inline const QPoint operator/( const QPoint &, double ); private: static void warningDivByZero(); QCOORD xp; QCOORD yp; }; QDataStream &operator<<( QDataStream &, const QPoint & ); QDataStream &operator>>( QDataStream &, QPoint & ); inline QPoint::QPoint() { xp=0; yp=0; } inline QPoint::QPoint( int xpos, int ypos ) { xp=(QCOORD)xpos; yp=(QCOORD)ypos; } inline bool QPoint::isNull() const { return xp == 0 && yp == 0; } inline int QPoint::x() const { return xp; } inline int QPoint::y() const { return yp; } inline void QPoint::setX( int x ) { xp = (QCOORD)x; } inline void QPoint::setY( int y ) { yp = (QCOORD)y; } inline QCOORD &QPoint::rx() { return xp; } inline QCOORD &QPoint::ry() { return yp; } inline QPoint &QPoint::operator+=( const QPoint &p ) { xp+=p.xp; yp+=p.yp; return *this; } inline QPoint &QPoint::operator-=( const QPoint &p ) { xp-=p.xp; yp-=p.yp; return *this; } inline QPoint &QPoint::operator*=( int c ) { xp*=(QCOORD)c; yp*=(QCOORD)c; return *this; } inline QPoint &QPoint::operator*=( double c ) { xp=(QCOORD)(xp*c); yp=(QCOORD)(yp*c); return *this; } inline bool operator==( const QPoint &p1, const QPoint &p2 ) { return p1.xp == p2.xp && p1.yp == p2.yp; } inline bool operator!=( const QPoint &p1, const QPoint &p2 ) { return p1.xp != p2.xp || p1.yp != p2.yp; } inline const QPoint operator+( const QPoint &p1, const QPoint &p2 ) { return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); } inline const QPoint operator-( const QPoint &p1, const QPoint &p2 ) { return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); } inline const QPoint operator*( const QPoint &p, int c ) { return QPoint(p.xp*c, p.yp*c); } inline const QPoint operator*( int c, const QPoint &p ) { return QPoint(p.xp*c, p.yp*c); } inline const QPoint operator*( const QPoint &p, double c ) { return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); } inline const QPoint operator*( double c, const QPoint &p ) { return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); } inline const QPoint operator-( const QPoint &p ) { return QPoint(-p.xp, -p.yp); } inline QPoint &QPoint::operator/=( int c ) { if ( c == 0 ) warningDivByZero(); xp/=(QCOORD)c; yp/=(QCOORD)c; return *this; } inline QPoint &QPoint::operator/=( double c ) { if ( c == 0.0 ) warningDivByZero(); xp=(QCOORD)(xp/c); yp=(QCOORD)(yp/c); return *this; } inline const QPoint operator/( const QPoint &p, int c ) { if ( c == 0 ) QPoint::warningDivByZero(); return QPoint(p.xp/c, p.yp/c); } inline const QPoint operator/( const QPoint &p, double c ) { if ( c == 0.0 ) QPoint::warningDivByZero(); return QPoint((QCOORD)(p.xp/c), (QCOORD)(p.yp/c)); } # 1 "/usr/qt/3/include/qwinexport.h" 1 # 216 "/usr/qt/3/include/qpoint.h" 2 # 43 "/usr/qt/3/include/qsize.h" 2 class QSize { public: enum ScaleMode { ScaleFree, ScaleMin, ScaleMax }; QSize(); QSize( int w, int h ); bool isNull() const; bool isEmpty() const; bool isValid() const; int width() const; int height() const; void setWidth( int w ); void setHeight( int h ); void transpose(); void scale( int w, int h, ScaleMode mode ); void scale( const QSize &s, ScaleMode mode ); QSize expandedTo( const QSize & ) const; QSize boundedTo( const QSize & ) const; QCOORD &rwidth(); QCOORD &rheight(); QSize &operator+=( const QSize & ); QSize &operator-=( const QSize & ); QSize &operator*=( int c ); QSize &operator*=( double c ); QSize &operator/=( int c ); QSize &operator/=( double c ); friend inline bool operator==( const QSize &, const QSize & ); friend inline bool operator!=( const QSize &, const QSize & ); friend inline const QSize operator+( const QSize &, const QSize & ); friend inline const QSize operator-( const QSize &, const QSize & ); friend inline const QSize operator*( const QSize &, int ); friend inline const QSize operator*( int, const QSize & ); friend inline const QSize operator*( const QSize &, double ); friend inline const QSize operator*( double, const QSize & ); friend inline const QSize operator/( const QSize &, int ); friend inline const QSize operator/( const QSize &, double ); private: static void warningDivByZero(); QCOORD wd; QCOORD ht; }; QDataStream &operator<<( QDataStream &, const QSize & ); QDataStream &operator>>( QDataStream &, QSize & ); inline QSize::QSize() { wd = ht = -1; } inline QSize::QSize( int w, int h ) { wd=(QCOORD)w; ht=(QCOORD)h; } inline bool QSize::isNull() const { return wd==0 && ht==0; } inline bool QSize::isEmpty() const { return wd<1 || ht<1; } inline bool QSize::isValid() const { return wd>=0 && ht>=0; } inline int QSize::width() const { return wd; } inline int QSize::height() const { return ht; } inline void QSize::setWidth( int w ) { wd=(QCOORD)w; } inline void QSize::setHeight( int h ) { ht=(QCOORD)h; } inline QCOORD &QSize::rwidth() { return wd; } inline QCOORD &QSize::rheight() { return ht; } inline QSize &QSize::operator+=( const QSize &s ) { wd+=s.wd; ht+=s.ht; return *this; } inline QSize &QSize::operator-=( const QSize &s ) { wd-=s.wd; ht-=s.ht; return *this; } inline QSize &QSize::operator*=( int c ) { wd*=(QCOORD)c; ht*=(QCOORD)c; return *this; } inline QSize &QSize::operator*=( double c ) { wd=(QCOORD)(wd*c); ht=(QCOORD)(ht*c); return *this; } inline bool operator==( const QSize &s1, const QSize &s2 ) { return s1.wd == s2.wd && s1.ht == s2.ht; } inline bool operator!=( const QSize &s1, const QSize &s2 ) { return s1.wd != s2.wd || s1.ht != s2.ht; } inline const QSize operator+( const QSize & s1, const QSize & s2 ) { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } inline const QSize operator-( const QSize &s1, const QSize &s2 ) { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); } inline const QSize operator*( const QSize &s, int c ) { return QSize(s.wd*c, s.ht*c); } inline const QSize operator*( int c, const QSize &s ) { return QSize(s.wd*c, s.ht*c); } inline const QSize operator*( const QSize &s, double c ) { return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); } inline const QSize operator*( double c, const QSize &s ) { return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); } inline QSize &QSize::operator/=( int c ) { if ( c == 0 ) warningDivByZero(); wd/=(QCOORD)c; ht/=(QCOORD)c; return *this; } inline QSize &QSize::operator/=( double c ) { if ( c == 0.0 ) warningDivByZero(); wd=(QCOORD)(wd/c); ht=(QCOORD)(ht/c); return *this; } inline const QSize operator/( const QSize &s, int c ) { if ( c == 0 ) QSize::warningDivByZero(); return QSize(s.wd/c, s.ht/c); } inline const QSize operator/( const QSize &s, double c ) { if ( c == 0.0 ) QSize::warningDivByZero(); return QSize((QCOORD)(s.wd/c), (QCOORD)(s.ht/c)); } inline QSize QSize::expandedTo( const QSize & otherSize ) const { return QSize( ((otherSize.wd) < (wd) ? (wd) : (otherSize.wd)), ((otherSize.ht) < (ht) ? (ht) : (otherSize.ht)) ); } inline QSize QSize::boundedTo( const QSize & otherSize ) const { return QSize( ((wd) < (otherSize.wd) ? (wd) : (otherSize.wd)), ((ht) < (otherSize.ht) ? (ht) : (otherSize.ht)) ); } # 43 "/usr/qt/3/include/qrect.h" 2 class QRect { public: QRect() { x1 = y1 = 0; x2 = y2 = -1; } QRect( const QPoint &topleft, const QPoint &bottomright ); QRect( const QPoint &topleft, const QSize &size ); QRect( int left, int top, int width, int height ); bool isNull() const; bool isEmpty() const; bool isValid() const; QRect normalize() const; int left() const; int top() const; int right() const; int bottom() const; QCOORD &rLeft(); QCOORD &rTop(); QCOORD &rRight(); QCOORD &rBottom(); int x() const; int y() const; void setLeft( int pos ); void setTop( int pos ); void setRight( int pos ); void setBottom( int pos ); void setX( int x ); void setY( int y ); void setTopLeft( const QPoint &p ); void setBottomRight( const QPoint &p ); void setTopRight( const QPoint &p ); void setBottomLeft( const QPoint &p ); QPoint topLeft() const; QPoint bottomRight() const; QPoint topRight() const; QPoint bottomLeft() const; QPoint center() const; void rect( int *x, int *y, int *w, int *h ) const; void coords( int *x1, int *y1, int *x2, int *y2 ) const; void moveLeft( int pos ); void moveTop( int pos ); void moveRight( int pos ); void moveBottom( int pos ); void moveTopLeft( const QPoint &p ); void moveBottomRight( const QPoint &p ); void moveTopRight( const QPoint &p ); void moveBottomLeft( const QPoint &p ); void moveCenter( const QPoint &p ); void moveBy( int dx, int dy ); void setRect( int x, int y, int w, int h ); void setCoords( int x1, int y1, int x2, int y2 ); void addCoords( int x1, int y1, int x2, int y2 ); QSize size() const; int width() const; int height() const; void setWidth( int w ); void setHeight( int h ); void setSize( const QSize &s ); QRect operator|(const QRect &r) const; QRect operator&(const QRect &r) const; QRect& operator|=(const QRect &r); QRect& operator&=(const QRect &r); bool contains( const QPoint &p, bool proper=FALSE ) const; bool contains( int x, int y ) const; bool contains( int x, int y, bool proper ) const; bool contains( const QRect &r, bool proper=FALSE ) const; QRect unite( const QRect &r ) const; QRect intersect( const QRect &r ) const; bool intersects( const QRect &r ) const; friend bool operator==( const QRect &, const QRect & ); friend bool operator!=( const QRect &, const QRect & ); private: friend void qt_setCoords( QRect *r, int xp1, int yp1, int xp2, int yp2 ); QCOORD x1; QCOORD y1; QCOORD x2; QCOORD y2; }; bool operator==( const QRect &, const QRect & ); bool operator!=( const QRect &, const QRect & ); QDataStream &operator<<( QDataStream &, const QRect & ); QDataStream &operator>>( QDataStream &, QRect & ); inline QRect::QRect( int left, int top, int width, int height ) { x1 = (QCOORD)left; y1 = (QCOORD)top; x2 = (QCOORD)(left+width-1); y2 = (QCOORD)(top+height-1); } inline bool QRect::isNull() const { return x2 == x1-1 && y2 == y1-1; } inline bool QRect::isEmpty() const { return x1 > x2 || y1 > y2; } inline bool QRect::isValid() const { return x1 <= x2 && y1 <= y2; } inline int QRect::left() const { return x1; } inline int QRect::top() const { return y1; } inline int QRect::right() const { return x2; } inline int QRect::bottom() const { return y2; } inline QCOORD &QRect::rLeft() { return x1; } inline QCOORD & QRect::rTop() { return y1; } inline QCOORD & QRect::rRight() { return x2; } inline QCOORD & QRect::rBottom() { return y2; } inline int QRect::x() const { return x1; } inline int QRect::y() const { return y1; } inline void QRect::setLeft( int pos ) { x1 = (QCOORD)pos; } inline void QRect::setTop( int pos ) { y1 = (QCOORD)pos; } inline void QRect::setRight( int pos ) { x2 = (QCOORD)pos; } inline void QRect::setBottom( int pos ) { y2 = (QCOORD)pos; } inline void QRect::setX( int x ) { x1 = (QCOORD)x; } inline void QRect::setY( int y ) { y1 = (QCOORD)y; } inline QPoint QRect::topLeft() const { return QPoint(x1, y1); } inline QPoint QRect::bottomRight() const { return QPoint(x2, y2); } inline QPoint QRect::topRight() const { return QPoint(x2, y1); } inline QPoint QRect::bottomLeft() const { return QPoint(x1, y2); } inline QPoint QRect::center() const { return QPoint((x1+x2)/2, (y1+y2)/2); } inline int QRect::width() const { return x2 - x1 + 1; } inline int QRect::height() const { return y2 - y1 + 1; } inline QSize QRect::size() const { return QSize(x2-x1+1, y2-y1+1); } inline bool QRect::contains( int x, int y, bool proper ) const { if ( proper ) return x > x1 && x < x2 && y > y1 && y < y2; else return x >= x1 && x <= x2 && y >= y1 && y <= y2; } inline bool QRect::contains( int x, int y ) const { return x >= x1 && x <= x2 && y >= y1 && y <= y2; } # 1 "/usr/qt/3/include/qwinexport.h" 1 # 273 "/usr/qt/3/include/qrect.h" 2 # 44 "/usr/qt/3/include/qregion.h" 2 struct QRegionPrivate; class QRegion { public: enum RegionType { Rectangle, Ellipse }; QRegion(); QRegion( int x, int y, int w, int h, RegionType = Rectangle ); QRegion( const QRect &, RegionType = Rectangle ); QRegion( const QPointArray &, bool winding=FALSE ); QRegion( const QRegion & ); QRegion( const QBitmap & ); ~QRegion(); QRegion &operator=( const QRegion & ); bool isNull() const; bool isEmpty() const; bool contains( const QPoint &p ) const; bool contains( const QRect &r ) const; void translate( int dx, int dy ); QRegion unite( const QRegion & ) const; QRegion intersect( const QRegion &) const; QRegion subtract( const QRegion & ) const; QRegion eor( const QRegion & ) const; QRect boundingRect() const; QMemArray rects() const; void setRects( const QRect *, int ); const QRegion operator|( const QRegion & ) const; const QRegion operator+( const QRegion & ) const; const QRegion operator&( const QRegion & ) const; const QRegion operator-( const QRegion & ) const; const QRegion operator^( const QRegion & ) const; QRegion& operator|=( const QRegion & ); QRegion& operator+=( const QRegion & ); QRegion& operator&=( const QRegion & ); QRegion& operator-=( const QRegion & ); QRegion& operator^=( const QRegion & ); bool operator==( const QRegion & ) const; bool operator!=( const QRegion &r ) const { return !(operator==(r)); } Region handle() const { if(!data->rgn) updateX11Region(); return data->rgn; } # 108 "/usr/qt/3/include/qregion.h" friend QDataStream &operator<<( QDataStream &, const QRegion & ); friend QDataStream &operator>>( QDataStream &, QRegion & ); private: QRegion( bool ); QRegion copy() const; void detach(); void updateX11Region() const; void *clipRectangles( int &num ) const; friend void *qt_getClipRects( const QRegion &, int & ); void exec( const QByteArray &, int ver = 0 ); struct QRegionData : public QShared { Region rgn; void *xrectangles; QRegionPrivate *region; bool is_null; } *data; # 149 "/usr/qt/3/include/qregion.h" }; # 169 "/usr/qt/3/include/qregion.h" QDataStream &operator<<( QDataStream &, const QRegion & ); QDataStream &operator>>( QDataStream &, QRegion & ); # 44 "/usr/qt/3/include/qevent.h" 2 # 1 "/usr/qt/3/include/qmime.h" 1 # 43 "/usr/qt/3/include/qmime.h" # 1 "/usr/qt/3/include/qmap.h" 1 # 42 "/usr/qt/3/include/qmap.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 43 "/usr/qt/3/include/qmap.h" 2 # 1 "/usr/qt/3/include/qdatastream.h" 1 # 42 "/usr/qt/3/include/qdatastream.h" # 1 "/usr/qt/3/include/qiodevice.h" 1 # 42 "/usr/qt/3/include/qiodevice.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 43 "/usr/qt/3/include/qiodevice.h" 2 # 88 "/usr/qt/3/include/qiodevice.h" class QIODevice { public: typedef Q_ULONG Offset; QIODevice(); virtual ~QIODevice(); int flags() const { return ioMode; } int mode() const { return ioMode & 0x00ff; } int state() const { return ioMode & 0xf000; } bool isDirectAccess() const { return ((ioMode & 0x0100) == 0x0100); } bool isSequentialAccess() const { return ((ioMode & 0x0200) == 0x0200); } bool isCombinedAccess() const { return ((ioMode & 0x0300) == 0x0300); } bool isBuffered() const { return ((ioMode & 0x0040) != 0x0040); } bool isRaw() const { return ((ioMode & 0x0040) == 0x0040); } bool isSynchronous() const { return ((ioMode & 0x0080) != 0x0080); } bool isAsynchronous() const { return ((ioMode & 0x0080) == 0x0080); } bool isTranslated() const { return ((ioMode & 0x0010) == 0x0010); } bool isReadable() const { return ((ioMode & 0x0001) == 0x0001); } bool isWritable() const { return ((ioMode & 0x0002) == 0x0002); } bool isReadWrite() const { return ((ioMode & 0x0003) == 0x0003); } bool isInactive() const { return state() == 0; } bool isOpen() const { return state() == 0x1000; } int status() const { return ioSt; } void resetStatus() { ioSt = 0; } virtual bool open( int mode ) = 0; virtual void close() = 0; virtual void flush() = 0; virtual Offset size() const = 0; virtual Offset at() const; virtual bool at( Offset ); virtual bool atEnd() const; bool reset() { return at(0); } virtual Q_LONG readBlock( char *data, Q_ULONG maxlen ) = 0; virtual Q_LONG writeBlock( const char *data, Q_ULONG len ) = 0; virtual Q_LONG readLine( char *data, Q_ULONG maxlen ); Q_LONG writeBlock( const QByteArray& data ); virtual QByteArray readAll(); virtual int getch() = 0; virtual int putch( int ) = 0; virtual int ungetch( int ) = 0; protected: void setFlags( int f ) { ioMode = f; } void setType( int ); void setMode( int ); void setState( int ); void setStatus( int ); Offset ioIndex; private: int ioMode; int ioSt; private: QIODevice( const QIODevice & ); QIODevice &operator=( const QIODevice & ); }; # 43 "/usr/qt/3/include/qdatastream.h" 2 class QDataStream { public: QDataStream(); QDataStream( QIODevice * ); QDataStream( QByteArray, int mode ); virtual ~QDataStream(); QIODevice *device() const; void setDevice( QIODevice * ); void unsetDevice(); bool atEnd() const; bool eof() const; enum ByteOrder { BigEndian, LittleEndian }; int byteOrder() const; void setByteOrder( int ); bool isPrintableData() const; void setPrintableData( bool ); int version() const; void setVersion( int ); QDataStream &operator>>( Q_INT8 &i ); QDataStream &operator>>( Q_UINT8 &i ); QDataStream &operator>>( Q_INT16 &i ); QDataStream &operator>>( Q_UINT16 &i ); QDataStream &operator>>( Q_INT32 &i ); QDataStream &operator>>( Q_UINT32 &i ); QDataStream &operator>>( Q_INT64 &i ); QDataStream &operator>>( Q_UINT64 &i ); QDataStream &operator>>( Q_LONG &i ); QDataStream &operator>>( Q_ULONG &i ); QDataStream &operator>>( float &f ); QDataStream &operator>>( double &f ); QDataStream &operator>>( char *&str ); QDataStream &operator<<( Q_INT8 i ); QDataStream &operator<<( Q_UINT8 i ); QDataStream &operator<<( Q_INT16 i ); QDataStream &operator<<( Q_UINT16 i ); QDataStream &operator<<( Q_INT32 i ); QDataStream &operator<<( Q_UINT32 i ); QDataStream &operator<<( Q_INT64 i ); QDataStream &operator<<( Q_UINT64 i ); QDataStream &operator<<( Q_LONG i ); QDataStream &operator<<( Q_ULONG i ); QDataStream &operator<<( float f ); QDataStream &operator<<( double f ); QDataStream &operator<<( const char *str ); QDataStream &readBytes( char *&, uint &len ); QDataStream &readRawBytes( char *, uint len ); QDataStream &writeBytes( const char *, uint len ); QDataStream &writeRawBytes( const char *, uint len ); private: QIODevice *dev; bool owndev; int byteorder; bool printable; bool noswap; int ver; private: QDataStream( const QDataStream & ); QDataStream &operator=( const QDataStream & ); }; inline QIODevice *QDataStream::device() const { return dev; } inline bool QDataStream::atEnd() const { return dev ? dev->atEnd() : TRUE; } inline bool QDataStream::eof() const { return atEnd(); } inline int QDataStream::byteOrder() const { return byteorder; } inline bool QDataStream::isPrintableData() const { return printable; } inline void QDataStream::setPrintableData( bool p ) { printable = p; } inline int QDataStream::version() const { return ver; } inline void QDataStream::setVersion( int v ) { ver = v; } inline QDataStream &QDataStream::operator>>( Q_UINT8 &i ) { return *this >> (Q_INT8&)i; } inline QDataStream &QDataStream::operator>>( Q_UINT16 &i ) { return *this >> (Q_INT16&)i; } inline QDataStream &QDataStream::operator>>( Q_UINT32 &i ) { return *this >> (Q_INT32&)i; } inline QDataStream &QDataStream::operator>>( Q_UINT64 &i ) { return *this >> (Q_INT64&)i; } inline QDataStream &QDataStream::operator>>( Q_ULONG &i ) { return *this >> (Q_LONG&)i; } inline QDataStream &QDataStream::operator<<( Q_UINT8 i ) { return *this << (Q_INT8)i; } inline QDataStream &QDataStream::operator<<( Q_UINT16 i ) { return *this << (Q_INT16)i; } inline QDataStream &QDataStream::operator<<( Q_UINT32 i ) { return *this << (Q_INT32)i; } inline QDataStream &QDataStream::operator<<( Q_UINT64 i ) { return *this << (Q_INT64)i; } inline QDataStream &QDataStream::operator<<( Q_ULONG i ) { return *this << (Q_LONG)i; } # 45 "/usr/qt/3/include/qmap.h" 2 # 1 "/usr/qt/3/include/qpair.h" 1 # 40 "/usr/qt/3/include/qpair.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 41 "/usr/qt/3/include/qpair.h" 2 template struct QPair { typedef T1 first_type; typedef T2 second_type; QPair() : first( T1() ), second( T2() ) {} QPair( const T1& t1, const T2& t2 ) : first( t1 ), second( t2 ) {} QPair& operator=(const QPair& other) { if (this != &other) { first = other.first; second = other.second; } return *this; } T1 first; T2 second; }; template bool operator==( const QPair& x, const QPair& y ) { return x.first == y.first && x.second == y.second; } template bool operator<( const QPair& x, const QPair& y ) { return x.first < y.first || ( !( y.first < x.first ) && x.second < y.second ); } template QPair qMakePair( const T1& x, const T2& y ) { return QPair( x, y ); } template inline QDataStream& operator>>( QDataStream& s, QPair& p ) { s >> p.first >> p.second; return s; } template inline QDataStream& operator<<( QDataStream& s, const QPair& p ) { s << p.first << p.second; return s; } # 46 "/usr/qt/3/include/qmap.h" 2 # 1 "/usr/qt/3/include/qvaluelist.h" 1 # 42 "/usr/qt/3/include/qvaluelist.h" # 1 "/usr/qt/3/include/qtl.h" 1 # 42 "/usr/qt/3/include/qtl.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 43 "/usr/qt/3/include/qtl.h" 2 # 1 "/usr/qt/3/include/qtextstream.h" 1 # 48 "/usr/qt/3/include/qtextstream.h" class QTextCodec; class QTextDecoder; class QTextStreamPrivate; class QTextStream { public: enum Encoding { Locale, Latin1, Unicode, UnicodeNetworkOrder, UnicodeReverse, RawUnicode, UnicodeUTF8 }; void setEncoding( Encoding ); void setCodec( QTextCodec* ); QTextCodec *codec(); QTextStream(); QTextStream( QIODevice * ); QTextStream( QString*, int mode ); QTextStream( QString&, int mode ); QTextStream( QByteArray, int mode ); QTextStream( FILE *, int mode ); virtual ~QTextStream(); QIODevice *device() const; void setDevice( QIODevice * ); void unsetDevice(); bool atEnd() const; bool eof() const; QTextStream &operator>>( QChar & ); QTextStream &operator>>( char & ); QTextStream &operator>>( signed short & ); QTextStream &operator>>( unsigned short & ); QTextStream &operator>>( signed int & ); QTextStream &operator>>( unsigned int & ); QTextStream &operator>>( signed long & ); QTextStream &operator>>( unsigned long & ); QTextStream &operator>>( float & ); QTextStream &operator>>( double & ); QTextStream &operator>>( char * ); QTextStream &operator>>( QString & ); QTextStream &operator>>( QCString & ); QTextStream &operator<<( QChar ); QTextStream &operator<<( char ); QTextStream &operator<<( signed short ); QTextStream &operator<<( unsigned short ); QTextStream &operator<<( signed int ); QTextStream &operator<<( unsigned int ); QTextStream &operator<<( signed long ); QTextStream &operator<<( unsigned long ); QTextStream &operator<<( float ); QTextStream &operator<<( double ); QTextStream &operator<<( const char* ); QTextStream &operator<<( const QString & ); QTextStream &operator<<( const QCString & ); QTextStream &operator<<( void * ); QTextStream &readRawBytes( char *, uint len ); QTextStream &writeRawBytes( const char* , uint len ); QString readLine(); QString read(); void skipWhiteSpace(); enum { skipws = 0x0001, left = 0x0002, right = 0x0004, internal = 0x0008, bin = 0x0010, oct = 0x0020, dec = 0x0040, hex = 0x0080, showbase = 0x0100, showpoint = 0x0200, uppercase = 0x0400, showpos = 0x0800, scientific= 0x1000, fixed = 0x2000 }; static const int basefield; static const int adjustfield; static const int floatfield; int flags() const; int flags( int f ); int setf( int bits ); int setf( int bits, int mask ); int unsetf( int bits ); void reset(); int width() const; int width( int ); int fill() const; int fill( int ); int precision() const; int precision( int ); private: long input_int(); void init(); QTextStream &output_int( int, ulong, bool ); QIODevice *dev; int fflags; int fwidth; int fillchar; int fprec; bool doUnicodeHeader; bool owndev; QTextCodec *mapper; QTextStreamPrivate * d; QChar unused1; bool latin1; bool internalOrder; bool networkOrder; void *unused2; QChar eat_ws(); uint ts_getline( QChar* ); void ts_ungetc( QChar ); QChar ts_getc(); uint ts_getbuf( QChar*, uint ); void ts_putc(int); void ts_putc(QChar); bool ts_isspace(QChar); bool ts_isdigit(QChar); ulong input_bin(); ulong input_oct(); ulong input_dec(); ulong input_hex(); double input_double(); QTextStream &writeBlock( const char* p, uint len ); QTextStream &writeBlock( const QChar* p, uint len ); private: QTextStream( const QTextStream & ); QTextStream &operator=( const QTextStream & ); }; typedef QTextStream QTS; class QTextIStream : public QTextStream { public: QTextIStream( const QString* s ) : QTextStream((QString*)s,0x0001) { } QTextIStream( QByteArray ba ) : QTextStream(ba,0x0001) { } QTextIStream( FILE *f ) : QTextStream(f,0x0001) { } private: QTextIStream( const QTextIStream & ); QTextIStream &operator=( const QTextIStream & ); }; class QTextOStream : public QTextStream { public: QTextOStream( QString* s ) : QTextStream(s,0x0002) { } QTextOStream( QByteArray ba ) : QTextStream(ba,0x0002) { } QTextOStream( FILE *f ) : QTextStream(f,0x0002) { } private: QTextOStream( const QTextOStream & ); QTextOStream &operator=( const QTextOStream & ); }; inline QIODevice *QTextStream::device() const { return dev; } inline bool QTextStream::atEnd() const { return dev ? dev->atEnd() : FALSE; } inline bool QTextStream::eof() const { return atEnd(); } inline int QTextStream::flags() const { return fflags; } inline int QTextStream::flags( int f ) { int oldf = fflags; fflags = f; return oldf; } inline int QTextStream::setf( int bits ) { int oldf = fflags; fflags |= bits; return oldf; } inline int QTextStream::setf( int bits, int mask ) { int oldf = fflags; fflags = (fflags & ~mask) | (bits & mask); return oldf; } inline int QTextStream::unsetf( int bits ) { int oldf = fflags; fflags &= ~bits; return oldf; } inline int QTextStream::width() const { return fwidth; } inline int QTextStream::width( int w ) { int oldw = fwidth; fwidth = w; return oldw; } inline int QTextStream::fill() const { return fillchar; } inline int QTextStream::fill( int f ) { int oldc = fillchar; fillchar = f; return oldc; } inline int QTextStream::precision() const { return fprec; } inline int QTextStream::precision( int p ) { int oldp = fprec; fprec = p; return oldp; } inline QChar QTextStream::ts_getc() { QChar r; return ( ts_getbuf( &r,1 ) == 1 ? r : QChar((ushort)0xffff) ); } typedef QTextStream & (*QTSFUNC)(QTextStream &); typedef int (QTextStream::*QTSMFI)(int); class QTSManip { public: QTSManip( QTSMFI m, int a ) { mf=m; arg=a; } void exec( QTextStream &s ) { (s.*mf)(arg); } private: QTSMFI mf; int arg; }; inline QTextStream &operator>>( QTextStream &s, QTSFUNC f ) { return (*f)( s ); } inline QTextStream &operator<<( QTextStream &s, QTSFUNC f ) { return (*f)( s ); } inline QTextStream &operator<<( QTextStream &s, QTSManip m ) { m.exec(s); return s; } QTextStream &bin( QTextStream &s ); QTextStream &oct( QTextStream &s ); QTextStream &dec( QTextStream &s ); QTextStream &hex( QTextStream &s ); QTextStream &endl( QTextStream &s ); QTextStream &flush( QTextStream &s ); QTextStream &ws( QTextStream &s ); QTextStream &reset( QTextStream &s ); inline QTSManip qSetW( int w ) { QTSMFI func = &QTextStream::width; return QTSManip(func,w); } inline QTSManip qSetFill( int f ) { QTSMFI func = &QTextStream::fill; return QTSManip(func,f); } inline QTSManip qSetPrecision( int p ) { QTSMFI func = &QTextStream::precision; return QTSManip(func,p); } # 44 "/usr/qt/3/include/qtl.h" 2 template class QTextOStreamIterator { protected: QTextOStream& stream; QString separator; public: QTextOStreamIterator( QTextOStream& s) : stream( s ) {} QTextOStreamIterator( QTextOStream& s, const QString& sep ) : stream( s ), separator( sep ) {} QTextOStreamIterator& operator= ( const T& x ) { stream << x; if ( !separator.isEmpty() ) stream << separator; return *this; } QTextOStreamIterator& operator*() { return *this; } QTextOStreamIterator& operator++() { return *this; } QTextOStreamIterator& operator++(int) { return *this; } }; template inline OutputIterator qCopy( InputIterator _begin, InputIterator _end, OutputIterator _dest ) { while( _begin != _end ) *_dest++ = *_begin++; return _dest; } template inline BiOutputIterator qCopyBackward( BiIterator _begin, BiIterator _end, BiOutputIterator _dest ) { while ( _begin != _end ) *--_dest = *--_end; return _dest; } template inline bool qEqual( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 ) { for ( ; first1 != last1; ++first1, ++first2 ) if ( *first1 != *first2 ) return FALSE; return TRUE; } template inline void qFill( ForwardIterator first, ForwardIterator last, const T& val ) { for ( ; first != last; ++first ) *first = val; } # 121 "/usr/qt/3/include/qtl.h" template inline InputIterator qFind( InputIterator first, InputIterator last, const T& val ) { while ( first != last && *first != val ) ++first; return first; } template inline void qCount( InputIterator first, InputIterator last, const T& value, Size& n ) { for ( ; first != last; ++first ) if ( *first == value ) ++n; } template inline void qSwap( T& _value1, T& _value2 ) { T tmp = _value1; _value1 = _value2; _value2 = tmp; } template void qBubbleSort( InputIterator b, InputIterator e ) { InputIterator last = e; --last; if ( last == b ) return; while( b != last ) { bool swapped = FALSE; InputIterator swap_pos = b; InputIterator x = e; InputIterator y = x; y--; do { --x; --y; if ( *x < *y ) { swapped = TRUE; qSwap( *x, *y ); swap_pos = y; } } while( y != b ); if ( !swapped ) return; b = swap_pos; b++; } } template inline void qBubbleSort( Container &c ) { qBubbleSort( c.begin(), c.end() ); } template void qHeapSortPushDown( Value* heap, int first, int last ) { int r = first; while ( r <= last / 2 ) { if ( last == 2 * r ) { if ( heap[2 * r] < heap[r] ) qSwap( heap[r], heap[2 * r] ); r = last; } else { if ( heap[2 * r] < heap[r] && !(heap[2 * r + 1] < heap[2 * r]) ) { qSwap( heap[r], heap[2 * r] ); r *= 2; } else if ( heap[2 * r + 1] < heap[r] && heap[2 * r + 1] < heap[2 * r] ) { qSwap( heap[r], heap[2 * r + 1] ); r = 2 * r + 1; } else { r = last; } } } } template void qHeapSortHelper( InputIterator b, InputIterator e, Value, uint n ) { InputIterator insert = b; Value* realheap = new Value[n]; Value* heap = realheap - 1; int size = 0; for( ; insert != e; ++insert ) { heap[++size] = *insert; int i = size; while( i > 1 && heap[i] < heap[i / 2] ) { qSwap( heap[i], heap[i / 2] ); i /= 2; } } for( uint i = n; i > 0; i-- ) { *b++ = heap[1]; if ( i > 1 ) { heap[1] = heap[i]; qHeapSortPushDown( heap, 1, (int)i - 1 ); } } delete[] realheap; } template void qHeapSort( InputIterator b, InputIterator e ) { if ( b == e ) return; InputIterator it = b; uint n = 0; while ( it != e ) { ++n; ++it; } qHeapSortHelper( b, e, *b, n ); } template void qHeapSort( Container &c ) { if ( c.begin() == c.end() ) return; qHeapSortHelper( c.begin(), c.end(), *(c.begin()), (uint)c.count() ); } template class QBackInsertIterator { public: explicit QBackInsertIterator( Container &c ) : container( &c ) { } QBackInsertIterator& operator=( const typename Container::value_type &value ) { container->push_back( value ); return *this; } QBackInsertIterator& operator*() { return *this; } QBackInsertIterator& operator++() { return *this; } QBackInsertIterator& operator++(int) { return *this; } protected: Container *container; }; template inline QBackInsertIterator qBackInserter( Container &c ) { return QBackInsertIterator( c ); } # 43 "/usr/qt/3/include/qvaluelist.h" 2 # 58 "/usr/qt/3/include/qvaluelist.h" template class QValueListNode { public: QValueListNode( const T& t ) : data( t ) { } QValueListNode() { } QValueListNode* next; QValueListNode* prev; T data; }; template class QValueListIterator { public: typedef QValueListNode* NodePtr; typedef T value_type; typedef size_t size_type; typedef int difference_type; typedef T* pointer; typedef T& reference; NodePtr node; QValueListIterator() : node( 0 ) {} QValueListIterator( NodePtr p ) : node( p ) {} QValueListIterator( const QValueListIterator& it ) : node( it.node ) {} bool operator==( const QValueListIterator& it ) const { return node == it.node; } bool operator!=( const QValueListIterator& it ) const { return node != it.node; } const T& operator*() const { return node->data; } T& operator*() { return node->data; } QValueListIterator& operator++() { node = node->next; return *this; } QValueListIterator operator++(int) { QValueListIterator tmp = *this; node = node->next; return tmp; } QValueListIterator& operator--() { node = node->prev; return *this; } QValueListIterator operator--(int) { QValueListIterator tmp = *this; node = node->prev; return tmp; } QValueListIterator& operator+=( int j ) { while ( j-- ) node = node->next; return *this; } QValueListIterator& operator-=( int j ) { while ( j-- ) node = node->prev; return *this; } }; template class QValueListConstIterator { public: typedef QValueListNode* NodePtr; typedef T value_type; typedef size_t size_type; typedef int difference_type; typedef const T* pointer; typedef const T& reference; NodePtr node; QValueListConstIterator() : node( 0 ) {} QValueListConstIterator( NodePtr p ) : node( p ) {} QValueListConstIterator( const QValueListConstIterator& it ) : node( it.node ) {} QValueListConstIterator( const QValueListIterator& it ) : node( it.node ) {} bool operator==( const QValueListConstIterator& it ) const { return node == it.node; } bool operator!=( const QValueListConstIterator& it ) const { return node != it.node; } const T& operator*() const { return node->data; } QValueListConstIterator& operator++() { node = node->next; return *this; } QValueListConstIterator operator++(int) { QValueListConstIterator tmp = *this; node = node->next; return tmp; } QValueListConstIterator& operator--() { node = node->prev; return *this; } QValueListConstIterator operator--(int) { QValueListConstIterator tmp = *this; node = node->prev; return tmp; } }; template class QValueListPrivate : public QShared { public: typedef QValueListIterator Iterator; typedef QValueListConstIterator ConstIterator; typedef QValueListNode Node; typedef QValueListNode* NodePtr; typedef size_t size_type; QValueListPrivate(); QValueListPrivate( const QValueListPrivate& _p ); void derefAndDelete() { if ( deref() ) delete this; } ~QValueListPrivate(); Iterator insert( Iterator it, const T& x ); Iterator remove( Iterator it ); NodePtr find( NodePtr start, const T& x ) const; int findIndex( NodePtr start, const T& x ) const; uint contains( const T& x ) const; uint remove( const T& x ); NodePtr at( size_type i ) const; void clear(); NodePtr node; size_type nodes; }; template QValueListPrivate::QValueListPrivate() { node = new Node; node->next = node->prev = node; nodes = 0; } template QValueListPrivate::QValueListPrivate( const QValueListPrivate& _p ) : QShared() { node = new Node; node->next = node->prev = node; nodes = 0; Iterator b( _p.node->next ); Iterator e( _p.node ); Iterator i( node ); while( b != e ) insert( i, *b++ ); } template QValueListPrivate::~QValueListPrivate() { NodePtr p = node->next; while( p != node ) { NodePtr x = p->next; delete p; p = x; } delete node; } template typename QValueListPrivate::Iterator QValueListPrivate::insert( typename QValueListPrivate::Iterator it, const T& x ) { NodePtr p = new Node( x ); p->next = it.node; p->prev = it.node->prev; it.node->prev->next = p; it.node->prev = p; nodes++; return p; } template typename QValueListPrivate::Iterator QValueListPrivate::remove( typename QValueListPrivate::Iterator it ) { ((it.node != node) ? (void)0 : qWarning("ASSERT: \"%s\" in %s (%d)","it.node != node","/usr/qt/3/include/qvaluelist.h",301)); NodePtr next = it.node->next; NodePtr prev = it.node->prev; prev->next = next; next->prev = prev; delete it.node; nodes--; return Iterator( next ); } template typename QValueListPrivate::NodePtr QValueListPrivate::find( typename QValueListPrivate::NodePtr start, const T& x ) const { ConstIterator first( start ); ConstIterator last( node ); while( first != last) { if ( *first == x ) return first.node; ++first; } return last.node; } template int QValueListPrivate::findIndex( typename QValueListPrivate::NodePtr start, const T& x ) const { ConstIterator first( start ); ConstIterator last( node ); int pos = 0; while( first != last) { if ( *first == x ) return pos; ++first; ++pos; } return -1; } template uint QValueListPrivate::contains( const T& x ) const { uint result = 0; Iterator first = Iterator( node->next ); Iterator last = Iterator( node ); while( first != last) { if ( *first == x ) ++result; ++first; } return result; } template uint QValueListPrivate::remove( const T& x ) { uint result = 0; Iterator first = Iterator( node->next ); Iterator last = Iterator( node ); while( first != last) { if ( *first == x ) { first = remove( first ); ++result; } else ++first; } return result; } template typename QValueListPrivate::NodePtr QValueListPrivate::at( size_type i ) const { ((i <= nodes) ? (void)0 : qWarning("ASSERT: \"%s\" in %s (%d)","i <= nodes","/usr/qt/3/include/qvaluelist.h",372)); NodePtr p = node->next; for( size_type x = 0; x < i; ++x ) p = p->next; return p; } template void QValueListPrivate::clear() { nodes = 0; NodePtr p = node->next; while( p != node ) { NodePtr next = p->next; delete p; p = next; } node->next = node->prev = node; } # 405 "/usr/qt/3/include/qvaluelist.h" template class QDeepCopy; template class QValueList { public: typedef QValueListIterator iterator; typedef QValueListConstIterator const_iterator; typedef T value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef size_t size_type; typedef int difference_type; QValueList() { sh = new QValueListPrivate; } QValueList( const QValueList& l ) { sh = l.sh; sh->ref(); } ~QValueList() { sh->derefAndDelete(); } QValueList& operator= ( const QValueList& l ) { l.sh->ref(); sh->derefAndDelete(); sh = l.sh; return *this; } # 471 "/usr/qt/3/include/qvaluelist.h" bool operator== ( const QValueList& l ) const; bool operator!= ( const QValueList& l ) const { return !( *this == l ); } iterator begin() { detach(); return iterator( sh->node->next ); } const_iterator begin() const { return const_iterator( sh->node->next ); } const_iterator constBegin() const { return const_iterator( sh->node->next ); } iterator end() { detach(); return iterator( sh->node ); } const_iterator end() const { return const_iterator( sh->node ); } const_iterator constEnd() const { return const_iterator( sh->node ); } iterator insert( iterator it, const T& x ) { detach(); return sh->insert( it, x ); } uint remove( const T& x ) { detach(); return sh->remove( x ); } void clear(); QValueList& operator<< ( const T& x ) { append( x ); return *this; } size_type size() const { return sh->nodes; } bool empty() const { return sh->nodes == 0; } void push_front( const T& x ) { detach(); sh->insert( begin(), x ); } void push_back( const T& x ) { detach(); sh->insert( end(), x ); } iterator erase( iterator pos ) { detach(); return sh->remove( pos ); } iterator erase( iterator first, iterator last ); reference front() { ; return *begin(); } const_reference front() const { ; return *begin(); } reference back() { ; return *(--end()); } const_reference back() const { ; return *(--end()); } void pop_front() { ; erase( begin() ); } void pop_back() { ; iterator tmp = end(); erase( --tmp ); } void insert( iterator pos, size_type n, const T& x ); # 517 "/usr/qt/3/include/qvaluelist.h" QValueList operator+ ( const QValueList& l ) const; QValueList& operator+= ( const QValueList& l ); iterator fromLast() { detach(); return iterator( sh->node->prev ); } const_iterator fromLast() const { return const_iterator( sh->node->prev ); } bool isEmpty() const { return ( sh->nodes == 0 ); } iterator append( const T& x ) { detach(); return sh->insert( end(), x ); } iterator prepend( const T& x ) { detach(); return sh->insert( begin(), x ); } iterator remove( iterator it ) { detach(); return sh->remove( it ); } T& first() { ; detach(); return sh->node->next->data; } const T& first() const { ; return sh->node->next->data; } T& last() { ; detach(); return sh->node->prev->data; } const T& last() const { ; return sh->node->prev->data; } T& operator[] ( size_type i ) { ; detach(); return sh->at(i)->data; } const T& operator[] ( size_type i ) const { ; return sh->at(i)->data; } iterator at( size_type i ) { ; detach(); return iterator( sh->at(i) ); } const_iterator at( size_type i ) const { ; return const_iterator( sh->at(i) ); } iterator find ( const T& x ) { detach(); return iterator( sh->find( sh->node->next, x) ); } const_iterator find ( const T& x ) const { return const_iterator( sh->find( sh->node->next, x) ); } iterator find ( iterator it, const T& x ) { detach(); return iterator( sh->find( it.node, x ) ); } const_iterator find ( const_iterator it, const T& x ) const { return const_iterator( sh->find( it.node, x ) ); } int findIndex( const T& x ) const { return sh->findIndex( sh->node->next, x) ; } size_type contains( const T& x ) const { return sh->contains( x ); } size_type count() const { return sh->nodes; } QValueList& operator+= ( const T& x ) { append( x ); return *this; } typedef QValueListIterator Iterator; typedef QValueListConstIterator ConstIterator; typedef T ValueType; protected: void detach() { if ( sh->count > 1 ) detachInternal(); } QValueListPrivate* sh; private: void detachInternal(); friend class QDeepCopy< QValueList >; }; template bool QValueList::operator== ( const QValueList& l ) const { if ( size() != l.size() ) return FALSE; const_iterator it2 = begin(); const_iterator it = l.begin(); for( ; it != l.end(); ++it, ++it2 ) if ( !( *it == *it2 ) ) return FALSE; return TRUE; } template void QValueList::clear() { if ( sh->count == 1 ) sh->clear(); else { sh->deref(); sh = new QValueListPrivate; } } template typename QValueList::iterator QValueList::erase( typename QValueList::iterator first, typename QValueList::iterator last ) { while ( first != last ) erase( first++ ); return last; } template void QValueList::insert( typename QValueList::iterator pos, size_type n, const T& x ) { for ( ; n > 0; --n ) insert( pos, x ); } template QValueList QValueList::operator+ ( const QValueList& l ) const { QValueList l2( *this ); for( const_iterator it = l.begin(); it != l.end(); ++it ) l2.append( *it ); return l2; } template QValueList& QValueList::operator+= ( const QValueList& l ) { for( const_iterator it = l.begin(); it != l.end(); ++it ) append( *it ); return *this; } template void QValueList::detachInternal() { sh->deref(); sh = new QValueListPrivate( *sh ); } template QDataStream& operator>>( QDataStream& s, QValueList& l ) { l.clear(); Q_UINT32 c; s >> c; for( Q_UINT32 i = 0; i < c; ++i ) { T t; s >> t; l.append( t ); if ( s.atEnd() ) break; } return s; } template QDataStream& operator<<( QDataStream& s, const QValueList& l ) { s << (Q_UINT32)l.size(); QValueListConstIterator it = l.begin(); for( ; it != l.end(); ++it ) s << *it; return s; } # 1 "/usr/qt/3/include/qwinexport.h" 1 # 664 "/usr/qt/3/include/qvaluelist.h" 2 # 47 "/usr/qt/3/include/qmap.h" 2 # 56 "/usr/qt/3/include/qmap.h" struct QMapNodeBase { enum Color { Red, Black }; QMapNodeBase* left; QMapNodeBase* right; QMapNodeBase* parent; Color color; QMapNodeBase* minimum() { QMapNodeBase* x = this; while ( x->left ) x = x->left; return x; } QMapNodeBase* maximum() { QMapNodeBase* x = this; while ( x->right ) x = x->right; return x; } }; template struct QMapNode : public QMapNodeBase { QMapNode( const K& _key, const T& _data ) { data = _data; key = _key; } QMapNode( const K& _key ) { key = _key; } QMapNode( const QMapNode& _n ) { key = _n.key; data = _n.data; } QMapNode() { } T data; K key; }; template class QMapIterator { public: typedef QMapNode< K, T >* NodePtr; typedef T value_type; typedef int difference_type; typedef T* pointer; typedef T& reference; QMapNode* node; QMapIterator() : node( 0 ) {} QMapIterator( QMapNode* p ) : node( p ) {} QMapIterator( const QMapIterator& it ) : node( it.node ) {} bool operator==( const QMapIterator& it ) const { return node == it.node; } bool operator!=( const QMapIterator& it ) const { return node != it.node; } T& operator*() { return node->data; } const T& operator*() const { return node->data; } const K& key() const { return node->key; } T& data() { return node->data; } const T& data() const { return node->data; } private: int inc(); int dec(); public: QMapIterator& operator++() { inc(); return *this; } QMapIterator operator++(int) { QMapIterator tmp = *this; inc(); return tmp; } QMapIterator& operator--() { dec(); return *this; } QMapIterator operator--(int) { QMapIterator tmp = *this; dec(); return tmp; } }; template int QMapIterator::inc() { QMapNodeBase* tmp = node; if ( tmp->right ) { tmp = tmp->right; while ( tmp->left ) tmp = tmp->left; } else { QMapNodeBase* y = tmp->parent; while (tmp == y->right) { tmp = y; y = y->parent; } if (tmp->right != y) tmp = y; } node = (NodePtr)tmp; return 0; } template int QMapIterator::dec() { QMapNodeBase* tmp = node; if (tmp->color == QMapNodeBase::Red && tmp->parent->parent == tmp ) { tmp = tmp->right; } else if (tmp->left != 0) { QMapNodeBase* y = tmp->left; while ( y->right ) y = y->right; tmp = y; } else { QMapNodeBase* y = tmp->parent; while (tmp == y->left) { tmp = y; y = y->parent; } tmp = y; } node = (NodePtr)tmp; return 0; } template class QMapConstIterator { public: typedef QMapNode< K, T >* NodePtr; typedef T value_type; typedef int difference_type; typedef const T* pointer; typedef const T& reference; QMapNode* node; QMapConstIterator() : node( 0 ) {} QMapConstIterator( QMapNode* p ) : node( p ) {} QMapConstIterator( const QMapConstIterator& it ) : node( it.node ) {} QMapConstIterator( const QMapIterator& it ) : node( it.node ) {} bool operator==( const QMapConstIterator& it ) const { return node == it.node; } bool operator!=( const QMapConstIterator& it ) const { return node != it.node; } const T& operator*() const { return node->data; } const K& key() const { return node->key; } const T& data() const { return node->data; } private: int inc(); int dec(); public: QMapConstIterator& operator++() { inc(); return *this; } QMapConstIterator operator++(int) { QMapConstIterator tmp = *this; inc(); return tmp; } QMapConstIterator& operator--() { dec(); return *this; } QMapConstIterator operator--(int) { QMapConstIterator tmp = *this; dec(); return tmp; } }; template int QMapConstIterator::inc() { QMapNodeBase* tmp = node; if ( tmp->right ) { tmp = tmp->right; while ( tmp->left ) tmp = tmp->left; } else { QMapNodeBase* y = tmp->parent; while (tmp == y->right) { tmp = y; y = y->parent; } if (tmp->right != y) tmp = y; } node = (NodePtr)tmp; return 0; } template int QMapConstIterator::dec() { QMapNodeBase* tmp = node; if (tmp->color == QMapNodeBase::Red && tmp->parent->parent == tmp ) { tmp = tmp->right; } else if (tmp->left != 0) { QMapNodeBase* y = tmp->left; while ( y->right ) y = y->right; tmp = y; } else { QMapNodeBase* y = tmp->parent; while (tmp == y->left) { tmp = y; y = y->parent; } tmp = y; } node = (NodePtr)tmp; return 0; } class QMapPrivateBase : public QShared { public: QMapPrivateBase() { node_count = 0; } QMapPrivateBase( const QMapPrivateBase* _map) { node_count = _map->node_count; } void rotateLeft( QMapNodeBase* x, QMapNodeBase*& root); void rotateRight( QMapNodeBase* x, QMapNodeBase*& root ); void rebalance( QMapNodeBase* x, QMapNodeBase*& root ); QMapNodeBase* removeAndRebalance( QMapNodeBase* z, QMapNodeBase*& root, QMapNodeBase*& leftmost, QMapNodeBase*& rightmost ); int node_count; }; template class QMapPrivate : public QMapPrivateBase { public: typedef QMapIterator< Key, T > Iterator; typedef QMapConstIterator< Key, T > ConstIterator; typedef QMapNode< Key, T > Node; typedef QMapNode< Key, T >* NodePtr; QMapPrivate(); QMapPrivate( const QMapPrivate< Key, T >* _map ); ~QMapPrivate() { clear(); delete header; } NodePtr copy( NodePtr p ); void clear(); void clear( NodePtr p ); Iterator begin() { return Iterator( (NodePtr)(header->left ) ); } Iterator end() { return Iterator( header ); } ConstIterator begin() const { return ConstIterator( (NodePtr)(header->left ) ); } ConstIterator end() const { return ConstIterator( header ); } ConstIterator find(const Key& k) const; void remove( Iterator it ) { NodePtr del = (NodePtr) removeAndRebalance( it.node, header->parent, header->left, header->right ); delete del; --node_count; } # 414 "/usr/qt/3/include/qmap.h" Iterator insertSingle( const Key& k ); Iterator insert( QMapNodeBase* x, QMapNodeBase* y, const Key& k ); protected: const Key& key( QMapNodeBase* b ) const { return ((NodePtr)b)->key; } NodePtr header; }; template QMapPrivate::QMapPrivate() { header = new Node; header->color = QMapNodeBase::Red; header->parent = 0; header->left = header->right = header; } template QMapPrivate::QMapPrivate( const QMapPrivate< Key, T >* _map ) : QMapPrivateBase( _map ) { header = new Node; header->color = QMapNodeBase::Red; if ( _map->header->parent == 0 ) { header->parent = 0; header->left = header->right = header; } else { header->parent = copy( (NodePtr)(_map->header->parent) ); header->parent->parent = header; header->left = header->parent->minimum(); header->right = header->parent->maximum(); } } template typename QMapPrivate::NodePtr QMapPrivate::copy( typename QMapPrivate::NodePtr p ) { if ( !p ) return 0; NodePtr n = new Node( *p ); n->color = p->color; if ( p->left ) { n->left = copy( (NodePtr)(p->left) ); n->left->parent = n; } else { n->left = 0; } if ( p->right ) { n->right = copy( (NodePtr)(p->right) ); n->right->parent = n; } else { n->right = 0; } return n; } template void QMapPrivate::clear() { clear( (NodePtr)(header->parent) ); header->color = QMapNodeBase::Red; header->parent = 0; header->left = header->right = header; node_count = 0; } template void QMapPrivate::clear( typename QMapPrivate::NodePtr p ) { while ( p != 0 ) { clear( (NodePtr)p->right ); NodePtr y = (NodePtr)p->left; delete p; p = y; } } template typename QMapPrivate::ConstIterator QMapPrivate::find(const Key& k) const { QMapNodeBase* y = header; QMapNodeBase* x = header->parent; while ( x != 0 ) { if ( !( key(x) < k ) ) { y = x; x = x->left; } else { x = x->right; } } if ( y == header || k < key(y) ) return ConstIterator( header ); return ConstIterator( (NodePtr)y ); } template typename QMapPrivate::Iterator QMapPrivate::insertSingle( const Key& k ) { QMapNodeBase* y = header; QMapNodeBase* x = header->parent; bool result = TRUE; while ( x != 0 ) { result = ( k < key(x) ); y = x; x = result ? x->left : x->right; } Iterator j( (NodePtr)y ); if ( result ) { if ( j == begin() ) { return insert(x, y, k ); } else { --j; } } if ( (j.node->key) < k ) return insert(x, y, k ); return j; } template typename QMapPrivate::Iterator QMapPrivate::insert( QMapNodeBase* x, QMapNodeBase* y, const Key& k ) { NodePtr z = new Node( k ); if (y == header || x != 0 || k < key(y) ) { y->left = z; if ( y == header ) { header->parent = z; header->right = z; } else if ( y == header->left ) header->left = z; } else { y->right = z; if ( y == header->right ) header->right = z; } z->parent = y; z->left = 0; z->right = 0; rebalance( z, header->parent ); ++node_count; return Iterator(z); } # 587 "/usr/qt/3/include/qmap.h" template class QDeepCopy; template class QMap { public: typedef Key key_type; typedef T mapped_type; typedef QPair value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef size_t size_type; typedef QMapIterator iterator; typedef QMapConstIterator const_iterator; typedef QPair insert_pair; typedef QMapIterator< Key, T > Iterator; typedef QMapConstIterator< Key, T > ConstIterator; typedef T ValueType; typedef QMapPrivate< Key, T > Priv; QMap() { sh = new QMapPrivate< Key, T >; } QMap( const QMap& m ) { sh = m.sh; sh->ref(); } # 641 "/usr/qt/3/include/qmap.h" ~QMap() { if ( sh->deref() ) delete sh; } QMap& operator= ( const QMap& m ); # 660 "/usr/qt/3/include/qmap.h" iterator begin() { detach(); return sh->begin(); } iterator end() { detach(); return sh->end(); } const_iterator begin() const { return ((const Priv*)sh)->begin(); } const_iterator end() const { return ((const Priv*)sh)->end(); } const_iterator constBegin() const { return begin(); } const_iterator constEnd() const { return end(); } iterator replace( const Key& k, const T& v ) { remove( k ); return insert( k, v ); } size_type size() const { return sh->node_count; } bool empty() const { return sh->node_count == 0; } QPair insert( const value_type& x ); void erase( iterator it ) { detach(); sh->remove( it ); } void erase( const key_type& k ); size_type count( const key_type& k ) const; T& operator[] ( const Key& k ); void clear(); iterator find ( const Key& k ) { detach(); return iterator( sh->find( k ).node ); } const_iterator find ( const Key& k ) const { return sh->find( k ); } const T& operator[] ( const Key& k ) const { ; return sh->find( k ).data(); } bool contains ( const Key& k ) const { return find( k ) != end(); } size_type count() const { return sh->node_count; } QValueList keys() const { QValueList r; for (const_iterator i=begin(); i!=end(); ++i) r.append(i.key()); return r; } QValueList values() const { QValueList r; for (const_iterator i=begin(); i!=end(); ++i) r.append(*i); return r; } bool isEmpty() const { return sh->node_count == 0; } iterator insert( const Key& key, const T& value, bool overwrite = TRUE ); void remove( iterator it ) { detach(); sh->remove( it ); } void remove( const Key& k ); # 735 "/usr/qt/3/include/qmap.h" protected: void detach() { if ( sh->count > 1 ) detachInternal(); } Priv* sh; private: void detachInternal(); friend class QDeepCopy< QMap >; }; template QMap& QMap::operator= ( const QMap& m ) { m.sh->ref(); if ( sh->deref() ) delete sh; sh = m.sh; return *this; } template typename QMap::insert_pair QMap::insert( const typename QMap::value_type& x ) { detach(); size_type n = size(); iterator it = sh->insertSingle( x.first ); bool inserted = FALSE; if ( n < size() ) { inserted = TRUE; it.data() = x.second; } return QPair( it, inserted ); } template void QMap::erase( const Key& k ) { detach(); iterator it( sh->find( k ).node ); if ( it != end() ) sh->remove( it ); } template typename QMap::size_type QMap::count( const Key& k ) const { const_iterator it( sh->find( k ).node ); if ( it != end() ) { size_type c = 0; while ( it != end() ) { ++it; ++c; } return c; } return 0; } template T& QMap::operator[] ( const Key& k ) { detach(); QMapNode* p = sh->find( k ).node; if ( p != sh->end().node ) return p->data; return insert( k, T() ).data(); } template void QMap::clear() { if ( sh->count == 1 ) sh->clear(); else { sh->deref(); sh = new QMapPrivate; } } template typename QMap::iterator QMap::insert( const Key& key, const T& value, bool overwrite ) { detach(); size_type n = size(); iterator it = sh->insertSingle( key ); if ( overwrite || n < size() ) it.data() = value; return it; } template void QMap::remove( const Key& k ) { detach(); iterator it( sh->find( k ).node ); if ( it != end() ) sh->remove( it ); } template void QMap::detachInternal() { sh->deref(); sh = new QMapPrivate( sh ); } template QDataStream& operator>>( QDataStream& s, QMap& m ) { m.clear(); Q_UINT32 c; s >> c; for( Q_UINT32 i = 0; i < c; ++i ) { Key k; T t; s >> k >> t; m.insert( k, t ); if ( s.atEnd() ) break; } return s; } template QDataStream& operator<<( QDataStream& s, const QMap& m ) { s << (Q_UINT32)m.size(); QMapConstIterator it = m.begin(); for( ; it != m.end(); ++it ) s << it.key() << it.data(); return s; } # 1 "/usr/qt/3/include/qwinexport.h" 1 # 873 "/usr/qt/3/include/qmap.h" 2 # 44 "/usr/qt/3/include/qmime.h" 2 class QImageDrag; class QTextDrag; class QMimeSource { friend class QClipboardData; public: QMimeSource(); virtual ~QMimeSource(); virtual const char* format( int n = 0 ) const = 0; virtual bool provides( const char* ) const; virtual QByteArray encodedData( const char* ) const = 0; int serialNumber() const; private: int ser_no; enum { NoCache, Text, Graphics } cacheType; union { struct { QString *str; QCString *subtype; } txt; struct { QImage *img; QPixmap *pix; } gfx; } cache; void clearCache(); friend class QImageDrag; friend class QTextDrag; }; inline int QMimeSource::serialNumber() const { return ser_no; } class QStringList; class QMimeSourceFactoryData; class QMimeSourceFactory { public: QMimeSourceFactory(); virtual ~QMimeSourceFactory(); static QMimeSourceFactory* defaultFactory(); static void setDefaultFactory( QMimeSourceFactory* ); static QMimeSourceFactory* takeDefaultFactory(); static void addFactory( QMimeSourceFactory *f ); static void removeFactory( QMimeSourceFactory *f ); virtual const QMimeSource* data(const QString& abs_name) const; virtual QString makeAbsolute(const QString& abs_or_rel_name, const QString& context) const; const QMimeSource* data(const QString& abs_or_rel_name, const QString& context) const; virtual void setText( const QString& abs_name, const QString& text ); virtual void setImage( const QString& abs_name, const QImage& im ); virtual void setPixmap( const QString& abs_name, const QPixmap& pm ); virtual void setData( const QString& abs_name, QMimeSource* data ); virtual void setFilePath( const QStringList& ); virtual QStringList filePath() const; void addFilePath( const QString& ); virtual void setExtensionType( const QString& ext, const char* mimetype ); private: QMimeSource *dataInternal(const QString& abs_name, const QMap &extensions ) const; QMimeSourceFactoryData* d; }; # 46 "/usr/qt/3/include/qevent.h" 2 class QEvent: public Qt { public: enum Type { # 61 "/usr/qt/3/include/qevent.h" None = 0, Timer = 1, MouseButtonPress = 2, MouseButtonRelease = 3, MouseButtonDblClick = 4, MouseMove = 5, KeyPress = 6, KeyRelease = 7, FocusIn = 8, FocusOut = 9, Enter = 10, Leave = 11, Paint = 12, Move = 13, Resize = 14, Create = 15, Destroy = 16, Show = 17, Hide = 18, Close = 19, Quit = 20, Reparent = 21, ShowMinimized = 22, ShowNormal = 23, WindowActivate = 24, WindowDeactivate = 25, ShowToParent = 26, HideToParent = 27, ShowMaximized = 28, ShowFullScreen = 29, Accel = 30, Wheel = 31, AccelAvailable = 32, CaptionChange = 33, IconChange = 34, ParentFontChange = 35, ApplicationFontChange = 36, ParentPaletteChange = 37, ApplicationPaletteChange = 38, PaletteChange = 39, Clipboard = 40, Speech = 42, SockAct = 50, AccelOverride = 51, DeferredDelete = 52, DragEnter = 60, DragMove = 61, DragLeave = 62, Drop = 63, DragResponse = 64, ChildInserted = 70, ChildRemoved = 71, LayoutHint = 72, ShowWindowRequest = 73, WindowBlocked = 74, WindowUnblocked = 75, ActivateControl = 80, DeactivateControl = 81, ContextMenu = 82, IMStart = 83, IMCompose = 84, IMEnd = 85, Accessibility = 86, TabletMove = 87, LocaleChange = 88, LanguageChange = 89, LayoutDirectionChange = 90, Style = 91, TabletPress = 92, TabletRelease = 93, OkRequest = 94, HelpRequest = 95, WindowStateChange = 96, IconDrag = 97, User = 1000, MaxUser = 65535 }; QEvent( Type type ) : t(type), posted(FALSE), spont(FALSE) {} virtual ~QEvent(); Type type() const { return t; } bool spontaneous() const { return spont; } protected: Type t; private: uint posted : 1; uint spont : 1; friend class QApplication; friend class QAccelManager; friend class QBaseApplication; friend class QETWidget; }; class QTimerEvent : public QEvent { public: QTimerEvent( int timerId ) : QEvent(Timer), id(timerId) {} int timerId() const { return id; } protected: int id; }; class QMouseEvent : public QEvent { public: QMouseEvent( Type type, const QPoint &pos, int button, int state ); QMouseEvent( Type type, const QPoint &pos, const QPoint&globalPos, int button, int state ) : QEvent(type), p(pos), g(globalPos), b((ushort)button),s((ushort)state),accpt(TRUE) {}; const QPoint &pos() const { return p; } const QPoint &globalPos() const { return g; } int x() const { return p.x(); } int y() const { return p.y(); } int globalX() const { return g.x(); } int globalY() const { return g.y(); } ButtonState button() const { return (ButtonState) b; } ButtonState state() const { return (ButtonState) s; } ButtonState stateAfter() const; bool isAccepted() const { return accpt; } void accept() { accpt = TRUE; } void ignore() { accpt = FALSE; } protected: QPoint p; QPoint g; ushort b; ushort s; uint accpt:1; }; class QWheelEvent : public QEvent { public: QWheelEvent( const QPoint &pos, int delta, int state, Orientation orient = Vertical ); QWheelEvent( const QPoint &pos, const QPoint& globalPos, int delta, int state, Orientation orient = Vertical ) : QEvent(Wheel), p(pos), g(globalPos), d(delta), s((ushort)state), accpt(TRUE), o(orient) {} int delta() const { return d; } const QPoint &pos() const { return p; } const QPoint &globalPos() const { return g; } int x() const { return p.x(); } int y() const { return p.y(); } int globalX() const { return g.x(); } int globalY() const { return g.y(); } ButtonState state() const { return ButtonState(s); } Orientation orientation() const { return o; } bool isAccepted() const { return accpt; } void accept() { accpt = TRUE; } void ignore() { accpt = FALSE; } protected: QPoint p; QPoint g; int d; ushort s; bool accpt; Orientation o; }; class QTabletEvent : public QEvent { public: enum TabletDevice { NoDevice = -1, Puck, Stylus, Eraser }; QTabletEvent( Type t, const QPoint &pos, const QPoint &globalPos, int device, int pressure, int xTilt, int yTilt, const QPair &uId ); QTabletEvent( const QPoint &pos, const QPoint &globalPos, int device, int pressure, int xTilt, int yTilt, const QPair &uId ) : QEvent( TabletMove ), mPos( pos ), mGPos( globalPos ), mDev( device ), mPress( pressure ), mXT( xTilt ), mYT( yTilt ), mType( uId.first ), mPhy( uId.second ), mbAcc(TRUE) {} int pressure() const { return mPress; } int xTilt() const { return mXT; } int yTilt() const { return mYT; } const QPoint &pos() const { return mPos; } const QPoint &globalPos() const { return mGPos; } int x() const { return mPos.x(); } int y() const { return mPos.y(); } int globalX() const { return mGPos.x(); } int globalY() const { return mGPos.y(); } TabletDevice device() const { return TabletDevice(mDev); } int isAccepted() const { return mbAcc; } void accept() { mbAcc = TRUE; } void ignore() { mbAcc = FALSE; } QPair uniqueId() { return QPair( mType, mPhy); } protected: QPoint mPos; QPoint mGPos; int mDev, mPress, mXT, mYT, mType, mPhy; bool mbAcc; }; class QKeyEvent : public QEvent { public: QKeyEvent( Type type, int key, int ascii, int state, const QString& text=QString::null, bool autorep=FALSE, ushort count=1 ) : QEvent(type), txt(text), k((ushort)key), s((ushort)state), a((uchar)ascii), accpt(TRUE), autor(autorep), c(count) { if ( key >= Key_Back && key <= Key_MediaLast ) accpt = FALSE; } int key() const { return k; } int ascii() const { return a; } ButtonState state() const { return ButtonState(s); } ButtonState stateAfter() const; bool isAccepted() const { return accpt; } QString text() const { return txt; } bool isAutoRepeat() const { return autor; } int count() const { return int(c); } void accept() { accpt = TRUE; } void ignore() { accpt = FALSE; } protected: QString txt; ushort k, s; uchar a; uint accpt:1; uint autor:1; ushort c; }; class QFocusEvent : public QEvent { public: QFocusEvent( Type type ) : QEvent(type) {} bool gotFocus() const { return type() == FocusIn; } bool lostFocus() const { return type() == FocusOut; } enum Reason { Mouse, Tab, Backtab, ActiveWindow, Popup, Shortcut, Other }; static Reason reason(); static void setReason( Reason reason ); static void resetReason(); private: static Reason m_reason; static Reason prev_reason; }; class QPaintEvent : public QEvent { public: QPaintEvent( const QRegion& paintRegion, bool erased = TRUE) : QEvent(Paint), rec(paintRegion.boundingRect()), reg(paintRegion), erase(erased){} QPaintEvent( const QRect &paintRect, bool erased = TRUE ) : QEvent(Paint), rec(paintRect), reg(paintRect), erase(erased){} QPaintEvent( const QRegion &paintRegion, const QRect &paintRect, bool erased = TRUE ) : QEvent(Paint), rec(paintRect), reg(paintRegion), erase(erased){} const QRect &rect() const { return rec; } const QRegion ®ion() const { return reg; } bool erased() const { return erase; } protected: friend class QApplication; friend class QBaseApplication; QRect rec; QRegion reg; bool erase; }; class QMoveEvent : public QEvent { public: QMoveEvent( const QPoint &pos, const QPoint &oldPos ) : QEvent(Move), p(pos), oldp(oldPos) {} const QPoint &pos() const { return p; } const QPoint &oldPos()const { return oldp;} protected: QPoint p, oldp; friend class QApplication; friend class QBaseApplication; }; class QResizeEvent : public QEvent { public: QResizeEvent( const QSize &size, const QSize &oldSize ) : QEvent(Resize), s(size), olds(oldSize) {} const QSize &size() const { return s; } const QSize &oldSize()const { return olds;} protected: QSize s, olds; friend class QApplication; friend class QBaseApplication; }; class QCloseEvent : public QEvent { public: QCloseEvent() : QEvent(Close), accpt(FALSE) {} bool isAccepted() const { return accpt; } void accept() { accpt = TRUE; } void ignore() { accpt = FALSE; } protected: bool accpt; }; class QIconDragEvent : public QEvent { public: QIconDragEvent() : QEvent(IconDrag), accpt(FALSE) {} bool isAccepted() const { return accpt; } void accept() { accpt = TRUE; } void ignore() { accpt = FALSE; } protected: bool accpt; }; class QShowEvent : public QEvent { public: QShowEvent() : QEvent(Show) {} }; class QHideEvent : public QEvent { public: QHideEvent() : QEvent(Hide) {} }; class QContextMenuEvent : public QEvent { public: enum Reason { Mouse, Keyboard, Other }; QContextMenuEvent( Reason reason, const QPoint &pos, const QPoint &globalPos, int state ) : QEvent( ContextMenu ), p( pos ), gp( globalPos ), accpt( TRUE ), consum( TRUE ), reas( reason ), s((ushort)state) {} QContextMenuEvent( Reason reason, const QPoint &pos, int state ); int x() const { return p.x(); } int y() const { return p.y(); } int globalX() const { return gp.x(); } int globalY() const { return gp.y(); } const QPoint& pos() const { return p; } const QPoint& globalPos() const { return gp; } ButtonState state() const { return (ButtonState) s; } bool isAccepted() const { return accpt; } bool isConsumed() const { return consum; } void consume() { accpt = FALSE; consum = TRUE; } void accept() { accpt = TRUE; consum = TRUE; } void ignore() { accpt = FALSE; consum = FALSE; } Reason reason() const { return Reason( reas ); } protected: QPoint p; QPoint gp; bool accpt; bool consum; uint reas:8; ushort s; }; class QIMEvent : public QEvent { public: QIMEvent( Type type, const QString &text, int cursorPosition ) : QEvent(type), txt(text), cpos(cursorPosition), a(TRUE) {} const QString &text() const { return txt; } int cursorPos() const { return cpos; } bool isAccepted() const { return a; } void accept() { a = TRUE; } void ignore() { a = FALSE; } int selectionLength() const; private: QString txt; int cpos; bool a; }; class QIMComposeEvent : public QIMEvent { public: QIMComposeEvent( Type type, const QString &text, int cursorPosition, int selLength ) : QIMEvent( type, text, cursorPosition ), selLen( selLength ) { } private: int selLen; friend class QIMEvent; }; inline int QIMEvent::selectionLength() const { if ( type() != IMCompose ) return 0; QIMComposeEvent *that = (QIMComposeEvent *) this; return that->selLen; } # 504 "/usr/qt/3/include/qevent.h" class QDropEvent : public QEvent, public QMimeSource { public: QDropEvent( const QPoint& pos, Type typ=Drop ) : QEvent(typ), p(pos), act(0), accpt(0), accptact(0), resv(0), d(0) {} const QPoint &pos() const { return p; } bool isAccepted() const { return accpt || accptact; } void accept(bool y=TRUE) { accpt = y; } void ignore() { accpt = FALSE; } bool isActionAccepted() const { return accptact; } void acceptAction(bool y=TRUE) { accptact = y; } enum Action { Copy, Link, Move, Private, UserAction=100 }; void setAction( Action a ) { act = (uint)a; } Action action() const { return Action(act); } QWidget* source() const; const char* format( int n = 0 ) const; QByteArray encodedData( const char* ) const; bool provides( const char* ) const; QByteArray data(const char* f) const { return encodedData(f); } void setPoint( const QPoint& np ) { p = np; } protected: QPoint p; uint act:8; uint accpt:1; uint accptact:1; uint resv:5; void * d; }; class QDragMoveEvent : public QDropEvent { public: QDragMoveEvent( const QPoint& pos, Type typ=DragMove ) : QDropEvent(pos,typ), rect( pos, QSize( 1, 1 ) ) {} QRect answerRect() const { return rect; } void accept( bool y=TRUE ) { QDropEvent::accept(y); } void accept( const QRect & r) { accpt = TRUE; rect = r; } void ignore( const QRect & r) { accpt =FALSE; rect = r; } void ignore() { QDropEvent::ignore(); } protected: QRect rect; }; class QDragEnterEvent : public QDragMoveEvent { public: QDragEnterEvent( const QPoint& pos ) : QDragMoveEvent(pos, DragEnter) { } }; class QDragResponseEvent : public QEvent { public: QDragResponseEvent( bool accepted ) : QEvent(DragResponse), a(accepted) {} bool dragAccepted() const { return a; } protected: bool a; }; class QDragLeaveEvent : public QEvent { public: QDragLeaveEvent() : QEvent(DragLeave) {} }; class QChildEvent : public QEvent { public: QChildEvent( Type type, QObject *child ) : QEvent(type), c(child) {} QObject *child() const { return c; } bool inserted() const { return t == ChildInserted; } bool removed() const { return t == ChildRemoved; } protected: QObject *c; }; class QCustomEvent : public QEvent { public: QCustomEvent( int type ); QCustomEvent( Type type, void *data ) : QEvent(type), d(data) {}; void *data() const { return d; } void setData( void* data ) { d = data; } private: void *d; }; # 46 "/usr/qt/3/include/qobject.h" 2 class QMetaObject; class QVariant; class QMetaProperty; class QPostEventList; class QSenderObjectList; class QObjectPrivate; class QObjectUserData; struct QUObject; class QObject: public Qt { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QObject( QObject *parent=0, const char *name=0 ); virtual ~QObject(); # 79 "/usr/qt/3/include/qobject.h" virtual bool event( QEvent * ); virtual bool eventFilter( QObject *, QEvent * ); bool isA( const char * ) const; bool inherits( const char * ) const; const char *name() const; const char *name( const char * defaultName ) const; virtual void setName( const char *name ); bool isWidgetType() const { return isWidget; } bool highPriority() const { return FALSE; } bool signalsBlocked() const { return blockSig; } void blockSignals( bool b ); int startTimer( int interval ); void killTimer( int id ); void killTimers(); QObject *child( const char *objName, const char *inheritsClass = 0, bool recursiveSearch = TRUE ); const QObjectList *children() const { return childObjects; } static const QObjectList *objectTrees(); QObjectList *queryList( const char *inheritsClass = 0, const char *objName = 0, bool regexpMatch = TRUE, bool recursiveSearch = TRUE ) const; virtual void insertChild( QObject * ); virtual void removeChild( QObject * ); void installEventFilter( const QObject * ); void removeEventFilter( const QObject * ); static bool connect( const QObject *sender, const char *signal, const QObject *receiver, const char *member ); bool connect( const QObject *sender, const char *signal, const char *member ) const; static bool disconnect( const QObject *sender, const char *signal, const QObject *receiver, const char *member ); bool disconnect( const char *signal=0, const QObject *receiver=0, const char *member=0 ); bool disconnect( const QObject *receiver, const char *member=0 ); static void connectInternal( const QObject *sender, int signal_index, const QObject *receiver, int membcode, int member_index ); static bool disconnectInternal( const QObject *sender, int signal_index, const QObject *receiver, int membcode, int member_index ); void dumpObjectTree(); void dumpObjectInfo(); virtual bool setProperty( const char *name, const QVariant& value ); virtual QVariant property( const char *name ) const; static QString tr( const char *sourceText, const char * = 0); static QString trUtf8( const char *sourceText, const char * = 0); static uint registerUserData(); void setUserData( uint id, QObjectUserData* data); QObjectUserData* userData( uint id ) const; protected: void destroyed(); void destroyed( QObject* obj ); public: QObject *parent() const { return parentObj; } public : void deleteLater(); private : void cleanupEventFilter( QObject* ); protected: bool activate_filters( QEvent * ); QConnectionList *receivers( const char* signal ) const; QConnectionList *receivers( int signal ) const; void activate_signal( int signal ); void activate_signal( int signal, int ); void activate_signal( int signal, double ); void activate_signal( int signal, QString ); void activate_signal_bool( int signal, bool ); void activate_signal( QConnectionList *clist, QUObject *o ); const QObject *sender(); virtual void timerEvent( QTimerEvent * ); virtual void childEvent( QChildEvent * ); virtual void customEvent( QCustomEvent * ); virtual void connectNotify( const char *signal ); virtual void disconnectNotify( const char *signal ); virtual bool checkConnectArgs( const char *signal, const QObject *receiver, const char *member ); static QCString normalizeSignalSlot( const char *signalSlot ); private: uint isSignal : 1; uint isWidget : 1; uint pendTimer : 1; uint blockSig : 1; uint wasDeleted : 1; uint isTree : 1; const char *objname; QObject *parentObj; QObjectList *childObjects; QSignalVec *connections; QSenderObjectList *senderObjects; QObjectList *eventFilters; QPostEventList *postedEvents; QObjectPrivate* d; static QMetaObject* staticQtMetaObject(); friend class QApplication; friend class QBaseApplication; friend class QWidget; friend class QSignal; private: QObject( const QObject & ); QObject &operator=( const QObject & ); }; class QObjectUserData { public: virtual ~QObjectUserData(); }; inline bool QObject::connect( const QObject *sender, const char *signal, const char *member ) const { return connect( sender, signal, this, member ); } inline bool QObject::disconnect( const char *signal, const QObject *receiver, const char *member ) { return disconnect( this, signal, receiver, member ); } inline bool QObject::disconnect( const QObject *receiver, const char *member ) { return disconnect( this, 0, receiver, member ); } inline QString QObject::tr( const char *sourceText, const char * ) { return QString::fromLatin1( sourceText ); } inline QString QObject::trUtf8( const char *sourceText, const char * ) { return QString::fromUtf8( sourceText ); } # 1 "/usr/qt/3/include/qwinexport.h" 1 # 259 "/usr/qt/3/include/qobject.h" 2 # 44 "/usr/qt/3/include/qwidget.h" 2 # 1 "/usr/qt/3/include/qpaintdevice.h" 1 # 51 "/usr/qt/3/include/qpaintdevice.h" class QIODevice; class QString; class QTextItem; struct QPaintDeviceX11Data; union QPDevCmdParam { int ival; int *ivec; QString *str; const QPoint *point; const QRect *rect; const QPointArray *ptarr; const QPixmap *pixmap; const QImage *image; const QColor *color; const QFont *font; const QPen *pen; const QBrush *brush; const QRegion *rgn; const QWMatrix *matrix; const QTextItem *textItem; QIODevice *device; }; class QPaintDevice { public: virtual ~QPaintDevice(); int devType() const; bool isExtDev() const; bool paintingActive() const; virtual void setResolution( int ); virtual int resolution() const; virtual Qt::HANDLE handle() const; virtual Qt::HANDLE x11RenderHandle() const; Display *x11Display() const; int x11Screen() const; int x11Depth() const; int x11Cells() const; Qt::HANDLE x11Colormap() const; bool x11DefaultColormap() const; void *x11Visual() const; bool x11DefaultVisual() const; static Display *x11AppDisplay(); static int x11AppScreen(); static int x11AppDpiX(); static int x11AppDpiY(); static void x11SetAppDpiX(int); static void x11SetAppDpiY(int); static int x11AppDepth(); static int x11AppCells(); static Qt::HANDLE x11AppRootWindow(); static Qt::HANDLE x11AppColormap(); static bool x11AppDefaultColormap(); static void *x11AppVisual(); static bool x11AppDefaultVisual(); static int x11AppDepth( int screen ); static int x11AppCells( int screen ); static Qt::HANDLE x11AppRootWindow( int screen ); static Qt::HANDLE x11AppColormap( int screen ); static void *x11AppVisual( int screen ); static bool x11AppDefaultColormap( int screen ); static bool x11AppDefaultVisual( int screen ); static int x11AppDpiX( int ); static int x11AppDpiY( int ); static void x11SetAppDpiX( int, int ); static void x11SetAppDpiY( int, int ); # 153 "/usr/qt/3/include/qpaintdevice.h" enum PDevCmd { PdcNOP = 0, PdcDrawPoint = 1, PdcDrawFirst = PdcDrawPoint, PdcMoveTo = 2, PdcLineTo = 3, PdcDrawLine = 4, PdcDrawRect = 5, PdcDrawRoundRect = 6, PdcDrawEllipse = 7, PdcDrawArc = 8, PdcDrawPie = 9, PdcDrawChord = 10, PdcDrawLineSegments = 11, PdcDrawPolyline = 12, PdcDrawPolygon = 13, PdcDrawCubicBezier = 14, PdcDrawText = 15, PdcDrawTextFormatted = 16, PdcDrawPixmap = 17, PdcDrawImage = 18, PdcDrawText2 = 19, PdcDrawText2Formatted = 20, PdcDrawTextItem = 21, PdcDrawLast = PdcDrawTextItem, PdcBegin = 30, PdcEnd = 31, PdcSave = 32, PdcRestore = 33, PdcSetdev = 34, PdcSetBkColor = 40, PdcSetBkMode = 41, PdcSetROP = 42, PdcSetBrushOrigin = 43, PdcSetFont = 45, PdcSetPen = 46, PdcSetBrush = 47, PdcSetTabStops = 48, PdcSetTabArray = 49, PdcSetUnit = 50, PdcSetVXform = 51, PdcSetWindow = 52, PdcSetViewport = 53, PdcSetWXform = 54, PdcSetWMatrix = 55, PdcSaveWMatrix = 56, PdcRestoreWMatrix = 57, PdcSetClip = 60, PdcSetClipRegion = 61, PdcReservedStart = 0, PdcReservedStop = 199 }; protected: QPaintDevice( uint devflags ); Qt::HANDLE hd; Qt::HANDLE rendhd; void copyX11Data( const QPaintDevice * ); void cloneX11Data( const QPaintDevice * ); virtual void setX11Data( const QPaintDeviceX11Data* ); QPaintDeviceX11Data* getX11Data( bool def=FALSE ) const; # 232 "/usr/qt/3/include/qpaintdevice.h" virtual bool cmd( int, QPainter *, QPDevCmdParam * ); virtual int metric( int ) const; virtual int fontMet( QFont *, int, const char * = 0, int = 0 ) const; virtual int fontInf( QFont *, int ) const; ushort devFlags; ushort painters; friend class QPainter; friend class QPaintDeviceMetrics; friend void bitBlt( QPaintDevice *, int, int, const QPaintDevice *, int, int, int, int, Qt::RasterOp, bool ); friend void qt_init_internal( int *, char **, Display *, Qt::HANDLE, Qt::HANDLE ); friend void qt_cleanup(); private: static Display *x_appdisplay; static int x_appscreen; static int x_appdepth; static int x_appcells; static Qt::HANDLE x_approotwindow; static Qt::HANDLE x_appcolormap; static bool x_appdefcolormap; static void *x_appvisual; static bool x_appdefvisual; static int *x_appdepth_arr; static int *x_appcells_arr; static Qt::HANDLE *x_approotwindow_arr; static Qt::HANDLE *x_appcolormap_arr; static bool *x_appdefcolormap_arr; static void **x_appvisual_arr; static bool *x_appdefvisual_arr; QPaintDeviceX11Data* x11Data; private: QPaintDevice( const QPaintDevice & ); QPaintDevice &operator=( const QPaintDevice & ); }; void bitBlt( QPaintDevice *dst, int dx, int dy, const QPaintDevice *src, int sx=0, int sy=0, int sw=-1, int sh=-1, Qt::RasterOp = Qt::CopyROP, bool ignoreMask=FALSE ); void bitBlt( QPaintDevice *dst, int dx, int dy, const QImage *src, int sx=0, int sy=0, int sw=-1, int sh=-1, int conversion_flags=0 ); struct QPaintDeviceX11Data : public QShared { Display* x_display; int x_screen; int x_depth; int x_cells; Qt::HANDLE x_colormap; bool x_defcolormap; void* x_visual; bool x_defvisual; }; inline int QPaintDevice::devType() const { return devFlags & QInternal::DeviceTypeMask; } inline bool QPaintDevice::isExtDev() const { return (devFlags & QInternal::ExternalDevice) != 0; } inline bool QPaintDevice::paintingActive() const { return painters != 0; } inline Display *QPaintDevice::x11Display() const { return x11Data ? x11Data->x_display : x_appdisplay; } inline int QPaintDevice::x11Screen() const { return x11Data ? x11Data->x_screen : x_appscreen; } inline int QPaintDevice::x11Depth() const { return x11Data ? x11Data->x_depth : x_appdepth; } inline int QPaintDevice::x11Cells() const { return x11Data ? x11Data->x_cells : x_appcells; } inline Qt::HANDLE QPaintDevice::x11Colormap() const { return x11Data ? x11Data->x_colormap : x_appcolormap; } inline bool QPaintDevice::x11DefaultColormap() const { return x11Data ? x11Data->x_defcolormap : x_appdefcolormap; } inline void *QPaintDevice::x11Visual() const { return x11Data ? x11Data->x_visual : x_appvisual; } inline bool QPaintDevice::x11DefaultVisual() const { return x11Data ? x11Data->x_defvisual : x_appdefvisual; } inline Display *QPaintDevice::x11AppDisplay() { return x_appdisplay; } inline int QPaintDevice::x11AppScreen() { return x_appscreen; } inline int QPaintDevice::x11AppDepth( int screen ) { return x_appdepth_arr[ screen == -1 ? x_appscreen : screen ]; } inline int QPaintDevice::x11AppCells( int screen ) { return x_appcells_arr[ screen == -1 ? x_appscreen : screen ]; } inline Qt::HANDLE QPaintDevice::x11AppRootWindow( int screen ) { return x_approotwindow_arr[ screen == -1 ? x_appscreen : screen ]; } inline Qt::HANDLE QPaintDevice::x11AppColormap( int screen ) { return x_appcolormap_arr[ screen == -1 ? x_appscreen : screen ]; } inline bool QPaintDevice::x11AppDefaultColormap( int screen ) { return x_appdefcolormap_arr[ screen == -1 ? x_appscreen : screen ]; } inline void *QPaintDevice::x11AppVisual( int screen ) { return x_appvisual_arr[ screen == -1 ? x_appscreen : screen ]; } inline bool QPaintDevice::x11AppDefaultVisual( int screen ) { return x_appdefvisual_arr[ screen == -1 ? x_appscreen : screen ]; } inline int QPaintDevice::x11AppDepth() { return x_appdepth; } inline int QPaintDevice::x11AppCells() { return x_appcells; } inline Qt::HANDLE QPaintDevice::x11AppRootWindow() { return x_approotwindow; } inline Qt::HANDLE QPaintDevice::x11AppColormap() { return x_appcolormap; } inline bool QPaintDevice::x11AppDefaultColormap() { return x_appdefcolormap; } inline void *QPaintDevice::x11AppVisual() { return x_appvisual; } inline bool QPaintDevice::x11AppDefaultVisual() { return x_appdefvisual; } inline void bitBlt( QPaintDevice *dst, const QPoint &dp, const QPaintDevice *src, const QRect &sr =QRect(0,0,-1,-1), Qt::RasterOp rop=Qt::CopyROP, bool ignoreMask=FALSE ) { bitBlt( dst, dp.x(), dp.y(), src, sr.x(), sr.y(), sr.width(), sr.height(), rop, ignoreMask ); } # 45 "/usr/qt/3/include/qwidget.h" 2 # 1 "/usr/qt/3/include/qpalette.h" 1 # 43 "/usr/qt/3/include/qpalette.h" # 1 "/usr/qt/3/include/qcolor.h" 1 # 43 "/usr/qt/3/include/qcolor.h" # 1 "/usr/qt/3/include/qstringlist.h" 1 # 44 "/usr/qt/3/include/qstringlist.h" # 1 "/usr/qt/3/include/qstrlist.h" 1 # 43 "/usr/qt/3/include/qstrlist.h" # 1 "/usr/qt/3/include/qptrlist.h" 1 # 40 "/usr/qt/3/include/qptrlist.h" # 1 "/usr/qt/3/include/qglist.h" 1 # 42 "/usr/qt/3/include/qglist.h" # 1 "/usr/qt/3/include/qptrcollection.h" 1 # 40 "/usr/qt/3/include/qptrcollection.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 41 "/usr/qt/3/include/qptrcollection.h" 2 class QGVector; class QGList; class QGDict; class QPtrCollection { public: bool autoDelete() const { return del_item; } void setAutoDelete( bool enable ) { del_item = enable; } virtual uint count() const = 0; virtual void clear() = 0; typedef void *Item; protected: QPtrCollection() { del_item = FALSE; } QPtrCollection(const QPtrCollection &) { del_item = FALSE; } virtual ~QPtrCollection() {} bool del_item; virtual Item newItem( Item ); virtual void deleteItem( Item ) = 0; }; # 43 "/usr/qt/3/include/qglist.h" 2 class QLNode { friend class QGList; friend class QGListIterator; friend class QGListStdIterator; public: QPtrCollection::Item getData() { return data; } private: QPtrCollection::Item data; QLNode *prev; QLNode *next; QLNode( QPtrCollection::Item d ) { data = d; } }; class QGListIteratorList; class QGList : public QPtrCollection { friend class QGListIterator; friend class QGListIteratorList; friend class QGVector; public: uint count() const; QDataStream &read( QDataStream & ); QDataStream &write( QDataStream & ) const; protected: QGList(); QGList( const QGList & ); virtual ~QGList(); QGList &operator=( const QGList & ); bool operator==( const QGList& ) const; void inSort( QPtrCollection::Item ); void append( QPtrCollection::Item ); bool insertAt( uint index, QPtrCollection::Item ); void relinkNode( QLNode * ); bool removeNode( QLNode * ); bool remove( QPtrCollection::Item = 0 ); bool removeRef( QPtrCollection::Item = 0 ); bool removeFirst(); bool removeLast(); bool removeAt( uint ); bool replaceAt( uint, QPtrCollection::Item ); QPtrCollection::Item takeNode( QLNode * ); QPtrCollection::Item take(); QPtrCollection::Item takeAt( uint index ); QPtrCollection::Item takeFirst(); QPtrCollection::Item takeLast(); void sort(); void clear(); int findRef( QPtrCollection::Item, bool = TRUE ); int find( QPtrCollection::Item, bool = TRUE ); uint containsRef( QPtrCollection::Item ) const; uint contains( QPtrCollection::Item ) const; QPtrCollection::Item at( uint index ); int at() const; QLNode *currentNode() const; QPtrCollection::Item get() const; QPtrCollection::Item cfirst() const; QPtrCollection::Item clast() const; QPtrCollection::Item first(); QPtrCollection::Item last(); QPtrCollection::Item next(); QPtrCollection::Item prev(); void toVector( QGVector * ) const; virtual int compareItems( QPtrCollection::Item, QPtrCollection::Item ); virtual QDataStream &read( QDataStream &, QPtrCollection::Item & ); virtual QDataStream &write( QDataStream &, QPtrCollection::Item ) const; QLNode* begin() const { return firstNode; } QLNode* end() const { return 0; } QLNode* erase( QLNode* it ); private: void prepend( QPtrCollection::Item ); void heapSortPushDown( QPtrCollection::Item* heap, int first, int last ); QLNode *firstNode; QLNode *lastNode; QLNode *curNode; int curIndex; uint numNodes; QGListIteratorList *iterators; QLNode *locate( uint ); QLNode *unlink(); }; inline uint QGList::count() const { return numNodes; } inline bool QGList::removeFirst() { first(); return remove(); } inline bool QGList::removeLast() { last(); return remove(); } inline int QGList::at() const { return curIndex; } inline QPtrCollection::Item QGList::at( uint index ) { QLNode *n = locate( index ); return n ? n->data : 0; } inline QLNode *QGList::currentNode() const { return curNode; } inline QPtrCollection::Item QGList::get() const { return curNode ? curNode->data : 0; } inline QPtrCollection::Item QGList::cfirst() const { return firstNode ? firstNode->data : 0; } inline QPtrCollection::Item QGList::clast() const { return lastNode ? lastNode->data : 0; } QDataStream &operator>>( QDataStream &, QGList & ); QDataStream &operator<<( QDataStream &, const QGList & ); class QGListIterator { friend class QGList; friend class QGListIteratorList; protected: QGListIterator( const QGList & ); QGListIterator( const QGListIterator & ); QGListIterator &operator=( const QGListIterator & ); ~QGListIterator(); bool atFirst() const; bool atLast() const; QPtrCollection::Item toFirst(); QPtrCollection::Item toLast(); QPtrCollection::Item get() const; QPtrCollection::Item operator()(); QPtrCollection::Item operator++(); QPtrCollection::Item operator+=(uint); QPtrCollection::Item operator--(); QPtrCollection::Item operator-=(uint); protected: QGList *list; private: QLNode *curNode; }; inline bool QGListIterator::atFirst() const { return curNode == list->firstNode; } inline bool QGListIterator::atLast() const { return curNode == list->lastNode; } inline QPtrCollection::Item QGListIterator::get() const { return curNode ? curNode->data : 0; } class QGListStdIterator { public: inline QGListStdIterator( QLNode* n ) : node( n ){} inline operator QLNode* () { return node; } protected: inline QLNode *next() { return node->next; } QLNode *node; }; # 41 "/usr/qt/3/include/qptrlist.h" 2 template class QPtrListStdIterator : public QGListStdIterator { public: inline QPtrListStdIterator( QLNode* n ): QGListStdIterator(n) {} type *operator*() { return node ? (type *)node->getData() : 0; } inline QPtrListStdIterator operator++() { node = next(); return *this; } inline QPtrListStdIterator operator++(int) { QLNode* n = node; node = next(); return QPtrListStdIterator( n ); } inline bool operator==( const QPtrListStdIterator& it ) const { return node == it.node; } inline bool operator!=( const QPtrListStdIterator& it ) const { return node != it.node; } }; template class QPtrList : public QGList { public: QPtrList() {} QPtrList( const QPtrList &l ) : QGList(l) {} ~QPtrList() { clear(); } QPtrList &operator=(const QPtrList &l) { return (QPtrList&)QGList::operator=(l); } bool operator==( const QPtrList &list ) const { return QGList::operator==( list ); } bool operator!=( const QPtrList &list ) const { return !QGList::operator==( list ); } uint count() const { return QGList::count(); } bool isEmpty() const { return QGList::count() == 0; } bool insert( uint i, const type *d){ return QGList::insertAt(i,(QPtrCollection::Item)d); } void inSort( const type *d ) { QGList::inSort((QPtrCollection::Item)d); } void prepend( const type *d ) { QGList::insertAt(0,(QPtrCollection::Item)d); } void append( const type *d ) { QGList::append((QPtrCollection::Item)d); } bool remove( uint i ) { return QGList::removeAt(i); } bool remove() { return QGList::remove((QPtrCollection::Item)0); } bool remove( const type *d ) { return QGList::remove((QPtrCollection::Item)d); } bool removeRef( const type *d ) { return QGList::removeRef((QPtrCollection::Item)d); } void removeNode( QLNode *n ) { QGList::removeNode(n); } bool removeFirst() { return QGList::removeFirst(); } bool removeLast() { return QGList::removeLast(); } type *take( uint i ) { return (type *)QGList::takeAt(i); } type *take() { return (type *)QGList::take(); } type *takeNode( QLNode *n ) { return (type *)QGList::takeNode(n); } void clear() { QGList::clear(); } void sort() { QGList::sort(); } int find( const type *d ) { return QGList::find((QPtrCollection::Item)d); } int findNext( const type *d ) { return QGList::find((QPtrCollection::Item)d,FALSE); } int findRef( const type *d ) { return QGList::findRef((QPtrCollection::Item)d); } int findNextRef( const type *d ){ return QGList::findRef((QPtrCollection::Item)d,FALSE);} uint contains( const type *d ) const { return QGList::contains((QPtrCollection::Item)d); } uint containsRef( const type *d ) const { return QGList::containsRef((QPtrCollection::Item)d); } bool replace( uint i, const type *d ) { return QGList::replaceAt( i, (QPtrCollection::Item)d ); } type *at( uint i ) { return (type *)QGList::at(i); } int at() const { return QGList::at(); } type *current() const { return (type *)QGList::get(); } QLNode *currentNode() const { return QGList::currentNode(); } type *getFirst() const { return (type *)QGList::cfirst(); } type *getLast() const { return (type *)QGList::clast(); } type *first() { return (type *)QGList::first(); } type *last() { return (type *)QGList::last(); } type *next() { return (type *)QGList::next(); } type *prev() { return (type *)QGList::prev(); } void toVector( QGVector *vec )const{ QGList::toVector(vec); } typedef QPtrListStdIterator Iterator; typedef QPtrListStdIterator ConstIterator; inline Iterator begin() { return QGList::begin(); } inline ConstIterator begin() const { return QGList::begin(); } inline ConstIterator constBegin() const { return QGList::begin(); } inline Iterator end() { return QGList::end(); } inline ConstIterator end() const { return QGList::end(); } inline ConstIterator constEnd() const { return QGList::end(); } inline Iterator erase( Iterator it ) { return QGList::erase( it ); } typedef Iterator iterator; typedef ConstIterator const_iterator; # 138 "/usr/qt/3/include/qptrlist.h" private: void deleteItem( Item d ); }; template<> inline void QPtrList::deleteItem( QPtrCollection::Item ) { } template inline void QPtrList::deleteItem( QPtrCollection::Item d ) { if ( del_item ) delete (type *)d; } template class QPtrListIterator : public QGListIterator { public: QPtrListIterator(const QPtrList &l) :QGListIterator((QGList &)l) {} ~QPtrListIterator() {} uint count() const { return list->count(); } bool isEmpty() const { return list->count() == 0; } bool atFirst() const { return QGListIterator::atFirst(); } bool atLast() const { return QGListIterator::atLast(); } type *toFirst() { return (type *)QGListIterator::toFirst(); } type *toLast() { return (type *)QGListIterator::toLast(); } operator type *() const { return (type *)QGListIterator::get(); } type *operator*() { return (type *)QGListIterator::get(); } type *current() const { return (type *)QGListIterator::get(); } type *operator()() { return (type *)QGListIterator::operator()();} type *operator++() { return (type *)QGListIterator::operator++(); } type *operator+=(uint j) { return (type *)QGListIterator::operator+=(j);} type *operator--() { return (type *)QGListIterator::operator--(); } type *operator-=(uint j) { return (type *)QGListIterator::operator-=(j);} QPtrListIterator& operator=(const QPtrListIterator&it) { QGListIterator::operator=(it); return *this; } }; # 1 "/usr/qt/3/include/qwinexport.h" 1 # 191 "/usr/qt/3/include/qptrlist.h" 2 # 44 "/usr/qt/3/include/qstrlist.h" 2 # 52 "/usr/qt/3/include/qstrlist.h" typedef QPtrListIterator QStrListIterator; class QStrList : public QPtrList { public: QStrList( bool deepCopies=TRUE ) { dc = deepCopies; del_item = deepCopies; } QStrList( const QStrList & ); ~QStrList() { clear(); } QStrList& operator=( const QStrList & ); private: QPtrCollection::Item newItem( QPtrCollection::Item d ) { return dc ? qstrdup( (const char*)d ) : d; } void deleteItem( QPtrCollection::Item d ) { if ( del_item ) delete[] (char*)d; } int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 ) { return qstrcmp((const char*)s1, (const char*)s2); } QDataStream &read( QDataStream &s, QPtrCollection::Item &d ) { s >> (char *&)d; return s; } QDataStream &write( QDataStream &s, QPtrCollection::Item d ) const { return s << (const char *)d; } bool dc; }; class QStrIList : public QStrList { public: QStrIList( bool deepCopies=TRUE ) : QStrList( deepCopies ) {} ~QStrIList() { clear(); } private: int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 ) { return qstricmp((const char*)s1, (const char*)s2); } }; inline QStrList & QStrList::operator=( const QStrList &strList ) { clear(); dc = strList.dc; del_item = dc; QPtrList::operator=( strList ); return *this; } inline QStrList::QStrList( const QStrList &strList ) : QPtrList( strList ) { dc = FALSE; operator=( strList ); } # 45 "/usr/qt/3/include/qstringlist.h" 2 class QRegExp; template class QDeepCopy; class QStringList : public QValueList { public: QStringList() { } QStringList( const QStringList& l ) : QValueList(l) { } QStringList( const QValueList& l ) : QValueList(l) { } QStringList( const QString& i ) { append(i); } QStringList( const char* i ) { append(i); } static QStringList fromStrList(const QStrList&); void sort(); static QStringList split( const QString &sep, const QString &str, bool allowEmptyEntries = FALSE ); static QStringList split( const QChar &sep, const QString &str, bool allowEmptyEntries = FALSE ); static QStringList split( const QRegExp &sep, const QString &str, bool allowEmptyEntries = FALSE ); QString join( const QString &sep ) const; QStringList grep( const QString &str, bool cs = TRUE ) const; QStringList grep( const QRegExp &expr ) const; QStringList& gres( const QString &before, const QString &after, bool cs = TRUE ); QStringList& gres( const QRegExp &expr, const QString &after ); protected: void detach() { QValueList::detach(); } friend class QDeepCopy< QStringList >; }; class QDataStream; extern QDataStream &operator>>( QDataStream &, QStringList& ); extern QDataStream &operator<<( QDataStream &, const QStringList& ); # 44 "/usr/qt/3/include/qcolor.h" 2 const QRgb RGB_MASK = 0x00ffffff; inline int qRed( QRgb rgb ) { return (int)((rgb >> 16) & 0xff); } inline int qGreen( QRgb rgb ) { return (int)((rgb >> 8) & 0xff); } inline int qBlue( QRgb rgb ) { return (int)(rgb & 0xff); } inline int qAlpha( QRgb rgb ) { return (int)((rgb >> 24) & 0xff); } inline QRgb qRgb( int r, int g, int b ) { return (0xff << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); } inline QRgb qRgba( int r, int g, int b, int a ) { return ((a & 0xff) << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); } inline int qGray( int r, int g, int b ) { return (r*11+g*16+b*5)/32; } inline int qGray( QRgb rgb ) { return qGray( qRed(rgb), qGreen(rgb), qBlue(rgb) ); } class QColor { public: enum Spec { Rgb, Hsv }; QColor(); QColor( int r, int g, int b ); QColor( int x, int y, int z, Spec ); QColor( QRgb rgb, uint pixel=0xffffffff); QColor( const QString& name ); QColor( const char *name ); QColor( const QColor & ); QColor &operator=( const QColor & ); bool isValid() const; bool isDirty() const; QString name() const; void setNamedColor( const QString& name ); QRgb rgb() const; void setRgb( int r, int g, int b ); void setRgb( QRgb rgb ); void getRgb( int *r, int *g, int *b ) const { rgb( r, g, b ); } void rgb( int *r, int *g, int *b ) const; int red() const; int green() const; int blue() const; void setHsv( int h, int s, int v ); void getHsv( int *h, int *s, int *v ) const { hsv( h, s, v ); } void hsv( int *h, int *s, int *v ) const; void getHsv( int &h, int &s, int &v ) const { hsv( &h, &s, &v ); } QColor light( int f = 150 ) const; QColor dark( int f = 200 ) const; bool operator==( const QColor &c ) const; bool operator!=( const QColor &c ) const; uint alloc(); uint pixel() const; uint alloc( int screen ); uint pixel( int screen ) const; static int maxColors(); static int numBitPlanes(); static int enterAllocContext(); static void leaveAllocContext(); static int currentAllocContext(); static void destroyAllocContext( int ); # 138 "/usr/qt/3/include/qcolor.h" static void initialize(); static void cleanup(); static QStringList colorNames(); enum { Dirt = 0x44495254, Invalid = 0x49000000 }; private: void setSystemNamedColor( const QString& name ); void setPixel( uint pixel ); static void initGlobalColors(); static uint argbToPix32(QRgb); static QColor* globalColors(); static bool color_init; static bool globals_init; static enum ColorModel { d8, d32 } colormodel; union { QRgb argb; struct D8 { QRgb argb; uchar pix; uchar invalid; uchar dirty; uchar direct; } d8; struct D32 { QRgb argb; uint pix; bool invalid() const { return argb == QColor::Invalid && pix == QColor::Dirt; } bool probablyDirty() const { return pix == QColor::Dirt; } } d32; } d; }; inline QColor::QColor() { d.d32.argb = Invalid; d.d32.pix = Dirt; } inline QColor::QColor( int r, int g, int b ) { d.d32.argb = Invalid; d.d32.pix = Dirt; setRgb( r, g, b ); } inline QRgb QColor::rgb() const { return d.argb; } inline int QColor::red() const { return qRed(d.argb); } inline int QColor::green() const { return qGreen(d.argb); } inline int QColor::blue() const { return qBlue(d.argb); } inline bool QColor::isValid() const { if ( colormodel == d8 ) return !d.d8.invalid; else return !d.d32.invalid(); } inline bool QColor::operator==( const QColor &c ) const { return d.argb == c.d.argb && isValid() == c.isValid(); } inline bool QColor::operator!=( const QColor &c ) const { return !operator==(c); } QDataStream &operator<<( QDataStream &, const QColor & ); QDataStream &operator>>( QDataStream &, QColor & ); # 44 "/usr/qt/3/include/qpalette.h" 2 # 1 "/usr/qt/3/include/qbrush.h" 1 # 47 "/usr/qt/3/include/qbrush.h" class QBrush: public Qt { friend class QPainter; public: QBrush(); QBrush( BrushStyle ); QBrush( const QColor &, BrushStyle=SolidPattern ); QBrush( const QColor &, const QPixmap & ); QBrush( const QBrush & ); ~QBrush(); QBrush &operator=( const QBrush & ); BrushStyle style() const { return data->style; } void setStyle( BrushStyle ); const QColor &color()const { return data->color; } void setColor( const QColor & ); QPixmap *pixmap() const { return data->pixmap; } void setPixmap( const QPixmap & ); bool operator==( const QBrush &p ) const; bool operator!=( const QBrush &b ) const { return !(operator==(b)); } private: QBrush copy() const; void detach(); void init( const QColor &, BrushStyle ); struct QBrushData : public QShared { BrushStyle style; QColor color; QPixmap *pixmap; } *data; }; QDataStream &operator<<( QDataStream &, const QBrush & ); QDataStream &operator>>( QDataStream &, QBrush & ); # 46 "/usr/qt/3/include/qpalette.h" 2 class QColorGroupPrivate; class QColorGroup { public: QColorGroup(); QColorGroup( const QColor &foreground, const QColor &button, const QColor &light, const QColor &dark, const QColor &mid, const QColor &text, const QColor &base ); QColorGroup( const QBrush &foreground, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &background); QColorGroup( const QColorGroup & ); ~QColorGroup(); QColorGroup& operator =(const QColorGroup&); enum ColorRole { Foreground, Button, Light, Midlight, Dark, Mid, Text, BrightText, ButtonText, Base, Background, Shadow, Highlight, HighlightedText, Link, LinkVisited, NColorRoles }; const QColor &color( ColorRole ) const; const QBrush &brush( ColorRole ) const; void setColor( ColorRole, const QColor & ); void setBrush( ColorRole, const QBrush & ); const QColor &foreground() const { return br[Foreground].color(); } const QColor &button() const { return br[Button].color(); } const QColor &light() const { return br[Light].color(); } const QColor &dark() const { return br[Dark].color(); } const QColor &mid() const { return br[Mid].color(); } const QColor &text() const { return br[Text].color(); } const QColor &base() const { return br[Base].color(); } const QColor &background() const { return br[Background].color(); } const QColor &midlight() const { return br[Midlight].color(); } const QColor &brightText() const { return br[BrightText].color(); } const QColor &buttonText() const { return br[ButtonText].color(); } const QColor &shadow() const { return br[Shadow].color(); } const QColor &highlight() const { return br[Highlight].color(); } const QColor &highlightedText() const{return br[HighlightedText].color(); } const QColor &link() const { return br[Link].color(); } const QColor &linkVisited() const { return br[LinkVisited].color(); } bool operator==( const QColorGroup &g ) const; bool operator!=( const QColorGroup &g ) const { return !(operator==(g)); } private: QBrush *br; QColorGroupPrivate * d; friend class QPalette; }; class QPalette { public: QPalette(); QPalette( const QColor &button ); QPalette( const QColor &button, const QColor &background ); QPalette( const QColorGroup &active, const QColorGroup &disabled, const QColorGroup &inactive ); QPalette( const QPalette & ); ~QPalette(); QPalette &operator=( const QPalette & ); enum ColorGroup { Disabled, Active, Inactive, NColorGroups, Normal=Active }; const QColor &color( ColorGroup, QColorGroup::ColorRole ) const; const QBrush &brush( ColorGroup, QColorGroup::ColorRole ) const; void setColor( ColorGroup, QColorGroup::ColorRole, const QColor & ); void setBrush( ColorGroup, QColorGroup::ColorRole, const QBrush & ); void setColor( QColorGroup::ColorRole, const QColor & ); void setBrush( QColorGroup::ColorRole, const QBrush & ); QPalette copy() const; const QColorGroup &active() const { return data->active; } const QColorGroup &disabled() const { return data->disabled; } const QColorGroup &inactive() const { return data->inactive; } void setActive( const QColorGroup & ); void setDisabled( const QColorGroup & ); void setInactive( const QColorGroup & ); bool operator==( const QPalette &p ) const; bool operator!=( const QPalette &p ) const { return !(operator==(p)); } bool isCopyOf( const QPalette & ); int serialNumber() const { return data->ser_no; } static QColorGroup::ColorRole foregroundRoleFromMode( Qt::BackgroundMode mode ); static QColorGroup::ColorRole backgroundRoleFromMode( Qt::BackgroundMode mode); private: void detach(); const QBrush &directBrush( ColorGroup, QColorGroup::ColorRole ) const; void directSetBrush( ColorGroup, QColorGroup::ColorRole, const QBrush& ); struct QPalData : public QShared { QColorGroup disabled; QColorGroup active; int ser_no; QColorGroup inactive; } *data; }; QDataStream &operator<<( QDataStream &, const QColorGroup & ); QDataStream &operator>>( QDataStream &, QColorGroup & ); QDataStream &operator<<( QDataStream &, const QPalette & ); QDataStream &operator>>( QDataStream &, QPalette & ); # 46 "/usr/qt/3/include/qwidget.h" 2 # 1 "/usr/qt/3/include/qfont.h" 1 # 47 "/usr/qt/3/include/qfont.h" class QFontPrivate; class QStringList; class QTextFormatCollection; class QFont { public: enum StyleHint { Helvetica, SansSerif = Helvetica, Times, Serif = Times, Courier, TypeWriter = Courier, OldEnglish, Decorative = OldEnglish, System, AnyStyle }; enum StyleStrategy { PreferDefault = 0x0001, PreferBitmap = 0x0002, PreferDevice = 0x0004, PreferOutline = 0x0008, ForceOutline = 0x0010, PreferMatch = 0x0020, PreferQuality = 0x0040, PreferAntialias = 0x0080, NoAntialias = 0x0100, OpenGLCompatible = 0x0200 }; enum Weight { Light = 25, Normal = 50, DemiBold = 63, Bold = 75, Black = 87 }; enum Stretch { UltraCondensed = 50, ExtraCondensed = 62, Condensed = 75, SemiCondensed = 87, Unstretched = 100, SemiExpanded = 112, Expanded = 125, ExtraExpanded = 150, UltraExpanded = 200 }; QFont(); QFont( const QString &family, int pointSize = -1, int weight = -1, bool italic = FALSE ); QFont( const QFont & ); ~QFont(); QString family() const; void setFamily( const QString &); int pointSize() const; float pointSizeFloat() const; void setPointSize( int ); void setPointSizeFloat( float ); int pixelSize() const; void setPixelSize( int ); void setPixelSizeFloat( float ); int weight() const; void setWeight( int ); bool bold() const; void setBold( bool ); bool italic() const; void setItalic( bool ); bool underline() const; void setUnderline( bool ); bool overline() const; void setOverline( bool ); bool strikeOut() const; void setStrikeOut( bool ); bool fixedPitch() const; void setFixedPitch( bool ); StyleHint styleHint() const; StyleStrategy styleStrategy() const; void setStyleHint( StyleHint, StyleStrategy = PreferDefault ); void setStyleStrategy( StyleStrategy s ); int stretch() const; void setStretch( int ); bool rawMode() const; void setRawMode( bool ); bool exactMatch() const; QFont &operator=( const QFont & ); bool operator==( const QFont & ) const; bool operator!=( const QFont & ) const; bool isCopyOf( const QFont & ) const; Qt::HANDLE handle() const; void setRawName( const QString & ); QString rawName() const; QString key() const; QString toString() const; bool fromString(const QString &); static QString substitute(const QString &); static QStringList substitutes(const QString &); static QStringList substitutions(); static void insertSubstitution(const QString&, const QString &); static void insertSubstitutions(const QString&, const QStringList &); static void removeSubstitution(const QString &); static void initialize(); static void cleanup(); static void cacheStatistics(); # 203 "/usr/qt/3/include/qfont.h" enum Script { Latin, Greek, Cyrillic, Armenian, Georgian, Runic, Ogham, SpacingModifiers, CombiningMarks, Hebrew, Arabic, Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Khmer, Han, Hiragana, Katakana, Hangul, Bopomofo, Yi, Ethiopic, Cherokee, CanadianAboriginal, Mongolian, CurrencySymbols, LetterlikeSymbols, NumberForms, MathematicalOperators, TechnicalSymbols, GeometricSymbols, MiscellaneousSymbols, EnclosedAndSquare, Braille, Unicode, Tagalog, Hanunoo, Buhid, Tagbanwa, KatakanaHalfWidth, Limbu, TaiLe, NScripts, UnknownScript = NScripts, NoScript, Han_Japanese, Han_SimplifiedChinese, Han_TraditionalChinese, Han_Korean, LastPrivateScript }; QString defaultFamily() const; QString lastResortFamily() const; QString lastResortFont() const; # 308 "/usr/qt/3/include/qfont.h" QFont resolve( const QFont & ) const; protected: bool dirty() const; int deciPointSize() const; private: QFont( QFontPrivate *, QPaintDevice *pd ); void detach(); void x11SetScreen( int screen = -1 ); int x11Screen() const; friend class QFontMetrics; friend class QFontInfo; friend class QPainter; friend class QPSPrinterFont; friend class QApplication; friend class QWidget; friend class QTextFormatCollection; friend class QTextLayout; friend class QTextItem; friend class QGLContext; friend QDataStream &operator<<( QDataStream &, const QFont & ); friend QDataStream &operator>>( QDataStream &, QFont & ); QFontPrivate *d; }; inline bool QFont::bold() const { return weight() > Normal; } inline void QFont::setBold( bool enable ) { setWeight( enable ? Bold : Normal ); } # 362 "/usr/qt/3/include/qfont.h" QDataStream &operator<<( QDataStream &, const QFont & ); QDataStream &operator>>( QDataStream &, QFont & ); # 47 "/usr/qt/3/include/qwidget.h" 2 # 1 "/usr/qt/3/include/qfontmetrics.h" 1 # 50 "/usr/qt/3/include/qfontmetrics.h" class QTextCodec; class QTextParag; class QFontMetrics { public: QFontMetrics( const QFont & ); QFontMetrics( const QFont &, QFont::Script ); QFontMetrics( const QFontMetrics & ); ~QFontMetrics(); QFontMetrics &operator=( const QFontMetrics & ); int ascent() const; int descent() const; int height() const; int leading() const; int lineSpacing() const; int minLeftBearing() const; int minRightBearing() const; int maxWidth() const; bool inFont(QChar) const; int leftBearing(QChar) const; int rightBearing(QChar) const; int width( const QString &, int len = -1 ) const; int width( QChar ) const; int charWidth( const QString &str, int pos ) const; QRect boundingRect( const QString &, int len = -1 ) const; QRect boundingRect( QChar ) const; QRect boundingRect( int x, int y, int w, int h, int flags, const QString& str, int len=-1, int tabstops=0, int *tabarray=0, QTextParag **intern=0 ) const; QSize size( int flags, const QString& str, int len=-1, int tabstops=0, int *tabarray=0, QTextParag **intern=0 ) const; int underlinePos() const; int overlinePos() const; int strikeOutPos() const; int lineWidth() const; private: QFontMetrics( const QPainter * ); friend class QWidget; friend class QPainter; friend class QTextFormat; QFontPrivate *d; QPainter *painter; int fscript; }; # 48 "/usr/qt/3/include/qwidget.h" 2 # 1 "/usr/qt/3/include/qfontinfo.h" 1 # 46 "/usr/qt/3/include/qfontinfo.h" class QFontInfo { public: QFontInfo( const QFont & ); QFontInfo( const QFont &, QFont::Script ); QFontInfo( const QFontInfo & ); ~QFontInfo(); QFontInfo &operator=( const QFontInfo & ); QString family() const; int pixelSize() const; int pointSize() const; bool italic() const; int weight() const; bool bold() const; bool underline() const; bool overline() const; bool strikeOut() const; bool fixedPitch() const; QFont::StyleHint styleHint() const; bool rawMode() const; bool exactMatch() const; private: QFontInfo( const QPainter * ); QFontPrivate *d; QPainter *painter; int fscript; friend class QWidget; friend class QPainter; }; inline bool QFontInfo::bold() const { return weight() > QFont::Normal; } # 49 "/usr/qt/3/include/qwidget.h" 2 # 1 "/usr/qt/3/include/qsizepolicy.h" 1 # 42 "/usr/qt/3/include/qsizepolicy.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 43 "/usr/qt/3/include/qsizepolicy.h" 2 class QSizePolicy { private: enum { HSize = 6, HMask = 0x3f, VMask = HMask << HSize, MayGrow = 1, ExpMask = 2, MayShrink = 4 }; public: enum SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow | MayShrink, MinimumExpanding = MayGrow | ExpMask, Expanding = MayGrow | MayShrink | ExpMask, Ignored = ExpMask }; enum ExpandData { NoDirection = 0, Horizontally = 1, Vertically = 2, BothDirections = Horizontally | Vertically }; QSizePolicy() : data( 0 ) { } QSizePolicy( SizeType hor, SizeType ver, bool hfw = FALSE ) : data( hor | (ver<> HSize ); } bool mayShrinkHorizontally() const { return horData() & MayShrink || horData() == Ignored; } bool mayShrinkVertically() const { return verData() & MayShrink || verData() == Ignored; } bool mayGrowHorizontally() const { return horData() & MayGrow || horData() == Ignored; } bool mayGrowVertically() const { return verData() & MayGrow || verData() == Ignored; } ExpandData expanding() const { return (ExpandData)( (int)(verData() & ExpMask ? Vertically : 0) | (int)(horData() & ExpMask ? Horizontally : 0) ); } void setHorData( SizeType d ) { data = (Q_UINT32)(data & ~HMask) | d; } void setVerData( SizeType d ) { data = (Q_UINT32)(data & ~(HMask << HSize)) | (d << HSize); } void setHeightForWidth( bool b ) { data = b ? (Q_UINT32)( data | ( 1 << 2*HSize ) ) : (Q_UINT32)( data & ~( 1 << 2*HSize ) ); } bool hasHeightForWidth() const { return data & ( 1 << 2*HSize ); } bool operator==( const QSizePolicy& s ) const { return data == s.data; } bool operator!=( const QSizePolicy& s ) const { return data != s.data; } uint horStretch() const { return data >> 24; } uint verStretch() const { return (data >> 16) & 0xff; } void setHorStretch( uchar sf ) { data = (data&0x00ffffff) | (uint(sf)<<24); } void setVerStretch( uchar sf ) { data = (data&0xff00ffff) | (uint(sf)<<16); } inline void transpose(); private: QSizePolicy( int i ) : data( (Q_UINT32)i ) { } Q_UINT32 data; }; inline QSizePolicy::QSizePolicy( SizeType hor, SizeType ver, uchar hors, uchar vers, bool hfw ) : data( hor | (ver<polish(); that->setWState(WState_Polished); } } inline bool QWidget::ownCursor() const { return testWState( WState_OwnCursor ); } inline bool QWidget::ownFont() const { return own_font; } inline bool QWidget::ownPalette() const { return own_palette; } inline void QWidget::setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw ) { setSizePolicy( QSizePolicy( hor, ver, hfw) ); } inline bool QWidget::isInputMethodEnabled() const { return (bool)im_enabled; } class QFocusData; class QWSManager; struct QTLWExtra { QString caption; QString iconText; QPixmap *icon; QFocusData *focusData; short incw, inch; ulong fleft, fright, ftop, fbottom; uint unused : 8; uint savedFlags; short basew, baseh; WId parentWinId; uint embedded : 1; uint spont_unmapped: 1; uint reserved: 1; uint dnd : 1; uint uspos : 1; uint ussize : 1; void *xic; # 966 "/usr/qt/3/include/qwidget.h" QRect normalGeometry; }; struct QWExtra { Q_INT16 minw, minh; Q_INT16 maxw, maxh; QPixmap *bg_pix; QWidget *focus_proxy; QCursor *curs; QTLWExtra *topextra; WId xDndProxy; # 1000 "/usr/qt/3/include/qwidget.h" uint bg_origin : 2; uint children_use_dnd : 1; uint compress_events : 1; char bg_mode; char bg_mode_visual; QStyle* style; QRect micro_focus_hint; QSizePolicy size_policy; }; # 1 "/usr/qt/3/include/qwinexport.h" 1 # 1019 "/usr/qt/3/include/qwidget.h" 2 # 41 "/usr/qt/3/include/qdesktopwidget.h" 2 class QApplication; class QDesktopWidgetPrivate; class QDesktopWidget : public QWidget { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QDesktopWidget(); ~QDesktopWidget(); bool isVirtualDesktop() const; int numScreens() const; int primaryScreen() const; int screenNumber( QWidget *widget = 0 ) const; int screenNumber( const QPoint & ) const; QWidget *screen( int screen = -1 ); const QRect& screenGeometry( int screen = -1 ) const; const QRect& screenGeometry( QWidget *widget ) const { return screenGeometry( screenNumber( widget ) ); } const QRect& screenGeometry( const QPoint &point ) const { return screenGeometry( screenNumber( point ) ); } const QRect& availableGeometry( int screen = -1 ) const; const QRect& availableGeometry( QWidget *widget ) const { return availableGeometry( screenNumber( widget ) ); } const QRect& availableGeometry( const QPoint &point ) const { return availableGeometry( screenNumber( point ) ); } void insertChild( QObject * ); protected: void resized( int ); void workAreaResized( int ); protected: void resizeEvent( QResizeEvent *e ); private: QDesktopWidgetPrivate *d; QDesktopWidget( const QDesktopWidget & ); QDesktopWidget &operator=( const QDesktopWidget & ); friend class QApplication; }; # 43 "/usr/qt/3/include/qapplication.h" 2 # 1 "/usr/qt/3/include/qasciidict.h" 1 # 42 "/usr/qt/3/include/qasciidict.h" # 1 "/usr/qt/3/include/qgdict.h" 1 # 46 "/usr/qt/3/include/qgdict.h" class QGDictIterator; class QGDItList; class QBaseBucket { public: QPtrCollection::Item getData() { return data; } QPtrCollection::Item setData( QPtrCollection::Item d ) { return data = d; } QBaseBucket *getNext() { return next; } void setNext( QBaseBucket *n) { next = n; } protected: QBaseBucket( QPtrCollection::Item d, QBaseBucket *n ) : data(d), next(n) {} QPtrCollection::Item data; QBaseBucket *next; }; class QStringBucket : public QBaseBucket { public: QStringBucket( const QString &k, QPtrCollection::Item d, QBaseBucket *n ) : QBaseBucket(d,n), key(k) {} const QString &getKey() const { return key; } private: QString key; }; class QAsciiBucket : public QBaseBucket { public: QAsciiBucket( const char *k, QPtrCollection::Item d, QBaseBucket *n ) : QBaseBucket(d,n), key(k) {} const char *getKey() const { return key; } private: const char *key; }; class QIntBucket : public QBaseBucket { public: QIntBucket( long k, QPtrCollection::Item d, QBaseBucket *n ) : QBaseBucket(d,n), key(k) {} long getKey() const { return key; } private: long key; }; class QPtrBucket : public QBaseBucket { public: QPtrBucket( void *k, QPtrCollection::Item d, QBaseBucket *n ) : QBaseBucket(d,n), key(k) {} void *getKey() const { return key; } private: void *key; }; class QGDict : public QPtrCollection { public: uint count() const { return numItems; } uint size() const { return vlen; } QPtrCollection::Item look_string( const QString& key, QPtrCollection::Item, int ); QPtrCollection::Item look_ascii( const char *key, QPtrCollection::Item, int ); QPtrCollection::Item look_int( long key, QPtrCollection::Item, int ); QPtrCollection::Item look_ptr( void *key, QPtrCollection::Item, int ); QDataStream &read( QDataStream & ); QDataStream &write( QDataStream & ) const; protected: enum KeyType { StringKey, AsciiKey, IntKey, PtrKey }; QGDict( uint len, KeyType kt, bool cs, bool ck ); QGDict( const QGDict & ); ~QGDict(); QGDict &operator=( const QGDict & ); bool remove_string( const QString &key, QPtrCollection::Item item=0 ); bool remove_ascii( const char *key, QPtrCollection::Item item=0 ); bool remove_int( long key, QPtrCollection::Item item=0 ); bool remove_ptr( void *key, QPtrCollection::Item item=0 ); QPtrCollection::Item take_string( const QString &key ); QPtrCollection::Item take_ascii( const char *key ); QPtrCollection::Item take_int( long key ); QPtrCollection::Item take_ptr( void *key ); void clear(); void resize( uint ); int hashKeyString( const QString & ); int hashKeyAscii( const char * ); void statistics() const; virtual QDataStream &read( QDataStream &, QPtrCollection::Item & ); virtual QDataStream &write( QDataStream &, QPtrCollection::Item ) const; private: QBaseBucket **vec; uint vlen; uint numItems; uint keytype : 2; uint cases : 1; uint copyk : 1; QGDItList *iterators; void unlink_common( int, QBaseBucket *, QBaseBucket * ); QStringBucket *unlink_string( const QString &, QPtrCollection::Item item = 0 ); QAsciiBucket *unlink_ascii( const char *, QPtrCollection::Item item = 0 ); QIntBucket *unlink_int( long, QPtrCollection::Item item = 0 ); QPtrBucket *unlink_ptr( void *, QPtrCollection::Item item = 0 ); void init( uint, KeyType, bool, bool ); friend class QGDictIterator; }; class QGDictIterator { friend class QGDict; public: QGDictIterator( const QGDict & ); QGDictIterator( const QGDictIterator & ); QGDictIterator &operator=( const QGDictIterator & ); ~QGDictIterator(); QPtrCollection::Item toFirst(); QPtrCollection::Item get() const; QString getKeyString() const; const char *getKeyAscii() const; long getKeyInt() const; void *getKeyPtr() const; QPtrCollection::Item operator()(); QPtrCollection::Item operator++(); QPtrCollection::Item operator+=(uint); protected: QGDict *dict; private: QBaseBucket *curNode; uint curIndex; }; inline QPtrCollection::Item QGDictIterator::get() const { return curNode ? curNode->getData() : 0; } inline QString QGDictIterator::getKeyString() const { return curNode ? ((QStringBucket*)curNode)->getKey() : QString::null; } inline const char *QGDictIterator::getKeyAscii() const { return curNode ? ((QAsciiBucket*)curNode)->getKey() : 0; } inline long QGDictIterator::getKeyInt() const { return curNode ? ((QIntBucket*)curNode)->getKey() : 0; } inline void *QGDictIterator::getKeyPtr() const { return curNode ? ((QPtrBucket*)curNode)->getKey() : 0; } # 43 "/usr/qt/3/include/qasciidict.h" 2 template class QAsciiDict : public QGDict { public: QAsciiDict(int size=17, bool caseSensitive=TRUE, bool copyKeys=TRUE ) : QGDict(size,AsciiKey,caseSensitive,copyKeys) {} QAsciiDict( const QAsciiDict &d ) : QGDict(d) {} ~QAsciiDict() { clear(); } QAsciiDict &operator=(const QAsciiDict &d) { return (QAsciiDict&)QGDict::operator=(d); } uint count() const { return QGDict::count(); } uint size() const { return QGDict::size(); } bool isEmpty() const { return QGDict::count() == 0; } void insert( const char *k, const type *d ) { QGDict::look_ascii(k,(Item)d,1); } void replace( const char *k, const type *d ) { QGDict::look_ascii(k,(Item)d,2); } bool remove( const char *k ) { return QGDict::remove_ascii(k); } type *take( const char *k ) { return (type *)QGDict::take_ascii(k); } type *find( const char *k ) const { return (type *)((QGDict*)this)->QGDict::look_ascii(k,0,0); } type *operator[]( const char *k ) const { return (type *)((QGDict*)this)->QGDict::look_ascii(k,0,0); } void clear() { QGDict::clear(); } void resize( uint n ) { QGDict::resize(n); } void statistics() const { QGDict::statistics(); } private: void deleteItem( Item d ); }; template<> inline void QAsciiDict::deleteItem( QPtrCollection::Item ) { } template inline void QAsciiDict::deleteItem( QPtrCollection::Item d ) { if ( del_item ) delete (type *)d; } template class QAsciiDictIterator : public QGDictIterator { public: QAsciiDictIterator(const QAsciiDict &d) : QGDictIterator((QGDict &)d) {} ~QAsciiDictIterator() {} uint count() const { return dict->count(); } bool isEmpty() const { return dict->count() == 0; } type *toFirst() { return (type *)QGDictIterator::toFirst(); } operator type *() const { return (type *)QGDictIterator::get(); } type *current() const { return (type *)QGDictIterator::get(); } const char *currentKey() const { return QGDictIterator::getKeyAscii(); } type *operator()() { return (type *)QGDictIterator::operator()(); } type *operator++() { return (type *)QGDictIterator::operator++(); } type *operator+=(uint j) { return (type *)QGDictIterator::operator+=(j);} }; # 1 "/usr/qt/3/include/qwinexport.h" 1 # 120 "/usr/qt/3/include/qasciidict.h" 2 # 44 "/usr/qt/3/include/qapplication.h" 2 # 1 "/usr/qt/3/include/qtranslator.h" 1 # 46 "/usr/qt/3/include/qapplication.h" 2 class QSessionManager; class QStyle; class QTranslator; class QEventLoop; class QMutex; class QApplication; extern QApplication *qApp; class QApplication : public QObject { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QApplication( int &argc, char **argv ); QApplication( int &argc, char **argv, bool GUIenabled ); enum Type { Tty, GuiClient, GuiServer }; QApplication( int &argc, char **argv, Type ); QApplication( Display* dpy, HANDLE visual = 0, HANDLE cmap = 0 ); QApplication( Display *dpy, int argc, char **argv, HANDLE visual = 0, HANDLE cmap= 0 ); virtual ~QApplication(); int argc() const; char **argv() const; Type type() const; static QStyle &style(); static void setStyle( QStyle* ); static QStyle* setStyle( const QString& ); enum ColorMode { NormalColors, CustomColors }; static ColorMode colorMode(); static void setColorMode( QApplication::ColorMode ); enum ColorSpec { NormalColor=0, CustomColor=1, ManyColor=2 }; static int colorSpec(); static void setColorSpec( int ); static QCursor *overrideCursor(); static void setOverrideCursor( const QCursor &, bool replace=FALSE ); static void restoreOverrideCursor(); static bool hasGlobalMouseTracking(); static void setGlobalMouseTracking( bool enable ); static QPalette palette( const QWidget* = 0 ); static void setPalette( const QPalette &, bool informWidgets=FALSE, const char* className = 0 ); static QFont font( const QWidget* = 0 ); static void setFont( const QFont &, bool informWidgets=FALSE, const char* className = 0 ); static QFontMetrics fontMetrics(); QWidget *mainWidget() const; virtual void setMainWidget( QWidget * ); virtual void polish( QWidget * ); static QWidgetList *allWidgets(); static QWidgetList *topLevelWidgets(); static QDesktopWidget *desktop(); static QWidget *activePopupWidget(); static QWidget *activeModalWidget(); static QClipboard *clipboard(); QWidget *focusWidget() const; QWidget *activeWindow() const; static QWidget *widgetAt( int x, int y, bool child=FALSE ); static QWidget *widgetAt( const QPoint &, bool child=FALSE ); static QEventLoop *eventLoop(); int exec(); void processEvents(); void processEvents( int maxtime ); void processOneEvent(); bool hasPendingEvents(); int enter_loop(); void exit_loop(); int loopLevel() const; static void exit( int retcode=0 ); static bool sendEvent( QObject *receiver, QEvent *event ); static void postEvent( QObject *receiver, QEvent *event ); static void sendPostedEvents( QObject *receiver, int event_type ); static void sendPostedEvents(); static void removePostedEvents( QObject *receiver ); virtual bool notify( QObject *, QEvent * ); static bool startingUp(); static bool closingDown(); static void flushX(); static void flush(); static void syncX(); static void beep(); # 176 "/usr/qt/3/include/qapplication.h" enum Encoding { DefaultCodec, UnicodeUTF8 }; QString translate( const char * context, const char * key, const char * comment = 0, Encoding encoding = DefaultCodec ) const; QString applicationDirPath(); QString applicationFilePath(); static void setWinStyleHighlightColor( const QColor &c ) { QPalette p( palette() ); p.setColor( QColorGroup::Highlight, c ); setPalette( p, TRUE); } static const QColor &winStyleHighlightColor() { return palette().active().highlight(); } static void setDesktopSettingsAware( bool ); static bool desktopSettingsAware(); static void setCursorFlashTime( int ); static int cursorFlashTime(); static void setDoubleClickInterval( int ); static int doubleClickInterval(); static void setWheelScrollLines( int ); static int wheelScrollLines(); static void setGlobalStrut( const QSize & ); static QSize globalStrut(); static void setLibraryPaths( const QStringList & ); static QStringList libraryPaths(); static void addLibraryPath( const QString & ); static void removeLibraryPath( const QString & ); static void setStartDragTime( int ms ); static int startDragTime(); static void setStartDragDistance( int l ); static int startDragDistance(); static void setReverseLayout( bool b ); static bool reverseLayout(); static int horizontalAlignment( int align ); static bool isEffectEnabled( Qt::UIEffect ); static void setEffectEnabled( Qt::UIEffect, bool enable = TRUE ); # 237 "/usr/qt/3/include/qapplication.h" virtual bool x11EventFilter( XEvent * ); virtual int x11ClientMessage( QWidget*, XEvent*, bool passive_only); int x11ProcessEvent( XEvent* ); # 263 "/usr/qt/3/include/qapplication.h" bool isSessionRestored() const; QString sessionId() const; QString sessionKey() const; virtual void commitData( QSessionManager& sm ); virtual void saveState( QSessionManager& sm ); static void create_xim(); static void close_xim(); static bool x11_apply_settings(); void wakeUpGuiThread(); void lock(); void unlock(bool wakeUpGui = TRUE); bool locked(); bool tryLock(); protected: void lastWindowClosed(); void aboutToQuit(); void guiThreadAwake(); public : void quit(); void closeAllWindows(); void aboutQt(); protected: bool event(QEvent *); private: void construct( int &argc, char **argv, Type ); void initialize( int, char ** ); void init_precmdline(); void process_cmdline( int* argcptr, char ** argv ); bool internalNotify( QObject *, QEvent * ); # 327 "/usr/qt/3/include/qapplication.h" static QMutex *qt_mutex; int app_argc; char **app_argv; bool quit_now; int quit_code; static QStyle *app_style; static int app_cspec; static QPalette *app_pal; static QFont *app_font; static QCursor *app_cursor; static QEventLoop* eventloop; static int app_tracking; static bool is_app_running; static bool is_app_closing; static bool app_exit_loop; static int loop_level; static QWidget *main_widget; static QWidget *focus_widget; static QWidget *active_window; static bool obey_desktop_settings; static int cursor_flash_time; static int mouse_double_click_time; static int wheel_scroll_lines; static int composedUnicode; static bool animate_ui; static bool animate_menu; static bool animate_tooltip; static bool animate_combo; static bool fade_menu; static bool fade_tooltip; static bool animate_toolbox; static bool widgetCount; static bool metaComposeUnicode; QValueList *translators; QSessionManager *session_manager; QString session_id; static QString* session_key; bool is_session_restored; static void x11_initialize_style(); static QSize app_strut; static QStringList *app_libpaths; static QAsciiDict *app_palettes; static QAsciiDict *app_fonts; static QWidgetList *popupWidgets; bool inPopupMode() const; void closePopup( QWidget *popup ); void openPopup( QWidget *popup ); void setActiveWindow( QWidget* act ); static bool sendSpontaneousEvent( QObject *receiver, QEvent *event ); static void removePostedEvent( QEvent * ); friend class QWidget; friend class QETWidget; friend class QDialog; friend class QAccelManager; friend class QEvent; friend class QTranslator; friend class QEventLoop; friend void qt_ucm_initialize( QApplication * ); private: QApplication( const QApplication & ); QApplication &operator=( const QApplication & ); }; inline int QApplication::argc() const { return app_argc; } inline char **QApplication::argv() const { return app_argv; } # 435 "/usr/qt/3/include/qapplication.h" inline QCursor *QApplication::overrideCursor() { return app_cursor; } inline bool QApplication::hasGlobalMouseTracking() { return app_tracking > 0; } inline QWidget *QApplication::mainWidget() const { return main_widget; } inline QWidget *QApplication::focusWidget() const { return focus_widget; } inline QWidget *QApplication::activeWindow() const { return active_window; } inline QWidget *QApplication::widgetAt( const QPoint &p, bool child ) { return widgetAt( p.x(), p.y(), child ); } inline bool QApplication::inPopupMode() const { return popupWidgets != 0; } inline bool QApplication::isSessionRestored() const { return is_session_restored; } inline QString QApplication::sessionId() const { return session_id; } inline QString QApplication::sessionKey() const { return session_key ? *session_key : QString::null; } inline QSize QApplication::globalStrut() { return app_strut; } inline bool QApplication::sendEvent( QObject *receiver, QEvent *event ) { if ( event ) event->spont = FALSE; return qApp ? qApp->notify( receiver, event ) : FALSE; } inline bool QApplication::sendSpontaneousEvent( QObject *receiver, QEvent *event ) { if ( event ) event->spont = TRUE; return qApp ? qApp->notify( receiver, event ) : FALSE; } inline QString QApplication::translate( const char *, const char *sourceText, const char *, Encoding encoding ) const { if ( encoding == UnicodeUTF8 ) return QString::fromUtf8( sourceText ); else return QString::fromLatin1( sourceText ); } inline int QApplication::horizontalAlignment( int align ) { align &= AlignHorizontal_Mask; if ( align == AlignAuto ) { if ( reverseLayout() ) align = AlignRight; else align = AlignLeft; } return align; } # 40 "knuminput.cpp" 2 # 1 "/usr/qt/3/include/qlabel.h" 1 # 42 "/usr/qt/3/include/qlabel.h" # 1 "/usr/qt/3/include/qframe.h" 1 # 47 "/usr/qt/3/include/qframe.h" class QFrame : public QWidget { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QFrame( QWidget* parent=0, const char* name=0, WFlags f=0 ); int frameStyle() const; virtual void setFrameStyle( int ); int frameWidth() const; QRect contentsRect() const; bool lineShapesOk() const { return TRUE; } QSize sizeHint() const; enum Shape { NoFrame = 0, Box = 0x0001, Panel = 0x0002, WinPanel = 0x0003, HLine = 0x0004, VLine = 0x0005, StyledPanel = 0x0006, PopupPanel = 0x0007, MenuBarPanel = 0x0008, ToolBarPanel = 0x0009, LineEditPanel = 0x000a, TabWidgetPanel = 0x000b, GroupBoxPanel = 0x000c, MShape = 0x000f }; enum Shadow { Plain = 0x0010, Raised = 0x0020, Sunken = 0x0030, MShadow = 0x00f0 }; Shape frameShape() const; void setFrameShape( Shape ); Shadow frameShadow() const; void setFrameShadow( Shadow ); int lineWidth() const; virtual void setLineWidth( int ); int margin() const; virtual void setMargin( int ); int midLineWidth() const; virtual void setMidLineWidth( int ); QRect frameRect() const; virtual void setFrameRect( const QRect & ); protected: void paintEvent( QPaintEvent * ); void resizeEvent( QResizeEvent * ); virtual void drawFrame( QPainter * ); virtual void drawContents( QPainter * ); virtual void frameChanged(); void styleChange( QStyle& ); private: void updateFrameWidth(bool=FALSE); QRect frect; int fstyle; short lwidth; short mwidth; short mlwidth; short fwidth; void * d; private: QFrame( const QFrame & ); QFrame &operator=( const QFrame & ); }; inline int QFrame::frameStyle() const { return fstyle; } inline QFrame::Shape QFrame::frameShape() const { return (Shape) ( fstyle & MShape ); } inline QFrame::Shadow QFrame::frameShadow() const { return (Shadow) ( fstyle & MShadow ); } inline void QFrame::setFrameShape( QFrame::Shape s ) { setFrameStyle( ( fstyle & MShadow ) | s ); } inline void QFrame::setFrameShadow( QFrame::Shadow s ) { setFrameStyle( ( fstyle & MShape ) | s ); } inline int QFrame::lineWidth() const { return lwidth; } inline int QFrame::midLineWidth() const { return mlwidth; } inline int QFrame::margin() const { return mwidth; } inline int QFrame::frameWidth() const { return fwidth; } # 43 "/usr/qt/3/include/qlabel.h" 2 class QSimpleRichText; class QLabelPrivate; class QLabel : public QFrame { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QLabel( QWidget *parent, const char* name=0, WFlags f=0 ); QLabel( const QString &text, QWidget *parent, const char* name=0, WFlags f=0 ); QLabel( QWidget *buddy, const QString &, QWidget *parent, const char* name=0, WFlags f=0 ); ~QLabel(); QString text() const { return ltext; } QPixmap *pixmap() const { return lpixmap; } QPicture *picture() const { return lpicture; } QMovie *movie() const; TextFormat textFormat() const; void setTextFormat( TextFormat ); int alignment() const { return align; } virtual void setAlignment( int ); int indent() const { return extraMargin; } void setIndent( int ); bool autoResize() const { return autoresize; } virtual void setAutoResize( bool ); bool hasScaledContents() const; void setScaledContents( bool ); QSize sizeHint() const; QSize minimumSizeHint() const; virtual void setBuddy( QWidget * ); QWidget *buddy() const; int heightForWidth(int) const; void setFont( const QFont &f ); public : virtual void setText( const QString &); virtual void setPixmap( const QPixmap & ); virtual void setPicture( const QPicture & ); virtual void setMovie( const QMovie & ); virtual void setNum( int ); virtual void setNum( double ); void clear(); protected: void drawContents( QPainter * ); void fontChange( const QFont & ); void resizeEvent( QResizeEvent* ); private : void acceleratorSlot(); void buddyDied(); void movieUpdated(const QRect&); void movieResized(const QSize&); private: void init(); void clearContents(); void updateLabel( QSize oldSizeHint ); QSize sizeForWidth( int w ) const; QString ltext; QPixmap *lpixmap; QPicture *lpicture; QMovie * lmovie; QWidget * lbuddy; ushort align; short extraMargin; uint autoresize:1; uint scaledcontents :1; TextFormat textformat; QSimpleRichText* doc; QAccel * accel; QLabelPrivate* d; friend class QTipLabel; private: QLabel( const QLabel & ); QLabel &operator=( const QLabel & ); }; # 41 "knuminput.cpp" 2 # 1 "/usr/qt/3/include/qlineedit.h" 1 # 41 "/usr/qt/3/include/qlineedit.h" struct QLineEditPrivate; class QValidator; class QPopupMenu; # 53 "/usr/qt/3/include/qlineedit.h" class QTextParagraph; class QTextCursor; class QLineEdit : public QFrame { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QLineEdit( QWidget* parent, const char* name=0 ); QLineEdit( const QString &, QWidget* parent, const char* name=0 ); QLineEdit( const QString &, const QString &, QWidget* parent, const char* name=0 ); ~QLineEdit(); QString text() const; QString displayText() const; int maxLength() const; bool frame() const; enum EchoMode { Normal, NoEcho, Password }; EchoMode echoMode() const; bool isReadOnly() const; const QValidator * validator() const; QSize sizeHint() const; QSize minimumSizeHint() const; int cursorPosition() const; bool validateAndSet( const QString &, int, int, int ); int alignment() const; void cursorForward( bool mark, int steps = 1 ); void cursorBackward( bool mark, int steps = 1 ); void cursorWordForward( bool mark ); void cursorWordBackward( bool mark ); void backspace(); void del(); void home( bool mark ); void end( bool mark ); bool isModified() const; void clearModified(); bool edited() const; void setEdited( bool ); bool hasSelectedText() const; QString selectedText() const; int selectionStart() const; bool isUndoAvailable() const; bool isRedoAvailable() const; bool dragEnabled() const; QString inputMask() const; void setInputMask( const QString &inputMask ); bool hasAcceptableInput() const; public : virtual void setText( const QString &); virtual void selectAll(); virtual void deselect(); virtual void clearValidator(); virtual void insert( const QString &); virtual void clear(); virtual void undo(); virtual void redo(); virtual void setMaxLength( int ); virtual void setFrame( bool ); virtual void setEchoMode( EchoMode ); virtual void setReadOnly( bool ); virtual void setValidator( const QValidator * ); virtual void setFont( const QFont & ); virtual void setPalette( const QPalette & ); virtual void setSelection( int, int ); virtual void setCursorPosition( int ); virtual void setAlignment( int flag ); virtual void cut(); virtual void copy() const; virtual void paste(); virtual void setDragEnabled( bool b ); protected: void textChanged( const QString &); void returnPressed(); void lostFocus(); void selectionChanged(); protected: bool event( QEvent * ); void mousePressEvent( QMouseEvent * ); void mouseMoveEvent( QMouseEvent * ); void mouseReleaseEvent( QMouseEvent * ); void mouseDoubleClickEvent( QMouseEvent * ); void keyPressEvent( QKeyEvent * ); void imStartEvent( QIMEvent * ); void imComposeEvent( QIMEvent * ); void imEndEvent( QIMEvent * ); void focusInEvent( QFocusEvent * ); void focusOutEvent( QFocusEvent * ); void resizeEvent( QResizeEvent * ); void drawContents( QPainter * ); void dragEnterEvent( QDragEnterEvent * ); void dragMoveEvent( QDragMoveEvent *e ); void dragLeaveEvent( QDragLeaveEvent *e ); void dropEvent( QDropEvent * ); void contextMenuEvent( QContextMenuEvent * ); virtual QPopupMenu *createPopupMenu(); void windowActivationChange( bool ); private : void clipboardChanged(); public: void setPasswordChar( QChar c ); QChar passwordChar() const; int characterAt( int, QChar* ) const; bool getSelection( int *, int * ); private: friend struct QLineEditPrivate; QLineEditPrivate * d; private: QLineEdit( const QLineEdit & ); QLineEdit &operator=( const QLineEdit & ); }; # 42 "knuminput.cpp" 2 # 1 "/usr/qt/3/include/qsize.h" 1 # 43 "knuminput.cpp" 2 # 1 "/usr/qt/3/include/qslider.h" 1 # 43 "/usr/qt/3/include/qslider.h" # 1 "/usr/qt/3/include/qrangecontrol.h" 1 # 42 "/usr/qt/3/include/qrangecontrol.h" # 1 "/usr/qt/3/include/qglobal.h" 1 # 43 "/usr/qt/3/include/qrangecontrol.h" 2 class QRangeControlPrivate; class QRangeControl { public: QRangeControl(); QRangeControl( int minValue, int maxValue, int lineStep, int pageStep, int value ); virtual ~QRangeControl(); int value() const; void setValue( int ); void addPage(); void subtractPage(); void addLine(); void subtractLine(); int minValue() const; int maxValue() const; void setRange( int minValue, int maxValue ); void setMinValue( int minVal ); void setMaxValue( int minVal ); int lineStep() const; int pageStep() const; void setSteps( int line, int page ); int bound( int ) const; protected: int positionFromValue( int val, int space ) const; int valueFromPosition( int pos, int space ) const; void directSetValue( int val ); int prevValue() const; virtual void valueChange(); virtual void rangeChange(); virtual void stepChange(); private: int minVal, maxVal; int line, page; int val, prevVal; QRangeControlPrivate * d; private: QRangeControl( const QRangeControl & ); QRangeControl &operator=( const QRangeControl & ); }; inline int QRangeControl::value() const { return val; } inline int QRangeControl::prevValue() const { return prevVal; } inline int QRangeControl::minValue() const { return minVal; } inline int QRangeControl::maxValue() const { return maxVal; } inline int QRangeControl::lineStep() const { return line; } inline int QRangeControl::pageStep() const { return page; } class QSpinWidgetPrivate; class QSpinWidget : public QWidget { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QSpinWidget( QWidget* parent=0, const char* name=0 ); ~QSpinWidget(); void setEditWidget( QWidget * widget ); QWidget * editWidget(); QRect upRect() const; QRect downRect() const; void setUpEnabled( bool on ); void setDownEnabled( bool on ); bool isUpEnabled() const; bool isDownEnabled() const; enum ButtonSymbols { UpDownArrows, PlusMinus }; virtual void setButtonSymbols( ButtonSymbols bs ); ButtonSymbols buttonSymbols() const; void arrange(); protected: void stepUpPressed(); void stepDownPressed(); public : void stepUp(); void stepDown(); protected: void mousePressEvent( QMouseEvent *e ); void resizeEvent( QResizeEvent* ev ); void mouseReleaseEvent( QMouseEvent *e ); void mouseMoveEvent( QMouseEvent *e ); void wheelEvent( QWheelEvent * ); void styleChange( QStyle& ); void paintEvent( QPaintEvent * ); void enableChanged( bool old ); void windowActivationChange( bool ); private : void timerDone(); void timerDoneEx(); private: QSpinWidgetPrivate * d; void updateDisplay(); private: QSpinWidget( const QSpinWidget& ); QSpinWidget& operator=( const QSpinWidget& ); }; # 44 "/usr/qt/3/include/qslider.h" 2 struct QSliderPrivate; class QTimer; class QSlider : public QWidget, public QRangeControl { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: enum TickSetting { NoMarks = 0, Above = 1, Left = Above, Below = 2, Right = Below, Both = 3 }; QSlider( QWidget *parent, const char* name = 0 ); QSlider( Orientation, QWidget *parent, const char* name = 0 ); QSlider( int minValue, int maxValue, int pageStep, int value, Orientation, QWidget *parent, const char* name = 0 ); ~QSlider(); virtual void setOrientation( Orientation ); Orientation orientation() const; virtual void setTracking( bool enable ); bool tracking() const; virtual void setPalette( const QPalette & ); int sliderStart() const; QRect sliderRect() const; QSize sizeHint() const; void setSizePolicy( QSizePolicy sp ); void setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE ); QSizePolicy sizePolicy() const; QSize minimumSizeHint() const; virtual void setTickmarks( TickSetting ); TickSetting tickmarks() const { return ticks; } virtual void setTickInterval( int ); int tickInterval() const { return tickInt; } int minValue() const; int maxValue() const; void setMinValue( int ); void setMaxValue( int ); int lineStep() const; int pageStep() const; void setLineStep( int ); void setPageStep( int ); int value() const; public : virtual void setValue( int ); void addStep(); void subtractStep(); void addLine(); void subtractLine(); protected: void valueChanged( int value ); void sliderPressed(); void sliderMoved( int value ); void sliderReleased(); protected: void resizeEvent( QResizeEvent * ); void paintEvent( QPaintEvent * ); void keyPressEvent( QKeyEvent * ); void mousePressEvent( QMouseEvent * ); void mouseReleaseEvent( QMouseEvent * ); void mouseMoveEvent( QMouseEvent * ); void wheelEvent( QWheelEvent * ); void focusInEvent( QFocusEvent *e ); void focusOutEvent( QFocusEvent *e ); void styleChange( QStyle& ); void valueChange(); void rangeChange(); private : void repeatTimeout(); private: enum State { Idle, Dragging, TimingUp, TimingDown }; void init(); int positionFromValue( int ) const; int valueFromPosition( int ) const; void moveSlider( int ); void reallyMoveSlider( int ); void resetState(); int available() const; int goodPart( const QPoint& ) const; void initTicks(); QSliderPrivate *d; QTimer *timer; QCOORD sliderPos; int sliderVal; QCOORD clickOffset; State state; bool track; QCOORD tickOffset; TickSetting ticks; int tickInt; Orientation orient; private: QSlider( const QSlider & ); QSlider &operator=( const QSlider & ); }; inline bool QSlider::tracking() const { return track; } inline QSlider::Orientation QSlider::orientation() const { return orient; } inline int QSlider::sliderStart() const { return sliderPos; } inline void QSlider::setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw ) { QWidget::setSizePolicy( hor, ver, hfw ); } # 44 "knuminput.cpp" 2 # 1 "/usr/qt/3/include/qspinbox.h" 1 # 48 "/usr/qt/3/include/qspinbox.h" class QLineEdit; class QValidator; class QSpinBoxPrivate; class QSpinBox: public QWidget, public QRangeControl { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QSpinBox( QWidget* parent=0, const char* name=0 ); QSpinBox( int minValue, int maxValue, int step = 1, QWidget* parent=0, const char* name=0 ); ~QSpinBox(); QString text() const; virtual QString prefix() const; virtual QString suffix() const; virtual QString cleanText() const; virtual void setSpecialValueText( const QString &text ); QString specialValueText() const; virtual void setWrapping( bool on ); bool wrapping() const; enum ButtonSymbols { UpDownArrows, PlusMinus }; virtual void setButtonSymbols( ButtonSymbols ); ButtonSymbols buttonSymbols() const; virtual void setValidator( const QValidator* v ); const QValidator * validator() const; QSize sizeHint() const; QSize minimumSizeHint() const; int minValue() const; int maxValue() const; void setMinValue( int ); void setMaxValue( int ); int lineStep() const; void setLineStep( int ); int value() const; QRect upRect() const; QRect downRect() const; public : virtual void setValue( int value ); virtual void setPrefix( const QString &text ); virtual void setSuffix( const QString &text ); virtual void stepUp(); virtual void stepDown(); virtual void setEnabled( bool enabled ); virtual void selectAll(); protected: void valueChanged( int value ); void valueChanged( const QString &valueText ); protected: virtual QString mapValueToText( int value ); virtual int mapTextToValue( bool* ok ); QString currentValueText(); virtual void updateDisplay(); virtual void interpretText(); QLineEdit* editor() const; virtual void valueChange(); virtual void rangeChange(); bool eventFilter( QObject* obj, QEvent* ev ); void resizeEvent( QResizeEvent* ev ); void wheelEvent( QWheelEvent * ); void leaveEvent( QEvent* ); void styleChange( QStyle& ); protected : void textChanged(); private: void initSpinBox(); QSpinBoxPrivate* d; QLineEdit* vi; QValidator* validate; QString pfix; QString sfix; QString specText; uint wrap : 1; uint edited : 1; void arrangeWidgets(); private: QSpinBox( const QSpinBox& ); QSpinBox& operator=( const QSpinBox& ); }; # 45 "knuminput.cpp" 2 # 1 "/usr/qt/3/include/qstyle.h" 1 # 47 "/usr/qt/3/include/qstyle.h" class QPopupMenu; class QStylePrivate; class QMenuItem; class QTab; class QListViewItem; class QCheckListItem; class QStyleOption { public: enum StyleOptionDefault { Default }; QStyleOption(StyleOptionDefault=Default) : def(TRUE) {} QStyleOption(int in1) : def(FALSE), i1(in1) {} QStyleOption(int in1, int in2) : def(FALSE), i1(in1), i2(in2) {} QStyleOption(int in1, int in2, int in3, int in4) : def(FALSE), i1(in1), i2(in2), i3(in3), i4(in4) {} QStyleOption(QMenuItem* m) : def(FALSE), mi(m) {} QStyleOption(QMenuItem* m, int in1) : def(FALSE), mi(m), i1(in1) {} QStyleOption(QMenuItem* m, int in1, int in2) : def(FALSE), mi(m), i1(in1), i2(in2) {} QStyleOption(const QColor& c) : def(FALSE), cl(&c) {} QStyleOption(QTab* t) : def(FALSE), tb(t) {} QStyleOption(QListViewItem* i) : def(FALSE), li(i) {} QStyleOption(QCheckListItem* i) : def(FALSE), cli(i) {} QStyleOption(Qt::ArrowType a) : def(FALSE), i1((int)a) {} QStyleOption(const QRect& r) : def(FALSE), i1(r.x()), i2(r.y()), i3(r.width()),i4(r.height()){} QStyleOption(QWidget *w) : def(FALSE), p1((void*)w) {} bool isDefault() const { return def; } int day() const { return i1; } int lineWidth() const { return i1; } int midLineWidth() const { return i2; } int frameShape() const { return i3; } int frameShadow() const { return i4; } int headerSection() const { return i1; } QMenuItem* menuItem() const { return mi; } int maxIconWidth() const { return i1; } int tabWidth() const { return i2; } const QColor& color() const { return *cl; } QTab* tab() const { return tb; } QCheckListItem* checkListItem() const { return cli; } QListViewItem* listViewItem() const { return li; } Qt::ArrowType arrowType() const { return (Qt::ArrowType)i1; } QRect rect() const { return QRect( i1, i2, i3, i4 ); } QWidget* widget() const { return (QWidget*)p1; } private: bool def; bool b1,b2,b3; QMenuItem* mi; QTab* tb; QListViewItem* li; const QColor* cl; int i1, i2, i3, i4; int i5, i6; QCheckListItem* cli; void *p1, *p2, *p3, *p4; }; class QStyleHintReturn; class QStyle: public QObject { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QStyle(); virtual ~QStyle(); virtual void polish( QWidget * ); virtual void unPolish( QWidget * ); virtual void polish( QApplication * ); virtual void unPolish( QApplication * ); virtual void polish( QPalette & ); virtual void polishPopupMenu( QPopupMenu* ) = 0; virtual QRect itemRect( QPainter *p, const QRect &r, int flags, bool enabled, const QPixmap *pixmap, const QString &text, int len = -1 ) const; virtual void drawItem( QPainter *p, const QRect &r, int flags, const QColorGroup &g, bool enabled, const QPixmap *pixmap, const QString &text, int len = -1, const QColor *penColor = 0 ) const; enum PrimitiveElement { PE_ButtonCommand, PE_ButtonDefault, PE_ButtonBevel, PE_ButtonTool, PE_ButtonDropDown, PE_FocusRect, PE_ArrowUp, PE_ArrowDown, PE_ArrowRight, PE_ArrowLeft, PE_SpinWidgetUp, PE_SpinWidgetDown, PE_SpinWidgetPlus, PE_SpinWidgetMinus, PE_Indicator, PE_IndicatorMask, PE_ExclusiveIndicator, PE_ExclusiveIndicatorMask, PE_DockWindowHandle, PE_DockWindowSeparator, PE_DockWindowResizeHandle, PE_Splitter, PE_Panel, PE_PanelPopup, PE_PanelMenuBar, PE_PanelDockWindow, PE_TabBarBase, PE_HeaderSection, PE_HeaderArrow, PE_StatusBarSection, PE_GroupBoxFrame, PE_Separator, PE_SizeGrip, PE_CheckMark, PE_ScrollBarAddLine, PE_ScrollBarSubLine, PE_ScrollBarAddPage, PE_ScrollBarSubPage, PE_ScrollBarSlider, PE_ScrollBarFirst, PE_ScrollBarLast, PE_ProgressBarChunk, PE_PanelLineEdit, PE_PanelTabWidget, PE_WindowFrame, PE_CheckListController, PE_CheckListIndicator, PE_CheckListExclusiveIndicator, PE_PanelGroupBox, PE_RubberBand, PE_CustomBase = 0xf000000 }; enum StyleFlags { Style_Default = 0x00000000, Style_Enabled = 0x00000001, Style_Raised = 0x00000002, Style_Sunken = 0x00000004, Style_Off = 0x00000008, Style_NoChange = 0x00000010, Style_On = 0x00000020, Style_Down = 0x00000040, Style_Horizontal = 0x00000080, Style_HasFocus = 0x00000100, Style_Top = 0x00000200, Style_Bottom = 0x00000400, Style_FocusAtBorder = 0x00000800, Style_AutoRaise = 0x00001000, Style_MouseOver = 0x00002000, Style_Up = 0x00004000, Style_Selected = 0x00008000, Style_Active = 0x00010000, Style_ButtonDefault = 0x00020000 }; typedef uint SFlags; virtual void drawPrimitive( PrimitiveElement pe, QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags = Style_Default, const QStyleOption& = QStyleOption::Default ) const = 0; enum ControlElement { CE_PushButton, CE_PushButtonLabel, CE_CheckBox, CE_CheckBoxLabel, CE_RadioButton, CE_RadioButtonLabel, CE_TabBarTab, CE_TabBarLabel, CE_ProgressBarGroove, CE_ProgressBarContents, CE_ProgressBarLabel, CE_PopupMenuItem, CE_MenuBarItem, CE_ToolButtonLabel, CE_MenuBarEmptyArea, CE_PopupMenuScroller, CE_DockWindowEmptyArea, CE_PopupMenuVerticalExtra, CE_PopupMenuHorizontalExtra, CE_ToolBoxTab, CE_HeaderLabel, CE_CustomBase = 0xf0000000 }; virtual void drawControl( ControlElement element, QPainter *p, const QWidget *widget, const QRect &r, const QColorGroup &cg, SFlags how = Style_Default, const QStyleOption& = QStyleOption::Default ) const = 0; virtual void drawControlMask( ControlElement element, QPainter *p, const QWidget *widget, const QRect &r, const QStyleOption& = QStyleOption::Default ) const = 0; enum SubRect { SR_PushButtonContents, SR_PushButtonFocusRect, SR_CheckBoxIndicator, SR_CheckBoxContents, SR_CheckBoxFocusRect, SR_RadioButtonIndicator, SR_RadioButtonContents, SR_RadioButtonFocusRect, SR_ComboBoxFocusRect, SR_SliderFocusRect, SR_DockWindowHandleRect, SR_ProgressBarGroove, SR_ProgressBarContents, SR_ProgressBarLabel, SR_ToolButtonContents, SR_DialogButtonAccept, SR_DialogButtonReject, SR_DialogButtonApply, SR_DialogButtonHelp, SR_DialogButtonAll, SR_DialogButtonAbort, SR_DialogButtonIgnore, SR_DialogButtonRetry, SR_DialogButtonCustom, SR_ToolBoxTabContents, SR_CustomBase = 0xf0000000 }; virtual QRect subRect( SubRect r, const QWidget *widget ) const = 0; enum ComplexControl{ CC_SpinWidget, CC_ComboBox, CC_ScrollBar, CC_Slider, CC_ToolButton, CC_TitleBar, CC_ListView, CC_CustomBase = 0xf0000000 }; enum SubControl { SC_None = 0x00000000, SC_ScrollBarAddLine = 0x00000001, SC_ScrollBarSubLine = 0x00000002, SC_ScrollBarAddPage = 0x00000004, SC_ScrollBarSubPage = 0x00000008, SC_ScrollBarFirst = 0x00000010, SC_ScrollBarLast = 0x00000020, SC_ScrollBarSlider = 0x00000040, SC_ScrollBarGroove = 0x00000080, SC_SpinWidgetUp = 0x00000001, SC_SpinWidgetDown = 0x00000002, SC_SpinWidgetFrame = 0x00000004, SC_SpinWidgetEditField = 0x00000008, SC_SpinWidgetButtonField = 0x00000010, SC_ComboBoxFrame = 0x00000001, SC_ComboBoxEditField = 0x00000002, SC_ComboBoxArrow = 0x00000004, SC_ComboBoxListBoxPopup = 0x00000008, SC_SliderGroove = 0x00000001, SC_SliderHandle = 0x00000002, SC_SliderTickmarks = 0x00000004, SC_ToolButton = 0x00000001, SC_ToolButtonMenu = 0x00000002, SC_TitleBarLabel = 0x00000001, SC_TitleBarSysMenu = 0x00000002, SC_TitleBarMinButton = 0x00000004, SC_TitleBarMaxButton = 0x00000008, SC_TitleBarCloseButton = 0x00000010, SC_TitleBarNormalButton = 0x00000020, SC_TitleBarShadeButton = 0x00000040, SC_TitleBarUnshadeButton = 0x00000080, SC_ListView = 0x00000001, SC_ListViewBranch = 0x00000002, SC_ListViewExpand = 0x00000004, SC_All = 0xffffffff }; typedef uint SCFlags; virtual void drawComplexControl( ComplexControl control, QPainter *p, const QWidget *widget, const QRect &r, const QColorGroup &cg, SFlags how = Style_Default, SCFlags sub = (uint)SC_All, SCFlags subActive = SC_None, const QStyleOption& = QStyleOption::Default ) const = 0; virtual void drawComplexControlMask( ComplexControl control, QPainter *p, const QWidget *widget, const QRect &r, const QStyleOption& = QStyleOption::Default ) const = 0; virtual QRect querySubControlMetrics( ComplexControl control, const QWidget *widget, SubControl sc, const QStyleOption& = QStyleOption::Default ) const = 0; virtual SubControl querySubControl( ComplexControl control, const QWidget *widget, const QPoint &pos, const QStyleOption& = QStyleOption::Default ) const = 0; enum PixelMetric { PM_ButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, PM_ButtonShiftHorizontal, PM_ButtonShiftVertical, PM_DefaultFrameWidth, PM_SpinBoxFrameWidth, PM_MaximumDragDistance, PM_ScrollBarExtent, PM_ScrollBarSliderMin, PM_SliderThickness, PM_SliderControlThickness, PM_SliderLength, PM_SliderTickmarkOffset, PM_SliderSpaceAvailable, PM_DockWindowSeparatorExtent, PM_DockWindowHandleExtent, PM_DockWindowFrameWidth, PM_MenuBarFrameWidth, PM_TabBarTabOverlap, PM_TabBarTabHSpace, PM_TabBarTabVSpace, PM_TabBarBaseHeight, PM_TabBarBaseOverlap, PM_ProgressBarChunkWidth, PM_SplitterWidth, PM_TitleBarHeight, PM_IndicatorWidth, PM_IndicatorHeight, PM_ExclusiveIndicatorWidth, PM_ExclusiveIndicatorHeight, PM_PopupMenuScrollerHeight, PM_CheckListButtonSize, PM_CheckListControllerSize, PM_PopupMenuFrameHorizontalExtra, PM_PopupMenuFrameVerticalExtra, PM_DialogButtonsSeparator, PM_DialogButtonsButtonWidth, PM_DialogButtonsButtonHeight, PM_MDIFrameWidth, PM_MDIMinimizedWidth, PM_HeaderMargin, PM_HeaderMarkSize, PM_HeaderGripMargin, PM_TabBarTabShiftHorizontal, PM_TabBarTabShiftVertical, PM_TabBarScrollButtonWidth, PM_MenuBarItemSpacing, PM_ToolBarItemSpacing, PM_CustomBase = 0xf0000000 }; virtual int pixelMetric( PixelMetric metric, const QWidget *widget = 0 ) const = 0; enum ContentsType { CT_PushButton, CT_CheckBox, CT_RadioButton, CT_ToolButton, CT_ComboBox, CT_Splitter, CT_DockWindow, CT_ProgressBar, CT_PopupMenuItem, CT_TabBarTab, CT_Slider, CT_Header, CT_LineEdit, CT_MenuBar, CT_SpinBox, CT_SizeGrip, CT_TabWidget, CT_DialogButtons, CT_CustomBase = 0xf0000000 }; virtual QSize sizeFromContents( ContentsType contents, const QWidget *widget, const QSize &contentsSize, const QStyleOption& = QStyleOption::Default ) const = 0; enum StyleHint { SH_EtchDisabledText, SH_GUIStyle, SH_ScrollBar_BackgroundMode, SH_ScrollBar_MiddleClickAbsolutePosition, SH_ScrollBar_ScrollWhenPointerLeavesControl, SH_TabBar_SelectMouseType, SH_TabBar_Alignment, SH_Header_ArrowAlignment, SH_Slider_SnapToValue, SH_Slider_SloppyKeyEvents, SH_ProgressDialog_CenterCancelButton, SH_ProgressDialog_TextLabelAlignment, SH_PrintDialog_RightAlignButtons, SH_MainWindow_SpaceBelowMenuBar, SH_FontDialog_SelectAssociatedText, SH_PopupMenu_AllowActiveAndDisabled, SH_PopupMenu_SpaceActivatesItem, SH_PopupMenu_SubMenuPopupDelay, SH_ScrollView_FrameOnlyAroundContents, SH_MenuBar_AltKeyNavigation, SH_ComboBox_ListMouseTracking, SH_PopupMenu_MouseTracking, SH_MenuBar_MouseTracking, SH_ItemView_ChangeHighlightOnFocus, SH_Widget_ShareActivation, SH_Workspace_FillSpaceOnMaximize, SH_ComboBox_Popup, SH_TitleBar_NoBorder, SH_ScrollBar_StopMouseOverSlider, SH_BlinkCursorWhenTextSelected, SH_RichText_FullWidthSelection, SH_PopupMenu_Scrollable, SH_GroupBox_TextLabelVerticalAlignment, SH_GroupBox_TextLabelColor, SH_PopupMenu_SloppySubMenus, SH_Table_GridLineColor, SH_LineEdit_PasswordCharacter, SH_DialogButtons_DefaultButton, SH_ToolBox_SelectedPageTitleBold, SH_TabBar_PreferNoArrows, SH_ScrollBar_LeftClickAbsolutePosition, SH_ListViewExpand_SelectMouseType, SH_UnderlineAccelerator, SH_ToolButton_Uses3D, SH_CustomBase = 0xf0000000 }; virtual int styleHint( StyleHint stylehint, const QWidget *widget = 0, const QStyleOption& = QStyleOption::Default, QStyleHintReturn* returnData = 0 ) const = 0; enum StylePixmap { SP_TitleBarMinButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, SP_TitleBarNormalButton, SP_TitleBarShadeButton, SP_TitleBarUnshadeButton, SP_DockWindowCloseButton, SP_MessageBoxInformation, SP_MessageBoxWarning, SP_MessageBoxCritical, SP_MessageBoxQuestion, SP_CustomBase = 0xf0000000 }; virtual QPixmap stylePixmap( StylePixmap stylepixmap, const QWidget *widget = 0, const QStyleOption& = QStyleOption::Default ) const = 0; static QRect visualRect( const QRect &logical, const QWidget *w ); static QRect visualRect( const QRect &logical, const QRect &bounding ); # 743 "/usr/qt/3/include/qstyle.h" private: QStylePrivate * d; QStyle( const QStyle & ); QStyle& operator=( const QStyle & ); }; # 46 "knuminput.cpp" 2 # 1 "../kdecore/kglobal.h" 1 # 21 "../kdecore/kglobal.h" # 1 "../kdecore/kdemacros.h" 1 # 22 "../kdecore/kglobal.h" 2 # 1 "../kdecore/kinstance.h" 1 # 21 "../kdecore/kinstance.h" class KStandardDirs; class KAboutData; class KConfig; class KIconLoader; class KCharsets; class QFont; class KInstancePrivate; class KMimeSourceFactory; class KSharedConfig; # 1 "/usr/qt/3/include/qstring.h" 1 # 32 "../kdecore/kinstance.h" 2 # 44 "../kdecore/kinstance.h" class KInstance { friend class KStandardDirs; public: KInstance( const QCString& instanceName) ; # 65 "../kdecore/kinstance.h" KInstance( const KAboutData * aboutData ); KInstance( KInstance* src ); virtual ~KInstance(); KStandardDirs *dirs() const; KConfig *config() const; KSharedConfig *sharedConfig() const; KIconLoader *iconLoader() const; void newIconLoader() const; const KAboutData *aboutData() const; QCString instanceName() const; KMimeSourceFactory* mimeSourceFactory () const; protected: KInstance( const KInstance& ); void setConfigName(const QString &name); private: mutable KStandardDirs *_dirs; mutable KConfig *_config; mutable KIconLoader *_iconLoader; QCString _name; const KAboutData *_aboutData; protected: virtual void virtual_hook( int id, void* data ); private: KInstancePrivate *d; }; # 23 "../kdecore/kglobal.h" 2 class KCharsets; class KConfig; class KSharedConfig; class KIconLoader; class KLocale; class KStandardDirs; class KStaticDeleterBase; class KStaticDeleterList; class KStringDict; class QString; # 45 "../kdecore/kglobal.h" class KGlobal { public: static KInstance *instance(); static KStandardDirs *dirs(); static KConfig *config(); static KSharedConfig *sharedConfig(); static KIconLoader *iconLoader(); static KLocale *locale(); static KCharsets *charsets(); # 110 "../kdecore/kglobal.h" static const QString &staticQString(const char *str); # 129 "../kdecore/kglobal.h" static const QString &staticQString(const QString &str); static void registerStaticDeleter(KStaticDeleterBase *d); static void unregisterStaticDeleter(KStaticDeleterBase *d); static void deleteStaticDeleters(); static KStringDict *_stringDict; static KInstance *_instance; static KLocale *_locale; static KCharsets *_charsets; static KStaticDeleterList *_staticDeleters; static void setActiveInstance(KInstance *d); static KInstance *activeInstance() { return _activeInstance; } static KInstance *_activeInstance; }; # 190 "../kdecore/kglobal.h" template inline const T& kMin (const T& a, const T& b) { return a < b ? a : b; } template inline const T& kMax (const T& a, const T& b) { return b < a ? a : b; } template inline T kAbs (const T& a) { return a < 0 ? -a : a; } # 48 "knuminput.cpp" 2 # 1 "../kdecore/klocale.h" 1 # 28 "../kdecore/klocale.h" class QStringList; class QTextCodec; class QDate; class QTime; class QDateTime; class KGlobal; class KConfig; class KConfigBase; class KLocalePrivate; class KCatalogue; class KCalendarSystem; # 62 "../kdecore/klocale.h" QString i18n(const char *text); # 71 "../kdecore/klocale.h" QString i18n(const char *comment, const char *text); QString i18n(const char *singular, const char *plural, unsigned long n); inline QString tr2i18n(const char* message, const char* =0) { return i18n(message); } # 103 "../kdecore/klocale.h" class KLocale { friend class KGlobal; public: # 123 "../kdecore/klocale.h" KLocale( const QString& catalog, KConfig *config = 0 ); KLocale( const KLocale & rhs ); KLocale& operator= ( const KLocale & rhs ); ~KLocale(); # 158 "../kdecore/klocale.h" QString translate( const char *index ) const; # 185 "../kdecore/klocale.h" QString translate( const char *comment, const char *fallback) const; # 197 "../kdecore/klocale.h" QString translate( const char *singular, const char *plural, unsigned long n) const; # 207 "../kdecore/klocale.h" bool setEncoding(int mibEnum); # 218 "../kdecore/klocale.h" bool setLanguage(const QString & language); # 229 "../kdecore/klocale.h" bool setLanguage(const QStringList & languages); # 240 "../kdecore/klocale.h" bool setCountry(const QString & country); enum SignPosition { ParensAround = 0, BeforeQuantityMoney = 1, AfterQuantityMoney = 2, BeforeMoney = 3, AfterMoney = 4 }; QString decimalSymbol() const; # 265 "../kdecore/klocale.h" QString thousandsSeparator() const; QString currencySymbol() const; # 282 "../kdecore/klocale.h" QString monetaryDecimalSymbol() const; # 291 "../kdecore/klocale.h" QString monetaryThousandsSeparator() const; QString positiveSign() const; QString negativeSign() const; int fracDigits() const; bool positivePrefixCurrencySymbol() const; bool negativePrefixCurrencySymbol() const; # 340 "../kdecore/klocale.h" SignPosition positiveMonetarySignPosition() const; # 349 "../kdecore/klocale.h" SignPosition negativeMonetarySignPosition() const; # 365 "../kdecore/klocale.h" QString formatMoney(double num, const QString & currency = QString::null, int digits = -1) const; # 381 "../kdecore/klocale.h" QString formatNumber(double num, int precision = -1) const; # 394 "../kdecore/klocale.h" QString formatLong(long num) const; # 404 "../kdecore/klocale.h" bool nounDeclension() const; # 415 "../kdecore/klocale.h" QString formatDate(const QDate &pDate, bool shortFormat = false) const; # 424 "../kdecore/klocale.h" bool dateMonthNamePossessive() const; # 436 "../kdecore/klocale.h" QString formatTime(const QTime &pTime, bool includeSecs = false) const; bool use12Clock() const; # 454 "../kdecore/klocale.h" bool weekStartsMonday() const __attribute__ ((deprecated)); int weekStartDay() const; # 474 "../kdecore/klocale.h" QString monthName(int i, bool shortName = false) const __attribute__ ((deprecated)); # 489 "../kdecore/klocale.h" QString monthNamePossessive(int i, bool shortName = false) const __attribute__ ((deprecated)); # 501 "../kdecore/klocale.h" QString weekDayName(int i, bool shortName = false) const __attribute__ ((deprecated)); const KCalendarSystem * calendar() const; # 518 "../kdecore/klocale.h" QString calendarType() const; # 528 "../kdecore/klocale.h" void setCalendar(const QString & calendarType); # 540 "../kdecore/klocale.h" QString formatDateTime(const QDateTime &pDateTime, bool shortFormat = true, bool includeSecs = false) const; # 553 "../kdecore/klocale.h" double readMoney(const QString &numStr, bool * ok = 0) const; # 564 "../kdecore/klocale.h" double readNumber(const QString &numStr, bool * ok = 0) const; # 576 "../kdecore/klocale.h" QDate readDate(const QString &str, bool* ok = 0) const; QDate readDate( const QString &intstr, const QString &fmt, bool* ok = 0) const; enum ReadDateFlags { NormalFormat = 1, ShortFormat = 2 }; # 602 "../kdecore/klocale.h" QDate readDate(const QString &str, ReadDateFlags flags, bool *ok = 0) const; # 615 "../kdecore/klocale.h" QTime readTime(const QString &str, bool* ok = 0) const; enum ReadTimeFlags { WithSeconds = 0, WithoutSeconds = 1 }; # 635 "../kdecore/klocale.h" QTime readTime(const QString &str, ReadTimeFlags flags, bool *ok = 0) const; # 644 "../kdecore/klocale.h" QString language() const; QString country() const; # 667 "../kdecore/klocale.h" QStringList languagesTwoAlpha() const; # 677 "../kdecore/klocale.h" QStringList languageList() const; # 687 "../kdecore/klocale.h" const char * encoding() const; # 697 "../kdecore/klocale.h" int encodingMib() const; # 706 "../kdecore/klocale.h" QTextCodec * codecForEncoding() const; # 716 "../kdecore/klocale.h" int fileEncodingMib() const; # 738 "../kdecore/klocale.h" void setDateFormat(const QString & format); # 759 "../kdecore/klocale.h" void setDateFormatShort(const QString & format); void setDateMonthNamePossessive(bool possessive); # 785 "../kdecore/klocale.h" void setTimeFormat(const QString & format); # 796 "../kdecore/klocale.h" void setWeekStartsMonday(bool start) __attribute__ ((deprecated)); void setWeekStartDay(int day); QString dateFormat() const; QString dateFormatShort() const; QString timeFormat() const; void setDecimalSymbol(const QString & symbol); void setThousandsSeparator(const QString & separator); void setPositiveSign(const QString & sign); void setNegativeSign(const QString & sign); void setPositiveMonetarySignPosition(SignPosition signpos); void setNegativeMonetarySignPosition(SignPosition signpos); void setPositivePrefixCurrencySymbol(bool prefix); void setNegativePrefixCurrencySymbol(bool prefix); void setFracDigits(int digits); void setMonetaryThousandsSeparator(const QString & separator); void setMonetaryDecimalSymbol(const QString & symbol); void setCurrencySymbol(const QString & symbol); int pageSize() const; void setPageSize(int paperFormat); enum MeasureSystem { Metric, Imperial }; MeasureSystem measureSystem() const; void setMeasureSystem(MeasureSystem value); # 950 "../kdecore/klocale.h" void insertCatalogue(const QString& catalog); void removeCatalogue(const QString &catalog); void setActiveCatalogue(const QString &catalog); QString translateQt(const char *context, const char *sourceText, const char *message) const; QStringList allLanguagesTwoAlpha() const; QString twoAlphaToLanguageName(const QString &code) const; QStringList allCountriesTwoAlpha() const; QString twoAlphaToCountryName(const QString &code) const; # 1014 "../kdecore/klocale.h" static void splitLocale(const QString & str, QString & language, QString & country, QString & charset); # 1027 "../kdecore/klocale.h" static void setMainCatalogue(const char *catalog); static QString langLookup(const QString &fname, const char *rtype = "html"); static QString defaultLanguage(); static QString defaultCountry(); static QString _initLanguage(KConfigBase *config); # 1064 "../kdecore/klocale.h" QString formatMoney(const QString &numStr) const __attribute__ ((deprecated)); QString formatNumber(const QString &numStr) const __attribute__ ((deprecated)); QString languages() const __attribute__ ((deprecated)); bool setCharset(const QString & charset) __attribute__ ((deprecated)); QString charset() const __attribute__ ((deprecated)); protected: static void initInstance(); private: void initFormat(KConfig *config); # 1115 "../kdecore/klocale.h" void initLanguage(KConfig * config, bool useEnv); void initEncoding(KConfig * config); void initCatalogue(const QString & catalog); void initFileNameEncoding(KConfig *config); static QCString encodeFileNameUTF8( const QString & fileName ); static QString decodeFileNameUTF8( const QCString & localFileName ); void initCatalogue( KCatalogue & catalog ); void doBindInit(); void doFormatInit() const; void initFormat(); QString translate_priv(const char *index, const char *text, const char ** original = 0) const; bool useDefaultLanguage() const; bool isLanguageInstalled(const QString & language) const; static QString catalogueFileName(const QString & language, const KCatalogue & catalog); private: QString m_decimalSymbol; QString m_thousandsSeparator; QString m_currencySymbol; QString m_monetaryDecimalSymbol; QString m_monetaryThousandsSeparator; QString m_positiveSign; QString m_negativeSign; int m_fracDigits; SignPosition m_positiveMonetarySignPosition; SignPosition m_negativeMonetarySignPosition; QString m_timeFormat; QString m_dateFormat; QString m_dateFormatShort; QString m_language; QString m_country; bool m_weekStartsMonday; bool m_positivePrefixCurrencySymbol; bool m_negativePrefixCurrencySymbol; KLocalePrivate *d; }; # 49 "knuminput.cpp" 2 # 1 "../kdecore/kdebug.h" 1 # 27 "../kdecore/kdebug.h" class QWidget; class QDateTime; class QDate; class QTime; class QPoint; class QSize; class QRect; class QRegion; class KURL; class QStringList; class QColor; class QPen; class QBrush; class kdbgstream; class kndbgstream; # 51 "../kdecore/kdebug.h" typedef kdbgstream & (*KDBGFUNC)(kdbgstream &); typedef kndbgstream & (*KNDBGFUNC)(kndbgstream &); # 62 "../kdecore/kdebug.h" class kdbgstreamprivate; # 76 "../kdecore/kdebug.h" class kdbgstream { public: kdbgstream(unsigned int _area, unsigned int _level, bool _print = true) : area(_area), level(_level), print(_print) { } kdbgstream(const char * initialString, unsigned int _area, unsigned int _level, bool _print = true) : output(QString::fromLatin1(initialString)), area(_area), level(_level), print(_print) { } kdbgstream(kdbgstream &str) : output(str.output), area(str.area), level(str.level), print(str.print) { str.output.truncate(0); } kdbgstream(const kdbgstream &str) : output(str.output), area(str.area), level(str.level), print(str.print) {} ~kdbgstream(); kdbgstream &operator<<(bool i) { if (!print) return *this; output += QString::fromLatin1(i ? "true" : "false"); return *this; } kdbgstream &operator<<(short i) { if (!print) return *this; QString tmp; tmp.setNum(i); output += tmp; return *this; } kdbgstream &operator<<(unsigned short i) { if (!print) return *this; QString tmp; tmp.setNum(i); output += tmp; return *this; } kdbgstream &operator<<(char i); kdbgstream &operator<<(unsigned char i) { return operator<<( static_cast( i ) ); } kdbgstream &operator<<(int i) { if (!print) return *this; QString tmp; tmp.setNum(i); output += tmp; return *this; } kdbgstream &operator<<(unsigned int i) { if (!print) return *this; QString tmp; tmp.setNum(i); output += tmp; return *this; } kdbgstream &operator<<(long i) { if (!print) return *this; QString tmp; tmp.setNum(i); output += tmp; return *this; } kdbgstream &operator<<(unsigned long i) { if (!print) return *this; QString tmp; tmp.setNum(i); output += tmp; return *this; } void flush(); kdbgstream &operator<<(const QString& string) { if (!print) return *this; output += string; if (output.at(output.length() -1 ) == '\n') flush(); return *this; } kdbgstream &operator<<(const char *string) { if (!print) return *this; output += QString::fromUtf8(string); if (output.at(output.length() - 1) == '\n') flush(); return *this; } kdbgstream &operator<<(const QCString& string) { *this << string.data(); return *this; } kdbgstream& operator<<(const void * p) { form("%p", p); return *this; } kdbgstream& operator<<(KDBGFUNC f) { if (!print) return *this; return (*f)(*this); } kdbgstream& operator<<(double d) { QString tmp; tmp.setNum(d); output += tmp; return *this; } kdbgstream &form(const char *format, ...) __attribute__ ( ( format ( printf, 2, 3 ) ) ) ; kdbgstream& operator << (const QWidget* widget); kdbgstream& operator << (QWidget* widget); kdbgstream& operator << ( const QDateTime& dateTime ); kdbgstream& operator << ( const QDate& date ); kdbgstream& operator << ( const QTime& time ); kdbgstream& operator << ( const QPoint& point ); kdbgstream& operator << ( const QSize& size ); kdbgstream& operator << ( const QRect& rect); kdbgstream& operator << ( const QRegion& region); kdbgstream& operator << ( const KURL& url ); kdbgstream& operator << ( const QStringList& list); kdbgstream& operator << ( const QColor& color); kdbgstream& operator << ( const QPen& pen ); kdbgstream& operator << ( const QBrush& brush ); private: QString output; unsigned int area, level; bool print; kdbgstreamprivate* d; }; inline kdbgstream &endl( kdbgstream &s) { s << "\n"; return s; } inline kdbgstream &flush( kdbgstream &s) { s.flush(); return s; } kdbgstream &perror( kdbgstream &s); class kndbgstream { public: kndbgstream() {} ~kndbgstream() {} kndbgstream &operator<<(short int ) { return *this; } kndbgstream &operator<<(unsigned short int ) { return *this; } kndbgstream &operator<<(char ) { return *this; } kndbgstream &operator<<(unsigned char ) { return *this; } kndbgstream &operator<<(int ) { return *this; } kndbgstream &operator<<(unsigned int ) { return *this; } void flush() {} kndbgstream &operator<<(const QString& ) { return *this; } kndbgstream &operator<<(const QCString& ) { return *this; } kndbgstream &operator<<(const char *) { return *this; } kndbgstream& operator<<(const void *) { return *this; } kndbgstream& operator<<(void *) { return *this; } kndbgstream& operator<<(double) { return *this; } kndbgstream& operator<<(long) { return *this; } kndbgstream& operator<<(unsigned long) { return *this; } kndbgstream& operator<<(KNDBGFUNC) { return *this; } kndbgstream& operator << (const QWidget*) { return *this; } kndbgstream& operator << (QWidget*) { return *this; } kndbgstream &form(const char *, ...) { return *this; } kndbgstream& operator<<( const QDateTime& ) { return *this; } kndbgstream& operator<<( const QDate& ) { return *this; } kndbgstream& operator<<( const QTime& ) { return *this; } kndbgstream& operator<<( const QPoint & ) { return *this; } kndbgstream& operator<<( const QSize & ) { return *this; } kndbgstream& operator<<( const QRect & ) { return *this; } kndbgstream& operator<<( const QRegion & ) { return *this; } kndbgstream& operator<<( const KURL & ) { return *this; } kndbgstream& operator<<( const QStringList & ) { return *this; } kndbgstream& operator<<( const QColor & ) { return *this; } kndbgstream& operator<<( const QPen & ) { return *this; } kndbgstream& operator<<( const QBrush & ) { return *this; } }; inline kndbgstream &endl( kndbgstream & s) { return s; } inline kndbgstream &flush( kndbgstream & s) { return s; } inline kndbgstream &perror( kndbgstream & s) { return s; } # 508 "../kdecore/kdebug.h" kdbgstream kdDebug(int area = 0); kdbgstream kdDebug(bool cond, int area = 0); QString kdBacktrace(); QString kdBacktrace(int levels); inline kndbgstream kndDebug(int area = 0) { (void)area;; return kndbgstream(); } inline kndbgstream kndDebug(bool , int = 0) { return kndbgstream(); } inline QString kndBacktrace() { return QString::null; } inline QString kndBacktrace(int) { return QString::null; } kdbgstream kdWarning(int area = 0); kdbgstream kdWarning(bool cond, int area = 0); kdbgstream kdError(int area = 0); kdbgstream kdError(bool cond, int area = 0); kdbgstream kdFatal(int area = 0); kdbgstream kdFatal(bool cond, int area = 0); void kdClearDebugConfig(); # 50 "knuminput.cpp" 2 # 1 "kdialog.h" 1 # 24 "kdialog.h" class QLayoutItem; # 1 "/usr/qt/3/include/qdialog.h" 1 # 49 "/usr/qt/3/include/qdialog.h" class QPushButton; class QDialogPrivate; class QDialog : public QWidget { friend class QPushButton; public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: explicit QDialog( QWidget* parent=0, const char* name=0, bool modal=FALSE, WFlags f=0 ); ~QDialog(); enum DialogCode { Rejected, Accepted }; int result() const { return rescode; } void show(); void hide(); void move( int x, int y ); void move( const QPoint &p ); void resize( int w, int h ); void resize( const QSize & ); void setGeometry( int x, int y, int w, int h ); void setGeometry( const QRect & ); void setOrientation( Orientation orientation ); Orientation orientation() const; void setExtension( QWidget* extension ); QWidget* extension() const; QSize sizeHint() const; QSize minimumSizeHint() const; void setSizeGripEnabled( bool ); bool isSizeGripEnabled() const; void setModal( bool modal ); bool isModal() const; public : int exec(); protected : virtual void done( int ); virtual void accept(); virtual void reject(); void showExtension( bool ); protected: void setResult( int r ) { rescode = r; } void keyPressEvent( QKeyEvent * ); void closeEvent( QCloseEvent * ); void resizeEvent( QResizeEvent * ); void contextMenuEvent( QContextMenuEvent * ); bool eventFilter( QObject *, QEvent * ); void adjustPosition( QWidget*); private: void setDefault( QPushButton * ); void setMainDefault( QPushButton * ); void hideDefault(); int rescode; uint did_move : 1; uint has_relpos : 1; uint did_resize : 1; uint in_loop: 1; void adjustPositionInternal( QWidget*, bool useRelPos = FALSE ); QDialogPrivate* d; private: QDialog( const QDialog & ); QDialog &operator=( const QDialog & ); }; # 27 "kdialog.h" 2 # 51 "kdialog.h" class KDialog : public QDialog { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: KDialog(QWidget *parent = 0, const char *name = 0, bool modal = false, WFlags f = 0); static int marginHint(); static int spacingHint(); # 84 "kdialog.h" static void resizeLayout( QWidget *widget, int margin, int spacing ); # 93 "kdialog.h" static void resizeLayout( QLayoutItem *lay, int margin, int spacing ); # 105 "kdialog.h" static void centerOnScreen( QWidget *widget, int screen = -1 ); # 116 "kdialog.h" static bool avoidArea( QWidget *widget, const QRect& area, int screen = -1 ); public : virtual void polish(); # 132 "kdialog.h" virtual void setCaption( const QString &caption ); virtual void setPlainCaption( const QString &caption ); protected: virtual void keyPressEvent(QKeyEvent*); protected: void layoutHintChanged(); private: static int mMarginSize; static int mSpacingSize; protected: virtual void virtual_hook( int id, void* data ); private: class KDialogPrivate; KDialogPrivate *d; }; # 188 "kdialog.h" class KDialogQueuePrivate; class KDialogQueue : public QObject { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: static void queueDialog(QDialog *); ~KDialogQueue(); protected: KDialogQueue(); static KDialogQueue *self(); private : void slotShowQueuedDialog(); protected: KDialogQueuePrivate *d; static KDialogQueue *_self; }; # 52 "knuminput.cpp" 2 # 1 "knumvalidator.h" 1 # 27 "knumvalidator.h" # 1 "/usr/qt/3/include/qvalidator.h" 1 # 44 "/usr/qt/3/include/qvalidator.h" # 1 "/usr/qt/3/include/qregexp.h" 1 # 46 "/usr/qt/3/include/qregexp.h" class QRegExpEngine; struct QRegExpPrivate; class QRegExp { public: enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch }; QRegExp(); QRegExp( const QString& pattern, bool caseSensitive = TRUE, bool wildcard = FALSE ); QRegExp( const QRegExp& rx ); ~QRegExp(); QRegExp& operator=( const QRegExp& rx ); bool operator==( const QRegExp& rx ) const; bool operator!=( const QRegExp& rx ) const { return !operator==( rx ); } bool isEmpty() const; bool isValid() const; QString pattern() const; void setPattern( const QString& pattern ); bool caseSensitive() const; void setCaseSensitive( bool sensitive ); bool wildcard() const; void setWildcard( bool wildcard ); bool minimal() const; void setMinimal( bool minimal ); bool exactMatch( const QString& str ) const; # 90 "/usr/qt/3/include/qregexp.h" int search( const QString& str, int offset = 0 ) const; int search( const QString& str, int offset, CaretMode caretMode ) const; int searchRev( const QString& str, int offset = -1 ) const; int searchRev( const QString& str, int offset, CaretMode caretMode ) const; int matchedLength() const; int numCaptures() const; QStringList capturedTexts(); QString cap( int nth = 0 ); int pos( int nth = 0 ); QString errorString(); static QString escape( const QString& str ); private: void prepareEngine() const; void prepareEngineForMatch( const QString& str ) const; void invalidateEngine(); static int caretIndex( int offset, CaretMode caretMode ); QRegExpEngine *eng; QRegExpPrivate *priv; }; # 45 "/usr/qt/3/include/qvalidator.h" 2 class QValidator : public QObject { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QValidator( QObject * parent, const char *name = 0 ); ~QValidator(); enum State { Invalid, Intermediate, Valid=Intermediate, Acceptable }; virtual State validate( QString &, int & ) const = 0; virtual void fixup( QString & ) const; private: QValidator( const QValidator & ); QValidator& operator=( const QValidator & ); }; class QIntValidator : public QValidator { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QIntValidator( QObject * parent, const char *name = 0 ); QIntValidator( int bottom, int top, QObject * parent, const char *name = 0 ); ~QIntValidator(); QValidator::State validate( QString &, int & ) const; void setBottom( int ); void setTop( int ); virtual void setRange( int bottom, int top ); int bottom() const { return b; } int top() const { return t; } private: QIntValidator( const QIntValidator & ); QIntValidator& operator=( const QIntValidator & ); int b, t; }; class QDoubleValidator : public QValidator { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QDoubleValidator( QObject * parent, const char *name = 0 ); QDoubleValidator( double bottom, double top, int decimals, QObject * parent, const char *name = 0 ); ~QDoubleValidator(); QValidator::State validate( QString &, int & ) const; virtual void setRange( double bottom, double top, int decimals = 0 ); void setBottom( double ); void setTop( double ); void setDecimals( int ); double bottom() const { return b; } double top() const { return t; } int decimals() const { return d; } private: QDoubleValidator( const QDoubleValidator & ); QDoubleValidator& operator=( const QDoubleValidator & ); double b, t; int d; }; class QRegExpValidator : public QValidator { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: QRegExpValidator( QObject *parent, const char *name = 0 ); QRegExpValidator( const QRegExp& rx, QObject *parent, const char *name = 0 ); ~QRegExpValidator(); virtual QValidator::State validate( QString& input, int& pos ) const; void setRegExp( const QRegExp& rx ); const QRegExp& regExp() const { return r; } private: QRegExpValidator( const QRegExpValidator& ); QRegExpValidator& operator=( const QRegExpValidator& ); QRegExp r; }; # 28 "knumvalidator.h" 2 class QWidget; class QString; # 42 "knumvalidator.h" class KIntValidator : public QValidator { public: KIntValidator ( QWidget * parent, int base = 10, const char * name = 0 ); KIntValidator ( int bottom, int top, QWidget * parent, int base = 10, const char * name = 0 ); virtual ~KIntValidator (); virtual State validate ( QString &, int & ) const; virtual void fixup ( QString & ) const; virtual void setRange ( int bottom, int top ); virtual void setBase ( int base ); virtual int bottom () const; virtual int top () const; virtual int base () const; private: int _base; int _min; int _max; }; class KFloatValidatorPrivate; # 106 "knumvalidator.h" class KFloatValidator : public QValidator { public: KFloatValidator ( QWidget * parent, const char * name = 0 ); KFloatValidator ( double bottom, double top, QWidget * parent, const char * name = 0 ); KFloatValidator ( double bottom, double top, bool localeAware, QWidget * parent, const char * name = 0 ); virtual ~KFloatValidator (); virtual State validate ( QString &, int & ) const; virtual void fixup ( QString & ) const; virtual void setRange ( double bottom, double top ); virtual double bottom () const; virtual double top () const; void setAcceptLocalizedNumbers(bool b); bool acceptLocalizedNumbers() const; private: double _min; double _max; KFloatValidatorPrivate *d; }; # 178 "knumvalidator.h" class KDoubleValidator : public QDoubleValidator { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: KDoubleValidator( QObject * parent, const char * name=0 ); KDoubleValidator( double bottom, double top, int decimals, QObject * parent, const char * name=0 ); virtual ~KDoubleValidator(); virtual QValidator::State validate( QString & input, int & pos ) const; bool acceptLocalizedNumbers() const; void setAcceptLocalizedNumbers( bool accept ); private: typedef QDoubleValidator base; class Private; Private * d; }; # 53 "knuminput.cpp" 2 # 1 "knuminput.h" 1 # 30 "knuminput.h" # 1 "/usr/qt/3/include/qwidget.h" 1 # 31 "knuminput.h" 2 # 1 "../kdecore/kdemacros.h" 1 # 33 "knuminput.h" 2 class QLabel; class QSlider; class QLineEdit; class QLayout; class QValidator; class KIntSpinBox; # 49 "knuminput.h" class KNumInput : public QWidget { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: KNumInput(QWidget* parent=0, const char* name=0); KNumInput(KNumInput* below, QWidget* parent=0, const char* name=0); ~KNumInput(); # 85 "knuminput.h" virtual void setLabel(const QString & label, int a = AlignLeft | AlignTop); QString label() const; bool showSlider() const { return m_slider; } void setSteps(int minor, int major); QSizePolicy sizePolicy() const; virtual QSize sizeHint() const; protected: void layout(bool deep); # 135 "knuminput.h" virtual void doLayout() = 0; KNumInput* m_prev, *m_next; int m_colw1, m_colw2; QLabel* m_label; QSlider* m_slider; QSize m_sizeSlider, m_sizeLabel; int m_alignment; private: void init(); protected: virtual void virtual_hook( int id, void* data ); private: class KNumInputPrivate; KNumInputPrivate *d; }; # 184 "knuminput.h" class KIntNumInput : public KNumInput { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: KIntNumInput(QWidget *parent=0, const char *name=0); # 213 "knuminput.h" KIntNumInput(int value, QWidget* parent=0, int base = 10, const char *name=0); # 232 "knuminput.h" KIntNumInput(KNumInput* below, int value, QWidget* parent=0, int base = 10, const char *name=0); virtual ~KIntNumInput(); int value() const; double relativeValue() const; int referencePoint() const; QString suffix() const; QString prefix() const; QString specialValueText() const; void setRange(int min, int max, int step=1, bool slider=true); void setMinValue(int min); int minValue() const; void setMaxValue(int max); int maxValue() const; void setSpecialValueText(const QString& text); virtual void setLabel(const QString & label, int a = AlignLeft | AlignTop); # 315 "knuminput.h" virtual QSize minimumSizeHint() const; public : void setValue(int); void setRelativeValue(double); void setReferencePoint(int); # 344 "knuminput.h" void setSuffix(const QString &suffix); # 353 "knuminput.h" void setPrefix(const QString &prefix); void setEditFocus( bool mark = true ); protected: void valueChanged(int); void relativeValueChanged(double); private : void spinValueChanged(int); void slotEmitRelativeValueChanged(int); protected: virtual void doLayout(); void resizeEvent ( QResizeEvent * ); KIntSpinBox* m_spin; QSize m_sizeSpin; private: void init(int value, int _base); protected: virtual void virtual_hook( int id, void* data ); private: class KIntNumInputPrivate; KIntNumInputPrivate *d; }; class KDoubleLine; # 427 "knuminput.h" class KDoubleNumInput : public KNumInput { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: KDoubleNumInput(QWidget *parent=0, const char *name=0); # 453 "knuminput.h" KDoubleNumInput(double value, QWidget *parent=0, const char *name=0) __attribute__ ((deprecated)); # 467 "knuminput.h" KDoubleNumInput(double lower, double upper, double value, double step=0.01, int precision=2, QWidget *parent=0, const char *name=0); virtual ~KDoubleNumInput(); # 486 "knuminput.h" KDoubleNumInput(KNumInput* below, double value, QWidget* parent=0, const char* name=0) __attribute__ ((deprecated)); # 509 "knuminput.h" KDoubleNumInput(KNumInput* below, double lower, double upper, double value, double step=0.02, int precision=2, QWidget *parent=0, const char *name=0); double value() const; QString suffix() const; QString prefix() const; int precision() const; QString specialValueText() const { return m_specialvalue; } void setRange(double min, double max, double step=1, bool slider=true); void setMinValue(double min); double minValue() const; void setMaxValue(double max); double maxValue() const; void setPrecision(int precision); double referencePoint() const; double relativeValue() const; void setSpecialValueText(const QString& text); virtual void setLabel(const QString & label, int a = AlignLeft | AlignTop); virtual QSize minimumSizeHint() const; virtual bool eventFilter(QObject*, QEvent*); public : void setValue(double); void setRelativeValue(double); void setReferencePoint(double ref); # 622 "knuminput.h" void setSuffix(const QString &suffix); void setPrefix(const QString &prefix); protected: void valueChanged(double); void relativeValueChanged(double); private : void sliderMoved(int); void slotEmitRelativeValueChanged(double); protected: virtual void doLayout(); void resizeEvent ( QResizeEvent * ); virtual void resetEditBox(); KDoubleLine* edit; bool m_range; double m_lower, m_upper, m_step; QSize m_sizeEdit; friend class KDoubleLine; private: void init(double value, double lower, double upper, double step, int precision); double mapSliderToSpin(int) const; void updateLegacyMembers(); QString m_specialvalue, m_prefix, m_suffix; double m_value; short m_precision; protected: virtual void virtual_hook( int id, void* data ); private: class KDoubleNumInputPrivate; KDoubleNumInputPrivate *d; }; # 697 "knuminput.h" class KIntSpinBox : public QSpinBox { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: # 711 "knuminput.h" KIntSpinBox( QWidget *parent=0, const char *name=0); # 727 "knuminput.h" KIntSpinBox(int lower, int upper, int step, int value, int base = 10, QWidget* parent = 0, const char* name = 0); virtual ~KIntSpinBox(); void setBase(int base); int base() const; void setEditFocus(bool mark); protected: virtual QString mapValueToText(int); virtual int mapTextToValue(bool*); private: int val_base; protected: virtual void virtual_hook( int id, void* data ); private: class KIntSpinBoxPrivate; KIntSpinBoxPrivate *d; }; # 823 "knuminput.h" class KDoubleSpinBox : public QSpinBox { public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int id, int f, QVariant* v); static bool qt_static_property( QObject* , int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj; public: KDoubleSpinBox( QWidget * parent=0, const char * name=0 ); KDoubleSpinBox( double lower, double upper, double step, double value, int precision=2, QWidget * parent=0, const char * name=0 ); virtual ~KDoubleSpinBox(); bool acceptLocalizedNumbers() const; virtual void setAcceptLocalizedNumbers( bool accept ); void setRange( double lower, double upper, double step=0.01, int precision=2 ); int precision() const; void setPrecision( int precision ); # 874 "knuminput.h" virtual void setPrecision( int precision, bool force ); double value() const; double minValue() const; void setMinValue( double value ); double maxValue() const; void setMaxValue( double value ); double lineStep() const; void setLineStep( double step ); void setValidator( const QValidator * ); protected: void valueChanged( double value ); public : virtual void setValue( double value ); protected: virtual QString mapValueToText(int); virtual int mapTextToValue(bool*); protected : void slotValueChanged( int value ); protected: virtual void virtual_hook( int id, void* data ); private: typedef QSpinBox base; void updateValidator(); int maxPrecision() const; class Private; Private * d; }; # 54 "knuminput.cpp" 2 static inline int calcDiffByTen( int x, int y ) { return ( x / 10 ) - ( y / 10 ) + ( x % 10 - y % 10 ) / 10; } KNumInput::KNumInput(QWidget* parent, const char* name) : QWidget(parent, name) { init(); } KNumInput::KNumInput(KNumInput* below, QWidget* parent, const char* name) : QWidget(parent, name) { init(); if(below) { m_next = below->m_next; m_prev = below; below->m_next = this; if(m_next) m_next->m_prev = this; } } void KNumInput::init() { m_prev = m_next = 0; m_colw1 = m_colw2 = 0; m_label = 0; m_slider = 0; m_alignment = 0; } KNumInput::~KNumInput() { if(m_prev) m_prev->m_next = m_next; if(m_next) m_next->m_prev = m_prev; } void KNumInput::setLabel(const QString & label, int a) { if(label.isEmpty()) { delete m_label; m_label = 0; m_alignment = 0; } else { if (m_label) m_label->setText(label); else m_label = new QLabel(label, this, "KNumInput::QLabel"); m_label->setAlignment((a & (~(AlignTop|AlignBottom|AlignVCenter))) | AlignVCenter); if(!(a & (AlignTop|AlignBottom|AlignVCenter))) a |= AlignTop; m_alignment = a; } layout(true); } QString KNumInput::label() const { if (m_label) return m_label->text(); return QString::null; } void KNumInput::layout(bool deep) { int w1 = m_colw1; int w2 = m_colw2; m_sizeLabel = (m_label ? m_label->sizeHint() : QSize(0,0)); if(m_label && (m_alignment & AlignVCenter)) m_colw1 = m_sizeLabel.width() + 4; else m_colw1 = 0; m_sizeSlider = (m_slider ? m_slider->sizeHint() : QSize(0, 0)); doLayout(); if(!deep) { m_colw1 = w1; m_colw2 = w2; return; } KNumInput* p = this; while(p) { p->doLayout(); w1 = ((p->m_colw1) < (w1) ? (w1) : (p->m_colw1)); w2 = ((p->m_colw2) < (w2) ? (w2) : (p->m_colw2)); p = p->m_prev; } p = m_next; while(p) { p->doLayout(); w1 = ((p->m_colw1) < (w1) ? (w1) : (p->m_colw1)); w2 = ((p->m_colw2) < (w2) ? (w2) : (p->m_colw2)); p = p->m_next; } p = this; while(p) { p->m_colw1 = w1; p->m_colw2 = w2; p = p->m_prev; } p = m_next; while(p) { p->m_colw1 = w1; p->m_colw2 = w2; p = p->m_next; } } QSizePolicy KNumInput::sizePolicy() const { return QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Fixed ); } QSize KNumInput::sizeHint() const { return minimumSizeHint(); } void KNumInput::setSteps(int minor, int major) { if(m_slider) m_slider->setSteps( minor, major ); } KIntSpinBox::KIntSpinBox(QWidget *parent, const char *name) : QSpinBox(0, 99, 1, parent, name) { editor()->setAlignment(AlignRight); val_base = 10; setValue(0); } KIntSpinBox::~KIntSpinBox() { } KIntSpinBox::KIntSpinBox(int lower, int upper, int step, int value, int base, QWidget* parent, const char* name) : QSpinBox(lower, upper, step, parent, name) { editor()->setAlignment(AlignRight); val_base = base; setValue(value); } void KIntSpinBox::setBase(int base) { val_base = base; } int KIntSpinBox::base() const { return val_base; } QString KIntSpinBox::mapValueToText(int v) { return QString::number(v, val_base); } int KIntSpinBox::mapTextToValue(bool* ok) { return cleanText().toInt(ok, val_base); } void KIntSpinBox::setEditFocus(bool mark) { editor()->setFocus(); if(mark) editor()->selectAll(); } class KIntNumInput::KIntNumInputPrivate { public: int referencePoint; short blockRelative; KIntNumInputPrivate( int r ) : referencePoint( r ), blockRelative( 0 ) {} }; KIntNumInput::KIntNumInput(KNumInput* below, int val, QWidget* parent, int _base, const char* name) : KNumInput(below, parent, name) { init(val, _base); } KIntNumInput::KIntNumInput(QWidget *parent, const char *name) : KNumInput(parent, name) { init(0, 10); } KIntNumInput::KIntNumInput(int val, QWidget *parent, int _base, const char *name) : KNumInput(parent, name) { init(val, _base); } void KIntNumInput::init(int val, int _base) { d = new KIntNumInputPrivate( val ); m_spin = new KIntSpinBox((-2147483647 - 1), 2147483647, 1, val, _base, this, "KIntNumInput::KIntSpinBox"); if (_base != 10) m_spin->setValidator(new KIntValidator(this, _base, "KNumInput::KIntValidtr")); connect(m_spin, "2""valueChanged(int)", "1""spinValueChanged(int)"); connect(this, "2""valueChanged(int)", "1""slotEmitRelativeValueChanged(int)"); setFocusProxy(m_spin); layout(true); } void KIntNumInput::setReferencePoint( int ref ) { ref = kMin( maxValue(), kMax( minValue(), ref ) ); d->referencePoint = ref; } int KIntNumInput::referencePoint() const { return d->referencePoint; } void KIntNumInput::spinValueChanged(int val) { if(m_slider) m_slider->setValue(val); valueChanged(val); } void KIntNumInput::slotEmitRelativeValueChanged( int value ) { if ( d->blockRelative || !d->referencePoint ) return; relativeValueChanged( double( value ) / double( d->referencePoint ) ); } void KIntNumInput::setRange(int lower, int upper, int step, bool slider) { upper = kMax(upper, lower); lower = kMin(upper, lower); m_spin->setMinValue(lower); m_spin->setMaxValue(upper); m_spin->setLineStep(step); step = m_spin->lineStep(); if(slider) { if (m_slider) m_slider->setRange(lower, upper); else { m_slider = new QSlider(lower, upper, step, m_spin->value(), QSlider::Horizontal, this); m_slider->setTickmarks(QSlider::Below); connect(m_slider, "2""valueChanged(int)", m_spin, "1""setValue(int)"); } int major = calcDiffByTen( upper, lower ); if ( major==0 ) major = step; m_slider->setSteps(step, major); m_slider->setTickInterval(major); } else { delete m_slider; m_slider = 0; } setReferencePoint( referencePoint() ); layout(true); } void KIntNumInput::setMinValue(int min) { setRange(min, m_spin->maxValue(), m_spin->lineStep(), m_slider); } int KIntNumInput::minValue() const { return m_spin->minValue(); } void KIntNumInput::setMaxValue(int max) { setRange(m_spin->minValue(), max, m_spin->lineStep(), m_slider); } int KIntNumInput::maxValue() const { return m_spin->maxValue(); } void KIntNumInput::setSuffix(const QString &suffix) { m_spin->setSuffix(suffix); layout(true); } QString KIntNumInput::suffix() const { return m_spin->suffix(); } void KIntNumInput::setPrefix(const QString &prefix) { m_spin->setPrefix(prefix); layout(true); } QString KIntNumInput::prefix() const { return m_spin->prefix(); } void KIntNumInput::setEditFocus(bool mark) { m_spin->setEditFocus(mark); } QSize KIntNumInput::minimumSizeHint() const { constPolish(); int w; int h; h = 2 + ((m_sizeSlider.height()) < (m_sizeSpin.height()) ? (m_sizeSpin.height()) : (m_sizeSlider.height())); if(m_label && (m_alignment & (AlignBottom|AlignTop))) h += 4 + m_sizeLabel.height(); else h = ((m_sizeLabel.height() + 2) < (h) ? (h) : (m_sizeLabel.height() + 2)); w = m_slider ? m_slider->sizeHint().width() + 8 : 0; w += m_colw1 + m_colw2; if(m_alignment & (AlignTop|AlignBottom)) w = ((m_sizeLabel.width() + 4) < (w) ? (w) : (m_sizeLabel.width() + 4)); return QSize(w, h); } void KIntNumInput::doLayout() { m_sizeSpin = m_spin->sizeHint(); m_colw2 = m_sizeSpin.width(); if (m_label) m_label->setBuddy(m_spin); } void KIntNumInput::resizeEvent(QResizeEvent* e) { int w = m_colw1; int h = 0; if(m_label && (m_alignment & AlignTop)) { m_label->setGeometry(0, 0, e->size().width(), m_sizeLabel.height()); h += m_sizeLabel.height() + KDialog::spacingHint(); } if(m_label && (m_alignment & AlignVCenter)) m_label->setGeometry(0, 0, w, m_sizeSpin.height()); if (qApp->reverseLayout()) { m_spin->setGeometry(w, h, m_slider ? m_colw2 : ((e->size().width() - w) < (m_colw2) ? (m_colw2) : (e->size().width() - w)), m_sizeSpin.height()); w += m_colw2 + 8; if(m_slider) m_slider->setGeometry(w, h, e->size().width() - w, m_sizeSpin.height()); } else if(m_slider) { m_slider->setGeometry(w, h, e->size().width() - (w + m_colw2 + KDialog::spacingHint()), m_sizeSpin.height()); m_spin->setGeometry(w + m_slider->size().width() + KDialog::spacingHint(), h, m_colw2, m_sizeSpin.height()); } else { m_spin->setGeometry(w, h, ((e->size().width() - w) < (m_colw2) ? (m_colw2) : (e->size().width() - w)), m_sizeSpin.height()); } h += m_sizeSpin.height() + 2; if(m_label && (m_alignment & AlignBottom)) m_label->setGeometry(0, h, m_sizeLabel.width(), m_sizeLabel.height()); } KIntNumInput::~KIntNumInput() { delete d; } void KIntNumInput::setValue(int val) { m_spin->setValue(val); } void KIntNumInput::setRelativeValue( double r ) { if ( !d->referencePoint ) return; ++d->blockRelative; setValue( int( d->referencePoint * r + 0.5 ) ); --d->blockRelative; } double KIntNumInput::relativeValue() const { if ( !d->referencePoint ) return 0; return double( value() ) / double ( d->referencePoint ); } int KIntNumInput::value() const { return m_spin->value(); } void KIntNumInput::setSpecialValueText(const QString& text) { m_spin->setSpecialValueText(text); layout(true); } QString KIntNumInput::specialValueText() const { return m_spin->specialValueText(); } void KIntNumInput::setLabel(const QString & label, int a) { KNumInput::setLabel(label, a); if(m_label) m_label->setBuddy(m_spin); } class KDoubleNumInput::KDoubleNumInputPrivate { public: KDoubleNumInputPrivate( double r ) : spin( 0 ), referencePoint( r ), blockRelative ( 0 ) {} KDoubleSpinBox * spin; double referencePoint; short blockRelative; }; KDoubleNumInput::KDoubleNumInput(QWidget *parent, const char *name) : KNumInput(parent, name) { init(0.0, 0.0, 9999.0, 0.01, 2); } KDoubleNumInput::KDoubleNumInput(double lower, double upper, double value, double step, int precision, QWidget* parent, const char *name) : KNumInput(parent, name) { init(value, lower, upper, step, precision); } KDoubleNumInput::KDoubleNumInput(KNumInput *below, double lower, double upper, double value, double step, int precision, QWidget* parent, const char *name) : KNumInput(below, parent, name) { init(value, lower, upper, step, precision); } KDoubleNumInput::KDoubleNumInput(double value, QWidget *parent, const char *name) : KNumInput(parent, name) { init(value, kMin(0.0, value), kMax(0.0, value), 0.01, 2 ); } KDoubleNumInput::KDoubleNumInput(KNumInput* below, double value, QWidget* parent, const char* name) : KNumInput(below, parent, name) { init( value, kMin(0.0, value), kMax(0.0, value), 0.01, 2 ); } KDoubleNumInput::~KDoubleNumInput() { delete d; } bool KDoubleNumInput::eventFilter( QObject * o, QEvent * e ) { return KNumInput::eventFilter( o, e ); } void KDoubleNumInput::resetEditBox() { } void KDoubleNumInput::init(double value, double lower, double upper, double step, int precision ) { edit = 0; m_range = true; m_value = 0.0; m_precision = 2; d = new KDoubleNumInputPrivate( value ); d->spin = new KDoubleSpinBox( lower, upper, step, value, precision, this, "KDoubleNumInput::d->spin" ); setFocusProxy(d->spin); connect( d->spin, "2""valueChanged(double)", this, "2""valueChanged(double)" ); connect( this, "2""valueChanged(double)", this, "1""slotEmitRelativeValueChanged(double)" ); updateLegacyMembers(); layout(true); } void KDoubleNumInput::updateLegacyMembers() { m_lower = minValue(); m_upper = maxValue(); m_step = d->spin->lineStep(); m_specialvalue = specialValueText(); } double KDoubleNumInput::mapSliderToSpin( int val ) const { double spinmin = d->spin->minValue(); double spinmax = d->spin->maxValue(); double slidemin = m_slider->minValue(); double slidemax = m_slider->maxValue(); double rel = ( double(val) - slidemin ) / ( slidemax - slidemin ); return spinmin + rel * ( spinmax - spinmin ); } void KDoubleNumInput::sliderMoved(int val) { d->spin->setValue( mapSliderToSpin( val ) ); } void KDoubleNumInput::slotEmitRelativeValueChanged( double value ) { if ( !d->referencePoint ) return; relativeValueChanged( value / d->referencePoint ); } QSize KDoubleNumInput::minimumSizeHint() const { constPolish(); int w; int h; h = 2 + ((m_sizeSlider.height()) < (m_sizeEdit.height()) ? (m_sizeEdit.height()) : (m_sizeSlider.height())); if(m_label && (m_alignment & (AlignBottom|AlignTop))) h += 4 + m_sizeLabel.height(); else h = ((m_sizeLabel.height() + 2) < (h) ? (h) : (m_sizeLabel.height() + 2)); w = m_slider ? m_slider->sizeHint().width() + 8 : 0; w += m_colw1 + m_colw2; if(m_alignment & (AlignTop|AlignBottom)) w = ((m_sizeLabel.width() + 4) < (w) ? (w) : (m_sizeLabel.width() + 4)); return QSize(w, h); } void KDoubleNumInput::resizeEvent(QResizeEvent* e) { int w = m_colw1; int h = 0; if(m_label && (m_alignment & AlignTop)) { m_label->setGeometry(0, 0, e->size().width(), m_sizeLabel.height()); h += m_sizeLabel.height() + 4; } if(m_label && (m_alignment & AlignVCenter)) m_label->setGeometry(0, 0, w, m_sizeEdit.height()); if (qApp->reverseLayout()) { d->spin->setGeometry(w, h, m_slider ? m_colw2 : e->size().width() - w, m_sizeEdit.height()); w += m_colw2 + KDialog::spacingHint(); if(m_slider) m_slider->setGeometry(w, h, e->size().width() - w, m_sizeEdit.height()); } else if(m_slider) { m_slider->setGeometry(w, h, e->size().width() - (m_colw1 + m_colw2 + KDialog::spacingHint()), m_sizeEdit.height()); d->spin->setGeometry(w + m_slider->width() + KDialog::spacingHint(), h, m_colw2, m_sizeEdit.height()); } else { d->spin->setGeometry(w, h, e->size().width() - w, m_sizeEdit.height()); } h += m_sizeEdit.height() + 2; if(m_label && (m_alignment & AlignBottom)) m_label->setGeometry(0, h, m_sizeLabel.width(), m_sizeLabel.height()); } void KDoubleNumInput::doLayout() { m_sizeEdit = d->spin->sizeHint(); m_colw2 = m_sizeEdit.width(); } void KDoubleNumInput::setValue(double val) { d->spin->setValue( val ); } void KDoubleNumInput::setRelativeValue( double r ) { if ( !d->referencePoint ) return; ++d->blockRelative; setValue( r * d->referencePoint ); --d->blockRelative; } void KDoubleNumInput::setReferencePoint( double ref ) { ref = kMin( maxValue(), kMax( minValue(), ref ) ); d->referencePoint = ref; } void KDoubleNumInput::setRange(double lower, double upper, double step, bool slider) { if( m_slider ) { QSpinBox * spin = d->spin; disconnect(spin, "2""valueChanged(int)", m_slider, "1""setValue(int)" ); } d->spin->setRange( lower, upper, step, d->spin->precision() ); if(slider) { QSpinBox * spin = d->spin; int slmax = spin->maxValue(); int slmin = spin->minValue(); int slvalue = spin->value(); int slstep = spin->lineStep(); if (m_slider) { m_slider->setRange(slmin, slmax); m_slider->setLineStep(slstep); m_slider->setValue(slvalue); } else { m_slider = new QSlider(slmin, slmax, slstep, slvalue, QSlider::Horizontal, this); m_slider->setTickmarks(QSlider::Below); connect(m_slider, "2""valueChanged(int)", "1""sliderMoved(int)" ); } connect(spin, "2""valueChanged(int)", m_slider, "1""setValue(int)" ); int major = calcDiffByTen( slmax, slmin ); if ( !major ) major = slstep; m_slider->setTickInterval(major); } else { delete m_slider; m_slider = 0; } setReferencePoint( referencePoint() ); layout(true); updateLegacyMembers(); } void KDoubleNumInput::setMinValue(double min) { setRange(min, maxValue(), d->spin->lineStep(), m_slider); } double KDoubleNumInput::minValue() const { return d->spin->minValue(); } void KDoubleNumInput::setMaxValue(double max) { setRange(minValue(), max, d->spin->lineStep(), m_slider); } double KDoubleNumInput::maxValue() const { return d->spin->maxValue(); } double KDoubleNumInput::value() const { return d->spin->value(); } double KDoubleNumInput::relativeValue() const { if ( !d->referencePoint ) return 0; return value() / d->referencePoint; } double KDoubleNumInput::referencePoint() const { return d->referencePoint; } QString KDoubleNumInput::suffix() const { return d->spin->suffix(); } QString KDoubleNumInput::prefix() const { return d->spin->prefix(); } void KDoubleNumInput::setSuffix(const QString &suffix) { d->spin->setSuffix( suffix ); layout(true); } void KDoubleNumInput::setPrefix(const QString &prefix) { d->spin->setPrefix( prefix ); layout(true); } void KDoubleNumInput::setPrecision(int precision) { d->spin->setPrecision( precision ); layout(true); } int KDoubleNumInput::precision() const { return d->spin->precision(); } void KDoubleNumInput::setSpecialValueText(const QString& text) { d->spin->setSpecialValueText( text ); layout(true); updateLegacyMembers(); } void KDoubleNumInput::setLabel(const QString & label, int a) { KNumInput::setLabel(label, a); if(m_label) m_label->setBuddy(d->spin); } class KDoubleSpinBoxValidator : public KDoubleValidator { public: KDoubleSpinBoxValidator( double bottom, double top, int decimals, KDoubleSpinBox* sb, const char *name ) : KDoubleValidator( bottom, top, decimals, sb, name ), spinBox( sb ) { } virtual State validate( QString& str, int& pos ) const; private: KDoubleSpinBox *spinBox; }; QValidator::State KDoubleSpinBoxValidator::validate( QString& str, int& pos ) const { QString pref = spinBox->prefix(); QString suff = spinBox->suffix(); QString suffStriped = suff.stripWhiteSpace(); uint overhead = pref.length() + suff.length(); State state = Invalid; if ( overhead == 0 ) { state = KDoubleValidator::validate( str, pos ); } else { bool stripedVersion = false; if ( str.length() >= overhead && str.startsWith(pref) && (str.endsWith(suff) || (stripedVersion = str.endsWith(suffStriped))) ) { if ( stripedVersion ) overhead = pref.length() + suffStriped.length(); QString core = str.mid( pref.length(), str.length() - overhead ); int corePos = pos - pref.length(); state = KDoubleValidator::validate( core, corePos ); pos = corePos + pref.length(); str.replace( pref.length(), str.length() - overhead, core ); } else { state = KDoubleValidator::validate( str, pos ); if ( state == Invalid ) { QString special = spinBox->specialValueText().stripWhiteSpace(); QString candidate = str.stripWhiteSpace(); if ( special.startsWith(candidate) ) { if ( candidate.length() == special.length() ) { state = Acceptable; } else { state = Intermediate; } } } } } return state; } # 949 "knuminput.cpp" class KDoubleSpinBox::Private { public: Private( int precision=1 ) : mPrecision( precision ), mValidator( 0 ) { } int factor() const { int f = 1; for ( int i = 0 ; i < mPrecision ; ++i ) f *= 10; return f; } double basicStep() const { return 1.0/double(factor()); } int mapToInt( double value, bool * ok ) const { (static_cast (0)); const double f = factor(); if ( value > double(2147483647) / f ) { kdWarning() << "KDoubleSpinBox: can't represent value " << value << "in terms of fixed-point numbers with precision " << mPrecision << endl; *ok = false; return 2147483647; } else if ( value < double((-2147483647 - 1)) / f ) { kdWarning() << "KDoubleSpinBox: can't represent value " << value << "in terms of fixed-point numbers with precision " << mPrecision << endl; *ok = false; return (-2147483647 - 1); } else { *ok = true; return int( value * f + ( value < 0 ? -0.5 : 0.5 ) ); } } double mapToDouble( int value ) const { return double(value) * basicStep(); } int mPrecision; KDoubleSpinBoxValidator * mValidator; }; KDoubleSpinBox::KDoubleSpinBox( QWidget * parent, const char * name ) : QSpinBox( parent, name ) { editor()->setAlignment( Qt::AlignRight ); d = new Private(); updateValidator(); } KDoubleSpinBox::KDoubleSpinBox( double lower, double upper, double step, double value, int precision, QWidget * parent, const char * name ) : QSpinBox( parent, name ) { editor()->setAlignment( Qt::AlignRight ); d = new Private(); setRange( lower, upper, step, precision ); setValue( value ); connect( this, "2""valueChanged(int)", "1""slotValueChanged(int)" ); } KDoubleSpinBox::~KDoubleSpinBox() { delete d; d = 0; } bool KDoubleSpinBox::acceptLocalizedNumbers() const { if ( !d->mValidator ) return true; return d->mValidator->acceptLocalizedNumbers(); } void KDoubleSpinBox::setAcceptLocalizedNumbers( bool accept ) { if ( !d->mValidator ) updateValidator(); d->mValidator->setAcceptLocalizedNumbers( accept ); } void KDoubleSpinBox::setRange( double lower, double upper, double step, int precision ) { lower = kMin(upper, lower); upper = kMax(upper, lower); setPrecision( precision, true ); setMinValue( lower ); setMaxValue( upper ); setLineStep( step ); } int KDoubleSpinBox::precision() const { return d->mPrecision; } void KDoubleSpinBox::setPrecision( int precision ) { setPrecision( precision, false ); } void KDoubleSpinBox::setPrecision( int precision, bool force ) { if ( precision < 1 ) return; if ( !force ) { int maxPrec = maxPrecision(); if ( precision > maxPrec ) precision = maxPrec; } d->mPrecision = precision; updateValidator(); } int KDoubleSpinBox::maxPrecision() const { double maxAbsValue = kMax( fabs(minValue()), fabs(maxValue()) ); if ( maxAbsValue == 0 ) return 6; return int( floor( log10( double(2147483647) / maxAbsValue ) ) ); } double KDoubleSpinBox::value() const { return d->mapToDouble( base::value() ); } void KDoubleSpinBox::setValue( double value ) { if ( value == this->value() ) return; if ( value < minValue() ) base::setValue( base::minValue() ); else if ( value > maxValue() ) base::setValue( base::maxValue() ); else { bool ok = false; base::setValue( d->mapToInt( value, &ok ) ); (static_cast (0)); } } double KDoubleSpinBox::minValue() const { return d->mapToDouble( base::minValue() ); } void KDoubleSpinBox::setMinValue( double value ) { bool ok = false; int min = d->mapToInt( value, &ok ); if ( !ok ) return; base::setMinValue( min ); updateValidator(); } double KDoubleSpinBox::maxValue() const { return d->mapToDouble( base::maxValue() ); } void KDoubleSpinBox::setMaxValue( double value ) { bool ok = false; int max = d->mapToInt( value, &ok ); if ( !ok ) return; base::setMaxValue( max ); updateValidator(); } double KDoubleSpinBox::lineStep() const { return d->mapToDouble( base::lineStep() ); } void KDoubleSpinBox::setLineStep( double step ) { bool ok = false; if ( step > maxValue() - minValue() ) base::setLineStep( 1 ); else base::setLineStep( kMax( d->mapToInt( step, &ok ), 1 ) ); } QString KDoubleSpinBox::mapValueToText( int value ) { if ( acceptLocalizedNumbers() ) return KGlobal::locale() ->formatNumber( d->mapToDouble( value ), d->mPrecision ); else return QString().setNum( d->mapToDouble( value ), 'f', d->mPrecision ); } int KDoubleSpinBox::mapTextToValue( bool * ok ) { double value; if ( acceptLocalizedNumbers() ) value = KGlobal::locale()->readNumber( cleanText(), ok ); else value = cleanText().toDouble( ok ); if ( !*ok ) return 0; if ( value > maxValue() ) value = maxValue(); else if ( value < minValue() ) value = minValue(); return d->mapToInt( value, ok ); } void KDoubleSpinBox::setValidator( const QValidator * ) { } void KDoubleSpinBox::slotValueChanged( int value ) { valueChanged( d->mapToDouble( value ) ); } void KDoubleSpinBox::updateValidator() { if ( !d->mValidator ) { d->mValidator = new KDoubleSpinBoxValidator( minValue(), maxValue(), precision(), this, "d->mValidator" ); base::setValidator( d->mValidator ); } else d->mValidator->setRange( minValue(), maxValue(), precision() ); } void KNumInput::virtual_hook( int, void* ) { } void KIntNumInput::virtual_hook( int id, void* data ) { KNumInput::virtual_hook( id, data ); } void KDoubleNumInput::virtual_hook( int id, void* data ) { KNumInput::virtual_hook( id, data ); } void KIntSpinBox::virtual_hook( int, void* ) { } void KDoubleSpinBox::virtual_hook( int, void* ) { } # 1 "knuminput.moc" 1 # 12 "knuminput.moc" # 1 "/usr/qt/3/include/qmetaobject.h" 1 # 42 "/usr/qt/3/include/qmetaobject.h" # 1 "/usr/qt/3/include/qconnection.h" 1 # 45 "/usr/qt/3/include/qconnection.h" class QConnection { public: QConnection( const QObject *, int, const char *memberName, int memberType ); ~QConnection() {} bool isConnected() const { return obj != 0; } QObject *object() const { return obj; } int member() const { return mbr; } const char *memberName() const { return mbr_name; } int memberType() const { return mbr_type; } int numArgs() const { return nargs; } private: QObject *obj; int mbr; const char *mbr_name; int mbr_type; int nargs; private: QConnection( const QConnection & ); QConnection &operator=( const QConnection & ); }; # 1 "/usr/qt/3/include/qwinexport.h" 1 # 75 "/usr/qt/3/include/qconnection.h" 2 # 43 "/usr/qt/3/include/qmetaobject.h" 2 class QObject; struct QUMethod; class QMetaObjectPrivate; struct QMetaData { const char *name; const QUMethod* method; enum Access { Private, Protected, Public }; Access access; }; struct QMetaEnum { const char *name; uint count; struct Item { const char *key; int value; }; const Item *items; bool set; }; class QMetaProperty { public: const char* type() const { return t; } const char* name() const { return n; } bool writable() const; bool isValid() const; bool isSetType() const; bool isEnumType() const; QStrList enumKeys() const; int keyToValue( const char* key ) const; const char* valueToKey( int value ) const; int keysToValue( const QStrList& keys ) const; QStrList valueToKeys( int value ) const; bool designable( QObject* = 0 ) const; bool scriptable( QObject* = 0 ) const; bool stored( QObject* = 0 ) const; bool reset( QObject* ) const; const char* t; const char* n; enum Flags { Invalid = 0x00000000, Readable = 0x00000001, Writable = 0x00000002, EnumOrSet = 0x00000004, UnresolvedEnum = 0x00000008, StdSet = 0x00000100, Override = 0x00000200 }; uint flags; bool testFlags( uint f ) const; bool stdSet() const; int id() const; QMetaObject** meta; const QMetaEnum* enumData; int _id; void clear(); }; inline bool QMetaProperty::testFlags( uint f ) const { return (flags & (uint)f) != (uint)0; } struct QClassInfo { const char* name; const char* value; }; class QMetaObject { public: QMetaObject( const char * const class_name, QMetaObject *superclass, const QMetaData * const slot_data, int n_slots, const QMetaData * const signal_data, int n_signals, const QMetaProperty *const prop_data, int n_props, const QMetaEnum *const enum_data, int n_enums, const QClassInfo *const class_info, int n_info ); QMetaObject( const char * const class_name, QMetaObject *superclass, const QMetaData * const slot_data, int n_slots, const QMetaData * const signal_data, int n_signals, const QMetaProperty *const prop_data, int n_props, const QMetaEnum *const enum_data, int n_enums, bool (*qt_static_property)(QObject*, int, int, QVariant*), const QClassInfo *const class_info, int n_info ); virtual ~QMetaObject(); const char *className() const { return classname; } const char *superClassName() const { return superclassname; } QMetaObject *superClass() const { return superclass; } bool inherits( const char* clname ) const; int numSlots( bool super = FALSE ) const; int numSignals( bool super = FALSE ) const; int findSlot( const char *, bool super = FALSE ) const; int findSignal( const char *, bool super = FALSE ) const; const QMetaData *slot( int index, bool super = FALSE ) const; const QMetaData *signal( int index, bool super = FALSE ) const; QStrList slotNames( bool super = FALSE ) const; QStrList signalNames( bool super = FALSE ) const; int slotOffset() const; int signalOffset() const; int propertyOffset() const; int numClassInfo( bool super = FALSE ) const; const QClassInfo *classInfo( int index, bool super = FALSE ) const; const char *classInfo( const char* name, bool super = FALSE ) const; const QMetaProperty *property( int index, bool super = FALSE ) const; int findProperty( const char *name, bool super = FALSE ) const; int indexOfProperty( const QMetaProperty*, bool super = FALSE ) const; const QMetaProperty* resolveProperty( const QMetaProperty* ) const; int resolveProperty( int ) const; QStrList propertyNames( bool super = FALSE ) const; int numProperties( bool super = FALSE ) const; static QMetaObject *new_metaobject( const char *, QMetaObject *, const QMetaData *const, int, const QMetaData *const, int, const QMetaProperty *const prop_data, int n_props, const QMetaEnum *const enum_data, int n_enums, const QClassInfo *const class_info, int n_info ); static QMetaObject *new_metaobject( const char *, QMetaObject *, const QMetaData *const, int, const QMetaData *const, int, const QMetaProperty *const prop_data, int n_props, const QMetaEnum *const enum_data, int n_enums, bool (*qt_static_property)(QObject*, int, int, QVariant*), const QClassInfo *const class_info, int n_info ); QStrList enumeratorNames( bool super = FALSE ) const; int numEnumerators( bool super = FALSE ) const; const QMetaEnum *enumerator( const char* name, bool super = FALSE ) const; static QMetaObject *metaObject( const char *class_name ); static bool hasMetaObject( const char *class_name ); private: QMemberDict *init( const QMetaData *, int ); const char *classname; const char *superclassname; QMetaObject *superclass; QMetaObjectPrivate *d; void *reserved; const QMetaData *slotData; QMemberDict *slotDict; const QMetaData *signalData; QMemberDict *signalDict; int signaloffset; int slotoffset; int propertyoffset; public: bool qt_static_property( QObject* o, int id, int f, QVariant* v); private: friend class QMetaProperty; private: QMetaObject( const QMetaObject & ); QMetaObject &operator=( const QMetaObject & ); }; inline int QMetaObject::slotOffset() const { return slotoffset; } inline int QMetaObject::signalOffset() const { return signaloffset; } inline int QMetaObject::propertyOffset() const { return propertyoffset; } typedef QMetaObject *(*QtStaticMetaObjectFunction)(); class QMetaObjectCleanUp { public: QMetaObjectCleanUp( const char *mo_name, QtStaticMetaObjectFunction ); QMetaObjectCleanUp(); ~QMetaObjectCleanUp(); void setMetaObject( QMetaObject *&mo ); private: QMetaObject **metaObject; }; # 13 "knuminput.moc" 2 # 1 "/usr/qt/3/include/private/qucomextra_p.h" 1 # 54 "/usr/qt/3/include/private/qucomextra_p.h" # 1 "/usr/qt/3/include/private/qucom_p.h" 1 # 55 "/usr/qt/3/include/private/qucom_p.h" # 1 "/usr/qt/3/include/quuid.h" 1 # 61 "/usr/qt/3/include/quuid.h" struct QUuid { enum Variant { VarUnknown =-1, NCS = 0, DCE = 2, Microsoft = 6, Reserved = 7 }; enum Version { VerUnknown =-1, Time = 1, EmbeddedPOSIX = 2, Name = 3, Random = 4 }; QUuid() { memset( this, 0, sizeof(QUuid) ); } QUuid( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 ) { data1 = l; data2 = w1; data3 = w2; data4[0] = b1; data4[1] = b2; data4[2] = b3; data4[3] = b4; data4[4] = b5; data4[5] = b6; data4[6] = b7; data4[7] = b8; } QUuid( const QUuid &uuid ) { memcpy( this, &uuid, sizeof(QUuid) ); } QUuid( const QString & ); QUuid( const char * ); QString toString() const; operator QString() const { return toString(); } bool isNull() const; QUuid &operator=(const QUuid &orig ) { memcpy( this, &orig, sizeof(QUuid) ); return *this; } bool operator==(const QUuid &orig ) const { uint i; if ( data1 != orig.data1 || data2 != orig.data2 || data3 != orig.data3 ) return FALSE; for( i = 0; i < 8; i++ ) if ( data4[i] != orig.data4[i] ) return FALSE; return TRUE; } bool operator!=(const QUuid &orig ) const { return !( *this == orig ); } bool operator<(const QUuid &other ) const; bool operator>(const QUuid &other ) const; # 176 "/usr/qt/3/include/quuid.h" static QUuid createUuid(); QUuid::Variant variant() const; QUuid::Version version() const; uint data1; ushort data2; ushort data3; uchar data4[ 8 ]; }; QDataStream &operator<<( QDataStream &, const QUuid & ); QDataStream &operator>>( QDataStream &, QUuid & ); # 56 "/usr/qt/3/include/private/qucom_p.h" 2 struct QUObject; struct QUInterfaceDescription; struct QUnknownInterface; struct QDispatchInterface; struct QUBuffer { virtual long read( char *data, ulong maxlen ) = 0; virtual long write( const char *data, ulong len ) = 0; }; struct QUType { virtual const QUuid *uuid() const = 0; virtual const char *desc() const = 0; virtual bool canConvertFrom( QUObject *, QUType * ) = 0; virtual bool canConvertTo( QUObject *, QUType * ) = 0; virtual bool convertFrom( QUObject *, QUType * ) = 0; virtual bool convertTo( QUObject *, QUType * ) = 0; virtual void clear( QUObject * ) = 0; virtual int serializeTo( QUObject *, QUBuffer * ) = 0; virtual int serializeFrom( QUObject *, QUBuffer * ) = 0; static bool isEqual( const QUType *t1, const QUType *t2 ); static bool check( QUObject* o, QUType* t ); }; extern const QUuid TID_QUType_Null; struct QUType_Null : public QUType { const QUuid *uuid() const; const char *desc() const; bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ); int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_Null static_QUType_Null; struct QUObject { public: QUObject() : type( &static_QUType_Null ) {} ~QUObject() { type->clear( this ); } QUType *type; union { bool b; char c; short s; int i; long l; unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; float f; double d; char byte[16]; struct { char* data; unsigned long size; } bytearray; void* ptr; struct { void *ptr; bool owner; } voidstar; struct { char *ptr; bool owner; } charstar; struct { char *ptr; bool owner; } utf8; struct { char *ptr; bool owner; } local8bit; QUnknownInterface* iface; QDispatchInterface* idisp; } payload; }; struct QUParameter { const char* name; QUType *type; const void* typeExtra; enum { In = 1, Out = 2, InOut = In | Out }; int inOut; }; struct QUMethod { const char* name; int count; const QUParameter* parameters; }; struct QUProperty { const char* name; QUType* type; const void* typeExtra; int set; int get; int designable; int stored; }; struct QUInterfaceDescription { int methodCount; const QUMethod* methods; int propertyCount; const QUProperty* properties; }; struct QUComponentDescription { const char* name; const char* vendor; const char* release; const char* info; QUuid cid; int count; const QUuid* interfaces; }; struct QUComponentServerDescription { const char* name; const char* vendor; const char* release; const char* info; int count; const QUComponentDescription* components; }; struct QUEnumItem { const char *key; int value; }; struct QUEnum { const char *name; unsigned int count; const QUEnumItem *items; bool set; }; inline bool QUType::isEqual( const QUType *t1, const QUType *t2 ) { return t1 == t2 || t1->uuid() == t2->uuid() || *(t1->uuid()) == *(t2->uuid()); } inline bool QUType::check( QUObject* o, QUType* t ) { return isEqual( o->type, t ) || t->convertFrom( o, o->type ); } extern const QUuid TID_QUType_enum; struct QUType_enum : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, int ); int &get( QUObject * o ) { return o->payload.i; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_enum static_QUType_enum; extern const QUuid TID_QUType_ptr; struct QUType_ptr : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, const void* ); void* &get( QUObject * o ) { return o->payload.ptr; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_ptr static_QUType_ptr; extern const QUuid TID_QUType_iface; struct QUType_iface : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, QUnknownInterface* ); QUnknownInterface* &get( QUObject *o ){ return o->payload.iface; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_iface static_QUType_iface; extern const QUuid TID_QUType_idisp; struct QUType_idisp : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, QDispatchInterface* ); QDispatchInterface* &get( QUObject *o ){ return o->payload.idisp; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_idisp static_QUType_idisp; extern const QUuid TID_QUType_bool; struct QUType_bool : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, bool ); bool &get( QUObject *o ) { return o->payload.b; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_bool static_QUType_bool; extern const QUuid TID_QUType_int; struct QUType_int : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, int ); int &get( QUObject *o ) { return o->payload.i; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_int static_QUType_int; extern const QUuid TID_QUType_double; struct QUType_double : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, double ); double &get( QUObject *o ) { return o->payload.d; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_double static_QUType_double; extern const QUuid TID_QUType_charstar; struct QUType_charstar : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, const char*, bool take = FALSE ); char* get( QUObject *o ){ return o->payload.charstar.ptr; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ); int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_charstar static_QUType_charstar; extern const QUuid TID_QUType_QString; struct QUType_QString : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, const QString & ); QString &get( QUObject * o ) { return *(QString*)o->payload.ptr; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ); int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_QString static_QUType_QString; # 55 "/usr/qt/3/include/private/qucomextra_p.h" 2 class QVariant; extern const QUuid TID_QUType_QVariant; struct QUType_QVariant : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, const QVariant & ); QVariant &get( QUObject * o ); bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ); int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_QVariant static_QUType_QVariant; extern const QUuid TID_QUType_varptr; struct QUType_varptr : public QUType { const QUuid *uuid() const; const char *desc() const; void set( QUObject *, const void* ); void* &get( QUObject * o ) { return o->payload.ptr; } bool canConvertFrom( QUObject *, QUType * ); bool canConvertTo( QUObject *, QUType * ); bool convertFrom( QUObject *, QUType * ); bool convertTo( QUObject *, QUType * ); void clear( QUObject * ) {} int serializeTo( QUObject *, QUBuffer * ); int serializeFrom( QUObject *, QUBuffer * ); }; extern QUType_varptr static_QUType_varptr; # 16 "knuminput.moc" 2 # 1 "/usr/qt/3/include/qvariant.h" 1 # 46 "/usr/qt/3/include/qvariant.h" class QString; class QCString; class QFont; class QPixmap; class QBrush; class QRect; class QPoint; class QImage; class QSize; class QColor; class QPalette; class QColorGroup; class QIconSet; class QDataStream; class QPointArray; class QRegion; class QBitmap; class QCursor; class QStringList; class QSizePolicy; class QDate; class QTime; class QDateTime; class QBitArray; class QKeySequence; class QPen; class QVariant; template class QValueList; template class QValueListConstIterator; template class QValueListNode; template class QMap; template class QMapConstIterator; class QVariant { public: enum Type { Invalid, Map, List, String, StringList, Font, Pixmap, Brush, Rect, Size, Color, Palette, ColorGroup, IconSet, Point, Image, Int, UInt, Bool, Double, CString, PointArray, Region, Bitmap, Cursor, SizePolicy, Date, Time, DateTime, ByteArray, BitArray, KeySequence, Pen, LongLong, ULongLong }; QVariant(); ~QVariant(); QVariant( const QVariant& ); QVariant( QDataStream& s ); QVariant( const QString& ); QVariant( const QCString& ); QVariant( const char* ); QVariant( const QStringList& ); QVariant( const QFont& ); QVariant( const QPixmap& ); QVariant( const QImage& ); QVariant( const QBrush& ); QVariant( const QPoint& ); QVariant( const QRect& ); QVariant( const QSize& ); QVariant( const QColor& ); QVariant( const QPalette& ); QVariant( const QColorGroup& ); QVariant( const QIconSet& ); QVariant( const QPointArray& ); QVariant( const QRegion& ); QVariant( const QBitmap& ); QVariant( const QCursor& ); QVariant( const QDate& ); QVariant( const QTime& ); QVariant( const QDateTime& ); QVariant( const QByteArray& ); QVariant( const QBitArray& ); QVariant( const QKeySequence& ); QVariant( const QPen& ); QVariant( const QValueList& ); QVariant( const QMap& ); QVariant( int ); QVariant( uint ); QVariant( Q_LLONG ); QVariant( Q_ULLONG ); QVariant( bool, int ); QVariant( double ); QVariant( QSizePolicy ); QVariant& operator= ( const QVariant& ); bool operator==( const QVariant& ) const; bool operator!=( const QVariant& ) const; Type type() const; const char* typeName() const; bool canCast( Type ) const; bool cast( Type ); bool isValid() const; bool isNull() const; void clear(); const QString toString() const; const QCString toCString() const; const QStringList toStringList() const; const QFont toFont() const; const QPixmap toPixmap() const; const QImage toImage() const; const QBrush toBrush() const; const QPoint toPoint() const; const QRect toRect() const; const QSize toSize() const; const QColor toColor() const; const QPalette toPalette() const; const QColorGroup toColorGroup() const; const QIconSet toIconSet() const; const QPointArray toPointArray() const; const QBitmap toBitmap() const; const QRegion toRegion() const; const QCursor toCursor() const; const QDate toDate() const; const QTime toTime() const; const QDateTime toDateTime() const; const QByteArray toByteArray() const; const QBitArray toBitArray() const; const QKeySequence toKeySequence() const; const QPen toPen() const; int toInt( bool * ok=0 ) const; uint toUInt( bool * ok=0 ) const; Q_LLONG toLongLong( bool * ok=0 ) const; Q_ULLONG toULongLong( bool * ok=0 ) const; bool toBool() const; double toDouble( bool * ok=0 ) const; const QValueList toList() const; const QMap toMap() const; QSizePolicy toSizePolicy() const; QValueListConstIterator stringListBegin() const; QValueListConstIterator stringListEnd() const; QValueListConstIterator listBegin() const; QValueListConstIterator listEnd() const; QMapConstIterator mapBegin() const; QMapConstIterator mapEnd() const; QMapConstIterator mapFind( const QString& ) const; QString& asString(); QCString& asCString(); QStringList& asStringList(); QFont& asFont(); QPixmap& asPixmap(); QImage& asImage(); QBrush& asBrush(); QPoint& asPoint(); QRect& asRect(); QSize& asSize(); QColor& asColor(); QPalette& asPalette(); QColorGroup& asColorGroup(); QIconSet& asIconSet(); QPointArray& asPointArray(); QBitmap& asBitmap(); QRegion& asRegion(); QCursor& asCursor(); QDate& asDate(); QTime& asTime(); QDateTime& asDateTime(); QByteArray& asByteArray(); QBitArray& asBitArray(); QKeySequence& asKeySequence(); QPen& asPen(); int& asInt(); uint& asUInt(); Q_LLONG& asLongLong(); Q_ULLONG& asULongLong(); bool& asBool(); double& asDouble(); QValueList& asList(); QMap& asMap(); QSizePolicy& asSizePolicy(); void load( QDataStream& ); void save( QDataStream& ) const; static const char* typeToName( Type typ ); static Type nameToType( const char* name ); private: void detach(); class Private : public QShared { public: Private(); Private( Private* ); ~Private(); void clear(); Type typ; union { uint u; int i; Q_LLONG ll; Q_ULLONG ull; bool b; double d; void *ptr; } value; uint is_null : 1; }; Private* d; public: void* rawAccess( void* ptr = 0, Type typ = Invalid, bool deepCopy = FALSE ); }; # 324 "/usr/qt/3/include/qvariant.h" inline QVariant::Type QVariant::type() const { return d->typ; } inline bool QVariant::isValid() const { return (d->typ != Invalid); } inline QValueListConstIterator QVariant::stringListBegin() const { if ( d->typ != StringList ) return QValueListConstIterator(); return ((const QStringList*)d->value.ptr)->begin(); } inline QValueListConstIterator QVariant::stringListEnd() const { if ( d->typ != StringList ) return QValueListConstIterator(); return ((const QStringList*)d->value.ptr)->end(); } inline QValueListConstIterator QVariant::listBegin() const { if ( d->typ != List ) return QValueListConstIterator(); return ((const QValueList*)d->value.ptr)->begin(); } inline QValueListConstIterator QVariant::listEnd() const { if ( d->typ != List ) return QValueListConstIterator(); return ((const QValueList*)d->value.ptr)->end(); } inline QMapConstIterator QVariant::mapBegin() const { if ( d->typ != Map ) return QMapConstIterator(); return ((const QMap*)d->value.ptr)->begin(); } inline QMapConstIterator QVariant::mapEnd() const { if ( d->typ != Map ) return QMapConstIterator(); return ((const QMap*)d->value.ptr)->end(); } inline QMapConstIterator QVariant::mapFind( const QString& key ) const { if ( d->typ != Map ) return QMapConstIterator(); return ((const QMap*)d->value.ptr)->find( key ); } QDataStream& operator>> ( QDataStream& s, QVariant& p ); QDataStream& operator<< ( QDataStream& s, const QVariant& p ); QDataStream& operator>> ( QDataStream& s, QVariant::Type& p ); QDataStream& operator<< ( QDataStream& s, const QVariant::Type p ); # 23 "knuminput.moc" 2 const char *KNumInput::className() const { return "KNumInput"; } QMetaObject *KNumInput::metaObj = 0; static QMetaObjectCleanUp cleanUp_KNumInput( "KNumInput", &KNumInput::staticMetaObject ); # 51 "knuminput.moc" QMetaObject* KNumInput::staticMetaObject() { if ( metaObj ) return metaObj; QMetaObject* parentObject = QWidget::staticMetaObject(); static const QMetaProperty props_tbl[1] = { { "QString","label", 0x3000103, &KNumInput::metaObj, 0, -1 } }; metaObj = QMetaObject::new_metaobject( "KNumInput", parentObject, 0, 0, 0, 0, props_tbl, 1, 0, 0, 0, 0 ); cleanUp_KNumInput.setMetaObject( metaObj ); return metaObj; } void* KNumInput::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "KNumInput" ) ) return this; return QWidget::qt_cast( clname ); } bool KNumInput::qt_invoke( int _id, QUObject* _o ) { return QWidget::qt_invoke(_id,_o); } bool KNumInput::qt_emit( int _id, QUObject* _o ) { return QWidget::qt_emit(_id,_o); } bool KNumInput::qt_property( int id, int f, QVariant* v) { switch ( id - staticMetaObject()->propertyOffset() ) { case 0: switch( f ) { case 0: setLabel(v->asString()); break; case 1: *v = QVariant( this->label() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; default: return QWidget::qt_property( id, f, v ); } return TRUE; } bool KNumInput::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } const char *KIntNumInput::className() const { return "KIntNumInput"; } QMetaObject *KIntNumInput::metaObj = 0; static QMetaObjectCleanUp cleanUp_KIntNumInput( "KIntNumInput", &KIntNumInput::staticMetaObject ); # 139 "knuminput.moc" QMetaObject* KIntNumInput::staticMetaObject() { if ( metaObj ) return metaObj; QMetaObject* parentObject = KNumInput::staticMetaObject(); static const QUParameter param_slot_0[] = { { 0, &static_QUType_int, 0, QUParameter::In } }; static const QUMethod slot_0 = {"setValue", 1, param_slot_0 }; static const QUParameter param_slot_1[] = { { 0, &static_QUType_double, 0, QUParameter::In } }; static const QUMethod slot_1 = {"setRelativeValue", 1, param_slot_1 }; static const QUParameter param_slot_2[] = { { 0, &static_QUType_int, 0, QUParameter::In } }; static const QUMethod slot_2 = {"setReferencePoint", 1, param_slot_2 }; static const QUParameter param_slot_3[] = { { "suffix", &static_QUType_QString, 0, QUParameter::In } }; static const QUMethod slot_3 = {"setSuffix", 1, param_slot_3 }; static const QUParameter param_slot_4[] = { { "prefix", &static_QUType_QString, 0, QUParameter::In } }; static const QUMethod slot_4 = {"setPrefix", 1, param_slot_4 }; static const QUMethod slot_5 = {"setEditFocus", 0, 0 }; static const QUParameter param_slot_6[] = { { "mark", &static_QUType_bool, 0, QUParameter::In } }; static const QUMethod slot_6 = {"setEditFocus", 1, param_slot_6 }; static const QUParameter param_slot_7[] = { { 0, &static_QUType_int, 0, QUParameter::In } }; static const QUMethod slot_7 = {"spinValueChanged", 1, param_slot_7 }; static const QUParameter param_slot_8[] = { { 0, &static_QUType_int, 0, QUParameter::In } }; static const QUMethod slot_8 = {"slotEmitRelativeValueChanged", 1, param_slot_8 }; static const QMetaData slot_tbl[] = { { "setValue(int)", &slot_0, QMetaData::Public }, { "setRelativeValue(double)", &slot_1, QMetaData::Public }, { "setReferencePoint(int)", &slot_2, QMetaData::Public }, { "setSuffix(const QString&)", &slot_3, QMetaData::Public }, { "setPrefix(const QString&)", &slot_4, QMetaData::Public }, { "setEditFocus()", &slot_5, QMetaData::Public }, { "setEditFocus(bool)", &slot_6, QMetaData::Public }, { "spinValueChanged(int)", &slot_7, QMetaData::Private }, { "slotEmitRelativeValueChanged(int)", &slot_8, QMetaData::Private } }; static const QUParameter param_signal_0[] = { { 0, &static_QUType_int, 0, QUParameter::In } }; static const QUMethod signal_0 = {"valueChanged", 1, param_signal_0 }; static const QUParameter param_signal_1[] = { { 0, &static_QUType_double, 0, QUParameter::In } }; static const QUMethod signal_1 = {"relativeValueChanged", 1, param_signal_1 }; static const QMetaData signal_tbl[] = { { "valueChanged(int)", &signal_0, QMetaData::Public }, { "relativeValueChanged(double)", &signal_1, QMetaData::Public } }; static const QMetaProperty props_tbl[7] = { { "int","value", 0x10000103, &KIntNumInput::metaObj, 0, -1 }, { "int","minValue", 0x10000103, &KIntNumInput::metaObj, 0, -1 }, { "int","maxValue", 0x10000103, &KIntNumInput::metaObj, 0, -1 }, { "int","referencePoint", 0x10000103, &KIntNumInput::metaObj, 0, -1 }, { "QString","suffix", 0x3000103, &KIntNumInput::metaObj, 0, -1 }, { "QString","prefix", 0x3000103, &KIntNumInput::metaObj, 0, -1 }, { "QString","specialValueText", 0x3000103, &KIntNumInput::metaObj, 0, -1 } }; metaObj = QMetaObject::new_metaobject( "KIntNumInput", parentObject, slot_tbl, 9, signal_tbl, 2, props_tbl, 7, 0, 0, 0, 0 ); cleanUp_KIntNumInput.setMetaObject( metaObj ); return metaObj; } void* KIntNumInput::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "KIntNumInput" ) ) return this; return KNumInput::qt_cast( clname ); } void KIntNumInput::valueChanged( int t0 ) { activate_signal( staticMetaObject()->signalOffset() + 0, t0 ); } void KIntNumInput::relativeValueChanged( double t0 ) { activate_signal( staticMetaObject()->signalOffset() + 1, t0 ); } bool KIntNumInput::qt_invoke( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->slotOffset() ) { case 0: setValue((int)static_QUType_int.get(_o+1)); break; case 1: setRelativeValue((double)static_QUType_double.get(_o+1)); break; case 2: setReferencePoint((int)static_QUType_int.get(_o+1)); break; case 3: setSuffix((const QString&)static_QUType_QString.get(_o+1)); break; case 4: setPrefix((const QString&)static_QUType_QString.get(_o+1)); break; case 5: setEditFocus(); break; case 6: setEditFocus((bool)static_QUType_bool.get(_o+1)); break; case 7: spinValueChanged((int)static_QUType_int.get(_o+1)); break; case 8: slotEmitRelativeValueChanged((int)static_QUType_int.get(_o+1)); break; default: return KNumInput::qt_invoke( _id, _o ); } return TRUE; } bool KIntNumInput::qt_emit( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->signalOffset() ) { case 0: valueChanged((int)static_QUType_int.get(_o+1)); break; case 1: relativeValueChanged((double)static_QUType_double.get(_o+1)); break; default: return KNumInput::qt_emit(_id,_o); } return TRUE; } bool KIntNumInput::qt_property( int id, int f, QVariant* v) { switch ( id - staticMetaObject()->propertyOffset() ) { case 0: switch( f ) { case 0: setValue(v->asInt()); break; case 1: *v = QVariant( this->value() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 1: switch( f ) { case 0: setMinValue(v->asInt()); break; case 1: *v = QVariant( this->minValue() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 2: switch( f ) { case 0: setMaxValue(v->asInt()); break; case 1: *v = QVariant( this->maxValue() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 3: switch( f ) { case 0: setReferencePoint(v->asInt()); break; case 1: *v = QVariant( this->referencePoint() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 4: switch( f ) { case 0: setSuffix(v->asString()); break; case 1: *v = QVariant( this->suffix() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 5: switch( f ) { case 0: setPrefix(v->asString()); break; case 1: *v = QVariant( this->prefix() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 6: switch( f ) { case 0: setSpecialValueText(v->asString()); break; case 1: *v = QVariant( this->specialValueText() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; default: return KNumInput::qt_property( id, f, v ); } return TRUE; } bool KIntNumInput::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } const char *KDoubleNumInput::className() const { return "KDoubleNumInput"; } QMetaObject *KDoubleNumInput::metaObj = 0; static QMetaObjectCleanUp cleanUp_KDoubleNumInput( "KDoubleNumInput", &KDoubleNumInput::staticMetaObject ); # 356 "knuminput.moc" QMetaObject* KDoubleNumInput::staticMetaObject() { if ( metaObj ) return metaObj; QMetaObject* parentObject = KNumInput::staticMetaObject(); static const QUParameter param_slot_0[] = { { 0, &static_QUType_double, 0, QUParameter::In } }; static const QUMethod slot_0 = {"setValue", 1, param_slot_0 }; static const QUParameter param_slot_1[] = { { 0, &static_QUType_double, 0, QUParameter::In } }; static const QUMethod slot_1 = {"setRelativeValue", 1, param_slot_1 }; static const QUParameter param_slot_2[] = { { "ref", &static_QUType_double, 0, QUParameter::In } }; static const QUMethod slot_2 = {"setReferencePoint", 1, param_slot_2 }; static const QUParameter param_slot_3[] = { { "suffix", &static_QUType_QString, 0, QUParameter::In } }; static const QUMethod slot_3 = {"setSuffix", 1, param_slot_3 }; static const QUParameter param_slot_4[] = { { "prefix", &static_QUType_QString, 0, QUParameter::In } }; static const QUMethod slot_4 = {"setPrefix", 1, param_slot_4 }; static const QUParameter param_slot_5[] = { { 0, &static_QUType_int, 0, QUParameter::In } }; static const QUMethod slot_5 = {"sliderMoved", 1, param_slot_5 }; static const QUParameter param_slot_6[] = { { 0, &static_QUType_double, 0, QUParameter::In } }; static const QUMethod slot_6 = {"slotEmitRelativeValueChanged", 1, param_slot_6 }; static const QMetaData slot_tbl[] = { { "setValue(double)", &slot_0, QMetaData::Public }, { "setRelativeValue(double)", &slot_1, QMetaData::Public }, { "setReferencePoint(double)", &slot_2, QMetaData::Public }, { "setSuffix(const QString&)", &slot_3, QMetaData::Public }, { "setPrefix(const QString&)", &slot_4, QMetaData::Public }, { "sliderMoved(int)", &slot_5, QMetaData::Private }, { "slotEmitRelativeValueChanged(double)", &slot_6, QMetaData::Private } }; static const QUParameter param_signal_0[] = { { 0, &static_QUType_double, 0, QUParameter::In } }; static const QUMethod signal_0 = {"valueChanged", 1, param_signal_0 }; static const QUParameter param_signal_1[] = { { 0, &static_QUType_double, 0, QUParameter::In } }; static const QUMethod signal_1 = {"relativeValueChanged", 1, param_signal_1 }; static const QMetaData signal_tbl[] = { { "valueChanged(double)", &signal_0, QMetaData::Public }, { "relativeValueChanged(double)", &signal_1, QMetaData::Public } }; static const QMetaProperty props_tbl[7] = { { "double","value", 0x13000103, &KDoubleNumInput::metaObj, 0, -1 }, { "double","minValue", 0x13000103, &KDoubleNumInput::metaObj, 0, -1 }, { "double","maxValue", 0x13000103, &KDoubleNumInput::metaObj, 0, -1 }, { "QString","suffix", 0x3000103, &KDoubleNumInput::metaObj, 0, -1 }, { "QString","prefix", 0x3000103, &KDoubleNumInput::metaObj, 0, -1 }, { "QString","specialValueText", 0x3000103, &KDoubleNumInput::metaObj, 0, -1 }, { "int","precision", 0x10000103, &KDoubleNumInput::metaObj, 0, -1 } }; metaObj = QMetaObject::new_metaobject( "KDoubleNumInput", parentObject, slot_tbl, 7, signal_tbl, 2, props_tbl, 7, 0, 0, 0, 0 ); cleanUp_KDoubleNumInput.setMetaObject( metaObj ); return metaObj; } void* KDoubleNumInput::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "KDoubleNumInput" ) ) return this; return KNumInput::qt_cast( clname ); } void KDoubleNumInput::valueChanged( double t0 ) { activate_signal( staticMetaObject()->signalOffset() + 0, t0 ); } void KDoubleNumInput::relativeValueChanged( double t0 ) { activate_signal( staticMetaObject()->signalOffset() + 1, t0 ); } bool KDoubleNumInput::qt_invoke( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->slotOffset() ) { case 0: setValue((double)static_QUType_double.get(_o+1)); break; case 1: setRelativeValue((double)static_QUType_double.get(_o+1)); break; case 2: setReferencePoint((double)static_QUType_double.get(_o+1)); break; case 3: setSuffix((const QString&)static_QUType_QString.get(_o+1)); break; case 4: setPrefix((const QString&)static_QUType_QString.get(_o+1)); break; case 5: sliderMoved((int)static_QUType_int.get(_o+1)); break; case 6: slotEmitRelativeValueChanged((double)static_QUType_double.get(_o+1)); break; default: return KNumInput::qt_invoke( _id, _o ); } return TRUE; } bool KDoubleNumInput::qt_emit( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->signalOffset() ) { case 0: valueChanged((double)static_QUType_double.get(_o+1)); break; case 1: relativeValueChanged((double)static_QUType_double.get(_o+1)); break; default: return KNumInput::qt_emit(_id,_o); } return TRUE; } bool KDoubleNumInput::qt_property( int id, int f, QVariant* v) { switch ( id - staticMetaObject()->propertyOffset() ) { case 0: switch( f ) { case 0: setValue(v->asDouble()); break; case 1: *v = QVariant( this->value() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 1: switch( f ) { case 0: setMinValue(v->asDouble()); break; case 1: *v = QVariant( this->minValue() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 2: switch( f ) { case 0: setMaxValue(v->asDouble()); break; case 1: *v = QVariant( this->maxValue() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 3: switch( f ) { case 0: setSuffix(v->asString()); break; case 1: *v = QVariant( this->suffix() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 4: switch( f ) { case 0: setPrefix(v->asString()); break; case 1: *v = QVariant( this->prefix() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 5: switch( f ) { case 0: setSpecialValueText(v->asString()); break; case 1: *v = QVariant( this->specialValueText() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 6: switch( f ) { case 0: setPrecision(v->asInt()); break; case 1: *v = QVariant( this->precision() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; default: return KNumInput::qt_property( id, f, v ); } return TRUE; } bool KDoubleNumInput::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } const char *KIntSpinBox::className() const { return "KIntSpinBox"; } QMetaObject *KIntSpinBox::metaObj = 0; static QMetaObjectCleanUp cleanUp_KIntSpinBox( "KIntSpinBox", &KIntSpinBox::staticMetaObject ); # 564 "knuminput.moc" QMetaObject* KIntSpinBox::staticMetaObject() { if ( metaObj ) return metaObj; QMetaObject* parentObject = QSpinBox::staticMetaObject(); static const QMetaProperty props_tbl[1] = { { "int","base", 0x10000103, &KIntSpinBox::metaObj, 0, -1 } }; metaObj = QMetaObject::new_metaobject( "KIntSpinBox", parentObject, 0, 0, 0, 0, props_tbl, 1, 0, 0, 0, 0 ); cleanUp_KIntSpinBox.setMetaObject( metaObj ); return metaObj; } void* KIntSpinBox::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "KIntSpinBox" ) ) return this; return QSpinBox::qt_cast( clname ); } bool KIntSpinBox::qt_invoke( int _id, QUObject* _o ) { return QSpinBox::qt_invoke(_id,_o); } bool KIntSpinBox::qt_emit( int _id, QUObject* _o ) { return QSpinBox::qt_emit(_id,_o); } bool KIntSpinBox::qt_property( int id, int f, QVariant* v) { switch ( id - staticMetaObject()->propertyOffset() ) { case 0: switch( f ) { case 0: setBase(v->asInt()); break; case 1: *v = QVariant( this->base() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; default: return QSpinBox::qt_property( id, f, v ); } return TRUE; } bool KIntSpinBox::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } const char *KDoubleSpinBox::className() const { return "KDoubleSpinBox"; } QMetaObject *KDoubleSpinBox::metaObj = 0; static QMetaObjectCleanUp cleanUp_KDoubleSpinBox( "KDoubleSpinBox", &KDoubleSpinBox::staticMetaObject ); # 652 "knuminput.moc" QMetaObject* KDoubleSpinBox::staticMetaObject() { if ( metaObj ) return metaObj; QMetaObject* parentObject = QSpinBox::staticMetaObject(); static const QUParameter param_slot_0[] = { { "value", &static_QUType_double, 0, QUParameter::In } }; static const QUMethod slot_0 = {"setValue", 1, param_slot_0 }; static const QUParameter param_slot_1[] = { { "value", &static_QUType_int, 0, QUParameter::In } }; static const QUMethod slot_1 = {"slotValueChanged", 1, param_slot_1 }; static const QMetaData slot_tbl[] = { { "setValue(double)", &slot_0, QMetaData::Public }, { "slotValueChanged(int)", &slot_1, QMetaData::Protected } }; static const QUParameter param_signal_0[] = { { "value", &static_QUType_double, 0, QUParameter::In } }; static const QUMethod signal_0 = {"valueChanged", 1, param_signal_0 }; static const QMetaData signal_tbl[] = { { "valueChanged(double)", &signal_0, QMetaData::Public } }; static const QMetaProperty props_tbl[6] = { { "bool","acceptLocalizedNumbers", 0x12000103, &KDoubleSpinBox::metaObj, 0, -1 }, { "double","maxValue", 0x1302a303, &KDoubleSpinBox::metaObj, 0, -1 }, { "double","minValue", 0x1302a303, &KDoubleSpinBox::metaObj, 0, -1 }, { "double","lineStep", 0x1302a303, &KDoubleSpinBox::metaObj, 0, -1 }, { "double","value", 0x1302a303, &KDoubleSpinBox::metaObj, 0, -1 }, { "int","precision", 0x10000103, &KDoubleSpinBox::metaObj, 0, -1 } }; metaObj = QMetaObject::new_metaobject( "KDoubleSpinBox", parentObject, slot_tbl, 2, signal_tbl, 1, props_tbl, 6, 0, 0, 0, 0 ); cleanUp_KDoubleSpinBox.setMetaObject( metaObj ); return metaObj; } void* KDoubleSpinBox::qt_cast( const char* clname ) { if ( !qstrcmp( clname, "KDoubleSpinBox" ) ) return this; return QSpinBox::qt_cast( clname ); } void KDoubleSpinBox::valueChanged( double t0 ) { activate_signal( staticMetaObject()->signalOffset() + 0, t0 ); } bool KDoubleSpinBox::qt_invoke( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->slotOffset() ) { case 0: setValue((double)static_QUType_double.get(_o+1)); break; case 1: slotValueChanged((int)static_QUType_int.get(_o+1)); break; default: return QSpinBox::qt_invoke( _id, _o ); } return TRUE; } bool KDoubleSpinBox::qt_emit( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->signalOffset() ) { case 0: valueChanged((double)static_QUType_double.get(_o+1)); break; default: return QSpinBox::qt_emit(_id,_o); } return TRUE; } bool KDoubleSpinBox::qt_property( int id, int f, QVariant* v) { switch ( id - staticMetaObject()->propertyOffset() ) { case 0: switch( f ) { case 0: setAcceptLocalizedNumbers(v->asBool()); break; case 1: *v = QVariant( this->acceptLocalizedNumbers(), 0 ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 1: switch( f ) { case 0: setMaxValue(v->asDouble()); break; case 1: *v = QVariant( this->maxValue() ); break; case 3: case 4: case 5: goto resolve; default: return FALSE; } break; case 2: switch( f ) { case 0: setMinValue(v->asDouble()); break; case 1: *v = QVariant( this->minValue() ); break; case 3: case 4: case 5: goto resolve; default: return FALSE; } break; case 3: switch( f ) { case 0: setLineStep(v->asDouble()); break; case 1: *v = QVariant( this->lineStep() ); break; case 3: case 4: case 5: goto resolve; default: return FALSE; } break; case 4: switch( f ) { case 0: setValue(v->asDouble()); break; case 1: *v = QVariant( this->value() ); break; case 3: case 4: case 5: goto resolve; default: return FALSE; } break; case 5: switch( f ) { case 0: setPrecision(v->asInt()); break; case 1: *v = QVariant( this->precision() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; default: return QSpinBox::qt_property( id, f, v ); } return TRUE; resolve: return QSpinBox::qt_property( staticMetaObject()->resolveProperty(id), f, v ); } bool KDoubleSpinBox::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; } # 1180 "knuminput.cpp" 2